appium-chromedriver 5.3.4 → 5.4.1

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,17 @@
1
+ ## [5.4.1](https://github.com/appium/appium-chromedriver/compare/v5.4.0...v5.4.1) (2023-05-04)
2
+
3
+
4
+ ### Miscellaneous Chores
5
+
6
+ * ChromeDriver Bump to v113.0.5672.63 ([#301](https://github.com/appium/appium-chromedriver/issues/301)) ([7e6cbc1](https://github.com/appium/appium-chromedriver/commit/7e6cbc1bc4bd718b2ff190887dbf3b04f57d29d1))
7
+
8
+ ## [5.4.0](https://github.com/appium/appium-chromedriver/compare/v5.3.4...v5.4.0) (2023-04-13)
9
+
10
+
11
+ ### Features
12
+
13
+ * parse msedge as well as chromedriver ([#297](https://github.com/appium/appium-chromedriver/issues/297)) ([a71240b](https://github.com/appium/appium-chromedriver/commit/a71240b60c79abad61217354e392dbed4d5dfec2))
14
+
1
15
  ## [5.3.4](https://github.com/appium/appium-chromedriver/compare/v5.3.3...v5.3.4) (2023-04-10)
2
16
 
3
17
 
package/README.md CHANGED
@@ -3,7 +3,9 @@ appium-chromedriver
3
3
 
4
4
  [![Release](https://github.com/appium/appium-chromedriver/actions/workflows/publish.js.yml/badge.svg)](https://github.com/appium/appium-chromedriver/actions/workflows/publish.js.yml)
5
5
 
6
- Node.js wrapper around [Chromedriver](https://sites.google.com/a/chromium.org/chromedriver/).
6
+ Node.js wrapper around [Chromedriver](https://sites.google.com/chromium.org/driver/)
7
+ and [Microsoft Edge WebDriver](https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/).
8
+ The Microsoft Edge WebDriver support is since v5.4.0.
7
9
  This wrapper is not used directly in Appium, but rather by various Android drivers to automate
8
10
  Chrome/Chromium-based browsers
9
11
  and web views using Hybrid Mode approach. Check the corresponding driver tutorials to get
@@ -11,9 +13,17 @@ more details on it.
11
13
 
12
14
  > **Note**
13
15
  >
14
- > The normal use of this package is via an Appium driver such as [UiAutomator2](https://github.com/appium/appium-uiautomator2-driver/) and not directly.
16
+ > This package is intended to be used as a helper module for Appium drivers such as
17
+ > [UiAutomator2](https://github.com/appium/appium-uiautomator2-driver/) and
18
+ > [appium-chromium-driver](https://github.com/appium/appium-chromium-driver).
19
+ > It was not created for standalone usage.
15
20
  > Please ensure you know what you are doing before using this package directly.
16
21
 
22
+ > **Note**
23
+ >
24
+ > This package can work with Microsoft Edge WebDriver as well, but the support is limited.
25
+ > For example, automatic downloads do not work for Microsoft Edge WebDriver.
26
+
17
27
  ## Skipping binary installation
18
28
 
19
29
  By default, upon installation the package downloads the most recent known Chromedriver version from
@@ -33,6 +33,7 @@ export class Chromedriver extends events {
33
33
  /** @type {any} */
34
34
  capabilities: any;
35
35
  desiredProtocol: string;
36
+ driverVersion: string | null;
36
37
  get log(): import("@appium/types").AppiumLogger;
37
38
  getDriversMapping(): Promise<any>;
38
39
  /**
@@ -52,10 +53,16 @@ export class Chromedriver extends events {
52
53
  getCompatibleChromedriver(): Promise<string>;
53
54
  initChromedriverPath(): Promise<string>;
54
55
  /**
56
+ * Sync the WebDriver protocol if current on going protocol is W3C or MJSONWP.
57
+ * Does nothing if this.driverVersion was null.
58
+ */
59
+ syncProtocol(): void;
60
+ /**
61
+ * Sync the protocol by reading the given output
55
62
  *
56
- * @param {string} [cdVersion]
63
+ * @param {string} out The output of WebDriver process start
57
64
  */
58
- syncProtocol(cdVersion?: string | undefined): void;
65
+ detectWebDriverProtocol(out: string): void;
59
66
  /**
60
67
  *
61
68
  * @param {object} caps
@@ -1 +1 @@
1
- {"version":3,"file":"chromedriver.d.ts","sourceRoot":"","sources":["../../lib/chromedriver.js"],"names":[],"mappings":";;yCAi0Ba,OAAO,SAAS,EAAE,0BAA0B;AAhyBzD;IACE;;;OAGG;IACH,mBAFW,OAAO,SAAS,EAAE,gBAAgB,EAkD5C;IA7BC,2CAAqD;IAErD,kBAAqB;IACrB,2BAAqB;IACrB,2CAAc;IACd,8BAAsB;IACtB,wBAAgB;IAChB,6BAA8C;IAC9C,iCAA8B;IAC9B,sBAAkC;IAClC,gCAA8B;IAC9B,6BAAwB;IACxB,4BAA+B;IAC/B,cAAuC;IACvC,iBAIE;IACF,6BAAsB;IACtB,4BAAsB;IACtB,2BAA4C;IAC5C,gDAEQ;IACR;;;;kBAAsB;IACtB,kBAAkB;IAClB,cADW,GAAG,CACQ;IACtB,wBAAwC;IAG1C,gDAEC;IAED,kCA8BC;IAED;;OAEG;IACH,0BAFW,0BAA0B,kBAiGpC;IAED,kDAmEC;IAED;;;;OAIG;IACH,iCAHW,0BAA0B,GACxB,QAAQ,IAAI,CAAC,CAuBzB;IAED;;OAEG;IACH,6BAFa,QAAQ,MAAM,CAAC,CAqJ3B;IAED,wCAwBC;IAED;;;OAGG;IACH,mDAsBC;IAED;;;;OAIG;IACH,YAHW,MAAM,sBACN,OAAO,iBAkIjB;IAED,2BAEC;IAED,yBAQC;IAED,+BAcC;IAED,0BAEC;IAED,8BAcC;IAED,0CAuBC;IAED;;;OAGG;IACH,mBAFW,MAAM,QAMhB;IAED;;;;;;OAMG;IACH,iBALW,MAAM,UACN,MAAM,GAAC,KAAK,GAAC,QAAQ,QACrB,GAAG,gBAKb;IAED;;;;;OAKG;IACH,cAJW,GAAG,OACH,GAAG,iBAKb;IAED,yBAuCC;IAED,sCASC;CACF;;;;;;;;;;mBAnzBkB,QAAQ;2BAKI,cAAc;wBAJZ,qBAAqB;sCAkBhB,kBAAkB;mBAJrC,QAAQ"}
1
+ {"version":3,"file":"chromedriver.d.ts","sourceRoot":"","sources":["../../lib/chromedriver.js"],"names":[],"mappings":";;yCAs2Ba,OAAO,SAAS,EAAE,0BAA0B;AAp0BzD;IACE;;;OAGG;IACH,mBAFW,OAAO,SAAS,EAAE,gBAAgB,EAqD5C;IAhCC,2CAAqD;IAErD,kBAAqB;IACrB,2BAAqB;IACrB,2CAAc;IACd,8BAAsB;IACtB,wBAAgB;IAChB,6BAA8C;IAC9C,iCAA8B;IAC9B,sBAAkC;IAClC,gCAA8B;IAC9B,6BAAwB;IACxB,4BAA+B;IAC/B,cAAuC;IACvC,iBAIE;IACF,6BAAsB;IACtB,4BAAsB;IACtB,2BAA4C;IAC5C,gDAEQ;IACR;;;;kBAAsB;IACtB,kBAAkB;IAClB,cADW,GAAG,CACQ;IACtB,wBAAwC;IAGxC,6BAAoD;IAGtD,gDAEC;IAED,kCA8BC;IAED;;OAEG;IACH,0BAFW,0BAA0B,kBAiGpC;IAED,kDAmEC;IAED;;;;OAIG;IACH,iCAHW,0BAA0B,GACxB,QAAQ,IAAI,CAAC,CAuBzB;IAED;;OAEG;IACH,6BAFa,QAAQ,MAAM,CAAC,CAqJ3B;IAED,wCAwBC;IAED;;;OAGG;IACH,qBA6BC;IAED;;;;OAIG;IACH,6BAFW,MAAM,QA2BhB;IAED;;;;OAIG;IACH,YAHW,MAAM,sBACN,OAAO,iBA4HjB;IAED,2BAEC;IAED,yBAQC;IAED,+BAcC;IAED,0BAEC;IAED,8BAcC;IAED,0CAuBC;IAED;;;OAGG;IACH,mBAFW,MAAM,QAMhB;IAED;;;;;;OAMG;IACH,iBALW,MAAM,UACN,MAAM,GAAC,KAAK,GAAC,QAAQ,QACrB,GAAG,gBAKb;IAED;;;;;OAKG;IACH,cAJW,GAAG,OACH,GAAG,iBAKb;IAED,yBAuCC;IAED,sCASC;CACF;;;;;;;;;;mBAx1BkB,QAAQ;2BAKI,cAAc;wBAJZ,qBAAqB;sCAkBhB,kBAAkB;mBAJrC,QAAQ"}
@@ -26,6 +26,7 @@ const CHROME_BUNDLE_ID = 'com.android.chrome';
26
26
  const WEBVIEW_SHELL_BUNDLE_ID = 'org.chromium.webview_shell';
27
27
  const WEBVIEW_BUNDLE_IDS = ['com.google.android.webview', 'com.android.webview'];
28
28
  const VERSION_PATTERN = /([\d.]+)/;
29
+ const WEBDRIVER_VERSION_PATTERN = /Starting (ChromeDriver|Microsoft Edge WebDriver) ([.\d]+)/;
29
30
  const CD_VERSION_TIMEOUT = 5000;
30
31
  class Chromedriver extends events_1.default.EventEmitter {
31
32
  /**
@@ -63,6 +64,8 @@ class Chromedriver extends events_1.default.EventEmitter {
63
64
  /** @type {any} */
64
65
  this.capabilities = {};
65
66
  this.desiredProtocol = base_driver_1.PROTOCOLS.MJSONWP;
67
+ // Store the running driver version
68
+ this.driverVersion = /** @type {string|null} */ null;
66
69
  }
67
70
  get log() {
68
71
  return this._log;
@@ -407,19 +410,24 @@ class Chromedriver extends events_1.default.EventEmitter {
407
410
  return /** @type {string} */ (this.chromedriver);
408
411
  }
409
412
  /**
410
- *
411
- * @param {string} [cdVersion]
413
+ * Sync the WebDriver protocol if current on going protocol is W3C or MJSONWP.
414
+ * Does nothing if this.driverVersion was null.
412
415
  */
413
- syncProtocol(cdVersion) {
414
- const coercedVersion = semver_1.default.coerce(cdVersion);
416
+ syncProtocol() {
417
+ if (this.driverVersion === null) {
418
+ // Keep the default protocol if the driverVersion was unsure.
419
+ return;
420
+ }
421
+ const coercedVersion = semver_1.default.coerce(this.driverVersion);
415
422
  if (!coercedVersion || coercedVersion.major < MIN_CD_VERSION_WITH_W3C_SUPPORT) {
416
- this.log.debug(`Chromedriver v. ${cdVersion} does not fully support ${base_driver_1.PROTOCOLS.W3C} protocol. ` +
423
+ this.log.debug(`The WebDriver v. ${this.driverVersion} does not fully support ${base_driver_1.PROTOCOLS.W3C} protocol. ` +
417
424
  `Defaulting to ${base_driver_1.PROTOCOLS.MJSONWP}`);
418
425
  return;
419
426
  }
427
+ // Check only chromeOptions for now.
420
428
  const chromeOptions = (0, protocol_helpers_1.getCapValue)(this.capabilities, 'chromeOptions', {});
421
429
  if (chromeOptions.w3c === false) {
422
- this.log.info(`Chromedriver v. ${cdVersion} supports ${base_driver_1.PROTOCOLS.W3C} protocol, ` +
430
+ this.log.info(`The WebDriver v. ${this.driverVersion} supports ${base_driver_1.PROTOCOLS.W3C} protocol, ` +
423
431
  `but ${base_driver_1.PROTOCOLS.MJSONWP} one has been explicitly requested`);
424
432
  return;
425
433
  }
@@ -429,6 +437,37 @@ class Chromedriver extends events_1.default.EventEmitter {
429
437
  // the new W3C session
430
438
  this.capabilities = (0, protocol_helpers_1.toW3cCapNames)(this.capabilities);
431
439
  }
440
+ /**
441
+ * Sync the protocol by reading the given output
442
+ *
443
+ * @param {string} out The output of WebDriver process start
444
+ */
445
+ detectWebDriverProtocol(out) {
446
+ if (this.driverVersion) {
447
+ // Nothing is done if the protocol was already detected
448
+ return;
449
+ }
450
+ // also print chromedriver version to logs
451
+ // will output something like
452
+ // Starting ChromeDriver 2.33.506106 (8a06c39c4582fbfbab6966dbb1c38a9173bfb1a2) on port 9515
453
+ // Or MSEdge:
454
+ // Starting Microsoft Edge WebDriver 111.0.1661.41 (57be51b50d1be232a9e8186a10017d9e06b1fd16) on port 9515
455
+ const match = WEBDRIVER_VERSION_PATTERN.exec(out);
456
+ if (match && match.length === 3) {
457
+ this.log.debug(`${match[1]} version: '${match[2]}'`);
458
+ this.driverVersion = match[2];
459
+ try {
460
+ this.syncProtocol();
461
+ }
462
+ catch (e) {
463
+ this.driverVersion = null;
464
+ this.log.error(`Failed to sync the protocol as '${e}'. Stopping the driver process.`);
465
+ this.stop();
466
+ }
467
+ // Does not print else condition log since the log could be
468
+ // very noisy when this.verbose option is true.
469
+ }
470
+ }
432
471
  /**
433
472
  *
434
473
  * @param {object} caps
@@ -486,14 +525,7 @@ class Chromedriver extends events_1.default.EventEmitter {
486
525
  webviewVersion = match[1];
487
526
  this.log.debug(`Webview version: '${webviewVersion}'`);
488
527
  }
489
- // also print chromedriver version to logs
490
- // will output something like
491
- // Starting ChromeDriver 2.33.506106 (8a06c39c4582fbfbab6966dbb1c38a9173bfb1a2) on port 9515
492
- match = /Starting ChromeDriver ([.\d]+)/.exec(out);
493
- if (match) {
494
- this.log.debug(`Chromedriver version: '${match[1]}'`);
495
- this.syncProtocol(match[1]);
496
- }
528
+ this.detectWebDriverProtocol(out);
497
529
  // give the output if it is requested
498
530
  if (this.verbose) {
499
531
  for (let line of (stdout || '').trim().split('\n')) {
@@ -510,6 +542,7 @@ class Chromedriver extends events_1.default.EventEmitter {
510
542
  });
511
543
  // handle out-of-bound exit by simply emitting a stopped state
512
544
  this.proc.on('exit', (code, signal) => {
545
+ this.driverVersion = null;
513
546
  processIsAlive = false;
514
547
  if (this.state !== Chromedriver.STATE_STOPPED &&
515
548
  this.state !== Chromedriver.STATE_STOPPING &&
@@ -1 +1 @@
1
- {"version":3,"file":"chromedriver.js","sourceRoot":"","sources":["../../lib/chromedriver.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chromedriver.js","sourceRoot":"","sources":["../../lib/chromedriver.js"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,qDAAuD;AACvD,kEAA+B;AAC/B,6CAAyD;AACzD,uCAAiD;AACjD,+CAA8C;AAC9C,wDAAyB;AACzB,mCAOiB;AACjB,oDAA4B;AAC5B,oDAAuB;AACvB,gDAAwB;AACxB,uDAAiD;AACjD,sEAAyD;AACzD,yDAA8D;AAE9D,MAAM,mCAAmC,GAAG,EAAE,CAAC;AAC/C,MAAM,YAAY,GAAG,WAAW,CAAC;AACjC,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAC3C,MAAM,YAAY,GAAG,IAAI,CAAC;AAC1B,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAC9C,MAAM,uBAAuB,GAAG,4BAA4B,CAAC;AAC7D,MAAM,kBAAkB,GAAG,CAAC,4BAA4B,EAAE,qBAAqB,CAAC,CAAC;AACjF,MAAM,eAAe,GAAG,UAAU,CAAC;AACnC,MAAM,yBAAyB,GAAG,2DAA2D,CAAC;AAE9F,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEhC,MAAM,YAAa,SAAQ,gBAAM,CAAC,YAAY;IAC5C;;;OAGG;IACH,YAAY,IAAI,GAAG,EAAE;QACnB,KAAK,EAAE,CAAC;QAER,MAAM,EACJ,IAAI,GAAG,YAAY,EACnB,IAAI,GAAG,YAAY,EACnB,mBAAmB,GAAG,KAAK,EAC3B,UAAU,EACV,aAAa,GAAG,IAAA,0BAAkB,GAAE,EACpC,QAAQ,EACR,WAAW,EACX,OAAO,EACP,GAAG,EACH,OAAO,EACP,OAAO,EACP,iBAAiB,EACjB,OAAO,EACP,qBAAqB,GAAG,KAAK,GAC9B,GAAG,IAAI,CAAC;QACT,IAAI,CAAC,IAAI,GAAG,gBAAM,CAAC,SAAS,CAAC,IAAA,yBAAiB,EAAC,IAAI,CAAC,CAAC,CAAC;QAEtD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,IAAI,qBAAO,CAAC;YACzB,MAAM,EAAE,IAAI,CAAC,SAAS;YACtB,IAAI,EAAE,IAAI,CAAC,SAAS;YACpB,GAAG,EAAE,IAAI,CAAC,IAAI;SACf,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC;QAC7C,IAAI,CAAC,aAAa,GAAG,qBAAqB;YACxC,CAAC,CAAC,IAAI,wBAAyB,CAAC,EAAC,eAAe,EAAE,IAAI,CAAC,aAAa,EAAC,CAAC;YACtE,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,kBAAkB;QAClB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,uBAAS,CAAC,OAAO,CAAC;QAEzC,mCAAmC;QACnC,IAAI,CAAC,aAAa,GAAG,0BAA0B,CAAC,IAAI,CAAC;IACvD,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,IAAI,OAAO,GAAG,gBAAC,CAAC,SAAS,CAAC,mCAA2B,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wDAAwD,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YAC5F,IAAI,CAAC,CAAC,MAAM,YAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE;gBACxC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;gBACxD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;aACxE;iBAAM;gBACL,IAAI;oBACF,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,YAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;iBACnE;gBAAC,OAAO,CAAC,EAAE;oBACV,MAAM,GAAG,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,IAAI,CAAC,WAAW,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;oBAClF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;iBACxE;aACF;SACF;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;SACjE;QAED,4EAA4E;QAC5E,KAAK,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,gBAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3D,MAAM,cAAc,GAAG,gBAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACpD,IAAI,cAAc,EAAE;gBAClB,OAAO,CAAC,SAAS,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC;aAC7C;iBAAM;gBACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,aAAa,8CAA8C,CAAC,CAAC;aAChF;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAO;QAC5B,oCAAoC;QACpC,MAAM,WAAW,GAAG,MAAM,YAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YACrC,GAAG,EAAE,IAAI,CAAC,aAAa;YACvB,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,SAAS,cAAI,CAAC,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG;YAChE,OAAO,IAAI,CAAC,aAAa,GAAG,CAC/B,CAAC;QACF,MAAM,GAAG,GAAG,CACV,MAAM,IAAA,mBAAQ,EAAC,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;YAC/C;;eAEG;YACH,MAAM,QAAQ,GAAG,CAAC,EAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAC,EAAE,EAAE;gBAC7C,IAAI,MAAM,GACR,wCAAwC,cAAI,CAAC,QAAQ,CACnD,UAAU,CACX,yBAAyB;oBAC1B,iGAAiG,OAAO,EAAE,CAAC;gBAC7G,IAAI,MAAM,EAAE;oBACV,MAAM,IAAI,aAAa,MAAM,EAAE,CAAC;iBACjC;gBACD,IAAI,MAAM,EAAE;oBACV,MAAM,IAAI,aAAa,MAAM,EAAE,CAAC;iBACjC;gBACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;YAEF,IAAI,MAAM,CAAC;YACX,IAAI,MAAM,CAAC;YACX,IAAI;gBACF,CAAC,EAAC,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM,IAAA,mBAAI,EAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE;oBACxD,OAAO,EAAE,kBAAkB;iBAC5B,CAAC,CAAC,CAAC;aACL;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,GAAG,GAAG,+CAA+C,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChE,IACE,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;oBAC1C,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EACrD;oBACA,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;iBACtB;gBAED,+DAA+D;gBAC/D,oEAAoE;gBACpE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;aACrB;YAED,MAAM,KAAK,GAAG,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,kCAAkC;YACjG,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO,QAAQ,CAAC,EAAC,OAAO,EAAE,iCAAiC,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;aAC/E;YACD,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,cAAc,GAAG,gBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,cAAc,EAAE;gBAClB,0DAA0D;gBAC1D,IAAI,cAAc,CAAC,KAAK,GAAG,mCAAmC,EAAE;oBAC9D,OAAO,GAAG,mCAAmC,CAAC,CAC5C,GAAG,cAAc,CAAC,KAAK,IAAI,cAAc,CAAC,KAAK,EAAE,CAClD,CAAC;oBACF,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;iBACrC;gBACD,IAAI,CAAC,gBAAgB,IAAI,cAAc,CAAC,KAAK,IAAI,mCAAmC,EAAE;oBACpF,wFAAwF;oBACxF,gBAAgB,GAAG,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC;iBAC9C;aACF;YACD,OAAO;gBACL,UAAU;gBACV,OAAO;gBACP,gBAAgB;aACjB,CAAC;QACJ,CAAC,CAAC,CACH;aACE,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAA,kCAAe,EAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACzD,IAAI,gBAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAClB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAmC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YACxE,OAAO,GAAG,CAAC;SACZ;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACrE,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE;YACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,QAAQ,EAAE,CAAC,UAAU,eAAe,EAAE,CAAC,OAAO,8BAC5C,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAC9C,IAAI,CACL,CAAC;SACH;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,mEAAmE;QACnE,uEAAuE;QACvE,yDAAyD;QACzD,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE;YACtB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4CAA4C,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;SAC3F;QACD,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QAC7E,IAAI,YAAY,EAAE;YAChB,MAAM,cAAc,GAAG,gBAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,IAAI,cAAc,EAAE;gBAClB,OAAO,cAAc,CAAC;aACvB;SACF;QAED,IAAI,aAAa,CAAC;QAElB,+EAA+E;QAC/E,IAAI,IAAI,CAAC,QAAQ,KAAK,uBAAuB,EAAE;YAC7C,IAAI,IAAI,CAAC,GAAG,EAAE;gBACZ,KAAK,MAAM,QAAQ,IAAI,kBAAkB,EAAE;oBACzC,aAAa,GAAG,MAAM,IAAA,wBAAgB,EAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;oBAC3D,IAAI,aAAa,EAAE;wBACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;wBACzB,OAAO,gBAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;qBACrC;iBACF;aACF;YACD,OAAO,IAAI,CAAC;SACb;QAED,gFAAgF;QAChF,IAAI,IAAI,CAAC,GAAG,EAAE;YACZ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YAC9C,IACE,QAAQ,IAAI,EAAE;gBACd,QAAQ,IAAI,EAAE;gBACd,CAAC,uBAAuB,EAAE,GAAG,kBAAkB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,EAC9E;gBACA,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;aAClC;SACF;QAED,gDAAgD;QAChD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,uCAAuC;YACvC,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;YAEjC,oEAAoE;YACpE,KAAK,MAAM,QAAQ,IAAI,kBAAkB,EAAE;gBACzC,IAAI,IAAI,CAAC,GAAG,EAAE;oBACZ,aAAa,GAAG,MAAM,IAAA,wBAAgB,EAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;oBAC3D,IAAI,aAAa,EAAE;wBACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;wBACzB,MAAM;qBACP;iBACF;aACF;SACF;QAED,+DAA+D;QAC/D,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,GAAG,EAAE;YAC9B,aAAa,GAAG,MAAM,IAAA,wBAAgB,EAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SACjE;QAED,qDAAqD;QACrD,OAAO,aAAa,CAAC,CAAC,CAAC,gBAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CAAC,UAAU;QACnC,IAAI,yBAAyB,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YAC1C,OAAO;SACR;QACD,IAAI,MAAM,YAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACrC,IAAI;gBACF,MAAM,YAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBAClF,yBAAyB,GAAG,KAAK,CAAC;aACnC;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,GAAG,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,wDAAwD,IAAI,CAAC,WAAW,KAAK;oBAC3E,0EAA0E,GAAG,CAAC,OAAO,EAAE,CAC1F,CAAC;aACH;SACF;QACD,IAAI,yBAAyB,EAAE;YAC7B,MAAM,CAAC,MAAM,CAAC,mCAA2B,EAAE,UAAU,CAAC,CAAC;SACxD;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,yBAAyB;QAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACb,OAAO,MAAM,IAAA,iCAAyB,GAAE,CAAC;SAC1C;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/C,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACvB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yCAAyC,gBAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACjF;QAED,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B;;;WAGG;QACH,MAAM,iBAAiB,GAAG,KAAK,EAAE,aAAa,EAAE,EAAE;YAChD,cAAc,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACvB,OAAO,KAAK,CAAC;aACd;YACD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;YACpE,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,8CAA8C,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAC3F,CAAC;YACF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;gBACtD,iBAAiB,EAAE,aAAa,CAAC,KAAK;aACvC,CAAC,CAAC;YACH,IAAI,gBAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBACzB,OAAO,KAAK,CAAC;aACd;YACD,MAAM,0BAA0B,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC9D,MAAM,EAAC,OAAO,EAAE,iBAAiB,EAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBACzD,GAAG,CAAC,OAAO,CAAC,GAAG,iBAAiB,CAAC;gBACjC,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,yCAAyC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;YACnD,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,GAAG;YACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAEjD,yCAAyC;YACzC,MAAM,eAAe,GAAG,EAAE,CAAC;YAC3B,KAAK,MAAM,EAAC,OAAO,EAAE,gBAAgB,EAAC,IAAI,GAAG,EAAE;gBAC7C,IAAI,CAAC,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;oBACzC,SAAS;iBACV;gBACD,MAAM,UAAU,GAAG,gBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC1C,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,KAAK,GAAG,mCAAmC,EAAE;oBACzE,SAAS;iBACV;gBAED,eAAe,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAAC;aAC7C;YACD,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;gBAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,cAAI,CAAC,SAAS,CAAC,cAAc,EAAE,gBAAC,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,IAAI;oBACxE,SACE,gBAAC,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KACzC,0CAA0C;oBAC1C,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAClC,CAAC;gBACF,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;aAC1E;YAED,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,IAAI,gBAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBAClB,IAAI,CAAC,GAAG,CAAC,aAAa,CACpB,0EAA0E;wBACxE,6DAA6D,CAChE,CAAC;iBACH;gBACD,MAAM,EAAC,OAAO,EAAE,UAAU,EAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,wEAAwE,OAAO,SAAS,UAAU,IAAI,CACvG,CAAC;gBACF,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,6EAA6E,CAC9E,CAAC;gBACF,OAAO,UAAU,CAAC;aACnB;YAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpD,IAAI,CAAC,aAAa,EAAE;gBAClB,mCAAmC;gBACnC,IAAI,gBAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBAClB,IAAI,CAAC,GAAG,CAAC,aAAa,CACpB,0EAA0E;wBACxE,iDAAiD,CACpD,CAAC;iBACH;gBACD,MAAM,EAAC,OAAO,EAAE,UAAU,EAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,yDAAyD,OAAO,QAAQ,UAAU,GAAG,CACtF,CAAC;gBACF,OAAO,UAAU,CAAC;aACnB;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,IAAI,CAAC,QAAQ,cAAc,aAAa,GAAG,CAAC,CAAC;YAEpF,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAC,gBAAgB,EAAC,EAAE,EAAE;gBACxD,MAAM,iBAAiB,GAAG,gBAAgB,IAAI,gBAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAC9E,IAAI,CAAC,iBAAiB,EAAE;oBACtB,OAAO,KAAK,CAAC;iBACd;gBAED,OAAO,aAAa,CAAC,KAAK,GAAG,mCAAmC;oBAC9D,CAAC,CAAC,iBAAiB,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK;oBACjD,CAAC,CAAC,gBAAM,CAAC,GAAG,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;YACH,IAAI,gBAAC,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;gBAC9B,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,cAAc,EAAE;oBACzC,IAAI;wBACF,IAAI,MAAM,iBAAiB,CAAC,aAAa,CAAC,EAAE;4BAC1C,SAAS;yBACV;qBACF;oBAAC,OAAO,CAAC,EAAE;wBACV,MAAM,GAAG,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;wBACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,qEAAqE,cAAM,IAAI;4BAC7E,GAAG,CAAC,OAAO,CACd,CAAC;wBACF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;qBAC3B;iBACF;gBACD,MAAM,sBAAsB,GAC1B,mEAAmE;oBACnE,wBAAwB,CAAC;gBAC3B,MAAM,IAAI,KAAK,CACb,mDAAmD,aAAa,IAAI;oBAClE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAC3D,CAAC;aACH;YAED,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAC9C,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,SAAS,cAAI,CAAC,SAAS,CAAC,YAAY,EAAE,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG;gBACpE,iCAAiC,aAAa,kCAAkC,OAAO,IAAI,CAC9F,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,iFAAiF;gBAC/E,qBAAqB,CACxB,CAAC;YACF,OAAO,OAAO,CAAC;YACf,iDAAiD;SAClD,QAAQ,IAAI,EAAE;IACjB,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,YAAY,EAAE;YAChD,OAAO,qBAAqB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAClD;QAED,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACrC,6CAA6C;QAC7C,mEAAmE;QACnE,wCAAwC;QACxC,IAAI,CAAC,YAAY,EAAE;YACjB,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB;gBACzD,CAAC,CAAC,MAAM,IAAA,iCAAyB,GAAE;gBACnC,CAAC,CAAC,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;SAC5C;QAED,IAAI,CAAC,CAAC,MAAM,YAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE;YACpC,MAAM,IAAI,KAAK,CACb,kDAAkD;gBAChD,GAAG,IAAI,CAAC,YAAY,yBAAyB,CAChD,CAAC;SACH;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAClE,OAAO,qBAAqB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,YAAY;QACV,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAC/B,6DAA6D;YAC7D,OAAO;SACR;QAED,MAAM,cAAc,GAAG,gBAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,KAAK,GAAG,+BAA+B,EAAE;YAC7E,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,oBAAoB,IAAI,CAAC,aAAa,2BAA2B,uBAAS,CAAC,GAAG,aAAa;gBACzF,iBAAiB,uBAAS,CAAC,OAAO,EAAE,CACvC,CAAC;YACF,OAAO;SACR;QAED,oCAAoC;QACpC,MAAM,aAAa,GAAG,IAAA,8BAAW,EAAC,IAAI,CAAC,YAAY,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;QAC1E,IAAI,aAAa,CAAC,GAAG,KAAK,KAAK,EAAE;YAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,oBAAoB,IAAI,CAAC,aAAa,aAAa,uBAAS,CAAC,GAAG,aAAa;gBAC3E,OAAO,uBAAS,CAAC,OAAO,oCAAoC,CAC/D,CAAC;YACF,OAAO;SACR;QACD,IAAI,CAAC,eAAe,GAAG,uBAAS,CAAC,GAAG,CAAC;QACrC,4CAA4C;QAC5C,kDAAkD;QAClD,sBAAsB;QACtB,IAAI,CAAC,YAAY,GAAG,IAAA,gCAAa,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACH,uBAAuB,CAAC,GAAG;QACzB,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,uDAAuD;YACvD,OAAO;SACR;QAED,0CAA0C;QAC1C,6BAA6B;QAC7B,6FAA6F;QAC7F,aAAa;QACb,2GAA2G;QAC3G,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACrD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI;gBACF,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAmC,CAAC,iCAAiC,CAAC,CAAC;gBACtF,IAAI,CAAC,IAAI,EAAE,CAAC;aACb;YACD,2DAA2D;YAC3D,+CAA+C;SAChD;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI;QACxC,IAAI,CAAC,YAAY,GAAG,gBAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,sDAAsD;QACtD,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,gBAAC,CAAC,SAAS,CAAC,IAAA,8BAAW,EAAC,IAAI,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC;QACpF,IAAI,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;YACrD,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;SAChD;QAED,IAAI,iBAAiB,EAAE;YACrB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;SAC/C;QAED,MAAM,IAAI,GAAG,CAAC,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YAChC,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;SAC7C;QACD,IAAI,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;SAC5B;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;SACzC;QACD,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvB,qEAAqE;QACrE,+CAA+C;QAC/C,MAAM,aAAa,GAAG,6BAA6B,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAE/F,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,cAAc,CAAC;QACnB,IAAI;YACF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC3D,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YAErB,+BAA+B;YAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,yBAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;YACnD,cAAc,GAAG,IAAI,CAAC;YAEtB,oBAAoB;YACpB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;gBACxC,qEAAqE;gBACrE,2BAA2B;gBAC3B,yBAAyB;gBACzB,iDAAiD;gBACjD,yCAAyC;gBACzC,kCAAkC;gBAClC,4BAA4B;gBAC5B,kCAAkC;gBAClC,MAAM;gBACN,MAAM,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;gBAC5B,IAAI,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1C,IAAI,KAAK,EAAE;oBACT,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qBAAqB,cAAc,GAAG,CAAC,CAAC;iBACxD;gBAED,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;gBAElC,qCAAqC;gBACrC,IAAI,IAAI,CAAC,OAAO,EAAE;oBAChB,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;wBAClD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM;4BAAE,SAAS,CAAC,4BAA4B;wBAC/D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;qBACpC;oBACD,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;wBAClD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM;4BAAE,SAAS,CAAC,4BAA4B;wBAC/D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;qBACpC;iBACF;YACH,CAAC,CAAC,CAAC;YAEH,8DAA8D;YAC9D,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;gBACpC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,cAAc,GAAG,KAAK,CAAC;gBACvB,IACE,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,aAAa;oBACzC,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,cAAc;oBAC1C,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,gBAAgB,EAC5C;oBACA,MAAM,GAAG,GAAG,8CAA8C,IAAI,YAAY,MAAM,EAAE,CAAC;oBACnF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;iBAC9C;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpF,2CAA2C;YAC3C,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACrC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;SAC3B;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,GAAG,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YACzC,qEAAqE;YACrE,4CAA4C;YAC5C,IAAI,cAAc,EAAE;gBAClB,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;aACzB;YAED,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,kFAAkF;YAClF,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE;gBAClD,OAAO;oBACL,kGAAkG,CAAC;gBACrG,IAAI,cAAc,EAAE;oBAClB,OAAO,IAAI,iCAAiC,cAAc,IAAI,CAAC;iBAChE;gBACD,MAAM,yBAAyB,GAC7B,6BAA6B,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7D,IAAI,yBAAyB,EAAE;oBAC7B,OAAO,IAAI,4CAA4C,yBAAyB,IAAI,CAAC;iBACtF;gBACD,OAAO,IAAI,kDAAkD,CAAC;aAC/D;YAED,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;SACjC;IACH,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,YAAY,EAAE;YAC5C,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QACD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,8CAA8C;QAC9C,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAChC,MAAM,IAAA,wBAAa,EAAC,EAAE,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE;YACtC,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,aAAa,EAAE;gBAC7C,6DAA6D;gBAC7D,mBAAmB,GAAG,IAAI,CAAC;gBAC3B,OAAO;aACR;YACD,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,IAAI,mBAAmB,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;SACzD;IACH,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,WAAW,GACf,IAAI,CAAC,eAAe,KAAK,uBAAS,CAAC,GAAG;YACpC,CAAC,CAAC,EAAC,YAAY,EAAE,EAAC,WAAW,EAAE,IAAI,CAAC,YAAY,EAAC,EAAC;YAClD,CAAC,CAAC,EAAC,mBAAmB,EAAE,IAAI,CAAC,YAAY,EAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,YAAY,IAAI,CAAC,eAAe,2CAA2C;YACzE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CACvC,CAAC;QACF,8CAA8C;QAC9C,mBAAmB;QACnB,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,IAAA,yBAAiB,EAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI;QAC1B,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;SAC/C;QACD;;;WAGG;QACH,MAAM,WAAW,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC9B,IAAI;gBACF,OAAO,MAAM,CAAC,EAAE,CAAC;aAClB;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,GAAG,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aAC3B;QACH,CAAC,CAAC;QACF,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC5D,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,IAAA,yBAAiB,EAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;SAC9C;IACH,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,KAAK;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qBAAqB,KAAK,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAC,KAAK,EAAC,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI;QACjC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG;QACrB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,GAAG,GAAG,gBAAM,CAAC,SAAS,EAAE;YAC1B,CAAC,CAAC,kEAAkE,IAAI,CAAC,SAAS,YAAY;YAC9F,CAAC,CAAC,iBAAiB,IAAI,CAAC,YAAY,YAAY,IAAI,CAAC,SAAS,GAAG,CAAC;QACpE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,2CAA2C,GAAG,EAAE,CAAC,CAAC;QACjE,IAAI;YACF,MAAM,kBAAC,CAAC,SAAS,CAAC,uBAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAC7D;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;SACrD;QAED,IAAI,IAAI,CAAC,GAAG,EAAE;YACZ,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YACrF,MAAM,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAEpF,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iEAAiE,IAAI,EAAE,CAAC,CAAC;aACzF;iBAAM;gBACL,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;aAC1E;YAED,IAAI;gBACF,KAAK,IAAI,IAAI,IAAI,MAAM,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE;oBAChD,kHAAkH;oBAClH,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;wBAC1E,SAAS;qBACV;oBAED,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC/B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;wBACrB,MAAM,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;qBAClE;iBACF;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,GAAG,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,4CAA4C,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC;aACxF;SACF;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,uEAAuE;QACvE,kEAAkE;QAClE,IAAI;YACF,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,KAAK,CAAC;SACd;IACH,CAAC;CACF;AAUO,oCAAY;AARpB,YAAY,CAAC,WAAW,GAAG,oBAAoB,CAAC;AAChD,YAAY,CAAC,aAAa,GAAG,cAAc,CAAC;AAC5C,YAAY,CAAC,aAAa,GAAG,SAAS,CAAC;AACvC,YAAY,CAAC,cAAc,GAAG,UAAU,CAAC;AACzC,YAAY,CAAC,YAAY,GAAG,QAAQ,CAAC;AACrC,YAAY,CAAC,cAAc,GAAG,UAAU,CAAC;AACzC,YAAY,CAAC,gBAAgB,GAAG,YAAY,CAAC;AAG7C,kBAAe,YAAY,CAAC;AAE5B;;GAEG"}
@@ -1,4 +1,5 @@
1
1
  {
2
+ "113.0.5672.63": "113.0.5672.63",
2
3
  "112.0.5615.49": "112.0.5615.49",
3
4
  "111.0.5563.64": "111.0.5563.64",
4
5
  "110.0.5481.77": "110.0.5481.77",
@@ -28,6 +28,7 @@ const CHROME_BUNDLE_ID = 'com.android.chrome';
28
28
  const WEBVIEW_SHELL_BUNDLE_ID = 'org.chromium.webview_shell';
29
29
  const WEBVIEW_BUNDLE_IDS = ['com.google.android.webview', 'com.android.webview'];
30
30
  const VERSION_PATTERN = /([\d.]+)/;
31
+ const WEBDRIVER_VERSION_PATTERN = /Starting (ChromeDriver|Microsoft Edge WebDriver) ([.\d]+)/;
31
32
 
32
33
  const CD_VERSION_TIMEOUT = 5000;
33
34
 
@@ -84,6 +85,9 @@ class Chromedriver extends events.EventEmitter {
84
85
  /** @type {any} */
85
86
  this.capabilities = {};
86
87
  this.desiredProtocol = PROTOCOLS.MJSONWP;
88
+
89
+ // Store the running driver version
90
+ this.driverVersion = /** @type {string|null} */ null;
87
91
  }
88
92
 
89
93
  get log() {
@@ -498,22 +502,29 @@ class Chromedriver extends events.EventEmitter {
498
502
  }
499
503
 
500
504
  /**
501
- *
502
- * @param {string} [cdVersion]
505
+ * Sync the WebDriver protocol if current on going protocol is W3C or MJSONWP.
506
+ * Does nothing if this.driverVersion was null.
503
507
  */
504
- syncProtocol(cdVersion) {
505
- const coercedVersion = semver.coerce(cdVersion);
508
+ syncProtocol() {
509
+ if (this.driverVersion === null) {
510
+ // Keep the default protocol if the driverVersion was unsure.
511
+ return;
512
+ }
513
+
514
+ const coercedVersion = semver.coerce(this.driverVersion);
506
515
  if (!coercedVersion || coercedVersion.major < MIN_CD_VERSION_WITH_W3C_SUPPORT) {
507
516
  this.log.debug(
508
- `Chromedriver v. ${cdVersion} does not fully support ${PROTOCOLS.W3C} protocol. ` +
517
+ `The WebDriver v. ${this.driverVersion} does not fully support ${PROTOCOLS.W3C} protocol. ` +
509
518
  `Defaulting to ${PROTOCOLS.MJSONWP}`
510
519
  );
511
520
  return;
512
521
  }
522
+
523
+ // Check only chromeOptions for now.
513
524
  const chromeOptions = getCapValue(this.capabilities, 'chromeOptions', {});
514
525
  if (chromeOptions.w3c === false) {
515
526
  this.log.info(
516
- `Chromedriver v. ${cdVersion} supports ${PROTOCOLS.W3C} protocol, ` +
527
+ `The WebDriver v. ${this.driverVersion} supports ${PROTOCOLS.W3C} protocol, ` +
517
528
  `but ${PROTOCOLS.MJSONWP} one has been explicitly requested`
518
529
  );
519
530
  return;
@@ -525,6 +536,38 @@ class Chromedriver extends events.EventEmitter {
525
536
  this.capabilities = toW3cCapNames(this.capabilities);
526
537
  }
527
538
 
539
+ /**
540
+ * Sync the protocol by reading the given output
541
+ *
542
+ * @param {string} out The output of WebDriver process start
543
+ */
544
+ detectWebDriverProtocol(out) {
545
+ if (this.driverVersion) {
546
+ // Nothing is done if the protocol was already detected
547
+ return;
548
+ }
549
+
550
+ // also print chromedriver version to logs
551
+ // will output something like
552
+ // Starting ChromeDriver 2.33.506106 (8a06c39c4582fbfbab6966dbb1c38a9173bfb1a2) on port 9515
553
+ // Or MSEdge:
554
+ // Starting Microsoft Edge WebDriver 111.0.1661.41 (57be51b50d1be232a9e8186a10017d9e06b1fd16) on port 9515
555
+ const match = WEBDRIVER_VERSION_PATTERN.exec(out);
556
+ if (match && match.length === 3) {
557
+ this.log.debug(`${match[1]} version: '${match[2]}'`);
558
+ this.driverVersion = match[2];
559
+ try {
560
+ this.syncProtocol();
561
+ } catch (e) {
562
+ this.driverVersion = null;
563
+ this.log.error(`Failed to sync the protocol as '${e}'. Stopping the driver process.`);
564
+ this.stop();
565
+ }
566
+ // Does not print else condition log since the log could be
567
+ // very noisy when this.verbose option is true.
568
+ }
569
+ }
570
+
528
571
  /**
529
572
  *
530
573
  * @param {object} caps
@@ -589,14 +632,7 @@ class Chromedriver extends events.EventEmitter {
589
632
  this.log.debug(`Webview version: '${webviewVersion}'`);
590
633
  }
591
634
 
592
- // also print chromedriver version to logs
593
- // will output something like
594
- // Starting ChromeDriver 2.33.506106 (8a06c39c4582fbfbab6966dbb1c38a9173bfb1a2) on port 9515
595
- match = /Starting ChromeDriver ([.\d]+)/.exec(out);
596
- if (match) {
597
- this.log.debug(`Chromedriver version: '${match[1]}'`);
598
- this.syncProtocol(match[1]);
599
- }
635
+ this.detectWebDriverProtocol(out);
600
636
 
601
637
  // give the output if it is requested
602
638
  if (this.verbose) {
@@ -613,6 +649,7 @@ class Chromedriver extends events.EventEmitter {
613
649
 
614
650
  // handle out-of-bound exit by simply emitting a stopped state
615
651
  this.proc.on('exit', (code, signal) => {
652
+ this.driverVersion = null;
616
653
  processIsAlive = false;
617
654
  if (
618
655
  this.state !== Chromedriver.STATE_STOPPED &&
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "chrome",
7
7
  "android"
8
8
  ],
9
- "version": "5.3.4",
9
+ "version": "5.4.1",
10
10
  "author": "Appium Contributors",
11
11
  "license": "Apache-2.0",
12
12
  "repository": {