appium-uiautomator2-driver 8.5.0 → 8.5.2

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.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## [8.5.2](https://github.com/appium/appium-uiautomator2-driver/compare/v8.5.1...v8.5.2) (2026-09-01)
2
+
3
+ ### Bug Fixes
4
+
5
+ * stop using deprecated appium/support imageUtil, rely on local sharp ([#1040](https://github.com/appium/appium-uiautomator2-driver/issues/1040)) ([56980b3](https://github.com/appium/appium-uiautomator2-driver/commit/56980b39635333e2d4b883d4457f8bbbbd9e905e))
6
+
7
+ ## [8.5.1](https://github.com/appium/appium-uiautomator2-driver/compare/v8.5.0...v8.5.1) (2026-09-01)
8
+
9
+ ### Miscellaneous Chores
10
+
11
+ * bump support-related dependencies ([#1039](https://github.com/appium/appium-uiautomator2-driver/issues/1039)) ([e354d26](https://github.com/appium/appium-uiautomator2-driver/commit/e354d26e6c5288dd42058c1d8ac6dfa51c274216))
12
+
1
13
  ## [8.5.0](https://github.com/appium/appium-uiautomator2-driver/compare/v8.4.0...v8.5.0) (2026-08-21)
2
14
 
3
15
  ### Features
@@ -1 +1 @@
1
- {"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../../lib/commands/screenshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAGhD,OAAO,KAAK,EAAC,yBAAyB,EAAC,MAAM,cAAc,CAAC;AAE5D,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,YAAY,CAAC;AAO3C;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CA2BrG;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAE/F;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAI5F;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAYpF;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,yBAAyB,EAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAC1B,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAuCnC"}
1
+ {"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../../lib/commands/screenshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAEhD,OAAO,KAAK,EAAC,yBAAyB,EAAC,MAAM,cAAc,CAAC;AAE5D,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,YAAY,CAAC;AAO3C;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CA2BrG;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAE/F;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAI5F;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAYpF;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,yBAAyB,EAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAC1B,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAuCnC"}
@@ -1,5 +1,4 @@
1
- import { imageUtil } from 'appium/support.js';
2
- import { isEmpty } from '../utils/index.js';
1
+ import { cropBase64Image, isEmpty } from '../utils/index.js';
3
2
  // Matches SurfaceFlinger output format:
4
3
  // Physical: Display 4619827259835644672 (HWC display 0): port=0 pnpId=GGL displayName="EMU_display_0"
5
4
  // Virtual: Display 11529215049243506835 (Virtual display): displayName="Emulator 2D Display" uniqueId="..."
@@ -42,7 +41,7 @@ export async function mobileViewportScreenshot() {
42
41
  export async function getViewportScreenshot() {
43
42
  const screenshot = await this.getScreenshot();
44
43
  const rect = await this.getViewPortRect();
45
- return await imageUtil.cropBase64Image(screenshot, rect);
44
+ return await cropBase64Image(screenshot, rect);
46
45
  }
47
46
  /**
48
47
  * Gets a screenshot of the current screen
@@ -1 +1 @@
1
- {"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../../lib/commands/screenshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../../lib/commands/screenshot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type sharp from 'sharp';
2
+ import type { Region } from 'sharp';
3
+ /**
4
+ * Lazily imports the optional `sharp` dependency.
5
+ *
6
+ * @returns The sharp module for image processing
7
+ */
8
+ export declare function requireSharp(): Promise<typeof sharp>;
9
+ /**
10
+ * Crops the image by the given rectangle (base64 string in, base64 string out).
11
+ *
12
+ * @param base64Image The string with base64 encoded image.
13
+ * Supports all image formats natively supported by Sharp library.
14
+ * @param region The selected region of the image
15
+ * @returns base64 encoded string of the cropped image
16
+ */
17
+ export declare function cropBase64Image(base64Image: string, region: Region): Promise<string>;
18
+ //# sourceMappingURL=image.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../lib/utils/image.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,OAAO,CAAC;AAIlC;;;;GAIG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC,CAgB1D;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAI1F"}
@@ -0,0 +1,35 @@
1
+ let sharpModule = null;
2
+ /**
3
+ * Lazily imports the optional `sharp` dependency.
4
+ *
5
+ * @returns The sharp module for image processing
6
+ */
7
+ export async function requireSharp() {
8
+ if (sharpModule) {
9
+ return sharpModule;
10
+ }
11
+ try {
12
+ sharpModule = (await import('sharp')).default;
13
+ return sharpModule;
14
+ }
15
+ catch (err) {
16
+ const message = err instanceof Error ? err.message : String(err);
17
+ throw new Error(`Cannot load the 'sharp' module needed for image processing. ` +
18
+ `Consider visiting https://sharp.pixelplumbing.com/install for troubleshooting. ` +
19
+ `Original error: ${message}`, { cause: err });
20
+ }
21
+ }
22
+ /**
23
+ * Crops the image by the given rectangle (base64 string in, base64 string out).
24
+ *
25
+ * @param base64Image The string with base64 encoded image.
26
+ * Supports all image formats natively supported by Sharp library.
27
+ * @param region The selected region of the image
28
+ * @returns base64 encoded string of the cropped image
29
+ */
30
+ export async function cropBase64Image(base64Image, region) {
31
+ const sharpInstance = await requireSharp();
32
+ const buf = await sharpInstance(Buffer.from(base64Image, 'base64')).extract(region).toBuffer();
33
+ return buf.toString('base64');
34
+ }
35
+ //# sourceMappingURL=image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.js","sourceRoot":"","sources":["../../../lib/utils/image.ts"],"names":[],"mappings":"AAGA,IAAI,WAAW,GAAwB,IAAI,CAAC;AAE5C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,CAAC;QACH,WAAW,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QAC9C,OAAO,WAAW,CAAC;IACrB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,IAAI,KAAK,CACb,8DAA8D;YAC5D,iFAAiF;YACjF,mBAAmB,OAAO,EAAE,EAC9B,EAAC,KAAK,EAAE,GAAG,EAAC,CACb,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,WAAmB,EAAE,MAAc;IACvE,MAAM,aAAa,GAAG,MAAM,YAAY,EAAE,CAAC;IAC3C,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC/F,OAAO,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export { signApp } from './app.js';
2
+ export { cropBase64Image, requireSharp } from './image.js';
2
3
  export { escapeRegExp, isEmpty } from './lang.js';
3
4
  export { memoize } from './memoize.js';
4
5
  export { MJpegStream } from './mjpeg.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC;AACjC,OAAO,EAAC,YAAY,EAAE,OAAO,EAAC,MAAM,WAAW,CAAC;AAChD,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AACrC,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AACvC,OAAO,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC;AACjC,OAAO,EAAC,eAAe,EAAE,YAAY,EAAC,MAAM,YAAY,CAAC;AACzD,OAAO,EAAC,YAAY,EAAE,OAAO,EAAC,MAAM,WAAW,CAAC;AAChD,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AACrC,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AACvC,OAAO,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export { signApp } from './app.js';
2
+ export { cropBase64Image, requireSharp } from './image.js';
2
3
  export { escapeRegExp, isEmpty } from './lang.js';
3
4
  export { memoize } from './memoize.js';
4
5
  export { MJpegStream } from './mjpeg.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC;AACjC,OAAO,EAAC,YAAY,EAAE,OAAO,EAAC,MAAM,WAAW,CAAC;AAChD,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AACrC,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AACvC,OAAO,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC;AACjC,OAAO,EAAC,eAAe,EAAE,YAAY,EAAC,MAAM,YAAY,CAAC;AACzD,OAAO,EAAC,YAAY,EAAE,OAAO,EAAC,MAAM,WAAW,CAAC;AAChD,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AACrC,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AACvC,OAAO,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mjpeg.d.ts","sourceRoot":"","sources":["../../../lib/utils/mjpeg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAiB,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAC,MAAM,aAAa,CAAC;AAa7G;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,SAAS,CAAS;IAGjB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAehG,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,SAAS;CAelB;AAwBD;;;GAGG;AACH,qBAAa,WAAY,SAAQ,QAAQ;IACvC,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,oBAAoB,CAAuC;IACnE,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,QAAQ,CAAiC;IAEjD;;;;OAIG;gBACS,QAAQ,EAAE,MAAM,EAAE,YAAY,GAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAW,EAAE,OAAO,GAAE,eAAoB;IAOtG,IAAI,eAAe,IAAI,MAAM,GAAG,IAAI,CAGnC;IAEK,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IActC,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKlD,KAAK,IAAI,IAAI;IASP,KAAK,CAAC,aAAa,SAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;IA8ErE,IAAI,IAAI,IAAI;IAcH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI;CAUnH"}
1
+ {"version":3,"file":"mjpeg.d.ts","sourceRoot":"","sources":["../../../lib/utils/mjpeg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAiB,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAC,MAAM,aAAa,CAAC;AAc7G;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,SAAS,CAAS;IAGjB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAehG,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,SAAS;CAelB;AAID;;;GAGG;AACH,qBAAa,WAAY,SAAQ,QAAQ;IACvC,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,oBAAoB,CAAuC;IACnE,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,QAAQ,CAAiC;IAEjD;;;;OAIG;gBACS,QAAQ,EAAE,MAAM,EAAE,YAAY,GAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAW,EAAE,OAAO,GAAE,eAAoB;IAOtG,IAAI,eAAe,IAAI,MAAM,GAAG,IAAI,CAGnC;IAEK,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IActC,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKlD,KAAK,IAAI,IAAI;IASP,KAAK,CAAC,aAAa,SAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;IA8ErE,IAAI,IAAI,IAAI;IAcH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI;CAUnH"}
@@ -1,6 +1,7 @@
1
1
  import { Transform, Writable } from 'node:stream';
2
2
  import { logger } from 'appium/support.js';
3
3
  import axios from 'axios';
4
+ import { requireSharp } from './image.js';
4
5
  const log = logger.getLogger('MJPEG');
5
6
  const DEFAULT_SERVER_TIMEOUT_MS = 10000;
6
7
  const JPEG_SOI = Buffer.from([0xff, 0xd8]);
@@ -85,22 +86,6 @@ export class MjpegFrameParser extends Transform {
85
86
  this.bytesWritten = 0;
86
87
  }
87
88
  }
88
- let sharpModule = null;
89
- async function requireSharp() {
90
- if (sharpModule) {
91
- return sharpModule;
92
- }
93
- try {
94
- sharpModule = (await import('sharp')).default;
95
- return sharpModule;
96
- }
97
- catch (err) {
98
- const message = err instanceof Error ? err.message : String(err);
99
- throw new Error(`Cannot load the 'sharp' module needed for MJPEG frame processing. ` +
100
- `Consider visiting https://sharp.pixelplumbing.com/install for troubleshooting. ` +
101
- `Original error: ${message}`, { cause: err });
102
- }
103
- }
104
89
  const noop = () => { };
105
90
  /**
106
91
  * Connects to an MJPEG-over-HTTP stream and keeps track of the last JPEG frame received,
@@ -1 +1 @@
1
- {"version":3,"file":"mjpeg.js","sourceRoot":"","sources":["../../../lib/utils/mjpeg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,QAAQ,EAA8D,MAAM,aAAa,CAAC;AAE7G,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAEtC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAC3C,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;AAErD;;;GAGG;AACH,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IACrC,MAAM,GAAkB,IAAI,CAAC;IAC7B,cAAc,GAAG,CAAC,CAAC;IACnB,YAAY,GAAG,CAAC,CAAC;IACjB,SAAS,GAAG,KAAK,CAAC;IAE1B,gGAAgG;IACvF,UAAU,CAAC,KAAa,EAAE,SAAyB,EAAE,QAA2B;QACvF,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAErE,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnE,CAAC;QACD,QAAQ,EAAE,CAAC;IACb,CAAC;IACD,qDAAqD;IAE7C,UAAU,CAAC,MAAc,EAAE,KAAa,EAAE,KAAa,EAAE,GAAW;QAC1E,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC;QAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QAC9D,oFAAoF;QACpF,qFAAqF;QACrF,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAE/D,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,KAAa,EAAE,GAAW;QAC5C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,mFAAmF;QACnF,oFAAoF;QACpF,sFAAsF;QACtF,qFAAqF;QACrF,oEAAoE;QACpE,MAAM,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QAChE,oFAAoF;QACpF,qFAAqF;QACrF,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QAE5E,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1D,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,SAAS;QACf,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,kFAAkF;YAClF,8EAA8E;YAC9E,4EAA4E;YAC5E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,8EAA8E;QAC9E,6EAA6E;QAC7E,sCAAsC;QACtC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;IACxB,CAAC;CACF;AAED,IAAI,WAAW,GAAwB,IAAI,CAAC;AAE5C,KAAK,UAAU,YAAY;IACzB,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,CAAC;QACH,WAAW,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QAC9C,OAAO,WAAW,CAAC;IACrB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,IAAI,KAAK,CACb,oEAAoE;YAClE,iFAAiF;YACjF,mBAAmB,OAAO,EAAE,EAC9B,EAAC,KAAK,EAAE,GAAG,EAAC,CACb,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAEtB;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,QAAQ;IAC9B,YAAY,CAAuB;IACnC,GAAG,CAAS;IACb,WAAW,GAAG,CAAC,CAAC;IAChB,SAAS,GAAkB,IAAI,CAAC;IAChC,oBAAoB,GAAwB,IAAI,CAAC;IACjD,oBAAoB,GAAkC,IAAI,CAAC;IAC3D,cAAc,GAAoB,IAAI,CAAC;IACvC,QAAQ,GAA4B,IAAI,CAAC;IAEjD;;;;OAIG;IACH,YAAY,QAAgB,EAAE,eAAqC,IAAI,EAAE,UAA2B,EAAE;QACpG,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC;QACpB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,IAAI,eAAe;QACjB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,OAAO,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,YAAY,EAAE,CAAC;YACnC,OAAO,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC7C,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,GAAG,CAAC,IAAI,CAAC,sCAAsC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED,KAAK;QACH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,yBAAyB;QACnD,IAAI,CAAC,IAAI,EAAE,CAAC;QAEZ,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,wFAAwF;QACxF,wFAAwF;QACxF,4DAA4D;QAC5D,MAAM,iBAAiB,GAAG,IAAI,eAAe,EAAE,CAAC;QAChD,MAAM,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,EAAE,aAAa,CAAC,CAAC;QACpF,IAAI,CAAC;YACH,IAAI,CAAC;gBACH,IAAI,CAAC,cAAc,GAAG,CACpB,MAAM,KAAK,CAAC;oBACV,GAAG;oBACH,YAAY,EAAE,QAAQ;oBACtB,MAAM,EAAE,iBAAiB,CAAC,MAAM;iBACjC,CAAC,CACH,CAAC,IAAgB,CAAC;YACrB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,OAAe,CAAC;gBACpB,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;oBAClD,OAAO,GAAG,IAAI,CAAC,SAAS,CAAE,CAAyB,CAAC,QAAQ,CAAC,CAAC;gBAChE,CAAC;qBAAM,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;oBAC9B,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACtB,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,yCAAyC,GAAG,qBAAqB,OAAO,EAAE,EAAE;oBAC1F,KAAK,EAAE,CAAC;iBACT,CAAC,CAAC;YACL,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,GAAU,EAAE,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,GAAG,CAAC,KAAK,CAAC,yCAAyC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAClE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,GAAG,CAAC,KAAK,CAAC,qCAAqC,GAAG,kBAAkB,CAAC,CAAC;YACtE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,+EAA+E;YAC/E,IAAI,CAAC,oBAAoB,EAAE,CACzB,IAAI,KAAK,CAAC,yCAAyC,GAAG,gDAAgD,CAAC,CACxG,CAAC;QACJ,CAAC,CAAC;QAEF,IAAI,SAAqC,CAAC;QAC1C,MAAM,YAAY,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzD,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC;YACpC,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC;YACnC,SAAS,GAAG,UAAU,CACpB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU,aAAa,+CAA+C,CAAC,CAAC,EAC/F,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;QAEF,IAAI,CAAC,cAAoE;aACvE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;aACtB,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;aAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;aACnB,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,IAAI,CAAC;YACH,MAAM,YAAY,CAAC;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,uFAAuF;YACvF,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,2FAA2F;IAClF,MAAM,CAAC,KAAsB,EAAE,SAAyB,EAAE,QAAwC;QACzG,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrE,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACnC,CAAC;QACD,QAAQ,EAAE,CAAC;IACb,CAAC;CAEF"}
1
+ {"version":3,"file":"mjpeg.js","sourceRoot":"","sources":["../../../lib/utils/mjpeg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,QAAQ,EAA8D,MAAM,aAAa,CAAC;AAE7G,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AAExC,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAEtC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAC3C,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;AAErD;;;GAGG;AACH,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IACrC,MAAM,GAAkB,IAAI,CAAC;IAC7B,cAAc,GAAG,CAAC,CAAC;IACnB,YAAY,GAAG,CAAC,CAAC;IACjB,SAAS,GAAG,KAAK,CAAC;IAE1B,gGAAgG;IACvF,UAAU,CAAC,KAAa,EAAE,SAAyB,EAAE,QAA2B;QACvF,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAErE,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnE,CAAC;QACD,QAAQ,EAAE,CAAC;IACb,CAAC;IACD,qDAAqD;IAE7C,UAAU,CAAC,MAAc,EAAE,KAAa,EAAE,KAAa,EAAE,GAAW;QAC1E,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC;QAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QAC9D,oFAAoF;QACpF,qFAAqF;QACrF,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAE/D,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,KAAa,EAAE,GAAW;QAC5C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,mFAAmF;QACnF,oFAAoF;QACpF,sFAAsF;QACtF,qFAAqF;QACrF,oEAAoE;QACpE,MAAM,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QAChE,oFAAoF;QACpF,qFAAqF;QACrF,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QAE5E,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1D,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,SAAS;QACf,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,kFAAkF;YAClF,8EAA8E;YAC9E,4EAA4E;YAC5E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,8EAA8E;QAC9E,6EAA6E;QAC7E,sCAAsC;QACtC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;IACxB,CAAC;CACF;AAED,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAEtB;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,QAAQ;IAC9B,YAAY,CAAuB;IACnC,GAAG,CAAS;IACb,WAAW,GAAG,CAAC,CAAC;IAChB,SAAS,GAAkB,IAAI,CAAC;IAChC,oBAAoB,GAAwB,IAAI,CAAC;IACjD,oBAAoB,GAAkC,IAAI,CAAC;IAC3D,cAAc,GAAoB,IAAI,CAAC;IACvC,QAAQ,GAA4B,IAAI,CAAC;IAEjD;;;;OAIG;IACH,YAAY,QAAgB,EAAE,eAAqC,IAAI,EAAE,UAA2B,EAAE;QACpG,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC;QACpB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,IAAI,eAAe;QACjB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,OAAO,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,YAAY,EAAE,CAAC;YACnC,OAAO,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC7C,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,GAAG,CAAC,IAAI,CAAC,sCAAsC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED,KAAK;QACH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,yBAAyB;QACnD,IAAI,CAAC,IAAI,EAAE,CAAC;QAEZ,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,wFAAwF;QACxF,wFAAwF;QACxF,4DAA4D;QAC5D,MAAM,iBAAiB,GAAG,IAAI,eAAe,EAAE,CAAC;QAChD,MAAM,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,EAAE,aAAa,CAAC,CAAC;QACpF,IAAI,CAAC;YACH,IAAI,CAAC;gBACH,IAAI,CAAC,cAAc,GAAG,CACpB,MAAM,KAAK,CAAC;oBACV,GAAG;oBACH,YAAY,EAAE,QAAQ;oBACtB,MAAM,EAAE,iBAAiB,CAAC,MAAM;iBACjC,CAAC,CACH,CAAC,IAAgB,CAAC;YACrB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,OAAe,CAAC;gBACpB,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;oBAClD,OAAO,GAAG,IAAI,CAAC,SAAS,CAAE,CAAyB,CAAC,QAAQ,CAAC,CAAC;gBAChE,CAAC;qBAAM,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;oBAC9B,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACtB,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,yCAAyC,GAAG,qBAAqB,OAAO,EAAE,EAAE;oBAC1F,KAAK,EAAE,CAAC;iBACT,CAAC,CAAC;YACL,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,GAAU,EAAE,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,GAAG,CAAC,KAAK,CAAC,yCAAyC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAClE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,GAAG,CAAC,KAAK,CAAC,qCAAqC,GAAG,kBAAkB,CAAC,CAAC;YACtE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,+EAA+E;YAC/E,IAAI,CAAC,oBAAoB,EAAE,CACzB,IAAI,KAAK,CAAC,yCAAyC,GAAG,gDAAgD,CAAC,CACxG,CAAC;QACJ,CAAC,CAAC;QAEF,IAAI,SAAqC,CAAC;QAC1C,MAAM,YAAY,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzD,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC;YACpC,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC;YACnC,SAAS,GAAG,UAAU,CACpB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU,aAAa,+CAA+C,CAAC,CAAC,EAC/F,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;QAEF,IAAI,CAAC,cAAoE;aACvE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;aACtB,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;aAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;aACnB,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,IAAI,CAAC;YACH,MAAM,YAAY,CAAC;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,uFAAuF;YACvF,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,2FAA2F;IAClF,MAAM,CAAC,KAAsB,EAAE,SAAyB,EAAE,QAAwC;QACzG,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrE,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACnC,CAAC;QACD,QAAQ,EAAE,CAAC;IACb,CAAC;CAEF"}
@@ -1,8 +1,7 @@
1
1
  import type {StringRecord} from '@appium/types';
2
- import {imageUtil} from 'appium/support.js';
3
2
 
4
3
  import type {AndroidUiautomator2Driver} from '../driver.js';
5
- import {isEmpty} from '../utils/index.js';
4
+ import {cropBase64Image, isEmpty} from '../utils/index.js';
6
5
  import type {Screenshot} from './types.js';
7
6
 
8
7
  // Matches SurfaceFlinger output format:
@@ -57,7 +56,7 @@ export async function mobileViewportScreenshot(this: AndroidUiautomator2Driver):
57
56
  export async function getViewportScreenshot(this: AndroidUiautomator2Driver): Promise<string> {
58
57
  const screenshot = await this.getScreenshot();
59
58
  const rect = await this.getViewPortRect();
60
- return await imageUtil.cropBase64Image(screenshot, rect);
59
+ return await cropBase64Image(screenshot, rect);
61
60
  }
62
61
 
63
62
  /**
@@ -0,0 +1,41 @@
1
+ import type sharp from 'sharp';
2
+ import type {Region} from 'sharp';
3
+
4
+ let sharpModule: typeof sharp | null = null;
5
+
6
+ /**
7
+ * Lazily imports the optional `sharp` dependency.
8
+ *
9
+ * @returns The sharp module for image processing
10
+ */
11
+ export async function requireSharp(): Promise<typeof sharp> {
12
+ if (sharpModule) {
13
+ return sharpModule;
14
+ }
15
+ try {
16
+ sharpModule = (await import('sharp')).default;
17
+ return sharpModule;
18
+ } catch (err) {
19
+ const message = err instanceof Error ? err.message : String(err);
20
+ throw new Error(
21
+ `Cannot load the 'sharp' module needed for image processing. ` +
22
+ `Consider visiting https://sharp.pixelplumbing.com/install for troubleshooting. ` +
23
+ `Original error: ${message}`,
24
+ {cause: err},
25
+ );
26
+ }
27
+ }
28
+
29
+ /**
30
+ * Crops the image by the given rectangle (base64 string in, base64 string out).
31
+ *
32
+ * @param base64Image The string with base64 encoded image.
33
+ * Supports all image formats natively supported by Sharp library.
34
+ * @param region The selected region of the image
35
+ * @returns base64 encoded string of the cropped image
36
+ */
37
+ export async function cropBase64Image(base64Image: string, region: Region): Promise<string> {
38
+ const sharpInstance = await requireSharp();
39
+ const buf = await sharpInstance(Buffer.from(base64Image, 'base64')).extract(region).toBuffer();
40
+ return buf.toString('base64');
41
+ }
@@ -1,4 +1,5 @@
1
1
  export {signApp} from './app.js';
2
+ export {cropBase64Image, requireSharp} from './image.js';
2
3
  export {escapeRegExp, isEmpty} from './lang.js';
3
4
  export {memoize} from './memoize.js';
4
5
  export {MJpegStream} from './mjpeg.js';
@@ -2,7 +2,8 @@ import {Transform, Writable, type Readable, type TransformCallback, type Writabl
2
2
 
3
3
  import {logger} from 'appium/support.js';
4
4
  import axios from 'axios';
5
- import type sharp from 'sharp';
5
+
6
+ import {requireSharp} from './image.js';
6
7
 
7
8
  const log = logger.getLogger('MJPEG');
8
9
 
@@ -97,26 +98,6 @@ export class MjpegFrameParser extends Transform {
97
98
  }
98
99
  }
99
100
 
100
- let sharpModule: typeof sharp | null = null;
101
-
102
- async function requireSharp(): Promise<typeof sharp> {
103
- if (sharpModule) {
104
- return sharpModule;
105
- }
106
- try {
107
- sharpModule = (await import('sharp')).default;
108
- return sharpModule;
109
- } catch (err) {
110
- const message = err instanceof Error ? err.message : String(err);
111
- throw new Error(
112
- `Cannot load the 'sharp' module needed for MJPEG frame processing. ` +
113
- `Consider visiting https://sharp.pixelplumbing.com/install for troubleshooting. ` +
114
- `Original error: ${message}`,
115
- {cause: err},
116
- );
117
- }
118
- }
119
-
120
101
  const noop = () => {};
121
102
 
122
103
  /**
@@ -1,29 +1,29 @@
1
1
  {
2
2
  "name": "appium-uiautomator2-driver",
3
- "version": "8.5.0",
3
+ "version": "8.5.2",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "appium-uiautomator2-driver",
9
- "version": "8.5.0",
9
+ "version": "8.5.2",
10
10
  "license": "Apache-2.0",
11
11
  "dependencies": {
12
12
  "@appium/css-locator-to-native": "^1.0.1",
13
- "appium-adb": "^16.0.0",
14
- "appium-android-driver": "^14.0.2",
13
+ "appium-adb": "^16.0.4",
14
+ "appium-android-driver": "^14.0.7",
15
15
  "appium-uiautomator2-server": "^10.6.0",
16
- "asyncbox": "^6.0.1",
17
- "axios": "^1.16.0",
16
+ "asyncbox": "^6.4.3",
17
+ "axios": "^1.18.0",
18
18
  "io.appium.settings": "^8.0.1",
19
19
  "portscanner": "^2.2.0",
20
- "teen_process": "^4.0.4"
20
+ "teen_process": "^4.2.0"
21
21
  },
22
22
  "devDependencies": {
23
- "@appium/docutils": "^2.0.0-rc.1",
23
+ "@appium/docutils": "^3.0.0",
24
24
  "@appium/oxc-config": "^1.1.0",
25
25
  "@appium/semantic-release-config": "^1.1.0",
26
- "@appium/support": "^7.0.0-rc.1",
26
+ "@appium/support": "^7.2.6",
27
27
  "@appium/tsconfig": "^1.2.0",
28
28
  "@appium/types": "^1.5.0",
29
29
  "@types/node": "^26.0.0",
@@ -51,16 +51,16 @@
51
51
  }
52
52
  },
53
53
  "node_modules/@appium/base-driver": {
54
- "version": "10.7.2",
55
- "resolved": "https://registry.npmjs.org/@appium/base-driver/-/base-driver-10.7.2.tgz",
56
- "integrity": "sha512-uYY84XZ0LFbXgNCePkVQXRshfSIbnajYSg1QBWYW3zvZodQyoXOInP5sylH8d/B0KM8b2Unn+VP9yoejX6v9CQ==",
54
+ "version": "10.8.0",
55
+ "resolved": "https://registry.npmjs.org/@appium/base-driver/-/base-driver-10.8.0.tgz",
56
+ "integrity": "sha512-5wz7+EEDCVJa0D5rIH8cBzNgCqo1qy6LloLwDs+L6p3+ty0RLGqJsugQBI8Vtjck4mrN+eah8+ASTKkwHY3c/g==",
57
57
  "license": "Apache-2.0",
58
58
  "dependencies": {
59
- "@appium/support": "7.2.6",
60
- "@appium/types": "1.6.0",
59
+ "@appium/support": "7.2.7",
60
+ "@appium/types": "1.7.0",
61
61
  "async-lock": "1.4.1",
62
- "asyncbox": "6.3.5",
63
- "axios": "1.18.1",
62
+ "asyncbox": "6.4.2",
63
+ "axios": "1.19.0",
64
64
  "body-parser": "2.3.0",
65
65
  "express": "5.2.1",
66
66
  "fastest-levenshtein": "1.0.16",
@@ -81,9 +81,9 @@
81
81
  }
82
82
  },
83
83
  "node_modules/@appium/base-driver/node_modules/asyncbox": {
84
- "version": "6.3.5",
85
- "resolved": "https://registry.npmjs.org/asyncbox/-/asyncbox-6.3.5.tgz",
86
- "integrity": "sha512-did9yFgGiHq9CzFirtQtVZKJfKo68IQzhqWmUd3R0WdO1V5LkJUy2NPQZOJZHKvNWma+ETwoJEA8ALt9h8pN1w==",
84
+ "version": "6.4.2",
85
+ "resolved": "https://registry.npmjs.org/asyncbox/-/asyncbox-6.4.2.tgz",
86
+ "integrity": "sha512-CXEnvX5i4UtAdu3Egtqn5At9C1O3bIqtS3EAQGz8bA5H11cvu9eO17IxOWiM8Q8DUFk9sD251s9vsAXFKXXFgg==",
87
87
  "license": "Apache-2.0",
88
88
  "dependencies": {
89
89
  "p-limit": "^7.2.0"
@@ -94,21 +94,21 @@
94
94
  }
95
95
  },
96
96
  "node_modules/@appium/base-driver/node_modules/axios": {
97
- "version": "1.18.1",
98
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.18.1.tgz",
99
- "integrity": "sha512-3nTvFlvpn9Zu/RkHUqtc7/+al4UpRW5az71ap5zccp6e8RAYEzhMTecX8Dz1wWDYrPpUoB1HAQEGEAEvUr7S9g==",
97
+ "version": "1.19.0",
98
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.19.0.tgz",
99
+ "integrity": "sha512-ht/iuYZXEjFxLH/Hkezgd7m6JKlHHXEUSneaDz8uZe1Gj5QZtCnpyDsckvAiEnT89OEbCLmnte4R4sn7P0EKFw==",
100
100
  "license": "MIT",
101
101
  "dependencies": {
102
102
  "follow-redirects": "^1.16.0",
103
- "form-data": "^4.0.5",
103
+ "form-data": "^4.0.6",
104
104
  "https-proxy-agent": "^5.0.1",
105
105
  "proxy-from-env": "^2.1.0"
106
106
  }
107
107
  },
108
108
  "node_modules/@appium/css-locator-to-native": {
109
- "version": "1.0.6",
110
- "resolved": "https://registry.npmjs.org/@appium/css-locator-to-native/-/css-locator-to-native-1.0.6.tgz",
111
- "integrity": "sha512-65UfoooziCETtDWZZ7Tb+MC8YEjJK5iKsGks4Cn/rJAwWFLjlRkW/pdK0Kr1Lf25Mo/JnB1bk7PEes/clvdMhA==",
109
+ "version": "1.0.7",
110
+ "resolved": "https://registry.npmjs.org/@appium/css-locator-to-native/-/css-locator-to-native-1.0.7.tgz",
111
+ "integrity": "sha512-1yc/fd+fMFQ4HuDRc4QrkCpLierydK7+i4Y3NBcowOuFRxkO+RHmbIEDNYJfmbl/r7aZW8+okXNZHWTMSZdTGA==",
112
112
  "license": "Apache-2.0",
113
113
  "dependencies": {
114
114
  "css-selector-parser": "^3.3.0"
@@ -119,21 +119,21 @@
119
119
  }
120
120
  },
121
121
  "node_modules/@appium/docutils": {
122
- "version": "2.5.2",
123
- "resolved": "https://registry.npmjs.org/@appium/docutils/-/docutils-2.5.2.tgz",
124
- "integrity": "sha512-kseUbImhXFWka1dZ5FPthHKZtqCKzHPwuFheYimQeqMsXKQV9Nd3TJ5HMRUqonaIw6bfAW81TvzP6gx132cMlg==",
122
+ "version": "3.0.0",
123
+ "resolved": "https://registry.npmjs.org/@appium/docutils/-/docutils-3.0.0.tgz",
124
+ "integrity": "sha512-R+q7jvSJm+vjV+8+FRNy5lIx6GieRna1rOOGnKmlxkTBUNi9q4VeCPfkT9x1CPAqgco+W2ZugelpM8oAtJFRnw==",
125
125
  "dev": true,
126
126
  "license": "Apache-2.0",
127
127
  "dependencies": {
128
- "@appium/support": "7.2.6",
128
+ "@appium/support": "7.2.7",
129
129
  "consola": "3.4.2",
130
130
  "diff": "9.0.0",
131
131
  "lilconfig": "3.1.3",
132
132
  "normalize-package-data": "8.0.0",
133
- "teen_process": "4.1.9",
133
+ "teen_process": "4.2.1",
134
134
  "type-fest": "5.8.0",
135
135
  "yaml": "2.9.0",
136
- "yargs": "18.0.0",
136
+ "yargs": "18.1.0",
137
137
  "yargs-parser": "22.0.0"
138
138
  },
139
139
  "bin": {
@@ -144,24 +144,10 @@
144
144
  "npm": ">=10"
145
145
  }
146
146
  },
147
- "node_modules/@appium/docutils/node_modules/teen_process": {
148
- "version": "4.1.9",
149
- "resolved": "https://registry.npmjs.org/teen_process/-/teen_process-4.1.9.tgz",
150
- "integrity": "sha512-MUOuIDBvjJGrm5AgrrWyGbpoKbpSJWvc7xf76Hac4ONDB2BbKzMNWjCAjFZ3sX+KuioReNVJdXTO4o4Bj/gRaQ==",
151
- "dev": true,
152
- "license": "Apache-2.0",
153
- "dependencies": {
154
- "shell-quote": "^1.8.1"
155
- },
156
- "engines": {
157
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
158
- "npm": ">=10"
159
- }
160
- },
161
147
  "node_modules/@appium/logger": {
162
- "version": "2.0.10",
163
- "resolved": "https://registry.npmjs.org/@appium/logger/-/logger-2.0.10.tgz",
164
- "integrity": "sha512-RFR+9erki0Wqv3pElkbocoE1v2UsYUEvBybqEOTNl3dniA377vqKR9MiQl6W32XlruuIYZH8kkkdQJ3/0TEbyQ==",
148
+ "version": "2.0.11",
149
+ "resolved": "https://registry.npmjs.org/@appium/logger/-/logger-2.0.11.tgz",
150
+ "integrity": "sha512-0TIxQy09XMOmaUYA4E4v4jZP7zsO3CAuUZQQAbAQdfGGlLcPVFx+fePJdOU+WaqarduYZM0DfXgqfp8lnW2r7w==",
165
151
  "license": "ISC",
166
152
  "dependencies": {
167
153
  "lru-cache": "11.5.2"
@@ -185,16 +171,16 @@
185
171
  }
186
172
  },
187
173
  "node_modules/@appium/support": {
188
- "version": "7.2.6",
189
- "resolved": "https://registry.npmjs.org/@appium/support/-/support-7.2.6.tgz",
190
- "integrity": "sha512-WkfHSocC6bZGLHloVfOpTT2/300FPkrOu2PifOiFvfOCPTILIQsiqFIr/TUqeB72oJDarTdfX3doTmsAufXxoQ==",
174
+ "version": "7.2.7",
175
+ "resolved": "https://registry.npmjs.org/@appium/support/-/support-7.2.7.tgz",
176
+ "integrity": "sha512-6TbmICepPT+GKM6Wj/Gdp2T2dHKXO/MLZWW3OY9YT2sbnQNKTXtQvjspLwQHhxndkG74jFW1Cu5KKBAjkZecXA==",
191
177
  "license": "Apache-2.0",
192
178
  "dependencies": {
193
- "@appium/logger": "2.0.10",
194
- "@appium/types": "1.6.0",
179
+ "@appium/logger": "2.0.11",
180
+ "@appium/types": "1.7.0",
195
181
  "archiver": "8.0.0",
196
- "asyncbox": "6.3.5",
197
- "axios": "1.18.1",
182
+ "asyncbox": "6.4.2",
183
+ "axios": "1.19.0",
198
184
  "bluebird": "3.7.2",
199
185
  "bplist-creator": "0.1.1",
200
186
  "bplist-parser": "0.3.2",
@@ -209,9 +195,9 @@
209
195
  "sanitize-filename": "1.6.4",
210
196
  "semver": "7.8.5",
211
197
  "shell-quote": "1.10.0",
212
- "teen_process": "4.1.9",
198
+ "teen_process": "4.2.1",
213
199
  "type-fest": "5.8.0",
214
- "uuid": "14.0.1",
200
+ "uuid": "14.0.2",
215
201
  "which": "6.0.1",
216
202
  "yauzl": "3.4.0"
217
203
  },
@@ -220,13 +206,13 @@
220
206
  "npm": ">=10"
221
207
  },
222
208
  "optionalDependencies": {
223
- "sharp": "0.35.3"
209
+ "sharp": "^0.x"
224
210
  }
225
211
  },
226
212
  "node_modules/@appium/support/node_modules/asyncbox": {
227
- "version": "6.3.5",
228
- "resolved": "https://registry.npmjs.org/asyncbox/-/asyncbox-6.3.5.tgz",
229
- "integrity": "sha512-did9yFgGiHq9CzFirtQtVZKJfKo68IQzhqWmUd3R0WdO1V5LkJUy2NPQZOJZHKvNWma+ETwoJEA8ALt9h8pN1w==",
213
+ "version": "6.4.2",
214
+ "resolved": "https://registry.npmjs.org/asyncbox/-/asyncbox-6.4.2.tgz",
215
+ "integrity": "sha512-CXEnvX5i4UtAdu3Egtqn5At9C1O3bIqtS3EAQGz8bA5H11cvu9eO17IxOWiM8Q8DUFk9sD251s9vsAXFKXXFgg==",
230
216
  "license": "Apache-2.0",
231
217
  "dependencies": {
232
218
  "p-limit": "^7.2.0"
@@ -237,34 +223,21 @@
237
223
  }
238
224
  },
239
225
  "node_modules/@appium/support/node_modules/axios": {
240
- "version": "1.18.1",
241
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.18.1.tgz",
242
- "integrity": "sha512-3nTvFlvpn9Zu/RkHUqtc7/+al4UpRW5az71ap5zccp6e8RAYEzhMTecX8Dz1wWDYrPpUoB1HAQEGEAEvUr7S9g==",
226
+ "version": "1.19.0",
227
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.19.0.tgz",
228
+ "integrity": "sha512-ht/iuYZXEjFxLH/Hkezgd7m6JKlHHXEUSneaDz8uZe1Gj5QZtCnpyDsckvAiEnT89OEbCLmnte4R4sn7P0EKFw==",
243
229
  "license": "MIT",
244
230
  "dependencies": {
245
231
  "follow-redirects": "^1.16.0",
246
- "form-data": "^4.0.5",
232
+ "form-data": "^4.0.6",
247
233
  "https-proxy-agent": "^5.0.1",
248
234
  "proxy-from-env": "^2.1.0"
249
235
  }
250
236
  },
251
- "node_modules/@appium/support/node_modules/teen_process": {
252
- "version": "4.1.9",
253
- "resolved": "https://registry.npmjs.org/teen_process/-/teen_process-4.1.9.tgz",
254
- "integrity": "sha512-MUOuIDBvjJGrm5AgrrWyGbpoKbpSJWvc7xf76Hac4ONDB2BbKzMNWjCAjFZ3sX+KuioReNVJdXTO4o4Bj/gRaQ==",
255
- "license": "Apache-2.0",
256
- "dependencies": {
257
- "shell-quote": "^1.8.1"
258
- },
259
- "engines": {
260
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
261
- "npm": ">=10"
262
- }
263
- },
264
237
  "node_modules/@appium/types": {
265
- "version": "1.6.0",
266
- "resolved": "https://registry.npmjs.org/@appium/types/-/types-1.6.0.tgz",
267
- "integrity": "sha512-7xHJ0AsW/B/uR3m62jKMhX3KvrtV6HcFzOLyCulkjrgwfLNlscVJKdmKul4U3Cj0rEDhCaUCcyagBdiSKDiAfw==",
238
+ "version": "1.7.0",
239
+ "resolved": "https://registry.npmjs.org/@appium/types/-/types-1.7.0.tgz",
240
+ "integrity": "sha512-V8BC8mpdOcD9MW6V8dkBWIeaPBxJaRek+H2mRZcxq8D2yUuWQLgiD4jJaRMp6Aa3Mrp5G87fvQerAhC56b7stg==",
268
241
  "license": "Apache-2.0",
269
242
  "dependencies": {
270
243
  "@appium/schema": "1.3.0",
@@ -289,9 +262,9 @@
289
262
  }
290
263
  },
291
264
  "node_modules/@img/sharp-libvips-linux-x64": {
292
- "version": "1.3.2",
293
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.3.2.tgz",
294
- "integrity": "sha512-ITPEtgffGJ0S6G9dRyw/366tJQqFRcHWPHhC+Stpg3Z8AEMrDrTr2lhdz4f/Y/HMbRh//7Z5mBzEpVdi62Oc3w==",
265
+ "version": "1.3.3",
266
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.3.3.tgz",
267
+ "integrity": "sha512-4vKmvAst9nrowcqquKFAyZJUDolUaIp8uRiN0mWFguJ1IplC9/pitXtlnnlU4aa/eJw3J7i67V+pwUL+wZGdsA==",
295
268
  "cpu": [
296
269
  "x64"
297
270
  ],
@@ -308,9 +281,9 @@
308
281
  }
309
282
  },
310
283
  "node_modules/@img/sharp-linux-x64": {
311
- "version": "0.35.3",
312
- "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.35.3.tgz",
313
- "integrity": "sha512-8pqvxubL2PGdhlPy6GLqzDYMUjyRmKAwKHYKixpdJYBUK7PJ0C029XdsnpFIdgRZG68fZiGdHVWcKPvtiPB4cA==",
284
+ "version": "0.35.4",
285
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.35.4.tgz",
286
+ "integrity": "sha512-9qvvEAuk8k89TfWUoX2htWjbAMX8p+NxCppjpcg5k6xMsjhBQPTsoIh36h9Qde4WRuGpJeYnOjdosDn/cnv+OA==",
314
287
  "cpu": [
315
288
  "x64"
316
289
  ],
@@ -329,13 +302,13 @@
329
302
  "url": "https://opencollective.com/libvips"
330
303
  },
331
304
  "optionalDependencies": {
332
- "@img/sharp-libvips-linux-x64": "1.3.2"
305
+ "@img/sharp-libvips-linux-x64": "1.3.3"
333
306
  }
334
307
  },
335
308
  "node_modules/@xmldom/xmldom": {
336
- "version": "0.9.11",
337
- "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.9.11.tgz",
338
- "integrity": "sha512-tW8bcK3hsG0/uqSnNz6TK4BkcuZSezoU7DlnYssILmZDktPnSHHuDJJFM0AJv+13gz2r0iGdrj6qqKeUnxXEDg==",
309
+ "version": "0.9.12",
310
+ "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.9.12.tgz",
311
+ "integrity": "sha512-5AXjrcMClTryPe9LgZrygpB1lj7s0S9E0+W+AHaVKAVyHanafK86iPSvG5xHVSp/jC+VH1UXu0TAEmY279xH7A==",
339
312
  "license": "MIT",
340
313
  "engines": {
341
314
  "node": ">=14.6"
@@ -408,18 +381,18 @@
408
381
  }
409
382
  },
410
383
  "node_modules/appium-adb": {
411
- "version": "16.0.3",
412
- "resolved": "https://registry.npmjs.org/appium-adb/-/appium-adb-16.0.3.tgz",
413
- "integrity": "sha512-pUpD2IZR5HUmAIPxeBMA1issB2BroLk6VauzeV630QZmAYIlCowa+eVtHp47vDOM0DGLkFNWNYb5SX1EZ5T/8w==",
384
+ "version": "16.0.5",
385
+ "resolved": "https://registry.npmjs.org/appium-adb/-/appium-adb-16.0.5.tgz",
386
+ "integrity": "sha512-WFsVo2OXfvFDLzI4+gG7Ps9s3EgJMtfTZBI3UsozhLPkP1cdMlHo1AtTcl+vTTVqZTIXBmIgO4MZ0uVFyGlgAQ==",
414
387
  "license": "Apache-2.0",
415
388
  "dependencies": {
416
- "@appium/support": "^7.2.2",
389
+ "@appium/support": "^7.2.6",
417
390
  "async-lock": "^1.0.0",
418
- "asyncbox": "^6.0.1",
391
+ "asyncbox": "^6.4.3",
419
392
  "ini": "^6.0.0",
420
393
  "lru-cache": "^11.1.0",
421
394
  "semver": "^7.0.0",
422
- "teen_process": "^4.0.4"
395
+ "teen_process": "^4.2.0"
423
396
  },
424
397
  "engines": {
425
398
  "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
@@ -427,22 +400,22 @@
427
400
  }
428
401
  },
429
402
  "node_modules/appium-android-driver": {
430
- "version": "14.0.6",
431
- "resolved": "https://registry.npmjs.org/appium-android-driver/-/appium-android-driver-14.0.6.tgz",
432
- "integrity": "sha512-cG+R174hD0VdMk9+XiiHEHjixtkDSTGf3SD+JD4faltuH8D4TU7K86ZA/Jhmsvb5xchLR8OMDHFmti+ancztpw==",
403
+ "version": "14.0.7",
404
+ "resolved": "https://registry.npmjs.org/appium-android-driver/-/appium-android-driver-14.0.7.tgz",
405
+ "integrity": "sha512-T84wEeeXx23CceWEvQOUAPZ6sVqsTBwau5XT3spEGoL1cTONgOjRgiykpeLEfEW0CiWhH8rYDDfmQCOrl1pDfQ==",
433
406
  "license": "Apache-2.0",
434
407
  "dependencies": {
435
- "@appium/support": "^7.2.5",
436
- "appium-adb": "^16.0.0",
437
- "appium-chromedriver": "^9.0.1",
438
- "asyncbox": "^6.1.0",
439
- "axios": "^1.16.0",
408
+ "@appium/support": "^7.2.6",
409
+ "appium-adb": "^16.0.4",
410
+ "appium-chromedriver": "^9.0.15",
411
+ "asyncbox": "^6.4.3",
412
+ "axios": "^1.18.0",
440
413
  "dayjs": "^1.11.21",
441
414
  "io.appium.settings": "^8.0.1",
442
415
  "lru-cache": "^11.1.0",
443
416
  "portscanner": "^2.2.0",
444
417
  "semver": "^7.0.0",
445
- "teen_process": "^4.0.7",
418
+ "teen_process": "^4.2.0",
446
419
  "ws": "^8.0.0"
447
420
  },
448
421
  "engines": {
@@ -454,20 +427,20 @@
454
427
  }
455
428
  },
456
429
  "node_modules/appium-chromedriver": {
457
- "version": "9.0.9",
458
- "resolved": "https://registry.npmjs.org/appium-chromedriver/-/appium-chromedriver-9.0.9.tgz",
459
- "integrity": "sha512-MahDwO0uAlVdVCoAmauShcp8LOqagRluKrxfv3jnz9T7oFfALDdnJtD096VJFK+0CYzjKj0e6CsMVn5wQTFCHA==",
430
+ "version": "9.0.15",
431
+ "resolved": "https://registry.npmjs.org/appium-chromedriver/-/appium-chromedriver-9.0.15.tgz",
432
+ "integrity": "sha512-cgScH4hrHQrc0kjycanfRi1iL3IFpISE7b1Xa8Loxl9sPOexV1aOXr5Mz3N+y9rGjcO/sO+MEnqxbutDM435nA==",
460
433
  "license": "Apache-2.0",
461
434
  "dependencies": {
462
- "@appium/base-driver": "^10.0.0-rc.2",
463
- "@appium/support": "^7.2.2",
435
+ "@appium/base-driver": "^10.8.0",
436
+ "@appium/support": "^7.2.6",
464
437
  "@xmldom/xmldom": "^0.x",
465
- "appium-adb": "^16.0.0",
466
- "asyncbox": "^6.0.1",
467
- "axios": "^1.16.0",
438
+ "appium-adb": "^16.0.4",
439
+ "asyncbox": "^6.4.3",
440
+ "axios": "^1.18.0",
468
441
  "compare-versions": "^6.0.0",
469
442
  "semver": "^7.0.0",
470
- "teen_process": "^4.0.4",
443
+ "teen_process": "^4.2.0",
471
444
  "xpath": "^0.x"
472
445
  },
473
446
  "engines": {
@@ -518,9 +491,9 @@
518
491
  "license": "MIT"
519
492
  },
520
493
  "node_modules/asyncbox": {
521
- "version": "6.4.2",
522
- "resolved": "https://registry.npmjs.org/asyncbox/-/asyncbox-6.4.2.tgz",
523
- "integrity": "sha512-CXEnvX5i4UtAdu3Egtqn5At9C1O3bIqtS3EAQGz8bA5H11cvu9eO17IxOWiM8Q8DUFk9sD251s9vsAXFKXXFgg==",
494
+ "version": "6.4.3",
495
+ "resolved": "https://registry.npmjs.org/asyncbox/-/asyncbox-6.4.3.tgz",
496
+ "integrity": "sha512-s8SY4wNBvZkenRVOW2dEr3r43u40uHlqKGPTkEvr7QQIOMNMIzCZMMstKgDTWhTPRfeST57S+v/3OTXhoVsg0g==",
524
497
  "license": "Apache-2.0",
525
498
  "dependencies": {
526
499
  "p-limit": "^7.2.0"
@@ -537,9 +510,9 @@
537
510
  "license": "MIT"
538
511
  },
539
512
  "node_modules/axios": {
540
- "version": "1.19.0",
541
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.19.0.tgz",
542
- "integrity": "sha512-ht/iuYZXEjFxLH/Hkezgd7m6JKlHHXEUSneaDz8uZe1Gj5QZtCnpyDsckvAiEnT89OEbCLmnte4R4sn7P0EKFw==",
513
+ "version": "1.20.0",
514
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.20.0.tgz",
515
+ "integrity": "sha512-r8aOh8j9cGKpgQAqpzrUHnSIc6a59Y3Xf/cv8sy1DrHCkZHzQGEuoq1tARk6qSyDdtQGSDgpb9kFlruzPvrgwg==",
543
516
  "license": "MIT",
544
517
  "dependencies": {
545
518
  "follow-redirects": "^1.16.0",
@@ -572,9 +545,9 @@
572
545
  }
573
546
  },
574
547
  "node_modules/bare-events": {
575
- "version": "2.9.1",
576
- "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.9.1.tgz",
577
- "integrity": "sha512-Z0oHEHAFDZkffN8Qc39zNZjQlMDkPJRyyyZieU1VH7u8c5S+qHZ2S8ixdKIAxEjfHO7FJxXmJWgteOghVanIsg==",
548
+ "version": "2.9.2",
549
+ "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.9.2.tgz",
550
+ "integrity": "sha512-AIPKioV7/Y/8KfZ3AAhjPJxLLbY49S64Ym5DakZlUg75qQiTgUq9hEJoEwa4eUezPUlXRy/i5NpsKvo9jgKmoA==",
578
551
  "license": "Apache-2.0",
579
552
  "peerDependencies": {
580
553
  "bare-abort-controller": "*"
@@ -586,9 +559,9 @@
586
559
  }
587
560
  },
588
561
  "node_modules/bare-fs": {
589
- "version": "4.8.0",
590
- "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.8.0.tgz",
591
- "integrity": "sha512-fM+MhCvdQhZ7NV6S95a07gPSqjIYKn6mFaXfx266wN3ajZGl/+1AzH+ubkXQ0fFZvOe2nk9VHkzdYkQE5zMV3Q==",
562
+ "version": "4.8.1",
563
+ "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.8.1.tgz",
564
+ "integrity": "sha512-N1nnXdHZAOSstz0XiHikGS4HGMH4CnSwhqWdGQQMqqdvp4Jybm9sE3R1WVnpWVd4SFkc8ryPDBLViNLwiEqECg==",
592
565
  "license": "Apache-2.0",
593
566
  "dependencies": {
594
567
  "bare-events": "^2.5.4",
@@ -610,15 +583,15 @@
610
583
  }
611
584
  },
612
585
  "node_modules/bare-path": {
613
- "version": "3.1.1",
614
- "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.1.1.tgz",
615
- "integrity": "sha512-JprUlveX3QjApC1cTpsUOiscADftCGVWkzitbHsRqv84hzYwYHw2mbluddsq5TvI8mH/8Ov1f4BiMAdcB0oYnQ==",
586
+ "version": "3.1.2",
587
+ "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.1.2.tgz",
588
+ "integrity": "sha512-ZyKbsuuqK6Ag0K8pX6V5Txq6XeJRvY+wXucnFGRjiyVYP9YWDpIQugk/b+enRYrEYBJaqLzghRQpXPMR7341Nw==",
616
589
  "license": "Apache-2.0"
617
590
  },
618
591
  "node_modules/bare-stream": {
619
- "version": "2.13.3",
620
- "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.13.3.tgz",
621
- "integrity": "sha512-Kc+brLqvEqGkjyfiwJmImAOqLZL7OsoLKuavx+hJjgVV3nLTOjloJyPMFxjUPerGGHrNH0fLU06jjykMLWrERQ==",
592
+ "version": "2.13.4",
593
+ "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.13.4.tgz",
594
+ "integrity": "sha512-PcrQ8lVLbiJscNm1Kez+Yp4Gy4AHGcN1lzwjvf5NybWen7VvEgUfyfnXYJ2zNqWnzOfCb1Abq6lH8ti0syQszA==",
622
595
  "license": "Apache-2.0",
623
596
  "dependencies": {
624
597
  "b4a": "^1.8.1",
@@ -643,9 +616,9 @@
643
616
  }
644
617
  },
645
618
  "node_modules/bare-url": {
646
- "version": "2.5.2",
647
- "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.5.2.tgz",
648
- "integrity": "sha512-L13PCJzKG8RGvx8V1/DdMi12ERhC3tprr7/8a94BxpmnRsFqxh5XZNdhtMxu5HPkRshYOOWRGY8lDP7ZhpG9Cg==",
619
+ "version": "2.5.3",
620
+ "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.5.3.tgz",
621
+ "integrity": "sha512-3absfEzoyFosWT8v83ZcJgbTJxv+S/sI7jBfeCMlUVatSaefRmwweqBhFpMllQv+HTxs/FbbToVOw1c05NORkQ==",
649
622
  "license": "Apache-2.0",
650
623
  "dependencies": {
651
624
  "bare-path": "^3.0.0"
@@ -1731,9 +1704,9 @@
1731
1704
  }
1732
1705
  },
1733
1706
  "node_modules/io.appium.settings": {
1734
- "version": "8.0.8",
1735
- "resolved": "https://registry.npmjs.org/io.appium.settings/-/io.appium.settings-8.0.8.tgz",
1736
- "integrity": "sha512-FiMO8IvA1AkvbdenHyN57OPOByt9zZ5MY5iMRJHo09qrk2Njxg1rs4fC8ztyiCm1NtaNMDVKcF9u9Zm3JBkKyQ==",
1707
+ "version": "8.0.9",
1708
+ "resolved": "https://registry.npmjs.org/io.appium.settings/-/io.appium.settings-8.0.9.tgz",
1709
+ "integrity": "sha512-n8WiP3JBuHtbL4fVMLilF4zOZY75WPESog4m03TzYIzMPmueoPeVz6bxUZTzy/QA/msSuesnM9y+Dos8Nj2f4Q==",
1737
1710
  "license": "Apache-2.0",
1738
1711
  "dependencies": {
1739
1712
  "@appium/logger": "^2.0.0-rc.1",
@@ -2182,9 +2155,9 @@
2182
2155
  }
2183
2156
  },
2184
2157
  "node_modules/p-limit": {
2185
- "version": "7.3.1",
2186
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-7.3.1.tgz",
2187
- "integrity": "sha512-0trZaiG7Y7kN/Egy9a8j47t9osC0Tch4PaIWd9yGF6bvmlk7muExRvGNYb8sXBwEKMoNKsbNN9P8EefuQekE4Q==",
2158
+ "version": "7.3.2",
2159
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-7.3.2.tgz",
2160
+ "integrity": "sha512-Ll0w3fU24vYpXoZmjjZIee6bJQDgG0oAyo1PdmFYI8UDwJJddaHAypxIH9avUu+t+lSsAwKVsb1jDCMIIChliw==",
2188
2161
  "license": "MIT",
2189
2162
  "dependencies": {
2190
2163
  "yocto-queue": "^1.2.1"
@@ -2328,9 +2301,9 @@
2328
2301
  }
2329
2302
  },
2330
2303
  "node_modules/qs": {
2331
- "version": "6.15.3",
2332
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.3.tgz",
2333
- "integrity": "sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==",
2304
+ "version": "6.16.0",
2305
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.16.0.tgz",
2306
+ "integrity": "sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA==",
2334
2307
  "license": "BSD-3-Clause",
2335
2308
  "dependencies": {
2336
2309
  "es-define-property": "^1.0.1",
@@ -2579,9 +2552,9 @@
2579
2552
  "license": "ISC"
2580
2553
  },
2581
2554
  "node_modules/sharp": {
2582
- "version": "0.35.3",
2583
- "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.35.3.tgz",
2584
- "integrity": "sha512-ej0zVHuZGHCiABXcNxeYhpRnPNPAcvbG8RMdBAhDAxLKkCRVSpK3Iyu7qbqw3JMzoj0REeM6f3tJLtVwl0023Q==",
2555
+ "version": "0.35.4",
2556
+ "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.35.4.tgz",
2557
+ "integrity": "sha512-n++8XWcj+jCOr2IOl7h8LbKnGBDY4aPbmprMONBNFdn0ImXqpGVv5zliDs0V9HbmbCQLpbuo2ej9rAoOQTvMDA==",
2585
2558
  "devOptional": true,
2586
2559
  "license": "Apache-2.0",
2587
2560
  "dependencies": {
@@ -2596,31 +2569,31 @@
2596
2569
  "url": "https://opencollective.com/libvips"
2597
2570
  },
2598
2571
  "optionalDependencies": {
2599
- "@img/sharp-darwin-arm64": "0.35.3",
2600
- "@img/sharp-darwin-x64": "0.35.3",
2601
- "@img/sharp-freebsd-wasm32": "0.35.3",
2602
- "@img/sharp-libvips-darwin-arm64": "1.3.2",
2603
- "@img/sharp-libvips-darwin-x64": "1.3.2",
2604
- "@img/sharp-libvips-linux-arm": "1.3.2",
2605
- "@img/sharp-libvips-linux-arm64": "1.3.2",
2606
- "@img/sharp-libvips-linux-ppc64": "1.3.2",
2607
- "@img/sharp-libvips-linux-riscv64": "1.3.2",
2608
- "@img/sharp-libvips-linux-s390x": "1.3.2",
2609
- "@img/sharp-libvips-linux-x64": "1.3.2",
2610
- "@img/sharp-libvips-linuxmusl-arm64": "1.3.2",
2611
- "@img/sharp-libvips-linuxmusl-x64": "1.3.2",
2612
- "@img/sharp-linux-arm": "0.35.3",
2613
- "@img/sharp-linux-arm64": "0.35.3",
2614
- "@img/sharp-linux-ppc64": "0.35.3",
2615
- "@img/sharp-linux-riscv64": "0.35.3",
2616
- "@img/sharp-linux-s390x": "0.35.3",
2617
- "@img/sharp-linux-x64": "0.35.3",
2618
- "@img/sharp-linuxmusl-arm64": "0.35.3",
2619
- "@img/sharp-linuxmusl-x64": "0.35.3",
2620
- "@img/sharp-webcontainers-wasm32": "0.35.3",
2621
- "@img/sharp-win32-arm64": "0.35.3",
2622
- "@img/sharp-win32-ia32": "0.35.3",
2623
- "@img/sharp-win32-x64": "0.35.3"
2572
+ "@img/sharp-darwin-arm64": "0.35.4",
2573
+ "@img/sharp-darwin-x64": "0.35.4",
2574
+ "@img/sharp-freebsd-wasm32": "0.35.4",
2575
+ "@img/sharp-libvips-darwin-arm64": "1.3.3",
2576
+ "@img/sharp-libvips-darwin-x64": "1.3.3",
2577
+ "@img/sharp-libvips-linux-arm": "1.3.3",
2578
+ "@img/sharp-libvips-linux-arm64": "1.3.3",
2579
+ "@img/sharp-libvips-linux-ppc64": "1.3.3",
2580
+ "@img/sharp-libvips-linux-riscv64": "1.3.3",
2581
+ "@img/sharp-libvips-linux-s390x": "1.3.3",
2582
+ "@img/sharp-libvips-linux-x64": "1.3.3",
2583
+ "@img/sharp-libvips-linuxmusl-arm64": "1.3.3",
2584
+ "@img/sharp-libvips-linuxmusl-x64": "1.3.3",
2585
+ "@img/sharp-linux-arm": "0.35.4",
2586
+ "@img/sharp-linux-arm64": "0.35.4",
2587
+ "@img/sharp-linux-ppc64": "0.35.4",
2588
+ "@img/sharp-linux-riscv64": "0.35.4",
2589
+ "@img/sharp-linux-s390x": "0.35.4",
2590
+ "@img/sharp-linux-x64": "0.35.4",
2591
+ "@img/sharp-linuxmusl-arm64": "0.35.4",
2592
+ "@img/sharp-linuxmusl-x64": "0.35.4",
2593
+ "@img/sharp-webcontainers-wasm32": "0.35.4",
2594
+ "@img/sharp-win32-arm64": "0.35.4",
2595
+ "@img/sharp-win32-ia32": "0.35.4",
2596
+ "@img/sharp-win32-x64": "0.35.4"
2624
2597
  },
2625
2598
  "peerDependenciesMeta": {
2626
2599
  "@types/node": {
@@ -2820,9 +2793,9 @@
2820
2793
  }
2821
2794
  },
2822
2795
  "node_modules/streamx": {
2823
- "version": "2.28.0",
2824
- "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.28.0.tgz",
2825
- "integrity": "sha512-1Yowhzjf0ivGMrTIkY9hav5TxobO9qIVqUE41fiCGMGgc3CLlf4MY+9AHmZqBWgDTue0fY9zWjYFVyf6Diuobw==",
2796
+ "version": "2.28.1",
2797
+ "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.28.1.tgz",
2798
+ "integrity": "sha512-zEzXb0s5Cds7tqMH6rhZ05lcJydCWiQPEwiNngVqzsxCc962vLY4Uw+mW7od8kDH258k2Uz/JrOkdIAAhSh9VA==",
2826
2799
  "license": "MIT",
2827
2800
  "dependencies": {
2828
2801
  "events-universal": "^1.0.0",
@@ -2908,9 +2881,9 @@
2908
2881
  }
2909
2882
  },
2910
2883
  "node_modules/tar-stream": {
2911
- "version": "3.2.0",
2912
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.2.0.tgz",
2913
- "integrity": "sha512-ojzvCvVaNp6aOTFmG7jaRD0meowIAuPc3cMMhSgKiVWws1GyHbGd/xvnyuRKcKlMpt3qvxx6r0hreCNITP9hIg==",
2884
+ "version": "3.2.1",
2885
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.2.1.tgz",
2886
+ "integrity": "sha512-nqsEO8zLZJvrOMdEwkA0QdCLFbetHMn95Zqu4fKwX+hkaTWJPZZOrxx/PwtxoK0MMGQmBQNRW3CPs8IFYQz4cQ==",
2914
2887
  "license": "MIT",
2915
2888
  "dependencies": {
2916
2889
  "b4a": "^1.6.4",
@@ -3045,9 +3018,9 @@
3045
3018
  "license": "MIT"
3046
3019
  },
3047
3020
  "node_modules/uuid": {
3048
- "version": "14.0.1",
3049
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.1.tgz",
3050
- "integrity": "sha512-6ZxzVpzDXDa3bJWaHilVayA+BH/1zmxCJoVgvmqJnid/gPoKHxUrS/aC/T6LGQtNHT+XHG9fXPJB4d+IrU30Ew==",
3021
+ "version": "14.0.2",
3022
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.2.tgz",
3023
+ "integrity": "sha512-xZe/16rV4aa+HGSOCiY2YeLT1OybRLrrkL/Rqaq7p7GMVXjFh+6wN4oMYgjFmnSnhY8t6Xpdl2l9qmnHYuMHwQ==",
3051
3024
  "funding": [
3052
3025
  "https://github.com/sponsors/broofa",
3053
3026
  "https://github.com/sponsors/ctavan"
@@ -3180,9 +3153,9 @@
3180
3153
  "license": "ISC"
3181
3154
  },
3182
3155
  "node_modules/ws": {
3183
- "version": "8.21.1",
3184
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.1.tgz",
3185
- "integrity": "sha512-+0NTnW77fFN/DjQi6k/Sq/Yvk4Sgajw7urW8V+asjXnRgDs9gyGkdb7EzgfhA4goXsRIZKE28fzIXBHEzhuiWw==",
3156
+ "version": "8.21.3",
3157
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.3.tgz",
3158
+ "integrity": "sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw==",
3186
3159
  "license": "MIT",
3187
3160
  "engines": {
3188
3161
  "node": ">=10.0.0"
@@ -3245,16 +3218,16 @@
3245
3218
  }
3246
3219
  },
3247
3220
  "node_modules/yargs": {
3248
- "version": "18.0.0",
3249
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz",
3250
- "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==",
3221
+ "version": "18.1.0",
3222
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.1.0.tgz",
3223
+ "integrity": "sha512-2rAgRKu54VsHkqI0/tYkmluGXHD4KW7yZoycuqDQ15QOTnc2VVfy0nN/1eMhnQLO00A+dwtK20xuCnc1YGeUyg==",
3251
3224
  "dev": true,
3252
3225
  "license": "MIT",
3253
3226
  "dependencies": {
3254
3227
  "cliui": "^9.0.1",
3255
3228
  "escalade": "^3.1.1",
3256
3229
  "get-caller-file": "^2.0.5",
3257
- "string-width": "^7.2.0",
3230
+ "string-width": "^8.2.1",
3258
3231
  "y18n": "^5.0.5",
3259
3232
  "yargs-parser": "^22.0.0"
3260
3233
  },
@@ -3272,26 +3245,18 @@
3272
3245
  "node": "^20.19.0 || ^22.12.0 || >=23"
3273
3246
  }
3274
3247
  },
3275
- "node_modules/yargs/node_modules/emoji-regex": {
3276
- "version": "10.6.0",
3277
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
3278
- "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
3279
- "dev": true,
3280
- "license": "MIT"
3281
- },
3282
3248
  "node_modules/yargs/node_modules/string-width": {
3283
- "version": "7.2.0",
3284
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
3285
- "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
3249
+ "version": "8.2.2",
3250
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.2.tgz",
3251
+ "integrity": "sha512-GaPUh5gfdrYzqeVNZvUfT23vYYxXzKYidUcnMtJg/3rxRV63EFZy3k6xfKlmfeJD0176lnUV/Usr3XcwSvFzpg==",
3286
3252
  "dev": true,
3287
3253
  "license": "MIT",
3288
3254
  "dependencies": {
3289
- "emoji-regex": "^10.3.0",
3290
- "get-east-asian-width": "^1.0.0",
3291
- "strip-ansi": "^7.1.0"
3255
+ "get-east-asian-width": "^1.5.0",
3256
+ "strip-ansi": "^7.1.2"
3292
3257
  },
3293
3258
  "engines": {
3294
- "node": ">=18"
3259
+ "node": ">=20"
3295
3260
  },
3296
3261
  "funding": {
3297
3262
  "url": "https://github.com/sponsors/sindresorhus"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appium-uiautomator2-driver",
3
- "version": "8.5.0",
3
+ "version": "8.5.2",
4
4
  "description": "UiAutomator2 integration for Appium",
5
5
  "keywords": [
6
6
  "android",
@@ -61,20 +61,20 @@
61
61
  },
62
62
  "dependencies": {
63
63
  "@appium/css-locator-to-native": "^1.0.1",
64
- "appium-adb": "^16.0.0",
65
- "appium-android-driver": "^14.0.2",
64
+ "appium-adb": "^16.0.4",
65
+ "appium-android-driver": "^14.0.7",
66
66
  "appium-uiautomator2-server": "^10.6.0",
67
- "asyncbox": "^6.0.1",
68
- "axios": "^1.16.0",
67
+ "asyncbox": "^6.4.3",
68
+ "axios": "^1.18.0",
69
69
  "io.appium.settings": "^8.0.1",
70
70
  "portscanner": "^2.2.0",
71
- "teen_process": "^4.0.4"
71
+ "teen_process": "^4.2.0"
72
72
  },
73
73
  "devDependencies": {
74
- "@appium/docutils": "^2.0.0-rc.1",
74
+ "@appium/docutils": "^3.0.0",
75
75
  "@appium/oxc-config": "^1.1.0",
76
76
  "@appium/semantic-release-config": "^1.1.0",
77
- "@appium/support": "^7.0.0-rc.1",
77
+ "@appium/support": "^7.2.6",
78
78
  "@appium/tsconfig": "^1.2.0",
79
79
  "@appium/types": "^1.5.0",
80
80
  "@types/node": "^26.0.0",