testcafe 2.6.1 → 2.6.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,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## v2.6.2 (2023-06-01)
4
+
5
+ TestCafe v2.6.2 introduces a number of bug fixes.
6
+
7
+ ### Bug fixes
8
+
9
+ * Internet Explorer 11 hangs because it cannot process client-side scripts that ship with TestCafe v2.6.1 ([#7741](https://github.com/DevExpress/testcafe/issues/7741)).
10
+ * The `pressKey('space')` action doesn't affect checkbox status in Firefox ([#6969](https://github.com/DevExpress/testcafe/issues/6969)).
11
+
3
12
  ## v2.6.1 (2023-05-29)
4
13
 
5
14
  TestCafe v2.6.1 retires **Experimental Debug** mode, and introduces a number of important bug fixes.
@@ -78,7 +78,7 @@ exports.default = Object.assign(Object.assign({}, base_1.default), { getConfig(n
78
78
  await this._ensureWindowIsExpanded(browserId, runtimeInfo.viewportSize);
79
79
  this._setUserAgentMetaInfoForEmulatingDevice(browserId, runtimeInfo.config);
80
80
  if (additionalOptions.nativeAutomation)
81
- await this._setupNativeAutomation({ browserId, browserClient, runtimeInfo, nativeAutomationOptions: (0, convert_1.toNativeAutomationSetupOptions)(additionalOptions) });
81
+ await this._setupNativeAutomation({ browserId, browserClient, runtimeInfo, nativeAutomationOptions: (0, convert_1.toNativeAutomationSetupOptions)(additionalOptions, config.headless) });
82
82
  (0, debug_loggers_1.chromeBrowserProviderLogger)('browser opened %s', browserId);
83
83
  },
84
84
  async closeBrowser(browserId, closingInfo = {}) {
@@ -163,4 +163,4 @@ exports.default = Object.assign(Object.assign({}, base_1.default), { getConfig(n
163
163
  return runtimeInfo.nativeAutomation;
164
164
  } });
165
165
  module.exports = exports.default;
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYnJvd3Nlci9wcm92aWRlci9idWlsdC1pbi9kZWRpY2F0ZWQvY2hyb21lL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMERBQTJCO0FBQzNCLDZCQUF3QztBQUN4QyxtREFBNEM7QUFDNUMsa0VBQStDO0FBQy9DLHNEQUFpQztBQUNqQyxpREFJd0I7QUFDeEIsc0VBQW9GO0FBQ3BGLDZDQUE2QztBQUM3QyxvRUFBd0g7QUFDeEgseUZBQWdFO0FBQ2hFLHNFQUFpRjtBQUNqRixrRUFBbUU7QUFDbkUsdUVBQStDO0FBQy9DLDRFQUFnRztBQUVoRyxNQUFNLHVCQUF1QixHQUFHLEVBQUUsQ0FBQztBQUVuQyxrREFDTyxjQUFxQixLQUV4QixTQUFTLENBQUUsSUFBSTtRQUNYLE9BQU8sSUFBQSxnQkFBUyxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxLQUFLLENBQUMsbUJBQW1CLENBQUUsU0FBUztRQUNoQyxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6RCxNQUFNLFNBQVMsR0FBVyxNQUFNLGFBQWEsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUVoRSxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBRUQseUJBQXlCLENBQUUsV0FBVztRQUNsQyxPQUFPLFdBQVcsQ0FBQyxhQUFhLENBQUM7SUFDckMsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0IsQ0FBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLHNCQUFzQjtRQUM5RCxPQUFPLHNCQUFpQixDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELHVDQUF1QyxDQUFFLFNBQVMsRUFBRSxNQUFNO1FBQ3RELE1BQU0sRUFBRSxTQUFT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aW1wb3J0IHsgcGFyc2UgYXMgcGFyc2VVcmwgfSBmcm9tICd1cmwnO1xuaW1wb3J0IGRlZGljYXRlZFByb3ZpZGVyQmFzZSBmcm9tICcuLi9iYXNlJztcbmltcG9ydCBDaHJvbWVSdW5UaW1lSW5mbyBmcm9tICcuL3J1bnRpbWUtaW5mbyc7XG5pbXBvcnQgZ2V0Q29uZmlnIGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7XG4gICAgc3RhcnQgYXMgc3RhcnRMb2NhbENocm9tZSxcbiAgICBzdGFydE9uRG9ja2VyIGFzIHN0YXJ0TG9jYWxDaHJvbWVPbkRvY2tlcixcbiAgICBzdG9wIGFzIHN0b3BMb2NhbENocm9tZSxcbn0gZnJvbSAnLi9sb2NhbC1jaHJvbWUnO1xuaW1wb3J0IHsgR0VUX1dJTkRPV19ESU1FTlNJT05TX0lORk9fU0NSSVBUIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY2xpZW50LWZ1bmN0aW9ucyc7XG5pbXBvcnQgeyBCcm93c2VyQ2xpZW50IH0gZnJvbSAnLi9jZHAtY2xpZW50JztcbmltcG9ydCB7IGRpc3BhdGNoRXZlbnQgYXMgZGlzcGF0Y2hOYXRpdmVBdXRvbWF0aW9uRXZlbnQsIG5hdmlnYXRlVG8gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9uYXRpdmUtYXV0b21hdGlvbi91dGlscy9jZHAnO1xuaW1wb3J0IE5hdGl2ZUF1dG9tYXRpb24gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbmF0aXZlLWF1dG9tYXRpb24nO1xuaW1wb3J0IHsgY2hyb21lQnJvd3NlclByb3ZpZGVyTG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdXRpbHMvZGVidWctbG9nZ2Vycyc7XG5pbXBvcnQgeyBFdmVudFR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9uYXRpdmUtYXV0b21hdGlvbi90eXBlcyc7XG5pbXBvcnQgZGVsYXkgZnJvbSAnLi4vLi4vLi4vLi4vLi4vdXRpbHMvZGVsYXknO1xuaW1wb3J0IHsgdG9OYXRpdmVBdXRvbWF0aW9uU2V0dXBPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbmF0aXZlLWF1dG9tYXRpb24vdXRpbHMvY29udmVydCc7XG5cbmNvbnN0IE1JTl9BVkFJTEFCTEVfRElNRU5TSU9OID0gNTA7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgICAuLi5kZWRpY2F0ZWRQcm92aWRlckJhc2UsXG5cbiAgICBnZXRDb25maWcgKG5hbWUpIHtcbiAgICAgICAgcmV0dXJuIGdldENvbmZpZyhuYW1lKTtcbiAgICB9LFxuXG4gICAgYXN5bmMgX2dldEFjdGl2ZUNEUENsaWVudCAoYnJvd3NlcklkKSB7XG4gICAgICAgIGNvbnN0IHsgYnJvd3NlckNsaWVudCB9ID0gdGhpcy5vcGVuZWRCcm93c2Vyc1ticm93c2VySWRdO1xuICAgICAgICBjb25zdCBjZHBDbGllbnQgICAgICAgICA9IGF3YWl0IGJyb3dzZXJDbGllbnQuZ2V0QWN0aXZlQ2xpZW50KCk7XG5cbiAgICAgICAgcmV0dXJuIGNkcENsaWVudDtcbiAgICB9LFxuXG4gICAgX2dldEJyb3dzZXJQcm90b2NvbENsaWVudCAocnVudGltZUluZm8pIHtcbiAgICAgICAgcmV0dXJuIHJ1bnRpbWVJbmZvLmJyb3dzZXJDbGllbnQ7XG4gICAgfSxcblxuICAgIGFzeW5jIF9jcmVhdGVSdW5UaW1lSW5mbyAoaG9zdE5hbWUsIGNvbmZpZywgZGlzYWJsZU11bHRpcGxlV2luZG93cykge1xuICAgICAgICByZXR1cm4gQ2hyb21lUnVuVGltZUluZm8uY3JlYXRlKGhvc3ROYW1lLCBjb25maWcsIGRpc2FibGVNdWx0aXBsZVdpbmRvd3MpO1xuICAgIH0sXG5cbiAgICBfc2V0VXNlckFnZW50TWV0YUluZm9Gb3JFbXVsYXRpbmdEZXZpY2UgKGJyb3dzZXJJZCwgY29uZmlnKSB7XG4gICAgICAgIGNvbnN0IHsgZW11bGF0aW9uLCBkZXZpY2VOYW1lIH0gPSBjb25maWc7XG4gICAgICAgIGNvbnN0IGlzRGV2aWNlRW11bGF0aW9uICAgICAgICAgPSBlbXVsYXRpb24gJiYgZGV2aWNlTmFtZTtcblxuICAgICAgICBpZiAoIWlzRGV2aWNlRW11bGF0aW9uKVxuICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IG1ldGFJbmZvID0gYEVtdWxhdGluZyAke2RldmljZU5hbWV9YDtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyAgPSB7XG4gICAgICAgICAgICBhcHBlbmRUb1VzZXJBZ2VudDogdHJ1ZSxcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLnNldFVzZXJBZ2VudE1ldGFJbmZvKGJyb3dzZXJJZCwgbWV0YUluZm8sIG9wdGlvbnMpO1xuICAgIH0sXG5cbiAgICBhc3luYyBfc2V0dXBOYXRpdmVBdXRvbWF0aW9uICh7IGJyb3dzZXJJZCwgYnJvd3NlckNsaWVudCwgcnVudGltZUluZm8sIG5hdGl2ZUF1dG9tYXRpb25PcHRpb25zIH0pIHtcbiAgICAgICAgY29uc3QgY2RwQ2xpZW50ID0gYXdhaXQgYnJvd3NlckNsaWVudC5nZXRBY3RpdmVDbGllbnQoKTtcbiAgICAgICAgY29uc3QgbmF0aXZlQXV0b21hdGlvbiA9IG5ldyBOYXRpdmVBdXRvbWF0aW9uKGJyb3dzZXJJZCwgY2RwQ2xpZW50LCBuYXRpdmVBdXRvbWF0aW9uT3B0aW9ucyk7XG5cbiAgICAgICAgYXdhaXQgbmF0aXZlQXV0b21hdGlvbi5zdGFydCgpO1xuXG4gICAgICAgIHJ1bnRpbWVJbmZvLm5hdGl2ZUF1dG9tYXRpb24gPSBuYXRpdmVBdXRvbWF0aW9uO1xuICAgIH0sXG5cbiAgICBhc3luYyBfc3RhcnRDaHJvbWUgKHJ1bnRpbWVJbmZvLCBwYWdlVXJsKSB7XG4gICAgICAgIGlmIChydW50aW1lSW5mby5pc0NvbnRhaW5lcml6ZWQpXG4gICAgICAgICAgICBhd2FpdCBzdGFydExvY2FsQ2hyb21lT25Eb2NrZXIocGFnZVVybCwgcnVudGltZUluZm8pO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICBhd2FpdCBzdGFydExvY2FsQ2hyb21lKHBhZ2VVcmwsIHJ1bnRpbWVJbmZvKTtcbiAgICB9LFxuXG4gICAgYXN5bmMgb3BlbkJyb3dzZXIgKGJyb3dzZXJJZCwgcGFnZVVybCwgY29uZmlnLCBhZGRpdGlvbmFsT3B0aW9ucykge1xuICAgICAgICBjb25zdCBwYXJzZWRQYWdlVXJsID0gcGFyc2VVcmwocGFnZVVybCk7XG4gICAgICAgIGNvbnN0IHJ1bnRpbWVJbmZvICAgPSBhd2FpdCB0aGlzLl9jcmVhdGVSdW5UaW1lSW5mbyhwYXJzZWRQYWdlVXJsLmhvc3RuYW1lLCBjb25maWcsIGFkZGl0aW9uYWxPcHRpb25zLmRpc2FibGVNdWx0aXBsZVdpbmRvd3MpO1xuXG4gICAgICAgIHJ1bnRpbWVJbmZvLmJyb3dzZXJOYW1lID0gdGhpcy5fZ2V0QnJvd3Nlck5hbWUoKTtcbiAgICAgICAgcnVudGltZUluZm8uYnJvd3NlcklkICAgPSBicm93c2VySWQ7XG5cbiAgICAgICAgcnVudGltZUluZm8ucHJvdmlkZXJNZXRob2RzID0ge1xuICAgICAgICAgICAgcmVzaXplTG9jYWxCcm93c2VyV2luZG93OiAoLi4uYXJncykgPT4gdGhpcy5yZXNpemVMb2NhbEJyb3dzZXJXaW5kb3coLi4uYXJncyksXG4gICAgICAgICAgICByZXBvcnRXYXJuaW5nOiAgICAgICAgICAgICguLi5hcmdzKSA9PiB0aGlzLnJlcG9ydFdhcm5pbmcoYnJvd3NlcklkLCAuLi5hcmdzKSxcbiAgICAgICAgfTtcblxuICAgICAgICAvL05PVEU6IEEgbm90LXdvcmtpbmcgdGFiIGlzIG9wZW5lZCB3aGVuIHRoZSBicm93c2VyIHN0YXJ0IGluIHRoZSBkb2NrZXIgc28gd2Ugc2hvdWxkIGNyZWF0ZSBhIG5ldyB0YWIuXG4gICAgICAgIGF3YWl0IHRoaXMuX3N0YXJ0Q2hyb21lKHJ1bnRpbWVJbmZvLCBwYWdlVXJsKTtcbiAgICAgICAgYXdhaXQgdGhpcy53YWl0Rm9yQ29ubmVjdGlvblJlYWR5KGJyb3dzZXJJZCk7XG5cbiAgICAgICAgcnVudGltZUluZm8udmlld3BvcnRTaXplICAgICAgPSBhd2FpdCB0aGlzLnJ1bkluaXRTY3JpcHQoYnJvd3NlcklkLCBHRVRfV0lORE9XX0RJTUVOU0lPTlNfSU5GT19TQ1JJUFQpO1xuICAgICAgICBydW50aW1lSW5mby5hY3RpdmVXaW5kb3dJZCAgICA9IG51bGw7XG4gICAgICAgIHJ1bnRpbWVJbmZvLndpbmRvd0Rlc2NyaXB0b3JzID0ge307XG5cbiAgICAgICAgaWYgKCFhZGRpdGlvbmFsT3B0aW9ucy5kaXNhYmxlTXVsdGlwbGVXaW5kb3dzKVxuICAgICAgICAgICAgcnVudGltZUluZm8uYWN0aXZlV2luZG93SWQgPSB0aGlzLmNhbGN1bGF0ZVdpbmRvd0lkKCk7XG5cbiAgICAgICAgY29uc3QgYnJvd3NlckNsaWVudCA9IG5ldyBCcm93c2VyQ2xpZW50KHJ1bnRpbWVJbmZvKTtcblxuICAgICAgICB0aGlzLm9wZW5lZEJyb3dzZXJzW2Jyb3dzZXJJZF0gPSBydW50aW1lSW5mbztcblxuICAgICAgICBhd2FpdCBicm93c2VyQ2xpZW50LmluaXQoKTtcblxuICAgICAgICBhd2FpdCB0aGlzLl9lbnN1cmVXaW5kb3dJc0V4cGFuZGVkKGJyb3dzZXJJZCwgcnVudGltZUluZm8udmlld3BvcnRTaXplKTtcblxuICAgICAgICB0aGlzLl9zZXRVc2VyQWdlbnRNZXRhSW5mb0ZvckVtdWxhdGluZ0RldmljZShicm93c2VySWQsIHJ1bnRpbWVJbmZvLmNvbmZpZyk7XG5cbiAgICAgICAgaWYgKGFkZGl0aW9uYWxPcHRpb25zLm5hdGl2ZUF1dG9tYXRpb24pXG4gICAgICAgICAgICBhd2FpdCB0aGlzLl9zZXR1cE5hdGl2ZUF1dG9tYXRpb24oeyBicm93c2VySWQsIGJyb3dzZXJDbGllbnQsIHJ1bnRpbWVJbmZvLCBuYXRpdmVBdXRvbWF0aW9uT3B0aW9uczogdG9OYXRpdmVBdXRvbWF0aW9uU2V0dXBPcHRpb25zKGFkZGl0aW9uYWxPcHRpb25zKSB9KTtcblxuICAgICAgICBjaHJvbWVCcm93c2VyUHJvdmlkZXJMb2dnZXIoJ2Jyb3dzZXIgb3BlbmVkICVzJywgYnJvd3NlcklkKTtcbiAgICB9LFxuXG4gICAgYXN5bmMgY2xvc2VCcm93c2VyIChicm93c2VySWQsIGNsb3NpbmdJbmZvID0ge30pIHtcbiAgICAgICAgY29uc3QgcnVudGltZUluZm8gPSB0aGlzLm9wZW5lZEJyb3dzZXJzW2Jyb3dzZXJJZF07XG5cbiAgICAgICAgaWYgKHJ1bnRpbWVJbmZvLm5hdGl2ZUF1dG9tYXRpb24pXG4gICAgICAgICAgICBhd2FpdCBydW50aW1lSW5mby5uYXRpdmVBdXRvbWF0aW9uLmRpc3Bvc2UoKTtcblxuICAgICAgICBpZiAocnVudGltZUluZm8uYnJvd3NlckNsaWVudC5pc0hlYWRsZXNzVGFiKCkpXG4gICAgICAgICAgICBhd2FpdCBydW50aW1lSW5mby5icm93c2VyQ2xpZW50LmNsb3NlVGFiKCk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuY2xvc2VMb2NhbEJyb3dzZXIoYnJvd3NlcklkKTtcblxuICAgICAgICBpZiAoT1MubWFjIHx8IHJ1bnRpbWVJbmZvLmNvbmZpZy5oZWFkbGVzcylcbiAgICAgICAgICAgIGF3YWl0IHN0b3BMb2NhbENocm9tZShydW50aW1lSW5mbyk7XG5cbiAgICAgICAgaWYgKHJ1bnRpbWVJbmZvLnRlbXBQcm9maWxlRGlyICYmICFjbG9zaW5nSW5mby5pc1Jlc3RhcnRpbmcpXG4gICAgICAgICAgICBhd2FpdCBydW50aW1lSW5mby50ZW1wUHJvZmlsZURpci5kaXNwb3NlKCk7XG5cbiAgICAgICAgZGVsZXRlIHRoaXMub3BlbmVkQnJvd3NlcnNbYnJvd3NlcklkXTtcblxuICAgICAgICBjaHJvbWVCcm93c2VyUHJvdmlkZXJMb2dnZXIoJ2Jyb3dzZXIgY2xvc2VkICVzJywgYnJvd3NlcklkKTtcbiAgICB9LFxuXG4gICAgYXN5bmMgcmVzaXplV2luZG93IChicm93c2VySWQsIHdpZHRoLCBoZWlnaHQsIGN1cnJlbnRXaWR0aCwgY3VycmVudEhlaWdodCkge1xuICAgICAgICBjb25zdCBydW50aW1lSW5mbyA9IHRoaXMub3BlbmVkQnJvd3NlcnNbYnJvd3NlcklkXTtcblxuICAgICAgICBpZiAocnVudGltZUluZm8uY29uZmlnLm1vYmlsZSlcbiAgICAgICAgICAgIGF3YWl0IHJ1bnRpbWVJbmZvLmJyb3dzZXJDbGllbnQudXBkYXRlTW9iaWxlVmlld3BvcnRTaXplKCk7XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcnVudGltZUluZm8udmlld3BvcnRTaXplLndpZHRoICA9IGN1cnJlbnRXaWR0aDtcbiAgICAgICAgICAgIHJ1bnRpbWVJbmZvLnZpZXdwb3J0U2l6ZS5oZWlnaHQgPSBjdXJyZW50SGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgYXdhaXQgcnVudGltZUluZm8uYnJvd3NlckNsaWVudC5yZXNpemVXaW5kb3coeyB3aWR0aCwgaGVpZ2h0IH0pO1xuICAgIH0sXG5cbiAgICBhc3luYyBzdGFydENhcHR1cmluZ1ZpZGVvIChicm93c2VySWQpIHtcbiAgICAgICAgY29uc3QgeyBicm93c2VyQ2xpZW50IH0gPSB0aGlzLm9wZW5lZEJyb3dzZXJzW2Jyb3dzZXJJZF07XG5cbiAgICAgICAgYXdhaXQgYnJvd3NlckNsaWVudC5zdGFydENhcHR1cmluZ1ZpZGVvKCk7XG4gICAgfSxcblxuICAgIGFzeW5jIHN0b3BDYXB0dXJpbmdWaWRlbyAoYnJvd3NlcklkKSB7XG4gICAgICAgIGNvbnN0IHsgYnJvd3NlckNsaWVudCB9ID0gdGhpcy5vcGVuZWRCcm93c2Vyc1ticm93c2VySWRdO1xuXG4gICAgICAgIGF3YWl0IGJyb3dzZXJDbGllbnQuc3RvcENhcHR1cmluZ1ZpZGVvKCk7XG4gICAgfSxcblxuICAgIGFzeW5jIGdldFZpZGVvRnJhbWVEYXRhIChicm93c2VySWQpIHtcbiAgICAgICAgY29uc3QgeyBicm93c2VyQ2xpZW50IH0gPSB0aGlzLm9wZW5lZEJyb3dzZXJzW2Jyb3dzZXJJZF07XG5cbiAgICAgICAgcmV0dXJuIGJyb3dzZXJDbGllbnQuZ2V0VmlkZW9GcmFtZURhdGEoKTtcbiAgICB9LFxuXG4gICAgYXN5bmMgaGFzQ3VzdG9tQWN0aW9uRm9yQnJvd3NlciAoYnJvd3NlcklkKSB7XG4gICAgICAgIGNvbnN0IHsgY29uZmlnLCBicm93c2VyQ2xpZW50IH0gPSB0aGlzLm9wZW5lZEJyb3dzZXJzW2Jyb3dzZXJJZF07XG4gICAgICAgIGNvbnN0IGNsaWVudCAgICAgICAgICAgICAgICAgICAgPSBhd2FpdCBicm93c2VyQ2xpZW50LmdldEFjdGl2ZUNsaWVudCgpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBoYXNDbG9zZUJyb3dzZXI6ICAgICAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgICBoYXNSZXNpemVXaW5kb3c6ICAgICAgICAgICAgICAgICEhY2xpZW50ICYmIChjb25maWcuZW11bGF0aW9uIHx8IGNvbmZpZy5oZWFkbGVzcyksXG4gICAgICAgICAgICBoYXNNYXhpbWl6ZVdpbmRvdzogICAgICAgICAgICAgICEhY2xpZW50ICYmIGNvbmZpZy5oZWFkbGVzcyxcbiAgICAgICAgICAgIGhhc1Rha2VTY3JlZW5zaG90OiAgICAgICAgICAgICAgISFjbGllbnQsXG4gICAgICAgICAgICBoYXNDaHJvbWVsZXNzU2NyZWVuc2hvdHM6ICAgICAgICEhY2xpZW50LFxuICAgICAgICAgICAgaGFzR2V0VmlkZW9GcmFtZURhdGE6ICAgICAgICAgICAhIWNsaWVudCxcbiAgICAgICAgICAgIGhhc0NhblJlc2l6ZVdpbmRvd1RvRGltZW5zaW9uczogZmFsc2UsXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIGFzeW5jIF9lbnN1cmVXaW5kb3dJc0V4cGFuZGVkIChicm93c2VySWQsIHsgaGVpZ2h0LCB3aWR0aCwgYXZhaWxhYmxlSGVpZ2h0LCBhdmFpbGFibGVXaWR0aCwgb3V0ZXJXaWR0aCwgb3V0ZXJIZWlnaHQgfSkge1xuICAgICAgICBpZiAoaGVpZ2h0IDwgTUlOX0FWQUlMQUJMRV9ESU1FTlNJT04gfHwgd2lkdGggPCBNSU5fQVZBSUxBQkxFX0RJTUVOU0lPTikge1xuICAgICAgICAgICAgY29uc3QgbmV3SGVpZ2h0ID0gTWF0aC5tYXgoYXZhaWxhYmxlSGVpZ2h0LCBNSU5fQVZBSUxBQkxFX0RJTUVOU0lPTik7XG4gICAgICAgICAgICBjb25zdCBuZXdXaWR0aCAgPSBNYXRoLm1heChNYXRoLmZsb29yKGF2YWlsYWJsZVdpZHRoIC8gMiksIE1JTl9BVkFJTEFCTEVfRElNRU5TSU9OKTtcblxuICAgICAgICAgICAgYXdhaXQgdGhpcy5yZXNpemVXaW5kb3coYnJvd3NlcklkLCBuZXdXaWR0aCwgbmV3SGVpZ2h0LCBvdXRlcldpZHRoLCBvdXRlckhlaWdodCk7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgYXN5bmMgb3BlbkZpbGVQcm90b2NvbCAoYnJvd3NlcklkLCB1cmwpIHtcbiAgICAgICAgY29uc3QgY2RwQ2xpZW50ID0gYXdhaXQgdGhpcy5fZ2V0QWN0aXZlQ0RQQ2xpZW50KGJyb3dzZXJJZCk7XG5cbiAgICAgICAgYXdhaXQgbmF2aWdhdGVUbyhjZHBDbGllbnQsIHVybCk7XG4gICAgfSxcblxuICAgIGFzeW5jIGRpc3BhdGNoTmF0aXZlQXV0b21hdGlvbkV2ZW50IChicm93c2VySWQsIHR5cGUsIG9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgY2RwQ2xpZW50ID0gYXdhaXQgdGhpcy5fZ2V0QWN0aXZlQ0RQQ2xpZW50KGJyb3dzZXJJZCk7XG5cbiAgICAgICAgYXdhaXQgZGlzcGF0Y2hOYXRpdmVBdXRvbWF0aW9uRXZlbnQoY2RwQ2xpZW50LCB0eXBlLCBvcHRpb25zKTtcbiAgICB9LFxuXG4gICAgYXN5bmMgZGlzcGF0Y2hOYXRpdmVBdXRvbWF0aW9uRXZlbnRTZXF1ZW5jZSAoYnJvd3NlcklkLCBldmVudFNlcXVlbmNlKSB7XG4gICAgICAgIGNvbnN0IGNkcENsaWVudCA9IGF3YWl0IHRoaXMuX2dldEFjdGl2ZUNEUENsaWVudChicm93c2VySWQpO1xuXG4gICAgICAgIGZvciAoY29uc3QgZXZlbnQgb2YgZXZlbnRTZXF1ZW5jZSkge1xuICAgICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09IEV2ZW50VHlwZS5EZWxheSlcbiAgICAgICAgICAgICAgICBhd2FpdCBkZWxheShldmVudC5vcHRpb25zLmRlbGF5KTtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICBhd2FpdCBkaXNwYXRjaE5hdGl2ZUF1dG9tYXRpb25FdmVudChjZHBDbGllbnQsIGV2ZW50LnR5cGUsIGV2ZW50Lm9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIHN1cHBvcnROYXRpdmVBdXRvbWF0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSxcblxuICAgIGdldE5hdGl2ZUF1dG9tYXRpb24gKGJyb3dzZXJJZCkge1xuICAgICAgICBjb25zdCBydW50aW1lSW5mbyA9IHRoaXMub3BlbmVkQnJvd3NlcnNbYnJvd3NlcklkXTtcblxuICAgICAgICByZXR1cm4gcnVudGltZUluZm8ubmF0aXZlQXV0b21hdGlvbjtcbiAgICB9LFxufTtcbiJdfQ==
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYnJvd3Nlci9wcm92aWRlci9idWlsdC1pbi9kZWRpY2F0ZWQvY2hyb21lL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMERBQTJCO0FBQzNCLDZCQUF3QztBQUN4QyxtREFBNEM7QUFDNUMsa0VBQStDO0FBQy9DLHNEQUFpQztBQUNqQyxpREFJd0I7QUFDeEIsc0VBQW9GO0FBQ3BGLDZDQUE2QztBQUM3QyxvRUFBd0g7QUFDeEgseUZBQWdFO0FBQ2hFLHNFQUFpRjtBQUNqRixrRUFBbUU7QUFDbkUsdUVBQStDO0FBQy9DLDRFQUFnRztBQUVoRyxNQUFNLHVCQUF1QixHQUFHLEVBQUUsQ0FBQztBQUVuQyxrREFDTyxjQUFxQixLQUV4QixTQUFTLENBQUUsSUFBSTtRQUNYLE9BQU8sSUFBQSxnQkFBUyxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxLQUFLLENBQUMsbUJBQW1CLENBQUUsU0FBUztRQUNoQyxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6RCxNQUFNLFNBQVMsR0FBVyxNQUFNLGFBQWEsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUVoRSxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBRUQseUJBQXlCLENBQUUsV0FBVztRQUNsQyxPQUFPLFdBQVcsQ0FBQyxhQUFhLENBQUM7SUFDckMsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0IsQ0FBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLHNCQUFzQjtRQUM5RCxPQUFPLHNCQUFpQixDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELHVDQUF1QyxDQUFFLFNBQVMsRUFBRSxNQUFNO1FBQ3RELE1BQU0sRUFBRSxTQUFT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IGZyb20gJ29zLWZhbWlseSc7XG5pbXBvcnQgeyBwYXJzZSBhcyBwYXJzZVVybCB9IGZyb20gJ3VybCc7XG5pbXBvcnQgZGVkaWNhdGVkUHJvdmlkZXJCYXNlIGZyb20gJy4uL2Jhc2UnO1xuaW1wb3J0IENocm9tZVJ1blRpbWVJbmZvIGZyb20gJy4vcnVudGltZS1pbmZvJztcbmltcG9ydCBnZXRDb25maWcgZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHtcbiAgICBzdGFydCBhcyBzdGFydExvY2FsQ2hyb21lLFxuICAgIHN0YXJ0T25Eb2NrZXIgYXMgc3RhcnRMb2NhbENocm9tZU9uRG9ja2VyLFxuICAgIHN0b3AgYXMgc3RvcExvY2FsQ2hyb21lLFxufSBmcm9tICcuL2xvY2FsLWNocm9tZSc7XG5pbXBvcnQgeyBHRVRfV0lORE9XX0RJTUVOU0lPTlNfSU5GT19TQ1JJUFQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGllbnQtZnVuY3Rpb25zJztcbmltcG9ydCB7IEJyb3dzZXJDbGllbnQgfSBmcm9tICcuL2NkcC1jbGllbnQnO1xuaW1wb3J0IHsgZGlzcGF0Y2hFdmVudCBhcyBkaXNwYXRjaE5hdGl2ZUF1dG9tYXRpb25FdmVudCwgbmF2aWdhdGVUbyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL25hdGl2ZS1hdXRvbWF0aW9uL3V0aWxzL2NkcCc7XG5pbXBvcnQgTmF0aXZlQXV0b21hdGlvbiBmcm9tICcuLi8uLi8uLi8uLi8uLi9uYXRpdmUtYXV0b21hdGlvbic7XG5pbXBvcnQgeyBjaHJvbWVCcm93c2VyUHJvdmlkZXJMb2dnZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlscy9kZWJ1Zy1sb2dnZXJzJztcbmltcG9ydCB7IEV2ZW50VHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL25hdGl2ZS1hdXRvbWF0aW9uL3R5cGVzJztcbmltcG9ydCBkZWxheSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlscy9kZWxheSc7XG5pbXBvcnQgeyB0b05hdGl2ZUF1dG9tYXRpb25TZXR1cE9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9uYXRpdmUtYXV0b21hdGlvbi91dGlscy9jb252ZXJ0JztcblxuY29uc3QgTUlOX0FWQUlMQUJMRV9ESU1FTlNJT04gPSA1MDtcblxuZXhwb3J0IGRlZmF1bHQge1xuICAgIC4uLmRlZGljYXRlZFByb3ZpZGVyQmFzZSxcblxuICAgIGdldENvbmZpZyAobmFtZSkge1xuICAgICAgICByZXR1cm4gZ2V0Q29uZmlnKG5hbWUpO1xuICAgIH0sXG5cbiAgICBhc3luYyBfZ2V0QWN0aXZlQ0RQQ2xpZW50IChicm93c2VySWQpIHtcbiAgICAgICAgY29uc3QgeyBicm93c2VyQ2xpZW50IH0gPSB0aGlzLm9wZW5lZEJyb3dzZXJzW2Jyb3dzZXJJZF07XG4gICAgICAgIGNvbnN0IGNkcENsaWVudCAgICAgICAgID0gYXdhaXQgYnJvd3NlckNsaWVudC5nZXRBY3RpdmVDbGllbnQoKTtcblxuICAgICAgICByZXR1cm4gY2RwQ2xpZW50O1xuICAgIH0sXG5cbiAgICBfZ2V0QnJvd3NlclByb3RvY29sQ2xpZW50IChydW50aW1lSW5mbykge1xuICAgICAgICByZXR1cm4gcnVudGltZUluZm8uYnJvd3NlckNsaWVudDtcbiAgICB9LFxuXG4gICAgYXN5bmMgX2NyZWF0ZVJ1blRpbWVJbmZvIChob3N0TmFtZSwgY29uZmlnLCBkaXNhYmxlTXVsdGlwbGVXaW5kb3dzKSB7XG4gICAgICAgIHJldHVybiBDaHJvbWVSdW5UaW1lSW5mby5jcmVhdGUoaG9zdE5hbWUsIGNvbmZpZywgZGlzYWJsZU11bHRpcGxlV2luZG93cyk7XG4gICAgfSxcblxuICAgIF9zZXRVc2VyQWdlbnRNZXRhSW5mb0ZvckVtdWxhdGluZ0RldmljZSAoYnJvd3NlcklkLCBjb25maWcpIHtcbiAgICAgICAgY29uc3QgeyBlbXVsYXRpb24sIGRldmljZU5hbWUgfSA9IGNvbmZpZztcbiAgICAgICAgY29uc3QgaXNEZXZpY2VFbXVsYXRpb24gICAgICAgICA9IGVtdWxhdGlvbiAmJiBkZXZpY2VOYW1lO1xuXG4gICAgICAgIGlmICghaXNEZXZpY2VFbXVsYXRpb24pXG4gICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgY29uc3QgbWV0YUluZm8gPSBgRW11bGF0aW5nICR7ZGV2aWNlTmFtZX1gO1xuICAgICAgICBjb25zdCBvcHRpb25zICA9IHtcbiAgICAgICAgICAgIGFwcGVuZFRvVXNlckFnZW50OiB0cnVlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuc2V0VXNlckFnZW50TWV0YUluZm8oYnJvd3NlcklkLCBtZXRhSW5mbywgb3B0aW9ucyk7XG4gICAgfSxcblxuICAgIGFzeW5jIF9zZXR1cE5hdGl2ZUF1dG9tYXRpb24gKHsgYnJvd3NlcklkLCBicm93c2VyQ2xpZW50LCBydW50aW1lSW5mbywgbmF0aXZlQXV0b21hdGlvbk9wdGlvbnMgfSkge1xuICAgICAgICBjb25zdCBjZHBDbGllbnQgPSBhd2FpdCBicm93c2VyQ2xpZW50LmdldEFjdGl2ZUNsaWVudCgpO1xuICAgICAgICBjb25zdCBuYXRpdmVBdXRvbWF0aW9uID0gbmV3IE5hdGl2ZUF1dG9tYXRpb24oYnJvd3NlcklkLCBjZHBDbGllbnQsIG5hdGl2ZUF1dG9tYXRpb25PcHRpb25zKTtcblxuICAgICAgICBhd2FpdCBuYXRpdmVBdXRvbWF0aW9uLnN0YXJ0KCk7XG5cbiAgICAgICAgcnVudGltZUluZm8ubmF0aXZlQXV0b21hdGlvbiA9IG5hdGl2ZUF1dG9tYXRpb247XG4gICAgfSxcblxuICAgIGFzeW5jIF9zdGFydENocm9tZSAocnVudGltZUluZm8sIHBhZ2VVcmwpIHtcbiAgICAgICAgaWYgKHJ1bnRpbWVJbmZvLmlzQ29udGFpbmVyaXplZClcbiAgICAgICAgICAgIGF3YWl0IHN0YXJ0TG9jYWxDaHJvbWVPbkRvY2tlcihwYWdlVXJsLCBydW50aW1lSW5mbyk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIGF3YWl0IHN0YXJ0TG9jYWxDaHJvbWUocGFnZVVybCwgcnVudGltZUluZm8pO1xuICAgIH0sXG5cbiAgICBhc3luYyBvcGVuQnJvd3NlciAoYnJvd3NlcklkLCBwYWdlVXJsLCBjb25maWcsIGFkZGl0aW9uYWxPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHBhcnNlZFBhZ2VVcmwgPSBwYXJzZVVybChwYWdlVXJsKTtcbiAgICAgICAgY29uc3QgcnVudGltZUluZm8gICA9IGF3YWl0IHRoaXMuX2NyZWF0ZVJ1blRpbWVJbmZvKHBhcnNlZFBhZ2VVcmwuaG9zdG5hbWUsIGNvbmZpZywgYWRkaXRpb25hbE9wdGlvbnMuZGlzYWJsZU11bHRpcGxlV2luZG93cyk7XG5cbiAgICAgICAgcnVudGltZUluZm8uYnJvd3Nlck5hbWUgPSB0aGlzLl9nZXRCcm93c2VyTmFtZSgpO1xuICAgICAgICBydW50aW1lSW5mby5icm93c2VySWQgICA9IGJyb3dzZXJJZDtcblxuICAgICAgICBydW50aW1lSW5mby5wcm92aWRlck1ldGhvZHMgPSB7XG4gICAgICAgICAgICByZXNpemVMb2NhbEJyb3dzZXJXaW5kb3c6ICguLi5hcmdzKSA9PiB0aGlzLnJlc2l6ZUxvY2FsQnJvd3NlcldpbmRvdyguLi5hcmdzKSxcbiAgICAgICAgICAgIHJlcG9ydFdhcm5pbmc6ICAgICAgICAgICAgKC4uLmFyZ3MpID0+IHRoaXMucmVwb3J0V2FybmluZyhicm93c2VySWQsIC4uLmFyZ3MpLFxuICAgICAgICB9O1xuXG4gICAgICAgIC8vTk9URTogQSBub3Qtd29ya2luZyB0YWIgaXMgb3BlbmVkIHdoZW4gdGhlIGJyb3dzZXIgc3RhcnQgaW4gdGhlIGRvY2tlciBzbyB3ZSBzaG91bGQgY3JlYXRlIGEgbmV3IHRhYi5cbiAgICAgICAgYXdhaXQgdGhpcy5fc3RhcnRDaHJvbWUocnVudGltZUluZm8sIHBhZ2VVcmwpO1xuICAgICAgICBhd2FpdCB0aGlzLndhaXRGb3JDb25uZWN0aW9uUmVhZHkoYnJvd3NlcklkKTtcblxuICAgICAgICBydW50aW1lSW5mby52aWV3cG9ydFNpemUgICAgICA9IGF3YWl0IHRoaXMucnVuSW5pdFNjcmlwdChicm93c2VySWQsIEdFVF9XSU5ET1dfRElNRU5TSU9OU19JTkZPX1NDUklQVCk7XG4gICAgICAgIHJ1bnRpbWVJbmZvLmFjdGl2ZVdpbmRvd0lkICAgID0gbnVsbDtcbiAgICAgICAgcnVudGltZUluZm8ud2luZG93RGVzY3JpcHRvcnMgPSB7fTtcblxuICAgICAgICBpZiAoIWFkZGl0aW9uYWxPcHRpb25zLmRpc2FibGVNdWx0aXBsZVdpbmRvd3MpXG4gICAgICAgICAgICBydW50aW1lSW5mby5hY3RpdmVXaW5kb3dJZCA9IHRoaXMuY2FsY3VsYXRlV2luZG93SWQoKTtcblxuICAgICAgICBjb25zdCBicm93c2VyQ2xpZW50ID0gbmV3IEJyb3dzZXJDbGllbnQocnVudGltZUluZm8pO1xuXG4gICAgICAgIHRoaXMub3BlbmVkQnJvd3NlcnNbYnJvd3NlcklkXSA9IHJ1bnRpbWVJbmZvO1xuXG4gICAgICAgIGF3YWl0IGJyb3dzZXJDbGllbnQuaW5pdCgpO1xuXG4gICAgICAgIGF3YWl0IHRoaXMuX2Vuc3VyZVdpbmRvd0lzRXhwYW5kZWQoYnJvd3NlcklkLCBydW50aW1lSW5mby52aWV3cG9ydFNpemUpO1xuXG4gICAgICAgIHRoaXMuX3NldFVzZXJBZ2VudE1ldGFJbmZvRm9yRW11bGF0aW5nRGV2aWNlKGJyb3dzZXJJZCwgcnVudGltZUluZm8uY29uZmlnKTtcblxuICAgICAgICBpZiAoYWRkaXRpb25hbE9wdGlvbnMubmF0aXZlQXV0b21hdGlvbilcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX3NldHVwTmF0aXZlQXV0b21hdGlvbih7IGJyb3dzZXJJZCwgYnJvd3NlckNsaWVudCwgcnVudGltZUluZm8sIG5hdGl2ZUF1dG9tYXRpb25PcHRpb25zOiB0b05hdGl2ZUF1dG9tYXRpb25TZXR1cE9wdGlvbnMoYWRkaXRpb25hbE9wdGlvbnMsIGNvbmZpZy5oZWFkbGVzcykgfSk7XG5cbiAgICAgICAgY2hyb21lQnJvd3NlclByb3ZpZGVyTG9nZ2VyKCdicm93c2VyIG9wZW5lZCAlcycsIGJyb3dzZXJJZCk7XG4gICAgfSxcblxuICAgIGFzeW5jIGNsb3NlQnJvd3NlciAoYnJvd3NlcklkLCBjbG9zaW5nSW5mbyA9IHt9KSB7XG4gICAgICAgIGNvbnN0IHJ1bnRpbWVJbmZvID0gdGhpcy5vcGVuZWRCcm93c2Vyc1ticm93c2VySWRdO1xuXG4gICAgICAgIGlmIChydW50aW1lSW5mby5uYXRpdmVBdXRvbWF0aW9uKVxuICAgICAgICAgICAgYXdhaXQgcnVudGltZUluZm8ubmF0aXZlQXV0b21hdGlvbi5kaXNwb3NlKCk7XG5cbiAgICAgICAgaWYgKHJ1bnRpbWVJbmZvLmJyb3dzZXJDbGllbnQuaXNIZWFkbGVzc1RhYigpKVxuICAgICAgICAgICAgYXdhaXQgcnVudGltZUluZm8uYnJvd3NlckNsaWVudC5jbG9zZVRhYigpO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmNsb3NlTG9jYWxCcm93c2VyKGJyb3dzZXJJZCk7XG5cbiAgICAgICAgaWYgKE9TLm1hYyB8fCBydW50aW1lSW5mby5jb25maWcuaGVhZGxlc3MpXG4gICAgICAgICAgICBhd2FpdCBzdG9wTG9jYWxDaHJvbWUocnVudGltZUluZm8pO1xuXG4gICAgICAgIGlmIChydW50aW1lSW5mby50ZW1wUHJvZmlsZURpciAmJiAhY2xvc2luZ0luZm8uaXNSZXN0YXJ0aW5nKVxuICAgICAgICAgICAgYXdhaXQgcnVudGltZUluZm8udGVtcFByb2ZpbGVEaXIuZGlzcG9zZSgpO1xuXG4gICAgICAgIGRlbGV0ZSB0aGlzLm9wZW5lZEJyb3dzZXJzW2Jyb3dzZXJJZF07XG5cbiAgICAgICAgY2hyb21lQnJvd3NlclByb3ZpZGVyTG9nZ2VyKCdicm93c2VyIGNsb3NlZCAlcycsIGJyb3dzZXJJZCk7XG4gICAgfSxcblxuICAgIGFzeW5jIHJlc2l6ZVdpbmRvdyAoYnJvd3NlcklkLCB3aWR0aCwgaGVpZ2h0LCBjdXJyZW50V2lkdGgsIGN1cnJlbnRIZWlnaHQpIHtcbiAgICAgICAgY29uc3QgcnVudGltZUluZm8gPSB0aGlzLm9wZW5lZEJyb3dzZXJzW2Jyb3dzZXJJZF07XG5cbiAgICAgICAgaWYgKHJ1bnRpbWVJbmZvLmNvbmZpZy5tb2JpbGUpXG4gICAgICAgICAgICBhd2FpdCBydW50aW1lSW5mby5icm93c2VyQ2xpZW50LnVwZGF0ZU1vYmlsZVZpZXdwb3J0U2l6ZSgpO1xuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJ1bnRpbWVJbmZvLnZpZXdwb3J0U2l6ZS53aWR0aCAgPSBjdXJyZW50V2lkdGg7XG4gICAgICAgICAgICBydW50aW1lSW5mby52aWV3cG9ydFNpemUuaGVpZ2h0ID0gY3VycmVudEhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIGF3YWl0IHJ1bnRpbWVJbmZvLmJyb3dzZXJDbGllbnQucmVzaXplV2luZG93KHsgd2lkdGgsIGhlaWdodCB9KTtcbiAgICB9LFxuXG4gICAgYXN5bmMgc3RhcnRDYXB0dXJpbmdWaWRlbyAoYnJvd3NlcklkKSB7XG4gICAgICAgIGNvbnN0IHsgYnJvd3NlckNsaWVudCB9ID0gdGhpcy5vcGVuZWRCcm93c2Vyc1ticm93c2VySWRdO1xuXG4gICAgICAgIGF3YWl0IGJyb3dzZXJDbGllbnQuc3RhcnRDYXB0dXJpbmdWaWRlbygpO1xuICAgIH0sXG5cbiAgICBhc3luYyBzdG9wQ2FwdHVyaW5nVmlkZW8gKGJyb3dzZXJJZCkge1xuICAgICAgICBjb25zdCB7IGJyb3dzZXJDbGllbnQgfSA9IHRoaXMub3BlbmVkQnJvd3NlcnNbYnJvd3NlcklkXTtcblxuICAgICAgICBhd2FpdCBicm93c2VyQ2xpZW50LnN0b3BDYXB0dXJpbmdWaWRlbygpO1xuICAgIH0sXG5cbiAgICBhc3luYyBnZXRWaWRlb0ZyYW1lRGF0YSAoYnJvd3NlcklkKSB7XG4gICAgICAgIGNvbnN0IHsgYnJvd3NlckNsaWVudCB9ID0gdGhpcy5vcGVuZWRCcm93c2Vyc1ticm93c2VySWRdO1xuXG4gICAgICAgIHJldHVybiBicm93c2VyQ2xpZW50LmdldFZpZGVvRnJhbWVEYXRhKCk7XG4gICAgfSxcblxuICAgIGFzeW5jIGhhc0N1c3RvbUFjdGlvbkZvckJyb3dzZXIgKGJyb3dzZXJJZCkge1xuICAgICAgICBjb25zdCB7IGNvbmZpZywgYnJvd3NlckNsaWVudCB9ID0gdGhpcy5vcGVuZWRCcm93c2Vyc1ticm93c2VySWRdO1xuICAgICAgICBjb25zdCBjbGllbnQgICAgICAgICAgICAgICAgICAgID0gYXdhaXQgYnJvd3NlckNsaWVudC5nZXRBY3RpdmVDbGllbnQoKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGFzQ2xvc2VCcm93c2VyOiAgICAgICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgaGFzUmVzaXplV2luZG93OiAgICAgICAgICAgICAgICAhIWNsaWVudCAmJiAoY29uZmlnLmVtdWxhdGlvbiB8fCBjb25maWcuaGVhZGxlc3MpLFxuICAgICAgICAgICAgaGFzTWF4aW1pemVXaW5kb3c6ICAgICAgICAgICAgICAhIWNsaWVudCAmJiBjb25maWcuaGVhZGxlc3MsXG4gICAgICAgICAgICBoYXNUYWtlU2NyZWVuc2hvdDogICAgICAgICAgICAgICEhY2xpZW50LFxuICAgICAgICAgICAgaGFzQ2hyb21lbGVzc1NjcmVlbnNob3RzOiAgICAgICAhIWNsaWVudCxcbiAgICAgICAgICAgIGhhc0dldFZpZGVvRnJhbWVEYXRhOiAgICAgICAgICAgISFjbGllbnQsXG4gICAgICAgICAgICBoYXNDYW5SZXNpemVXaW5kb3dUb0RpbWVuc2lvbnM6IGZhbHNlLFxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBhc3luYyBfZW5zdXJlV2luZG93SXNFeHBhbmRlZCAoYnJvd3NlcklkLCB7IGhlaWdodCwgd2lkdGgsIGF2YWlsYWJsZUhlaWdodCwgYXZhaWxhYmxlV2lkdGgsIG91dGVyV2lkdGgsIG91dGVySGVpZ2h0IH0pIHtcbiAgICAgICAgaWYgKGhlaWdodCA8IE1JTl9BVkFJTEFCTEVfRElNRU5TSU9OIHx8IHdpZHRoIDwgTUlOX0FWQUlMQUJMRV9ESU1FTlNJT04pIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld0hlaWdodCA9IE1hdGgubWF4KGF2YWlsYWJsZUhlaWdodCwgTUlOX0FWQUlMQUJMRV9ESU1FTlNJT04pO1xuICAgICAgICAgICAgY29uc3QgbmV3V2lkdGggID0gTWF0aC5tYXgoTWF0aC5mbG9vcihhdmFpbGFibGVXaWR0aCAvIDIpLCBNSU5fQVZBSUxBQkxFX0RJTUVOU0lPTik7XG5cbiAgICAgICAgICAgIGF3YWl0IHRoaXMucmVzaXplV2luZG93KGJyb3dzZXJJZCwgbmV3V2lkdGgsIG5ld0hlaWdodCwgb3V0ZXJXaWR0aCwgb3V0ZXJIZWlnaHQpO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIGFzeW5jIG9wZW5GaWxlUHJvdG9jb2wgKGJyb3dzZXJJZCwgdXJsKSB7XG4gICAgICAgIGNvbnN0IGNkcENsaWVudCA9IGF3YWl0IHRoaXMuX2dldEFjdGl2ZUNEUENsaWVudChicm93c2VySWQpO1xuXG4gICAgICAgIGF3YWl0IG5hdmlnYXRlVG8oY2RwQ2xpZW50LCB1cmwpO1xuICAgIH0sXG5cbiAgICBhc3luYyBkaXNwYXRjaE5hdGl2ZUF1dG9tYXRpb25FdmVudCAoYnJvd3NlcklkLCB0eXBlLCBvcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IGNkcENsaWVudCA9IGF3YWl0IHRoaXMuX2dldEFjdGl2ZUNEUENsaWVudChicm93c2VySWQpO1xuXG4gICAgICAgIGF3YWl0IGRpc3BhdGNoTmF0aXZlQXV0b21hdGlvbkV2ZW50KGNkcENsaWVudCwgdHlwZSwgb3B0aW9ucyk7XG4gICAgfSxcblxuICAgIGFzeW5jIGRpc3BhdGNoTmF0aXZlQXV0b21hdGlvbkV2ZW50U2VxdWVuY2UgKGJyb3dzZXJJZCwgZXZlbnRTZXF1ZW5jZSkge1xuICAgICAgICBjb25zdCBjZHBDbGllbnQgPSBhd2FpdCB0aGlzLl9nZXRBY3RpdmVDRFBDbGllbnQoYnJvd3NlcklkKTtcblxuICAgICAgICBmb3IgKGNvbnN0IGV2ZW50IG9mIGV2ZW50U2VxdWVuY2UpIHtcbiAgICAgICAgICAgIGlmIChldmVudC50eXBlID09PSBFdmVudFR5cGUuRGVsYXkpXG4gICAgICAgICAgICAgICAgYXdhaXQgZGVsYXkoZXZlbnQub3B0aW9ucy5kZWxheSk7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgYXdhaXQgZGlzcGF0Y2hOYXRpdmVBdXRvbWF0aW9uRXZlbnQoY2RwQ2xpZW50LCBldmVudC50eXBlLCBldmVudC5vcHRpb25zKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBzdXBwb3J0TmF0aXZlQXV0b21hdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH0sXG5cbiAgICBnZXROYXRpdmVBdXRvbWF0aW9uIChicm93c2VySWQpIHtcbiAgICAgICAgY29uc3QgcnVudGltZUluZm8gPSB0aGlzLm9wZW5lZEJyb3dzZXJzW2Jyb3dzZXJJZF07XG5cbiAgICAgICAgcmV0dXJuIHJ1bnRpbWVJbmZvLm5hdGl2ZUF1dG9tYXRpb247XG4gICAgfSxcbn07XG4iXX0=
@@ -5543,7 +5543,7 @@ window['%hammerhead%'].utils.removeInjectedScript();
5543
5543
  var raiseDefault = eventSimulator$a.keyup(getDeepActiveElement(this.topSameDomainDocument), extend$2(eventOptions, modifiersState));
5544
5544
  var activeElement = getDeepActiveElement(this.topSameDomainDocument);
5545
5545
  // NOTE: in some browsers we should emulate click on active input element while pressing "space" key
5546
- var emulateClick = !browserUtils$a.isFirefox && !browserUtils$a.isSafari &&
5546
+ var emulateClick = !browserUtils$a.isSafari &&
5547
5547
  (!browserUtils$a.isChrome || browserUtils$a.version >= 53);
5548
5548
  if (emulateClick && raiseDefault && this.sanitizedKey === 'space' &&
5549
5549
  KeyPressSimulator._isKeyActivatedInputElement(activeElement))
@@ -1 +1 @@
1
- window["%hammerhead%"].utils.removeInjectedScript(),function _f(Pf){var xf=Pf.document;!function(m,e,g,i){var y="default"in m?m.default:m;e=e&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e;var E="default"in g?g.default:g;i=i&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i;var n=y.nativeMethods,o=/^((mouse\w+)|((dbl)?click)|(contextmenu))$/,r=/^((drag\w*)|(drop))$/,s=/^key\w+$/,l=/^(before)?input$/,a=/^(blur|(focus(in|out)?))$/,u=/^pointer\w+/,c={click:1,dblclick:2,mousedown:1,mouseup:1},h="MouseEvent",f="PointerEvent",d="KeyboardEvent",p="InputEvent",v="FocusEvent",t=(b.prototype.run=function(){var t=this.options,e=t.bubbles,n=t.cancelable,i=t.detail,o=(t.view,t.buttons),e=!1!==e,n=!1!==n,i=i||c[this.eventName],o=void 0===o?1:o;Object.assign(this.options,{bubbles:e,cancelable:n,detail:i,view:Pf,buttons:o});var r,s=b._getEventCtorByEventType(this.eventName,this.options.eventConstructor);s&&(r=new s(this.eventName,this.options),this.element.dispatchEvent(r))},b._getEventCtorByEventType=function(t,e){if(e&&"function"==typeof b._getEventCtorFromWindow(e)){var n=b._getEventCtorFromNativeMethods(e);if(n&&"function"==typeof n)return n}return o.test(t)||r.test(t)?b._getEventCtorFromNativeMethods(h):u.test(t)?b._getEventCtorFromNativeMethods(f):s.test(t)?b._getEventCtorFromNativeMethods(d):l.test(t)?b._getEventCtorFromNativeMethods(p):a.test(t)?b._getEventCtorFromNativeMethods(v):b._getEventCtorFromNativeMethods("CustomEvent")},b._getEventCtorFromNativeMethods=function(t){return n["Window"+t]||b._getEventCtorFromWindow(t)},b._getEventCtorFromWindow=function(t){return Pf[t]},b);function b(t,e,n){this.element=t,this.eventName=e,this.options=n}var S=function(t,e){return(S=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)};function w(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}S(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var _=function(){return(_=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};function P(t,s,l,a){return new(l=l||e)(function(n,e){function i(t){try{r(a.next(t))}catch(t){e(t)}}function o(t){try{r(a.throw(t))}catch(t){e(t)}}function r(t){var e;t.done?n(t.value):((e=t.value)instanceof l?e:new l(function(t){t(e)})).then(i,o)}r((a=a.apply(t,s||[])).next())})}function x(n,i){var o,r,s,l={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]},a={next:t(0),throw:t(1),return:t(2)};return"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function t(e){return function(t){return function(e){if(o)throw new TypeError("Generator is already executing.");for(;a&&e[a=0]&&(l=0),l;)try{if(o=1,r&&(s=2&e[0]?r.return:e[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,e[1])).done)return s;switch(r=0,s&&(e=[2&e[0],s.value]),e[0]){case 0:case 1:s=e;break;case 4:return l.label++,{value:e[1],done:!1};case 5:l.label++,r=e[1],e=[0];continue;case 7:e=l.ops.pop(),l.trys.pop();continue;default:if(!(s=0<(s=l.trys).length&&s[s.length-1])&&(6===e[0]||2===e[0])){l=0;continue}if(3===e[0]&&(!s||e[1]>s[0]&&e[1]<s[3])){l.label=e[1];break}if(6===e[0]&&l.label<s[1]){l.label=s[1],s=e;break}if(s&&l.label<s[2]){l.label=s[2],l.ops.push(e);break}s[2]&&l.ops.pop(),l.trys.pop();continue}e=i.call(n,l)}catch(t){e=[6,t],r=0}finally{o=s=0}if(5&e[0])throw e[1];return{value:e[0]?e[1]:void 0,done:!0}}([e,t])}}}var A=(C.create=function(t){return"left"in t?new C(t.left,t.top):"right"in t?new C(t.right,t.bottom):new C(t.x,t.y)},C.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this},C.prototype.sub=function(t){return this.x-=t.x,this.y-=t.y,this},C.prototype.round=function(t){return void 0===t&&(t=Math.round),this.x=t(this.x),this.y=t(this.y),this},C.prototype.eql=function(t){return this.x===t.x&&this.y===t.y},C.prototype.mul=function(t){return this.x*=t,this.y*=t,this},C.prototype.distance=function(t){return Math.sqrt(Math.pow(this.x-t.x,2)+Math.pow(this.y-t.y,2))},C);function C(t,e){this.x=t,this.y=e}function T(t){var e="array"+t.charAt(0).toUpperCase()+t.slice(1),n=m.nativeMethods[e];return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return n.call.apply(n,t)}}T("filter"),T("map"),T("slice"),T("splice"),T("unshift"),T("forEach"),T("indexOf");var M=T("some"),D=(T("reverse"),T("reduce"),T("concat"),T("join"),T("every"),y.utils.browser,y.nativeMethods),I=(y.utils.style.get,y.utils.dom.getActiveElement,y.utils.dom.findDocument),U=y.utils.dom.find,k=(y.utils.dom.isElementInDocument,y.utils.dom.isElementInIframe),O=y.utils.dom.getIframeByElement,N=(y.utils.dom.isCrossDomainWindows,y.utils.dom.getSelectParent,y.utils.dom.getChildVisibleIndex,y.utils.dom.getSelectVisibleChildren,y.utils.dom.isElementNode),B=(y.utils.dom.isTextNode,y.utils.dom.isRenderedNode,y.utils.dom.isIframeElement,y.utils.dom.isInputElement,y.utils.dom.isButtonElement,y.utils.dom.isFileInput,y.utils.dom.isTextAreaElement,y.utils.dom.isAnchorElement,y.utils.dom.isImgElement),F=(y.utils.dom.isFormElement,y.utils.dom.isLabelElement,y.utils.dom.isSelectElement,y.utils.dom.isRadioButtonElement,y.utils.dom.isColorInputElement,y.utils.dom.isCheckboxElement,y.utils.dom.isOptionElement,y.utils.dom.isSVGElement,y.utils.dom.isMapElement),L=y.utils.dom.isBodyElement,K=y.utils.dom.isHtmlElement,V=(y.utils.dom.isDocument,y.utils.dom.isWindow,y.utils.dom.isTextEditableInput,y.utils.dom.isTextEditableElement,y.utils.dom.isTextEditableElementAndEditingAllowed,y.utils.dom.isContentEditableElement,y.utils.dom.isDomElement,y.utils.dom.isShadowUIElement,y.utils.dom.isShadowRoot,y.utils.dom.isElementFocusable,y.utils.dom.isHammerheadAttr,y.utils.dom.isElementReadOnly,y.utils.dom.getScrollbarSize),R=y.utils.dom.getMapContainer,Y=y.utils.dom.getTagName,W=y.utils.dom.closest,X=y.utils.dom.getParents,H=y.utils.dom.findParent;function q(t,e){return t.contains?t.contains(e):M(t,function(t){return t.contains(e)})}function G(t){var e=[];U(xf,"*",function(t){"IFRAME"===t.tagName&&e.push(t),t.shadowRoot&&U(t.shadowRoot,"iframe",function(t){return e.push(t)})});for(var n=0;n<e.length;n++)if(D.contentWindowGetter.call(e[n])===t)return e[n];return null}function z(t){return D.nodeTextContentGetter.call(t)}y.utils.dom.getTopSameDomainWindow,y.utils.dom.getParentExceptShadowRoot;var j=($.create=function(t){return new $(t.top,t.right,t.bottom,t.left)},$.prototype.add=function(t){return this.top+=t.top,this.right+=t.right,this.bottom+=t.bottom,this.left+=t.left,this},$.prototype.sub=function(t){return"top"in t&&(this.top-=t.top,this.left-=t.left),this.bottom-=t.bottom,this.right-=t.right,this},$.prototype.round=function(t,e){return void 0===t&&(t=Math.round),void 0===e&&(e=t),this.top=t(this.top),this.right=e(this.right),this.bottom=e(this.bottom),this.left=t(this.left),this},$.prototype.contains=function(t){return t.x>=this.left&&t.x<=this.right&&t.y>=this.top&&t.y<=this.bottom},$);function $(t,e,n,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===n&&(n=0),void 0===i&&(i=0),this.top=t,this.right=e,this.bottom=n,this.left=i}var Q=y.utils.style,Z=y.utils.style.getBordersWidth,J=(y.utils.style.getComputedStyle,y.utils.style.getElementMargin,y.utils.style.getElementPadding),tt=y.utils.style.getElementScroll,et=(y.utils.style.getOptionHeight,y.utils.style.getSelectElementSize,y.utils.style.isElementVisible,y.utils.style.isVisibleChild,y.utils.style.getWidth),nt=y.utils.style.getHeight,it=y.utils.style.getInnerWidth,ot=y.utils.style.getInnerHeight,rt=y.utils.style.getScrollLeft,st=y.utils.style.getScrollTop,lt=y.utils.style.setScrollLeft,at=y.utils.style.setScrollTop,ut=y.utils.style.get,ct=y.utils.style.getBordersWidthFloat,ht=y.utils.style.getElementPaddingFloat;function ft(t){return N(t)&&"fixed"===Q.get(t,"position")}y.shadowUI,y.nativeMethods;var dt=function(t,e,n,i,o,r){this.width=t,this.height=e,this.left=n.x,this.top=n.y,this.right=n.x+t,this.bottom=n.y+e,this.border=i,this.scrollbar=r,this.scroll=o},mt={notElementOrTextNode:function(t){return"\n The ".concat(t," is neither a DOM element nor a text node.\n ")},elOutsideBounds:function(t,e){return"\n The ".concat(e," (").concat(t,") is located outside the the layout viewport.\n ")},elHasWidthOrHeightZero:function(t,e,n,i){return"\n The ".concat(e," (").concat(t,") is too small to be visible: ").concat(n,"px x ").concat(i,"px.\n ")},elHasDisplayNone:function(t,e){return"\n The ".concat(e," (").concat(t,") is invisible. \n The value of its 'display' property is 'none'.\n ")},parentHasDisplayNone:function(t,e,n){return"\n The ".concat(e," (").concat(t,") is invisible. \n It descends from an element that has the 'display: none' property (").concat(n,").\n ")},elHasVisibilityHidden:function(t,e){return"\n The ".concat(e," (").concat(t,") is invisible.\n The value of its 'visibility' property is 'hidden'.\n ")},parentHasVisibilityHidden:function(t,e,n){return"\n The ".concat(e," (").concat(t,") is invisible.\n It descends from an element that has the 'visibility: hidden' property (").concat(n,").\n ")},elHasVisibilityCollapse:function(t,e){return"\n The ".concat(e," (").concat(t,") is invisible.\n The value of its 'visibility' property is 'collapse'.\n ")},parentHasVisibilityCollapse:function(t,e,n){return"\n The ".concat(e," (").concat(t,") is invisible.\n It descends from an element that has the 'visibility: collapse' property (").concat(n,").\n ")},elNotRendered:function(t,e){return"\n The ".concat(e," (").concat(t,") has not been rendered.\n ")},optionNotVisible:function(t,e,n){return"\n The ".concat(e," (").concat(t,") is invisible. \n The parent element (").concat(n,") is collapsed, and its length is shorter than 2.\n ")},mapContainerNotVisible:function(t,e){return"\n The action target (".concat(t,") is invisible because ").concat(e,"\n ")}},pt=y.utils.html,vt=y.nativeMethods,gt=10;function yt(t){if(!t)return"";var e,n,i,o=vt.cloneNode.call(t),r=pt.cleanUpHtml(vt.elementOuterHTMLGetter.call(o)),s=(e=vt.nodeTextContentGetter.call(t),n=gt,void 0===i&&(i="..."),e.length<n?e:e.substring(0,n-i.length)+i),l=vt.elementChildrenGetter.call(t);return 0<vt.htmlCollectionLengthGetter.call(l)?r.replace("></",">...</"):s?r.replace("></",">".concat(s,"</")):r}var Et=y.utils.position.getElementRectangle,bt=y.utils.position.getOffsetPosition,St=y.utils.position.offsetToClientCoords;function wt(t){var e,n,i,o,r=K(t),s=r?t.getElementsByTagName("body")[0]:null,l=t.getBoundingClientRect(),a=j.create(Z(t)),u=tt(t),c=k(t),h="BackCompat"===t.ownerDocument.compatMode,f=r?new A(0,0):A.create(l),d=l.height,m=l.width;r&&(m=s&&h?(d=s.clientHeight,s.clientWidth):(d=t.clientHeight,t.clientWidth)),!c||(e=O(t))&&(n=bt(e),i=St(A.create(n)),o=Z(e),f.add(i).add(A.create(o)),r&&a.add(o));var p=!r&&it(t)!==t.clientWidth,v=!r&&ot(t)!==t.clientHeight,g={right:p?V():0,bottom:v?V():0};return new dt(m,d,f,a,u,g)}function _t(t){var e=t.x,n=t.y,i=xf.getElementFromPoint||xf.elementFromPoint,o=null;try{o=i.call(xf,e,n)}catch(t){return null}for(null===o&&(o=i.call(xf,e-1,n-1));o&&o.shadowRoot&&o.shadowRoot.elementFromPoint;){var r=o.shadowRoot.elementFromPoint(e,n);if(!r||o===r)break;o=r}return o}function Pt(t,e,n){var i=wt(t),o=Math.max(t.scrollWidth,i.width),r=Math.max(t.scrollHeight,i.height),s=i.scrollbar.right+i.border.left+i.border.right+o,l=i.scrollbar.bottom+i.border.top+i.border.bottom+r;return(void 0===e||0<=e&&e<=s)&&(void 0===n||0<=n&&n<=l)}function xt(t){var e=bt(t),n=e.left,i=e.top,o=St({x:n,y:i});return o.x=Math.round(o.x),o.y=Math.round(o.y),o}function At(n,e){return m.Promise.resolve(n===xf.documentElement).then(function(t){if(t)return new A(0,0);var e=m.utils.browser.isFirefox?Math.ceil:Math.round;return m.Promise.resolve(bt(n,e)).then(function(t){return A.create(t)})}).then(function(t){return t.add(e)})}var Ct=/auto|scroll|hidden/i,Tt="visible";function Mt(t){var e,n=ut(t,"overflowX"),i=ut(t,"overflowY"),o=Ct.test(n),r=Ct.test(i),s=I(t).documentElement,l=t.scrollHeight;return(m.utils.browser.isChrome||m.utils.browser.isFirefox||m.utils.browser.isSafari)&&(e=t.getBoundingClientRect().top,l=l-s.getBoundingClientRect().top+e),(o||r)&&l>s.scrollHeight}function Dt(t){if(L(t))return Mt(t);if(K(t))return function(t){var e=ut(t,"overflowX"),n=ut(t,"overflowY");if("hidden"===e&&"hidden"===n)return!1;var i=t.scrollHeight>t.clientHeight,o=t.scrollWidth>t.clientWidth;if(i||o)return!0;var r=t.getElementsByTagName("body")[0];if(!r)return!1;if(Mt(r))return!1;var s=Math.min(t.clientWidth,r.clientWidth),l=Math.min(t.clientHeight,r.clientHeight);return r.scrollHeight>l||r.scrollWidth>s}(t);var e,n,i,o,r,s=(n=ut(e=t,"overflowX"),i=ut(e,"overflowY"),o=Ct.test(n),r=Ct.test(i),m.utils.browser.isIE&&(o=o||r&&n===Tt,r=r||o&&i===Tt),new A(o,r));if(!s.x&&!s.y)return!1;var l=s.y&&t.scrollHeight>t.clientHeight;return s.x&&t.scrollWidth>t.clientWidth||l}function It(i,o){return P(this,void 0,void 0,function(){var e,n;return x(this,function(t){switch(t.label){case 0:return[4,tt(i)];case 1:return e=t.sent(),n=Dt(i),!/html/i.test(i.tagName)&&n&&(o.x-=e.left,o.y-=e.top),[2,St(o)]}})})}function Ut(t){if(!t)return null;var e,n,i=(e=Pf.screenLeft||Pf.screenX,n=Pf.screenTop||Pf.screenY,new A(e,n)),o=i.x,r=i.y,s=o+t.x,l=r+t.y;return new A(s,l)}function kt(t){var e=t/2;return e<1?0:Math.round(e)}function Ot(t){var e=Et(t);return{offsetX:kt(e.width),offsetY:kt(e.height)}}function Nt(t,e,n){var i=Ot(t);if(e="number"==typeof e?Math.round(e):i.offsetX,n="number"==typeof n?Math.round(n):i.offsetY,0<e&&0<n)return{offsetX:e,offsetY:n};var o=wt(t),r=Math.round(Math.max(t.scrollWidth,o.width)),s=Math.round(Math.max(t.scrollHeight,o.height)),l=o.scrollbar.right+o.border.left+o.border.right+r,a=o.scrollbar.bottom+o.border.top+o.border.bottom+s;return{offsetX:e<0?l+e:e,offsetY:n<0?a+n:n}}var Bt=E.positionUtils;function Ft(e,n){return void 0===n&&(n=!1),i.hide(n).then(function(){var t=Bt.getElementFromPoint(e);return i.show(n).then(function(){return t})})}function Lt(t,n){return m.Promise.resolve(_t(t)).then(function(e){return m.Promise.resolve(q(n,e)).then(function(t){return t&&z(e)}).then(function(t){return t||e&&e===n?e:null})})}function Kt(n,i){if(!i||!n||n===i)return n;if("tref"===Y(i))return i;var e,o,t="area"===Y(i)&&B(n);return m.utils.browser.isFirefox&&t?(e=n,o=i,m.Promise.resolve(W(o,"map")).then(function(t){return t&&t.name===e.useMap.substring(1)?o:e})):m.Promise.resolve(W(i,"a")).then(function(t){return!!t}).then(function(t){return!!t&&m.Promise.resolve(q(i,n)).then(function(t){return t&&z(n)}).then(function(t){return!t&&z(i)})}).then(function(t){return t?m.Promise.resolve(wt(i)).then(function(e){return Lt({x:e.right-1,y:e.top+1},i).then(function(t){return t||Lt({x:e.left+1,y:e.bottom-1},i)}).then(function(t){return t||n})}):n})}function Vt(n,i,o){return Ft(n).then(function(t){var e=m.Promise.resolve(t);return!t&&m.utils.dom.isIframeWindow(i||Pf)&&0<n.x&&0<n.y&&(e=e.then(function(){return Ft(n,!0)})),e.then(function(t){return Kt(t,o)})})}function Rt(t,e){this.code=t,this.isTestCafeError=!0,this.callsite=e||null}var Yt,Wt,Xt,Ht="E1",qt="E4",Gt="E5",zt="E9",jt="E10",$t="E11",Qt="E12",Zt="E24",Jt="E26",te="E27",ee="E28",ne="E29",ie="E30",oe="E31",re="E32",se="E33",le="E34",ae="E35",ue="E36",ce="E37",he="E39",fe="E40",de="E41",me="E42",pe="E43",ve="E44",ge="E45",ye="E46",Ee="E49",be="E50",Se="E51",we="E52",_e="E57",Pe="E64",xe="E65",Ae="E68",Ce="E69",Te="E70",Me="E71",De="E72",Ie="E73",Ue="E74",ke="E76",Oe="E77",Ne="E78",Be="E82",Fe="E83",Le="E90",Ke="E91",Ve="E92",Re="E93",Ye="E94",We="E95",Xe="E97",He="E99",qe="E100",Ge="E101",ze="E102",je=(w($e,Yt=Rt),$e);function $e(t,e,n){var i=Yt.call(this,t)||this;return i.optionName=e,i.actualValue=n,i}function Qe(t,e){var n=Wt.call(this,Ee,e)||this;return n.instantiationCallsiteName=t,n}function Ze(t,e){var n=Xt.call(this,be,e)||this;return n.instantiationCallsiteName=t,n}w(Qe,Wt=Rt),w(Ze,Xt=Rt);var Je,tn,en,nn,on,rn,sn,ln,an=(w(un,Je=Rt),un);function un(t,e,n){var i=void 0===e?{}:e,o=i.apiFnChain,r=i.apiFnIndex,s=i.reason,l=Je.call(this,t,n)||this;return l.apiFnChain=o,l.apiFnIndex=r,l.reason=s,l}function cn(t){return tn.call(this,Se,t)||this}function hn(t,e){return en.call(this,we,e,t)||this}function fn(t,e){var n=nn.call(this,Ht)||this;return n.errStack=t,n.pageDestUrl=e,n}function dn(t,e,n){var i=on.call(this,qt,n)||this;return i.errMsg=String(e),i.instantiationCallsiteName=t,i}function mn(t,e,n,i){var o=rn.call(this,Gt,i)||this;return o.errMsg=String(e),o.property=n,o.instantiationCallsiteName=t,o}function pn(t){var e=sn.call(this,Pe)||this;return e.errMsg=String(t),e}function vn(t,e){var n=ln.call(this,xe)||this;return n.errMsg=String(t),n.moduleName=e,n}w(cn,tn=Rt),w(hn,en=an),w(fn,nn=Rt),w(dn,on=Rt),w(mn,rn=Rt),w(pn,sn=Rt),w(vn,ln=Rt);var gn,yn=(w(En,gn=je),En);function En(t,e){return gn.call(this,zt,t,e)||this}var bn,Sn=(w(wn,bn=je),wn);function wn(t,e){return bn.call(this,jt,t,e)||this}var _n,Pn=(w(xn,_n=je),xn);function xn(t,e){return _n.call(this,$t,t,e)||this}var An,Cn=(w(Tn,An=je),Tn);function Tn(t,e){return An.call(this,Qt,t,e)||this}var Mn,Dn=(w(In,Mn=je),In);function In(t,e){return Mn.call(this,Le,t,e)||this}var Un,kn=(w(On,Un=je),On);function On(t,e){return Un.call(this,Xe,t,e)||this}var Nn,Bn=(w(Fn,Nn=je),Fn);function Fn(t,e){return Nn.call(this,Ke,t,e)||this}var Ln,Kn=(w(Vn,Ln=je),Vn);function Vn(t,e){return Ln.call(this,Ve,t,e)||this}var Rn,Yn=(w(Wn,Rn=je),Wn);function Wn(t,e){return Rn.call(this,Re,t,e)||this}var Xn,Hn=(w(qn,Xn=je),qn);function qn(t,e){return Xn.call(this,Ye,t,e)||this}var Gn,zn=(w(jn,Gn=je),jn);function jn(t,e){return Gn.call(this,We,t,e)||this}var $n,Qn=(w(Zn,$n=je),Zn);function Zn(t,e){return $n.call(this,He,t,e)||this}var Jn,ti,ei=(w(ni,Jn=Rt),ni);function ni(t,e,n){var i=Jn.call(this,qe)||this;return i.objectName=t,i.propertyName=e,i.availableProperties=n,i}function ii(t,e){return ti.call(this,Zt,e,t)||this}w(ii,ti=an);var oi,ri,si,li=(w(ai,oi=an),ai);function ai(t,e){return oi.call(this,Jt,e,t)||this}function ui(t){var e=ri.call(this,te)||this;return e.nodeDescription=t,e}function ci(t,e){var n=si.call(this,ee,e)||this;return n.argumentName=t,n}w(ui,ri=Rt),w(ci,si=an);var hi,fi,di,mi,pi,vi,gi,yi,Ei,bi,Si,wi,_i,Pi,xi,Ai,Ci,Ti,Mi,Di,Ii,Ui,ki,Oi,Ni,Bi,Fi,Li,Ki,Vi,Ri,Yi,Wi=(w(Xi,hi=Rt),Xi);function Xi(t){return hi.call(this,Ge,t)||this}function Hi(t,e){var n=fi.call(this,ne,e)||this;return n.argumentName=t,n}function qi(t,e){var n=di.call(this,ie)||this;return n.argumentName=t,n.nodeDescription=e,n}function Gi(){return mi.call(this,oe)||this}function zi(){return pi.call(this,re)||this}function ji(t){var e=vi.call(this,se)||this;return e.argumentName=t,e}function $i(){return gi.call(this,ae)||this}function Qi(t){var e=yi.call(this,ue)||this;return e.argumentName=t,e}function Zi(t,e){var n=Ei.call(this,ce)||this;return n.filePaths=t,n.scannedFilePaths=e,n}function Ji(){return bi.call(this,le)||this}function to(t,e){var n=Si.call(this,de)||this;return n.properties=t?"scrollTargetY property":e?"scrollTargetX property":"scrollTargetX and scrollTargetY properties",n}function eo(t,e){var n=wi.call(this,_e)||this;return t<=0?e<=0?(n.verb="are",n.dimensions="width and height"):(n.verb="is",n.dimensions="width"):(n.verb="is",n.dimensions="height"),n}function no(t){return _i.call(this,fe,t)||this}function io(){return Pi.call(this,he)||this}function oo(){return xi.call(this,me)||this}function ro(){return Ai.call(this,Ce)||this}function so(){return Ci.call(this,Ae)||this}function lo(){return Ti.call(this,Te)||this}function ao(){return Mi.call(this,Me)||this}function uo(){return Di.call(this,Ie)||this}function co(){return Ii.call(this,Be)||this}function ho(t){var e=Ui.call(this,Ne)||this;return e.errMsg=t,e}function fo(){return ki.call(this,Ue)||this}function mo(){return Oi.call(this,ke)||this}function po(){return Ni.call(this,Oe)||this}function vo(){return Bi.call(this,De)||this}function go(){return Fi.call(this,Fe)||this}function yo(){return Li.call(this,pe)||this}function Eo(){return Ki.call(this,ve)||this}function bo(t,e){var n=Vi.call(this,ge)||this;return n.dialogType=t,n.pageUrl=e,n}function So(t,e,n){var i=Ri.call(this,ye)||this;return i.dialogType=t,i.errMsg=e,i.pageUrl=n,i}function wo(){return Yi.call(this,ze)||this}w(Hi,fi=an),w(qi,di=Rt),w(Gi,mi=Rt),w(zi,pi=Rt),w(ji,vi=Rt),w($i,gi=Rt),w(Qi,yi=Rt),w(Zi,Ei=Rt),w(Ji,bi=Rt),w(to,Si=Rt),w(eo,wi=Rt),w(no,_i=Rt),w(io,Pi=Rt),w(oo,xi=Rt),w(ro,Ai=Rt),w(so,Ci=Rt),w(lo,Ti=Rt),w(ao,Mi=Rt),w(uo,Di=Rt),w(co,Ii=Rt),w(ho,Ui=Rt),w(fo,ki=Rt),w(mo,Oi=Rt),w(po,Ni=Rt),w(vo,Bi=Rt),w(go,Fi=Rt),w(yo,Li=Rt),w(Eo,Ki=Rt),w(bo,Vi=Rt),w(So,Ri=Rt),w(wo,Yi=Rt);var _o=(Object.defineProperty(Po.prototype,"mouseActionStepDelay",{get:function(){return 1===this._speedFactor?10:400*(1-this._speedFactor)},enumerable:!1,configurable:!0}),Object.defineProperty(Po.prototype,"keyActionStepDelay",{get:function(){return 1===this._speedFactor?10:200*(1-this._speedFactor)},enumerable:!1,configurable:!0}),Object.defineProperty(Po.prototype,"cursorSpeed",{get:function(){return Math.pow(400,this._speedFactor)/4},enumerable:!1,configurable:!0}),Object.defineProperty(Po.prototype,"draggingSpeed",{get:function(){return Math.pow(16,this._speedFactor)/4},enumerable:!1,configurable:!0}),Po);function Po(t){this._speedFactor=t||1}var xo=y.Promise,Ao=y.nativeMethods;function Co(e){return new xo(function(t){return Ao.setTimeout.call(Pf,t,e)})}function To(){return Co(0)}var Mo=Object.prototype.toString,Do=String.prototype.indexOf,Io=String.prototype.endsWith||function(t,e){var n=Mo.call(this);(void 0===e||e>n.length)&&(e=n.length),e-=t.length;var i=Do.call(n,t,e);return-1!==i&&i===e},Uo=Array.prototype.indexOf,ko=Array.prototype.map,Oo=Array.prototype.sort,No=Array.prototype.filter,Bo=Array.prototype.concat,Fo="Command",Lo=(Ko.prototype.getAssignableProperties=function(){return[]},Ko.prototype.getAllAssignableProperties=function(){for(var t=Object.getPrototypeOf(this),e=[];t&&t.getAssignableProperties;)e=Bo.call(e,t.getAssignableProperties()),t=Object.getPrototypeOf(t);return e},Ko.prototype.getNonReportedProperties=function(){return[]},Ko.prototype.getReportedProperties=function(){var t=ko.call(this.getAllAssignableProperties(),function(t){return t.name}),e=this.getNonReportedProperties();return No.call(t,function(t){return!(-1<Uo.call(e,t))})},Ko.prototype._assignFrom=function(t,e,n){if(void 0===n&&(n={}),t){e&&function(t,e){var n,i=e.constructor.name,o=ko.call(e.getAllAssignableProperties(),function(t){return t.name}),r=Oo.call(e.getReportedProperties());for(n in t)if(!(-1<Uo.call(o,n)||n in e))throw new ei(i,n,r)}(t,this);for(var i,o,r=this.getAllAssignableProperties(),s=0;s<r.length;s++){var l=r[s],a=l.name,u=l.type,c=l.required,h=l.init,f=l.defaultValue;void 0!==f&&(this[a]=f);var d=t[a];void 0===d&&!c||(e&&u&&u((i=this.constructor.name,o=a,Io.call(i,Fo)?o:"".concat(i,".").concat(o)),d),this[a]=h?h(a,d,n,e):d)}}},Ko);function Ko(){}function Vo(i){return function(t,e){var n=typeof e;if("number"!=n)throw new i(t,n);if(isNaN(e)||!isFinite(e)||e!==Math.floor(e))throw new i(t,e)}}var Ro,Yo,Wo,Xo,Ho,qo,Go,zo,jo,$o,Qo,Zo,Jo,tr=Vo(yn),er=(Yo=Vo(Ro=Sn),function(t,e){if(Yo(t,e),e<0)throw new Ro(t,e)}),nr=(Wo=Pn,function(t,e){var n=typeof e;if("boolean"!=n)throw new Wo(t,n)}),ir=(Xo=Cn,function(t,e){var n=typeof e;if("number"!=n)throw new Xo(t,n);if(isNaN(e)||e<.01||1<e)throw new Xo(t,e)}),or=(Ho=Dn,function(t,e){var n=typeof e;if("string"!=n)throw new Ho(t,n)}),rr=(qo=kn,function(t,e){var n=typeof e;if("string"!=n&&!(e instanceof RegExp))throw new qo(t,n)}),sr=(Go=Bn,function(t,e){if(!(e instanceof Date))throw new Go(t,e)}),lr=(zo=Kn,function(t,e){if(isNaN(Number(e)))throw new zo(t,typeof e)}),ar=(jo=Yn,function(t,e){var n=typeof e;if("string"!=n&&!(e instanceof URL))throw new jo(t,n)}),ur=($o=Hn,function(t,e){var n=typeof e;if("object"!=n&&!(e instanceof URLSearchParams))throw new $o(t,n)}),cr=(Qo=zn,function(t,e){var n=typeof e;if("object"!=n)throw new Qo(t,n)}),hr=(Zo=Qn,function(t,e){var n=typeof e;if("function"!=n)throw new Zo(t,n)}),fr=(w(dr,Jo=Lo),dr.prototype.getAssignableProperties=function(){return[{name:"speed",type:ir}]},dr);function dr(t,e){var n=Jo.call(this)||this;return n.speed=null,n._assignFrom(t,e),n}var mr,pr=(w(vr,mr=fr),vr.prototype.getAssignableProperties=function(){return[{name:"offsetX",type:tr},{name:"offsetY",type:tr},{name:"isDefaultOffset",type:nr}]},vr);function vr(t,e){var n=mr.call(this)||this;return n.offsetX=null,n.offsetY=null,n._assignFrom(t,e),n}var gr,yr=(w(Er,gr=pr),Er.prototype.getAssignableProperties=function(){return[{name:"scrollToCenter",type:nr},{name:"skipParentFrames",type:nr}]},Er);function Er(t,e){var n=gr.call(this)||this;return n.scrollToCenter=!1,n.skipParentFrames=!1,n._assignFrom(t,e),n}var br,Sr,wr=(w(_r,br=Lo),_r.prototype.getAssignableProperties=function(){return[{name:"left",type:tr,defaultValue:null},{name:"right",type:tr,defaultValue:null},{name:"top",type:tr,defaultValue:null},{name:"bottom",type:tr,defaultValue:null}]},_r);function _r(t,e){var n=br.call(this)||this;return n._assignFrom(t,e),n}function Pr(t,e){var n=Sr.call(this)||this;return n.scrollTargetX=null,n.scrollTargetY=null,n.includeMargins=!1,n.includeBorders=!0,n.includePaddings=!0,n.crop={left:null,right:null,top:null,bottom:null},n._assignFrom(t,e),n}w(Pr,Sr=fr),Pr.prototype.getAssignableProperties=function(){return[{name:"scrollTargetX",type:tr},{name:"scrollTargetY",type:tr},{name:"crop",type:cr,init:fs},{name:"includeMargins",type:nr},{name:"includeBorders",type:nr},{name:"includePaddings",type:nr}]};var xr,Ar=(w(Cr,xr=Lo),Cr.prototype.getAssignableProperties=function(){return[{name:"ctrl",type:nr,defaultValue:!1},{name:"alt",type:nr,defaultValue:!1},{name:"shift",type:nr,defaultValue:!1},{name:"meta",type:nr,defaultValue:!1}]},Cr);function Cr(t,e){var n=xr.call(this)||this;return n._assignFrom(t,e),n}var Tr,Mr=(w(Dr,Tr=pr),Dr.prototype.getAssignableProperties=function(){return[{name:"modifiers",type:cr,init:ds}]},Dr);function Dr(t,e){var n=Tr.call(this)||this;return n.modifiers={ctrl:!1,alt:!1,shift:!1,meta:!1},n._assignFrom(t,e),n}var Ir,Ur=(w(kr,Ir=Mr),kr.prototype.getAssignableProperties=function(){return[{name:"caretPos",type:er}]},kr);function kr(t,e){var n=Ir.call(this)||this;return n.caretPos=null,n._assignFrom(t,e),n}var Or,Nr=(w(Br,Or=Mr),Br.prototype.getAssignableProperties=function(){return[{name:"speed"},{name:"minMovingTime"},{name:"holdLeftButton"},{name:"skipScrolling",type:nr},{name:"skipDefaultDragBehavior",type:nr}]},Br);function Br(t,e){var n=Or.call(this)||this;return n.speed=null,n.minMovingTime=null,n.holdLeftButton=!1,n.skipScrolling=!1,n.skipDefaultDragBehavior=!1,n._assignFrom(t,e),n}var Fr,Lr,Kr,Vr,Rr,Yr,Wr=(w(Xr,Fr=Ur),Xr.prototype.getAssignableProperties=function(){return[{name:"replace",type:nr},{name:"paste",type:nr},{name:"confidential",type:nr}]},Xr);function Xr(t,e){var n=Fr.call(this)||this;return n.replace=!1,n.paste=!1,n.confidential=void 0,n._assignFrom(t,e),n}function Hr(t,e){var n=Lr.call(this,t,e)||this;return n.destinationOffsetX=null,n.destinationOffsetY=null,n._assignFrom(t,e),n}function qr(t,e){var n=Kr.call(this)||this;return n.portraitOrientation=!1,n._assignFrom(t,e),n}function Gr(t,e){var n=Vr.call(this)||this;return n.timeout=void 0,n.allowUnawaitedPromise=!1,n._assignFrom(t,e),n}function zr(t,e){var n=Rr.call(this)||this;return n.confidential=void 0,n._assignFrom(t,e),n}function jr(t,e){var n=Yr.call(this)||this;return n._assignFrom(t,e),n}w(Hr,Lr=Mr),Hr.prototype.getAssignableProperties=function(){return[{name:"destinationOffsetX",type:tr},{name:"destinationOffsetY",type:tr}]},w(qr,Kr=Lo),qr.prototype.getAssignableProperties=function(){return[{name:"portraitOrientation",type:nr}]},w(Gr,Vr=Lo),Gr.prototype.getAssignableProperties=function(){return[{name:"timeout",type:er},{name:"allowUnawaitedPromise",type:nr}]},w(zr,Rr=fr),zr.prototype.getAssignableProperties=function(){return[{name:"confidential",type:nr}]},w(jr,Yr=Lo),jr.prototype.getAssignableProperties=function(){return[{name:"name",type:or},{name:"value",type:or},{name:"domain",type:or},{name:"path",type:or},{name:"expires",type:sr},{name:"maxAge",type:lr},{name:"secure",type:nr},{name:"httpOnly",type:nr},{name:"sameSite",type:or}]};var $r,Qr=(w(Zr,$r=Lo),Zr.prototype.getAssignableProperties=function(){return[{name:"username",type:or,required:!0},{name:"password",type:or}]},Zr);function Zr(t,e){var n=$r.call(this)||this;return n._assignFrom(t,e),n}var Jr,ts,es,ns,is,os=(w(rs,Jr=Lo),rs.prototype.getAssignableProperties=function(){return[{name:"protocol",type:or},{name:"host",type:or,required:!0},{name:"port",type:lr,required:!0},{name:"auth",type:cr,init:cs}]},rs);function rs(t,e){var n=Jr.call(this)||this;return n._assignFrom(t,e),n}function ss(t,e){var n=ts.call(this)||this;return n._assignFrom(t,e),n}function ls(t,e){var n=es.call(this)||this;return n._assignFrom(t,e),n}function as(t,e){var n=ns.call(this)||this;return n._assignFrom(t,e),n}function us(t,e){var n=is.call(this)||this;return n._assignFrom(t,e),n}function cs(t,e,n,i){return void 0===i&&(i=!0),new Qr(e,i)}function hs(t,e,n,i){return void 0===i&&(i=!0),new os(e,i)}function fs(t,e,n,i){return void 0===i&&(i=!0),new wr(e,i)}function ds(t,e,n,i){return void 0===i&&(i=!0),new Ar(e,i)}w(ss,ts=Lo),ss.prototype.getAssignableProperties=function(){return[{name:"url",type:ar},{name:"method",type:or},{name:"headers",type:cr},{name:"params",type:ur},{name:"body"},{name:"timeout",type:lr},{name:"withCredentials",type:nr},{name:"auth",type:cr,init:cs},{name:"proxy",type:cr,init:hs},{name:"rawResponse",type:nr}]},w(ls,es=Lo),ls.prototype.getAssignableProperties=function(){return[{name:"credentials",type:lr}]},w(as,ns=Lo),as.prototype.getAssignableProperties=function(){return[{name:"stack",type:rr,required:!1},{name:"message",type:rr,required:!1},{name:"pageUrl",type:rr,required:!1}]},w(us,is=Lo),us.prototype.getAssignableProperties=function(){return[{name:"fn",type:hr,required:!0},{name:"dependencies",type:cr,required:!1}]};var ms=null,ps=function(){return ms},vs=function(t){ms=t},gs=(y.Promise,y.nativeMethods,y.eventSandbox.listeners,y.utils.browser,y.utils.event.BUTTON,y.utils.event.BUTTONS_PARAMETER);function ys(t){return t.top!==t}y.utils.event.DOM_EVENTS,y.utils.event.WHICH_PARAMETER,y.utils.event.preventDefault;var Es=y.Promise,bs=y.eventSandbox.message;function Ss(t,i,e){return new Es(function(n){bs.on(bs.SERVICE_MSG_RECEIVED_EVENT,function t(e){e.message.cmd===i&&(bs.off(bs.SERVICE_MSG_RECEIVED_EVENT,t),n(e.message))}),bs.sendServiceMsg(t,e)})}var ws=(_s.prototype.on=function(t,e){this._eventsListeners[t]||(this._eventsListeners[t]=[]),this._eventsListeners[t].push(e)},_s.prototype.once=function(n,i){var o=this;this.on(n,function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return o.off(n,i),i.apply(void 0,t)})},_s.prototype.off=function(t,e){var n=this._eventsListeners[t];n&&(this._eventsListeners[t]=m.nativeMethods.arrayFilter.call(n,function(t){return t!==e}))},_s.prototype.offAll=function(t){t?this._eventsListeners[t]=[]:this._eventsListeners={}},_s.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var i=this._eventsListeners[e];if(i)for(var o=0;o<i.length;o++)try{i[o].apply(this,t)}catch(t){if(!(t.message&&-1<t.message.indexOf("freed script")))throw t;this.off(e,i[o])}},_s);function _s(){this._eventsListeners={}}var Ps=ws,xs=m.eventSandbox.listeners;function As(){this.initialized=!1,this.stopPropagationFlag=!1,this.events=new Ps}var Cs=(As.prototype._internalListener=function(t,e,n,i,o){this.events.emit("scroll",t),this.stopPropagationFlag&&(i(),o())},As.prototype.init=function(){var n=this;this.initialized||(this.initialized=!0,xs.initElementListening(Pf,["scroll"]),xs.addFirstInternalEventBeforeListener(Pf,["scroll"],function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return n._internalListener.apply(n,t)}))},As.prototype.waitForScroll=function(t){var e=this,n=null,i=new m.Promise(function(t){n=t});return i.cancel=function(){return e.events.off("scroll",n)},this.initialized?this.handleScrollEvents(t,n):n(),i},As.prototype.handleScrollEvents=function(n,t){var e,i=this;this.events.once("scroll",t),(e=n)&&e.getRootNode&&I(e)!==e.getRootNode()&&(xs.initElementListening(n,["scroll"]),xs.addFirstInternalEventBeforeListener(n,["scroll"],function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];i._internalListener.apply(i,t),xs.cancelElementListening(n)}))},As.prototype.stopPropagation=function(){this.stopPropagationFlag=!0},As.prototype.enablePropagation=function(){this.stopPropagationFlag=!1},new As),Ts=(Ms._isScrollValuesChanged=function(t,e){return rt(t)!==e.left||st(t)!==e.top},Ms.prototype._setScroll=function(t,e){var n=this,i=e.left,o=e.top,r=K(t)?I(t):t,s={left:rt(r),top:st(r)},i=Math.max(i,0),o=Math.max(o,0),l=Cs.waitForScroll(r);return lt(r,i),at(r,o),Ms._isScrollValuesChanged(r,s)?l=l.then(function(){n._scrollWasPerformed||(n._scrollWasPerformed=Ms._isScrollValuesChanged(r,s))}):(l.cancel(),m.Promise.resolve())},Ms.prototype._getScrollToPoint=function(t,e,n){var i=Math.floor(t.width/2),o=Math.floor(t.height/2),r=this._scrollToCenter?i:Math.min(n.left,i),s=this._scrollToCenter?o:Math.min(n.top,o),l=t.scroll,a=l.left,u=l.top,c=e.x>=a+t.width-r,h=e.x<=a+r,f=e.y>=u+t.height-s,d=e.y<=u+s;return c?a=e.x-t.width+r:h&&(a=e.x-r),f?u=e.y-t.height+s:d&&(u=e.y-s),{left:a,top:u}},Ms.prototype._getScrollToFullChildView=function(t,e,n){var i,o,r,s,l,a,u={left:null,top:null},c=t.width>=e.width,h=t.height>=e.height,f=(i=e,o=t,j.create({top:i.top-o.top,left:i.left-o.left,right:o.right-i.right,bottom:o.bottom-i.bottom}).sub(o.border).sub(o.scrollbar).round(Math.ceil,Math.floor));return c&&(r=t.width-e.width,s=Math.min(n.left,r),this._scrollToCenter&&(s=r/2),f.left<s?u.left=Math.round(t.scroll.left+f.left-s):f.right<s&&(u.left=Math.round(t.scroll.left+Math.min(f.left,-f.right)+s))),h&&(l=t.height-e.height,a=Math.min(n.top,l),this._scrollToCenter&&(a=l/2),f.top<a?u.top=Math.round(t.scroll.top+f.top-a):f.bottom<a&&(u.top=Math.round(t.scroll.top+Math.min(f.top,-f.bottom)+a))),u},Ms._getChildPoint=function(t,e,n){return A.create(e).sub(A.create(t)).add(A.create(t.scroll)).add(A.create(e.border)).add(n)},Ms.prototype._getScrollPosition=function(t,e,n,i){var o=Ms._getChildPoint(t,e,n),r=this._getScrollToPoint(t,o,i),s=this._getScrollToFullChildView(t,e,i);return{left:Math.max(null===s.left?r.left:s.left,0),top:Math.max(null===s.top?r.top:s.top,0)}},Ms._getChildPointAfterScroll=function(t,e,n,i){return A.create(e).add(A.create(t.scroll)).sub(A.create(n)).add(i)},Ms.prototype._isChildFullyVisible=function(t,e,n){var i=Ms._getChildPointAfterScroll(t,e,t.scroll,n),o=this._getScrollPosition(t,e,n,{left:0,top:0}),r=o.left,s=o.top;return!this._isTargetElementObscuredInPoint(i)&&r===t.scroll.left&&s===t.scroll.top},Ms.prototype._scrollToChild=function(t,e,n){for(var i=wt(t),o=wt(e),r=it(Pf),s=ot(Pf),l=i.scroll,a=!this._isChildFullyVisible(i,o,n);a;){l=this._getScrollPosition(i,o,n,this._maxScrollMargin);var u=Ms._getChildPointAfterScroll(i,o,l,n),c=this._isTargetElementObscuredInPoint(u);this._maxScrollMargin.left+=20,this._maxScrollMargin.left>=r&&(this._maxScrollMargin.left=50,this._maxScrollMargin.top+=20),a=c&&this._maxScrollMargin.top<s}return this._maxScrollMargin={left:50,top:50},this._setScroll(t,l)},Ms.prototype._scrollElement=function(){if(!Dt(this._element))return m.Promise.resolve();var t=wt(this._element),e=this._getScrollToPoint(t,this._offsets,this._maxScrollMargin);return this._setScroll(this._element,e)},Ms.prototype._scrollParents=function(){var t,e,n,i,o,r,s=this,l=(t=this._element,i=X(t),!k(t)||(e=O(t))&&(n=X(e),i.concat(n)),m.nativeMethods.arrayFilter.call(i,Dt)),a=this._element,u=rt(a),c=st(a),h=A.create(this._offsets).sub(new A(u,c).round()),f=function(n,i){return P(this,void 0,void 0,function(){var e;return x(this,function(t){switch(t.label){case 0:e=0,t.label=1;case 1:return e<n?[4,i(e)]:[3,4];case 2:t.sent(),t.label=3;case 3:return e++,[3,1];case 4:return[2]}})})}(l.length,function(t){return s._scrollToChild(l[t],a,h).then(function(){o=wt(a),r=wt(l[t]),h.add(A.create(o)).sub(A.create(r)).add(A.create(r.border)),a=l[t]})}),d={scrollWasPerformed:this._scrollWasPerformed,offsetX:h.x,offsetY:h.y,maxScrollMargin:this._maxScrollMargin};return f.then(function(){if(!s._skipParentFrames&&ys(Pf))return d.cmd=Ms.SCROLL_REQUEST_CMD,Ss(d,Ms.SCROLL_RESPONSE_CMD,Pf.parent)}).then(function(){return s._scrollWasPerformed})},Ms._getFixedAncestorOrSelf=function(t){return H(t,!0,ft)},Ms.prototype._isTargetElementObscuredInPoint=function(t){var e=_t(t);if(!e)return!1;var n=Ms._getFixedAncestorOrSelf(e);return!!n&&!n.contains(this._element)},Ms.prototype.run=function(){var t=this;return this._scrollElement().then(function(){return t._scrollParents()})},Ms.SCROLL_REQUEST_CMD="automation|scroll|request",Ms.SCROLL_RESPONSE_CMD="automation|scroll|response",Ms);function Ms(t,e,n){this._element=t,this._offsets=new A(e.offsetX,e.offsetY),this._scrollToCenter=!!e.scrollToCenter,this._skipParentFrames=!!e.skipParentFrames,this._maxScrollMargin=n||{left:50,top:50},this._scrollWasPerformed=!1}var Ds=y.utils.browser,Is=(Us.prototype.setup=function(){this.dragAndDropMode=!1,this.dropAllowed=!1},Us.prototype.leaveElement=function(){},Us.prototype.move=function(){},Us.prototype.enterElement=function(){},Us.prototype.dragAndDrop=function(){},Us.prototype.teardown=function(){},Us.prototype.run=function(t,e,n,i,o){var r=e&&g.domUtils.isElementInDocument(e),s=e&&g.domUtils.isElementInIframe(e)&&!g.domUtils.getIframeByElement(e);r&&!s||(e=null);var l=t!==e,a=l?g.domUtils.getCommonAncestor(t,e):null;this.setup(),l&&e&&this.leaveElement(t,e,a,n),Ds.isIE&&this.move(t,n),l&&g.domUtils.isElementInDocument(t)&&this.enterElement(t,e,a,n),Ds.isIE||this.move(t,n),this.dragAndDrop(i,t,e,n,o),this.teardown(t,n,e);var u=this.dragAndDropMode,c=this.dropAllowed;return this.dragAndDropMode=!1,this.dropAllowed=!1,{dragAndDropMode:u,dropAllowed:c}},Us);function Us(t){var e=t.moveEvent;this.dragAndDropMode=!1,this.dropAllowed=!1,this.moveEvent=e}var ks=y.eventSandbox.eventSimulator,Os=y.utils.extend,Ns=y.nativeMethods,Bs=(Fs.leaveElement=function(t,e,n,i){ks.mouseout(e,Os({relatedTarget:t},i));for(var o=e;o&&o!==n;)ks.mouseleave(o,Os({relatedTarget:t},i)),o=Ns.nodeParentNodeGetter.call(o)},Fs.enterElement=function(t,e,n,i){ks.mouseover(t,Os({relatedTarget:e},i));for(var o=t,r=[];o&&o!==n;)r.push(o),o=g.domUtils.getParentExceptShadowRoot(o);for(var s=r.length-1;-1<s;s--)ks.mouseenter(r[s],Os({relatedTarget:e},i))},Fs.move=function(t,e,n){ks[t](e,n)},Fs);function Fs(){}var Ls=(Ks.dragAndDrop=function(t,e,n,i){return ks.drag(t,i),e!==n&&(g.domUtils.isElementInDocument(e)&&(i.relatedTarget=n,ks.dragenter(e,i)),n&&(i.relatedTarget=e,ks.dragleave(n,i))),!ks.dragover(e,i)},Ks);function Ks(){}var Vs,Rs=y.eventSandbox.eventSimulator,Ys=(w(Ws,Vs=Is),Ws.prototype.leaveElement=function(t,e,n,i){Bs.leaveElement(t,e,n,i)},Ws.prototype.enterElement=function(t,e,n,i){Bs.enterElement(t,e,n,i)},Ws.prototype.move=function(t,e){this._needEmulateMoveEvent()&&Bs.move(this.moveEvent,t,e)},Ws.prototype.teardown=function(t,e,n){this._needEmulateMoveEvent()&&g.domUtils.isElementInDocument(t)&&t!==n&&Rs[this.moveEvent](t,e)},Ws.prototype._needEmulateMoveEvent=function(){return"touchmove"!==this.moveEvent||this.holdLeftButton},Ws);function Ws(t){var e=Vs.call(this,t)||this;return e.holdLeftButton=t.holdLeftButton,e}var Xs,Hs=(w(qs,Xs=Is),qs.prototype.setup=function(){Xs.prototype.setup.call(this),this.dragAndDropMode=!0},qs.prototype.dragAndDrop=function(t,e,n,i){this.dropAllowed=Ls.dragAndDrop(t,e,n,i)},qs);function qs(){return null!==Xs&&Xs.apply(this,arguments)||this}var Gs,zs=y.eventSandbox.eventSimulator,js=(w($s,Gs=Is),$s.prototype.setup=function(){Gs.prototype.setup.call(this),this.dragAndDropMode=!0},$s.prototype.leaveElement=function(t,e,n,i){Bs.leaveElement(t,e,n,i)},$s.prototype.move=function(t,e){Bs.move(this.moveEvent,t,e)},$s.prototype.enterElement=function(t,e,n,i){Bs.enterElement(t,e,n,i)},$s.prototype.dragAndDrop=function(t,e,n,i,o){var r=zs.dragstart(t,i);o.setReadOnlyMode(),r?this.dropAllowed=Ls.dragAndDrop(t,e,n,i):this.dragAndDropMode=!1},$s.prototype.run=function(t,e,n,i,o){return Gs.prototype.run.call(this,t,null,n,i,o)},$s);function $s(){return null!==Gs&&Gs.apply(this,arguments)||this}function Qs(t,e,n){return new(t?e?Hs:js:Ys)(n)}function Zs(a,u,c){return P(this,void 0,void 0,function(){var e,n,i,o,r,s,l;return x(this,function(t){switch(t.label){case 0:e=!0,n=A.create(a.startPoint),i=A.create(a.endPoint).round(Math.floor),o=A.create(a.startPoint).round(Math.floor),r=A.create(a.startPoint),s=u(),t.label=1;case 1:return o.eql(i)?[3,4]:(r=A.create(o),a.needMoveImmediately?o=i:e?(e=!1,o.add({x:0<a.distance.x?1:-1,y:0<a.distance.y?1:-1})):(l=Math.min((u()-s)/a.movingTime,1),o=A.create(a.distance).mul(l).add(n).round(Math.floor)),o.eql(r)?[3,3]:[4,c(o)]);case 2:t.sent(),t.label=3;case 3:return[3,1];case 4:return[2]}})})}var Js=(tl.create=function(o,r,s,l,a){return void 0===a&&(a=null),P(this,void 0,m.Promise,function(){var e,n,i;return x(this,function(t){switch(t.label){case 0:return[4,tl.getTarget(o,s,new A(r.offsetX,r.offsetY))];case 1:return e=t.sent(),n=e.element,i=e.offset,[2,new tl(n,i,r,s,l,a)]}})})},tl.getTarget=function(e,n,i){return m.Promise.resolve(Pt(e,i.x,i.y)).then(function(t){return t?{element:e,offset:i}:m.Promise.all([At(e,i),n.document.documentElement]).then(function(t){var e=t[0];return{element:t[1],offset:e}})})},tl.prototype._getCursorSpeed=function(){return this.automationSettings.cursorSpeed},tl.prototype._getTargetClientPoint=function(){var o=this;return m.Promise.resolve(tt(this.element)).then(function(i){return K(o.element)?A.create(o.offset).sub(A.create(i)).round(Math.round):m.Promise.resolve(xt(o.element)).then(function(t){var e=L(o.element),n=A.create(t).add(o.offset);return e||n.sub(A.create(i)),n.round(Math.floor)})})},tl.prototype._getEventSequenceOptions=function(t){var e=gs.noButton,n=Ut(t);return{eventOptions:{clientX:t.x,clientY:t.y,screenX:null==n?void 0:n.x,screenY:null==n?void 0:n.y,buttons:e,ctrl:this.modifiers.ctrl,alt:this.modifiers.alt,shift:this.modifiers.shift,meta:this.modifiers.meta},eventSequenceOptions:{moveEvent:this.moveEvent}}},tl.prototype._runEventSequence=function(t,e){var n=e.eventOptions,i=e.eventSequenceOptions;return Qs(!1,this.firstMovingStepOccured,i).run(t,ps(),n,null,null)},tl.prototype._emulateEvents=function(t,e){var n=this._getEventSequenceOptions(e);this._runEventSequence(t,n),this.firstMovingStepOccured=!0,vs(t)},tl.prototype._movingStep=function(n){var i=this;return this.cursor.move(n).then(function(){return Ft(i.cursor.getPosition())}).then(function(t){var e=i._getCorrectedTopElement(t);return e?i._emulateEvents(e,n):null}).then(To)},tl.prototype._getCorrectedTopElement=function(t){return t},tl.prototype._move=function(l){return P(this,void 0,m.Promise,function(){var e,n,i,o,r,s=this;return x(this,function(t){switch(t.label){case 0:return e=this.cursor.getPosition(),n=A.create(l).sub(e),i=Math.max(Math.max(Math.abs(n.x),Math.abs(n.y))/this.cursorSpeed,this.minMovingTime),o={startPoint:e,endPoint:l,movingTime:i,distance:n,needMoveImmediately:this._needMoveCursorImmediately()},this.nativeAutomationInput?(r=[],[4,Zs(o,m.nativeMethods.dateNow,function(i){return P(s,void 0,void 0,function(){var e,n;return x(this,function(t){switch(t.label){case 0:return[4,null===(n=this.nativeAutomationInput)||void 0===n?void 0:n.createMouseMoveEvent(i,this.modifiers)];case 1:return e=t.sent(),r.push(e),[2,To()]}})})})]):[3,4];case 1:return t.sent(),[4,this.nativeAutomationInput.executeEventSequence(r)];case 2:return t.sent(),[4,this.cursor.move(l)];case 3:return t.sent(),[3,6];case 4:return[4,Zs(o,m.nativeMethods.dateNow,function(t){return s._movingStep(t)})];case 5:t.sent(),t.label=6;case 6:return[2]}})})},tl.prototype._needMoveCursorImmediately=function(){return this.touchMode},tl.prototype._scroll=function(){if(this.skipScrolling)return m.Promise.resolve(!1);var t=new yr({offsetX:this.offset.x,offsetY:this.offset.y},!1);return new Ts(this.element,t).run()},tl.prototype._moveToCurrentFrame=function(t,e){var n=this;if(this.cursor.isActive(this.window))return m.Promise.resolve();var i=this.cursor.getPosition(),o=i.x,r=i.y,s=this.cursor.getActiveWindow(this.window),c=null,l=null,h={cmd:"automation|move|request",startX:o,startY:r,endX:t.x,endY:t.y,modifiers:this.modifiers,speed:this.speed,nativeAutomationMove:e};return m.Promise.resolve().then(function(){if(s.parent===n.window)return m.Promise.resolve(G(s)).then(function(t){return c=t,m.Promise.resolve((n=bt(e=t),i=n.left,o=n.top,r=St({x:i,y:o}),s=Z(e),l=J(e),a=r.x+s.left+l.left,u=r.y+s.top+l.top,new j(u,a+et(e),u+nt(e),a))).then(function(t){h.left=t.left,h.top=t.top,h.right=t.right,h.bottom=t.bottom});var e,n,i,o,r,s,l,a,u})}).then(function(){return Ft(n.cursor.getPosition())}).then(function(t){return l=t===c,s.parent===n.window&&(h.iframeUnderCursor=l),Ss(h,"automation|move|response",s)}).then(function(t){if(n.cursor.setActiveWindow(n.window),l||m.utils.dom.isIframeWindow(n.window))return n.cursor.move(t)})},tl.prototype.run=function(){var n=this;return this._scroll().then(function(){return m.Promise.all([n._getTargetClientPoint(),(t=n.window,new j(0,et(t),nt(t),0))]);var t}).then(function(t){var e=t[0];if(t[1].contains(e))return n._moveToCurrentFrame(e,!!n.nativeAutomationInput).then(function(){return n._move(e)})})},tl);function tl(t,e,n,i,o,r){void 0===r&&(r=null),this.touchMode=m.utils.featureDetection.isTouchDevice,this.moveEvent=this.touchMode?"touchmove":"mousemove",this.automationSettings=new _o(n.speed),this.cursorSpeed=this._getCursorSpeed(),this.element=t,this.window=i,this.offset=e,this.cursor=o,this.minMovingTime=n.minMovingTime||0,this.modifiers=n.modifiers||{},this.skipScrolling=n.skipScrolling,this.skipDefaultDragBehavior=n.skipDefaultDragBehavior,this.speed=n.speed,this.nativeAutomationInput=r||null,this.firstMovingStepOccured=!1}var el=(nl.prototype._ensureActiveWindow=function(t){this._activeWindow!==t&&this._activeWindow!==t.parent&&this._activeWindow.parent!==t&&(this._activeWindow=t)},nl.prototype.isActive=function(t){return this._ensureActiveWindow(t),this._activeWindow===t},nl.prototype.setActiveWindow=function(t){this._activeWindow=t},nl.prototype.getActiveWindow=function(t){return this._ensureActiveWindow(t),this._activeWindow},nl.prototype.getPosition=function(){return new A(this._x,this._y)},nl.prototype.move=function(t){return this._x=t.x,this._y=t.y,this._ui.move(t)},nl.prototype.hide=function(){return this._ui.hide?this._ui.hide():m.Promise.resolve()},nl.prototype.show=function(){return this._ui.show?this._ui.show():m.Promise.resolve()},nl.prototype.leftButtonDown=function(){return this._ui.leftButtonDown()},nl.prototype.rightButtonDown=function(){return this._ui.rightButtonDown()},nl.prototype.buttonUp=function(){return this._ui.buttonUp()},nl);function nl(t,e){this._ui=e,this._x=-1,this._y=-1,this._activeWindow=t}var il,ol,rl,sl,ll=ys(Pf)?i.iframeCursorUI:i.cursorUI,al=new el(Pf.top,ll),ul=E.positionUtils,cl=E.domUtils,hl=E.eventUtils,fl="elementOverlapped";(ol=il=il||{})[ol.Mouse=0]="Mouse",ol[ol.Keyboard=1]="Keyboard",ol[ol.Touch=2]="Touch",ol[ol.Delay=3]="Delay",ol[ol.InsertText=4]="InsertText",(sl=rl=rl||{})[sl.alt=1]="alt",sl[sl.ctrl=2]="ctrl",sl[sl.meta=4]="meta";var dl={ctrl:!(sl[sl.shift=8]="shift"),alt:!1,shift:!1,meta:!1};function ml(t){return rl[t]||0}var pl=y.utils,vl=y.eventSandbox,gl=y.nativeMethods,yl=vl.message,El={clickCount:1},bl="native-automation|calculate-top-left-point|request",Sl="native-automation|calculate-top-left-point|response";function wl(){return P(this,void 0,void 0,function(){return x(this,function(t){switch(t.label){case 0:return Pf===Pf.parent?[3,2]:[4,Ss({cmd:bl},Sl,Pf.parent)];case 1:return[2,t.sent().topLeftPoint];case 2:return[2,{x:0,y:0}]}})})}yl.on(yl.SERVICE_MSG_RECEIVED_EVENT,function(f){return P(void 0,void 0,void 0,function(){var r,s,l,a,u,c,h;return x(this,function(t){switch(t.label){case 0:return f.message.cmd!==bl?[3,2]:(r=f.source,[4,wl()]);case 1:s=t.sent(),l=s.x,a=s.y,u=G(r),n=(e=u).getBoundingClientRect(),i=ct(e),o=ht(e),c={x:n.left+i.left+o.left,y:n.top+i.top+o.top},h={cmd:Sl,topLeftPoint:{x:c.x+l,y:c.y+a}},yl.sendServiceMsg(h,r),t.label=2;case 2:return[2]}var e,n,i,o})})});var _l=(Pl._isNonCharKeyModifier=function(t){var e=[rl.ctrl,rl.alt,rl.meta];return-1<gl.arrayIndexOf.call(e,t)},Pl._getKeyDownEventText=function(t){return t.isNewLine?"\r":1!==t.keyProperty.length||Pl._isNonCharKeyModifier(t.modifiers)?"":t.keyProperty},Pl.createKeyDownOptions=function(t){var e=Pl._getKeyDownEventText(t);return{type:e?"keyDown":"rawKeyDown",modifiers:t.modifiers||0,windowsVirtualKeyCode:t.keyCode,key:t.keyProperty,text:e}},Pl.createKeyUpOptions=function(t){return{type:"keyUp",modifiers:t.modifiers||0,key:t.keyProperty,windowsVirtualKeyCode:t.keyCode}},Pl.createMouseEventOptions=function(l,a){return P(this,void 0,void 0,function(){var o,r,s;return x(this,function(t){switch(t.label){case 0:return[4,wl()];case 1:return o=t.sent(),r=o.x,s=o.y,[2,pl.extend({x:a.options.clientX+r,y:a.options.clientY+s,modifiers:(n=a.options,i=0,n&&(n.ctrl&&(i|=rl.ctrl),n.alt&&(i|=rl.alt),n.shift&&(i|=rl.shift),n.meta&&(i|=rl.meta)),i),button:(e=a.options).button?e.button:"left",type:l},El)]}var e,n,i})})},Pl.delay=function(t){return{type:il.Delay,options:{delay:t}}},Pl.keyDown=function(t){return{type:il.Keyboard,options:Pl.createKeyDownOptions(t)}},Pl.keyUp=function(t){return{type:il.Keyboard,options:Pl.createKeyUpOptions(t)}},Pl);function Pl(){}var xl=(Al.prototype.mouseDown=function(n){return P(this,void 0,void 0,function(){var e;return x(this,function(t){switch(t.label){case 0:return[4,_l.createMouseEventOptions("mousePressed",n)];case 1:return e=t.sent(),[2,this._dispatchEventFn.single(il.Mouse,e)]}})})},Al.prototype.mouseUp=function(n){return P(this,void 0,void 0,function(){var e;return x(this,function(t){switch(t.label){case 0:return[4,_l.createMouseEventOptions("mouseReleased",n)];case 1:return e=t.sent(),[2,this._dispatchEventFn.single(il.Mouse,e)]}})})},Al.prototype.keyDown=function(t){var e=_l.createKeyDownOptions(t);return this._dispatchEventFn.single(il.Keyboard,e)},Al.prototype.keyUp=function(t){var e=_l.createKeyUpOptions(t);return this._dispatchEventFn.single(il.Keyboard,e)},Al.prototype.executeEventSequence=function(t){return this._dispatchEventFn.sequence(t)},Al.prototype.executeInsertText=function(e){return P(this,void 0,void 0,function(){return x(this,function(t){return[2,this._dispatchEventFn.single(il.InsertText,{text:e})]})})},Al.prototype.createMouseMoveEvent=function(n,i){return P(this,void 0,void 0,function(){var e;return x(this,function(t){switch(t.label){case 0:return[4,_l.createMouseEventOptions("mouseMoved",{options:_({clientX:n.x,clientY:n.y,button:"none"},i)})];case 1:return e=t.sent(),[2,{type:il.Mouse,options:e}]}})})},Al);function Al(t){this._dispatchEventFn=t}var Cl=(Tl.create=function(t){var n=t.element,i=t.clientPoint,o=t.screenPoint,r=t.isTarget,s=t.inMoving;return P(this,void 0,void 0,function(){var e;return x(this,function(t){switch(t.label){case 0:return e=null,i?[4,Ut(i)]:[3,2];case 1:e=t.sent(),t.label=2;case 2:return[2,new Tl({element:n,clientPoint:i,screenPoint:o,isTarget:r,inMoving:s,devicePoint:e})]}})})},Tl);function Tl(t){var e=t.element,n=void 0===e?null:e,i=t.clientPoint,o=void 0===i?null:i,r=t.screenPoint,s=void 0===r?null:r,l=t.isTarget,a=void 0!==l&&l,u=t.inMoving,c=void 0!==u&&u,h=t.devicePoint,f=void 0===h?null:h;this.element=n,this.clientPoint=o,this.screenPoint=s,this.devicePoint=f,this.isTarget=a,this.inMoving=c}var Ml,Dl=(w(Il,Ml=ws),Il.prototype._ensureWindowAndCursorForLegacyTests=function(t){t.window=t.window||Pf,t.cursor=al},Il.prototype.canUseNativeAutomationEventSimulator=function(t){return!!this.nativeAutomationInput&&!!t&&"select"!==Y(t)},Il.prototype._getElementForEvent=function(n){return P(this,void 0,void 0,function(){var e;return x(this,function(t){return e=Pt(this.element,this.options.offsetX,this.options.offsetY)?this.element:null,[2,Vt(n.point,this.window,e)]})})},Il.prototype._moveToElement=function(){return P(this,void 0,void 0,function(){var e,n=this;return x(this,function(t){switch(t.label){case 0:return e=new Nr(m.utils.extend({skipScrolling:!0},this.options),!1),[4,Js.create(this.element,e,this.window,this.cursor,this.nativeAutomationInput)];case 1:return[2,t.sent().run().then(function(){return Co(n.automationSettings.mouseActionStepDelay)})]}})})},Il.prototype._scrollToElement=function(){var e=this,n=!1,t=new yr(this.options,!1);return new Ts(this.element,t).run().then(function(t){return n=!!t,Co(e.automationSettings.mouseActionStepDelay)}).then(function(){return Vt(e.cursor.getPosition(),e.window)}).then(function(t){return function(s,l,a){return P(this,void 0,y.Promise,function(){var e,n,i,o,r;return x(this,function(t){switch(t.label){case 0:return s&&cl.contains(l,s)&&a?(e=ps(),n=cl.getCommonAncestor(s,e),[4,ul.getClientPosition(s)]):[2];case 1:return[4,Ut(i=t.sent())];case 2:return(o=t.sent())&&(r={clientX:i.x,clientY:i.y,screenX:o.x,screenY:o.y,ctrl:!1,alt:!1,shift:!1,meta:!1,buttons:hl.BUTTONS_PARAMETER.leftButton},Bs.leaveElement(s,e,n,r),Bs.enterElement(s,e,n,r),vs(s)),[2]}})})}(t,e.element,n)}).then(function(){return n})},Il.prototype._getElementOffset=function(){var t=Nt(this.element),e=this.options,n=e.offsetX,i=e.offsetY,o=i||0===i?i:t.offsetY,r=n||0===n?n:t.offsetX;return A.create({x:r,y:o})},Il.prototype._isTargetElement=function(n,i){return P(this,void 0,void 0,function(){var e;return x(this,function(t){switch(t.label){case 0:return(e=!i||n===i||n===this.element)||!n?[3,2]:[4,this._contains(this.element,n)];case 1:e=t.sent(),t.label=2;case 2:return[2,e]}})})},Il.prototype._getCheckedPoints=function(t){for(var e=[t],n=t.x/2,i=t.y/2,o=2*t.x,r=2*t.y,s=i;s<r;s+=i)for(var l=n;l<o;l+=n)e.push(A.create({x:l,y:s}));return e},Il.prototype._getAvailableOffset=function(r,s){return P(this,void 0,void 0,function(){var e,n,i,o;return x(this,function(t){switch(t.label){case 0:e=this._getCheckedPoints(s),i=n=null,o=0,t.label=1;case 1:return o<e.length?[4,At(this.element,e[o])]:[3,7];case 2:return n=t.sent(),[4,It(this.element,n)];case 3:return[4,Vt(t.sent(),this.window,r)];case 4:return i=t.sent(),[4,this._isTargetElement(i,r)];case 5:if(t.sent())return[2,e[o]];t.label=6;case 6:return o++,[3,1];case 7:return[2,null]}})})},Il.prototype._wrapAction=function(m){return P(this,void 0,void 0,function(){var e,n,i,o,r,s,l,a,u,c,h,f,d;return x(this,function(t){switch(t.label){case 0:return e=this._getElementOffset(),[4,Pt(this.element,e.x,e.y)];case 1:return n=t.sent()?this.element:null,[4,At(this.element,e)];case 2:return i=t.sent(),[4,xt(this.element)];case 3:return o=t.sent(),[4,m()];case 4:return t.sent(),this.options.isDefaultOffset?[4,this._getAvailableOffset(n,e)]:[3,6];case 5:r=t.sent(),e.x=(null==r?void 0:r.x)||e.x,e.y=(null==r?void 0:r.y)||e.y,this.options.offsetX=e.x,this.options.offsetY=e.y,t.label=6;case 6:return[4,At(this.element,e)];case 7:return s=t.sent(),[4,xt(this.element)];case 8:return l=t.sent(),[4,It(this.element,s)];case 9:return[4,Vt(a=t.sent(),this.window,n)];case 10:return(u=t.sent())?[4,this._isTargetElement(u,n)]:[2,Cl.create({element:null,clientPoint:null,screenPoint:null,isTarget:!1,inMoving:!1})];case 11:return c=t.sent(),h=i.x!==s.x||i.y!==s.y,f=o.x!==l.x||o.y!==l.y,d=h&&f,[2,Cl.create({element:u,clientPoint:a,screenPoint:s,isTarget:c,inMoving:d})]}})})},Il.prototype._checkElementState=function(t,e){if(!t.element)throw new li(null,{reason:function t(e,n){void 0===n&&(n="action target");var i=yt(e);if(F(e)){var o=(t(R(W(e,"map")),"container")||"").replace(/.*The/,"its");return mt.mapContainerNotVisible(i,o)}return mt.elOutsideBounds(i,n)}(this.element)});if(e&&(!t.isTarget||t.inMoving))throw new Wi;return t},Il.prototype._ensureElement=function(o,e,n){var r=this;return void 0===e&&(e=!1),void 0===n&&(n=!1),this._wrapAction(function(){return r._scrollToElement()}).then(function(t){return r._checkElementState(t,o)}).then(function(t){return n?t:r._wrapAction(function(){return r._moveToElement()})}).then(function(t){return e||r._checkElementState(t,o),t}).then(function(t){var e,n,i=null==t?void 0:t.element;return r.emit(r.TARGET_ELEMENT_FOUND_EVENT,{element:i||null}),o||!i||t.isTarget||(e=yt(r.element),n=yt(i),r.emit(r.WARNING_EVENT,{type:fl,args:[e,n]})),{element:(null==t?void 0:t.element)||null,clientPoint:(null==t?void 0:t.clientPoint)||null,screenPoint:(null==t?void 0:t.screenPoint)||null,devicePoint:(null==t?void 0:t.devicePoint)||null}})},Il.prototype._contains=function(o,r){return P(this,void 0,void 0,function(){var e,n,i;return x(this,function(t){switch(t.label){case 0:return[4,X(r)];case 1:for(e=t.sent(),n=0,i=e;n<i.length;n++)if(i[n]===o)return[2,!0];return[2,!1]}})})},Il);function Il(t,e,n,i,o){var r=Ml.call(this)||this;return r.TARGET_ELEMENT_FOUND_EVENT="automation|target-element-found-event",r.WARNING_EVENT="automation|warning-event",r.element=t,r.options=e,r.automationSettings=new _o(e.speed||1),r.window=n,r.cursor=i,r.nativeAutomationInput=o?new xl(o):null,r._ensureWindowAndCursorForLegacyTests(r),r}var Ul,kl=y.Promise,Ol=(w(Nl,Ul=Dl),Nl.prototype.run=function(t){var e=this,n=kl.resolve();return this.element!==xf.scrollingElement&&this.element!==xf.documentElement&&(n=this._ensureElement(t,!0,!0)),n.then(function(){e.element.scrollLeft=e.scrollLeft,e.element.scrollTop=e.scrollTop})},Nl);function Nl(t,e,n){var i,o,r,s,l,a=e.x,u=e.y,c=e.position,h=e.byX,f=e.byY,d=Ul.call(this,t,n,Pf,al)||this;return c&&(o=t,r=c,s=Math.floor(o.scrollWidth/2-o.clientWidth/2),l=Math.floor(o.scrollHeight/2-o.clientHeight/2),a=(i={top:[s,0],right:[o.scrollWidth,l],bottom:[s,o.scrollHeight],left:[0,l],topRight:[o.scrollWidth,0],topLeft:[0,0],bottomRight:[o.scrollWidth,o.scrollHeight],bottomLeft:[0,o.scrollHeight],center:[s,l]}[r])[0],u=i[1]),d.scrollLeft="number"==typeof a?a:t.scrollLeft,d.scrollTop="number"==typeof u?u:t.scrollTop,h&&(d.scrollLeft+=h),f&&(d.scrollTop+=f),d}var Bl,Fl=(w(Ll,Bl=Dl),Ll.prototype.run=function(t){return this._ensureElement(t,!0,!0)},Ll);function Ll(t,e){return Bl.call(this,t,e,Pf,al)||this}var Kl=y.Promise,Vl=y.nativeMethods,Rl=y.utils.browser,Yl=y.eventSandbox.focusBlur,Wl=E.contentEditable,Xl=E.textSelection,Hl=E.domUtils,ql=E.styleUtils,Gl=y.eventSandbox.message,zl="automation|iframe|request",jl="automation|iframe|response";function $l(t,e){var n,i,o=Hl.isTextEditableElement(t),r=Hl.isContentEditableElement(t);o||r?r&&isNaN(parseInt(e,10))?Xl.setCursorToLastVisiblePosition(t):(n=isNaN(parseInt(e,10))?Hl.getElementValue(t).length:e,Xl.select(t,n,n)):(i=Wl.findContentEditableParent(t))&&Xl.setCursorToLastVisiblePosition(Wl.findContentEditableParent(i))}function Ql(v,g,y){var t=this;return new Kl(function(p){return P(t,void 0,void 0,function(){var n,i,o,r,s,l,a,u,c,h,f,d,m;return x(this,function(t){switch(t.label){case 0:return ys(Pf)?[4,Ss({cmd:zl},jl,Pf.parent)]:[3,2];case 1:t.sent(),t.label=2;case 2:if(n=Hl.getActiveElement(),i=Hl.isTextEditableElement(v),o=Hl.closest(v,"label[for]"),r=Hl.isElementFocusable(v),s=!r&&o,l=Hl.isContentEditableElement(v),a=l?Wl.findContentEditableParent(v):v,g&&Rl.isWebKit&&i&&Xl.select(v,0,0),s)return g&&(e=o,Hl.isElementFocusable(e)?Yl.focus(e,E.noop,!1,!0):Jl(e)),p(),[2];if(u=!g,c=!1,!r&&!l){if(h=Hl.findDocument(a),f=Vl.documentActiveElementGetter.call(h),d=Hl.isBodyElement(f),m=Hl.isBodyElement(a)?a:Hl.getFocusableParent(a),f&&!d&&Hl.containsElement(f,a)||d&&Hl.isBodyElement(m))return p(),[2];a=m||h.body,c=!0}return Yl.focus(a,function(){!g||l||v===Hl.getActiveElement()?($l(v,y),g||Hl.getActiveElement()===n?p():Yl.focus(n,p,!0,!0)):p()},u,!0,!1,c),[2]}var e})})})}function Zl(t){var e=Hl.closest(t,"label[for]"),n=e&&(e.control||xf.getElementById(e.htmlFor));return n&&ql.isElementVisible(n)?n:null}function Jl(t){var e=Zl(t);e&&Hl.getActiveElement()!==e&&Yl.focus(e,E.noop,!1,!0)}Gl.on(Gl.SERVICE_MSG_RECEIVED_EVENT,function(t){var e;t.message.cmd===zl&&(e=Hl.findIframeByWindow(t.source),Yl.focus(e,function(){Gl.sendServiceMsg({cmd:jl},t.source)},!1))});var ta=y.utils.browser,ea=y.eventSandbox.eventSimulator,na=y.eventSandbox.listeners,ia=y.nativeMethods,oa=E.domUtils,ra=E.styleUtils,sa=E.selectController,la=i.selectElement,aa=(ua.prototype.run=function(){this.eventState.clickElement&&ea.click(this.eventState.clickElement,this.eventArgs.options),oa.isElementFocusable(this.eventArgs.element)||Jl(this.eventArgs.element)},ua);function ua(t,e){this.eventState=t,this.eventArgs=e}var ca,ha=(w(fa,ca=aa),fa.prototype.run=function(){function t(t){n=ia.eventTargetGetter.call(t)===e.input}var e=this,n=!1;na.addInternalEventBeforeListener(Pf,["focus"],t),ca.prototype.run.call(this),na.removeInternalEventBeforeListener(Pf,["focus"],t),oa.isElementFocusable(this.targetElement)&&!n&&this._ensureBoundElementFocusRaised()},fa.prototype._ensureBoundElementFocusRaised=function(){ea.focus(this.input)},fa);function fa(t,e){var n=ca.call(this,t,e)||this;return n.targetElement=n.eventArgs.element,n.input=Zl(n.eventArgs.element),n}var da,ma=(w(pa,da=aa),pa.prototype.run=function(){da.prototype.run.call(this),this._toggleSelectOptionList()},pa.prototype._toggleSelectOptionList=function(){var t=this.eventArgs.element;1===ra.getSelectElementSize(t)&&!1!==this.eventState.simulateDefaultBehavior&&(sa.isOptionListExpanded(t)?la.collapseOptionList():la.expandOptionList(t))},pa);function pa(t,e){return da.call(this,t,e)||this}var va,ga=(w(ya,va=aa),ya.prototype.run=function(){return this.eventArgs.element},ya);function ya(t,e){return va.call(this,t,e)||this}var Ea,ba=(w(Sa,Ea=ha),Sa.prototype.run=function(){function t(){e=!0}var e=!1;na.addInternalEventBeforeListener(Pf,["change"],t),Ea.prototype.run.call(this),na.removeInternalEventBeforeListener(Pf,["change"],t),!ta.isChrome||e||this.checkbox.disabled||this._isClickableElementInsideLabel(this.targetElement)||this._ensureCheckboxStateChanged()},Sa.prototype._ensureCheckboxStateChanged=function(){this.checkbox.checked=!this.checkbox.checked,ea.change(this.checkbox)},Sa.prototype._isClickableElementInsideLabel=function(t){var e=oa.isAnchorElement(t)&&t.getAttribute("href"),n=oa.isButtonElement(t);return e||n},Sa);function Sa(t,e){var n=Ea.call(this,t,e)||this;return n.checkbox=n.input,n}var wa=y.Promise,_a=y.utils.browser,Pa=y.utils.featureDetection,xa=y.eventSandbox.eventSimulator,Aa=y.eventSandbox.listeners,Ca=E.domUtils,Ta=E.eventUtils,Ma=E.arrayUtils,Da=(Ia.prototype.mousedown=function(t){var e=this;this.targetElementParentNodes=Ca.getParents(t.element),this.mouseDownElement=t.element,this._raiseTouchEvents(t);var n=Ca.getActiveElement();this.activeElementBeforeMouseDown=n;var i=(_a.isWebKit||_a.isIE)&&Ca.isSelectElement(this.mouseDownElement);return i&&this._bindMousedownHandler(),this._bindBlurHandler(n),this._isTouchEventWasCancelled()||(this.eventState.simulateDefaultBehavior=xa.mousedown(t.element,t.options)),!1===this.eventState.simulateDefaultBehavior&&(this.eventState.simulateDefaultBehavior=i&&!this.eventState.mousedownPrevented),this._ensureActiveElementBlur(n).then(function(){return e._focus(t)})},Ia.prototype.mouseup=function(t,e){var n,i,o,r,s;e.element=t,this.eventState.clickElement=(n=this.mouseDownElement,i=t,o=this.targetElementParentNodes,r=Ca.getParents(i),s=Ca.isTheSameNode(i,n),_a.isFirefox?s?n:null:s?Ma.equals(o,r)?n:null:n.contains(i)&&!Ca.isEditableFormElement(i)?n:i.contains(n)?i:Ma.getCommonElement(r,o));var l={},a=function(t){l=t.timeStamp,Aa.removeInternalEventBeforeListener(Pf,["mouseup"],a)};return _a.isIE||Aa.addInternalEventBeforeListener(Pf,["mouseup"],a),this._isTouchEventWasCancelled()||xa.mouseup(t,e.options),e.options&&(e.options.timeStamp=l),this._click(e)},Ia.prototype._click=function(u){return P(this,void 0,y.Promise,function(){var a;return x(this,function(t){var e,n,i,o,r,s,l;return e=this.eventState,i=Zl((n=u).element),o=oa.isSelectElement(n.element),r=oa.isOptionElement(n.element),s=oa.isLabelElement(n.element)&&i,l=i&&oa.isCheckboxElement(i),a=new(o?ma:r?ga:l?ba:s?ha:aa)(e,n),this._isTouchEventWasCancelled()||a.run(),[2,u]})})},Ia.prototype._isTouchEventWasCancelled=function(){return this.eventState.touchStartCancelled||this.eventState.touchEndCancelled},Ia.prototype._bindMousedownHandler=function(){var e=this,n=function(t){e.eventState.mousedownPrevented=t.defaultPrevented,Ta.preventDefault(t),Ta.unbind(e.element,"mousedown",n)};Ta.bind(this.element,"mousedown",n)},Ia.prototype._bindBlurHandler=function(t){var e=this,n=function(){e.eventState.blurRaised=!0,Ta.unbind(t,"blur",n,!0)};Ta.bind(t,"blur",n,!0)},Ia.prototype._ensureActiveElementBlur=function(e){var n=this;return new wa(function(t){Ca.getActiveElement()===e||n.eventState.blurRaised?t():_a.isIE&&_a.version<12?To().then(function(){n.eventState.blurRaised||xa.blur(e),t()}):(xa.blur(e),t())})},Ia.prototype._focus=function(t){return!1===this.eventState.simulateDefaultBehavior?wa.resolve():Ql(Ca.isContentEditableElement(this.element)?this.element:t.element,!_a.isIE||this.activeElementBeforeMouseDown===Ca.getActiveElement(),this.caretPos)},Ia.prototype._raiseTouchEvents=function(t){Pa.isTouchDevice&&(this.eventState.touchStartCancelled=!xa.touchstart(t.element,t.options),this.eventState.touchEndCancelled=!xa.touchend(t.element,t.options))},Ia);function Ia(t,e){this.element=t,this.caretPos=e,this.targetElementParentNodes=[],this.activeElementBeforeMouseDown=null,this.mouseDownElement=null,this.eventState={mousedownPrevented:!1,blurRaised:!1,simulateDefaultBehavior:!0,clickElement:null,touchStartCancelled:!1,touchEndCancelled:!1}}var Ua,ka=(w(Oa,Ua=Dl),Oa.prototype._mousedown=function(t){return this.canUseNativeAutomationEventSimulator(t.element)?this.nativeAutomationInput.mouseDown(t):this.strategy.mousedown(t)},Oa.prototype._mouseup=function(n,t){var i=this;return this.canUseNativeAutomationEventSimulator(t.element)?this.nativeAutomationInput.mouseUp(t).then(function(t){var e=i.options.caretPos;return"number"==typeof e&&$l(n,e),t}):this.strategy.mouseup(n,t)},Oa.prototype.run=function(t){var r,s=this;return this._ensureElement(t).then(function(t){var e=t.element,n=t.clientPoint,i=t.screenPoint,o=t.devicePoint;return r={point:n,screenPoint:i,element:e,options:m.utils.extend({clientX:null==n?void 0:n.x,clientY:null==n?void 0:n.y,screenX:null==o?void 0:o.x,screenY:null==o?void 0:o.y},s.modifiers)},m.Promise.all([Co(s.automationSettings.mouseActionStepDelay),s.cursor.leftButtonDown().then(function(){return s._mousedown(r)})])}).then(function(){return s.cursor.buttonUp()}).then(function(){return s._getElementForEvent(r)}).then(function(t){return t?s._mouseup(t,r):null})},Oa);function Oa(t,e,n,i,o){var r,s,l=Ua.call(this,t,e,n,i,o)||this;return l.modifiers=e.modifiers,l.strategy=(r=l.element,s=e.caretPos,new Da(r,s)),l}function Na(t,e,n){var i=function(t,e,n){if(e.y-t.y==0)return 0;var i=(e.x-t.x)/(e.y-t.y),o=t.y*(t.x-e.x)/(e.y-t.y)+t.x;return Math.round(i*n+o)}(t,e,n.top);return i&&i>=n.left&&i<=n.right?new A(i,n.top):null}function Ba(t,e,n){var i=function(t,e,n){if(e.x===t.x)return 0;var i=(e.y-t.y)/(e.x-t.x),o=t.x*(t.y-e.y)/(e.x-t.x)+t.y;return Math.round(i*n+o)}(t,e,n.left);return i&&i>=n.top&&i<=n.bottom?new A(n.left,i):null}function Fa(t,e,n){for(var i=[],o=0,r=[{left:n.left,top:n.top,right:n.left,bottom:n.bottom,isHorizontal:!1},{left:n.right,top:n.top,right:n.right,bottom:n.bottom,isHorizontal:!1},{left:n.left,top:n.top,right:n.right,bottom:n.top,isHorizontal:!0},{left:n.left,top:n.bottom,right:n.right,bottom:n.bottom,isHorizontal:!0}];o<r.length;o++){var s=r[o],l=(s.isHorizontal?Na:Ba)(t,e,s);l&&i.push(l)}return i.length?1===i.length||i[0].distance(t)<i[1].distance(t)?i[0]:i[1]:null}var La=y.eventSandbox.eventSimulator,Ka=y.eventSandbox.message,Va=E.positionUtils,Ra=E.domUtils,Ya=E.styleUtils,Wa="automation|move|response";Ka.on(Ka.SERVICE_MSG_RECEIVED_EVENT,function(t){var e,n,i,o,r,s,l,a,u,c,h,f,d,m,p,v;"automation|move|request"===t.message.cmd&&(t.source.parent===Pf?(e=Pf["%testCafeDriverInstance%"],i=(n=t).message.nativeAutomationMove&&e.createDispatchNativeAutomationEventFunctions(),r=new A(n.message.endX,n.message.endY),s=n.source,l=Ra.findIframeByWindow(s),a=Ya.getBordersWidth(l),u=Ya.getElementPadding(l),c=Va.getIframeClientCoordinates(l),h=Va.getIframePointRelativeToParentFrame(r,s),f=al.getPosition(),d=Va.isInRectangle(f,c)?f:Fa(f,h,c),m={x:d.x-c.left,y:d.y-c.top},p=new Nr({modifiers:n.message.modifiers,offsetX:m.x+a.left+u.left,offsetY:m.y+a.top+u.top,speed:n.message.speed,skipScrolling:!0},!1),v={cmd:Wa,x:m.x,y:m.y},al.getActiveWindow(Pf)!==s?(o=null,i&&(o=new xl(i)),Js.create(l,p,Pf,al,o).then(function(t){return t.run()}).then(function(){al.setActiveWindow(s),Ka.sendServiceMsg(v,s)})):Ka.sendServiceMsg(v,s)):(y.on(y.EVENTS.beforeUnload,function(){return Ka.sendServiceMsg({cmd:Wa},t.source)}),function(t){var e=t.source,n={left:t.message.left,right:t.message.right,top:t.message.top,bottom:t.message.bottom};if(!t.message.iframeUnderCursor){var i=t.message,o=i.startX,r=i.startY,s=o-n.left,l=r-n.top,a=ps();return a&&(La.mouseout(a,{clientX:s,clientY:l,relatedTarget:null}),La.mouseleave(a,{clientX:s,clientY:l,relatedTarget:null})),Ka.sendServiceMsg({cmd:Wa},e)}var u,c=al.getPosition(),h=Fa(A.create(n).add(c),new A(t.message.endX,t.message.endY),n);h?(u=new Nr({modifiers:t.message.modifiers,offsetX:h.x-n.left,offsetY:h.y-n.top,speed:t.message.speed,skipScrolling:!0},!1),Js.create(xf.documentElement,u,Pf,al).then(function(t){return t.run()}).then(function(){var t={cmd:Wa,x:h.x,y:h.y};al.setActiveWindow(e),Ka.sendServiceMsg(t,e)})):Ka.sendServiceMsg({cmd:Wa,x:n.left,y:n.top},e)}(t)))});var Xa=y.Promise,Ha=y.utils.browser,qa=y.utils.featureDetection,Ga=y.eventSandbox.eventSimulator,za=y.eventSandbox.focusBlur,ja=y.nativeMethods,$a=E.domUtils,Qa=E.styleUtils,Za=E.delay,Ja=E.selectController,tu=i.selectElement,eu=qa.isTouchDevice?0:160,nu=(iu.prototype._calculateEventArguments=function(){var t=this.optionListExpanded?Ja.getEmulatedChildElement(this.element):this.element,e=1<Qa.getSelectElementSize(this.parentSelect);return{options:this.modifiers,element:Ha.isIE&&e?this.parentSelect:t}},iu.prototype._getMoveArguments=function(){var t,e,n=null,i=null,o=null;return o=this.optionListExpanded?(i=(t=Ot(n=Ja.getEmulatedChildElement(this.element))).offsetX,t.offsetY):(n=xf.documentElement,i=(e=tu.getSelectChildCenter(this.element)).x,e.y),{element:n,offsetX:i,offsetY:o,speed:this.speed}},iu.prototype._move=function(t){var e=this,n=t.element,i=t.offsetX,o=t.offsetY,r=t.speed,s=new Nr({offsetX:i,offsetY:o,speed:r,modifiers:this.modifiers},!1);return Js.create(n,s,Pf,al).then(function(t){return t.run()}).then(function(){return Za(e.automationSettings.mouseActionStepDelay)})},iu.prototype._mousedown=function(){var t=this;return Ha.isFirefox?(Ga.mousedown(this.eventsArgs.element,this.eventsArgs.options),this.clickCausesChange&&(this.parentSelect.selectedIndex=this.childIndex),this._focus()):Ha.isIE?(Ga.mousedown(this.eventsArgs.element,this.eventsArgs.options),this._focus()):this._focus().then(function(){return Za(eu)}).then(function(){Ga.mousedown(t.eventsArgs.element,t.eventsArgs.options),t.clickCausesChange&&(t.parentSelect.selectedIndex=t.childIndex)})},iu.prototype._focus=function(){var e=this;return new Xa(function(t){za.focus(e.parentSelect,t,!1,!0)})},iu.prototype._mouseup=function(){var t=Ha.isIE?this.parentSelect:this.eventsArgs.element;Ga.mouseup(t,this.eventsArgs.options),Ha.isIE&&this.clickCausesChange&&(this.parentSelect.selectedIndex=this.childIndex);var e=Ha.isFirefox||Ha.isSafari||Ha.isChrome&&53<=Ha.version,n=e||Ha.isIE;return e&&this.clickCausesChange&&Ga.input(this.parentSelect),n&&this.clickCausesChange&&Ga.change(this.parentSelect),Xa.resolve()},iu.prototype._click=function(){Ga.click(this.eventsArgs.element,this.eventsArgs.options)},iu.prototype.run=function(){var t=this;if(!this.parentSelect)return Ga.click(this.eventsArgs.element,this.eventsArgs.options),Xa.resolve();this.optionListExpanded||tu.scrollOptionListByChild(this.element);var e=this._getMoveArguments();return this.eventsArgs=this._calculateEventArguments(),Qa.getSelectElementSize(this.parentSelect)<=1?this._move(e).then(function(){return t._click()}):this._move(e).then(function(){return t._mousedown()}).then(function(){return t._mouseup()}).then(function(){return t._click()})},iu);function iu(t,e){var n,i,o,r,s;this.element=t,this.modifiers=e.modifiers,this.caretPos=e.caretPos,this.offsetX=e.offsetX,this.offsetY=e.offsetY,this.speed=e.speed,this.automationSettings=new _o(e.speed),this.parentSelect=$a.getSelectParent(this.element),this.optionListExpanded=!!this.parentSelect&&Ja.isOptionListExpanded(this.parentSelect),this.childIndex=null,this.clickCausesChange=!1,this.parentSelect&&(n=$a.isOptionElement(this.element),i=this.parentSelect.selectedIndex,this.childIndex=$a.getElementIndexInParent(this.parentSelect,this.element),o=ja.nodeParentNodeGetter.call(this.element),r=$a.isOptionGroupElement(o)?o:null,s=this.element.disabled||r&&r.disabled,this.clickCausesChange=n&&!s&&this.childIndex!==i),this.eventsArgs={options:this.modifiers,element:this.element}}var ou,ru=y.utils.featureDetection,su=y.utils.browser,lu=y.eventSandbox.eventSimulator,au=E.eventUtils,uu=E.delay,cu=ru.isTouchDevice?0:160,hu=(w(fu,ou=Dl),fu.prototype._firstClick=function(t){var e=this,n=new Ur(this.options);n.speed=1;var i=new ka(this.element,n,Pf,al);return i.on(i.TARGET_ELEMENT_FOUND_EVENT,function(t){return e.emit(e.TARGET_ELEMENT_FOUND_EVENT,t)}),i.run(t).then(function(t){return uu(cu).then(function(){return t})})},fu.prototype._secondClick=function(t){var e=this;su.isIE&&au.bind(xf,"focus",au.preventDefault,!0);var n=new Ur({offsetX:t.screenPoint.x,offsetY:t.screenPoint.y,caretPos:this.caretPos,modifiers:this.modifiers,speed:1}),i=new ka(xf.documentElement,n,Pf,al);return i.run().then(function(t){return e.eventState.dblClickElement=i.strategy.eventState.clickElement,su.isIE&&au.unbind(xf,"focus",au.preventDefault,!0),t})},fu.prototype._dblClick=function(t){this.eventState.dblClickElement&&lu.dblclick(this.eventState.dblClickElement,t.options)},fu.prototype.run=function(t){var e=this;return this._firstClick(t).then(function(t){return e._secondClick(t)}).then(function(t){return e._dblClick(t)})},fu);function fu(t,e){var n=ou.call(this,t,e,Pf,al)||this;return n.modifiers=e.modifiers,n.caretPos=e.caretPos,n.speed=e.speed,n.automationSettings=new _o(n.speed),n.offsetX=e.offsetX,n.offsetY=e.offsetY,n.eventArgs=null,n.eventState={dblClickElement:null},n}var du,mu=function(){this.enabled=!1,this.dropAllowed=!1,this.element=null,this.dataTransfer=null,this.dataStore=null},pu=y.nativeMethods,vu=y.utils.featureDetection,gu=y.utils.html,yu=y.utils.url,Eu=y.eventSandbox.DataTransfer,bu=y.eventSandbox.DragDataStore,Su=E.eventUtils,wu=E.domUtils,_u=(w(Pu,du=Js),Pu.create=function(o,r,s,l){return P(this,void 0,void 0,function(){var e,n,i;return x(this,function(t){switch(t.label){case 0:return[4,Js.getTarget(o,s,new A(r.offsetX,r.offsetY))];case 1:return e=t.sent(),n=e.element,i=e.offset,[2,new Pu(n,i,r,s,l)]}})})},Pu.prototype._getCursorSpeed=function(){return this.automationSettings.draggingSpeed},Pu.prototype._getEventSequenceOptions=function(t){var e=du.prototype._getEventSequenceOptions.call(this,t),n=e.eventOptions,i=e.eventSequenceOptions;return n.dataTransfer=this.dragAndDropState.dataTransfer,n.buttons=Su.BUTTONS_PARAMETER.leftButton,i.holdLeftButton=!0,{eventOptions:n,eventSequenceOptions:i}},Pu.prototype._getCorrectedTopElement=function(t){return this.touchMode?this.dragElement:t},Pu.prototype._runEventSequence=function(t,e){var n=e.eventOptions,i=e.eventSequenceOptions,o=Qs(this.dragAndDropState.enabled,this.firstMovingStepOccured,i).run(t,ps(),n,this.dragElement,this.dragAndDropState.dataStore),r=o.dragAndDropMode,s=o.dropAllowed;this.dragAndDropState.enabled=r,this.dragAndDropState.dropAllowed=s},Pu.prototype._needMoveCursorImmediately=function(){return!1},Pu.prototype.run=function(){var l=this;return Vt(this.cursor.getPosition()).then(function(t){l.dragElement=t;var e,n,i,o,r,s=function(t){for(var e=t;e;){if(e.draggable)return e;e=pu.nodeParentNodeGetter.call(e)}return null}(l.dragElement);return s&&vu.hasDataTransfer&&!l.skipDefaultDragBehavior&&(l.dragAndDropState.enabled=!0,l.dragElement=s,l.dragAndDropState.element=l.dragElement,l.dragAndDropState.dataStore=new bu,l.dragAndDropState.dataTransfer=new Eu(l.dragAndDropState.dataStore),((e=wu.isAnchorElement(l.dragElement))||wu.isImgElement(l.dragElement))&&(n=e?"href":"src",o=(i=yu.parseProxyUrl(l.dragElement[n]))?i.destUrl:l.dragElement[n],r=gu.cleanUpHtml(pu.elementOuterHTMLGetter.call(l.dragElement)),l.dragAndDropState.dataTransfer.setData("text/plain",o),l.dragAndDropState.dataTransfer.setData("text/uri-list",o),l.dragAndDropState.dataTransfer.setData("text/html",r))),du.prototype.run.call(l).then(function(){return l.dragAndDropState})})},Pu);function Pu(t,e,n,i,o){var r=du.call(this,t,e,n,i,o)||this;return r.dragElement=null,r.dragAndDropState=new mu,r}var xu,Au=y.Promise,Cu=y.utils.extend,Tu=y.utils.featureDetection,Mu=y.eventSandbox.eventSimulator,Du=y.eventSandbox.focusBlur,Iu=(w(Uu,xu=Dl),Uu.prototype._getEndPoint=function(){throw new Error("Not implemented")},Uu.prototype._mousedown=function(t){var e=this;return al.leftButtonDown().then(function(){return e.simulateDefaultBehavior=Mu[e.downEvent](t.element,t.options),e._focus(t)})},Uu.prototype._focus=function(n){var i=this;return new Au(function(t){var e=g.domUtils.isContentEditableElement(i.element)?g.contentEditable.findContentEditableParent(i.element):n.element;Du.focus(e,t,!1,!0)})},Uu.prototype._getDestination=function(){throw new Error("Not implemented")},Uu.prototype._drag=function(){var r=this;return this._getDestination().then(function(t){var e=t.element,n=t.offsets,i=t.endPoint;r.endPoint=i;var o=new Nr({offsetX:n.offsetX,offsetY:n.offsetY,modifiers:r.modifiers,speed:r.speed,minMovingTime:25,skipDefaultDragBehavior:!1===r.simulateDefaultBehavior},!1);return _u.create(e,o,Pf,al)}).then(function(t){return t.run()}).then(function(t){return r.dragAndDropState=t,g.delay(r.automationSettings.mouseActionStepDelay)})},Uu.prototype._mouseup=function(){var o=this;return al.buttonUp().then(function(){var e=g.positionUtils.offsetToClientCoords(o.endPoint),n=null,i=Cu({clientX:e.x,clientY:e.y},o.modifiers);return Vt(e).then(function(t){return(n=t)?(o.dragAndDropState.enabled?(i.dataTransfer=o.dragAndDropState.dataTransfer,o.dragAndDropState.dropAllowed&&Mu.drop(n,i),Mu.dragend(o.dragAndDropState.element,i),o.dragAndDropState.dataStore.setProtectedMode()):Mu[o.upEvent](n,i),Vt(e)):n}).then(function(t){n&&t===n&&!o.dragAndDropState.enabled&&Mu.click(n,i)})})},Uu.prototype.run=function(t){var i,o=this;return this._ensureElement(t).then(function(t){var e=t.element,n=t.clientPoint;return i={point:n,element:e,options:Cu({clientX:n.x,clientY:n.y},o.modifiers)},Au.all([g.delay(o.automationSettings.mouseActionStepDelay),o._mousedown(i)])}).then(function(){return o._drag()}).then(function(){return o._mouseup()})},Uu);function Uu(t,e){var n=xu.call(this,t,e,Pf,al)||this;return n.modifiers=e.modifiers,n.speed=e.speed,n.offsetX=e.offsetX,n.offsetY=e.offsetY,n.endPoint=null,n.simulateDefaultBehavior=!0,n.downEvent=Tu.isTouchDevice?"touchstart":"mousedown",n.upEvent=Tu.isTouchDevice?"touchend":"mouseup",n.dragAndDropState=null,n}var ku,Ou=E.styleUtils,Nu=(w(Bu,ku=Iu),Bu.prototype._getDestination=function(){return P(this,void 0,void 0,function(){var e,n,i,o;return x(this,function(t){switch(t.label){case 0:return[4,At(this.element,{x:this.offsetX,y:this.offsetY})];case 1:return e=t.sent(),n=Ou.getWidth(xf),i=Ou.getHeight(xf),o={x:e.x+this.dragOffsetX,y:e.y+this.dragOffsetY},o={x:Math.min(Math.max(0,o.x),n),y:Math.min(Math.max(0,o.y),i)},[2,{element:xf.documentElement,offsets:{offsetX:o.x,offsetY:o.y},endPoint:o}]}})})},Bu);function Bu(t,e,n,i){var o=ku.call(this,t,i)||this;return o.dragOffsetX=e,o.dragOffsetY=n,o}var Fu,Lu=E.positionUtils,Ku=(w(Vu,Fu=Iu),Vu.prototype._getDestination=function(){return P(this,void 0,void 0,function(){var e,n,i,o;return x(this,function(t){return e=this.destinationElement,n=Lu.getElementRectangle(e),i=Nt(e,this.destinationOffsetX,this.destinationOffsetY),o={x:n.left+i.offsetX,y:n.top+i.offsetY},[2,{element:e,offsets:i,endPoint:o}]})})},Vu);function Vu(t,e,n){var i=Fu.call(this,t,n)||this;return i.destinationElement=e,i.destinationOffsetX=n.destinationOffsetX,i.destinationOffsetY=n.destinationOffsetY,i}var Ru,Yu=(w(Wu,Ru=Dl),Wu.prototype.run=function(t){return this._ensureElement(t,!0)},Wu);function Wu(t,e,n){return Ru.call(this,t,e,Pf,al,n)||this}var Xu=y.utils.browser,Hu=y.sandbox.event,qu=y.eventSandbox.eventSimulator,Gu=y.eventSandbox.listeners,zu=y.nativeMethods,ju=E.domUtils,$u=E.contentEditable,Qu=E.textSelection,Zu=/ /g;function Ju(t){var e=Qu.getSelectionByElement(t),n=Qu.hasInverseSelectionContentEditable(t);return Qu.hasElementContainsSelection(t)?$u.getSelection(t,e,n):{startPos:$u.calculateNodeAndOffsetByPosition(t,0),endPos:$u.calculateNodeAndOffsetByPosition(t,0)}}function tc(t){var e=t.startPos.node,n=t.startPos.offset,i=t.endPos.offset,o=$u.getFirstNonWhitespaceSymbolIndex(e.nodeValue),r=$u.getLastNonWhitespaceSymbolIndex(e.nodeValue);return n<o&&0!==n?(t.startPos.offset=o,t.endPos.offset=i+o-n):r<i&&i!==e.nodeValue.length&&(t.startPos.offset=e.nodeValue.length,t.endPos.offset=i+e.nodeValue.length-n),t}function ec(t,e,n){return!n||qu.beforeInput(t,e)}function nc(t,e){var n;function i(t){t.preventDefault(),n=!0}function o(t){"textInput"===t.type&&(n=!1)}Xu.isSafari&&(Gu.addInternalEventBeforeListener(Pf,["textInput"],i),Hu.on(Hu.EVENT_PREVENTED_EVENT,o));var r=Xu.isFirefox||qu.textInput(t,e)||n;return Xu.isSafari&&(Gu.removeInternalEventBeforeListener(Pf,["textInput"],i),Hu.off(Hu.EVENT_PREVENTED_EVENT,o)),r||Xu.isIE11}function ic(t,e){var n,i,o,r,s,l,a,u,c,h,f,d=Ju(t),m=d.startPos.node,p=d.endPos.node,v=!0,g=!0,y=e;function E(){g=!1}function b(t,e,n){n()}e=e.replace(Zu,String.fromCharCode(160)),m&&p&&ju.isContentEditableElement(m)&&ju.isContentEditableElement(p)&&(ju.isTheSameNode(m,p)||(Qu.deleteSelectionContents(t),n=t,o=(i=d).startPos.node,r=zu.nodeParentNodeGetter.call(o)&&o.parentElement,!(Xu.isChrome&&Xu.version<58||Xu.isSafari)&&r&&ju.isElementContainsNode(n,o)||(i=Ju(n),Qu.hasInverseSelectionContentEditable(n)&&(i={startPos:i.endPos,endPos:i.startPos})),i.endPos.offset=i.startPos.offset,m=(d=i).startPos.node),m&&ju.isContentEditableElement(m)&&ju.isRenderedNode(m)&&ec(t,e,Xu.isChrome||Xu.isFirefox)&&(v=nc(t,y),g=v&&!Xu.isIE11,Gu.addInternalEventBeforeListener(Pf,["input"],E),Gu.addInternalEventBeforeListener(Pf,["textinput"],b),(v=v&&ec(t,e,Xu.isSafari))&&(ju.isElementNode(m)?(s=m,l=e,c=xf.createTextNode(l),h={node:c,offset:l.length},f=zu.nodeParentNodeGetter.call(s),"br"===ju.getTagName(s)?f.insertBefore(c,s):0<a?(u=zu.nodeChildNodesGetter.call(s),s.insertBefore(c,u[a])):s.appendChild(c),Qu.selectByNodesAndOffsets(h,h)):function(t,e,n){var i=e.startPos.node;ju.isElementContainsNode(t,i)||(i=(e=tc(Ju(t))).startPos.node);var o=e.startPos.offset,r=e.endPos.offset,s=i.nodeValue,l={node:i,offset:o+n.length};i.nodeValue=s.substring(0,o)+n+s.substring(r,s.length),Qu.selectByNodesAndOffsets(l,l)}(t,tc(d),e)),To().then(function(){g&&qu.input(t,e),Gu.removeInternalEventBeforeListener(Pf,["input"],E),Gu.removeInternalEventBeforeListener(Pf,["textinput"],b)})))}function oc(t,e,n){var i,o,r,s,l,a,u,c,h,f,d,m,p;ju.isContentEditableElement(t)&&ic(t,e),ju.isElementReadOnly(t)||(ju.isTextEditableElement(t)?(l=t,a=e,h=ju.getElementValue(l),f=a.length,d=Qu.getSelectionStart(l),m=Qu.getSelectionEnd(l),p=ju.isInputElement(l)&&"number"===l.type,ec(l,a,Xu.isChrome||Xu.isFirefox)&&nc(l,a)&&ec(l,a,Xu.isSafari)&&((u=!Xu.isIE&&p?null:parseInt(l.maxLength,10))<0&&(u=Xu.isIE&&Xu.version<17?0:null),c=h.substring(0,d)+a+h.substring(m,h.length),(null===u||isNaN(u)||c.length<=u)&&(p&&Xu.isIOS&&"."===h[h.length-1]&&(d+=1),ju.setElementValue(l,c),Qu.select(l,d+f,d+f)),qu.input(l,a))):ju.isInputElement(t)&&(i=t,o=e,null!==(r=n)?(s=ju.getElementValue(i),ju.setElementValue(i,s.substr(0,r)+o+s.substr(r+o.length))):ju.setElementValue(i,o),qu.change(i),qu.input(i,o)))}function rc(t){return 1===t.length&&("a"<=t&&t<="z"||"A"<=t&&t<="Z")}var sc=y.nativeMethods,lc=y.utils.browser,ac=y.eventSandbox.focusBlur,uc=y.Promise,cc=g.domUtils.isRadioButtonElement,hc=g.domUtils.getActiveElement,fc=g.domUtils.getTabIndexAttributeIntValue;function dc(t){return t===t.toLowerCase()?t.toUpperCase():t.toLowerCase()}function mc(t){for(var e=t.slice(),n=0;n<t.length;n++){var i=t[n];if("shift"===i.toLowerCase()){var o=t[n+1];if(!o)continue;g.KEY_MAPS.shiftMap[o]?t[n+1]=g.KEY_MAPS.shiftMap[o]:g.KEY_MAPS.reversedShiftMap[o]&&(e[n+1]=g.KEY_MAPS.reversedShiftMap[o])}!g.KEY_MAPS.shiftMap[i]||t[n-1]&&"shift"===t[n-1].toLowerCase()||(t[n]=g.KEY_MAPS.shiftMap[i],t.splice(n,0,"shift"),e.splice(n,0,"shift"),n++)}return{actualKeys:t,eventKeyProperties:e}}function pc(t){var e=hc(t||xf),n=null;if(e&&g.domUtils.isIframeElement(e)&&sc.contentDocumentGetter.call(e))try{n=pc(sc.contentDocumentGetter.call(e))}catch(t){}return n||e}function vc(t,e,n){if(!cc(e))return t;if(!n&&!e.name&&!lc.isChrome)return[e];var i,o,r=(i=e,o=null,n?""===i.name||lc.isFirefox||(o=function(t){return!t.name||t===i||t.name!==i.name}):""!==i.name?o=function(t){return cc(t)&&t.name===i.name}:lc.isChrome&&(o=function(t){return cc(t)&&!t.name}),o);return r&&(t=g.arrayUtils.filter(t,r)),t}function gc(t,e,n){var i,o,r,s,l,a,u,c,h=e?-1:1,f=g.domUtils.getTopSameDomainWindow(Pf).document,d=(i=f,o=sc.documentActiveElementGetter.call(i),r=o&&fc(o),!(o&&r<0)),m=vc(m=g.domUtils.getFocusableElements(f,d),t,n),p=cc(t),v=g.arrayUtils.indexOf(m,t);return(e?0===v:v===m.length-1)?!e&&t.tabIndex<0?g.arrayUtils.find(m,function(t){return 0===t.tabIndex}):n||!p?xf.body:m[m.length-1-v]:e&&-1===v?m[m.length-1]:(l=(s=m)[v+h],a=n,u=cc(l)&&l.name&&!l.checked,c=null,a&&u&&(c=g.arrayUtils.find(s,function(t){return cc(t)&&t.name===l.name&&t.checked})),c||l)}function yc(t,e,n){var i={};return"keyIdentifier"in KeyboardEvent.prototype&&(i.keyIdentifier=t?"":n),"key"in KeyboardEvent.prototype&&(i.key=e),i}var Ec={SPECIAL_KEYS:{capslock:"CapsLock",delete:"U+007F",end:"End",enter:"Enter",esc:"U+001B",home:"Home",ins:"Insert",pagedown:"PageDown",pageup:"PageUp",space:"U+0020",tab:"Tab",alt:"Alt",ctrl:"Control",meta:"Meta",shift:"Shift"},LETTERS:{a:"U+0041",b:"U+0042",c:"U+0043",d:"U+0044",e:"U+0045",f:"U+0046",g:"U+0047",h:"U+0048",i:"U+0049",j:"U+004A",k:"U+004B",l:"U+004C",m:"U+004D",n:"U+004E",o:"U+004F",p:"U+0050",q:"U+0051",r:"U+0052",s:"U+0053",t:"U+0054",u:"U+0055",v:"U+0056",w:"U+0057",x:"U+0058",y:"U+0059",z:"U+005A"},SYMBOLS:{0:"U+0030",1:"U+0031",2:"U+0032",3:"U+0033",4:"U+0034",5:"U+0035",6:"U+0036",7:"U+0037",8:"U+0038",9:"U+0039"," ":"U+0020","!":"U+0021","@":"U+0040","#":"U+0023",$:"U+0024","%":"U+0025","^":"U+005E","*":"U+002A","(":"U+0028",")":"U+0029",_:"U+005F","|":"U+007C","\\":"U+005C","/":"U+002F","?":"U+003F",".":"U+002E",",":"U+002C","<":"U+003C",">":"U+003E","[":"U+005B","]":"U+005D","{":"U+007B","}":"U+007D","§":"U+00A7","±":"U+00B1","'":"U+0027",'"':"U+0022",":":"U+003A",";":"U+003B","`":"U+0060","~":"U+007E"}};function bc(t){return rc(t)?Ec.LETTERS[t.toLowerCase()]:Ec.SYMBOLS[t]||Ec.SPECIAL_KEYS[t]||t}function Sc(t){if(rc(t))return t.toUpperCase().charCodeAt(0);var e=g.KEY_MAPS.shiftMap[t]?g.KEY_MAPS.shiftMap[t].charCodeAt(0):t.charCodeAt(0);return g.KEY_MAPS.symbolCharCodeToKeyCode[e]||e}function wc(t,e){var n,i=g.getSanitizedKey(t),o=1===t.length||"space"===t,r=(n=t,-1<g.KEY_MAPS.newLineKeys.indexOf(n)),s=g.KEY_MAPS.modifiers[i],l=g.KEY_MAPS.specialKeys[i];return e=e||t,{sanitizedKey:i,isChar:o,modifierKeyCode:s,specialKeyCode:l,isNewLine:r,isLetter:rc(t),keyIdentifierProperty:bc(e),keyProperty:g.KEY_MAPS.keyProperty[e]||e,keyCode:function(t,e,n,i,o){var r=null;return e&&"space"!==t?r=Sc(n):i?r=i:o&&(r=o),r}(t,o,i,s,l)}}var _c=y.utils.browser,Pc=y.utils.extend,xc=y.eventSandbox.eventSimulator,Ac=(Cc._isKeyActivatedInputElement=function(t){return g.domUtils.isInputElement(t)&&/button|submit|reset|radio|checkbox/.test(t.type)},Cc.prototype._type=function(t,e){var n,i=t!==this.storedActiveElement,o=!i,r=t,s=g.domUtils.isEditableElement(t),l=g.domUtils.isEditableElement(this.storedActiveElement);try{i&&(n=g.domUtils.isElementInIframe(t)===g.domUtils.isElementInIframe(this.storedActiveElement)||l,o=(!_c.isFirefox||l)&&(!_c.isWebKit||n))}catch(t){}o&&(!_c.isIE&&i&&l&&s&&(r=this.storedActiveElement),oc(r,e))},Cc.prototype._addKeyPropertyToEventOptions=function(t){return Pc(t,yc("keypress"===t.type,this.keyProperty,this.keyIdentifierProperty)),t},Cc.prototype.down=function(t){this.storedActiveElement=pc(this.topSameDomainDocument),this.modifierKeyCode&&(t[this.sanitizedKey]=!0),t.shift&&this.isLetter&&(this.keyProperty=dc(this.keyProperty));var e={keyCode:this.keyCode,type:"keydown"};return this._addKeyPropertyToEventOptions(e),xc.keydown(this.storedActiveElement,Pc(e,t))},Cc.prototype.press=function(t){if(!this.isChar&&!this.specialKeyCode)return!0;var e=pc(this.topSameDomainDocument),n=this.isChar?function(t,e){if("space"===t)return" ";if(e){if(rc(t))return dc(t);if(g.KEY_MAPS.reversedShiftMap[t])return g.KEY_MAPS.reversedShiftMap[t]}return t}(this.sanitizedKey,t.shift):null,i=this.specialKeyCode||n.charCodeAt(0),o=e!==this.storedActiveElement;if(_c.isWebKit&&o&&g.domUtils.isElementInIframe(e)!==g.domUtils.isElementInIframe(this.storedActiveElement))return!0;this.storedActiveElement=e;var r={keyCode:i,charCode:i,type:"keypress"};this._addKeyPropertyToEventOptions(r);var s=_c.isAndroid||xc.keypress(e,Pc(r,t));if(!s)return s;e=pc(this.topSameDomainDocument),!n||t.ctrl||t.alt||this._type(e,n);var l=Cc._isKeyActivatedInputElement(e),a=g.domUtils.isButtonElement(e);return _c.isSafari&&0<=_c.compareVersions([_c.webkitVersion,"603.1.30"])||!l&&!a||"enter"!==this.sanitizedKey||e.click(),s},Cc.prototype.up=function(t){this.modifierKeyCode&&(t[this.sanitizedKey]=!1);var e={keyCode:this.keyCode,type:"keyup"};this._addKeyPropertyToEventOptions(e);var n=xc.keyup(pc(this.topSameDomainDocument),Pc(e,t)),i=pc(this.topSameDomainDocument);return!_c.isFirefox&&!_c.isSafari&&(!_c.isChrome||53<=_c.version)&&n&&"space"===this.sanitizedKey&&Cc._isKeyActivatedInputElement(i)&&i.click(),n},Object.defineProperty(Cc.prototype,"key",{get:function(){return this.sanitizedKey},enumerable:!1,configurable:!0}),Cc);function Cc(t,e){var n=wc(t,e);Pc(this,n),this.topSameDomainDocument=g.domUtils.getTopSameDomainWindow(Pf).document,this.storedActiveElement=null}var Tc,Mc={ctrlA:"ctrl+a",backspace:"backspace",delete:"delete",left:"left",right:"right",up:"up",down:"down",shiftLeft:"shift+left",shiftRight:"shift+right",shiftUp:"shift+up",shiftDown:"shift+down",shiftHome:"shift+home",shiftEnd:"shift+end",home:"home",end:"end",enter:"enter",tab:"tab",shiftTab:"shift+tab",esc:"esc"},Dc=y.Promise,Ic=y.utils.browser,Uc=y.eventSandbox.eventSimulator,kc=y.eventSandbox.elementEditingWatcher,Oc=E.textSelection,Nc=E.eventUtils,Bc=E.domUtils,Fc=i.selectElement,Lc=null,Kc=null;function Vc(){Kc=Lc=null,Nc.unbind(this,"blur",Vc,!0)}function Rc(t){var e,n,i,o;Bc.isTextAreaElement(t)&&(Lc!==t&&(Nc.bind(t,"blur",Vc,!0),Lc=t),e=t,n=Oc.hasInverseSelection(e),i=Bc.getTextAreaValue(e),o=n?Oc.getSelectionStart(e):Oc.getSelectionEnd(e),Kc=i&&o?Bc.getTextareaIndentInLine(e,o):0)}function Yc(t,e){var n,i,o,r,s,l,a=Bc.getTextAreaValue(t);a&&(n=Oc.getSelectionStart(t),i=Oc.getSelectionEnd(t),o=Oc.hasInverseSelection(t),s=(r=a.substring(0,o?n:i)).lastIndexOf("\n"),l=r.substring(0,s),null!==Kc&&Lc===t||Rc(t),s=l.lastIndexOf("\n"),Xc(t,n,i,o,Math.min(s+1+Kc,l.length),e))}function Wc(t,e){var n,i,o,r,s,l,a,u,c,h,f=Bc.getTextAreaValue(t);f&&(n=Oc.getSelectionStart(t),i=Oc.getSelectionEnd(t),u=(r=(o=Oc.hasInverseSelection(t))?n:i)+(l=-1===(c=(s=f.substring(r)).indexOf("\n"))?s.length:c+1),h=-1===(c=(a=s.substring(l)).indexOf("\n"))?a.length:c,null!==Kc&&Lc===t||Rc(t),Xc(t,n,i,o,u=Math.min(u+Kc,u+h),e))}function Xc(t,e,n,i,o,r){var s=null,l=null,l=r?(s=e!==n&&i?n:e,o):s=o;Oc.select(t,s,l)}function Hc(t,e,n){Bc.isInputElement(t)&&"number"===t.type&&("-"===e.charAt(0)&&"."===e.charAt(1)&&(e=e.substring(1)),"."===e.charAt(e.length-1)&&(e=e.substring(0,e.length-1))),Bc.setElementValue(t,e),Oc.select(t,n,n),Uc.input(t)}function qc(t,e){var n,i,o,r,s,l,a,u;return Bc.isTextEditableElement(t)&&(n=Oc.getSelectionStart(t),i=Oc.getSelectionEnd(t),o=Oc.hasInverseSelection(t),s=null,s=(r=!Bc.isTextAreaElement(t)||Bc.getTextareaLineNumberByPosition(t,n)===Bc.getTextareaLineNumberByPosition(t,i))?o?i:n:o?n:i,a=-1===(l=Bc.getElementValue(t).substring(0,s).lastIndexOf("\n"))?0:l+1,u=null,r?(u=e?s:a,Oc.select(t,u,a)):o?Oc.select(t,i,a):Oc.select(t,n,a)),Dc.resolve()}function Gc(t,e){var n,i,o,r,s,l,a,u,c;return Bc.isTextEditableElement(t)&&(n=Oc.getSelectionStart(t),i=Oc.getSelectionEnd(t),o=Oc.hasInverseSelection(t),s=null,u=s=(r=!Bc.isTextAreaElement(t)||Bc.getTextareaLineNumberByPosition(t,n)===Bc.getTextareaLineNumberByPosition(t,i))?o?i:n:o?n:i,c=null,u+=-1===(a=(l=Bc.getElementValue(t).substring(s)).indexOf("\n"))?l.length:a,r?(c=e?s:u,Oc.select(t,c,u)):o?Oc.select(t,i,u):Oc.select(t,n,u)),Dc.resolve()}function zc(t){return qc(t,!0)}function jc(t){return Gc(t,!0)}function $c(t){return Bc.isRadioButtonElement(t)}function Qc(t,e){return Zc(t,e,!1).then(function(t){t&&(t.checked=!0)})}function Zc(t,e,n){return void 0===n&&(n=!0),t?(Bc.isSelectElement(t)&&Fc.collapseOptionList(),i=t,o=e,r=n,new uc(function(t){var e=gc(i,o,r);e?ac.focus(e,function(){return t(e)}):t()}).then(function(t){return t&&Bc.isTextEditableInput(t)&&Oc.select(t),t})):Dc.resolve();var i,o,r}var Jc=((Tc={})[Mc.ctrlA]=function(t){return Bc.isEditableElement(t)&&Oc.select(t),Dc.resolve()},Tc[Mc.backspace]=function(t){var e,n,i;return Bc.isTextEditableElementAndEditingAllowed(t)&&(e=Oc.getSelectionStart(t),n=Oc.getSelectionEnd(t),i=Bc.getElementValue(t).replace(/\r\n/g,"\n"),n===e?0<e&&Hc(t,i.substring(0,e-1)+i.substring(n,i.length),e-1):Hc(t,i.substring(0,e)+i.substring(n,i.length),e)),Bc.isContentEditableElement(t)&&Oc.deleteSelectionContents(t),Dc.resolve()},Tc[Mc.delete]=function(t){var e,n,i;return Bc.isTextEditableElementAndEditingAllowed(t)&&(e=Oc.getSelectionStart(t),n=Oc.getSelectionEnd(t),i=Bc.getElementValue(t).replace(/\r\n/g,"\n"),n===e?e<i.length&&Hc(t,i.substring(0,e)+i.substring(n+1,i.length),e):Hc(t,i.substring(0,e)+i.substring(n,i.length),e)),Bc.isContentEditableElement(t)&&Oc.deleteSelectionContents(t),Dc.resolve()},Tc[Mc.left]=function(t){var e,n,i,o,r=null;return Bc.isSelectElement(t)&&Fc.switchOptionsByKeys(t,"left"),$c(t)?Qc(t,!0):(Bc.isTextEditableElement(t)&&(e=(r=Oc.getSelectionStart(t)||0)===Oc.getSelectionEnd(t)?r-1:r,Oc.select(t,e,e),Rc(t)),Bc.isContentEditableElement(t)&&(r=Oc.getSelectionStart(t))!==Oc.getSelectionEnd(t)&&(n=Oc.getSelectionByElement(t),o={node:(i=Oc.hasInverseSelectionContentEditable(t))?n.focusNode:n.anchorNode,offset:i?n.focusOffset:n.anchorOffset},Oc.selectByNodesAndOffsets(o,o,!0)),Dc.resolve())},Tc[Mc.right]=function(t){var e,n,i,o,r=null,s=null;return Bc.isSelectElement(t)&&Fc.switchOptionsByKeys(t,"right"),$c(t)?Qc(t,!1):(Bc.isTextEditableElement(t)&&(e=(r=Oc.getSelectionStart(t))===(s=Oc.getSelectionEnd(t))?s+1:s,r===Bc.getElementValue(t).length&&(e=r),Oc.select(t,e,e),Rc(t)),Bc.isContentEditableElement(t)&&(r=Oc.getSelectionStart(t))!==(s=Oc.getSelectionEnd(t))&&(n=Oc.getSelectionByElement(t),o={node:(i=Oc.hasInverseSelectionContentEditable(t))?n.anchorNode:n.focusNode,offset:i?n.anchorOffset:n.focusOffset},Oc.selectByNodesAndOffsets(o,o,!0)),Dc.resolve())},Tc[Mc.up]=function(t){return Bc.isSelectElement(t)&&Fc.switchOptionsByKeys(t,"up"),$c(t)?Qc(t,!0):Ic.isWebKit&&Bc.isInputElement(t)?qc(t):(Bc.isTextAreaElement(t)&&Yc(t,!1),Dc.resolve())},Tc[Mc.down]=function(t){return Bc.isSelectElement(t)&&Fc.switchOptionsByKeys(t,"down"),$c(t)?Qc(t,!1):Ic.isWebKit&&Bc.isInputElement(t)?Gc(t):(Bc.isTextAreaElement(t)&&Wc(t,!1),Dc.resolve())},Tc[Mc.shiftLeft]=function(t){var e,n;return Bc.isTextEditableElement(t)&&((e=Oc.getSelectionStart(t))===(n=Oc.getSelectionEnd(t))||Oc.hasInverseSelection(t)?Oc.select(t,n,Math.max(e-1,0)):Oc.select(t,e,Math.max(n-1,0)),Rc(t)),Dc.resolve()},Tc[Mc.shiftRight]=function(t){var e,n,i;return Bc.isTextEditableElement(t)&&(e=Oc.getSelectionStart(t),n=Oc.getSelectionEnd(t),i=Bc.getElementValue(t).length,e!==n&&Oc.hasInverseSelection(t)?Oc.select(t,n,Math.min(e+1,i)):Oc.select(t,e,Math.min(n+1,i)),Rc(t)),Dc.resolve()},Tc[Mc.shiftUp]=function(t){return Ic.isWebKit&&Bc.isInputElement(t)?zc(t):(Bc.isTextAreaElement(t)&&Yc(t,!0),Dc.resolve())},Tc[Mc.shiftDown]=function(t){return Ic.isWebKit&&Bc.isInputElement(t)?jc(t):(Bc.isTextAreaElement(t)&&Wc(t,!0),Dc.resolve())},Tc[Mc.shiftHome]=zc,Tc[Mc.shiftEnd]=jc,Tc[Mc.home]=qc,Tc[Mc.end]=Gc,Tc[Mc.enter]=function(t){var e,n,i,o,r,s;return Bc.isSelectElement(t)&&Fc.collapseOptionList(),Bc.isInputElement(t)?(Ic.isIE||kc.processElementChanging(t),(e=Bc.getParents(t,"form")[0])&&function(t,e){var n=t.querySelectorAll("input, button"),i=null,o=null;for(o=0;o<n.length;o++)if(!i&&"submit"===n[o].type&&!n[o].disabled){i=n[o];break}if(i)Uc.click(i);else if(Bc.blocksImplicitSubmission(e)){for(var r=t.getElementsByTagName("input"),s=[],o=0;o<r.length;o++)Bc.blocksImplicitSubmission(r[o])&&s.push(r[o]);1===s.length&&s[0]===e&&e.validity.valid&&Uc.submit(t)&&t.submit()}}(e,t)):Bc.isTextAreaElement(t)?(n=Oc.getSelectionStart(t),o=(i=Bc.getTextAreaValue(t)).substring(0,n),r=i.substring(n),s=n+1,Hc(t,o+String.fromCharCode(10)+r,s)):t.tagName&&Bc.isAnchorElement(t)&&Uc.click(t),Dc.resolve()},Tc[Mc.tab]=function(t){return Zc(t,!1)},Tc[Mc.shiftTab]=function(t){return Zc(t,!0)},Tc[Mc.esc]=function(t){return Bc.isSelectElement(t)&&Fc.collapseOptionList(),Dc.resolve()},Tc);function th(t){var e,n;e=t.modifiers,n=m.utils.extend({},dl),e&&(e&rl.ctrl&&(n.ctrl=!0),e&rl.alt&&(n.alt=!0),e&rl.shift&&(n.shift=!0),e&rl.meta&&(n.meta=!0)),n.shift&&t.isLetter&&(t.keyProperty=dc(t.keyProperty),t.keyCode=Sc(t.keyProperty))}var eh=y.Promise,nh=y.eventSandbox.message,ih=y.nativeMethods,oh="automation|press|request",rh="automation|press|response";nh.on(nh.SERVICE_MSG_RECEIVED_EVENT,function(t){t.message.cmd===oh&&(y.on(y.EVENTS.beforeUnload,function(){return nh.sendServiceMsg({cmd:rh},t.source)}),new sh(t.message.keyCombinations,t.message.options).run().then(function(){return nh.sendServiceMsg({cmd:rh},t.source)}))});var sh=(lh._getKeyPressSimulators=function(t){var e=mc(g.getKeyArray(t)),n=e.actualKeys,i=e.eventKeyProperties;return g.arrayUtils.map(n,function(t,e){return new Ac(t,i[e])})},lh._getShortcuts=function(t){for(var e=g.getKeyArray(t.toLowerCase()),n=[],i=[],o=[],r=0;r<e.length;r++)for(i.push(e[r]),o=i.slice();o.length;){var s=o.join("+");Jc[s]?(n.push(s),i=o=[]):o.shift()}return n},lh._getShortcutHandlers=function(t){for(var e,n,i,o=lh._getShortcuts(t.toLowerCase()),r={},s="",l=0;l<o.length;l++)e=o[l],n=t.indexOf(e),i=e.length,r[s+=t.substring(0,n+i)]=Jc[e],t=t.substring(n+i);return r},lh.prototype._down=function(t){this.pressedKeyString+=(this.pressedKeyString?"+":"")+t.key;var e=!t.down(this.modifiersState);return eh.resolve(e)},lh.prototype._press=function(t,e){var n=this;if(e&&!this.isSelectElement)return g.delay(this.automationSettings.keyActionStepDelay);var i=this.shortcutHandlers[this.pressedKeyString],o=!1;return i&&"enter"!==t.key||(o=!t.press(this.modifiersState)),o&&!this.isSelectElement||!i?g.delay(this.automationSettings.keyActionStepDelay):i(pc(this.topSameDomainDocument)).then(function(){return g.delay(n.automationSettings.keyActionStepDelay)})},lh.prototype._up=function(t){return t.up(this.modifiersState),g.delay(this.automationSettings.keyActionStepDelay)},lh.prototype._runCombination=function(t){var n=this;this.modifiersState={ctrl:!1,alt:!1,shift:!1,meta:!1},this.isSelectElement=g.domUtils.isSelectElement(pc(this.topSameDomainDocument)),this.pressedKeyString="",this.shortcutHandlers=lh._getShortcutHandlers(t);var e=lh._getKeyPressSimulators(t);return g.promiseUtils.each(e,function(e){return n._down(e).then(function(t){return n._press(e,t)})}).then(function(){return g.arrayUtils.reverse(e),g.promiseUtils.each(e,function(t){return n._up(t)})})},lh.prototype._calculateCDPEventSequence=function(){for(var t=[],e=0,n=this.keyCombinations;e<n.length;e++){for(var i=function(t){var e=mc(g.getKeyArray(t)),n=e.actualKeys,i=e.eventKeyProperties;return g.arrayUtils.map(n,function(t,e){return m.utils.extend({key:t},wc(t,i[e]))})}(n[e]),o=0,r=0,s=i;r<s.length;r++)o|=ml((l=s[r]).key),l.modifiers=o,th(l),t.push(_l.keyDown(l),_l.delay(this.automationSettings.keyActionStepDelay));for(var l,a=i.length-1;0<=a;a--)o&=~ml((l=i[a]).key),l.modifiers=o,t.push(_l.keyUp(l))}return t},lh.prototype.run=function(){var e=this,t=g.domUtils.getActiveElement(),n=g.domUtils.isIframeElement(t);if(!ys(Pf)&&n&&ih.contentWindowGetter.call(t)){var i={cmd:oh,keyCombinations:this.keyCombinations,options:this.options};return g.sendRequestToFrame(i,rh,ih.contentWindowGetter.call(t))}if(this.nativeAutomationInput){var o=this._calculateCDPEventSequence();return this.nativeAutomationInput.executeEventSequence(o)}return g.promiseUtils.each(this.keyCombinations,function(t){return e._runCombination(t).then(function(){return g.delay(e.automationSettings.keyActionStepDelay)})})},lh);function lh(t,e,n){this.keyCombinations=t,this.isSelectElement=!1,this.pressedKeyString="",this.modifiersState=null,this.shortcutHandlers=null,this.topSameDomainDocument=g.domUtils.getTopSameDomainWindow(Pf).document,this.automationSettings=new _o(e.speed),this.options=e,this.nativeAutomationInput=n?new xl(n):null}var ah,uh=y.Promise,ch=y.utils.extend,hh=y.utils.browser,fh=y.eventSandbox.eventSimulator,dh=E.domUtils,mh=E.eventUtils,ph=E.delay,vh=(w(gh,ah=Dl),gh.prototype._mousedown=function(t){var e=this;return al.rightButtonDown().then(function(){return e.eventState.activeElementBeforeMouseDown=dh.getActiveElement(),e.eventState.simulateDefaultBehavior=fh.mousedown(t.element,t.options),e._focus(t)})},gh.prototype._focus=function(t){return!1===this.simulateDefaultBehavior?To():Ql(dh.isContentEditableElement(this.element)?this.element:t.element,!hh.isIE||this.eventState.activeElementBeforeMouseDown===dh.getActiveElement(),this.caretPos).then(To)},gh.prototype._mouseup=function(e){var t=this;return al.buttonUp().then(function(){return t._getElementForEvent(e)}).then(function(t){return fh.mouseup(t,e.options)})},gh.prototype._contextmenu=function(e){return this._getElementForEvent(e).then(function(t){fh.contextmenu(t,e.options),dh.isElementFocusable(t)||Jl(t)})},gh.prototype.run=function(t){var o=this,r=null;return this._ensureElement(t).then(function(t){var e=t.element,n=t.clientPoint,i=t.devicePoint;return r={point:n,element:e,options:ch({clientX:n.x,clientY:n.y,screenX:i.x,screenY:i.y,button:mh.BUTTON.right},o.modifiers)},uh.all([ph(o.automationSettings.mouseActionStepDelay),o._mousedown(r)])}).then(function(){return o._mouseup(r)}).then(function(){return o._contextmenu(r)})},gh);function gh(t,e){var n=ah.call(this,t,e,Pf,al)||this;return n.modifiers=e.modifiers,n.caretPos=e.caretPos,n.eventState={simulateDefaultBehavior:!0,activeElementBeforeMouseDown:null},n}var yh=y.utils.browser,Eh=E.domUtils,bh=E.positionUtils,Sh=E.styleUtils,wh=E.contentEditable,_h=E.arrayUtils,Ph=["direction","font-family","font-size","font-size-adjust","font-variant","font-weight","font-style","letter-spacing","line-height","text-align","text-indent","text-transform","word-wrap","word-spacing","padding-top","padding-left","padding-right","padding-bottom","margin-top","margin-left","margin-right","margin-bottom","border-top-width","border-left-width","border-right-width","border-bottom-width"];function xh(t,e){var n,i,o,r,s,l=Sh.getBordersWidth(t),a=bh.getOffsetPosition(t),u=t.scrollHeight||t.getBoundingClientRect().height,c=Math.ceil(e.left),h=Math.ceil(e.top),f=Math.floor(e.bottom);return Eh.isTextAreaElement(t)||(i=(n=bh.offsetToClientCoords({x:a.left,y:a.top})).x+l.left+1,o=n.y+l.top+1,r=n.y+l.top+l.bottom+u,s=n.y+l.top+u-1,c=Math.ceil(c<=n.x?i:e.left),h=Math.ceil(h<=n.y?o:e.top),f=Math.floor(r<=f?s:e.bottom)),{left:c,top:h,bottom:f}}function Ah(t){var e=Sh.getElementScroll(xf);return{left:t.left+e.left,top:t.top+e.top,bottom:t.bottom+e.top}}function Ch(t,e){var n=t.getBoundingClientRect(),i=function(e){var t,n,i,o=xf.body,r=bh.getOffsetPosition(e),s=Sh.getElementMargin(e),l=r.top-s.top,a=r.left-s.left,u=xf.createElement("div"),c="white-space:pre-wrap;border-style:solid;";return"absolute"===Sh.get(o,"position")&&(t=Sh.getElementMargin(o),n=Sh.get(o,"left"),i=Sh.get(o,"top"),a-=t.left+(parseInt(n.replace("px",""),10)||0),l-=t.top+(parseInt(i.replace("px",""),10)||0)),_h.forEach(Ph,function(t){c+="".concat(t,":").concat(Sh.get(e,t),";")}),Sh.set(u,{cssText:c,position:"absolute",left:a+"px",top:l+"px",width:e.scrollWidth+"px",height:e.scrollHeight+"px"}),y.nativeMethods.nodeTextContentSetter.call(u,Eh.getElementValue(e)+" "),o.appendChild(u),u}(t),o=null,r=t.getBoundingClientRect(),s=r.top-n.top,l=r.left-n.left,a=Eh.getElementValue(t).length;try{var u=xf.createRange();u.setStart(y.nativeMethods.nodeFirstChildGetter.call(i),Math.min(e,a)),u.setEnd(y.nativeMethods.nodeFirstChildGetter.call(i),Math.min(e+1,a+1)),Eh.isTextAreaElement(t)&&(0!==(o=u.getBoundingClientRect()).width||0!==o.height)||(o=u.getClientRects()[0])}catch(t){o=null}return Eh.remove(i),o?{width:o.width,height:o.height,top:o.top-s,bottom:o.bottom-s,left:o.left-l,right:o.right-l}:null}function Th(t,e){var n,i,o,r,s,l,a=null;return(a=Eh.isContentEditableElement(t)?(o=t,r=e,s=Eh.findDocument(o).createRange(),l=wh.calculateNodeAndOffsetByPosition(o,r),s.setStart(l.node,Math.min(l.offset,l.node.length)),s.setEnd(l.node,Math.min(l.offset,l.node.length)),s.getClientRects()[0]):"function"==typeof t.createTextRange?(n=e,(i=t.createTextRange()).collapse(!0),i.moveStart("character",n),i.moveEnd("character",n),i.collapse(!0),i.getBoundingClientRect()):Ch(t,e))?{x:(a=Ah(a=xh(t,a))).left,y:Math.floor(a.top+(a.bottom-a.top)/2)}:null}function Mh(t,e){var n=Eh.isTextEditableElement(t),i=Eh.isContentEditableElement(t);return n&&0<Eh.getElementValue(t).length||i&&wh.getContentEditableValue(t).length?Th(t,e):bh.findCenter(t)}function Dh(t,e,n){var i=Eh.findDocument(t).createRange();i.setStart(e,Math.min(n,e.length)),i.setEnd(e,Math.min(n,e.length));var o=i.getClientRects()[0];return o?{x:(o=Ah(xh(t,o))).left,y:Math.floor(o.top+(o.bottom-o.top)/2)}:null}var Ih,Uh=y.Promise,kh=y.utils.browser,Oh=y.utils.featureDetection,Nh=y.eventSandbox.eventSimulator,Bh=y.eventSandbox.focusBlur,Fh=E.contentEditable,Lh=E.domUtils,Kh=E.positionUtils,Vh=E.eventUtils,Rh=E.delay,Yh=(w(Wh,Ih=Dl),Wh.prototype._calculateEventArguments=function(){var e=this,n=Kh.offsetToClientCoords(this.clientPoint);return Vt(n).then(function(t){if(!t)throw new li(null,{reason:Kh.getElOutsideBoundsReason(e.element)});return{element:t,options:{clientX:n.x,clientY:n.y}}})},Wh.prototype._move=function(t){var e=this,n=t.element,i=t.offsetX,o=t.offsetY,r=t.speed,s=new Nr({offsetX:i,offsetY:o,speed:r},!1);return Js.create(n,s,Pf,al).then(function(t){return t.run()}).then(function(){return Rh(e.automationSettings.mouseActionStepDelay)})},Wh.prototype._bindMousedownHandler=function(){var e=this,n=function(t){e.eventState.mousedownPrevented=t.defaultPrevented,Vh.preventDefault(t),Vh.unbind(e.element,"mousedown",n)};Vh.bind(this.element,"mousedown",n)},Wh.prototype._calculateAbsoluteStartPoint=function(){throw new Error("Not implemented")},Wh.prototype._calculateAbsoluteEndPoint=function(){throw new Error("Not implemented")},Wh.prototype._moveToPoint=function(t){!function(t,e){if(Eh.isEditableElement(t)){var n=Eh.isTextAreaElement(t);if(!Eh.isInputElement(t)||!(yh.isFirefox||yh.isIE&&10<yh.version)){var i=bh.getOffsetPosition(t),o=Sh.getBordersWidth(t),r=Sh.getElementScroll(t),s=e.x-i.left-o.left,l=e.y-i.top-o.top,a=null;if(n)return l<r.top&&(a=l),l>t.clientHeight+r.top&&(a=l-t.clientHeight),null!==a&&Sh.setScrollTop(t,Math.round(a));s<r.left&&(a=s),s>t.clientWidth+r.left&&(a=s-t.clientWidth),null!==a&&Sh.setScrollLeft(t,Math.round(a))}}}(this.element,t),this.clientPoint=function(t,e){var n=Eh.isTextEditableElement(t),i=Eh.isInputElement(t);if(!n&&!Eh.isContentEditableElement(t))return e;var o=bh.getOffsetPosition(t),r=Sh.getBordersWidth(t),s=Sh.getElementScroll(t),l=o.left+r.left+t.clientWidth;return i&&n&&(yh.isFirefox||yh.isIE&&10<yh.version)?{x:Math.min(e.x,l),y:e.y}:{x:e.x-s.left,y:e.y-s.top}}(this.element,t);var e={element:xf.documentElement,offsetX:this.clientPoint.x,offsetY:this.clientPoint.y,speed:this.speed};return this._move(e)},Wh.prototype._mousedown=function(){var n=this;return al.leftButtonDown().then(function(){return n._calculateEventArguments()}).then(function(t){n.eventArgs=t;var e=(kh.isWebKit||kh.isIE)&&Lh.isSelectElement(n.element);return e&&n._bindMousedownHandler(),n.eventState.simulateDefaultBehavior=Nh[n.downEvent](n.eventArgs.element,n.eventArgs.options),!1===n.eventState.simulateDefaultBehavior&&(n.eventState.simulateDefaultBehavior=e&&!n.eventState.mousedownPrevented),n._focus()})},Wh.prototype._focus=function(){var n=this;return new Uh(function(t){var e=Lh.isContentEditableElement(n.element)?Fh.findContentEditableParent(n.element):n.element;Bh.focus(e,t,!1,!0)})},Wh.prototype._setSelection=function(){throw new Error("Not implemented")},Wh.prototype._mouseup=function(){var e=this;return al.buttonUp().then(function(){return e._setSelection(),e._calculateEventArguments()}).then(function(t){e.eventArgs=t,Nh[e.upEvent](e.eventArgs.element,e.eventArgs.options)})},Wh.prototype.run=function(){var t=this;return this.absoluteStartPoint=this._calculateAbsoluteStartPoint(),this.absoluteEndPoint=this._calculateAbsoluteEndPoint(),this._moveToPoint(this.absoluteStartPoint).then(function(){return t._mousedown()}).then(function(){return t._moveToPoint(t.absoluteEndPoint)}).then(function(){return t._mouseup()})},Wh);function Wh(t,e){var n=Ih.call(this,t,e,Pf,al)||this;return n.absoluteStartPoint=null,n.absoluteEndPoint=null,n.clientPoint=null,n.speed=e.speed,n.downEvent=Oh.isTouchDevice?"touchstart":"mousedown",n.upEvent=Oh.isTouchDevice?"touchend":"mouseup",n.eventArgs={options:null,element:null},n.eventState={mousedownPrevented:!1,simulateDefaultBehavior:!0},n}var Xh,Hh=E.textSelection,qh=E.domUtils,Gh=E.positionUtils,zh=(w(jh,Xh=Yh),jh.prototype._calculateAbsoluteStartPoint=function(){return Mh(this.element,this.startPos)||Gh.findCenter(this.element)},jh.prototype._calculateAbsoluteEndPoint=function(){var t=Mh(this.element,this.endPos);return t||(qh.isContentEditableElement(this.element)?function(t,e,n){for(var i=n<e?1:-1,o=n,r=null;o!==e&&!(r=Th(t,o+=i)););return r=r||Th(t,e)||bh.findCenter(t)}(this.element,this.startPos,this.endPos):Gh.findCenter(this.element))},jh.prototype._setSelection=function(){var t=qh.isTextEditableElement(this.element),e=qh.isContentEditableElement(this.element);(t||e)&&!1!==this.eventState.simulateDefaultBehavior&&Hh.select(this.element,this.startPos,this.endPos)},jh.prototype.run=function(t){var e=this;return this._ensureElement(t).then(function(){return Xh.prototype.run.call(e)})},jh);function jh(t,e,n,i){var o=Xh.call(this,t,i)||this;return o.startPos=e,o.endPos=n,o}var $h,Qh=E.textSelection,Zh=E.contentEditable,Jh=E.positionUtils,tf=(w(ef,$h=Yh),ef.prototype._calculateAbsoluteStartPoint=function(){return Dh(this.element,this.startNode,this.startOffset)||Jh.findCenter(this.element)},ef.prototype._calculateAbsoluteEndPoint=function(){return Dh(this.element,this.endNode,this.endOffset)||Jh.findCenter(this.element)},ef.prototype._setSelection=function(){var t,e;!1!==this.eventState.simulateDefaultBehavior&&(t={node:this.startNode,offset:this.startOffset},e={node:this.endNode,offset:this.endOffset},Qh.selectByNodesAndOffsets(t,e,!0))},ef);function ef(t,e,n){var i=$h.call(this,Zh.getNearestCommonAncestor(t,e),n)||this,o=Zh.getFirstVisiblePosition(t),r=Zh.getLastVisiblePosition(e),s={node:t,offset:o},l={node:e,offset:r},a=Zh.calculatePositionByNodeAndOffset(i.element,s);return Zh.calculatePositionByNodeAndOffset(i.element,l)<a&&(o=Zh.getLastVisiblePosition(t),r=Zh.getFirstVisiblePosition(e)),s=Zh.calculateNodeAndOffsetByPosition(t,o),l=Zh.calculateNodeAndOffsetByPosition(e,r),i.startNode=s.node,i.startOffset=s.offset,i.endNode=l.node,i.endOffset=l.offset,i}var nf=y.Promise,of=y.utils.extend,rf=y.utils.browser,sf=y.eventSandbox.eventSimulator,lf=y.eventSandbox.elementEditingWatcher,af=E.domUtils,uf=E.promiseUtils,cf=E.contentEditable,hf=E.textSelection,ff=E.delay,df=E.KEY_MAPS.specialKeys,mf=(pf.findTextEditableChild=function(t){var e=null;if(!af.isEditableElement(t))for(var n=t.querySelectorAll("*"),i=0;i<n.length;i++)if(af.isTextEditableElementAndEditingAllowed(n[i])){e=n[i];break}return e},pf.prototype._calculateEventArguments=function(t){var e=af.getActiveElement(),n=af.isContentEditableElement(this.element),i=this.eventArgs.element||this.element;n||e===i||(i=pf.findTextEditableChild(e)||e);var o=of({keyCode:t?this.currentCharCode:this.currentKeyCode},this.modifiers);return t&&(o.charCode=this.currentCharCode),of(o,yc(t,this.currentKey,this.currentKeyIdentifier)),{element:i,options:o}},pf.prototype._calculateTargetElement=function(){var t=af.getActiveElement(),e=af.isContentEditableElement(this.element);if(e){if(t!==cf.findContentEditableParent(this.element))return void(this.eventState.skipType=!0)}else if(t!==this.element)return void(this.eventState.skipType=!0);this.element=e?this.element:t},pf.prototype._click=function(t){var e,n=this,i=af.getActiveElement(),o=af.isTextEditableElementAndEditingAllowed(this.element),r=af.isContentEditableElement(this.element);if(i===this.element)return o&&lf.watchElementEditing(this.element),(o||r)&&(e=hf.getSelectionStart(this.element),isNaN(parseInt(this.caretPos,10))||this.caretPos===e||hf.select(this.element,this.caretPos,this.caretPos)),nf.resolve();var s=Ot(this.element),l=s.offsetX,a=s.offsetY,u=new Ur({offsetX:this.elementChanged?l:this.offsetX,offsetY:this.elementChanged?a:this.offsetY,speed:this.speed,caretPos:this.caretPos,modifiers:this.modifiers});return new ka(this.element,u,Pf,al).run(t).then(function(){return ff(n.automationSettings.mouseActionStepDelay)})},pf.prototype._type=function(){var t=this;if(this.eventState.skipType)return nf.resolve();var e=af.isContentEditableElement(this.element);if(this.replace&&(af.isTextEditableElementAndEditingAllowed(this.element)?hf.select(this.element):e&&hf.deleteSelectionContents(this.element,!0)),this._canUseNativeAutomationInput()){if(this.paste)return this.nativeAutomationInput.executeInsertText(this.typingText);var n=this._calculateCDPEventSequence();return this.nativeAutomationInput.executeEventSequence(n)}return uf.whilst(function(){return!t._isTypingFinished()},function(){return t._typingStep()})},pf.prototype._isTypingFinished=function(){return this.currentPos===this.typingText.length},pf.prototype._getCurrentKey=function(t,e){return t===df.enter?"Enter":e},pf.prototype._calculateCDPEventSequence=function(){for(var t=[],e=0,n=this.typingText;e<n.length;e++){var i=n[e],o=Sc(i),r=this._getCurrentKey(o,i),s=wc(r),l=of({key:r},s);t.push(_l.keyDown(l),_l.keyUp(l),_l.delay(this.automationSettings.keyActionStepDelay))}return t},pf.prototype._canUseNativeAutomationInput=function(){return!!this.nativeAutomationInput&&!(!af.isTextEditableElement(this.element)&&af.isInputElement(this.element)||af.isContentEditableElement(this.element))},pf.prototype._performTypingStep=function(){return this._keydown(),this._keypress(),this._keyup()},pf.prototype._typingStep=function(){var t=this.typingText.charAt(this.currentPos);return this.currentKeyCode=Sc(t),this.currentCharCode=this.typingText.charCodeAt(this.currentPos),this.currentKey=this._getCurrentKey(this.currentKeyCode,t),this.currentKeyIdentifier=bc(this.currentKey),this.ignoreChangeEvent=af.getElementValue(this.element)===lf.getElementSavedValue(this.element),this._performTypingStep()},pf.prototype._keydown=function(){this.eventArgs=this._calculateEventArguments(),this.eventState.simulateKeypress=sf.keydown(this.eventArgs.element,this.eventArgs.options)},pf.prototype._keypress=function(){!1!==this.eventState.simulateKeypress&&(this.eventArgs=this._calculateEventArguments(!0),this.eventState.simulateTypeChar=rf.isAndroid||sf.keypress(this.eventArgs.element,this.eventArgs.options))},pf.prototype._keyup=function(){var t=this,e=this.eventArgs.element;this.eventArgs=this._calculateEventArguments();var n=af.isTextEditableElement(this.element),i=af.isContentEditableElement(this.element),o=this.paste||!n&&!i;return nf.resolve().then(function(){return o?t._typeAllText(e):t._typeChar(e)}).then(function(){sf.keyup(t.eventArgs.element,t.eventArgs.options),o?t.currentPos=t.typingText.length:t.currentPos++})},pf.prototype._typeChar=function(t){if(!1===this.eventState.simulateKeypress||!1===this.eventState.simulateTypeChar)return this.ignoreChangeEvent&&lf.restartWatchingElementEditing(t),ff(this.automationSettings.keyActionStepDelay);var e=this.typingText.charAt(this.currentPos),n=/^\d$/.test(e),i=0===this.currentPos?null:this.typingText.charAt(this.currentPos-1);if(af.isInputElement(t)&&"number"===t.type){var o=hf.getSelectionStart(t),r=af.getInputValue(t).length,s=/^\d/.test(this.typingText);if(!n&&(s||!("."===e||"-"===e&&r)||0!==o))return ff(this.automationSettings.keyActionStepDelay);n&&("."===i||"-"===i&&!r)&&(e=i+e)}return oc(t,e,null),ff(this.automationSettings.keyActionStepDelay)},pf.prototype._typeAllText=function(t){return oc(t,this.typingText,this.caretPos),ff(this.automationSettings.keyActionStepDelay)},pf.prototype.run=function(t){var e=this;return this._click(t).then(function(){return e._calculateTargetElement()}).then(function(){return e._type()})},pf);function pf(t,e,n,i){this.element=pf.findTextEditableChild(t)||t,this.typingText=e.toString(),this.modifiers=n.modifiers,this.caretPos=n.caretPos,this.replace=n.replace,this.paste=n.paste,this.offsetX=n.offsetX,this.offsetY=n.offsetY,this.speed=n.speed,this.automationSettings=new _o(this.speed),this.elementChanged=t!==this.element,this.currentPos=0,this.currentKeyCode=null,this.currentCharCode=null,this.currentKey=null,this.currentKeyIdentifier=null,this.ignoreChangeEvent=!0,this.eventArgs={options:null,element:null},this.eventState={skipType:!1,simulateKeypress:!0,simulateTypeChar:!0},this.nativeAutomationInput=i?new xl(i):null}var vf=(gf.prototype.run=function(){var i=this;return m.doUpload(this.element,this.paths).then(function(t){if(t.length){var e=g.arrayUtils.map(t,function(t){return t.path}),n=g.arrayUtils.reduce(t,function(t,e){return t.concat(e.resolvedPaths)},[]);throw i.createError(e,n)}})},gf);function gf(t,e,n){this.element=t,this.paths=e,this.createError=n}var yf=E.domUtils,Ef=E.contentEditable,bf={};bf.DispatchEvent=t,bf.SetScroll=Ol,bf.ScrollIntoView=Fl,bf.Click=ka,bf.SelectChildClick=nu,bf.DblClick=hu,bf.DragToOffset=Nu,bf.DragToElement=Ku,bf.Hover=Yu,bf.Press=sh,bf.RClick=vh,bf.SelectText=zh,bf.SelectEditableContent=tf,bf.Type=mf,bf.Upload=vf,bf.MouseOptions=Mr,bf.ClickOptions=Ur,bf.TypeOptions=Wr,bf.AutomationSettings=_o,bf.getOffsetOptions=Nt,bf.calculateSelectTextArguments=function(t,e){void 0===e&&(e={});var n,i,o,r,s,l,a,u,c,h,f,d=yf.isTextEditableElement(t),m=d?0:Ef.getFirstVisiblePosition(t),p=d?yf.getElementValue(t).length:Ef.getLastVisiblePosition(t),v=e.startPos?Math.min(e.startPos,p):m,g=void 0===e.endPos||null===e.endPos?p:Math.min(e.endPos,p);return void 0!==e.offset?(g=0<=e.offset?Math.min(e.offset,g):(v=g,Math.max(0,g+e.offset)),{startPos:v,endPos:g}):void 0!==e.startLine?(n=t,i=e,o=yf.getTextAreaValue(n),r=o&&o.length?o.split("\n"):[],s=r.length-1,l=i.startLine?Math.min(i.startLine,s):0,a=r[l]?r[l].length:0,u=i.startPos?Math.min(i.startPos,a):0,c=void 0===i.endLine||null===i.endLine?s:Math.min(i.endLine,s),h=r[c]?r[c].length:0,f=void 0===i.endPos||null===i.endPos?h:Math.min(i.endPos,h),{startPos:yf.getTextareaPositionByLineAndOffset(n,l,0)+u,endPos:yf.getTextareaPositionByLineAndOffset(n,c,0)+f}):{startPos:v,endPos:g}},bf.cursor=al,bf.getNextFocusableElement=gc,bf.SHORTCUT_TYPE=Mc,bf.getSelectionCoordinatesByPosition=Mh,bf.getElementFromPoint=Vt,bf.MoveAutomation=Js;var Sf=y.nativeMethods,wf=y.EVENTS.evalIframeScript;Sf.objectDefineProperty(Pf,"%testCafeAutomation%",{configurable:!0,value:bf}),y.on(wf,function(t){return _f(Sf.contentWindowGetter.call(t.iframe))})}(Pf["%hammerhead%"],Pf["%hammerhead%"].Promise,Pf["%testCafeCore%"],Pf["%testCafeUI%"])}(window);
1
+ window["%hammerhead%"].utils.removeInjectedScript(),function _f(Pf){var xf=Pf.document;!function(m,e,g,i){var y="default"in m?m.default:m;e=e&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e;var E="default"in g?g.default:g;i=i&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i;var n=y.nativeMethods,o=/^((mouse\w+)|((dbl)?click)|(contextmenu))$/,r=/^((drag\w*)|(drop))$/,s=/^key\w+$/,l=/^(before)?input$/,a=/^(blur|(focus(in|out)?))$/,u=/^pointer\w+/,c={click:1,dblclick:2,mousedown:1,mouseup:1},h="MouseEvent",f="PointerEvent",d="KeyboardEvent",p="InputEvent",v="FocusEvent",t=(b.prototype.run=function(){var t=this.options,e=t.bubbles,n=t.cancelable,i=t.detail,o=(t.view,t.buttons),e=!1!==e,n=!1!==n,i=i||c[this.eventName],o=void 0===o?1:o;Object.assign(this.options,{bubbles:e,cancelable:n,detail:i,view:Pf,buttons:o});var r,s=b._getEventCtorByEventType(this.eventName,this.options.eventConstructor);s&&(r=new s(this.eventName,this.options),this.element.dispatchEvent(r))},b._getEventCtorByEventType=function(t,e){if(e&&"function"==typeof b._getEventCtorFromWindow(e)){var n=b._getEventCtorFromNativeMethods(e);if(n&&"function"==typeof n)return n}return o.test(t)||r.test(t)?b._getEventCtorFromNativeMethods(h):u.test(t)?b._getEventCtorFromNativeMethods(f):s.test(t)?b._getEventCtorFromNativeMethods(d):l.test(t)?b._getEventCtorFromNativeMethods(p):a.test(t)?b._getEventCtorFromNativeMethods(v):b._getEventCtorFromNativeMethods("CustomEvent")},b._getEventCtorFromNativeMethods=function(t){return n["Window"+t]||b._getEventCtorFromWindow(t)},b._getEventCtorFromWindow=function(t){return Pf[t]},b);function b(t,e,n){this.element=t,this.eventName=e,this.options=n}var S=function(t,e){return(S=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)};function w(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}S(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var _=function(){return(_=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};function P(t,s,l,a){return new(l=l||e)(function(n,e){function i(t){try{r(a.next(t))}catch(t){e(t)}}function o(t){try{r(a.throw(t))}catch(t){e(t)}}function r(t){var e;t.done?n(t.value):((e=t.value)instanceof l?e:new l(function(t){t(e)})).then(i,o)}r((a=a.apply(t,s||[])).next())})}function x(n,i){var o,r,s,l={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]},a={next:t(0),throw:t(1),return:t(2)};return"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function t(e){return function(t){return function(e){if(o)throw new TypeError("Generator is already executing.");for(;a&&e[a=0]&&(l=0),l;)try{if(o=1,r&&(s=2&e[0]?r.return:e[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,e[1])).done)return s;switch(r=0,s&&(e=[2&e[0],s.value]),e[0]){case 0:case 1:s=e;break;case 4:return l.label++,{value:e[1],done:!1};case 5:l.label++,r=e[1],e=[0];continue;case 7:e=l.ops.pop(),l.trys.pop();continue;default:if(!(s=0<(s=l.trys).length&&s[s.length-1])&&(6===e[0]||2===e[0])){l=0;continue}if(3===e[0]&&(!s||e[1]>s[0]&&e[1]<s[3])){l.label=e[1];break}if(6===e[0]&&l.label<s[1]){l.label=s[1],s=e;break}if(s&&l.label<s[2]){l.label=s[2],l.ops.push(e);break}s[2]&&l.ops.pop(),l.trys.pop();continue}e=i.call(n,l)}catch(t){e=[6,t],r=0}finally{o=s=0}if(5&e[0])throw e[1];return{value:e[0]?e[1]:void 0,done:!0}}([e,t])}}}var A=(C.create=function(t){return"left"in t?new C(t.left,t.top):"right"in t?new C(t.right,t.bottom):new C(t.x,t.y)},C.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this},C.prototype.sub=function(t){return this.x-=t.x,this.y-=t.y,this},C.prototype.round=function(t){return void 0===t&&(t=Math.round),this.x=t(this.x),this.y=t(this.y),this},C.prototype.eql=function(t){return this.x===t.x&&this.y===t.y},C.prototype.mul=function(t){return this.x*=t,this.y*=t,this},C.prototype.distance=function(t){return Math.sqrt(Math.pow(this.x-t.x,2)+Math.pow(this.y-t.y,2))},C);function C(t,e){this.x=t,this.y=e}function T(t){var e="array"+t.charAt(0).toUpperCase()+t.slice(1),n=m.nativeMethods[e];return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return n.call.apply(n,t)}}T("filter"),T("map"),T("slice"),T("splice"),T("unshift"),T("forEach"),T("indexOf");var M=T("some"),D=(T("reverse"),T("reduce"),T("concat"),T("join"),T("every"),y.utils.browser,y.nativeMethods),I=(y.utils.style.get,y.utils.dom.getActiveElement,y.utils.dom.findDocument),U=y.utils.dom.find,k=(y.utils.dom.isElementInDocument,y.utils.dom.isElementInIframe),O=y.utils.dom.getIframeByElement,N=(y.utils.dom.isCrossDomainWindows,y.utils.dom.getSelectParent,y.utils.dom.getChildVisibleIndex,y.utils.dom.getSelectVisibleChildren,y.utils.dom.isElementNode),B=(y.utils.dom.isTextNode,y.utils.dom.isRenderedNode,y.utils.dom.isIframeElement,y.utils.dom.isInputElement,y.utils.dom.isButtonElement,y.utils.dom.isFileInput,y.utils.dom.isTextAreaElement,y.utils.dom.isAnchorElement,y.utils.dom.isImgElement),F=(y.utils.dom.isFormElement,y.utils.dom.isLabelElement,y.utils.dom.isSelectElement,y.utils.dom.isRadioButtonElement,y.utils.dom.isColorInputElement,y.utils.dom.isCheckboxElement,y.utils.dom.isOptionElement,y.utils.dom.isSVGElement,y.utils.dom.isMapElement),L=y.utils.dom.isBodyElement,K=y.utils.dom.isHtmlElement,V=(y.utils.dom.isDocument,y.utils.dom.isWindow,y.utils.dom.isTextEditableInput,y.utils.dom.isTextEditableElement,y.utils.dom.isTextEditableElementAndEditingAllowed,y.utils.dom.isContentEditableElement,y.utils.dom.isDomElement,y.utils.dom.isShadowUIElement,y.utils.dom.isShadowRoot,y.utils.dom.isElementFocusable,y.utils.dom.isHammerheadAttr,y.utils.dom.isElementReadOnly,y.utils.dom.getScrollbarSize),R=y.utils.dom.getMapContainer,Y=y.utils.dom.getTagName,W=y.utils.dom.closest,X=y.utils.dom.getParents,H=y.utils.dom.findParent;function q(t,e){return t.contains?t.contains(e):M(t,function(t){return t.contains(e)})}function G(t){var e=[];U(xf,"*",function(t){"IFRAME"===t.tagName&&e.push(t),t.shadowRoot&&U(t.shadowRoot,"iframe",function(t){return e.push(t)})});for(var n=0;n<e.length;n++)if(D.contentWindowGetter.call(e[n])===t)return e[n];return null}function z(t){return D.nodeTextContentGetter.call(t)}y.utils.dom.getTopSameDomainWindow,y.utils.dom.getParentExceptShadowRoot;var j=($.create=function(t){return new $(t.top,t.right,t.bottom,t.left)},$.prototype.add=function(t){return this.top+=t.top,this.right+=t.right,this.bottom+=t.bottom,this.left+=t.left,this},$.prototype.sub=function(t){return"top"in t&&(this.top-=t.top,this.left-=t.left),this.bottom-=t.bottom,this.right-=t.right,this},$.prototype.round=function(t,e){return void 0===t&&(t=Math.round),void 0===e&&(e=t),this.top=t(this.top),this.right=e(this.right),this.bottom=e(this.bottom),this.left=t(this.left),this},$.prototype.contains=function(t){return t.x>=this.left&&t.x<=this.right&&t.y>=this.top&&t.y<=this.bottom},$);function $(t,e,n,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===n&&(n=0),void 0===i&&(i=0),this.top=t,this.right=e,this.bottom=n,this.left=i}var Q=y.utils.style,Z=y.utils.style.getBordersWidth,J=(y.utils.style.getComputedStyle,y.utils.style.getElementMargin,y.utils.style.getElementPadding),tt=y.utils.style.getElementScroll,et=(y.utils.style.getOptionHeight,y.utils.style.getSelectElementSize,y.utils.style.isElementVisible,y.utils.style.isVisibleChild,y.utils.style.getWidth),nt=y.utils.style.getHeight,it=y.utils.style.getInnerWidth,ot=y.utils.style.getInnerHeight,rt=y.utils.style.getScrollLeft,st=y.utils.style.getScrollTop,lt=y.utils.style.setScrollLeft,at=y.utils.style.setScrollTop,ut=y.utils.style.get,ct=y.utils.style.getBordersWidthFloat,ht=y.utils.style.getElementPaddingFloat;function ft(t){return N(t)&&"fixed"===Q.get(t,"position")}y.shadowUI,y.nativeMethods;var dt=function(t,e,n,i,o,r){this.width=t,this.height=e,this.left=n.x,this.top=n.y,this.right=n.x+t,this.bottom=n.y+e,this.border=i,this.scrollbar=r,this.scroll=o},mt={notElementOrTextNode:function(t){return"\n The ".concat(t," is neither a DOM element nor a text node.\n ")},elOutsideBounds:function(t,e){return"\n The ".concat(e," (").concat(t,") is located outside the the layout viewport.\n ")},elHasWidthOrHeightZero:function(t,e,n,i){return"\n The ".concat(e," (").concat(t,") is too small to be visible: ").concat(n,"px x ").concat(i,"px.\n ")},elHasDisplayNone:function(t,e){return"\n The ".concat(e," (").concat(t,") is invisible. \n The value of its 'display' property is 'none'.\n ")},parentHasDisplayNone:function(t,e,n){return"\n The ".concat(e," (").concat(t,") is invisible. \n It descends from an element that has the 'display: none' property (").concat(n,").\n ")},elHasVisibilityHidden:function(t,e){return"\n The ".concat(e," (").concat(t,") is invisible.\n The value of its 'visibility' property is 'hidden'.\n ")},parentHasVisibilityHidden:function(t,e,n){return"\n The ".concat(e," (").concat(t,") is invisible.\n It descends from an element that has the 'visibility: hidden' property (").concat(n,").\n ")},elHasVisibilityCollapse:function(t,e){return"\n The ".concat(e," (").concat(t,") is invisible.\n The value of its 'visibility' property is 'collapse'.\n ")},parentHasVisibilityCollapse:function(t,e,n){return"\n The ".concat(e," (").concat(t,") is invisible.\n It descends from an element that has the 'visibility: collapse' property (").concat(n,").\n ")},elNotRendered:function(t,e){return"\n The ".concat(e," (").concat(t,") has not been rendered.\n ")},optionNotVisible:function(t,e,n){return"\n The ".concat(e," (").concat(t,") is invisible. \n The parent element (").concat(n,") is collapsed, and its length is shorter than 2.\n ")},mapContainerNotVisible:function(t,e){return"\n The action target (".concat(t,") is invisible because ").concat(e,"\n ")}},pt=y.utils.html,vt=y.nativeMethods,gt=10;function yt(t){if(!t)return"";var e,n,i,o=vt.cloneNode.call(t),r=pt.cleanUpHtml(vt.elementOuterHTMLGetter.call(o)),s=(e=vt.nodeTextContentGetter.call(t),n=gt,void 0===i&&(i="..."),e.length<n?e:e.substring(0,n-i.length)+i),l=vt.elementChildrenGetter.call(t);return 0<vt.htmlCollectionLengthGetter.call(l)?r.replace("></",">...</"):s?r.replace("></",">".concat(s,"</")):r}var Et=y.utils.position.getElementRectangle,bt=y.utils.position.getOffsetPosition,St=y.utils.position.offsetToClientCoords;function wt(t){var e,n,i,o,r=K(t),s=r?t.getElementsByTagName("body")[0]:null,l=t.getBoundingClientRect(),a=j.create(Z(t)),u=tt(t),c=k(t),h="BackCompat"===t.ownerDocument.compatMode,f=r?new A(0,0):A.create(l),d=l.height,m=l.width;r&&(m=s&&h?(d=s.clientHeight,s.clientWidth):(d=t.clientHeight,t.clientWidth)),!c||(e=O(t))&&(n=bt(e),i=St(A.create(n)),o=Z(e),f.add(i).add(A.create(o)),r&&a.add(o));var p=!r&&it(t)!==t.clientWidth,v=!r&&ot(t)!==t.clientHeight,g={right:p?V():0,bottom:v?V():0};return new dt(m,d,f,a,u,g)}function _t(t){var e=t.x,n=t.y,i=xf.getElementFromPoint||xf.elementFromPoint,o=null;try{o=i.call(xf,e,n)}catch(t){return null}for(null===o&&(o=i.call(xf,e-1,n-1));o&&o.shadowRoot&&o.shadowRoot.elementFromPoint;){var r=o.shadowRoot.elementFromPoint(e,n);if(!r||o===r)break;o=r}return o}function Pt(t,e,n){var i=wt(t),o=Math.max(t.scrollWidth,i.width),r=Math.max(t.scrollHeight,i.height),s=i.scrollbar.right+i.border.left+i.border.right+o,l=i.scrollbar.bottom+i.border.top+i.border.bottom+r;return(void 0===e||0<=e&&e<=s)&&(void 0===n||0<=n&&n<=l)}function xt(t){var e=bt(t),n=e.left,i=e.top,o=St({x:n,y:i});return o.x=Math.round(o.x),o.y=Math.round(o.y),o}function At(n,e){return m.Promise.resolve(n===xf.documentElement).then(function(t){if(t)return new A(0,0);var e=m.utils.browser.isFirefox?Math.ceil:Math.round;return m.Promise.resolve(bt(n,e)).then(function(t){return A.create(t)})}).then(function(t){return t.add(e)})}var Ct=/auto|scroll|hidden/i,Tt="visible";function Mt(t){var e,n=ut(t,"overflowX"),i=ut(t,"overflowY"),o=Ct.test(n),r=Ct.test(i),s=I(t).documentElement,l=t.scrollHeight;return(m.utils.browser.isChrome||m.utils.browser.isFirefox||m.utils.browser.isSafari)&&(e=t.getBoundingClientRect().top,l=l-s.getBoundingClientRect().top+e),(o||r)&&l>s.scrollHeight}function Dt(t){if(L(t))return Mt(t);if(K(t))return function(t){var e=ut(t,"overflowX"),n=ut(t,"overflowY");if("hidden"===e&&"hidden"===n)return!1;var i=t.scrollHeight>t.clientHeight,o=t.scrollWidth>t.clientWidth;if(i||o)return!0;var r=t.getElementsByTagName("body")[0];if(!r)return!1;if(Mt(r))return!1;var s=Math.min(t.clientWidth,r.clientWidth),l=Math.min(t.clientHeight,r.clientHeight);return r.scrollHeight>l||r.scrollWidth>s}(t);var e,n,i,o,r,s=(n=ut(e=t,"overflowX"),i=ut(e,"overflowY"),o=Ct.test(n),r=Ct.test(i),m.utils.browser.isIE&&(o=o||r&&n===Tt,r=r||o&&i===Tt),new A(o,r));if(!s.x&&!s.y)return!1;var l=s.y&&t.scrollHeight>t.clientHeight;return s.x&&t.scrollWidth>t.clientWidth||l}function It(i,o){return P(this,void 0,void 0,function(){var e,n;return x(this,function(t){switch(t.label){case 0:return[4,tt(i)];case 1:return e=t.sent(),n=Dt(i),!/html/i.test(i.tagName)&&n&&(o.x-=e.left,o.y-=e.top),[2,St(o)]}})})}function Ut(t){if(!t)return null;var e,n,i=(e=Pf.screenLeft||Pf.screenX,n=Pf.screenTop||Pf.screenY,new A(e,n)),o=i.x,r=i.y,s=o+t.x,l=r+t.y;return new A(s,l)}function kt(t){var e=t/2;return e<1?0:Math.round(e)}function Ot(t){var e=Et(t);return{offsetX:kt(e.width),offsetY:kt(e.height)}}function Nt(t,e,n){var i=Ot(t);if(e="number"==typeof e?Math.round(e):i.offsetX,n="number"==typeof n?Math.round(n):i.offsetY,0<e&&0<n)return{offsetX:e,offsetY:n};var o=wt(t),r=Math.round(Math.max(t.scrollWidth,o.width)),s=Math.round(Math.max(t.scrollHeight,o.height)),l=o.scrollbar.right+o.border.left+o.border.right+r,a=o.scrollbar.bottom+o.border.top+o.border.bottom+s;return{offsetX:e<0?l+e:e,offsetY:n<0?a+n:n}}var Bt=E.positionUtils;function Ft(e,n){return void 0===n&&(n=!1),i.hide(n).then(function(){var t=Bt.getElementFromPoint(e);return i.show(n).then(function(){return t})})}function Lt(t,n){return m.Promise.resolve(_t(t)).then(function(e){return m.Promise.resolve(q(n,e)).then(function(t){return t&&z(e)}).then(function(t){return t||e&&e===n?e:null})})}function Kt(n,i){if(!i||!n||n===i)return n;if("tref"===Y(i))return i;var e,o,t="area"===Y(i)&&B(n);return m.utils.browser.isFirefox&&t?(e=n,o=i,m.Promise.resolve(W(o,"map")).then(function(t){return t&&t.name===e.useMap.substring(1)?o:e})):m.Promise.resolve(W(i,"a")).then(function(t){return!!t}).then(function(t){return!!t&&m.Promise.resolve(q(i,n)).then(function(t){return t&&z(n)}).then(function(t){return!t&&z(i)})}).then(function(t){return t?m.Promise.resolve(wt(i)).then(function(e){return Lt({x:e.right-1,y:e.top+1},i).then(function(t){return t||Lt({x:e.left+1,y:e.bottom-1},i)}).then(function(t){return t||n})}):n})}function Vt(n,i,o){return Ft(n).then(function(t){var e=m.Promise.resolve(t);return!t&&m.utils.dom.isIframeWindow(i||Pf)&&0<n.x&&0<n.y&&(e=e.then(function(){return Ft(n,!0)})),e.then(function(t){return Kt(t,o)})})}function Rt(t,e){this.code=t,this.isTestCafeError=!0,this.callsite=e||null}var Yt,Wt,Xt,Ht="E1",qt="E4",Gt="E5",zt="E9",jt="E10",$t="E11",Qt="E12",Zt="E24",Jt="E26",te="E27",ee="E28",ne="E29",ie="E30",oe="E31",re="E32",se="E33",le="E34",ae="E35",ue="E36",ce="E37",he="E39",fe="E40",de="E41",me="E42",pe="E43",ve="E44",ge="E45",ye="E46",Ee="E49",be="E50",Se="E51",we="E52",_e="E57",Pe="E64",xe="E65",Ae="E68",Ce="E69",Te="E70",Me="E71",De="E72",Ie="E73",Ue="E74",ke="E76",Oe="E77",Ne="E78",Be="E82",Fe="E83",Le="E90",Ke="E91",Ve="E92",Re="E93",Ye="E94",We="E95",Xe="E97",He="E99",qe="E100",Ge="E101",ze="E102",je=(w($e,Yt=Rt),$e);function $e(t,e,n){var i=Yt.call(this,t)||this;return i.optionName=e,i.actualValue=n,i}function Qe(t,e){var n=Wt.call(this,Ee,e)||this;return n.instantiationCallsiteName=t,n}function Ze(t,e){var n=Xt.call(this,be,e)||this;return n.instantiationCallsiteName=t,n}w(Qe,Wt=Rt),w(Ze,Xt=Rt);var Je,tn,en,nn,on,rn,sn,ln,an=(w(un,Je=Rt),un);function un(t,e,n){var i=void 0===e?{}:e,o=i.apiFnChain,r=i.apiFnIndex,s=i.reason,l=Je.call(this,t,n)||this;return l.apiFnChain=o,l.apiFnIndex=r,l.reason=s,l}function cn(t){return tn.call(this,Se,t)||this}function hn(t,e){return en.call(this,we,e,t)||this}function fn(t,e){var n=nn.call(this,Ht)||this;return n.errStack=t,n.pageDestUrl=e,n}function dn(t,e,n){var i=on.call(this,qt,n)||this;return i.errMsg=String(e),i.instantiationCallsiteName=t,i}function mn(t,e,n,i){var o=rn.call(this,Gt,i)||this;return o.errMsg=String(e),o.property=n,o.instantiationCallsiteName=t,o}function pn(t){var e=sn.call(this,Pe)||this;return e.errMsg=String(t),e}function vn(t,e){var n=ln.call(this,xe)||this;return n.errMsg=String(t),n.moduleName=e,n}w(cn,tn=Rt),w(hn,en=an),w(fn,nn=Rt),w(dn,on=Rt),w(mn,rn=Rt),w(pn,sn=Rt),w(vn,ln=Rt);var gn,yn=(w(En,gn=je),En);function En(t,e){return gn.call(this,zt,t,e)||this}var bn,Sn=(w(wn,bn=je),wn);function wn(t,e){return bn.call(this,jt,t,e)||this}var _n,Pn=(w(xn,_n=je),xn);function xn(t,e){return _n.call(this,$t,t,e)||this}var An,Cn=(w(Tn,An=je),Tn);function Tn(t,e){return An.call(this,Qt,t,e)||this}var Mn,Dn=(w(In,Mn=je),In);function In(t,e){return Mn.call(this,Le,t,e)||this}var Un,kn=(w(On,Un=je),On);function On(t,e){return Un.call(this,Xe,t,e)||this}var Nn,Bn=(w(Fn,Nn=je),Fn);function Fn(t,e){return Nn.call(this,Ke,t,e)||this}var Ln,Kn=(w(Vn,Ln=je),Vn);function Vn(t,e){return Ln.call(this,Ve,t,e)||this}var Rn,Yn=(w(Wn,Rn=je),Wn);function Wn(t,e){return Rn.call(this,Re,t,e)||this}var Xn,Hn=(w(qn,Xn=je),qn);function qn(t,e){return Xn.call(this,Ye,t,e)||this}var Gn,zn=(w(jn,Gn=je),jn);function jn(t,e){return Gn.call(this,We,t,e)||this}var $n,Qn=(w(Zn,$n=je),Zn);function Zn(t,e){return $n.call(this,He,t,e)||this}var Jn,ti,ei=(w(ni,Jn=Rt),ni);function ni(t,e,n){var i=Jn.call(this,qe)||this;return i.objectName=t,i.propertyName=e,i.availableProperties=n,i}function ii(t,e){return ti.call(this,Zt,e,t)||this}w(ii,ti=an);var oi,ri,si,li=(w(ai,oi=an),ai);function ai(t,e){return oi.call(this,Jt,e,t)||this}function ui(t){var e=ri.call(this,te)||this;return e.nodeDescription=t,e}function ci(t,e){var n=si.call(this,ee,e)||this;return n.argumentName=t,n}w(ui,ri=Rt),w(ci,si=an);var hi,fi,di,mi,pi,vi,gi,yi,Ei,bi,Si,wi,_i,Pi,xi,Ai,Ci,Ti,Mi,Di,Ii,Ui,ki,Oi,Ni,Bi,Fi,Li,Ki,Vi,Ri,Yi,Wi=(w(Xi,hi=Rt),Xi);function Xi(t){return hi.call(this,Ge,t)||this}function Hi(t,e){var n=fi.call(this,ne,e)||this;return n.argumentName=t,n}function qi(t,e){var n=di.call(this,ie)||this;return n.argumentName=t,n.nodeDescription=e,n}function Gi(){return mi.call(this,oe)||this}function zi(){return pi.call(this,re)||this}function ji(t){var e=vi.call(this,se)||this;return e.argumentName=t,e}function $i(){return gi.call(this,ae)||this}function Qi(t){var e=yi.call(this,ue)||this;return e.argumentName=t,e}function Zi(t,e){var n=Ei.call(this,ce)||this;return n.filePaths=t,n.scannedFilePaths=e,n}function Ji(){return bi.call(this,le)||this}function to(t,e){var n=Si.call(this,de)||this;return n.properties=t?"scrollTargetY property":e?"scrollTargetX property":"scrollTargetX and scrollTargetY properties",n}function eo(t,e){var n=wi.call(this,_e)||this;return t<=0?e<=0?(n.verb="are",n.dimensions="width and height"):(n.verb="is",n.dimensions="width"):(n.verb="is",n.dimensions="height"),n}function no(t){return _i.call(this,fe,t)||this}function io(){return Pi.call(this,he)||this}function oo(){return xi.call(this,me)||this}function ro(){return Ai.call(this,Ce)||this}function so(){return Ci.call(this,Ae)||this}function lo(){return Ti.call(this,Te)||this}function ao(){return Mi.call(this,Me)||this}function uo(){return Di.call(this,Ie)||this}function co(){return Ii.call(this,Be)||this}function ho(t){var e=Ui.call(this,Ne)||this;return e.errMsg=t,e}function fo(){return ki.call(this,Ue)||this}function mo(){return Oi.call(this,ke)||this}function po(){return Ni.call(this,Oe)||this}function vo(){return Bi.call(this,De)||this}function go(){return Fi.call(this,Fe)||this}function yo(){return Li.call(this,pe)||this}function Eo(){return Ki.call(this,ve)||this}function bo(t,e){var n=Vi.call(this,ge)||this;return n.dialogType=t,n.pageUrl=e,n}function So(t,e,n){var i=Ri.call(this,ye)||this;return i.dialogType=t,i.errMsg=e,i.pageUrl=n,i}function wo(){return Yi.call(this,ze)||this}w(Hi,fi=an),w(qi,di=Rt),w(Gi,mi=Rt),w(zi,pi=Rt),w(ji,vi=Rt),w($i,gi=Rt),w(Qi,yi=Rt),w(Zi,Ei=Rt),w(Ji,bi=Rt),w(to,Si=Rt),w(eo,wi=Rt),w(no,_i=Rt),w(io,Pi=Rt),w(oo,xi=Rt),w(ro,Ai=Rt),w(so,Ci=Rt),w(lo,Ti=Rt),w(ao,Mi=Rt),w(uo,Di=Rt),w(co,Ii=Rt),w(ho,Ui=Rt),w(fo,ki=Rt),w(mo,Oi=Rt),w(po,Ni=Rt),w(vo,Bi=Rt),w(go,Fi=Rt),w(yo,Li=Rt),w(Eo,Ki=Rt),w(bo,Vi=Rt),w(So,Ri=Rt),w(wo,Yi=Rt);var _o=(Object.defineProperty(Po.prototype,"mouseActionStepDelay",{get:function(){return 1===this._speedFactor?10:400*(1-this._speedFactor)},enumerable:!1,configurable:!0}),Object.defineProperty(Po.prototype,"keyActionStepDelay",{get:function(){return 1===this._speedFactor?10:200*(1-this._speedFactor)},enumerable:!1,configurable:!0}),Object.defineProperty(Po.prototype,"cursorSpeed",{get:function(){return Math.pow(400,this._speedFactor)/4},enumerable:!1,configurable:!0}),Object.defineProperty(Po.prototype,"draggingSpeed",{get:function(){return Math.pow(16,this._speedFactor)/4},enumerable:!1,configurable:!0}),Po);function Po(t){this._speedFactor=t||1}var xo=y.Promise,Ao=y.nativeMethods;function Co(e){return new xo(function(t){return Ao.setTimeout.call(Pf,t,e)})}function To(){return Co(0)}var Mo=Object.prototype.toString,Do=String.prototype.indexOf,Io=String.prototype.endsWith||function(t,e){var n=Mo.call(this);(void 0===e||e>n.length)&&(e=n.length),e-=t.length;var i=Do.call(n,t,e);return-1!==i&&i===e},Uo=Array.prototype.indexOf,ko=Array.prototype.map,Oo=Array.prototype.sort,No=Array.prototype.filter,Bo=Array.prototype.concat,Fo="Command",Lo=(Ko.prototype.getAssignableProperties=function(){return[]},Ko.prototype.getAllAssignableProperties=function(){for(var t=Object.getPrototypeOf(this),e=[];t&&t.getAssignableProperties;)e=Bo.call(e,t.getAssignableProperties()),t=Object.getPrototypeOf(t);return e},Ko.prototype.getNonReportedProperties=function(){return[]},Ko.prototype.getReportedProperties=function(){var t=ko.call(this.getAllAssignableProperties(),function(t){return t.name}),e=this.getNonReportedProperties();return No.call(t,function(t){return!(-1<Uo.call(e,t))})},Ko.prototype._assignFrom=function(t,e,n){if(void 0===n&&(n={}),t){e&&function(t,e){var n,i=e.constructor.name,o=ko.call(e.getAllAssignableProperties(),function(t){return t.name}),r=Oo.call(e.getReportedProperties());for(n in t)if(!(-1<Uo.call(o,n)||n in e))throw new ei(i,n,r)}(t,this);for(var i,o,r=this.getAllAssignableProperties(),s=0;s<r.length;s++){var l=r[s],a=l.name,u=l.type,c=l.required,h=l.init,f=l.defaultValue;void 0!==f&&(this[a]=f);var d=t[a];void 0===d&&!c||(e&&u&&u((i=this.constructor.name,o=a,Io.call(i,Fo)?o:"".concat(i,".").concat(o)),d),this[a]=h?h(a,d,n,e):d)}}},Ko);function Ko(){}function Vo(i){return function(t,e){var n=typeof e;if("number"!=n)throw new i(t,n);if(isNaN(e)||!isFinite(e)||e!==Math.floor(e))throw new i(t,e)}}var Ro,Yo,Wo,Xo,Ho,qo,Go,zo,jo,$o,Qo,Zo,Jo,tr=Vo(yn),er=(Yo=Vo(Ro=Sn),function(t,e){if(Yo(t,e),e<0)throw new Ro(t,e)}),nr=(Wo=Pn,function(t,e){var n=typeof e;if("boolean"!=n)throw new Wo(t,n)}),ir=(Xo=Cn,function(t,e){var n=typeof e;if("number"!=n)throw new Xo(t,n);if(isNaN(e)||e<.01||1<e)throw new Xo(t,e)}),or=(Ho=Dn,function(t,e){var n=typeof e;if("string"!=n)throw new Ho(t,n)}),rr=(qo=kn,function(t,e){var n=typeof e;if("string"!=n&&!(e instanceof RegExp))throw new qo(t,n)}),sr=(Go=Bn,function(t,e){if(!(e instanceof Date))throw new Go(t,e)}),lr=(zo=Kn,function(t,e){if(isNaN(Number(e)))throw new zo(t,typeof e)}),ar=(jo=Yn,function(t,e){var n=typeof e;if("string"!=n&&!(e instanceof URL))throw new jo(t,n)}),ur=($o=Hn,function(t,e){var n=typeof e;if("object"!=n&&!(e instanceof URLSearchParams))throw new $o(t,n)}),cr=(Qo=zn,function(t,e){var n=typeof e;if("object"!=n)throw new Qo(t,n)}),hr=(Zo=Qn,function(t,e){var n=typeof e;if("function"!=n)throw new Zo(t,n)}),fr=(w(dr,Jo=Lo),dr.prototype.getAssignableProperties=function(){return[{name:"speed",type:ir}]},dr);function dr(t,e){var n=Jo.call(this)||this;return n.speed=null,n._assignFrom(t,e),n}var mr,pr=(w(vr,mr=fr),vr.prototype.getAssignableProperties=function(){return[{name:"offsetX",type:tr},{name:"offsetY",type:tr},{name:"isDefaultOffset",type:nr}]},vr);function vr(t,e){var n=mr.call(this)||this;return n.offsetX=null,n.offsetY=null,n._assignFrom(t,e),n}var gr,yr=(w(Er,gr=pr),Er.prototype.getAssignableProperties=function(){return[{name:"scrollToCenter",type:nr},{name:"skipParentFrames",type:nr}]},Er);function Er(t,e){var n=gr.call(this)||this;return n.scrollToCenter=!1,n.skipParentFrames=!1,n._assignFrom(t,e),n}var br,Sr,wr=(w(_r,br=Lo),_r.prototype.getAssignableProperties=function(){return[{name:"left",type:tr,defaultValue:null},{name:"right",type:tr,defaultValue:null},{name:"top",type:tr,defaultValue:null},{name:"bottom",type:tr,defaultValue:null}]},_r);function _r(t,e){var n=br.call(this)||this;return n._assignFrom(t,e),n}function Pr(t,e){var n=Sr.call(this)||this;return n.scrollTargetX=null,n.scrollTargetY=null,n.includeMargins=!1,n.includeBorders=!0,n.includePaddings=!0,n.crop={left:null,right:null,top:null,bottom:null},n._assignFrom(t,e),n}w(Pr,Sr=fr),Pr.prototype.getAssignableProperties=function(){return[{name:"scrollTargetX",type:tr},{name:"scrollTargetY",type:tr},{name:"crop",type:cr,init:fs},{name:"includeMargins",type:nr},{name:"includeBorders",type:nr},{name:"includePaddings",type:nr}]};var xr,Ar=(w(Cr,xr=Lo),Cr.prototype.getAssignableProperties=function(){return[{name:"ctrl",type:nr,defaultValue:!1},{name:"alt",type:nr,defaultValue:!1},{name:"shift",type:nr,defaultValue:!1},{name:"meta",type:nr,defaultValue:!1}]},Cr);function Cr(t,e){var n=xr.call(this)||this;return n._assignFrom(t,e),n}var Tr,Mr=(w(Dr,Tr=pr),Dr.prototype.getAssignableProperties=function(){return[{name:"modifiers",type:cr,init:ds}]},Dr);function Dr(t,e){var n=Tr.call(this)||this;return n.modifiers={ctrl:!1,alt:!1,shift:!1,meta:!1},n._assignFrom(t,e),n}var Ir,Ur=(w(kr,Ir=Mr),kr.prototype.getAssignableProperties=function(){return[{name:"caretPos",type:er}]},kr);function kr(t,e){var n=Ir.call(this)||this;return n.caretPos=null,n._assignFrom(t,e),n}var Or,Nr=(w(Br,Or=Mr),Br.prototype.getAssignableProperties=function(){return[{name:"speed"},{name:"minMovingTime"},{name:"holdLeftButton"},{name:"skipScrolling",type:nr},{name:"skipDefaultDragBehavior",type:nr}]},Br);function Br(t,e){var n=Or.call(this)||this;return n.speed=null,n.minMovingTime=null,n.holdLeftButton=!1,n.skipScrolling=!1,n.skipDefaultDragBehavior=!1,n._assignFrom(t,e),n}var Fr,Lr,Kr,Vr,Rr,Yr,Wr=(w(Xr,Fr=Ur),Xr.prototype.getAssignableProperties=function(){return[{name:"replace",type:nr},{name:"paste",type:nr},{name:"confidential",type:nr}]},Xr);function Xr(t,e){var n=Fr.call(this)||this;return n.replace=!1,n.paste=!1,n.confidential=void 0,n._assignFrom(t,e),n}function Hr(t,e){var n=Lr.call(this,t,e)||this;return n.destinationOffsetX=null,n.destinationOffsetY=null,n._assignFrom(t,e),n}function qr(t,e){var n=Kr.call(this)||this;return n.portraitOrientation=!1,n._assignFrom(t,e),n}function Gr(t,e){var n=Vr.call(this)||this;return n.timeout=void 0,n.allowUnawaitedPromise=!1,n._assignFrom(t,e),n}function zr(t,e){var n=Rr.call(this)||this;return n.confidential=void 0,n._assignFrom(t,e),n}function jr(t,e){var n=Yr.call(this)||this;return n._assignFrom(t,e),n}w(Hr,Lr=Mr),Hr.prototype.getAssignableProperties=function(){return[{name:"destinationOffsetX",type:tr},{name:"destinationOffsetY",type:tr}]},w(qr,Kr=Lo),qr.prototype.getAssignableProperties=function(){return[{name:"portraitOrientation",type:nr}]},w(Gr,Vr=Lo),Gr.prototype.getAssignableProperties=function(){return[{name:"timeout",type:er},{name:"allowUnawaitedPromise",type:nr}]},w(zr,Rr=fr),zr.prototype.getAssignableProperties=function(){return[{name:"confidential",type:nr}]},w(jr,Yr=Lo),jr.prototype.getAssignableProperties=function(){return[{name:"name",type:or},{name:"value",type:or},{name:"domain",type:or},{name:"path",type:or},{name:"expires",type:sr},{name:"maxAge",type:lr},{name:"secure",type:nr},{name:"httpOnly",type:nr},{name:"sameSite",type:or}]};var $r,Qr=(w(Zr,$r=Lo),Zr.prototype.getAssignableProperties=function(){return[{name:"username",type:or,required:!0},{name:"password",type:or}]},Zr);function Zr(t,e){var n=$r.call(this)||this;return n._assignFrom(t,e),n}var Jr,ts,es,ns,is,os=(w(rs,Jr=Lo),rs.prototype.getAssignableProperties=function(){return[{name:"protocol",type:or},{name:"host",type:or,required:!0},{name:"port",type:lr,required:!0},{name:"auth",type:cr,init:cs}]},rs);function rs(t,e){var n=Jr.call(this)||this;return n._assignFrom(t,e),n}function ss(t,e){var n=ts.call(this)||this;return n._assignFrom(t,e),n}function ls(t,e){var n=es.call(this)||this;return n._assignFrom(t,e),n}function as(t,e){var n=ns.call(this)||this;return n._assignFrom(t,e),n}function us(t,e){var n=is.call(this)||this;return n._assignFrom(t,e),n}function cs(t,e,n,i){return void 0===i&&(i=!0),new Qr(e,i)}function hs(t,e,n,i){return void 0===i&&(i=!0),new os(e,i)}function fs(t,e,n,i){return void 0===i&&(i=!0),new wr(e,i)}function ds(t,e,n,i){return void 0===i&&(i=!0),new Ar(e,i)}w(ss,ts=Lo),ss.prototype.getAssignableProperties=function(){return[{name:"url",type:ar},{name:"method",type:or},{name:"headers",type:cr},{name:"params",type:ur},{name:"body"},{name:"timeout",type:lr},{name:"withCredentials",type:nr},{name:"auth",type:cr,init:cs},{name:"proxy",type:cr,init:hs},{name:"rawResponse",type:nr}]},w(ls,es=Lo),ls.prototype.getAssignableProperties=function(){return[{name:"credentials",type:lr}]},w(as,ns=Lo),as.prototype.getAssignableProperties=function(){return[{name:"stack",type:rr,required:!1},{name:"message",type:rr,required:!1},{name:"pageUrl",type:rr,required:!1}]},w(us,is=Lo),us.prototype.getAssignableProperties=function(){return[{name:"fn",type:hr,required:!0},{name:"dependencies",type:cr,required:!1}]};var ms=null,ps=function(){return ms},vs=function(t){ms=t},gs=(y.Promise,y.nativeMethods,y.eventSandbox.listeners,y.utils.browser,y.utils.event.BUTTON,y.utils.event.BUTTONS_PARAMETER);function ys(t){return t.top!==t}y.utils.event.DOM_EVENTS,y.utils.event.WHICH_PARAMETER,y.utils.event.preventDefault;var Es=y.Promise,bs=y.eventSandbox.message;function Ss(t,i,e){return new Es(function(n){bs.on(bs.SERVICE_MSG_RECEIVED_EVENT,function t(e){e.message.cmd===i&&(bs.off(bs.SERVICE_MSG_RECEIVED_EVENT,t),n(e.message))}),bs.sendServiceMsg(t,e)})}var ws=(_s.prototype.on=function(t,e){this._eventsListeners[t]||(this._eventsListeners[t]=[]),this._eventsListeners[t].push(e)},_s.prototype.once=function(n,i){var o=this;this.on(n,function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return o.off(n,i),i.apply(void 0,t)})},_s.prototype.off=function(t,e){var n=this._eventsListeners[t];n&&(this._eventsListeners[t]=m.nativeMethods.arrayFilter.call(n,function(t){return t!==e}))},_s.prototype.offAll=function(t){t?this._eventsListeners[t]=[]:this._eventsListeners={}},_s.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var i=this._eventsListeners[e];if(i)for(var o=0;o<i.length;o++)try{i[o].apply(this,t)}catch(t){if(!(t.message&&-1<t.message.indexOf("freed script")))throw t;this.off(e,i[o])}},_s);function _s(){this._eventsListeners={}}var Ps=ws,xs=m.eventSandbox.listeners;function As(){this.initialized=!1,this.stopPropagationFlag=!1,this.events=new Ps}var Cs=(As.prototype._internalListener=function(t,e,n,i,o){this.events.emit("scroll",t),this.stopPropagationFlag&&(i(),o())},As.prototype.init=function(){var n=this;this.initialized||(this.initialized=!0,xs.initElementListening(Pf,["scroll"]),xs.addFirstInternalEventBeforeListener(Pf,["scroll"],function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return n._internalListener.apply(n,t)}))},As.prototype.waitForScroll=function(t){var e=this,n=null,i=new m.Promise(function(t){n=t});return i.cancel=function(){return e.events.off("scroll",n)},this.initialized?this.handleScrollEvents(t,n):n(),i},As.prototype.handleScrollEvents=function(n,t){var e,i=this;this.events.once("scroll",t),(e=n)&&e.getRootNode&&I(e)!==e.getRootNode()&&(xs.initElementListening(n,["scroll"]),xs.addFirstInternalEventBeforeListener(n,["scroll"],function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];i._internalListener.apply(i,t),xs.cancelElementListening(n)}))},As.prototype.stopPropagation=function(){this.stopPropagationFlag=!0},As.prototype.enablePropagation=function(){this.stopPropagationFlag=!1},new As),Ts=(Ms._isScrollValuesChanged=function(t,e){return rt(t)!==e.left||st(t)!==e.top},Ms.prototype._setScroll=function(t,e){var n=this,i=e.left,o=e.top,r=K(t)?I(t):t,s={left:rt(r),top:st(r)},i=Math.max(i,0),o=Math.max(o,0),l=Cs.waitForScroll(r);return lt(r,i),at(r,o),Ms._isScrollValuesChanged(r,s)?l=l.then(function(){n._scrollWasPerformed||(n._scrollWasPerformed=Ms._isScrollValuesChanged(r,s))}):(l.cancel(),m.Promise.resolve())},Ms.prototype._getScrollToPoint=function(t,e,n){var i=Math.floor(t.width/2),o=Math.floor(t.height/2),r=this._scrollToCenter?i:Math.min(n.left,i),s=this._scrollToCenter?o:Math.min(n.top,o),l=t.scroll,a=l.left,u=l.top,c=e.x>=a+t.width-r,h=e.x<=a+r,f=e.y>=u+t.height-s,d=e.y<=u+s;return c?a=e.x-t.width+r:h&&(a=e.x-r),f?u=e.y-t.height+s:d&&(u=e.y-s),{left:a,top:u}},Ms.prototype._getScrollToFullChildView=function(t,e,n){var i,o,r,s,l,a,u={left:null,top:null},c=t.width>=e.width,h=t.height>=e.height,f=(i=e,o=t,j.create({top:i.top-o.top,left:i.left-o.left,right:o.right-i.right,bottom:o.bottom-i.bottom}).sub(o.border).sub(o.scrollbar).round(Math.ceil,Math.floor));return c&&(r=t.width-e.width,s=Math.min(n.left,r),this._scrollToCenter&&(s=r/2),f.left<s?u.left=Math.round(t.scroll.left+f.left-s):f.right<s&&(u.left=Math.round(t.scroll.left+Math.min(f.left,-f.right)+s))),h&&(l=t.height-e.height,a=Math.min(n.top,l),this._scrollToCenter&&(a=l/2),f.top<a?u.top=Math.round(t.scroll.top+f.top-a):f.bottom<a&&(u.top=Math.round(t.scroll.top+Math.min(f.top,-f.bottom)+a))),u},Ms._getChildPoint=function(t,e,n){return A.create(e).sub(A.create(t)).add(A.create(t.scroll)).add(A.create(e.border)).add(n)},Ms.prototype._getScrollPosition=function(t,e,n,i){var o=Ms._getChildPoint(t,e,n),r=this._getScrollToPoint(t,o,i),s=this._getScrollToFullChildView(t,e,i);return{left:Math.max(null===s.left?r.left:s.left,0),top:Math.max(null===s.top?r.top:s.top,0)}},Ms._getChildPointAfterScroll=function(t,e,n,i){return A.create(e).add(A.create(t.scroll)).sub(A.create(n)).add(i)},Ms.prototype._isChildFullyVisible=function(t,e,n){var i=Ms._getChildPointAfterScroll(t,e,t.scroll,n),o=this._getScrollPosition(t,e,n,{left:0,top:0}),r=o.left,s=o.top;return!this._isTargetElementObscuredInPoint(i)&&r===t.scroll.left&&s===t.scroll.top},Ms.prototype._scrollToChild=function(t,e,n){for(var i=wt(t),o=wt(e),r=it(Pf),s=ot(Pf),l=i.scroll,a=!this._isChildFullyVisible(i,o,n);a;){l=this._getScrollPosition(i,o,n,this._maxScrollMargin);var u=Ms._getChildPointAfterScroll(i,o,l,n),c=this._isTargetElementObscuredInPoint(u);this._maxScrollMargin.left+=20,this._maxScrollMargin.left>=r&&(this._maxScrollMargin.left=50,this._maxScrollMargin.top+=20),a=c&&this._maxScrollMargin.top<s}return this._maxScrollMargin={left:50,top:50},this._setScroll(t,l)},Ms.prototype._scrollElement=function(){if(!Dt(this._element))return m.Promise.resolve();var t=wt(this._element),e=this._getScrollToPoint(t,this._offsets,this._maxScrollMargin);return this._setScroll(this._element,e)},Ms.prototype._scrollParents=function(){var t,e,n,i,o,r,s=this,l=(t=this._element,i=X(t),!k(t)||(e=O(t))&&(n=X(e),i.concat(n)),m.nativeMethods.arrayFilter.call(i,Dt)),a=this._element,u=rt(a),c=st(a),h=A.create(this._offsets).sub(new A(u,c).round()),f=function(n,i){return P(this,void 0,void 0,function(){var e;return x(this,function(t){switch(t.label){case 0:e=0,t.label=1;case 1:return e<n?[4,i(e)]:[3,4];case 2:t.sent(),t.label=3;case 3:return e++,[3,1];case 4:return[2]}})})}(l.length,function(t){return s._scrollToChild(l[t],a,h).then(function(){o=wt(a),r=wt(l[t]),h.add(A.create(o)).sub(A.create(r)).add(A.create(r.border)),a=l[t]})}),d={scrollWasPerformed:this._scrollWasPerformed,offsetX:h.x,offsetY:h.y,maxScrollMargin:this._maxScrollMargin};return f.then(function(){if(!s._skipParentFrames&&ys(Pf))return d.cmd=Ms.SCROLL_REQUEST_CMD,Ss(d,Ms.SCROLL_RESPONSE_CMD,Pf.parent)}).then(function(){return s._scrollWasPerformed})},Ms._getFixedAncestorOrSelf=function(t){return H(t,!0,ft)},Ms.prototype._isTargetElementObscuredInPoint=function(t){var e=_t(t);if(!e)return!1;var n=Ms._getFixedAncestorOrSelf(e);return!!n&&!n.contains(this._element)},Ms.prototype.run=function(){var t=this;return this._scrollElement().then(function(){return t._scrollParents()})},Ms.SCROLL_REQUEST_CMD="automation|scroll|request",Ms.SCROLL_RESPONSE_CMD="automation|scroll|response",Ms);function Ms(t,e,n){this._element=t,this._offsets=new A(e.offsetX,e.offsetY),this._scrollToCenter=!!e.scrollToCenter,this._skipParentFrames=!!e.skipParentFrames,this._maxScrollMargin=n||{left:50,top:50},this._scrollWasPerformed=!1}var Ds=y.utils.browser,Is=(Us.prototype.setup=function(){this.dragAndDropMode=!1,this.dropAllowed=!1},Us.prototype.leaveElement=function(){},Us.prototype.move=function(){},Us.prototype.enterElement=function(){},Us.prototype.dragAndDrop=function(){},Us.prototype.teardown=function(){},Us.prototype.run=function(t,e,n,i,o){var r=e&&g.domUtils.isElementInDocument(e),s=e&&g.domUtils.isElementInIframe(e)&&!g.domUtils.getIframeByElement(e);r&&!s||(e=null);var l=t!==e,a=l?g.domUtils.getCommonAncestor(t,e):null;this.setup(),l&&e&&this.leaveElement(t,e,a,n),Ds.isIE&&this.move(t,n),l&&g.domUtils.isElementInDocument(t)&&this.enterElement(t,e,a,n),Ds.isIE||this.move(t,n),this.dragAndDrop(i,t,e,n,o),this.teardown(t,n,e);var u=this.dragAndDropMode,c=this.dropAllowed;return this.dragAndDropMode=!1,this.dropAllowed=!1,{dragAndDropMode:u,dropAllowed:c}},Us);function Us(t){var e=t.moveEvent;this.dragAndDropMode=!1,this.dropAllowed=!1,this.moveEvent=e}var ks=y.eventSandbox.eventSimulator,Os=y.utils.extend,Ns=y.nativeMethods,Bs=(Fs.leaveElement=function(t,e,n,i){ks.mouseout(e,Os({relatedTarget:t},i));for(var o=e;o&&o!==n;)ks.mouseleave(o,Os({relatedTarget:t},i)),o=Ns.nodeParentNodeGetter.call(o)},Fs.enterElement=function(t,e,n,i){ks.mouseover(t,Os({relatedTarget:e},i));for(var o=t,r=[];o&&o!==n;)r.push(o),o=g.domUtils.getParentExceptShadowRoot(o);for(var s=r.length-1;-1<s;s--)ks.mouseenter(r[s],Os({relatedTarget:e},i))},Fs.move=function(t,e,n){ks[t](e,n)},Fs);function Fs(){}var Ls=(Ks.dragAndDrop=function(t,e,n,i){return ks.drag(t,i),e!==n&&(g.domUtils.isElementInDocument(e)&&(i.relatedTarget=n,ks.dragenter(e,i)),n&&(i.relatedTarget=e,ks.dragleave(n,i))),!ks.dragover(e,i)},Ks);function Ks(){}var Vs,Rs=y.eventSandbox.eventSimulator,Ys=(w(Ws,Vs=Is),Ws.prototype.leaveElement=function(t,e,n,i){Bs.leaveElement(t,e,n,i)},Ws.prototype.enterElement=function(t,e,n,i){Bs.enterElement(t,e,n,i)},Ws.prototype.move=function(t,e){this._needEmulateMoveEvent()&&Bs.move(this.moveEvent,t,e)},Ws.prototype.teardown=function(t,e,n){this._needEmulateMoveEvent()&&g.domUtils.isElementInDocument(t)&&t!==n&&Rs[this.moveEvent](t,e)},Ws.prototype._needEmulateMoveEvent=function(){return"touchmove"!==this.moveEvent||this.holdLeftButton},Ws);function Ws(t){var e=Vs.call(this,t)||this;return e.holdLeftButton=t.holdLeftButton,e}var Xs,Hs=(w(qs,Xs=Is),qs.prototype.setup=function(){Xs.prototype.setup.call(this),this.dragAndDropMode=!0},qs.prototype.dragAndDrop=function(t,e,n,i){this.dropAllowed=Ls.dragAndDrop(t,e,n,i)},qs);function qs(){return null!==Xs&&Xs.apply(this,arguments)||this}var Gs,zs=y.eventSandbox.eventSimulator,js=(w($s,Gs=Is),$s.prototype.setup=function(){Gs.prototype.setup.call(this),this.dragAndDropMode=!0},$s.prototype.leaveElement=function(t,e,n,i){Bs.leaveElement(t,e,n,i)},$s.prototype.move=function(t,e){Bs.move(this.moveEvent,t,e)},$s.prototype.enterElement=function(t,e,n,i){Bs.enterElement(t,e,n,i)},$s.prototype.dragAndDrop=function(t,e,n,i,o){var r=zs.dragstart(t,i);o.setReadOnlyMode(),r?this.dropAllowed=Ls.dragAndDrop(t,e,n,i):this.dragAndDropMode=!1},$s.prototype.run=function(t,e,n,i,o){return Gs.prototype.run.call(this,t,null,n,i,o)},$s);function $s(){return null!==Gs&&Gs.apply(this,arguments)||this}function Qs(t,e,n){return new(t?e?Hs:js:Ys)(n)}function Zs(a,u,c){return P(this,void 0,void 0,function(){var e,n,i,o,r,s,l;return x(this,function(t){switch(t.label){case 0:e=!0,n=A.create(a.startPoint),i=A.create(a.endPoint).round(Math.floor),o=A.create(a.startPoint).round(Math.floor),r=A.create(a.startPoint),s=u(),t.label=1;case 1:return o.eql(i)?[3,4]:(r=A.create(o),a.needMoveImmediately?o=i:e?(e=!1,o.add({x:0<a.distance.x?1:-1,y:0<a.distance.y?1:-1})):(l=Math.min((u()-s)/a.movingTime,1),o=A.create(a.distance).mul(l).add(n).round(Math.floor)),o.eql(r)?[3,3]:[4,c(o)]);case 2:t.sent(),t.label=3;case 3:return[3,1];case 4:return[2]}})})}var Js=(tl.create=function(o,r,s,l,a){return void 0===a&&(a=null),P(this,void 0,m.Promise,function(){var e,n,i;return x(this,function(t){switch(t.label){case 0:return[4,tl.getTarget(o,s,new A(r.offsetX,r.offsetY))];case 1:return e=t.sent(),n=e.element,i=e.offset,[2,new tl(n,i,r,s,l,a)]}})})},tl.getTarget=function(e,n,i){return m.Promise.resolve(Pt(e,i.x,i.y)).then(function(t){return t?{element:e,offset:i}:m.Promise.all([At(e,i),n.document.documentElement]).then(function(t){var e=t[0];return{element:t[1],offset:e}})})},tl.prototype._getCursorSpeed=function(){return this.automationSettings.cursorSpeed},tl.prototype._getTargetClientPoint=function(){var o=this;return m.Promise.resolve(tt(this.element)).then(function(i){return K(o.element)?A.create(o.offset).sub(A.create(i)).round(Math.round):m.Promise.resolve(xt(o.element)).then(function(t){var e=L(o.element),n=A.create(t).add(o.offset);return e||n.sub(A.create(i)),n.round(Math.floor)})})},tl.prototype._getEventSequenceOptions=function(t){var e=gs.noButton,n=Ut(t);return{eventOptions:{clientX:t.x,clientY:t.y,screenX:null==n?void 0:n.x,screenY:null==n?void 0:n.y,buttons:e,ctrl:this.modifiers.ctrl,alt:this.modifiers.alt,shift:this.modifiers.shift,meta:this.modifiers.meta},eventSequenceOptions:{moveEvent:this.moveEvent}}},tl.prototype._runEventSequence=function(t,e){var n=e.eventOptions,i=e.eventSequenceOptions;return Qs(!1,this.firstMovingStepOccured,i).run(t,ps(),n,null,null)},tl.prototype._emulateEvents=function(t,e){var n=this._getEventSequenceOptions(e);this._runEventSequence(t,n),this.firstMovingStepOccured=!0,vs(t)},tl.prototype._movingStep=function(n){var i=this;return this.cursor.move(n).then(function(){return Ft(i.cursor.getPosition())}).then(function(t){var e=i._getCorrectedTopElement(t);return e?i._emulateEvents(e,n):null}).then(To)},tl.prototype._getCorrectedTopElement=function(t){return t},tl.prototype._move=function(l){return P(this,void 0,m.Promise,function(){var e,n,i,o,r,s=this;return x(this,function(t){switch(t.label){case 0:return e=this.cursor.getPosition(),n=A.create(l).sub(e),i=Math.max(Math.max(Math.abs(n.x),Math.abs(n.y))/this.cursorSpeed,this.minMovingTime),o={startPoint:e,endPoint:l,movingTime:i,distance:n,needMoveImmediately:this._needMoveCursorImmediately()},this.nativeAutomationInput?(r=[],[4,Zs(o,m.nativeMethods.dateNow,function(i){return P(s,void 0,void 0,function(){var e,n;return x(this,function(t){switch(t.label){case 0:return[4,null===(n=this.nativeAutomationInput)||void 0===n?void 0:n.createMouseMoveEvent(i,this.modifiers)];case 1:return e=t.sent(),r.push(e),[2,To()]}})})})]):[3,4];case 1:return t.sent(),[4,this.nativeAutomationInput.executeEventSequence(r)];case 2:return t.sent(),[4,this.cursor.move(l)];case 3:return t.sent(),[3,6];case 4:return[4,Zs(o,m.nativeMethods.dateNow,function(t){return s._movingStep(t)})];case 5:t.sent(),t.label=6;case 6:return[2]}})})},tl.prototype._needMoveCursorImmediately=function(){return this.touchMode},tl.prototype._scroll=function(){if(this.skipScrolling)return m.Promise.resolve(!1);var t=new yr({offsetX:this.offset.x,offsetY:this.offset.y},!1);return new Ts(this.element,t).run()},tl.prototype._moveToCurrentFrame=function(t,e){var n=this;if(this.cursor.isActive(this.window))return m.Promise.resolve();var i=this.cursor.getPosition(),o=i.x,r=i.y,s=this.cursor.getActiveWindow(this.window),c=null,l=null,h={cmd:"automation|move|request",startX:o,startY:r,endX:t.x,endY:t.y,modifiers:this.modifiers,speed:this.speed,nativeAutomationMove:e};return m.Promise.resolve().then(function(){if(s.parent===n.window)return m.Promise.resolve(G(s)).then(function(t){return c=t,m.Promise.resolve((n=bt(e=t),i=n.left,o=n.top,r=St({x:i,y:o}),s=Z(e),l=J(e),a=r.x+s.left+l.left,u=r.y+s.top+l.top,new j(u,a+et(e),u+nt(e),a))).then(function(t){h.left=t.left,h.top=t.top,h.right=t.right,h.bottom=t.bottom});var e,n,i,o,r,s,l,a,u})}).then(function(){return Ft(n.cursor.getPosition())}).then(function(t){return l=t===c,s.parent===n.window&&(h.iframeUnderCursor=l),Ss(h,"automation|move|response",s)}).then(function(t){if(n.cursor.setActiveWindow(n.window),l||m.utils.dom.isIframeWindow(n.window))return n.cursor.move(t)})},tl.prototype.run=function(){var n=this;return this._scroll().then(function(){return m.Promise.all([n._getTargetClientPoint(),(t=n.window,new j(0,et(t),nt(t),0))]);var t}).then(function(t){var e=t[0];if(t[1].contains(e))return n._moveToCurrentFrame(e,!!n.nativeAutomationInput).then(function(){return n._move(e)})})},tl);function tl(t,e,n,i,o,r){void 0===r&&(r=null),this.touchMode=m.utils.featureDetection.isTouchDevice,this.moveEvent=this.touchMode?"touchmove":"mousemove",this.automationSettings=new _o(n.speed),this.cursorSpeed=this._getCursorSpeed(),this.element=t,this.window=i,this.offset=e,this.cursor=o,this.minMovingTime=n.minMovingTime||0,this.modifiers=n.modifiers||{},this.skipScrolling=n.skipScrolling,this.skipDefaultDragBehavior=n.skipDefaultDragBehavior,this.speed=n.speed,this.nativeAutomationInput=r||null,this.firstMovingStepOccured=!1}var el=(nl.prototype._ensureActiveWindow=function(t){this._activeWindow!==t&&this._activeWindow!==t.parent&&this._activeWindow.parent!==t&&(this._activeWindow=t)},nl.prototype.isActive=function(t){return this._ensureActiveWindow(t),this._activeWindow===t},nl.prototype.setActiveWindow=function(t){this._activeWindow=t},nl.prototype.getActiveWindow=function(t){return this._ensureActiveWindow(t),this._activeWindow},nl.prototype.getPosition=function(){return new A(this._x,this._y)},nl.prototype.move=function(t){return this._x=t.x,this._y=t.y,this._ui.move(t)},nl.prototype.hide=function(){return this._ui.hide?this._ui.hide():m.Promise.resolve()},nl.prototype.show=function(){return this._ui.show?this._ui.show():m.Promise.resolve()},nl.prototype.leftButtonDown=function(){return this._ui.leftButtonDown()},nl.prototype.rightButtonDown=function(){return this._ui.rightButtonDown()},nl.prototype.buttonUp=function(){return this._ui.buttonUp()},nl);function nl(t,e){this._ui=e,this._x=-1,this._y=-1,this._activeWindow=t}var il,ol,rl,sl,ll=ys(Pf)?i.iframeCursorUI:i.cursorUI,al=new el(Pf.top,ll),ul=E.positionUtils,cl=E.domUtils,hl=E.eventUtils,fl="elementOverlapped";(ol=il=il||{})[ol.Mouse=0]="Mouse",ol[ol.Keyboard=1]="Keyboard",ol[ol.Touch=2]="Touch",ol[ol.Delay=3]="Delay",ol[ol.InsertText=4]="InsertText",(sl=rl=rl||{})[sl.alt=1]="alt",sl[sl.ctrl=2]="ctrl",sl[sl.meta=4]="meta";var dl={ctrl:!(sl[sl.shift=8]="shift"),alt:!1,shift:!1,meta:!1};function ml(t){return rl[t]||0}var pl=y.utils,vl=y.eventSandbox,gl=y.nativeMethods,yl=vl.message,El={clickCount:1},bl="native-automation|calculate-top-left-point|request",Sl="native-automation|calculate-top-left-point|response";function wl(){return P(this,void 0,void 0,function(){return x(this,function(t){switch(t.label){case 0:return Pf===Pf.parent?[3,2]:[4,Ss({cmd:bl},Sl,Pf.parent)];case 1:return[2,t.sent().topLeftPoint];case 2:return[2,{x:0,y:0}]}})})}yl.on(yl.SERVICE_MSG_RECEIVED_EVENT,function(f){return P(void 0,void 0,void 0,function(){var r,s,l,a,u,c,h;return x(this,function(t){switch(t.label){case 0:return f.message.cmd!==bl?[3,2]:(r=f.source,[4,wl()]);case 1:s=t.sent(),l=s.x,a=s.y,u=G(r),n=(e=u).getBoundingClientRect(),i=ct(e),o=ht(e),c={x:n.left+i.left+o.left,y:n.top+i.top+o.top},h={cmd:Sl,topLeftPoint:{x:c.x+l,y:c.y+a}},yl.sendServiceMsg(h,r),t.label=2;case 2:return[2]}var e,n,i,o})})});var _l=(Pl._isNonCharKeyModifier=function(t){var e=[rl.ctrl,rl.alt,rl.meta];return-1<gl.arrayIndexOf.call(e,t)},Pl._getKeyDownEventText=function(t){return t.isNewLine?"\r":1!==t.keyProperty.length||Pl._isNonCharKeyModifier(t.modifiers)?"":t.keyProperty},Pl.createKeyDownOptions=function(t){var e=Pl._getKeyDownEventText(t);return{type:e?"keyDown":"rawKeyDown",modifiers:t.modifiers||0,windowsVirtualKeyCode:t.keyCode,key:t.keyProperty,text:e}},Pl.createKeyUpOptions=function(t){return{type:"keyUp",modifiers:t.modifiers||0,key:t.keyProperty,windowsVirtualKeyCode:t.keyCode}},Pl.createMouseEventOptions=function(l,a){return P(this,void 0,void 0,function(){var o,r,s;return x(this,function(t){switch(t.label){case 0:return[4,wl()];case 1:return o=t.sent(),r=o.x,s=o.y,[2,pl.extend({x:a.options.clientX+r,y:a.options.clientY+s,modifiers:(n=a.options,i=0,n&&(n.ctrl&&(i|=rl.ctrl),n.alt&&(i|=rl.alt),n.shift&&(i|=rl.shift),n.meta&&(i|=rl.meta)),i),button:(e=a.options).button?e.button:"left",type:l},El)]}var e,n,i})})},Pl.delay=function(t){return{type:il.Delay,options:{delay:t}}},Pl.keyDown=function(t){return{type:il.Keyboard,options:Pl.createKeyDownOptions(t)}},Pl.keyUp=function(t){return{type:il.Keyboard,options:Pl.createKeyUpOptions(t)}},Pl);function Pl(){}var xl=(Al.prototype.mouseDown=function(n){return P(this,void 0,void 0,function(){var e;return x(this,function(t){switch(t.label){case 0:return[4,_l.createMouseEventOptions("mousePressed",n)];case 1:return e=t.sent(),[2,this._dispatchEventFn.single(il.Mouse,e)]}})})},Al.prototype.mouseUp=function(n){return P(this,void 0,void 0,function(){var e;return x(this,function(t){switch(t.label){case 0:return[4,_l.createMouseEventOptions("mouseReleased",n)];case 1:return e=t.sent(),[2,this._dispatchEventFn.single(il.Mouse,e)]}})})},Al.prototype.keyDown=function(t){var e=_l.createKeyDownOptions(t);return this._dispatchEventFn.single(il.Keyboard,e)},Al.prototype.keyUp=function(t){var e=_l.createKeyUpOptions(t);return this._dispatchEventFn.single(il.Keyboard,e)},Al.prototype.executeEventSequence=function(t){return this._dispatchEventFn.sequence(t)},Al.prototype.executeInsertText=function(e){return P(this,void 0,void 0,function(){return x(this,function(t){return[2,this._dispatchEventFn.single(il.InsertText,{text:e})]})})},Al.prototype.createMouseMoveEvent=function(n,i){return P(this,void 0,void 0,function(){var e;return x(this,function(t){switch(t.label){case 0:return[4,_l.createMouseEventOptions("mouseMoved",{options:_({clientX:n.x,clientY:n.y,button:"none"},i)})];case 1:return e=t.sent(),[2,{type:il.Mouse,options:e}]}})})},Al);function Al(t){this._dispatchEventFn=t}var Cl=(Tl.create=function(t){var n=t.element,i=t.clientPoint,o=t.screenPoint,r=t.isTarget,s=t.inMoving;return P(this,void 0,void 0,function(){var e;return x(this,function(t){switch(t.label){case 0:return e=null,i?[4,Ut(i)]:[3,2];case 1:e=t.sent(),t.label=2;case 2:return[2,new Tl({element:n,clientPoint:i,screenPoint:o,isTarget:r,inMoving:s,devicePoint:e})]}})})},Tl);function Tl(t){var e=t.element,n=void 0===e?null:e,i=t.clientPoint,o=void 0===i?null:i,r=t.screenPoint,s=void 0===r?null:r,l=t.isTarget,a=void 0!==l&&l,u=t.inMoving,c=void 0!==u&&u,h=t.devicePoint,f=void 0===h?null:h;this.element=n,this.clientPoint=o,this.screenPoint=s,this.devicePoint=f,this.isTarget=a,this.inMoving=c}var Ml,Dl=(w(Il,Ml=ws),Il.prototype._ensureWindowAndCursorForLegacyTests=function(t){t.window=t.window||Pf,t.cursor=al},Il.prototype.canUseNativeAutomationEventSimulator=function(t){return!!this.nativeAutomationInput&&!!t&&"select"!==Y(t)},Il.prototype._getElementForEvent=function(n){return P(this,void 0,void 0,function(){var e;return x(this,function(t){return e=Pt(this.element,this.options.offsetX,this.options.offsetY)?this.element:null,[2,Vt(n.point,this.window,e)]})})},Il.prototype._moveToElement=function(){return P(this,void 0,void 0,function(){var e,n=this;return x(this,function(t){switch(t.label){case 0:return e=new Nr(m.utils.extend({skipScrolling:!0},this.options),!1),[4,Js.create(this.element,e,this.window,this.cursor,this.nativeAutomationInput)];case 1:return[2,t.sent().run().then(function(){return Co(n.automationSettings.mouseActionStepDelay)})]}})})},Il.prototype._scrollToElement=function(){var e=this,n=!1,t=new yr(this.options,!1);return new Ts(this.element,t).run().then(function(t){return n=!!t,Co(e.automationSettings.mouseActionStepDelay)}).then(function(){return Vt(e.cursor.getPosition(),e.window)}).then(function(t){return function(s,l,a){return P(this,void 0,y.Promise,function(){var e,n,i,o,r;return x(this,function(t){switch(t.label){case 0:return s&&cl.contains(l,s)&&a?(e=ps(),n=cl.getCommonAncestor(s,e),[4,ul.getClientPosition(s)]):[2];case 1:return[4,Ut(i=t.sent())];case 2:return(o=t.sent())&&(r={clientX:i.x,clientY:i.y,screenX:o.x,screenY:o.y,ctrl:!1,alt:!1,shift:!1,meta:!1,buttons:hl.BUTTONS_PARAMETER.leftButton},Bs.leaveElement(s,e,n,r),Bs.enterElement(s,e,n,r),vs(s)),[2]}})})}(t,e.element,n)}).then(function(){return n})},Il.prototype._getElementOffset=function(){var t=Nt(this.element),e=this.options,n=e.offsetX,i=e.offsetY,o=i||0===i?i:t.offsetY,r=n||0===n?n:t.offsetX;return A.create({x:r,y:o})},Il.prototype._isTargetElement=function(n,i){return P(this,void 0,void 0,function(){var e;return x(this,function(t){switch(t.label){case 0:return(e=!i||n===i||n===this.element)||!n?[3,2]:[4,this._contains(this.element,n)];case 1:e=t.sent(),t.label=2;case 2:return[2,e]}})})},Il.prototype._getCheckedPoints=function(t){for(var e=[t],n=t.x/2,i=t.y/2,o=2*t.x,r=2*t.y,s=i;s<r;s+=i)for(var l=n;l<o;l+=n)e.push(A.create({x:l,y:s}));return e},Il.prototype._getAvailableOffset=function(r,s){return P(this,void 0,void 0,function(){var e,n,i,o;return x(this,function(t){switch(t.label){case 0:e=this._getCheckedPoints(s),i=n=null,o=0,t.label=1;case 1:return o<e.length?[4,At(this.element,e[o])]:[3,7];case 2:return n=t.sent(),[4,It(this.element,n)];case 3:return[4,Vt(t.sent(),this.window,r)];case 4:return i=t.sent(),[4,this._isTargetElement(i,r)];case 5:if(t.sent())return[2,e[o]];t.label=6;case 6:return o++,[3,1];case 7:return[2,null]}})})},Il.prototype._wrapAction=function(m){return P(this,void 0,void 0,function(){var e,n,i,o,r,s,l,a,u,c,h,f,d;return x(this,function(t){switch(t.label){case 0:return e=this._getElementOffset(),[4,Pt(this.element,e.x,e.y)];case 1:return n=t.sent()?this.element:null,[4,At(this.element,e)];case 2:return i=t.sent(),[4,xt(this.element)];case 3:return o=t.sent(),[4,m()];case 4:return t.sent(),this.options.isDefaultOffset?[4,this._getAvailableOffset(n,e)]:[3,6];case 5:r=t.sent(),e.x=(null==r?void 0:r.x)||e.x,e.y=(null==r?void 0:r.y)||e.y,this.options.offsetX=e.x,this.options.offsetY=e.y,t.label=6;case 6:return[4,At(this.element,e)];case 7:return s=t.sent(),[4,xt(this.element)];case 8:return l=t.sent(),[4,It(this.element,s)];case 9:return[4,Vt(a=t.sent(),this.window,n)];case 10:return(u=t.sent())?[4,this._isTargetElement(u,n)]:[2,Cl.create({element:null,clientPoint:null,screenPoint:null,isTarget:!1,inMoving:!1})];case 11:return c=t.sent(),h=i.x!==s.x||i.y!==s.y,f=o.x!==l.x||o.y!==l.y,d=h&&f,[2,Cl.create({element:u,clientPoint:a,screenPoint:s,isTarget:c,inMoving:d})]}})})},Il.prototype._checkElementState=function(t,e){if(!t.element)throw new li(null,{reason:function t(e,n){void 0===n&&(n="action target");var i=yt(e);if(F(e)){var o=(t(R(W(e,"map")),"container")||"").replace(/.*The/,"its");return mt.mapContainerNotVisible(i,o)}return mt.elOutsideBounds(i,n)}(this.element)});if(e&&(!t.isTarget||t.inMoving))throw new Wi;return t},Il.prototype._ensureElement=function(o,e,n){var r=this;return void 0===e&&(e=!1),void 0===n&&(n=!1),this._wrapAction(function(){return r._scrollToElement()}).then(function(t){return r._checkElementState(t,o)}).then(function(t){return n?t:r._wrapAction(function(){return r._moveToElement()})}).then(function(t){return e||r._checkElementState(t,o),t}).then(function(t){var e,n,i=null==t?void 0:t.element;return r.emit(r.TARGET_ELEMENT_FOUND_EVENT,{element:i||null}),o||!i||t.isTarget||(e=yt(r.element),n=yt(i),r.emit(r.WARNING_EVENT,{type:fl,args:[e,n]})),{element:(null==t?void 0:t.element)||null,clientPoint:(null==t?void 0:t.clientPoint)||null,screenPoint:(null==t?void 0:t.screenPoint)||null,devicePoint:(null==t?void 0:t.devicePoint)||null}})},Il.prototype._contains=function(o,r){return P(this,void 0,void 0,function(){var e,n,i;return x(this,function(t){switch(t.label){case 0:return[4,X(r)];case 1:for(e=t.sent(),n=0,i=e;n<i.length;n++)if(i[n]===o)return[2,!0];return[2,!1]}})})},Il);function Il(t,e,n,i,o){var r=Ml.call(this)||this;return r.TARGET_ELEMENT_FOUND_EVENT="automation|target-element-found-event",r.WARNING_EVENT="automation|warning-event",r.element=t,r.options=e,r.automationSettings=new _o(e.speed||1),r.window=n,r.cursor=i,r.nativeAutomationInput=o?new xl(o):null,r._ensureWindowAndCursorForLegacyTests(r),r}var Ul,kl=y.Promise,Ol=(w(Nl,Ul=Dl),Nl.prototype.run=function(t){var e=this,n=kl.resolve();return this.element!==xf.scrollingElement&&this.element!==xf.documentElement&&(n=this._ensureElement(t,!0,!0)),n.then(function(){e.element.scrollLeft=e.scrollLeft,e.element.scrollTop=e.scrollTop})},Nl);function Nl(t,e,n){var i,o,r,s,l,a=e.x,u=e.y,c=e.position,h=e.byX,f=e.byY,d=Ul.call(this,t,n,Pf,al)||this;return c&&(o=t,r=c,s=Math.floor(o.scrollWidth/2-o.clientWidth/2),l=Math.floor(o.scrollHeight/2-o.clientHeight/2),a=(i={top:[s,0],right:[o.scrollWidth,l],bottom:[s,o.scrollHeight],left:[0,l],topRight:[o.scrollWidth,0],topLeft:[0,0],bottomRight:[o.scrollWidth,o.scrollHeight],bottomLeft:[0,o.scrollHeight],center:[s,l]}[r])[0],u=i[1]),d.scrollLeft="number"==typeof a?a:t.scrollLeft,d.scrollTop="number"==typeof u?u:t.scrollTop,h&&(d.scrollLeft+=h),f&&(d.scrollTop+=f),d}var Bl,Fl=(w(Ll,Bl=Dl),Ll.prototype.run=function(t){return this._ensureElement(t,!0,!0)},Ll);function Ll(t,e){return Bl.call(this,t,e,Pf,al)||this}var Kl=y.Promise,Vl=y.nativeMethods,Rl=y.utils.browser,Yl=y.eventSandbox.focusBlur,Wl=E.contentEditable,Xl=E.textSelection,Hl=E.domUtils,ql=E.styleUtils,Gl=y.eventSandbox.message,zl="automation|iframe|request",jl="automation|iframe|response";function $l(t,e){var n,i,o=Hl.isTextEditableElement(t),r=Hl.isContentEditableElement(t);o||r?r&&isNaN(parseInt(e,10))?Xl.setCursorToLastVisiblePosition(t):(n=isNaN(parseInt(e,10))?Hl.getElementValue(t).length:e,Xl.select(t,n,n)):(i=Wl.findContentEditableParent(t))&&Xl.setCursorToLastVisiblePosition(Wl.findContentEditableParent(i))}function Ql(v,g,y){var t=this;return new Kl(function(p){return P(t,void 0,void 0,function(){var n,i,o,r,s,l,a,u,c,h,f,d,m;return x(this,function(t){switch(t.label){case 0:return ys(Pf)?[4,Ss({cmd:zl},jl,Pf.parent)]:[3,2];case 1:t.sent(),t.label=2;case 2:if(n=Hl.getActiveElement(),i=Hl.isTextEditableElement(v),o=Hl.closest(v,"label[for]"),r=Hl.isElementFocusable(v),s=!r&&o,l=Hl.isContentEditableElement(v),a=l?Wl.findContentEditableParent(v):v,g&&Rl.isWebKit&&i&&Xl.select(v,0,0),s)return g&&(e=o,Hl.isElementFocusable(e)?Yl.focus(e,E.noop,!1,!0):Jl(e)),p(),[2];if(u=!g,c=!1,!r&&!l){if(h=Hl.findDocument(a),f=Vl.documentActiveElementGetter.call(h),d=Hl.isBodyElement(f),m=Hl.isBodyElement(a)?a:Hl.getFocusableParent(a),f&&!d&&Hl.containsElement(f,a)||d&&Hl.isBodyElement(m))return p(),[2];a=m||h.body,c=!0}return Yl.focus(a,function(){!g||l||v===Hl.getActiveElement()?($l(v,y),g||Hl.getActiveElement()===n?p():Yl.focus(n,p,!0,!0)):p()},u,!0,!1,c),[2]}var e})})})}function Zl(t){var e=Hl.closest(t,"label[for]"),n=e&&(e.control||xf.getElementById(e.htmlFor));return n&&ql.isElementVisible(n)?n:null}function Jl(t){var e=Zl(t);e&&Hl.getActiveElement()!==e&&Yl.focus(e,E.noop,!1,!0)}Gl.on(Gl.SERVICE_MSG_RECEIVED_EVENT,function(t){var e;t.message.cmd===zl&&(e=Hl.findIframeByWindow(t.source),Yl.focus(e,function(){Gl.sendServiceMsg({cmd:jl},t.source)},!1))});var ta=y.utils.browser,ea=y.eventSandbox.eventSimulator,na=y.eventSandbox.listeners,ia=y.nativeMethods,oa=E.domUtils,ra=E.styleUtils,sa=E.selectController,la=i.selectElement,aa=(ua.prototype.run=function(){this.eventState.clickElement&&ea.click(this.eventState.clickElement,this.eventArgs.options),oa.isElementFocusable(this.eventArgs.element)||Jl(this.eventArgs.element)},ua);function ua(t,e){this.eventState=t,this.eventArgs=e}var ca,ha=(w(fa,ca=aa),fa.prototype.run=function(){function t(t){n=ia.eventTargetGetter.call(t)===e.input}var e=this,n=!1;na.addInternalEventBeforeListener(Pf,["focus"],t),ca.prototype.run.call(this),na.removeInternalEventBeforeListener(Pf,["focus"],t),oa.isElementFocusable(this.targetElement)&&!n&&this._ensureBoundElementFocusRaised()},fa.prototype._ensureBoundElementFocusRaised=function(){ea.focus(this.input)},fa);function fa(t,e){var n=ca.call(this,t,e)||this;return n.targetElement=n.eventArgs.element,n.input=Zl(n.eventArgs.element),n}var da,ma=(w(pa,da=aa),pa.prototype.run=function(){da.prototype.run.call(this),this._toggleSelectOptionList()},pa.prototype._toggleSelectOptionList=function(){var t=this.eventArgs.element;1===ra.getSelectElementSize(t)&&!1!==this.eventState.simulateDefaultBehavior&&(sa.isOptionListExpanded(t)?la.collapseOptionList():la.expandOptionList(t))},pa);function pa(t,e){return da.call(this,t,e)||this}var va,ga=(w(ya,va=aa),ya.prototype.run=function(){return this.eventArgs.element},ya);function ya(t,e){return va.call(this,t,e)||this}var Ea,ba=(w(Sa,Ea=ha),Sa.prototype.run=function(){function t(){e=!0}var e=!1;na.addInternalEventBeforeListener(Pf,["change"],t),Ea.prototype.run.call(this),na.removeInternalEventBeforeListener(Pf,["change"],t),!ta.isChrome||e||this.checkbox.disabled||this._isClickableElementInsideLabel(this.targetElement)||this._ensureCheckboxStateChanged()},Sa.prototype._ensureCheckboxStateChanged=function(){this.checkbox.checked=!this.checkbox.checked,ea.change(this.checkbox)},Sa.prototype._isClickableElementInsideLabel=function(t){var e=oa.isAnchorElement(t)&&t.getAttribute("href"),n=oa.isButtonElement(t);return e||n},Sa);function Sa(t,e){var n=Ea.call(this,t,e)||this;return n.checkbox=n.input,n}var wa=y.Promise,_a=y.utils.browser,Pa=y.utils.featureDetection,xa=y.eventSandbox.eventSimulator,Aa=y.eventSandbox.listeners,Ca=E.domUtils,Ta=E.eventUtils,Ma=E.arrayUtils,Da=(Ia.prototype.mousedown=function(t){var e=this;this.targetElementParentNodes=Ca.getParents(t.element),this.mouseDownElement=t.element,this._raiseTouchEvents(t);var n=Ca.getActiveElement();this.activeElementBeforeMouseDown=n;var i=(_a.isWebKit||_a.isIE)&&Ca.isSelectElement(this.mouseDownElement);return i&&this._bindMousedownHandler(),this._bindBlurHandler(n),this._isTouchEventWasCancelled()||(this.eventState.simulateDefaultBehavior=xa.mousedown(t.element,t.options)),!1===this.eventState.simulateDefaultBehavior&&(this.eventState.simulateDefaultBehavior=i&&!this.eventState.mousedownPrevented),this._ensureActiveElementBlur(n).then(function(){return e._focus(t)})},Ia.prototype.mouseup=function(t,e){var n,i,o,r,s;e.element=t,this.eventState.clickElement=(n=this.mouseDownElement,i=t,o=this.targetElementParentNodes,r=Ca.getParents(i),s=Ca.isTheSameNode(i,n),_a.isFirefox?s?n:null:s?Ma.equals(o,r)?n:null:n.contains(i)&&!Ca.isEditableFormElement(i)?n:i.contains(n)?i:Ma.getCommonElement(r,o));var l={},a=function(t){l=t.timeStamp,Aa.removeInternalEventBeforeListener(Pf,["mouseup"],a)};return _a.isIE||Aa.addInternalEventBeforeListener(Pf,["mouseup"],a),this._isTouchEventWasCancelled()||xa.mouseup(t,e.options),e.options&&(e.options.timeStamp=l),this._click(e)},Ia.prototype._click=function(u){return P(this,void 0,y.Promise,function(){var a;return x(this,function(t){var e,n,i,o,r,s,l;return e=this.eventState,i=Zl((n=u).element),o=oa.isSelectElement(n.element),r=oa.isOptionElement(n.element),s=oa.isLabelElement(n.element)&&i,l=i&&oa.isCheckboxElement(i),a=new(o?ma:r?ga:l?ba:s?ha:aa)(e,n),this._isTouchEventWasCancelled()||a.run(),[2,u]})})},Ia.prototype._isTouchEventWasCancelled=function(){return this.eventState.touchStartCancelled||this.eventState.touchEndCancelled},Ia.prototype._bindMousedownHandler=function(){var e=this,n=function(t){e.eventState.mousedownPrevented=t.defaultPrevented,Ta.preventDefault(t),Ta.unbind(e.element,"mousedown",n)};Ta.bind(this.element,"mousedown",n)},Ia.prototype._bindBlurHandler=function(t){var e=this,n=function(){e.eventState.blurRaised=!0,Ta.unbind(t,"blur",n,!0)};Ta.bind(t,"blur",n,!0)},Ia.prototype._ensureActiveElementBlur=function(e){var n=this;return new wa(function(t){Ca.getActiveElement()===e||n.eventState.blurRaised?t():_a.isIE&&_a.version<12?To().then(function(){n.eventState.blurRaised||xa.blur(e),t()}):(xa.blur(e),t())})},Ia.prototype._focus=function(t){return!1===this.eventState.simulateDefaultBehavior?wa.resolve():Ql(Ca.isContentEditableElement(this.element)?this.element:t.element,!_a.isIE||this.activeElementBeforeMouseDown===Ca.getActiveElement(),this.caretPos)},Ia.prototype._raiseTouchEvents=function(t){Pa.isTouchDevice&&(this.eventState.touchStartCancelled=!xa.touchstart(t.element,t.options),this.eventState.touchEndCancelled=!xa.touchend(t.element,t.options))},Ia);function Ia(t,e){this.element=t,this.caretPos=e,this.targetElementParentNodes=[],this.activeElementBeforeMouseDown=null,this.mouseDownElement=null,this.eventState={mousedownPrevented:!1,blurRaised:!1,simulateDefaultBehavior:!0,clickElement:null,touchStartCancelled:!1,touchEndCancelled:!1}}var Ua,ka=(w(Oa,Ua=Dl),Oa.prototype._mousedown=function(t){return this.canUseNativeAutomationEventSimulator(t.element)?this.nativeAutomationInput.mouseDown(t):this.strategy.mousedown(t)},Oa.prototype._mouseup=function(n,t){var i=this;return this.canUseNativeAutomationEventSimulator(t.element)?this.nativeAutomationInput.mouseUp(t).then(function(t){var e=i.options.caretPos;return"number"==typeof e&&$l(n,e),t}):this.strategy.mouseup(n,t)},Oa.prototype.run=function(t){var r,s=this;return this._ensureElement(t).then(function(t){var e=t.element,n=t.clientPoint,i=t.screenPoint,o=t.devicePoint;return r={point:n,screenPoint:i,element:e,options:m.utils.extend({clientX:null==n?void 0:n.x,clientY:null==n?void 0:n.y,screenX:null==o?void 0:o.x,screenY:null==o?void 0:o.y},s.modifiers)},m.Promise.all([Co(s.automationSettings.mouseActionStepDelay),s.cursor.leftButtonDown().then(function(){return s._mousedown(r)})])}).then(function(){return s.cursor.buttonUp()}).then(function(){return s._getElementForEvent(r)}).then(function(t){return t?s._mouseup(t,r):null})},Oa);function Oa(t,e,n,i,o){var r,s,l=Ua.call(this,t,e,n,i,o)||this;return l.modifiers=e.modifiers,l.strategy=(r=l.element,s=e.caretPos,new Da(r,s)),l}function Na(t,e,n){var i=function(t,e,n){if(e.y-t.y==0)return 0;var i=(e.x-t.x)/(e.y-t.y),o=t.y*(t.x-e.x)/(e.y-t.y)+t.x;return Math.round(i*n+o)}(t,e,n.top);return i&&i>=n.left&&i<=n.right?new A(i,n.top):null}function Ba(t,e,n){var i=function(t,e,n){if(e.x===t.x)return 0;var i=(e.y-t.y)/(e.x-t.x),o=t.x*(t.y-e.y)/(e.x-t.x)+t.y;return Math.round(i*n+o)}(t,e,n.left);return i&&i>=n.top&&i<=n.bottom?new A(n.left,i):null}function Fa(t,e,n){for(var i=[],o=0,r=[{left:n.left,top:n.top,right:n.left,bottom:n.bottom,isHorizontal:!1},{left:n.right,top:n.top,right:n.right,bottom:n.bottom,isHorizontal:!1},{left:n.left,top:n.top,right:n.right,bottom:n.top,isHorizontal:!0},{left:n.left,top:n.bottom,right:n.right,bottom:n.bottom,isHorizontal:!0}];o<r.length;o++){var s=r[o],l=(s.isHorizontal?Na:Ba)(t,e,s);l&&i.push(l)}return i.length?1===i.length||i[0].distance(t)<i[1].distance(t)?i[0]:i[1]:null}var La=y.eventSandbox.eventSimulator,Ka=y.eventSandbox.message,Va=E.positionUtils,Ra=E.domUtils,Ya=E.styleUtils,Wa="automation|move|response";Ka.on(Ka.SERVICE_MSG_RECEIVED_EVENT,function(t){var e,n,i,o,r,s,l,a,u,c,h,f,d,m,p,v;"automation|move|request"===t.message.cmd&&(t.source.parent===Pf?(e=Pf["%testCafeDriverInstance%"],i=(n=t).message.nativeAutomationMove&&e.createDispatchNativeAutomationEventFunctions(),r=new A(n.message.endX,n.message.endY),s=n.source,l=Ra.findIframeByWindow(s),a=Ya.getBordersWidth(l),u=Ya.getElementPadding(l),c=Va.getIframeClientCoordinates(l),h=Va.getIframePointRelativeToParentFrame(r,s),f=al.getPosition(),d=Va.isInRectangle(f,c)?f:Fa(f,h,c),m={x:d.x-c.left,y:d.y-c.top},p=new Nr({modifiers:n.message.modifiers,offsetX:m.x+a.left+u.left,offsetY:m.y+a.top+u.top,speed:n.message.speed,skipScrolling:!0},!1),v={cmd:Wa,x:m.x,y:m.y},al.getActiveWindow(Pf)!==s?(o=null,i&&(o=new xl(i)),Js.create(l,p,Pf,al,o).then(function(t){return t.run()}).then(function(){al.setActiveWindow(s),Ka.sendServiceMsg(v,s)})):Ka.sendServiceMsg(v,s)):(y.on(y.EVENTS.beforeUnload,function(){return Ka.sendServiceMsg({cmd:Wa},t.source)}),function(t){var e=t.source,n={left:t.message.left,right:t.message.right,top:t.message.top,bottom:t.message.bottom};if(!t.message.iframeUnderCursor){var i=t.message,o=i.startX,r=i.startY,s=o-n.left,l=r-n.top,a=ps();return a&&(La.mouseout(a,{clientX:s,clientY:l,relatedTarget:null}),La.mouseleave(a,{clientX:s,clientY:l,relatedTarget:null})),Ka.sendServiceMsg({cmd:Wa},e)}var u,c=al.getPosition(),h=Fa(A.create(n).add(c),new A(t.message.endX,t.message.endY),n);h?(u=new Nr({modifiers:t.message.modifiers,offsetX:h.x-n.left,offsetY:h.y-n.top,speed:t.message.speed,skipScrolling:!0},!1),Js.create(xf.documentElement,u,Pf,al).then(function(t){return t.run()}).then(function(){var t={cmd:Wa,x:h.x,y:h.y};al.setActiveWindow(e),Ka.sendServiceMsg(t,e)})):Ka.sendServiceMsg({cmd:Wa,x:n.left,y:n.top},e)}(t)))});var Xa=y.Promise,Ha=y.utils.browser,qa=y.utils.featureDetection,Ga=y.eventSandbox.eventSimulator,za=y.eventSandbox.focusBlur,ja=y.nativeMethods,$a=E.domUtils,Qa=E.styleUtils,Za=E.delay,Ja=E.selectController,tu=i.selectElement,eu=qa.isTouchDevice?0:160,nu=(iu.prototype._calculateEventArguments=function(){var t=this.optionListExpanded?Ja.getEmulatedChildElement(this.element):this.element,e=1<Qa.getSelectElementSize(this.parentSelect);return{options:this.modifiers,element:Ha.isIE&&e?this.parentSelect:t}},iu.prototype._getMoveArguments=function(){var t,e,n=null,i=null,o=null;return o=this.optionListExpanded?(i=(t=Ot(n=Ja.getEmulatedChildElement(this.element))).offsetX,t.offsetY):(n=xf.documentElement,i=(e=tu.getSelectChildCenter(this.element)).x,e.y),{element:n,offsetX:i,offsetY:o,speed:this.speed}},iu.prototype._move=function(t){var e=this,n=t.element,i=t.offsetX,o=t.offsetY,r=t.speed,s=new Nr({offsetX:i,offsetY:o,speed:r,modifiers:this.modifiers},!1);return Js.create(n,s,Pf,al).then(function(t){return t.run()}).then(function(){return Za(e.automationSettings.mouseActionStepDelay)})},iu.prototype._mousedown=function(){var t=this;return Ha.isFirefox?(Ga.mousedown(this.eventsArgs.element,this.eventsArgs.options),this.clickCausesChange&&(this.parentSelect.selectedIndex=this.childIndex),this._focus()):Ha.isIE?(Ga.mousedown(this.eventsArgs.element,this.eventsArgs.options),this._focus()):this._focus().then(function(){return Za(eu)}).then(function(){Ga.mousedown(t.eventsArgs.element,t.eventsArgs.options),t.clickCausesChange&&(t.parentSelect.selectedIndex=t.childIndex)})},iu.prototype._focus=function(){var e=this;return new Xa(function(t){za.focus(e.parentSelect,t,!1,!0)})},iu.prototype._mouseup=function(){var t=Ha.isIE?this.parentSelect:this.eventsArgs.element;Ga.mouseup(t,this.eventsArgs.options),Ha.isIE&&this.clickCausesChange&&(this.parentSelect.selectedIndex=this.childIndex);var e=Ha.isFirefox||Ha.isSafari||Ha.isChrome&&53<=Ha.version,n=e||Ha.isIE;return e&&this.clickCausesChange&&Ga.input(this.parentSelect),n&&this.clickCausesChange&&Ga.change(this.parentSelect),Xa.resolve()},iu.prototype._click=function(){Ga.click(this.eventsArgs.element,this.eventsArgs.options)},iu.prototype.run=function(){var t=this;if(!this.parentSelect)return Ga.click(this.eventsArgs.element,this.eventsArgs.options),Xa.resolve();this.optionListExpanded||tu.scrollOptionListByChild(this.element);var e=this._getMoveArguments();return this.eventsArgs=this._calculateEventArguments(),Qa.getSelectElementSize(this.parentSelect)<=1?this._move(e).then(function(){return t._click()}):this._move(e).then(function(){return t._mousedown()}).then(function(){return t._mouseup()}).then(function(){return t._click()})},iu);function iu(t,e){var n,i,o,r,s;this.element=t,this.modifiers=e.modifiers,this.caretPos=e.caretPos,this.offsetX=e.offsetX,this.offsetY=e.offsetY,this.speed=e.speed,this.automationSettings=new _o(e.speed),this.parentSelect=$a.getSelectParent(this.element),this.optionListExpanded=!!this.parentSelect&&Ja.isOptionListExpanded(this.parentSelect),this.childIndex=null,this.clickCausesChange=!1,this.parentSelect&&(n=$a.isOptionElement(this.element),i=this.parentSelect.selectedIndex,this.childIndex=$a.getElementIndexInParent(this.parentSelect,this.element),o=ja.nodeParentNodeGetter.call(this.element),r=$a.isOptionGroupElement(o)?o:null,s=this.element.disabled||r&&r.disabled,this.clickCausesChange=n&&!s&&this.childIndex!==i),this.eventsArgs={options:this.modifiers,element:this.element}}var ou,ru=y.utils.featureDetection,su=y.utils.browser,lu=y.eventSandbox.eventSimulator,au=E.eventUtils,uu=E.delay,cu=ru.isTouchDevice?0:160,hu=(w(fu,ou=Dl),fu.prototype._firstClick=function(t){var e=this,n=new Ur(this.options);n.speed=1;var i=new ka(this.element,n,Pf,al);return i.on(i.TARGET_ELEMENT_FOUND_EVENT,function(t){return e.emit(e.TARGET_ELEMENT_FOUND_EVENT,t)}),i.run(t).then(function(t){return uu(cu).then(function(){return t})})},fu.prototype._secondClick=function(t){var e=this;su.isIE&&au.bind(xf,"focus",au.preventDefault,!0);var n=new Ur({offsetX:t.screenPoint.x,offsetY:t.screenPoint.y,caretPos:this.caretPos,modifiers:this.modifiers,speed:1}),i=new ka(xf.documentElement,n,Pf,al);return i.run().then(function(t){return e.eventState.dblClickElement=i.strategy.eventState.clickElement,su.isIE&&au.unbind(xf,"focus",au.preventDefault,!0),t})},fu.prototype._dblClick=function(t){this.eventState.dblClickElement&&lu.dblclick(this.eventState.dblClickElement,t.options)},fu.prototype.run=function(t){var e=this;return this._firstClick(t).then(function(t){return e._secondClick(t)}).then(function(t){return e._dblClick(t)})},fu);function fu(t,e){var n=ou.call(this,t,e,Pf,al)||this;return n.modifiers=e.modifiers,n.caretPos=e.caretPos,n.speed=e.speed,n.automationSettings=new _o(n.speed),n.offsetX=e.offsetX,n.offsetY=e.offsetY,n.eventArgs=null,n.eventState={dblClickElement:null},n}var du,mu=function(){this.enabled=!1,this.dropAllowed=!1,this.element=null,this.dataTransfer=null,this.dataStore=null},pu=y.nativeMethods,vu=y.utils.featureDetection,gu=y.utils.html,yu=y.utils.url,Eu=y.eventSandbox.DataTransfer,bu=y.eventSandbox.DragDataStore,Su=E.eventUtils,wu=E.domUtils,_u=(w(Pu,du=Js),Pu.create=function(o,r,s,l){return P(this,void 0,void 0,function(){var e,n,i;return x(this,function(t){switch(t.label){case 0:return[4,Js.getTarget(o,s,new A(r.offsetX,r.offsetY))];case 1:return e=t.sent(),n=e.element,i=e.offset,[2,new Pu(n,i,r,s,l)]}})})},Pu.prototype._getCursorSpeed=function(){return this.automationSettings.draggingSpeed},Pu.prototype._getEventSequenceOptions=function(t){var e=du.prototype._getEventSequenceOptions.call(this,t),n=e.eventOptions,i=e.eventSequenceOptions;return n.dataTransfer=this.dragAndDropState.dataTransfer,n.buttons=Su.BUTTONS_PARAMETER.leftButton,i.holdLeftButton=!0,{eventOptions:n,eventSequenceOptions:i}},Pu.prototype._getCorrectedTopElement=function(t){return this.touchMode?this.dragElement:t},Pu.prototype._runEventSequence=function(t,e){var n=e.eventOptions,i=e.eventSequenceOptions,o=Qs(this.dragAndDropState.enabled,this.firstMovingStepOccured,i).run(t,ps(),n,this.dragElement,this.dragAndDropState.dataStore),r=o.dragAndDropMode,s=o.dropAllowed;this.dragAndDropState.enabled=r,this.dragAndDropState.dropAllowed=s},Pu.prototype._needMoveCursorImmediately=function(){return!1},Pu.prototype.run=function(){var l=this;return Vt(this.cursor.getPosition()).then(function(t){l.dragElement=t;var e,n,i,o,r,s=function(t){for(var e=t;e;){if(e.draggable)return e;e=pu.nodeParentNodeGetter.call(e)}return null}(l.dragElement);return s&&vu.hasDataTransfer&&!l.skipDefaultDragBehavior&&(l.dragAndDropState.enabled=!0,l.dragElement=s,l.dragAndDropState.element=l.dragElement,l.dragAndDropState.dataStore=new bu,l.dragAndDropState.dataTransfer=new Eu(l.dragAndDropState.dataStore),((e=wu.isAnchorElement(l.dragElement))||wu.isImgElement(l.dragElement))&&(n=e?"href":"src",o=(i=yu.parseProxyUrl(l.dragElement[n]))?i.destUrl:l.dragElement[n],r=gu.cleanUpHtml(pu.elementOuterHTMLGetter.call(l.dragElement)),l.dragAndDropState.dataTransfer.setData("text/plain",o),l.dragAndDropState.dataTransfer.setData("text/uri-list",o),l.dragAndDropState.dataTransfer.setData("text/html",r))),du.prototype.run.call(l).then(function(){return l.dragAndDropState})})},Pu);function Pu(t,e,n,i,o){var r=du.call(this,t,e,n,i,o)||this;return r.dragElement=null,r.dragAndDropState=new mu,r}var xu,Au=y.Promise,Cu=y.utils.extend,Tu=y.utils.featureDetection,Mu=y.eventSandbox.eventSimulator,Du=y.eventSandbox.focusBlur,Iu=(w(Uu,xu=Dl),Uu.prototype._getEndPoint=function(){throw new Error("Not implemented")},Uu.prototype._mousedown=function(t){var e=this;return al.leftButtonDown().then(function(){return e.simulateDefaultBehavior=Mu[e.downEvent](t.element,t.options),e._focus(t)})},Uu.prototype._focus=function(n){var i=this;return new Au(function(t){var e=g.domUtils.isContentEditableElement(i.element)?g.contentEditable.findContentEditableParent(i.element):n.element;Du.focus(e,t,!1,!0)})},Uu.prototype._getDestination=function(){throw new Error("Not implemented")},Uu.prototype._drag=function(){var r=this;return this._getDestination().then(function(t){var e=t.element,n=t.offsets,i=t.endPoint;r.endPoint=i;var o=new Nr({offsetX:n.offsetX,offsetY:n.offsetY,modifiers:r.modifiers,speed:r.speed,minMovingTime:25,skipDefaultDragBehavior:!1===r.simulateDefaultBehavior},!1);return _u.create(e,o,Pf,al)}).then(function(t){return t.run()}).then(function(t){return r.dragAndDropState=t,g.delay(r.automationSettings.mouseActionStepDelay)})},Uu.prototype._mouseup=function(){var o=this;return al.buttonUp().then(function(){var e=g.positionUtils.offsetToClientCoords(o.endPoint),n=null,i=Cu({clientX:e.x,clientY:e.y},o.modifiers);return Vt(e).then(function(t){return(n=t)?(o.dragAndDropState.enabled?(i.dataTransfer=o.dragAndDropState.dataTransfer,o.dragAndDropState.dropAllowed&&Mu.drop(n,i),Mu.dragend(o.dragAndDropState.element,i),o.dragAndDropState.dataStore.setProtectedMode()):Mu[o.upEvent](n,i),Vt(e)):n}).then(function(t){n&&t===n&&!o.dragAndDropState.enabled&&Mu.click(n,i)})})},Uu.prototype.run=function(t){var i,o=this;return this._ensureElement(t).then(function(t){var e=t.element,n=t.clientPoint;return i={point:n,element:e,options:Cu({clientX:n.x,clientY:n.y},o.modifiers)},Au.all([g.delay(o.automationSettings.mouseActionStepDelay),o._mousedown(i)])}).then(function(){return o._drag()}).then(function(){return o._mouseup()})},Uu);function Uu(t,e){var n=xu.call(this,t,e,Pf,al)||this;return n.modifiers=e.modifiers,n.speed=e.speed,n.offsetX=e.offsetX,n.offsetY=e.offsetY,n.endPoint=null,n.simulateDefaultBehavior=!0,n.downEvent=Tu.isTouchDevice?"touchstart":"mousedown",n.upEvent=Tu.isTouchDevice?"touchend":"mouseup",n.dragAndDropState=null,n}var ku,Ou=E.styleUtils,Nu=(w(Bu,ku=Iu),Bu.prototype._getDestination=function(){return P(this,void 0,void 0,function(){var e,n,i,o;return x(this,function(t){switch(t.label){case 0:return[4,At(this.element,{x:this.offsetX,y:this.offsetY})];case 1:return e=t.sent(),n=Ou.getWidth(xf),i=Ou.getHeight(xf),o={x:e.x+this.dragOffsetX,y:e.y+this.dragOffsetY},o={x:Math.min(Math.max(0,o.x),n),y:Math.min(Math.max(0,o.y),i)},[2,{element:xf.documentElement,offsets:{offsetX:o.x,offsetY:o.y},endPoint:o}]}})})},Bu);function Bu(t,e,n,i){var o=ku.call(this,t,i)||this;return o.dragOffsetX=e,o.dragOffsetY=n,o}var Fu,Lu=E.positionUtils,Ku=(w(Vu,Fu=Iu),Vu.prototype._getDestination=function(){return P(this,void 0,void 0,function(){var e,n,i,o;return x(this,function(t){return e=this.destinationElement,n=Lu.getElementRectangle(e),i=Nt(e,this.destinationOffsetX,this.destinationOffsetY),o={x:n.left+i.offsetX,y:n.top+i.offsetY},[2,{element:e,offsets:i,endPoint:o}]})})},Vu);function Vu(t,e,n){var i=Fu.call(this,t,n)||this;return i.destinationElement=e,i.destinationOffsetX=n.destinationOffsetX,i.destinationOffsetY=n.destinationOffsetY,i}var Ru,Yu=(w(Wu,Ru=Dl),Wu.prototype.run=function(t){return this._ensureElement(t,!0)},Wu);function Wu(t,e,n){return Ru.call(this,t,e,Pf,al,n)||this}var Xu=y.utils.browser,Hu=y.sandbox.event,qu=y.eventSandbox.eventSimulator,Gu=y.eventSandbox.listeners,zu=y.nativeMethods,ju=E.domUtils,$u=E.contentEditable,Qu=E.textSelection,Zu=/ /g;function Ju(t){var e=Qu.getSelectionByElement(t),n=Qu.hasInverseSelectionContentEditable(t);return Qu.hasElementContainsSelection(t)?$u.getSelection(t,e,n):{startPos:$u.calculateNodeAndOffsetByPosition(t,0),endPos:$u.calculateNodeAndOffsetByPosition(t,0)}}function tc(t){var e=t.startPos.node,n=t.startPos.offset,i=t.endPos.offset,o=$u.getFirstNonWhitespaceSymbolIndex(e.nodeValue),r=$u.getLastNonWhitespaceSymbolIndex(e.nodeValue);return n<o&&0!==n?(t.startPos.offset=o,t.endPos.offset=i+o-n):r<i&&i!==e.nodeValue.length&&(t.startPos.offset=e.nodeValue.length,t.endPos.offset=i+e.nodeValue.length-n),t}function ec(t,e,n){return!n||qu.beforeInput(t,e)}function nc(t,e){var n;function i(t){t.preventDefault(),n=!0}function o(t){"textInput"===t.type&&(n=!1)}Xu.isSafari&&(Gu.addInternalEventBeforeListener(Pf,["textInput"],i),Hu.on(Hu.EVENT_PREVENTED_EVENT,o));var r=Xu.isFirefox||qu.textInput(t,e)||n;return Xu.isSafari&&(Gu.removeInternalEventBeforeListener(Pf,["textInput"],i),Hu.off(Hu.EVENT_PREVENTED_EVENT,o)),r||Xu.isIE11}function ic(t,e){var n,i,o,r,s,l,a,u,c,h,f,d=Ju(t),m=d.startPos.node,p=d.endPos.node,v=!0,g=!0,y=e;function E(){g=!1}function b(t,e,n){n()}e=e.replace(Zu,String.fromCharCode(160)),m&&p&&ju.isContentEditableElement(m)&&ju.isContentEditableElement(p)&&(ju.isTheSameNode(m,p)||(Qu.deleteSelectionContents(t),n=t,o=(i=d).startPos.node,r=zu.nodeParentNodeGetter.call(o)&&o.parentElement,!(Xu.isChrome&&Xu.version<58||Xu.isSafari)&&r&&ju.isElementContainsNode(n,o)||(i=Ju(n),Qu.hasInverseSelectionContentEditable(n)&&(i={startPos:i.endPos,endPos:i.startPos})),i.endPos.offset=i.startPos.offset,m=(d=i).startPos.node),m&&ju.isContentEditableElement(m)&&ju.isRenderedNode(m)&&ec(t,e,Xu.isChrome||Xu.isFirefox)&&(v=nc(t,y),g=v&&!Xu.isIE11,Gu.addInternalEventBeforeListener(Pf,["input"],E),Gu.addInternalEventBeforeListener(Pf,["textinput"],b),(v=v&&ec(t,e,Xu.isSafari))&&(ju.isElementNode(m)?(s=m,l=e,c=xf.createTextNode(l),h={node:c,offset:l.length},f=zu.nodeParentNodeGetter.call(s),"br"===ju.getTagName(s)?f.insertBefore(c,s):0<a?(u=zu.nodeChildNodesGetter.call(s),s.insertBefore(c,u[a])):s.appendChild(c),Qu.selectByNodesAndOffsets(h,h)):function(t,e,n){var i=e.startPos.node;ju.isElementContainsNode(t,i)||(i=(e=tc(Ju(t))).startPos.node);var o=e.startPos.offset,r=e.endPos.offset,s=i.nodeValue,l={node:i,offset:o+n.length};i.nodeValue=s.substring(0,o)+n+s.substring(r,s.length),Qu.selectByNodesAndOffsets(l,l)}(t,tc(d),e)),To().then(function(){g&&qu.input(t,e),Gu.removeInternalEventBeforeListener(Pf,["input"],E),Gu.removeInternalEventBeforeListener(Pf,["textinput"],b)})))}function oc(t,e,n){var i,o,r,s,l,a,u,c,h,f,d,m,p;ju.isContentEditableElement(t)&&ic(t,e),ju.isElementReadOnly(t)||(ju.isTextEditableElement(t)?(l=t,a=e,h=ju.getElementValue(l),f=a.length,d=Qu.getSelectionStart(l),m=Qu.getSelectionEnd(l),p=ju.isInputElement(l)&&"number"===l.type,ec(l,a,Xu.isChrome||Xu.isFirefox)&&nc(l,a)&&ec(l,a,Xu.isSafari)&&((u=!Xu.isIE&&p?null:parseInt(l.maxLength,10))<0&&(u=Xu.isIE&&Xu.version<17?0:null),c=h.substring(0,d)+a+h.substring(m,h.length),(null===u||isNaN(u)||c.length<=u)&&(p&&Xu.isIOS&&"."===h[h.length-1]&&(d+=1),ju.setElementValue(l,c),Qu.select(l,d+f,d+f)),qu.input(l,a))):ju.isInputElement(t)&&(i=t,o=e,null!==(r=n)?(s=ju.getElementValue(i),ju.setElementValue(i,s.substr(0,r)+o+s.substr(r+o.length))):ju.setElementValue(i,o),qu.change(i),qu.input(i,o)))}function rc(t){return 1===t.length&&("a"<=t&&t<="z"||"A"<=t&&t<="Z")}var sc=y.nativeMethods,lc=y.utils.browser,ac=y.eventSandbox.focusBlur,uc=y.Promise,cc=g.domUtils.isRadioButtonElement,hc=g.domUtils.getActiveElement,fc=g.domUtils.getTabIndexAttributeIntValue;function dc(t){return t===t.toLowerCase()?t.toUpperCase():t.toLowerCase()}function mc(t){for(var e=t.slice(),n=0;n<t.length;n++){var i=t[n];if("shift"===i.toLowerCase()){var o=t[n+1];if(!o)continue;g.KEY_MAPS.shiftMap[o]?t[n+1]=g.KEY_MAPS.shiftMap[o]:g.KEY_MAPS.reversedShiftMap[o]&&(e[n+1]=g.KEY_MAPS.reversedShiftMap[o])}!g.KEY_MAPS.shiftMap[i]||t[n-1]&&"shift"===t[n-1].toLowerCase()||(t[n]=g.KEY_MAPS.shiftMap[i],t.splice(n,0,"shift"),e.splice(n,0,"shift"),n++)}return{actualKeys:t,eventKeyProperties:e}}function pc(t){var e=hc(t||xf),n=null;if(e&&g.domUtils.isIframeElement(e)&&sc.contentDocumentGetter.call(e))try{n=pc(sc.contentDocumentGetter.call(e))}catch(t){}return n||e}function vc(t,e,n){if(!cc(e))return t;if(!n&&!e.name&&!lc.isChrome)return[e];var i,o,r=(i=e,o=null,n?""===i.name||lc.isFirefox||(o=function(t){return!t.name||t===i||t.name!==i.name}):""!==i.name?o=function(t){return cc(t)&&t.name===i.name}:lc.isChrome&&(o=function(t){return cc(t)&&!t.name}),o);return r&&(t=g.arrayUtils.filter(t,r)),t}function gc(t,e,n){var i,o,r,s,l,a,u,c,h=e?-1:1,f=g.domUtils.getTopSameDomainWindow(Pf).document,d=(i=f,o=sc.documentActiveElementGetter.call(i),r=o&&fc(o),!(o&&r<0)),m=vc(m=g.domUtils.getFocusableElements(f,d),t,n),p=cc(t),v=g.arrayUtils.indexOf(m,t);return(e?0===v:v===m.length-1)?!e&&t.tabIndex<0?g.arrayUtils.find(m,function(t){return 0===t.tabIndex}):n||!p?xf.body:m[m.length-1-v]:e&&-1===v?m[m.length-1]:(l=(s=m)[v+h],a=n,u=cc(l)&&l.name&&!l.checked,c=null,a&&u&&(c=g.arrayUtils.find(s,function(t){return cc(t)&&t.name===l.name&&t.checked})),c||l)}function yc(t,e,n){var i={};return"keyIdentifier"in KeyboardEvent.prototype&&(i.keyIdentifier=t?"":n),"key"in KeyboardEvent.prototype&&(i.key=e),i}var Ec={SPECIAL_KEYS:{capslock:"CapsLock",delete:"U+007F",end:"End",enter:"Enter",esc:"U+001B",home:"Home",ins:"Insert",pagedown:"PageDown",pageup:"PageUp",space:"U+0020",tab:"Tab",alt:"Alt",ctrl:"Control",meta:"Meta",shift:"Shift"},LETTERS:{a:"U+0041",b:"U+0042",c:"U+0043",d:"U+0044",e:"U+0045",f:"U+0046",g:"U+0047",h:"U+0048",i:"U+0049",j:"U+004A",k:"U+004B",l:"U+004C",m:"U+004D",n:"U+004E",o:"U+004F",p:"U+0050",q:"U+0051",r:"U+0052",s:"U+0053",t:"U+0054",u:"U+0055",v:"U+0056",w:"U+0057",x:"U+0058",y:"U+0059",z:"U+005A"},SYMBOLS:{0:"U+0030",1:"U+0031",2:"U+0032",3:"U+0033",4:"U+0034",5:"U+0035",6:"U+0036",7:"U+0037",8:"U+0038",9:"U+0039"," ":"U+0020","!":"U+0021","@":"U+0040","#":"U+0023",$:"U+0024","%":"U+0025","^":"U+005E","*":"U+002A","(":"U+0028",")":"U+0029",_:"U+005F","|":"U+007C","\\":"U+005C","/":"U+002F","?":"U+003F",".":"U+002E",",":"U+002C","<":"U+003C",">":"U+003E","[":"U+005B","]":"U+005D","{":"U+007B","}":"U+007D","§":"U+00A7","±":"U+00B1","'":"U+0027",'"':"U+0022",":":"U+003A",";":"U+003B","`":"U+0060","~":"U+007E"}};function bc(t){return rc(t)?Ec.LETTERS[t.toLowerCase()]:Ec.SYMBOLS[t]||Ec.SPECIAL_KEYS[t]||t}function Sc(t){if(rc(t))return t.toUpperCase().charCodeAt(0);var e=g.KEY_MAPS.shiftMap[t]?g.KEY_MAPS.shiftMap[t].charCodeAt(0):t.charCodeAt(0);return g.KEY_MAPS.symbolCharCodeToKeyCode[e]||e}function wc(t,e){var n,i=g.getSanitizedKey(t),o=1===t.length||"space"===t,r=(n=t,-1<g.KEY_MAPS.newLineKeys.indexOf(n)),s=g.KEY_MAPS.modifiers[i],l=g.KEY_MAPS.specialKeys[i];return e=e||t,{sanitizedKey:i,isChar:o,modifierKeyCode:s,specialKeyCode:l,isNewLine:r,isLetter:rc(t),keyIdentifierProperty:bc(e),keyProperty:g.KEY_MAPS.keyProperty[e]||e,keyCode:function(t,e,n,i,o){var r=null;return e&&"space"!==t?r=Sc(n):i?r=i:o&&(r=o),r}(t,o,i,s,l)}}var _c=y.utils.browser,Pc=y.utils.extend,xc=y.eventSandbox.eventSimulator,Ac=(Cc._isKeyActivatedInputElement=function(t){return g.domUtils.isInputElement(t)&&/button|submit|reset|radio|checkbox/.test(t.type)},Cc.prototype._type=function(t,e){var n,i=t!==this.storedActiveElement,o=!i,r=t,s=g.domUtils.isEditableElement(t),l=g.domUtils.isEditableElement(this.storedActiveElement);try{i&&(n=g.domUtils.isElementInIframe(t)===g.domUtils.isElementInIframe(this.storedActiveElement)||l,o=(!_c.isFirefox||l)&&(!_c.isWebKit||n))}catch(t){}o&&(!_c.isIE&&i&&l&&s&&(r=this.storedActiveElement),oc(r,e))},Cc.prototype._addKeyPropertyToEventOptions=function(t){return Pc(t,yc("keypress"===t.type,this.keyProperty,this.keyIdentifierProperty)),t},Cc.prototype.down=function(t){this.storedActiveElement=pc(this.topSameDomainDocument),this.modifierKeyCode&&(t[this.sanitizedKey]=!0),t.shift&&this.isLetter&&(this.keyProperty=dc(this.keyProperty));var e={keyCode:this.keyCode,type:"keydown"};return this._addKeyPropertyToEventOptions(e),xc.keydown(this.storedActiveElement,Pc(e,t))},Cc.prototype.press=function(t){if(!this.isChar&&!this.specialKeyCode)return!0;var e=pc(this.topSameDomainDocument),n=this.isChar?function(t,e){if("space"===t)return" ";if(e){if(rc(t))return dc(t);if(g.KEY_MAPS.reversedShiftMap[t])return g.KEY_MAPS.reversedShiftMap[t]}return t}(this.sanitizedKey,t.shift):null,i=this.specialKeyCode||n.charCodeAt(0),o=e!==this.storedActiveElement;if(_c.isWebKit&&o&&g.domUtils.isElementInIframe(e)!==g.domUtils.isElementInIframe(this.storedActiveElement))return!0;this.storedActiveElement=e;var r={keyCode:i,charCode:i,type:"keypress"};this._addKeyPropertyToEventOptions(r);var s=_c.isAndroid||xc.keypress(e,Pc(r,t));if(!s)return s;e=pc(this.topSameDomainDocument),!n||t.ctrl||t.alt||this._type(e,n);var l=Cc._isKeyActivatedInputElement(e),a=g.domUtils.isButtonElement(e);return _c.isSafari&&0<=_c.compareVersions([_c.webkitVersion,"603.1.30"])||!l&&!a||"enter"!==this.sanitizedKey||e.click(),s},Cc.prototype.up=function(t){this.modifierKeyCode&&(t[this.sanitizedKey]=!1);var e={keyCode:this.keyCode,type:"keyup"};this._addKeyPropertyToEventOptions(e);var n=xc.keyup(pc(this.topSameDomainDocument),Pc(e,t)),i=pc(this.topSameDomainDocument);return!_c.isSafari&&(!_c.isChrome||53<=_c.version)&&n&&"space"===this.sanitizedKey&&Cc._isKeyActivatedInputElement(i)&&i.click(),n},Object.defineProperty(Cc.prototype,"key",{get:function(){return this.sanitizedKey},enumerable:!1,configurable:!0}),Cc);function Cc(t,e){var n=wc(t,e);Pc(this,n),this.topSameDomainDocument=g.domUtils.getTopSameDomainWindow(Pf).document,this.storedActiveElement=null}var Tc,Mc={ctrlA:"ctrl+a",backspace:"backspace",delete:"delete",left:"left",right:"right",up:"up",down:"down",shiftLeft:"shift+left",shiftRight:"shift+right",shiftUp:"shift+up",shiftDown:"shift+down",shiftHome:"shift+home",shiftEnd:"shift+end",home:"home",end:"end",enter:"enter",tab:"tab",shiftTab:"shift+tab",esc:"esc"},Dc=y.Promise,Ic=y.utils.browser,Uc=y.eventSandbox.eventSimulator,kc=y.eventSandbox.elementEditingWatcher,Oc=E.textSelection,Nc=E.eventUtils,Bc=E.domUtils,Fc=i.selectElement,Lc=null,Kc=null;function Vc(){Kc=Lc=null,Nc.unbind(this,"blur",Vc,!0)}function Rc(t){var e,n,i,o;Bc.isTextAreaElement(t)&&(Lc!==t&&(Nc.bind(t,"blur",Vc,!0),Lc=t),e=t,n=Oc.hasInverseSelection(e),i=Bc.getTextAreaValue(e),o=n?Oc.getSelectionStart(e):Oc.getSelectionEnd(e),Kc=i&&o?Bc.getTextareaIndentInLine(e,o):0)}function Yc(t,e){var n,i,o,r,s,l,a=Bc.getTextAreaValue(t);a&&(n=Oc.getSelectionStart(t),i=Oc.getSelectionEnd(t),o=Oc.hasInverseSelection(t),s=(r=a.substring(0,o?n:i)).lastIndexOf("\n"),l=r.substring(0,s),null!==Kc&&Lc===t||Rc(t),s=l.lastIndexOf("\n"),Xc(t,n,i,o,Math.min(s+1+Kc,l.length),e))}function Wc(t,e){var n,i,o,r,s,l,a,u,c,h,f=Bc.getTextAreaValue(t);f&&(n=Oc.getSelectionStart(t),i=Oc.getSelectionEnd(t),u=(r=(o=Oc.hasInverseSelection(t))?n:i)+(l=-1===(c=(s=f.substring(r)).indexOf("\n"))?s.length:c+1),h=-1===(c=(a=s.substring(l)).indexOf("\n"))?a.length:c,null!==Kc&&Lc===t||Rc(t),Xc(t,n,i,o,u=Math.min(u+Kc,u+h),e))}function Xc(t,e,n,i,o,r){var s=null,l=null,l=r?(s=e!==n&&i?n:e,o):s=o;Oc.select(t,s,l)}function Hc(t,e,n){Bc.isInputElement(t)&&"number"===t.type&&("-"===e.charAt(0)&&"."===e.charAt(1)&&(e=e.substring(1)),"."===e.charAt(e.length-1)&&(e=e.substring(0,e.length-1))),Bc.setElementValue(t,e),Oc.select(t,n,n),Uc.input(t)}function qc(t,e){var n,i,o,r,s,l,a,u;return Bc.isTextEditableElement(t)&&(n=Oc.getSelectionStart(t),i=Oc.getSelectionEnd(t),o=Oc.hasInverseSelection(t),s=null,s=(r=!Bc.isTextAreaElement(t)||Bc.getTextareaLineNumberByPosition(t,n)===Bc.getTextareaLineNumberByPosition(t,i))?o?i:n:o?n:i,a=-1===(l=Bc.getElementValue(t).substring(0,s).lastIndexOf("\n"))?0:l+1,u=null,r?(u=e?s:a,Oc.select(t,u,a)):o?Oc.select(t,i,a):Oc.select(t,n,a)),Dc.resolve()}function Gc(t,e){var n,i,o,r,s,l,a,u,c;return Bc.isTextEditableElement(t)&&(n=Oc.getSelectionStart(t),i=Oc.getSelectionEnd(t),o=Oc.hasInverseSelection(t),s=null,u=s=(r=!Bc.isTextAreaElement(t)||Bc.getTextareaLineNumberByPosition(t,n)===Bc.getTextareaLineNumberByPosition(t,i))?o?i:n:o?n:i,c=null,u+=-1===(a=(l=Bc.getElementValue(t).substring(s)).indexOf("\n"))?l.length:a,r?(c=e?s:u,Oc.select(t,c,u)):o?Oc.select(t,i,u):Oc.select(t,n,u)),Dc.resolve()}function zc(t){return qc(t,!0)}function jc(t){return Gc(t,!0)}function $c(t){return Bc.isRadioButtonElement(t)}function Qc(t,e){return Zc(t,e,!1).then(function(t){t&&(t.checked=!0)})}function Zc(t,e,n){return void 0===n&&(n=!0),t?(Bc.isSelectElement(t)&&Fc.collapseOptionList(),i=t,o=e,r=n,new uc(function(t){var e=gc(i,o,r);e?ac.focus(e,function(){return t(e)}):t()}).then(function(t){return t&&Bc.isTextEditableInput(t)&&Oc.select(t),t})):Dc.resolve();var i,o,r}var Jc=((Tc={})[Mc.ctrlA]=function(t){return Bc.isEditableElement(t)&&Oc.select(t),Dc.resolve()},Tc[Mc.backspace]=function(t){var e,n,i;return Bc.isTextEditableElementAndEditingAllowed(t)&&(e=Oc.getSelectionStart(t),n=Oc.getSelectionEnd(t),i=Bc.getElementValue(t).replace(/\r\n/g,"\n"),n===e?0<e&&Hc(t,i.substring(0,e-1)+i.substring(n,i.length),e-1):Hc(t,i.substring(0,e)+i.substring(n,i.length),e)),Bc.isContentEditableElement(t)&&Oc.deleteSelectionContents(t),Dc.resolve()},Tc[Mc.delete]=function(t){var e,n,i;return Bc.isTextEditableElementAndEditingAllowed(t)&&(e=Oc.getSelectionStart(t),n=Oc.getSelectionEnd(t),i=Bc.getElementValue(t).replace(/\r\n/g,"\n"),n===e?e<i.length&&Hc(t,i.substring(0,e)+i.substring(n+1,i.length),e):Hc(t,i.substring(0,e)+i.substring(n,i.length),e)),Bc.isContentEditableElement(t)&&Oc.deleteSelectionContents(t),Dc.resolve()},Tc[Mc.left]=function(t){var e,n,i,o,r=null;return Bc.isSelectElement(t)&&Fc.switchOptionsByKeys(t,"left"),$c(t)?Qc(t,!0):(Bc.isTextEditableElement(t)&&(e=(r=Oc.getSelectionStart(t)||0)===Oc.getSelectionEnd(t)?r-1:r,Oc.select(t,e,e),Rc(t)),Bc.isContentEditableElement(t)&&(r=Oc.getSelectionStart(t))!==Oc.getSelectionEnd(t)&&(n=Oc.getSelectionByElement(t),o={node:(i=Oc.hasInverseSelectionContentEditable(t))?n.focusNode:n.anchorNode,offset:i?n.focusOffset:n.anchorOffset},Oc.selectByNodesAndOffsets(o,o,!0)),Dc.resolve())},Tc[Mc.right]=function(t){var e,n,i,o,r=null,s=null;return Bc.isSelectElement(t)&&Fc.switchOptionsByKeys(t,"right"),$c(t)?Qc(t,!1):(Bc.isTextEditableElement(t)&&(e=(r=Oc.getSelectionStart(t))===(s=Oc.getSelectionEnd(t))?s+1:s,r===Bc.getElementValue(t).length&&(e=r),Oc.select(t,e,e),Rc(t)),Bc.isContentEditableElement(t)&&(r=Oc.getSelectionStart(t))!==(s=Oc.getSelectionEnd(t))&&(n=Oc.getSelectionByElement(t),o={node:(i=Oc.hasInverseSelectionContentEditable(t))?n.anchorNode:n.focusNode,offset:i?n.anchorOffset:n.focusOffset},Oc.selectByNodesAndOffsets(o,o,!0)),Dc.resolve())},Tc[Mc.up]=function(t){return Bc.isSelectElement(t)&&Fc.switchOptionsByKeys(t,"up"),$c(t)?Qc(t,!0):Ic.isWebKit&&Bc.isInputElement(t)?qc(t):(Bc.isTextAreaElement(t)&&Yc(t,!1),Dc.resolve())},Tc[Mc.down]=function(t){return Bc.isSelectElement(t)&&Fc.switchOptionsByKeys(t,"down"),$c(t)?Qc(t,!1):Ic.isWebKit&&Bc.isInputElement(t)?Gc(t):(Bc.isTextAreaElement(t)&&Wc(t,!1),Dc.resolve())},Tc[Mc.shiftLeft]=function(t){var e,n;return Bc.isTextEditableElement(t)&&((e=Oc.getSelectionStart(t))===(n=Oc.getSelectionEnd(t))||Oc.hasInverseSelection(t)?Oc.select(t,n,Math.max(e-1,0)):Oc.select(t,e,Math.max(n-1,0)),Rc(t)),Dc.resolve()},Tc[Mc.shiftRight]=function(t){var e,n,i;return Bc.isTextEditableElement(t)&&(e=Oc.getSelectionStart(t),n=Oc.getSelectionEnd(t),i=Bc.getElementValue(t).length,e!==n&&Oc.hasInverseSelection(t)?Oc.select(t,n,Math.min(e+1,i)):Oc.select(t,e,Math.min(n+1,i)),Rc(t)),Dc.resolve()},Tc[Mc.shiftUp]=function(t){return Ic.isWebKit&&Bc.isInputElement(t)?zc(t):(Bc.isTextAreaElement(t)&&Yc(t,!0),Dc.resolve())},Tc[Mc.shiftDown]=function(t){return Ic.isWebKit&&Bc.isInputElement(t)?jc(t):(Bc.isTextAreaElement(t)&&Wc(t,!0),Dc.resolve())},Tc[Mc.shiftHome]=zc,Tc[Mc.shiftEnd]=jc,Tc[Mc.home]=qc,Tc[Mc.end]=Gc,Tc[Mc.enter]=function(t){var e,n,i,o,r,s;return Bc.isSelectElement(t)&&Fc.collapseOptionList(),Bc.isInputElement(t)?(Ic.isIE||kc.processElementChanging(t),(e=Bc.getParents(t,"form")[0])&&function(t,e){var n=t.querySelectorAll("input, button"),i=null,o=null;for(o=0;o<n.length;o++)if(!i&&"submit"===n[o].type&&!n[o].disabled){i=n[o];break}if(i)Uc.click(i);else if(Bc.blocksImplicitSubmission(e)){for(var r=t.getElementsByTagName("input"),s=[],o=0;o<r.length;o++)Bc.blocksImplicitSubmission(r[o])&&s.push(r[o]);1===s.length&&s[0]===e&&e.validity.valid&&Uc.submit(t)&&t.submit()}}(e,t)):Bc.isTextAreaElement(t)?(n=Oc.getSelectionStart(t),o=(i=Bc.getTextAreaValue(t)).substring(0,n),r=i.substring(n),s=n+1,Hc(t,o+String.fromCharCode(10)+r,s)):t.tagName&&Bc.isAnchorElement(t)&&Uc.click(t),Dc.resolve()},Tc[Mc.tab]=function(t){return Zc(t,!1)},Tc[Mc.shiftTab]=function(t){return Zc(t,!0)},Tc[Mc.esc]=function(t){return Bc.isSelectElement(t)&&Fc.collapseOptionList(),Dc.resolve()},Tc);function th(t){var e,n;e=t.modifiers,n=m.utils.extend({},dl),e&&(e&rl.ctrl&&(n.ctrl=!0),e&rl.alt&&(n.alt=!0),e&rl.shift&&(n.shift=!0),e&rl.meta&&(n.meta=!0)),n.shift&&t.isLetter&&(t.keyProperty=dc(t.keyProperty),t.keyCode=Sc(t.keyProperty))}var eh=y.Promise,nh=y.eventSandbox.message,ih=y.nativeMethods,oh="automation|press|request",rh="automation|press|response";nh.on(nh.SERVICE_MSG_RECEIVED_EVENT,function(t){t.message.cmd===oh&&(y.on(y.EVENTS.beforeUnload,function(){return nh.sendServiceMsg({cmd:rh},t.source)}),new sh(t.message.keyCombinations,t.message.options).run().then(function(){return nh.sendServiceMsg({cmd:rh},t.source)}))});var sh=(lh._getKeyPressSimulators=function(t){var e=mc(g.getKeyArray(t)),n=e.actualKeys,i=e.eventKeyProperties;return g.arrayUtils.map(n,function(t,e){return new Ac(t,i[e])})},lh._getShortcuts=function(t){for(var e=g.getKeyArray(t.toLowerCase()),n=[],i=[],o=[],r=0;r<e.length;r++)for(i.push(e[r]),o=i.slice();o.length;){var s=o.join("+");Jc[s]?(n.push(s),i=o=[]):o.shift()}return n},lh._getShortcutHandlers=function(t){for(var e,n,i,o=lh._getShortcuts(t.toLowerCase()),r={},s="",l=0;l<o.length;l++)e=o[l],n=t.indexOf(e),i=e.length,r[s+=t.substring(0,n+i)]=Jc[e],t=t.substring(n+i);return r},lh.prototype._down=function(t){this.pressedKeyString+=(this.pressedKeyString?"+":"")+t.key;var e=!t.down(this.modifiersState);return eh.resolve(e)},lh.prototype._press=function(t,e){var n=this;if(e&&!this.isSelectElement)return g.delay(this.automationSettings.keyActionStepDelay);var i=this.shortcutHandlers[this.pressedKeyString],o=!1;return i&&"enter"!==t.key||(o=!t.press(this.modifiersState)),o&&!this.isSelectElement||!i?g.delay(this.automationSettings.keyActionStepDelay):i(pc(this.topSameDomainDocument)).then(function(){return g.delay(n.automationSettings.keyActionStepDelay)})},lh.prototype._up=function(t){return t.up(this.modifiersState),g.delay(this.automationSettings.keyActionStepDelay)},lh.prototype._runCombination=function(t){var n=this;this.modifiersState={ctrl:!1,alt:!1,shift:!1,meta:!1},this.isSelectElement=g.domUtils.isSelectElement(pc(this.topSameDomainDocument)),this.pressedKeyString="",this.shortcutHandlers=lh._getShortcutHandlers(t);var e=lh._getKeyPressSimulators(t);return g.promiseUtils.each(e,function(e){return n._down(e).then(function(t){return n._press(e,t)})}).then(function(){return g.arrayUtils.reverse(e),g.promiseUtils.each(e,function(t){return n._up(t)})})},lh.prototype._calculateCDPEventSequence=function(){for(var t=[],e=0,n=this.keyCombinations;e<n.length;e++){for(var i=function(t){var e=mc(g.getKeyArray(t)),n=e.actualKeys,i=e.eventKeyProperties;return g.arrayUtils.map(n,function(t,e){return m.utils.extend({key:t},wc(t,i[e]))})}(n[e]),o=0,r=0,s=i;r<s.length;r++)o|=ml((l=s[r]).key),l.modifiers=o,th(l),t.push(_l.keyDown(l),_l.delay(this.automationSettings.keyActionStepDelay));for(var l,a=i.length-1;0<=a;a--)o&=~ml((l=i[a]).key),l.modifiers=o,t.push(_l.keyUp(l))}return t},lh.prototype.run=function(){var e=this,t=g.domUtils.getActiveElement(),n=g.domUtils.isIframeElement(t);if(!ys(Pf)&&n&&ih.contentWindowGetter.call(t)){var i={cmd:oh,keyCombinations:this.keyCombinations,options:this.options};return g.sendRequestToFrame(i,rh,ih.contentWindowGetter.call(t))}if(this.nativeAutomationInput){var o=this._calculateCDPEventSequence();return this.nativeAutomationInput.executeEventSequence(o)}return g.promiseUtils.each(this.keyCombinations,function(t){return e._runCombination(t).then(function(){return g.delay(e.automationSettings.keyActionStepDelay)})})},lh);function lh(t,e,n){this.keyCombinations=t,this.isSelectElement=!1,this.pressedKeyString="",this.modifiersState=null,this.shortcutHandlers=null,this.topSameDomainDocument=g.domUtils.getTopSameDomainWindow(Pf).document,this.automationSettings=new _o(e.speed),this.options=e,this.nativeAutomationInput=n?new xl(n):null}var ah,uh=y.Promise,ch=y.utils.extend,hh=y.utils.browser,fh=y.eventSandbox.eventSimulator,dh=E.domUtils,mh=E.eventUtils,ph=E.delay,vh=(w(gh,ah=Dl),gh.prototype._mousedown=function(t){var e=this;return al.rightButtonDown().then(function(){return e.eventState.activeElementBeforeMouseDown=dh.getActiveElement(),e.eventState.simulateDefaultBehavior=fh.mousedown(t.element,t.options),e._focus(t)})},gh.prototype._focus=function(t){return!1===this.simulateDefaultBehavior?To():Ql(dh.isContentEditableElement(this.element)?this.element:t.element,!hh.isIE||this.eventState.activeElementBeforeMouseDown===dh.getActiveElement(),this.caretPos).then(To)},gh.prototype._mouseup=function(e){var t=this;return al.buttonUp().then(function(){return t._getElementForEvent(e)}).then(function(t){return fh.mouseup(t,e.options)})},gh.prototype._contextmenu=function(e){return this._getElementForEvent(e).then(function(t){fh.contextmenu(t,e.options),dh.isElementFocusable(t)||Jl(t)})},gh.prototype.run=function(t){var o=this,r=null;return this._ensureElement(t).then(function(t){var e=t.element,n=t.clientPoint,i=t.devicePoint;return r={point:n,element:e,options:ch({clientX:n.x,clientY:n.y,screenX:i.x,screenY:i.y,button:mh.BUTTON.right},o.modifiers)},uh.all([ph(o.automationSettings.mouseActionStepDelay),o._mousedown(r)])}).then(function(){return o._mouseup(r)}).then(function(){return o._contextmenu(r)})},gh);function gh(t,e){var n=ah.call(this,t,e,Pf,al)||this;return n.modifiers=e.modifiers,n.caretPos=e.caretPos,n.eventState={simulateDefaultBehavior:!0,activeElementBeforeMouseDown:null},n}var yh=y.utils.browser,Eh=E.domUtils,bh=E.positionUtils,Sh=E.styleUtils,wh=E.contentEditable,_h=E.arrayUtils,Ph=["direction","font-family","font-size","font-size-adjust","font-variant","font-weight","font-style","letter-spacing","line-height","text-align","text-indent","text-transform","word-wrap","word-spacing","padding-top","padding-left","padding-right","padding-bottom","margin-top","margin-left","margin-right","margin-bottom","border-top-width","border-left-width","border-right-width","border-bottom-width"];function xh(t,e){var n,i,o,r,s,l=Sh.getBordersWidth(t),a=bh.getOffsetPosition(t),u=t.scrollHeight||t.getBoundingClientRect().height,c=Math.ceil(e.left),h=Math.ceil(e.top),f=Math.floor(e.bottom);return Eh.isTextAreaElement(t)||(i=(n=bh.offsetToClientCoords({x:a.left,y:a.top})).x+l.left+1,o=n.y+l.top+1,r=n.y+l.top+l.bottom+u,s=n.y+l.top+u-1,c=Math.ceil(c<=n.x?i:e.left),h=Math.ceil(h<=n.y?o:e.top),f=Math.floor(r<=f?s:e.bottom)),{left:c,top:h,bottom:f}}function Ah(t){var e=Sh.getElementScroll(xf);return{left:t.left+e.left,top:t.top+e.top,bottom:t.bottom+e.top}}function Ch(t,e){var n=t.getBoundingClientRect(),i=function(e){var t,n,i,o=xf.body,r=bh.getOffsetPosition(e),s=Sh.getElementMargin(e),l=r.top-s.top,a=r.left-s.left,u=xf.createElement("div"),c="white-space:pre-wrap;border-style:solid;";return"absolute"===Sh.get(o,"position")&&(t=Sh.getElementMargin(o),n=Sh.get(o,"left"),i=Sh.get(o,"top"),a-=t.left+(parseInt(n.replace("px",""),10)||0),l-=t.top+(parseInt(i.replace("px",""),10)||0)),_h.forEach(Ph,function(t){c+="".concat(t,":").concat(Sh.get(e,t),";")}),Sh.set(u,{cssText:c,position:"absolute",left:a+"px",top:l+"px",width:e.scrollWidth+"px",height:e.scrollHeight+"px"}),y.nativeMethods.nodeTextContentSetter.call(u,Eh.getElementValue(e)+" "),o.appendChild(u),u}(t),o=null,r=t.getBoundingClientRect(),s=r.top-n.top,l=r.left-n.left,a=Eh.getElementValue(t).length;try{var u=xf.createRange();u.setStart(y.nativeMethods.nodeFirstChildGetter.call(i),Math.min(e,a)),u.setEnd(y.nativeMethods.nodeFirstChildGetter.call(i),Math.min(e+1,a+1)),Eh.isTextAreaElement(t)&&(0!==(o=u.getBoundingClientRect()).width||0!==o.height)||(o=u.getClientRects()[0])}catch(t){o=null}return Eh.remove(i),o?{width:o.width,height:o.height,top:o.top-s,bottom:o.bottom-s,left:o.left-l,right:o.right-l}:null}function Th(t,e){var n,i,o,r,s,l,a=null;return(a=Eh.isContentEditableElement(t)?(o=t,r=e,s=Eh.findDocument(o).createRange(),l=wh.calculateNodeAndOffsetByPosition(o,r),s.setStart(l.node,Math.min(l.offset,l.node.length)),s.setEnd(l.node,Math.min(l.offset,l.node.length)),s.getClientRects()[0]):"function"==typeof t.createTextRange?(n=e,(i=t.createTextRange()).collapse(!0),i.moveStart("character",n),i.moveEnd("character",n),i.collapse(!0),i.getBoundingClientRect()):Ch(t,e))?{x:(a=Ah(a=xh(t,a))).left,y:Math.floor(a.top+(a.bottom-a.top)/2)}:null}function Mh(t,e){var n=Eh.isTextEditableElement(t),i=Eh.isContentEditableElement(t);return n&&0<Eh.getElementValue(t).length||i&&wh.getContentEditableValue(t).length?Th(t,e):bh.findCenter(t)}function Dh(t,e,n){var i=Eh.findDocument(t).createRange();i.setStart(e,Math.min(n,e.length)),i.setEnd(e,Math.min(n,e.length));var o=i.getClientRects()[0];return o?{x:(o=Ah(xh(t,o))).left,y:Math.floor(o.top+(o.bottom-o.top)/2)}:null}var Ih,Uh=y.Promise,kh=y.utils.browser,Oh=y.utils.featureDetection,Nh=y.eventSandbox.eventSimulator,Bh=y.eventSandbox.focusBlur,Fh=E.contentEditable,Lh=E.domUtils,Kh=E.positionUtils,Vh=E.eventUtils,Rh=E.delay,Yh=(w(Wh,Ih=Dl),Wh.prototype._calculateEventArguments=function(){var e=this,n=Kh.offsetToClientCoords(this.clientPoint);return Vt(n).then(function(t){if(!t)throw new li(null,{reason:Kh.getElOutsideBoundsReason(e.element)});return{element:t,options:{clientX:n.x,clientY:n.y}}})},Wh.prototype._move=function(t){var e=this,n=t.element,i=t.offsetX,o=t.offsetY,r=t.speed,s=new Nr({offsetX:i,offsetY:o,speed:r},!1);return Js.create(n,s,Pf,al).then(function(t){return t.run()}).then(function(){return Rh(e.automationSettings.mouseActionStepDelay)})},Wh.prototype._bindMousedownHandler=function(){var e=this,n=function(t){e.eventState.mousedownPrevented=t.defaultPrevented,Vh.preventDefault(t),Vh.unbind(e.element,"mousedown",n)};Vh.bind(this.element,"mousedown",n)},Wh.prototype._calculateAbsoluteStartPoint=function(){throw new Error("Not implemented")},Wh.prototype._calculateAbsoluteEndPoint=function(){throw new Error("Not implemented")},Wh.prototype._moveToPoint=function(t){!function(t,e){if(Eh.isEditableElement(t)){var n=Eh.isTextAreaElement(t);if(!Eh.isInputElement(t)||!(yh.isFirefox||yh.isIE&&10<yh.version)){var i=bh.getOffsetPosition(t),o=Sh.getBordersWidth(t),r=Sh.getElementScroll(t),s=e.x-i.left-o.left,l=e.y-i.top-o.top,a=null;if(n)return l<r.top&&(a=l),l>t.clientHeight+r.top&&(a=l-t.clientHeight),null!==a&&Sh.setScrollTop(t,Math.round(a));s<r.left&&(a=s),s>t.clientWidth+r.left&&(a=s-t.clientWidth),null!==a&&Sh.setScrollLeft(t,Math.round(a))}}}(this.element,t),this.clientPoint=function(t,e){var n=Eh.isTextEditableElement(t),i=Eh.isInputElement(t);if(!n&&!Eh.isContentEditableElement(t))return e;var o=bh.getOffsetPosition(t),r=Sh.getBordersWidth(t),s=Sh.getElementScroll(t),l=o.left+r.left+t.clientWidth;return i&&n&&(yh.isFirefox||yh.isIE&&10<yh.version)?{x:Math.min(e.x,l),y:e.y}:{x:e.x-s.left,y:e.y-s.top}}(this.element,t);var e={element:xf.documentElement,offsetX:this.clientPoint.x,offsetY:this.clientPoint.y,speed:this.speed};return this._move(e)},Wh.prototype._mousedown=function(){var n=this;return al.leftButtonDown().then(function(){return n._calculateEventArguments()}).then(function(t){n.eventArgs=t;var e=(kh.isWebKit||kh.isIE)&&Lh.isSelectElement(n.element);return e&&n._bindMousedownHandler(),n.eventState.simulateDefaultBehavior=Nh[n.downEvent](n.eventArgs.element,n.eventArgs.options),!1===n.eventState.simulateDefaultBehavior&&(n.eventState.simulateDefaultBehavior=e&&!n.eventState.mousedownPrevented),n._focus()})},Wh.prototype._focus=function(){var n=this;return new Uh(function(t){var e=Lh.isContentEditableElement(n.element)?Fh.findContentEditableParent(n.element):n.element;Bh.focus(e,t,!1,!0)})},Wh.prototype._setSelection=function(){throw new Error("Not implemented")},Wh.prototype._mouseup=function(){var e=this;return al.buttonUp().then(function(){return e._setSelection(),e._calculateEventArguments()}).then(function(t){e.eventArgs=t,Nh[e.upEvent](e.eventArgs.element,e.eventArgs.options)})},Wh.prototype.run=function(){var t=this;return this.absoluteStartPoint=this._calculateAbsoluteStartPoint(),this.absoluteEndPoint=this._calculateAbsoluteEndPoint(),this._moveToPoint(this.absoluteStartPoint).then(function(){return t._mousedown()}).then(function(){return t._moveToPoint(t.absoluteEndPoint)}).then(function(){return t._mouseup()})},Wh);function Wh(t,e){var n=Ih.call(this,t,e,Pf,al)||this;return n.absoluteStartPoint=null,n.absoluteEndPoint=null,n.clientPoint=null,n.speed=e.speed,n.downEvent=Oh.isTouchDevice?"touchstart":"mousedown",n.upEvent=Oh.isTouchDevice?"touchend":"mouseup",n.eventArgs={options:null,element:null},n.eventState={mousedownPrevented:!1,simulateDefaultBehavior:!0},n}var Xh,Hh=E.textSelection,qh=E.domUtils,Gh=E.positionUtils,zh=(w(jh,Xh=Yh),jh.prototype._calculateAbsoluteStartPoint=function(){return Mh(this.element,this.startPos)||Gh.findCenter(this.element)},jh.prototype._calculateAbsoluteEndPoint=function(){var t=Mh(this.element,this.endPos);return t||(qh.isContentEditableElement(this.element)?function(t,e,n){for(var i=n<e?1:-1,o=n,r=null;o!==e&&!(r=Th(t,o+=i)););return r=r||Th(t,e)||bh.findCenter(t)}(this.element,this.startPos,this.endPos):Gh.findCenter(this.element))},jh.prototype._setSelection=function(){var t=qh.isTextEditableElement(this.element),e=qh.isContentEditableElement(this.element);(t||e)&&!1!==this.eventState.simulateDefaultBehavior&&Hh.select(this.element,this.startPos,this.endPos)},jh.prototype.run=function(t){var e=this;return this._ensureElement(t).then(function(){return Xh.prototype.run.call(e)})},jh);function jh(t,e,n,i){var o=Xh.call(this,t,i)||this;return o.startPos=e,o.endPos=n,o}var $h,Qh=E.textSelection,Zh=E.contentEditable,Jh=E.positionUtils,tf=(w(ef,$h=Yh),ef.prototype._calculateAbsoluteStartPoint=function(){return Dh(this.element,this.startNode,this.startOffset)||Jh.findCenter(this.element)},ef.prototype._calculateAbsoluteEndPoint=function(){return Dh(this.element,this.endNode,this.endOffset)||Jh.findCenter(this.element)},ef.prototype._setSelection=function(){var t,e;!1!==this.eventState.simulateDefaultBehavior&&(t={node:this.startNode,offset:this.startOffset},e={node:this.endNode,offset:this.endOffset},Qh.selectByNodesAndOffsets(t,e,!0))},ef);function ef(t,e,n){var i=$h.call(this,Zh.getNearestCommonAncestor(t,e),n)||this,o=Zh.getFirstVisiblePosition(t),r=Zh.getLastVisiblePosition(e),s={node:t,offset:o},l={node:e,offset:r},a=Zh.calculatePositionByNodeAndOffset(i.element,s);return Zh.calculatePositionByNodeAndOffset(i.element,l)<a&&(o=Zh.getLastVisiblePosition(t),r=Zh.getFirstVisiblePosition(e)),s=Zh.calculateNodeAndOffsetByPosition(t,o),l=Zh.calculateNodeAndOffsetByPosition(e,r),i.startNode=s.node,i.startOffset=s.offset,i.endNode=l.node,i.endOffset=l.offset,i}var nf=y.Promise,of=y.utils.extend,rf=y.utils.browser,sf=y.eventSandbox.eventSimulator,lf=y.eventSandbox.elementEditingWatcher,af=E.domUtils,uf=E.promiseUtils,cf=E.contentEditable,hf=E.textSelection,ff=E.delay,df=E.KEY_MAPS.specialKeys,mf=(pf.findTextEditableChild=function(t){var e=null;if(!af.isEditableElement(t))for(var n=t.querySelectorAll("*"),i=0;i<n.length;i++)if(af.isTextEditableElementAndEditingAllowed(n[i])){e=n[i];break}return e},pf.prototype._calculateEventArguments=function(t){var e=af.getActiveElement(),n=af.isContentEditableElement(this.element),i=this.eventArgs.element||this.element;n||e===i||(i=pf.findTextEditableChild(e)||e);var o=of({keyCode:t?this.currentCharCode:this.currentKeyCode},this.modifiers);return t&&(o.charCode=this.currentCharCode),of(o,yc(t,this.currentKey,this.currentKeyIdentifier)),{element:i,options:o}},pf.prototype._calculateTargetElement=function(){var t=af.getActiveElement(),e=af.isContentEditableElement(this.element);if(e){if(t!==cf.findContentEditableParent(this.element))return void(this.eventState.skipType=!0)}else if(t!==this.element)return void(this.eventState.skipType=!0);this.element=e?this.element:t},pf.prototype._click=function(t){var e,n=this,i=af.getActiveElement(),o=af.isTextEditableElementAndEditingAllowed(this.element),r=af.isContentEditableElement(this.element);if(i===this.element)return o&&lf.watchElementEditing(this.element),(o||r)&&(e=hf.getSelectionStart(this.element),isNaN(parseInt(this.caretPos,10))||this.caretPos===e||hf.select(this.element,this.caretPos,this.caretPos)),nf.resolve();var s=Ot(this.element),l=s.offsetX,a=s.offsetY,u=new Ur({offsetX:this.elementChanged?l:this.offsetX,offsetY:this.elementChanged?a:this.offsetY,speed:this.speed,caretPos:this.caretPos,modifiers:this.modifiers});return new ka(this.element,u,Pf,al).run(t).then(function(){return ff(n.automationSettings.mouseActionStepDelay)})},pf.prototype._type=function(){var t=this;if(this.eventState.skipType)return nf.resolve();var e=af.isContentEditableElement(this.element);if(this.replace&&(af.isTextEditableElementAndEditingAllowed(this.element)?hf.select(this.element):e&&hf.deleteSelectionContents(this.element,!0)),this._canUseNativeAutomationInput()){if(this.paste)return this.nativeAutomationInput.executeInsertText(this.typingText);var n=this._calculateCDPEventSequence();return this.nativeAutomationInput.executeEventSequence(n)}return uf.whilst(function(){return!t._isTypingFinished()},function(){return t._typingStep()})},pf.prototype._isTypingFinished=function(){return this.currentPos===this.typingText.length},pf.prototype._getCurrentKey=function(t,e){return t===df.enter?"Enter":e},pf.prototype._calculateCDPEventSequence=function(){for(var t=[],e=0,n=this.typingText;e<n.length;e++){var i=n[e],o=Sc(i),r=this._getCurrentKey(o,i),s=wc(r),l=of({key:r},s);t.push(_l.keyDown(l),_l.keyUp(l),_l.delay(this.automationSettings.keyActionStepDelay))}return t},pf.prototype._canUseNativeAutomationInput=function(){return!!this.nativeAutomationInput&&!(!af.isTextEditableElement(this.element)&&af.isInputElement(this.element)||af.isContentEditableElement(this.element))},pf.prototype._performTypingStep=function(){return this._keydown(),this._keypress(),this._keyup()},pf.prototype._typingStep=function(){var t=this.typingText.charAt(this.currentPos);return this.currentKeyCode=Sc(t),this.currentCharCode=this.typingText.charCodeAt(this.currentPos),this.currentKey=this._getCurrentKey(this.currentKeyCode,t),this.currentKeyIdentifier=bc(this.currentKey),this.ignoreChangeEvent=af.getElementValue(this.element)===lf.getElementSavedValue(this.element),this._performTypingStep()},pf.prototype._keydown=function(){this.eventArgs=this._calculateEventArguments(),this.eventState.simulateKeypress=sf.keydown(this.eventArgs.element,this.eventArgs.options)},pf.prototype._keypress=function(){!1!==this.eventState.simulateKeypress&&(this.eventArgs=this._calculateEventArguments(!0),this.eventState.simulateTypeChar=rf.isAndroid||sf.keypress(this.eventArgs.element,this.eventArgs.options))},pf.prototype._keyup=function(){var t=this,e=this.eventArgs.element;this.eventArgs=this._calculateEventArguments();var n=af.isTextEditableElement(this.element),i=af.isContentEditableElement(this.element),o=this.paste||!n&&!i;return nf.resolve().then(function(){return o?t._typeAllText(e):t._typeChar(e)}).then(function(){sf.keyup(t.eventArgs.element,t.eventArgs.options),o?t.currentPos=t.typingText.length:t.currentPos++})},pf.prototype._typeChar=function(t){if(!1===this.eventState.simulateKeypress||!1===this.eventState.simulateTypeChar)return this.ignoreChangeEvent&&lf.restartWatchingElementEditing(t),ff(this.automationSettings.keyActionStepDelay);var e=this.typingText.charAt(this.currentPos),n=/^\d$/.test(e),i=0===this.currentPos?null:this.typingText.charAt(this.currentPos-1);if(af.isInputElement(t)&&"number"===t.type){var o=hf.getSelectionStart(t),r=af.getInputValue(t).length,s=/^\d/.test(this.typingText);if(!n&&(s||!("."===e||"-"===e&&r)||0!==o))return ff(this.automationSettings.keyActionStepDelay);n&&("."===i||"-"===i&&!r)&&(e=i+e)}return oc(t,e,null),ff(this.automationSettings.keyActionStepDelay)},pf.prototype._typeAllText=function(t){return oc(t,this.typingText,this.caretPos),ff(this.automationSettings.keyActionStepDelay)},pf.prototype.run=function(t){var e=this;return this._click(t).then(function(){return e._calculateTargetElement()}).then(function(){return e._type()})},pf);function pf(t,e,n,i){this.element=pf.findTextEditableChild(t)||t,this.typingText=e.toString(),this.modifiers=n.modifiers,this.caretPos=n.caretPos,this.replace=n.replace,this.paste=n.paste,this.offsetX=n.offsetX,this.offsetY=n.offsetY,this.speed=n.speed,this.automationSettings=new _o(this.speed),this.elementChanged=t!==this.element,this.currentPos=0,this.currentKeyCode=null,this.currentCharCode=null,this.currentKey=null,this.currentKeyIdentifier=null,this.ignoreChangeEvent=!0,this.eventArgs={options:null,element:null},this.eventState={skipType:!1,simulateKeypress:!0,simulateTypeChar:!0},this.nativeAutomationInput=i?new xl(i):null}var vf=(gf.prototype.run=function(){var i=this;return m.doUpload(this.element,this.paths).then(function(t){if(t.length){var e=g.arrayUtils.map(t,function(t){return t.path}),n=g.arrayUtils.reduce(t,function(t,e){return t.concat(e.resolvedPaths)},[]);throw i.createError(e,n)}})},gf);function gf(t,e,n){this.element=t,this.paths=e,this.createError=n}var yf=E.domUtils,Ef=E.contentEditable,bf={};bf.DispatchEvent=t,bf.SetScroll=Ol,bf.ScrollIntoView=Fl,bf.Click=ka,bf.SelectChildClick=nu,bf.DblClick=hu,bf.DragToOffset=Nu,bf.DragToElement=Ku,bf.Hover=Yu,bf.Press=sh,bf.RClick=vh,bf.SelectText=zh,bf.SelectEditableContent=tf,bf.Type=mf,bf.Upload=vf,bf.MouseOptions=Mr,bf.ClickOptions=Ur,bf.TypeOptions=Wr,bf.AutomationSettings=_o,bf.getOffsetOptions=Nt,bf.calculateSelectTextArguments=function(t,e){void 0===e&&(e={});var n,i,o,r,s,l,a,u,c,h,f,d=yf.isTextEditableElement(t),m=d?0:Ef.getFirstVisiblePosition(t),p=d?yf.getElementValue(t).length:Ef.getLastVisiblePosition(t),v=e.startPos?Math.min(e.startPos,p):m,g=void 0===e.endPos||null===e.endPos?p:Math.min(e.endPos,p);return void 0!==e.offset?(g=0<=e.offset?Math.min(e.offset,g):(v=g,Math.max(0,g+e.offset)),{startPos:v,endPos:g}):void 0!==e.startLine?(n=t,i=e,o=yf.getTextAreaValue(n),r=o&&o.length?o.split("\n"):[],s=r.length-1,l=i.startLine?Math.min(i.startLine,s):0,a=r[l]?r[l].length:0,u=i.startPos?Math.min(i.startPos,a):0,c=void 0===i.endLine||null===i.endLine?s:Math.min(i.endLine,s),h=r[c]?r[c].length:0,f=void 0===i.endPos||null===i.endPos?h:Math.min(i.endPos,h),{startPos:yf.getTextareaPositionByLineAndOffset(n,l,0)+u,endPos:yf.getTextareaPositionByLineAndOffset(n,c,0)+f}):{startPos:v,endPos:g}},bf.cursor=al,bf.getNextFocusableElement=gc,bf.SHORTCUT_TYPE=Mc,bf.getSelectionCoordinatesByPosition=Mh,bf.getElementFromPoint=Vt,bf.MoveAutomation=Js;var Sf=y.nativeMethods,wf=y.EVENTS.evalIframeScript;Sf.objectDefineProperty(Pf,"%testCafeAutomation%",{configurable:!0,value:bf}),y.on(wf,function(t){return _f(Sf.contentWindowGetter.call(t.iframe))})}(Pf["%hammerhead%"],Pf["%hammerhead%"].Promise,Pf["%testCafeCore%"],Pf["%testCafeUI%"])}(window);
@@ -15,7 +15,7 @@ class NativeAutomation {
15
15
  this.sessionStorage = new session_storage_1.default(browserId, client, options);
16
16
  (0, add_custom_debug_formatters_1.default)();
17
17
  }
18
- _onContextStorageSynHandler({ sessionStorage, testRunId, frameDriverId }) {
18
+ _onContextStorageSyncHandler({ sessionStorage, testRunId, frameDriverId }) {
19
19
  if (sessionStorage) {
20
20
  this.requestPipeline.contextStorage = this.requestPipeline.contextStorage || {};
21
21
  this.requestPipeline.contextStorage[testRunId] = this.requestPipeline.contextStorage[testRunId] || {};
@@ -27,7 +27,7 @@ class NativeAutomation {
27
27
  delete this.requestPipeline.contextStorage[testRunId];
28
28
  }
29
29
  _addEventListeners() {
30
- this.sessionStorage.on('contextStorageSync', this._onContextStorageSynHandler.bind(this));
30
+ this.sessionStorage.on('contextStorageSync', this._onContextStorageSyncHandler.bind(this));
31
31
  this.sessionStorage.on('contextStorageTestRunDone', this._onContextStorageTestRunDoneHandler.bind(this));
32
32
  }
33
33
  async start() {
@@ -50,4 +50,4 @@ class NativeAutomation {
50
50
  }
51
51
  exports.default = NativeAutomation;
52
52
  module.exports = exports.default;
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmF0aXZlLWF1dG9tYXRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSwwRUFBaUU7QUFDakUsZ0dBQXFFO0FBRXJFLDBEQUFnRTtBQUNoRSx3RUFBK0M7QUFHL0MsTUFBcUIsZ0JBQWdCO0lBTWpDLFlBQW9CLFNBQWlCLEVBQUUsTUFBbUIsRUFBRSxPQUFvQztRQUM1RixJQUFJLENBQUMsT0FBTyxHQUFXLE1BQU0sQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFXLE9BQU8sQ0FBQztRQUMvQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksMEJBQStCLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN2RixJQUFJLENBQUMsY0FBYyxHQUFJLElBQUkseUJBQWMsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXRFLElBQUEscUNBQXdCLEdBQUUsQ0FBQztJQUMvQixDQUFDO0lBRU8sMkJBQTJCLENBQUUsRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBTztRQUNsRixJQUFJLGNBQWMsRUFBRTtZQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsR0FBNkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO1lBQzFHLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxHQUFrQixJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckgsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBYSxDQUFDLEdBQUcsY0FBYyxDQUFDO1NBQ2xGO0lBQ0wsQ0FBQztJQUVPLG1DQUFtQyxDQUFFLEVBQUUsU0FBUyxFQUFPO1FBQzNELElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjO1lBQ25DLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLGtCQUFrQjtRQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLG1DQUFtQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzdHLENBQUM7SUFFTSxLQUFLLENBQUMsS0FBSztRQUNkLEtBQUssTUFBTSxTQUFTLElBQUksSUFBSSxDQUFDLFVBQVU7WUFDbkMsTUFBTSxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFNUIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFMUIsSUFBQSxzQ0FBc0IsRUFBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTSxLQUFLLENBQUMsT0FBTztRQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRTVCLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVyQyxJQUFBLHNDQUFzQixFQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNqQixPQUFPO1lBQ0gsSUFBSSxDQUFDLGVBQWU7WUFDcEIsSUFBSSxDQUFDLGNBQWM7U0FDdEIsQ0FBQztJQUNOLENBQUM7Q0FDSjtBQXhERCxtQ0F3REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm90b2NvbEFwaSB9IGZyb20gJ2Nocm9tZS1yZW1vdGUtaW50ZXJmYWNlJztcbmltcG9ydCBOYXRpdmVBdXRvbWF0aW9uUmVxdWVzdFBpcGVsaW5lIGZyb20gJy4vcmVxdWVzdC1waXBlbGluZSc7XG5pbXBvcnQgYWRkQ3VzdG9tRGVidWdGb3JtYXR0ZXJzIGZyb20gJy4vYWRkLWN1c3RvbS1kZWJ1Zy1mb3JtYXR0ZXJzJztcbmltcG9ydCB7IE5hdGl2ZUF1dG9tYXRpb25Jbml0T3B0aW9ucyB9IGZyb20gJy4uL3NoYXJlZC90eXBlcyc7XG5pbXBvcnQgeyBuYXRpdmVBdXRvbWF0aW9uTG9nZ2VyIH0gZnJvbSAnLi4vdXRpbHMvZGVidWctbG9nZ2Vycyc7XG5pbXBvcnQgU2Vzc2lvblN0b3JhZ2UgZnJvbSAnLi9zZXNzaW9uLXN0b3JhZ2UnO1xuaW1wb3J0IE5hdGl2ZUF1dG9tYXRpb25BcGlCYXNlIGZyb20gJy4vYXBpLWJhc2UnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOYXRpdmVBdXRvbWF0aW9uIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jbGllbnQ6IFByb3RvY29sQXBpO1xuICAgIHB1YmxpYyByZWFkb25seSByZXF1ZXN0UGlwZWxpbmU7XG4gICAgcHVibGljIHJlYWRvbmx5IHNlc3Npb25TdG9yYWdlOiBTZXNzaW9uU3RvcmFnZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IE5hdGl2ZUF1dG9tYXRpb25Jbml0T3B0aW9ucztcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvciAoYnJvd3NlcklkOiBzdHJpbmcsIGNsaWVudDogUHJvdG9jb2xBcGksIG9wdGlvbnM6IE5hdGl2ZUF1dG9tYXRpb25Jbml0T3B0aW9ucykge1xuICAgICAgICB0aGlzLl9jbGllbnQgICAgICAgICA9IGNsaWVudDtcbiAgICAgICAgdGhpcy5vcHRpb25zICAgICAgICAgPSBvcHRpb25zO1xuICAgICAgICB0aGlzLnJlcXVlc3RQaXBlbGluZSA9IG5ldyBOYXRpdmVBdXRvbWF0aW9uUmVxdWVzdFBpcGVsaW5lKGJyb3dzZXJJZCwgY2xpZW50LCBvcHRpb25zKTtcbiAgICAgICAgdGhpcy5zZXNzaW9uU3RvcmFnZSAgPSBuZXcgU2Vzc2lvblN0b3JhZ2UoYnJvd3NlcklkLCBjbGllbnQsIG9wdGlvbnMpO1xuXG4gICAgICAgIGFkZEN1c3RvbURlYnVnRm9ybWF0dGVycygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX29uQ29udGV4dFN0b3JhZ2VTeW5IYW5kbGVyICh7IHNlc3Npb25TdG9yYWdlLCB0ZXN0UnVuSWQsIGZyYW1lRHJpdmVySWQgfTogYW55KTogdm9pZCB7XG4gICAgICAgIGlmIChzZXNzaW9uU3RvcmFnZSkge1xuICAgICAgICAgICAgdGhpcy5yZXF1ZXN0UGlwZWxpbmUuY29udGV4dFN0b3JhZ2UgICAgICAgICAgICAgICAgICAgICAgICAgICA9IHRoaXMucmVxdWVzdFBpcGVsaW5lLmNvbnRleHRTdG9yYWdlIHx8IHt9O1xuICAgICAgICAgICAgdGhpcy5yZXF1ZXN0UGlwZWxpbmUuY29udGV4dFN0b3JhZ2VbdGVzdFJ1bklkXSAgICAgICAgICAgICAgICA9IHRoaXMucmVxdWVzdFBpcGVsaW5lLmNvbnRleHRTdG9yYWdlW3Rlc3RSdW5JZF0gfHwge307XG4gICAgICAgICAgICB0aGlzLnJlcXVlc3RQaXBlbGluZS5jb250ZXh0U3RvcmFnZVt0ZXN0UnVuSWRdW2ZyYW1lRHJpdmVySWRdID0gc2Vzc2lvblN0b3JhZ2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9vbkNvbnRleHRTdG9yYWdlVGVzdFJ1bkRvbmVIYW5kbGVyICh7IHRlc3RSdW5JZCB9OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucmVxdWVzdFBpcGVsaW5lLmNvbnRleHRTdG9yYWdlKVxuICAgICAgICAgICAgZGVsZXRlIHRoaXMucmVxdWVzdFBpcGVsaW5lLmNvbnRleHRTdG9yYWdlW3Rlc3RSdW5JZF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYWRkRXZlbnRMaXN0ZW5lcnMgKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlc3Npb25TdG9yYWdlLm9uKCdjb250ZXh0U3RvcmFnZVN5bmMnLCB0aGlzLl9vbkNvbnRleHRTdG9yYWdlU3luSGFuZGxlci5iaW5kKHRoaXMpKTtcbiAgICAgICAgdGhpcy5zZXNzaW9uU3RvcmFnZS5vbignY29udGV4dFN0b3JhZ2VUZXN0UnVuRG9uZScsIHRoaXMuX29uQ29udGV4dFN0b3JhZ2VUZXN0UnVuRG9uZUhhbmRsZXIuYmluZCh0aGlzKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHN0YXJ0ICgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgZm9yIChjb25zdCBhcGlTeXN0ZW0gb2YgdGhpcy5hcGlTeXN0ZW1zKVxuICAgICAgICAgICAgYXdhaXQgYXBpU3lzdGVtLnN0YXJ0KCk7XG5cbiAgICAgICAgdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcnMoKTtcblxuICAgICAgICBuYXRpdmVBdXRvbWF0aW9uTG9nZ2VyKCduYXRpdmVBdXRvbWF0aW9uIGluaXRpYWxpemVkJyk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGRpc3Bvc2UgKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aGlzLnJlcXVlc3RQaXBlbGluZS5zdG9wKCk7XG5cbiAgICAgICAgYXdhaXQgdGhpcy5yZXF1ZXN0UGlwZWxpbmUuZGlzcG9zZSgpO1xuXG4gICAgICAgIG5hdGl2ZUF1dG9tYXRpb25Mb2dnZXIoJ25hdGl2ZUF1dG9tYXRpb24gZGlzcG9zZWQnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGFwaVN5c3RlbXMgKCk6IE5hdGl2ZUF1dG9tYXRpb25BcGlCYXNlIFtdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHRoaXMucmVxdWVzdFBpcGVsaW5lLFxuICAgICAgICAgICAgdGhpcy5zZXNzaW9uU3RvcmFnZSxcbiAgICAgICAgXTtcbiAgICB9XG59XG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmF0aXZlLWF1dG9tYXRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSwwRUFBaUU7QUFDakUsZ0dBQXFFO0FBRXJFLDBEQUFnRTtBQUNoRSx3RUFBK0M7QUFHL0MsTUFBcUIsZ0JBQWdCO0lBTWpDLFlBQW9CLFNBQWlCLEVBQUUsTUFBbUIsRUFBRSxPQUFvQztRQUM1RixJQUFJLENBQUMsT0FBTyxHQUFXLE1BQU0sQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFXLE9BQU8sQ0FBQztRQUMvQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksMEJBQStCLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN2RixJQUFJLENBQUMsY0FBYyxHQUFJLElBQUkseUJBQWMsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXRFLElBQUEscUNBQXdCLEdBQUUsQ0FBQztJQUMvQixDQUFDO0lBRU8sNEJBQTRCLENBQUUsRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBTztRQUNuRixJQUFJLGNBQWMsRUFBRTtZQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsR0FBNkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO1lBQzFHLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxHQUFrQixJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckgsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBYSxDQUFDLEdBQUcsY0FBYyxDQUFDO1NBQ2xGO0lBQ0wsQ0FBQztJQUVPLG1DQUFtQyxDQUFFLEVBQUUsU0FBUyxFQUFPO1FBQzNELElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjO1lBQ25DLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLGtCQUFrQjtRQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDM0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLG1DQUFtQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzdHLENBQUM7SUFFTSxLQUFLLENBQUMsS0FBSztRQUNkLEtBQUssTUFBTSxTQUFTLElBQUksSUFBSSxDQUFDLFVBQVU7WUFDbkMsTUFBTSxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFNUIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFMUIsSUFBQSxzQ0FBc0IsRUFBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTSxLQUFLLENBQUMsT0FBTztRQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRTVCLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVyQyxJQUFBLHNDQUFzQixFQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNqQixPQUFPO1lBQ0gsSUFBSSxDQUFDLGVBQWU7WUFDcEIsSUFBSSxDQUFDLGNBQWM7U0FDdEIsQ0FBQztJQUNOLENBQUM7Q0FDSjtBQXhERCxtQ0F3REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm90b2NvbEFwaSB9IGZyb20gJ2Nocm9tZS1yZW1vdGUtaW50ZXJmYWNlJztcbmltcG9ydCBOYXRpdmVBdXRvbWF0aW9uUmVxdWVzdFBpcGVsaW5lIGZyb20gJy4vcmVxdWVzdC1waXBlbGluZSc7XG5pbXBvcnQgYWRkQ3VzdG9tRGVidWdGb3JtYXR0ZXJzIGZyb20gJy4vYWRkLWN1c3RvbS1kZWJ1Zy1mb3JtYXR0ZXJzJztcbmltcG9ydCB7IE5hdGl2ZUF1dG9tYXRpb25Jbml0T3B0aW9ucyB9IGZyb20gJy4uL3NoYXJlZC90eXBlcyc7XG5pbXBvcnQgeyBuYXRpdmVBdXRvbWF0aW9uTG9nZ2VyIH0gZnJvbSAnLi4vdXRpbHMvZGVidWctbG9nZ2Vycyc7XG5pbXBvcnQgU2Vzc2lvblN0b3JhZ2UgZnJvbSAnLi9zZXNzaW9uLXN0b3JhZ2UnO1xuaW1wb3J0IE5hdGl2ZUF1dG9tYXRpb25BcGlCYXNlIGZyb20gJy4vYXBpLWJhc2UnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOYXRpdmVBdXRvbWF0aW9uIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jbGllbnQ6IFByb3RvY29sQXBpO1xuICAgIHB1YmxpYyByZWFkb25seSByZXF1ZXN0UGlwZWxpbmU7XG4gICAgcHVibGljIHJlYWRvbmx5IHNlc3Npb25TdG9yYWdlOiBTZXNzaW9uU3RvcmFnZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IE5hdGl2ZUF1dG9tYXRpb25Jbml0T3B0aW9ucztcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvciAoYnJvd3NlcklkOiBzdHJpbmcsIGNsaWVudDogUHJvdG9jb2xBcGksIG9wdGlvbnM6IE5hdGl2ZUF1dG9tYXRpb25Jbml0T3B0aW9ucykge1xuICAgICAgICB0aGlzLl9jbGllbnQgICAgICAgICA9IGNsaWVudDtcbiAgICAgICAgdGhpcy5vcHRpb25zICAgICAgICAgPSBvcHRpb25zO1xuICAgICAgICB0aGlzLnJlcXVlc3RQaXBlbGluZSA9IG5ldyBOYXRpdmVBdXRvbWF0aW9uUmVxdWVzdFBpcGVsaW5lKGJyb3dzZXJJZCwgY2xpZW50LCBvcHRpb25zKTtcbiAgICAgICAgdGhpcy5zZXNzaW9uU3RvcmFnZSAgPSBuZXcgU2Vzc2lvblN0b3JhZ2UoYnJvd3NlcklkLCBjbGllbnQsIG9wdGlvbnMpO1xuXG4gICAgICAgIGFkZEN1c3RvbURlYnVnRm9ybWF0dGVycygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX29uQ29udGV4dFN0b3JhZ2VTeW5jSGFuZGxlciAoeyBzZXNzaW9uU3RvcmFnZSwgdGVzdFJ1bklkLCBmcmFtZURyaXZlcklkIH06IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAoc2Vzc2lvblN0b3JhZ2UpIHtcbiAgICAgICAgICAgIHRoaXMucmVxdWVzdFBpcGVsaW5lLmNvbnRleHRTdG9yYWdlICAgICAgICAgICAgICAgICAgICAgICAgICAgPSB0aGlzLnJlcXVlc3RQaXBlbGluZS5jb250ZXh0U3RvcmFnZSB8fCB7fTtcbiAgICAgICAgICAgIHRoaXMucmVxdWVzdFBpcGVsaW5lLmNvbnRleHRTdG9yYWdlW3Rlc3RSdW5JZF0gICAgICAgICAgICAgICAgPSB0aGlzLnJlcXVlc3RQaXBlbGluZS5jb250ZXh0U3RvcmFnZVt0ZXN0UnVuSWRdIHx8IHt9O1xuICAgICAgICAgICAgdGhpcy5yZXF1ZXN0UGlwZWxpbmUuY29udGV4dFN0b3JhZ2VbdGVzdFJ1bklkXVtmcmFtZURyaXZlcklkXSA9IHNlc3Npb25TdG9yYWdlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfb25Db250ZXh0U3RvcmFnZVRlc3RSdW5Eb25lSGFuZGxlciAoeyB0ZXN0UnVuSWQgfTogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnJlcXVlc3RQaXBlbGluZS5jb250ZXh0U3RvcmFnZSlcbiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLnJlcXVlc3RQaXBlbGluZS5jb250ZXh0U3RvcmFnZVt0ZXN0UnVuSWRdO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2FkZEV2ZW50TGlzdGVuZXJzICgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXNzaW9uU3RvcmFnZS5vbignY29udGV4dFN0b3JhZ2VTeW5jJywgdGhpcy5fb25Db250ZXh0U3RvcmFnZVN5bmNIYW5kbGVyLmJpbmQodGhpcykpO1xuICAgICAgICB0aGlzLnNlc3Npb25TdG9yYWdlLm9uKCdjb250ZXh0U3RvcmFnZVRlc3RSdW5Eb25lJywgdGhpcy5fb25Db250ZXh0U3RvcmFnZVRlc3RSdW5Eb25lSGFuZGxlci5iaW5kKHRoaXMpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgc3RhcnQgKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBmb3IgKGNvbnN0IGFwaVN5c3RlbSBvZiB0aGlzLmFwaVN5c3RlbXMpXG4gICAgICAgICAgICBhd2FpdCBhcGlTeXN0ZW0uc3RhcnQoKTtcblxuICAgICAgICB0aGlzLl9hZGRFdmVudExpc3RlbmVycygpO1xuXG4gICAgICAgIG5hdGl2ZUF1dG9tYXRpb25Mb2dnZXIoJ25hdGl2ZUF1dG9tYXRpb24gaW5pdGlhbGl6ZWQnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZGlzcG9zZSAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMucmVxdWVzdFBpcGVsaW5lLnN0b3AoKTtcblxuICAgICAgICBhd2FpdCB0aGlzLnJlcXVlc3RQaXBlbGluZS5kaXNwb3NlKCk7XG5cbiAgICAgICAgbmF0aXZlQXV0b21hdGlvbkxvZ2dlcignbmF0aXZlQXV0b21hdGlvbiBkaXNwb3NlZCcpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYXBpU3lzdGVtcyAoKTogTmF0aXZlQXV0b21hdGlvbkFwaUJhc2UgW10ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgdGhpcy5yZXF1ZXN0UGlwZWxpbmUsXG4gICAgICAgICAgICB0aGlzLnNlc3Npb25TdG9yYWdlLFxuICAgICAgICBdO1xuICAgIH1cbn1cbiJdfQ==
@@ -242,21 +242,27 @@ class NativeAutomationRequestPipeline extends api_base_1.default {
242
242
  await this._client.Fetch.enable({
243
243
  patterns: ALL_REQUESTS_DATA,
244
244
  });
245
- await this._client.Target.setAutoAttach({
246
- autoAttach: true,
247
- waitForDebuggerOnStart: true,
248
- flatten: true,
249
- });
250
- // NOTE: We need to enable the Fetch domain for iframe targets
251
- // to intercept some requests. We need to use the `sessionId` option
252
- // in continueRequest/continueResponse/fulfillRequest methods
253
- await this._client.Target.on('attachedToTarget', async (event) => {
254
- // @ts-ignore
255
- await this._client.Runtime.runIfWaitingForDebugger(event.sessionId);
256
- if (event.targetInfo.type !== 'worker')
245
+ // NOTE: these issues exist only in headless mode:
246
+ // https://github.com/DevExpress/testcafe/issues/7640#issuecomment-1538220298
247
+ // https://github.com/DevExpress/testcafe-private/issues/190
248
+ if (!this.options.isHeadless) {
249
+ await this._client.Target.setAutoAttach({
250
+ autoAttach: true,
251
+ waitForDebuggerOnStart: true,
252
+ flatten: true,
253
+ });
254
+ // NOTE: We need to enable the Fetch domain for iframe targets
255
+ // to intercept some requests. We need to use the `sessionId` option
256
+ // in continueRequest/continueResponse/fulfillRequest methods
257
+ await this._client.Target.on('attachedToTarget', async (event) => {
258
+ if (event.targetInfo.type !== 'iframe')
259
+ return;
260
+ // @ts-ignore
261
+ await this._client.Runtime.runIfWaitingForDebugger(event.sessionId);
257
262
  // @ts-ignore
258
263
  await this._client.Fetch.enable({ patterns: ALL_REQUESTS_DATA }, event.sessionId);
259
- });
264
+ });
265
+ }
260
266
  // @ts-ignore
261
267
  this._client.Fetch.on('requestPaused', async (event, sessionId) => {
262
268
  if (this._stopped)
@@ -326,4 +332,4 @@ class NativeAutomationRequestPipeline extends api_base_1.default {
326
332
  }
327
333
  exports.default = NativeAutomationRequestPipeline;
328
334
  module.exports = exports.default;
329
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmF0aXZlLWF1dG9tYXRpb24vcmVxdWVzdC1waXBlbGluZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUFnQztBQVdoQyxxRkFBdUY7QUFDdkYsNkVBQWlGO0FBQ2pGLDhDQUEwRDtBQUUxRCxzQ0FLc0I7QUFFdEIsaUVBQXlDO0FBU3pDLDZEQUltQztBQUVuQyw2REFPNkI7QUFJN0IsMEVBQTBEO0FBQzFELHlDQUF1RTtBQUN2RSwyREFBa0Q7QUFDbEQsMkRBQXdEO0FBQ3hELHdFQUE4QztBQUM5QyxrRUFBZ0U7QUFDaEUsc0NBQXNFO0FBR3RFLE1BQU0scUJBQXFCLEdBQUcsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFvQixDQUFDO0FBQzVFLE1BQU0sb0JBQW9CLEdBQUksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFvQixDQUFDO0FBRTdFLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0FBRXhFLE1BQXFCLCtCQUFnQyxTQUFRLGtCQUF1QjtJQWFoRixZQUFvQixTQUFpQixFQUFFLE1BQW1CLEVBQUUsT0FBb0M7UUFDNUYsS0FBSyxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFbEMsSUFBSSxDQUFDLGNBQWMsR0FBYSxJQUFJLHlCQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLFlBQVksR0FBZSxJQUFJLHNCQUFrQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM1RixJQUFJLENBQUMscUJBQXFCLEdBQU0sSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDaEUsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksd0JBQXdDLEVBQUUsQ0FBQztRQUMvRSxJQUFJLENBQUMsaUJBQWlCLEdBQVUsSUFBSSwyQkFBZ0IsQ0FB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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW1vdmUgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgUHJvdG9jb2xBcGkgfSBmcm9tICdjaHJvbWUtcmVtb3RlLWludGVyZmFjZSc7XG5pbXBvcnQgUHJvdG9jb2wgZnJvbSAnZGV2dG9vbHMtcHJvdG9jb2wnO1xuaW1wb3J0IFJlcXVlc3RQYXVzZWRFdmVudCA9IFByb3RvY29sLkZldGNoLlJlcXVlc3RQYXVzZWRFdmVudDtcbmltcG9ydCBGcmFtZU5hdmlnYXRlZEV2ZW50ID0gUHJvdG9jb2wuUGFnZS5GcmFtZU5hdmlnYXRlZEV2ZW50O1xuaW1wb3J0IExvYWRpbmdGYWlsZWRFdmVudCA9IFByb3RvY29sLk5ldHdvcmsuTG9hZGluZ0ZhaWxlZEV2ZW50O1xuaW1wb3J0IENvbnRpbnVlUmVzcG9uc2VSZXF1ZXN0ID0gUHJvdG9jb2wuRmV0Y2guQ29udGludWVSZXNwb25zZVJlcXVlc3Q7XG5pbXBvcnQgRnJhbWVUcmVlID0gUHJvdG9jb2wuUGFnZS5GcmFtZVRyZWU7XG5pbXBvcnQgRnVsZmlsbFJlcXVlc3RSZXF1ZXN0ID0gUHJvdG9jb2wuRmV0Y2guRnVsZmlsbFJlcXVlc3RSZXF1ZXN0O1xuaW1wb3J0IFJlcXVlc3RQYXR0ZXJuID0gUHJvdG9jb2wuRmV0Y2guUmVxdWVzdFBhdHRlcm47XG5pbXBvcnQgQ2VydGlmaWNhdGVFcnJvckV2ZW50ID0gUHJvdG9jb2wuU2VjdXJpdHkuQ2VydGlmaWNhdGVFcnJvckV2ZW50O1xuaW1wb3J0IE5hdGl2ZUF1dG9tYXRpb25SZXF1ZXN0SG9va0V2ZW50UHJvdmlkZXIgZnJvbSAnLi4vcmVxdWVzdC1ob29rcy9ldmVudC1wcm92aWRlcic7XG5pbXBvcnQgUmVzb3VyY2VJbmplY3RvciwgeyBSZXNvdXJjZUluamVjdG9yT3B0aW9ucyB9IGZyb20gJy4uL3Jlc291cmNlLWluamVjdG9yJztcbmltcG9ydCB7IGNvbnZlcnRUb0hlYWRlckVudHJpZXMgfSBmcm9tICcuLi91dGlscy9oZWFkZXJzJztcblxuaW1wb3J0IHtcbiAgICBjcmVhdGVSZXF1ZXN0UGF1c2VkRXZlbnRGb3JSZXNwb25zZSxcbiAgICBnZXRSZXF1ZXN0SWQsXG4gICAgaXNSZXF1ZXN0LFxuICAgIGlzVW5hdXRob3JpemVkLFxufSBmcm9tICcuLi91dGlscy9jZHAnO1xuXG5pbXBvcnQgRVJST1JfUk9VVEUgZnJvbSAnLi4vZXJyb3Itcm91dGUnO1xuXG5pbXBvcnQge1xuICAgIENvbnRpbnVlUmVxdWVzdEFyZ3MsXG4gICAgU2Vzc2lvbklkLFxuICAgIFNlc3Npb25TdG9yYWdlSW5mbyxcbiAgICBTcGVjaWFsU2VydmljZVJvdXRlcyxcbn0gZnJvbSAnLi4vdHlwZXMnO1xuXG5pbXBvcnQge1xuICAgIHJlcXVlc3RQaXBlbGluZUxvZ2dlcixcbiAgICByZXF1ZXN0UGlwZWxpbmVNb2NrTG9nZ2VyLFxuICAgIHJlcXVlc3RQaXBlbGluZU90aGVyUmVxdWVzdExvZ2dlcixcbn0gZnJvbSAnLi4vLi4vdXRpbHMvZGVidWctbG9nZ2Vycyc7XG5cbmltcG9ydCB7XG4gICAgSW5jb21pbmdNZXNzYWdlTGlrZSxcbiAgICBpc1JlZGlyZWN0U3RhdHVzQ29kZSxcbiAgICBTUEVDSUFMX0JMQU5LX1BBR0UsXG4gICAgU3RvcmFnZXNTbmFwc2hvdCxcbiAgICBpbmplY3RVcGxvYWQsXG4gICAgY29udGVudFR5cGVVdGlscyxcbn0gZnJvbSAndGVzdGNhZmUtaGFtbWVyaGVhZCc7XG5cbmltcG9ydCBOYXRpdmVBdXRvbWF0aW9uUGlwZWxpbmVDb250ZXh0IGZyb20gJy4uL3JlcXVlc3QtaG9va3MvcGlwZWxpbmUtY29udGV4dCc7XG5pbXBvcnQgeyBOYXRpdmVBdXRvbWF0aW9uSW5pdE9wdGlvbnMgfSBmcm9tICcuLi8uLi9zaGFyZWQvdHlwZXMnO1xuaW1wb3J0IGdldFNwZWNpYWxSZXF1ZXN0SGFuZGxlciBmcm9tICcuL3NwZWNpYWwtaGFuZGxlcnMnO1xuaW1wb3J0IHsgc2FmZUNvbnRpbnVlUmVxdWVzdCwgc2FmZUNvbnRpbnVlUmVzcG9uc2UgfSBmcm9tICcuL3NhZmUtYXBpJztcbmltcG9ydCBOYXRpdmVBdXRvbWF0aW9uQXBpQmFzZSBmcm9tICcuLi9hcGktYmFzZSc7XG5pbXBvcnQgeyByZXNlbmRBdXRoUmVxdWVzdCB9IGZyb20gJy4vcmVzZW5kQXV0aFJlcXVlc3QnO1xuaW1wb3J0IFRlc3RSdW5CcmlkZ2UgZnJvbSAnLi90ZXN0LXJ1bi1icmlkZ2UnO1xuaW1wb3J0IE5hdGl2ZUF1dG9tYXRpb25SZXF1ZXN0Q29udGV4dEluZm8gZnJvbSAnLi9jb250ZXh0LWluZm8nO1xuaW1wb3J0IHsgZmFpbGVkVG9GaW5kRE5TRXJyb3IsIHNzbENlcnRpZmljYXRlRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMnO1xuXG5cbmNvbnN0IEFMTF9SRVFVRVNUX1JFU1BPTlNFUyA9IHsgcmVxdWVzdFN0YWdlOiAnUmVxdWVzdCcgfSBhcyBSZXF1ZXN0UGF0dGVybjtcbmNvbnN0IEFMTF9SRVFVRVNUX1JFUVVFU1RTICA9IHsgcmVxdWVzdFN0YWdlOiAnUmVzcG9uc2UnIH0gYXMgUmVxdWVzdFBhdHRlcm47XG5cbmNvbnN0IEFMTF9SRVFVRVNUU19EQVRBID0gW0FMTF9SRVFVRVNUX1JFUVVFU1RTLCBBTExfUkVRVUVTVF9SRVNQT05TRVNdO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOYXRpdmVBdXRvbWF0aW9uUmVxdWVzdFBpcGVsaW5lIGV4dGVuZHMgTmF0aXZlQXV0b21hdGlvbkFwaUJhc2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3Rlc3RSdW5CcmlkZ2U6IFRlc3RSdW5CcmlkZ2U7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfY29udGV4dEluZm86IE5hdGl2ZUF1dG9tYXRpb25SZXF1ZXN0Q29udGV4dEluZm87XG4gICAgcHVibGljIHJlYWRvbmx5IHJlcXVlc3RIb29rRXZlbnRQcm92aWRlcjogTmF0aXZlQXV0b21hdGlvblJlcXVlc3RIb29rRXZlbnRQcm92aWRlcjtcbiAgICBwdWJsaWMgcmVzdG9yaW5nU3RvcmFnZXM6IFN0b3JhZ2VzU25hcHNob3QgfCBudWxsO1xuICAgIHB1YmxpYyBjb250ZXh0U3RvcmFnZTogU2Vzc2lvblN0b3JhZ2VJbmZvIHwgbnVsbDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9yZXNvdXJjZUluamVjdG9yOiBSZXNvdXJjZUluamVjdG9yO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3NwZWNpYWxTZXJ2aWNlUm91dGVzOiBTcGVjaWFsU2VydmljZVJvdXRlcztcbiAgICBwcml2YXRlIF9zdG9wcGVkOiBib29sZWFuO1xuICAgIHByaXZhdGUgX2N1cnJlbnRGcmFtZVRyZWU6IEZyYW1lVHJlZSB8IG51bGw7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfZmFpbGVkUmVxdWVzdElkczogc3RyaW5nW107XG4gICAgcHJpdmF0ZSBfcGVuZGluZ0NlcnRpZmljYXRlRXJyb3I6IENlcnRpZmljYXRlRXJyb3JFdmVudCB8IG51bGw7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IgKGJyb3dzZXJJZDogc3RyaW5nLCBjbGllbnQ6IFByb3RvY29sQXBpLCBvcHRpb25zOiBOYXRpdmVBdXRvbWF0aW9uSW5pdE9wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIoYnJvd3NlcklkLCBjbGllbnQsIG9wdGlvbnMpO1xuXG4gICAgICAgIHRoaXMuX3Rlc3RSdW5CcmlkZ2UgICAgICAgICAgID0gbmV3IFRlc3RSdW5CcmlkZ2UoYnJvd3NlcklkKTtcbiAgICAgICAgdGhpcy5fY29udGV4dEluZm8gICAgICAgICAgICAgPSBuZXcgTmF0aXZlQXV0b21hdGlvblJlcXVlc3RDb250ZXh0SW5mbyh0aGlzLl90ZXN0UnVuQnJpZGdlKTtcbiAgICAgICAgdGhpcy5fc3BlY2lhbFNlcnZpY2VSb3V0ZXMgICAgPSB0aGlzLl9nZXRTcGVjaWFsU2VydmljZVJvdXRlcygpO1xuICAgICAgICB0aGlzLnJlcXVlc3RIb29rRXZlbnRQcm92aWRlciA9IG5ldyBOYXRpdmVBdXRvbWF0aW9uUmVxdWVzdEhvb2tFdmVudFByb3ZpZGVyKCk7XG4gICAgICAgIHRoaXMuX3Jlc291cmNlSW5qZWN0b3IgICAgICAgID0gbmV3IFJlc291cmNlSW5qZWN0b3IodGhpcy5fdGVzdFJ1bkJyaWRnZSk7XG4gICAgICAgIHRoaXMuX3N0b3BwZWQgICAgICAgICAgICAgICAgID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRGcmFtZVRyZWUgICAgICAgID0gbnVsbDtcbiAgICAgICAgdGhpcy5fZmFpbGVkUmVxdWVzdElkcyAgICAgICAgPSBbXTtcbiAgICAgICAgdGhpcy5yZXN0b3JpbmdTdG9yYWdlcyAgICAgICAgPSBudWxsO1xuICAgICAgICB0aGlzLmNvbnRleHRTdG9yYWdlICAgICAgICAgICA9IG51bGw7XG4gICAgICAgIHRoaXMuX3BlbmRpbmdDZXJ0aWZpY2F0ZUVycm9yID0gbnVsbDtcblxuICAgICAgICB0aGlzLl9zZXRPcHRpb25zRm9yUmVzb3VyY2VJbmplY3RvcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NldE9wdGlvbnNGb3JSZXNvdXJjZUluamVjdG9yICgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuX2NyZWF0ZVJlc291cmNlSW5qZWN0b3JPcHRpb25zKCk7XG5cbiAgICAgICAgdGhpcy5fcmVzb3VyY2VJbmplY3Rvci5zZXRPcHRpb25zKG9wdGlvbnMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NyZWF0ZVJlc291cmNlSW5qZWN0b3JPcHRpb25zICgpOiBSZXNvdXJjZUluamVjdG9yT3B0aW9ucyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzcGVjaWFsU2VydmljZVJvdXRlczogdGhpcy5fc3BlY2lhbFNlcnZpY2VSb3V0ZXMsXG4gICAgICAgICAgICBkZXZlbG9wbWVudE1vZGU6ICAgICAgdGhpcy5vcHRpb25zLmRldmVsb3BtZW50TW9kZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRTcGVjaWFsU2VydmljZVJvdXRlcyAoKTogU3BlY2lhbFNlcnZpY2VSb3V0ZXMge1xuICAgICAgICBjb25zdCBicm93c2VyQ29ubmVjdGlvbiA9IHRoaXMuX3Rlc3RSdW5CcmlkZ2UuZ2V0QnJvd3NlckNvbm5lY3Rpb24oKTtcbiAgICAgICAgY29uc3QgcHJveHkgICAgICAgICAgICAgPSBicm93c2VyQ29ubmVjdGlvbi5icm93c2VyQ29ubmVjdGlvbkdhdGV3YXkucHJveHk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGVycm9yUGFnZTE6ICAgICAgICAgIHByb3h5LnJlc29sdmVSZWxhdGl2ZVNlcnZpY2VVcmwoRVJST1JfUk9VVEUsIHByb3h5LnNlcnZlcjFJbmZvLmRvbWFpbiksXG4gICAgICAgICAgICBlcnJvclBhZ2UyOiAgICAgICAgICBwcm94eS5yZXNvbHZlUmVsYXRpdmVTZXJ2aWNlVXJsKEVSUk9SX1JPVVRFLCBwcm94eS5zZXJ2ZXIySW5mby5kb21haW4pLFxuICAgICAgICAgICAgaWRsZVBhZ2U6ICAgICAgICAgICAgYnJvd3NlckNvbm5lY3Rpb24uaWRsZVVybCxcbiAgICAgICAgICAgIG9wZW5GaWxlUHJvdG9jb2xVcmw6IGJyb3dzZXJDb25uZWN0aW9uLm9wZW5GaWxlUHJvdG9jb2xVcmwsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfaGFuZGxlTW9ja0Vycm9ySWZOZWNlc3NhcnkgKHBpcGVsaW5lQ29udGV4dDogTmF0aXZlQXV0b21hdGlvblBpcGVsaW5lQ29udGV4dCwgZXZlbnQ6IFJlcXVlc3RQYXVzZWRFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAoIXBpcGVsaW5lQ29udGV4dC5tb2NrLmhhc0Vycm9yKVxuICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIGF3YWl0IHBpcGVsaW5lQ29udGV4dC5oYW5kbGVNb2NrRXJyb3IodGhpcy5yZXF1ZXN0SG9va0V2ZW50UHJvdmlkZXIpO1xuXG4gICAgICAgIHJlcXVlc3RQaXBlbGluZU1vY2tMb2dnZXIoJyVzXFxuJXMnLCBldmVudC5uZXR3b3JrSWQsIHBpcGVsaW5lQ29udGV4dC5tb2NrLmVycm9yKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIF9oYW5kbGVNb2NrUmVzcG9uc2UgKG1vY2tlZFJlc3BvbnNlOiBJbmNvbWluZ01lc3NhZ2VMaWtlLCBwaXBlbGluZUNvbnRleHQ6IE5hdGl2ZUF1dG9tYXRpb25QaXBlbGluZUNvbnRleHQsIGV2ZW50OiBSZXF1ZXN0UGF1c2VkRXZlbnQsIHNlc3Npb25JZDogU2Vzc2lvbklkKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLl9zdG9wcGVkKVxuICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IG1vY2tlZFJlc3BvbnNlQm9keVN0ciA9IChtb2NrZWRSZXNwb25zZS5nZXRCb2R5KCkgYXMgQnVmZmVyKS50b1N0cmluZygpO1xuXG4gICAgICAgIGNvbnN0IGZ1bGZpbGxJbmZvID0ge1xuICAgICAgICAgICAgcmVxdWVzdElkOiAgICAgICBldmVudC5yZXF1ZXN0SWQsXG4gICAgICAgICAgICByZXNwb25zZUNvZGU6ICAgIG1vY2tlZFJlc3BvbnNlLnN0YXR1c0NvZGUsXG4gICAgICAgICAgICByZXNwb25zZUhlYWRlcnM6IGNvbnZlcnRUb0hlYWRlckVudHJpZXMobW9ja2VkUmVzcG9uc2UuaGVhZGVycyksXG4gICAgICAgICAgICBib2R5OiAgICAgICAgICAgIG1vY2tlZFJlc3BvbnNlQm9keVN0cixcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAocGlwZWxpbmVDb250ZXh0LnJlcU9wdHMuaXNBamF4KVxuICAgICAgICAgICAgYXdhaXQgdGhpcy5fcmVzb3VyY2VJbmplY3Rvci5wcm9jZXNzTm9uUHJveGllZENvbnRlbnQoZnVsZmlsbEluZm8sIHRoaXMuX2NsaWVudCwgc2Vzc2lvbklkKTtcbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLl9yZXNvdXJjZUluamVjdG9yLnByb2Nlc3NIVE1MUGFnZUNvbnRlbnQoZnVsZmlsbEluZm8sIHtcbiAgICAgICAgICAgICAgICBpc0lmcmFtZTogICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgY29udGV4dFN0b3JhZ2U6IHRoaXMuY29udGV4dFN0b3JhZ2UsXG4gICAgICAgICAgICB9LCB0aGlzLl9jbGllbnQsIHNlc3Npb25JZCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXF1ZXN0UGlwZWxpbmVNb2NrTG9nZ2VyKGBzZW50IG1vY2tlZCByZXNwb25zZSBmb3IgdGhlICR7ZXZlbnQucmVxdWVzdElkfWApO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NyZWF0ZUNvbnRpbnVlUmVzcG9uc2VSZXF1ZXN0IChldmVudDogUmVxdWVzdFBhdXNlZEV2ZW50LCBtb2RpZmllZDogYm9vbGVhbik6IENvbnRpbnVlUmVzcG9uc2VSZXF1ZXN0IHtcbiAgICAgICAgY29uc3QgY29udGludWVSZXNwb25zZVJlcXVlc3QgPSB7XG4gICAgICAgICAgICByZXF1ZXN0SWQ6IGV2ZW50LnJlcXVlc3RJZCxcbiAgICAgICAgfSBhcyBDb250aW51ZVJlc3BvbnNlUmVxdWVzdDtcblxuICAgICAgICBpZiAobW9kaWZpZWQpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlUmVzcG9uc2VSZXF1ZXN0LnJlc3BvbnNlSGVhZGVycyA9IGV2ZW50LnJlc3BvbnNlSGVhZGVycztcbiAgICAgICAgICAgIGNvbnRpbnVlUmVzcG9uc2VSZXF1ZXN0LnJlc3BvbnNlQ29kZSAgICA9IGV2ZW50LnJlc3BvbnNlU3RhdHVzQ29kZSBhcyBudW1iZXI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29udGludWVSZXNwb25zZVJlcXVlc3Q7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2hvdWxkUmVkaXJlY3RUb0Vycm9yUGFnZSAoZXZlbnQ6IFJlcXVlc3RQYXVzZWRFdmVudCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZXZlbnQucmVzb3VyY2VUeXBlID09PSAnRG9jdW1lbnQnXG4gICAgICAgICAgICAmJiAhdGhpcy5faXNJZnJhbWUoZXZlbnQuZnJhbWVJZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfZ2V0VXNlclNjcmlwdHMgKGV2ZW50OiBSZXF1ZXN0UGF1c2VkRXZlbnQgfCBGcmFtZU5hdmlnYXRlZEV2ZW50KTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgICAgICBjb25zdCB7IHBpcGVsaW5lQ29udGV4dCwgZXZlbnRGYWN0b3J5IH0gPSB0aGlzLl9jb250ZXh0SW5mby5nZXRDb250ZXh0RGF0YShldmVudCk7XG5cbiAgICAgICAgYXdhaXQgcGlwZWxpbmVDb250ZXh0LnByZXBhcmVJbmplY3RhYmxlVXNlclNjcmlwdHMoZXZlbnRGYWN0b3J5LCB0aGlzLl90ZXN0UnVuQnJpZGdlLmdldFVzZXJTY3JpcHRzKCkpO1xuXG4gICAgICAgIHJldHVybiBwaXBlbGluZUNvbnRleHQuaW5qZWN0YWJsZVVzZXJTY3JpcHRzO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX3Jlc3BvbmRUb090aGVyUmVxdWVzdCAoZXZlbnQ6IFJlcXVlc3RQYXVzZWRFdmVudCwgc2Vzc2lvbklkOiBTZXNzaW9uSWQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKGlzUmVkaXJlY3RTdGF0dXNDb2RlKGV2ZW50LnJlc3BvbnNlU3RhdHVzQ29kZSkpIHtcbiAgICAgICAgICAgIGF3YWl0IHNhZmVDb250aW51ZVJlc3BvbnNlKHRoaXMuX2NsaWVudCwgeyByZXF1ZXN0SWQ6IGV2ZW50LnJlcXVlc3RJZCB9LCBzZXNzaW9uSWQpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXNvdXJjZUluZm8gPSBhd2FpdCB0aGlzLl9yZXNvdXJjZUluamVjdG9yLmdldERvY3VtZW50UmVzb3VyY2VJbmZvKGV2ZW50LCB0aGlzLl9jbGllbnQpO1xuXG4gICAgICAgIGlmIChyZXNvdXJjZUluZm8uZXJyb3IpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9zaG91bGRSZWRpcmVjdFRvRXJyb3JQYWdlKGV2ZW50KSkge1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuX3Jlc291cmNlSW5qZWN0b3IucmVkaXJlY3RUb0Vycm9yUGFnZSh0aGlzLl9jbGllbnQsIHJlc291cmNlSW5mby5lcnJvciwgZXZlbnQucmVxdWVzdC51cmwpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5fY29udGV4dEluZm8uZGlzcG9zZShnZXRSZXF1ZXN0SWQoZXZlbnQpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbW9kaWZpZWQgPSBhd2FpdCB0aGlzLnJlcXVlc3RIb29rRXZlbnRQcm92aWRlci5vblJlc3BvbnNlKGV2ZW50LCByZXNvdXJjZUluZm8uYm9keSwgdGhpcy5fY29udGV4dEluZm8sIHRoaXMuX2NsaWVudCk7XG5cbiAgICAgICAgaWYgKHRoaXMuX25lZWRJbmplY3RSZXNvdXJjZXMoZXZlbnQpKSB7XG4gICAgICAgICAgICBjb25zdCBmdWxmaWxsSW5mbyA9IHtcbiAgICAgICAgICAgICAgICByZXF1ZXN0SWQ6ICAgICAgIGV2ZW50LnJlcXVlc3RJZCxcbiAgICAgICAgICAgICAgICByZXNwb25zZUhlYWRlcnM6IGV2ZW50LnJlc3BvbnNlSGVhZGVycyxcbiAgICAgICAgICAgICAgICByZXNwb25zZUNvZGU6ICAgIGV2ZW50LnJlc3BvbnNlU3RhdHVzQ29kZSBhcyBudW1iZXIsXG4gICAgICAgICAgICAgICAgYm9keTogICAgICAgICAgICAocmVzb3VyY2VJbmZvLmJvZHkgYXMgQnVmZmVyKS50b1N0cmluZygpLFxuICAgICAgICAgICAgfSBhcyBGdWxmaWxsUmVxdWVzdFJlcXVlc3Q7XG5cbiAgICAgICAgICAgIC8vIE5PVEU6IFN0cmFuZ2UgYmVoYXZpb3Igb2YgdGhlIENEUCBBUEk6XG4gICAgICAgICAgICAvLyBpZiB3ZSBwYXNzIHRoZSBlbXB0eSBcInJlc3BvbnNlU3RhdHVzVGV4dFwiIHZhbHVlLCB3ZSBnZXQgYW4gZXJyb3IgJ0ludmFsaWQgc3RhdHVzIGNvZGUgb3IgcGhyYXNlJy5cbiAgICAgICAgICAgIGlmIChldmVudC5yZXNwb25zZVN0YXR1c1RleHQgIT09ICcnKVxuICAgICAgICAgICAgICAgIGZ1bGZpbGxJbmZvLnJlc3BvbnNlUGhyYXNlID0gZXZlbnQucmVzcG9uc2VTdGF0dXNUZXh0O1xuXG4gICAgICAgICAgICBpZiAoaXNVbmF1dGhvcml6ZWQoZXZlbnQucmVzcG9uc2VTdGF0dXNDb2RlIGFzIG51bWJlcikpXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fdHJ5QXV0aG9yaXplV2l0aEh0dHBCYXNpY0F1dGhDcmVkZW50aWFscyhldmVudCwgZnVsZmlsbEluZm8pO1xuXG4gICAgICAgICAgICBjb25zdCB1c2VyU2NyaXB0cyA9IGF3YWl0IHRoaXMuX2dldFVzZXJTY3JpcHRzKGV2ZW50KTtcblxuICAgICAgICAgICAgYXdhaXQgdGhpcy5fcmVzb3VyY2VJbmplY3Rvci5wcm9jZXNzSFRNTFBhZ2VDb250ZW50KFxuICAgICAgICAgICAgICAgIGZ1bGZpbGxJbmZvLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaXNJZnJhbWU6ICAgICAgICAgIHRoaXMuX2lzSWZyYW1lKGV2ZW50LmZyYW1lSWQpLFxuICAgICAgICAgICAgICAgICAgICB1cmw6ICAgICAgICAgICAgICAgZXZlbnQucmVxdWVzdC51cmwsXG4gICAgICAgICAgICAgICAgICAgIHJlc3RvcmluZ1N0b3JhZ2VzOiB0aGlzLnJlc3RvcmluZ1N0b3JhZ2VzLFxuICAgICAgICAgICAgICAgICAgICBjb250ZXh0U3RvcmFnZTogICAgdGhpcy5jb250ZXh0U3RvcmFnZSxcbiAgICAgICAgICAgICAgICAgICAgdXNlclNjcmlwdHMsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0aGlzLl9jbGllbnQsIHNlc3Npb25JZCk7XG5cbiAgICAgICAgICAgIHRoaXMuX2NvbnRleHRJbmZvLmRpc3Bvc2UoZ2V0UmVxdWVzdElkKGV2ZW50KSk7XG5cbiAgICAgICAgICAgIHRoaXMucmVzdG9yaW5nU3RvcmFnZXMgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgY29udGludWVSZXNwb25zZVJlcXVlc3QgPSB0aGlzLl9jcmVhdGVDb250aW51ZVJlc3BvbnNlUmVxdWVzdChldmVudCwgbW9kaWZpZWQpO1xuXG4gICAgICAgICAgICBhd2FpdCBzYWZlQ29udGludWVSZXNwb25zZSh0aGlzLl9jbGllbnQsIGNvbnRpbnVlUmVzcG9uc2VSZXF1ZXN0LCBzZXNzaW9uSWQpO1xuXG4gICAgICAgICAgICB0aGlzLl9jb250ZXh0SW5mby5kaXNwb3NlKGdldFJlcXVlc3RJZChldmVudCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbmVlZEluamVjdFJlc291cmNlcyAoZXZlbnQ6IFByb3RvY29sLkZldGNoLlJlcXVlc3RQYXVzZWRFdmVudCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoZXZlbnQucmVzb3VyY2VUeXBlICE9PSAnRG9jdW1lbnQnKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIGNvbnN0IGNvbnRlbnRUeXBlID0gZXZlbnQucmVzcG9uc2VIZWFkZXJzXG4gICAgICAgICAgICA/LmZpbmQoaGVhZGVyID0+IGhlYWRlci5uYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdjb250ZW50LXR5cGUnKVxuICAgICAgICAgICAgPy52YWx1ZTtcblxuICAgICAgICBpZiAoY29udGVudFR5cGUpXG4gICAgICAgICAgICByZXR1cm4gY29udGVudFR5cGVVdGlscy5pc1BhZ2UoY29udGVudFR5cGUpO1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX3RyeUF1dGhvcml6ZVdpdGhIdHRwQmFzaWNBdXRoQ3JlZGVudGlhbHMgKGV2ZW50OiBSZXF1ZXN0UGF1c2VkRXZlbnQsIGZ1bGZpbGxJbmZvOiBGdWxmaWxsUmVxdWVzdFJlcXVlc3QpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgY3JlZGVudGlhbHMgPSB0aGlzLl90ZXN0UnVuLmdldEF1dGhDcmVkZW50aWFscygpO1xuXG4gICAgICAgIGlmICghY3JlZGVudGlhbHMpXG4gICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgY29uc3QgYXV0aFJlcXVlc3QgPSBhd2FpdCByZXNlbmRBdXRoUmVxdWVzdChldmVudC5yZXF1ZXN0LCBjcmVkZW50aWFscyk7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhdXRoUmVxdWVzdCAhPT0gJ3N0cmluZycgJiYgIWlzVW5hdXRob3JpemVkKGF1dGhSZXF1ZXN0LnN0YXR1cykpIHtcbiAgICAgICAgICAgIGZ1bGZpbGxJbmZvLnJlc3BvbnNlQ29kZSA9IGF1dGhSZXF1ZXN0LnN0YXR1cztcbiAgICAgICAgICAgIGZ1bGZpbGxJbmZvLmJvZHkgPSBhdXRoUmVxdWVzdC5ib2R5LnRvU3RyaW5nKCk7XG4gICAgICAgICAgICBmdWxmaWxsSW5mby5yZXNwb25zZVBocmFzZSA9IGF1dGhSZXF1ZXN0LnN0YXR1c1RleHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9jcmVhdGVFcnJvciAoZXZlbnQ6IFJlcXVlc3RQYXVzZWRFdmVudCk6IEVycm9yIHtcbiAgICAgICAgaWYgKHRoaXMuX3BlbmRpbmdDZXJ0aWZpY2F0ZUVycm9yKVxuICAgICAgICAgICAgcmV0dXJuIHNzbENlcnRpZmljYXRlRXJyb3IodGhpcy5fcGVuZGluZ0NlcnRpZmljYXRlRXJyb3IuZXJyb3JUeXBlKTtcblxuICAgICAgICBpZiAoZXZlbnQucmVzcG9uc2VFcnJvclJlYXNvbiA9PT0gJ05hbWVOb3RSZXNvbHZlZCcpXG4gICAgICAgICAgICByZXR1cm4gZmFpbGVkVG9GaW5kRE5TRXJyb3IoZXZlbnQucmVxdWVzdC51cmwpO1xuXG4gICAgICAgIHJldHVybiBuZXcgRXJyb3IoZXZlbnQucmVzcG9uc2VFcnJvclJlYXNvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfdHJ5UmVzcG9uZFRvT3RoZXJSZXF1ZXN0IChldmVudDogUmVxdWVzdFBhdXNlZEV2ZW50LCBzZXNzaW9uSWQ6IFNlc3Npb25JZCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKGV2ZW50LnJlc3BvbnNlRXJyb3JSZWFzb24gJiYgdGhpcy5fc2hvdWxkUmVkaXJlY3RUb0Vycm9yUGFnZShldmVudCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IHRoaXMuX2NyZWF0ZUVycm9yKGV2ZW50KTtcblxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuX3Jlc291cmNlSW5qZWN0b3IucmVkaXJlY3RUb0Vycm9yUGFnZSh0aGlzLl9jbGllbnQsIGVycm9yLCBldmVudC5yZXF1ZXN0LnVybCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fcmVzcG9uZFRvT3RoZXJSZXF1ZXN0KGV2ZW50LCBzZXNzaW9uSWQpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGlmIChldmVudC5uZXR3b3JrSWQgJiYgdGhpcy5fZmFpbGVkUmVxdWVzdElkcy5pbmNsdWRlcyhldmVudC5uZXR3b3JrSWQpKSB7XG4gICAgICAgICAgICAgICAgcmVtb3ZlKHRoaXMuX2ZhaWxlZFJlcXVlc3RJZHMsIGV2ZW50Lm5ldHdvcmtJZCk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX2hhbmRsZU90aGVyUmVxdWVzdHMgKGV2ZW50OiBSZXF1ZXN0UGF1c2VkRXZlbnQsIHNlc3Npb25JZDogU2Vzc2lvbklkKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJlcXVlc3RQaXBlbGluZU90aGVyUmVxdWVzdExvZ2dlcignJXInLCBldmVudCk7XG5cbiAgICAgICAgaWYgKCFldmVudC5yZXNwb25zZUVycm9yUmVhc29uICYmIChpc1JlcXVlc3QoZXZlbnQpIHx8IGlzUmVkaXJlY3RTdGF0dXNDb2RlKGV2ZW50LnJlc3BvbnNlU3RhdHVzQ29kZSkpKSB7XG4gICAgICAgICAgICB0aGlzLl9jb250ZXh0SW5mby5pbml0KGV2ZW50KTtcblxuICAgICAgICAgICAgYXdhaXQgdGhpcy5yZXF1ZXN0SG9va0V2ZW50UHJvdmlkZXIub25SZXF1ZXN0KGV2ZW50LCB0aGlzLl9jb250ZXh0SW5mbyk7XG5cbiAgICAgICAgICAgIGNvbnN0IHBpcGVsaW5lQ29udGV4dCA9IHRoaXMuX2NvbnRleHRJbmZvLmdldFBpcGVsaW5lQ29udGV4dChnZXRSZXF1ZXN0SWQoZXZlbnQpKTtcblxuICAgICAgICAgICAgaWYgKCFwaXBlbGluZUNvbnRleHQgfHwgIXBpcGVsaW5lQ29udGV4dC5tb2NrKVxuICAgICAgICAgICAgICAgIGF3YWl0IHNhZmVDb250aW51ZVJlcXVlc3QodGhpcy5fY2xpZW50LCBldmVudCwgc2Vzc2lvbklkLCB0aGlzLl9jcmVhdGVDb250aW51ZUV2ZW50QXJncyhldmVudCwgcGlwZWxpbmVDb250ZXh0LnJlcU9wdHMpKTtcbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlcXVlc3RQaXBlbGluZU1vY2tMb2dnZXIoJ2JlZ2luIG1vY2tpbmcgcmVxdWVzdCAlcicsIGV2ZW50KTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IG1vY2tlZFJlc3BvbnNlID0gYXdhaXQgcGlwZWxpbmVDb250ZXh0LmdldE1vY2tSZXNwb25zZSgpO1xuXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5faGFuZGxlTW9ja0Vycm9ySWZOZWNlc3NhcnkocGlwZWxpbmVDb250ZXh0LCBldmVudCk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBtb2NrZWRSZXNwb25zZUV2ZW50ID0gY3JlYXRlUmVxdWVzdFBhdXNlZEV2ZW50Rm9yUmVzcG9uc2UobW9ja2VkUmVzcG9uc2UsIGV2ZW50KTtcblxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucmVxdWVzdEhvb2tFdmVudFByb3ZpZGVyLm9uUmVzcG9uc2UobW9ja2VkUmVzcG9uc2VFdmVudCwgbW9ja2VkUmVzcG9uc2UuZ2V0Qm9keSgpLCB0aGlzLl9jb250ZXh0SW5mbywgdGhpcy5fY2xpZW50KTtcblxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuX2hhbmRsZU1vY2tSZXNwb25zZShtb2NrZWRSZXNwb25zZSwgcGlwZWxpbmVDb250ZXh0LCBldmVudCwgc2Vzc2lvbklkKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuX2NvbnRleHRJbmZvLmRpc3Bvc2UoZ2V0UmVxdWVzdElkKGV2ZW50KSk7XG5cbiAgICAgICAgICAgICAgICByZXF1ZXN0UGlwZWxpbmVNb2NrTG9nZ2VyKCdlbmQgbW9ja2luZyByZXF1ZXN0ICVyJywgZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX3RyeVJlc3BvbmRUb090aGVyUmVxdWVzdChldmVudCwgc2Vzc2lvbklkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRVcGxvYWRQb3N0RGF0YSAoZXZlbnQ6IFByb3RvY29sLkZldGNoLlJlcXVlc3RQYXVzZWRFdmVudCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICghZXZlbnQucmVxdWVzdC5wb3N0RGF0YSlcbiAgICAgICAgICAgIHJldHVybiB2b2lkIDA7XG5cbiAgICAgICAgY29uc3QgY29udGVudFR5cGVIZWFkZXIgPSBldmVudC5yZXF1ZXN0LmhlYWRlcnNbJ0NvbnRlbnQtVHlwZSddIGFzIHN0cmluZztcbiAgICAgICAgY29uc3QgcG9zdERhdGEgICAgICAgICAgPSBCdWZmZXIuZnJvbShldmVudC5yZXF1ZXN0LnBvc3REYXRhLCAndXRmLTgnKTtcbiAgICAgICAgY29uc3QgYm9keVdpdGhVcGxvYWRzICAgPSBpbmplY3RVcGxvYWQoY29udGVudFR5cGVIZWFkZXIsIHBvc3REYXRhKTtcblxuICAgICAgICByZXR1cm4gYm9keVdpdGhVcGxvYWRzID8gYm9keVdpdGhVcGxvYWRzLnRvU3RyaW5nKCdiYXNlNjQnKSA6IHZvaWQgMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF90b3BGcmFtZU5hdmlnYXRpb24gKGV2ZW50OiBGcmFtZU5hdmlnYXRlZEV2ZW50KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBldmVudC50eXBlID09PSAnTmF2aWdhdGlvbidcbiAgICAgICAgICAgICYmICFldmVudC5mcmFtZS5wYXJlbnRJZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIF91cGRhdGVDdXJyZW50RnJhbWVUcmVlICgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgLy8gTk9URTogRHVlIHRvIENEUCByZXN0cmljdGlvbnMgKGl0IGhhbmdzKSwgd2UgY2FuJ3QgZ2V0IHRoZSBmcmFtZSB0cmVlXG4gICAgICAgIC8vIHJpZ2h0IGJlZm9yZSBpbmplY3Rpbmcgc2VydmljZSBzY3JpcHRzLlxuICAgICAgICAvLyBTbywgd2UgYXJlIGZvcmNlZCB0cmFja2luZyBmcmFtZXMgdHJlZS5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5fY2xpZW50LlBhZ2UuZ2V0RnJhbWVUcmVlKCk7XG5cbiAgICAgICAgdGhpcy5fY3VycmVudEZyYW1lVHJlZSA9IHJlc3VsdC5mcmFtZVRyZWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaXNJZnJhbWUgKGZyYW1lSWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuX2N1cnJlbnRGcmFtZVRyZWUpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRGcmFtZVRyZWUuZnJhbWUuaWQgIT09IGZyYW1lSWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHN0YXJ0ICgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgLy8gTk9URTogV2UgYXJlIGZvcmNlZCB0byBoYW5kbGUgYWxsIHJlcXVlc3RzIGFuZCByZXNwb25zZXMgYXQgb25jZVxuICAgICAgICAvLyBiZWNhdXNlIENEUCBBUEkgZG9lcyBub3QgYWxsb3cgc3BlY2lmeWluZyByZXF1ZXN0IGZpbHRlcmluZyBiZWhhdmlvciBmb3IgZGlmZmVyZW50IGhhbmRsZXJzLlxuICAgICAgICBhd2FpdCB0aGlzLl9jbGllbnQuRmV0Y2guZW5hYmxlKHtcbiAgICAgICAgICAgIHBhdHRlcm5zOiBBTExfUkVRVUVTVFNfREFUQSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYXdhaXQgdGhpcy5fY2xpZW50LlRhcmdldC5zZXRBdXRvQXR0YWNoKHtcbiAgICAgICAgICAgIGF1dG9BdHRhY2g6ICAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgICB3YWl0Rm9yRGVidWdnZXJPblN0YXJ0OiB0cnVlLFxuICAgICAgICAgICAgZmxhdHRlbjogICAgICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gTk9URTogV2UgbmVlZCB0byBlbmFibGUgdGhlIEZldGNoIGRvbWFpbiBmb3IgaWZyYW1lIHRhcmdldHNcbiAgICAgICAgLy8gdG8gaW50ZXJjZXB0IHNvbWUgcmVxdWVzdHMuIFdlIG5lZWQgdG8gdXNlIHRoZSBgc2Vzc2lvbklkYCBvcHRpb25cbiAgICAgICAgLy8gaW4gY29udGludWVSZXF1ZXN0L2NvbnRpbnVlUmVzcG9uc2UvZnVsZmlsbFJlcXVlc3QgbWV0aG9kc1xuICAgICAgICBhd2FpdCB0aGlzLl9jbGllbnQuVGFyZ2V0Lm9uKCdhdHRhY2hlZFRvVGFyZ2V0JywgYXN5bmMgZXZlbnQgPT4ge1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgYXdhaXQgdGhpcy5fY2xpZW50LlJ1bnRpbWUucnVuSWZXYWl0aW5nRm9yRGVidWdnZXIoZXZlbnQuc2Vzc2lvbklkKTtcblxuICAgICAgICAgICAgaWYgKGV2ZW50LnRhcmdldEluZm8udHlwZSAhPT0gJ3dvcmtlcicpXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuX2NsaWVudC5GZXRjaC5lbmFibGUoeyBwYXR0ZXJuczogQUxMX1JFUVVFU1RTX0RBVEEgfSwgZXZlbnQuc2Vzc2lvbklkKTtcblxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHRoaXMuX2NsaWVudC5GZXRjaC5vbigncmVxdWVzdFBhdXNlZCcsIGFzeW5jIChldmVudDogUmVxdWVzdFBhdXNlZEV2ZW50LCBzZXNzaW9uSWQ6IFNlc3Npb25JZCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuX3N0b3BwZWQpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgICAgICBjb25zdCBzcGVjaWFsUmVxdWVzdEhhbmRsZXIgPSBnZXRTcGVjaWFsUmVxdWVzdEhhbmRsZXIoZXZlbnQsIHRoaXMub3B0aW9ucywgdGhpcy5fc3BlY2lhbFNlcnZpY2VSb3V0ZXMpO1xuXG4gICAgICAgICAgICBpZiAoc3BlY2lhbFJlcXVlc3RIYW5kbGVyKVxuICAgICAgICAgICAgICAgIGF3YWl0IHNwZWNpYWxSZXF1ZXN0SGFuZGxlcihldmVudCwgdGhpcy5fY2xpZW50LCB0aGlzLm9wdGlvbnMsIHNlc3Npb25JZCk7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5faGFuZGxlT3RoZXJSZXF1ZXN0cyhldmVudCwgc2Vzc2lvbklkKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fY2xpZW50LlBhZ2Uub24oJ2ZyYW1lTmF2aWdhdGVkJywgYXN5bmMgKGV2ZW50OiBGcmFtZU5hdmlnYXRlZEV2ZW50KSA9PiB7XG4gICAgICAgICAgICByZXF1ZXN0UGlwZWxpbmVMb2dnZXIoJyVmJywgZXZlbnQpO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMuX3RvcEZyYW1lTmF2aWdhdGlvbihldmVudClcbiAgICAgICAgICAgICAgICB8fCBldmVudC5mcmFtZS51cmwgIT09IFNQRUNJQUxfQkxBTktfUEFHRSlcbiAgICAgICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgICAgIHRoaXMuX2NvbnRleHRJbmZvLmluaXQoZXZlbnQpO1xuXG4gICAgICAgICAgICBjb25zdCB1c2VyU2NyaXB0cyA9IGF3YWl0IHRoaXMuX2dldFVzZXJTY3JpcHRzKGV2ZW50KTtcblxuICAgICAgICAgICAgYXdhaXQgdGhpcy5fcmVzb3VyY2VJbmplY3Rvci5wcm9jZXNzQWJvdXRCbGFua1BhZ2UoZXZlbnQsIHVzZXJTY3JpcHRzLCB0aGlzLmNvbnRleHRTdG9yYWdlLCB0aGlzLl9jbGllbnQpO1xuXG4gICAgICAgICAgICB0aGlzLl9jb250ZXh0SW5mby5kaXNwb3NlKGdldFJlcXVlc3RJZChldmVudCkpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl9jbGllbnQuUGFnZS5vbignZnJhbWVTdGFydGVkTG9hZGluZycsIGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX3VwZGF0ZUN1cnJlbnRGcmFtZVRyZWUoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fY2xpZW50Lk5ldHdvcmsub24oJ2xvYWRpbmdGYWlsZWQnLCBhc3luYyAoZXZlbnQ6IExvYWRpbmdGYWlsZWRFdmVudCkgPT4ge1xuICAgICAgICAgICAgcmVxdWVzdFBpcGVsaW5lTG9nZ2VyKCclbCcsIGV2ZW50KTtcblxuICAgICAgICAgICAgdGhpcy5fZmFpbGVkUmVxdWVzdElkcy5wdXNoKGV2ZW50LnJlcXVlc3RJZCk7XG5cbiAgICAgICAgICAgIGlmIChldmVudC5yZXF1ZXN0SWQpXG4gICAgICAgICAgICAgICAgdGhpcy5fY29udGV4dEluZm8uZGlzcG9zZShldmVudC5yZXF1ZXN0SWQpO1xuICAgICAgICB9KTtcblxuICAgICAgICBhd2FpdCB0aGlzLl9jbGllbnQuUGFnZS5zZXRCeXBhc3NDU1AoeyBlbmFibGVkOiB0cnVlIH0pO1xuXG4gICAgICAgIGF3YWl0IHRoaXMuX2NsaWVudC5TZWN1cml0eS5lbmFibGUoKTtcblxuICAgICAgICB0aGlzLl9jbGllbnQuU2VjdXJpdHkub24oJ2NlcnRpZmljYXRlRXJyb3InLCBhc3luYyAoZXZlbnQ6IENlcnRpZmljYXRlRXJyb3JFdmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fcGVuZGluZ0NlcnRpZmljYXRlRXJyb3IgPSBldmVudDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0b3AgKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdG9wcGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZGlzcG9zZSAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMuX2NsaWVudC5GZXRjaC5kaXNhYmxlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3JlYXRlQ29udGludWVFdmVudEFyZ3MgKGV2ZW50OiBQcm90b2NvbC5GZXRjaC5SZXF1ZXN0UGF1c2VkRXZlbnQsIHJlcU9wdHM6IGFueSk6IENvbnRpbnVlUmVxdWVzdEFyZ3Mge1xuICAgICAgICBjb25zdCBtb2RpZmllZFVybCAgPSBuZXcgVVJMKGV2ZW50LnJlcXVlc3QudXJsKTtcbiAgICAgICAgY29uc3QgaG9zdCAgICAgICAgID0gbW9kaWZpZWRVcmwuaG9zdDtcblxuICAgICAgICBsZXQgaG9zdE1vZGlmaWVkID0gZmFsc2U7XG4gICAgICAgIGxldCBwb3J0TW9kaWZpZWQgPSBmYWxzZTtcblxuICAgICAgICBpZiAobW9kaWZpZWRVcmwuaG9zdG5hbWUgIT09IHJlcU9wdHMuaG9zdG5hbWUpIHtcbiAgICAgICAgICAgIG1vZGlmaWVkVXJsLmhvc3RuYW1lID0gcmVxT3B0cy5ob3N0bmFtZTtcbiAgICAgICAgICAgIGhvc3RNb2RpZmllZCAgICAgICAgID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtb2RpZmllZFVybC5wb3J0ICE9PSByZXFPcHRzLnBvcnQpIHtcbiAgICAgICAgICAgIG1vZGlmaWVkVXJsLnBvcnQgPSByZXFPcHRzLnBvcnQ7XG4gICAgICAgICAgICBwb3J0TW9kaWZpZWQgICAgID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChob3N0ICE9PSByZXFPcHRzLmhvc3QpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgcG9ydCwgaG9zdG5hbWUgfSA9IG5ldyBVUkwocmVxT3B0cy5wcm90b2NvbCArICcvLycgKyByZXFPcHRzLmhvc3QpO1xuXG4gICAgICAgICAgICBpZiAoIWhvc3RNb2RpZmllZClcbiAgICAgICAgICAgICAgICBtb2RpZmllZFVybC5ob3N0bmFtZSA9IGhvc3RuYW1lO1xuXG4gICAgICAgICAgICBpZiAoIXBvcnRNb2RpZmllZClcbiAgICAgICAgICAgICAgICBtb2RpZmllZFVybC5wb3J0ID0gcG9ydDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBvc3REYXRhID0gdGhpcy5fZ2V0VXBsb2FkUG9zdERhdGEoZXZlbnQpO1xuICAgICAgICBjb25zdCB1cmwgICAgICA9IG1vZGlmaWVkVXJsLnRvU3RyaW5nKCkgIT09IGV2ZW50LnJlcXVlc3QudXJsID8gbW9kaWZpZWRVcmwudG9TdHJpbmcoKSA6IHZvaWQgMDtcbiAgICAgICAgY29uc3QgbWV0aG9kICAgPSByZXFPcHRzLm1ldGhvZDtcblxuICAgICAgICByZXR1cm4geyBwb3N0RGF0YSwgdXJsLCBtZXRob2QgfTtcbiAgICB9XG59XG4iXX0=
335
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmF0aXZlLWF1dG9tYXRpb24vcmVxdWVzdC1waXBlbGluZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUFnQztBQVdoQyxxRkFBdUY7QUFDdkYsNkVBQWlGO0FBQ2pGLDhDQUEwRDtBQUUxRCxzQ0FLc0I7QUFFdEIsaUVBQXlDO0FBU3pDLDZEQUltQztBQUVuQyw2REFPNkI7QUFJN0IsMEVBQTBEO0FBQzFELHlDQUF1RTtBQUN2RSwyREFBa0Q7QUFDbEQsMkRBQXdEO0FBQ3hELHdFQUE4QztBQUM5QyxrRUFBZ0U7QUFDaEUsc0NBQXNFO0FBR3RFLE1BQU0scUJBQXFCLEdBQUcsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFvQixDQUFDO0FBQzVFLE1BQU0sb0JBQW9CLEdBQUksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFvQixDQUFDO0FBRTdFLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0FBRXhFLE1BQXFCLCtCQUFnQyxTQUFRLGtCQUF1QjtJQWFoRixZQUFvQixTQUFpQixFQUFFLE1BQW1CLEVBQUUsT0FBb0M7UUFDNUYsS0FBSyxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFbEMsSUFBSSxDQUFDLGNBQWMsR0FBYSxJQUFJLHlCQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLFlBQVksR0FBZSxJQUFJLHNCQUFrQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM1RixJQUFJLENBQUMscUJBQXFCLEdBQU0sSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDaEUsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksd0JBQXdDLEVBQUUsQ0FBQztRQUMvRSxJQUFJLENBQUMsaUJBQWlCLEdBQVUsSUFBSSwyQkFBZ0IsQ0FB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QUFLLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFFaEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDckMsQ0FBQztDQUNKO0FBN2FELGtEQTZhQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbW92ZSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBQcm90b2NvbEFwaSB9IGZyb20gJ2Nocm9tZS1yZW1vdGUtaW50ZXJmYWNlJztcbmltcG9ydCBQcm90b2NvbCBmcm9tICdkZXZ0b29scy1wcm90b2NvbCc7XG5pbXBvcnQgUmVxdWVzdFBhdXNlZEV2ZW50ID0gUHJvdG9jb2wuRmV0Y2guUmVxdWVzdFBhdXNlZEV2ZW50O1xuaW1wb3J0IEZyYW1lTmF2aWdhdGVkRXZlbnQgPSBQcm90b2NvbC5QYWdlLkZyYW1lTmF2aWdhdGVkRXZlbnQ7XG5pbXBvcnQgTG9hZGluZ0ZhaWxlZEV2ZW50ID0gUHJvdG9jb2wuTmV0d29yay5Mb2FkaW5nRmFpbGVkRXZlbnQ7XG5pbXBvcnQgQ29udGludWVSZXNwb25zZVJlcXVlc3QgPSBQcm90b2NvbC5GZXRjaC5Db250aW51ZVJlc3BvbnNlUmVxdWVzdDtcbmltcG9ydCBGcmFtZVRyZWUgPSBQcm90b2NvbC5QYWdlLkZyYW1lVHJlZTtcbmltcG9ydCBGdWxmaWxsUmVxdWVzdFJlcXVlc3QgPSBQcm90b2NvbC5GZXRjaC5GdWxmaWxsUmVxdWVzdFJlcXVlc3Q7XG5pbXBvcnQgUmVxdWVzdFBhdHRlcm4gPSBQcm90b2NvbC5GZXRjaC5SZXF1ZXN0UGF0dGVybjtcbmltcG9ydCBDZXJ0aWZpY2F0ZUVycm9yRXZlbnQgPSBQcm90b2NvbC5TZWN1cml0eS5DZXJ0aWZpY2F0ZUVycm9yRXZlbnQ7XG5pbXBvcnQgTmF0aXZlQXV0b21hdGlvblJlcXVlc3RIb29rRXZlbnRQcm92aWRlciBmcm9tICcuLi9yZXF1ZXN0LWhvb2tzL2V2ZW50LXByb3ZpZGVyJztcbmltcG9ydCBSZXNvdXJjZUluamVjdG9yLCB7IFJlc291cmNlSW5qZWN0b3JPcHRpb25zIH0gZnJvbSAnLi4vcmVzb3VyY2UtaW5qZWN0b3InO1xuaW1wb3J0IHsgY29udmVydFRvSGVhZGVyRW50cmllcyB9IGZyb20gJy4uL3V0aWxzL2hlYWRlcnMnO1xuXG5pbXBvcnQge1xuICAgIGNyZWF0ZVJlcXVlc3RQYXVzZWRFdmVudEZvclJlc3BvbnNlLFxuICAgIGdldFJlcXVlc3RJZCxcbiAgICBpc1JlcXVlc3QsXG4gICAgaXNVbmF1dGhvcml6ZWQsXG59IGZyb20gJy4uL3V0aWxzL2NkcCc7XG5cbmltcG9ydCBFUlJPUl9ST1VURSBmcm9tICcuLi9lcnJvci1yb3V0ZSc7XG5cbmltcG9ydCB7XG4gICAgQ29udGludWVSZXF1ZXN0QXJncyxcbiAgICBTZXNzaW9uSWQsXG4gICAgU2Vzc2lvblN0b3JhZ2VJbmZvLFxuICAgIFNwZWNpYWxTZXJ2aWNlUm91dGVzLFxufSBmcm9tICcuLi90eXBlcyc7XG5cbmltcG9ydCB7XG4gICAgcmVxdWVzdFBpcGVsaW5lTG9nZ2VyLFxuICAgIHJlcXVlc3RQaXBlbGluZU1vY2tMb2dnZXIsXG4gICAgcmVxdWVzdFBpcGVsaW5lT3RoZXJSZXF1ZXN0TG9nZ2VyLFxufSBmcm9tICcuLi8uLi91dGlscy9kZWJ1Zy1sb2dnZXJzJztcblxuaW1wb3J0IHtcbiAgICBJbmNvbWluZ01lc3NhZ2VMaWtlLFxuICAgIGlzUmVkaXJlY3RTdGF0dXNDb2RlLFxuICAgIFNQRUNJQUxfQkxBTktfUEFHRSxcbiAgICBTdG9yYWdlc1NuYXBzaG90LFxuICAgIGluamVjdFVwbG9hZCxcbiAgICBjb250ZW50VHlwZVV0aWxzLFxufSBmcm9tICd0ZXN0Y2FmZS1oYW1tZXJoZWFkJztcblxuaW1wb3J0IE5hdGl2ZUF1dG9tYXRpb25QaXBlbGluZUNvbnRleHQgZnJvbSAnLi4vcmVxdWVzdC1ob29rcy9waXBlbGluZS1jb250ZXh0JztcbmltcG9ydCB7IE5hdGl2ZUF1dG9tYXRpb25Jbml0T3B0aW9ucyB9IGZyb20gJy4uLy4uL3NoYXJlZC90eXBlcyc7XG5pbXBvcnQgZ2V0U3BlY2lhbFJlcXVlc3RIYW5kbGVyIGZyb20gJy4vc3BlY2lhbC1oYW5kbGVycyc7XG5pbXBvcnQgeyBzYWZlQ29udGludWVSZXF1ZXN0LCBzYWZlQ29udGludWVSZXNwb25zZSB9IGZyb20gJy4vc2FmZS1hcGknO1xuaW1wb3J0IE5hdGl2ZUF1dG9tYXRpb25BcGlCYXNlIGZyb20gJy4uL2FwaS1iYXNlJztcbmltcG9ydCB7IHJlc2VuZEF1dGhSZXF1ZXN0IH0gZnJvbSAnLi9yZXNlbmRBdXRoUmVxdWVzdCc7XG5pbXBvcnQgVGVzdFJ1bkJyaWRnZSBmcm9tICcuL3Rlc3QtcnVuLWJyaWRnZSc7XG5pbXBvcnQgTmF0aXZlQXV0b21hdGlvblJlcXVlc3RDb250ZXh0SW5mbyBmcm9tICcuL2NvbnRleHQtaW5mbyc7XG5pbXBvcnQgeyBmYWlsZWRUb0ZpbmRETlNFcnJvciwgc3NsQ2VydGlmaWNhdGVFcnJvciB9IGZyb20gJy4uL2Vycm9ycyc7XG5cblxuY29uc3QgQUxMX1JFUVVFU1RfUkVTUE9OU0VTID0geyByZXF1ZXN0U3RhZ2U6ICdSZXF1ZXN0JyB9IGFzIFJlcXVlc3RQYXR0ZXJuO1xuY29uc3QgQUxMX1JFUVVFU1RfUkVRVUVTVFMgID0geyByZXF1ZXN0U3RhZ2U6ICdSZXNwb25zZScgfSBhcyBSZXF1ZXN0UGF0dGVybjtcblxuY29uc3QgQUxMX1JFUVVFU1RTX0RBVEEgPSBbQUxMX1JFUVVFU1RfUkVRVUVTVFMsIEFMTF9SRVFVRVNUX1JFU1BPTlNFU107XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5hdGl2ZUF1dG9tYXRpb25SZXF1ZXN0UGlwZWxpbmUgZXh0ZW5kcyBOYXRpdmVBdXRvbWF0aW9uQXBpQmFzZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGVzdFJ1bkJyaWRnZTogVGVzdFJ1bkJyaWRnZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jb250ZXh0SW5mbzogTmF0aXZlQXV0b21hdGlvblJlcXVlc3RDb250ZXh0SW5mbztcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVxdWVzdEhvb2tFdmVudFByb3ZpZGVyOiBOYXRpdmVBdXRvbWF0aW9uUmVxdWVzdEhvb2tFdmVudFByb3ZpZGVyO1xuICAgIHB1YmxpYyByZXN0b3JpbmdTdG9yYWdlczogU3RvcmFnZXNTbmFwc2hvdCB8IG51bGw7XG4gICAgcHVibGljIGNvbnRleHRTdG9yYWdlOiBTZXNzaW9uU3RvcmFnZUluZm8gfCBudWxsO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3Jlc291cmNlSW5qZWN0b3I6IFJlc291cmNlSW5qZWN0b3I7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfc3BlY2lhbFNlcnZpY2VSb3V0ZXM6IFNwZWNpYWxTZXJ2aWNlUm91dGVzO1xuICAgIHByaXZhdGUgX3N0b3BwZWQ6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBfY3VycmVudEZyYW1lVHJlZTogRnJhbWVUcmVlIHwgbnVsbDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9mYWlsZWRSZXF1ZXN0SWRzOiBzdHJpbmdbXTtcbiAgICBwcml2YXRlIF9wZW5kaW5nQ2VydGlmaWNhdGVFcnJvcjogQ2VydGlmaWNhdGVFcnJvckV2ZW50IHwgbnVsbDtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvciAoYnJvd3NlcklkOiBzdHJpbmcsIGNsaWVudDogUHJvdG9jb2xBcGksIG9wdGlvbnM6IE5hdGl2ZUF1dG9tYXRpb25Jbml0T3B0aW9ucykge1xuICAgICAgICBzdXBlcihicm93c2VySWQsIGNsaWVudCwgb3B0aW9ucyk7XG5cbiAgICAgICAgdGhpcy5fdGVzdFJ1bkJyaWRnZSAgICAgICAgICAgPSBuZXcgVGVzdFJ1bkJyaWRnZShicm93c2VySWQpO1xuICAgICAgICB0aGlzLl9jb250ZXh0SW5mbyAgICAgICAgICAgICA9IG5ldyBOYXRpdmVBdXRvbWF0aW9uUmVxdWVzdENvbnRleHRJbmZvKHRoaXMuX3Rlc3RSdW5CcmlkZ2UpO1xuICAgICAgICB0aGlzLl9zcGVjaWFsU2VydmljZVJvdXRlcyAgICA9IHRoaXMuX2dldFNwZWNpYWxTZXJ2aWNlUm91dGVzKCk7XG4gICAgICAgIHRoaXMucmVxdWVzdEhvb2tFdmVudFByb3ZpZGVyID0gbmV3IE5hdGl2ZUF1dG9tYXRpb25SZXF1ZXN0SG9va0V2ZW50UHJvdmlkZXIoKTtcbiAgICAgICAgdGhpcy5fcmVzb3VyY2VJbmplY3RvciAgICAgICAgPSBuZXcgUmVzb3VyY2VJbmplY3Rvcih0aGlzLl90ZXN0UnVuQnJpZGdlKTtcbiAgICAgICAgdGhpcy5fc3RvcHBlZCAgICAgICAgICAgICAgICAgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fY3VycmVudEZyYW1lVHJlZSAgICAgICAgPSBudWxsO1xuICAgICAgICB0aGlzLl9mYWlsZWRSZXF1ZXN0SWRzICAgICAgICA9IFtdO1xuICAgICAgICB0aGlzLnJlc3RvcmluZ1N0b3JhZ2VzICAgICAgICA9IG51bGw7XG4gICAgICAgIHRoaXMuY29udGV4dFN0b3JhZ2UgICAgICAgICAgID0gbnVsbDtcbiAgICAgICAgdGhpcy5fcGVuZGluZ0NlcnRpZmljYXRlRXJyb3IgPSBudWxsO1xuXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbnNGb3JSZXNvdXJjZUluamVjdG9yKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2V0T3B0aW9uc0ZvclJlc291cmNlSW5qZWN0b3IgKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5fY3JlYXRlUmVzb3VyY2VJbmplY3Rvck9wdGlvbnMoKTtcblxuICAgICAgICB0aGlzLl9yZXNvdXJjZUluamVjdG9yLnNldE9wdGlvbnMob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3JlYXRlUmVzb3VyY2VJbmplY3Rvck9wdGlvbnMgKCk6IFJlc291cmNlSW5qZWN0b3JPcHRpb25zIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNwZWNpYWxTZXJ2aWNlUm91dGVzOiB0aGlzLl9zcGVjaWFsU2VydmljZVJvdXRlcyxcbiAgICAgICAgICAgIGRldmVsb3BtZW50TW9kZTogICAgICB0aGlzLm9wdGlvbnMuZGV2ZWxvcG1lbnRNb2RlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldFNwZWNpYWxTZXJ2aWNlUm91dGVzICgpOiBTcGVjaWFsU2VydmljZVJvdXRlcyB7XG4gICAgICAgIGNvbnN0IGJyb3dzZXJDb25uZWN0aW9uID0gdGhpcy5fdGVzdFJ1bkJyaWRnZS5nZXRCcm93c2VyQ29ubmVjdGlvbigpO1xuICAgICAgICBjb25zdCBwcm94eSAgICAgICAgICAgICA9IGJyb3dzZXJDb25uZWN0aW9uLmJyb3dzZXJDb25uZWN0aW9uR2F0ZXdheS5wcm94eTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZXJyb3JQYWdlMTogICAgICAgICAgcHJveHkucmVzb2x2ZVJlbGF0aXZlU2VydmljZVVybChFUlJPUl9ST1VURSwgcHJveHkuc2VydmVyMUluZm8uZG9tYWluKSxcbiAgICAgICAgICAgIGVycm9yUGFnZTI6ICAgICAgICAgIHByb3h5LnJlc29sdmVSZWxhdGl2ZVNlcnZpY2VVcmwoRVJST1JfUk9VVEUsIHByb3h5LnNlcnZlcjJJbmZvLmRvbWFpbiksXG4gICAgICAgICAgICBpZGxlUGFnZTogICAgICAgICAgICBicm93c2VyQ29ubmVjdGlvbi5pZGxlVXJsLFxuICAgICAgICAgICAgb3BlbkZpbGVQcm90b2NvbFVybDogYnJvd3NlckNvbm5lY3Rpb24ub3BlbkZpbGVQcm90b2NvbFVybCxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIF9oYW5kbGVNb2NrRXJyb3JJZk5lY2Vzc2FyeSAocGlwZWxpbmVDb250ZXh0OiBOYXRpdmVBdXRvbWF0aW9uUGlwZWxpbmVDb250ZXh0LCBldmVudDogUmVxdWVzdFBhdXNlZEV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICghcGlwZWxpbmVDb250ZXh0Lm1vY2suaGFzRXJyb3IpXG4gICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgYXdhaXQgcGlwZWxpbmVDb250ZXh0LmhhbmRsZU1vY2tFcnJvcih0aGlzLnJlcXVlc3RIb29rRXZlbnRQcm92aWRlcik7XG5cbiAgICAgICAgcmVxdWVzdFBpcGVsaW5lTW9ja0xvZ2dlcignJXNcXG4lcycsIGV2ZW50Lm5ldHdvcmtJZCwgcGlwZWxpbmVDb250ZXh0Lm1vY2suZXJyb3IpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX2hhbmRsZU1vY2tSZXNwb25zZSAobW9ja2VkUmVzcG9uc2U6IEluY29taW5nTWVzc2FnZUxpa2UsIHBpcGVsaW5lQ29udGV4dDogTmF0aXZlQXV0b21hdGlvblBpcGVsaW5lQ29udGV4dCwgZXZlbnQ6IFJlcXVlc3RQYXVzZWRFdmVudCwgc2Vzc2lvbklkOiBTZXNzaW9uSWQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKHRoaXMuX3N0b3BwZWQpXG4gICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgY29uc3QgbW9ja2VkUmVzcG9uc2VCb2R5U3RyID0gKG1vY2tlZFJlc3BvbnNlLmdldEJvZHkoKSBhcyBCdWZmZXIpLnRvU3RyaW5nKCk7XG5cbiAgICAgICAgY29uc3QgZnVsZmlsbEluZm8gPSB7XG4gICAgICAgICAgICByZXF1ZXN0SWQ6ICAgICAgIGV2ZW50LnJlcXVlc3RJZCxcbiAgICAgICAgICAgIHJlc3BvbnNlQ29kZTogICAgbW9ja2VkUmVzcG9uc2Uuc3RhdHVzQ29kZSxcbiAgICAgICAgICAgIHJlc3BvbnNlSGVhZGVyczogY29udmVydFRvSGVhZGVyRW50cmllcyhtb2NrZWRSZXNwb25zZS5oZWFkZXJzKSxcbiAgICAgICAgICAgIGJvZHk6ICAgICAgICAgICAgbW9ja2VkUmVzcG9uc2VCb2R5U3RyLFxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChwaXBlbGluZUNvbnRleHQucmVxT3B0cy5pc0FqYXgpXG4gICAgICAgICAgICBhd2FpdCB0aGlzLl9yZXNvdXJjZUluamVjdG9yLnByb2Nlc3NOb25Qcm94aWVkQ29udGVudChmdWxmaWxsSW5mbywgdGhpcy5fY2xpZW50LCBzZXNzaW9uSWQpO1xuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX3Jlc291cmNlSW5qZWN0b3IucHJvY2Vzc0hUTUxQYWdlQ29udGVudChmdWxmaWxsSW5mbywge1xuICAgICAgICAgICAgICAgIGlzSWZyYW1lOiAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICAgICBjb250ZXh0U3RvcmFnZTogdGhpcy5jb250ZXh0U3RvcmFnZSxcbiAgICAgICAgICAgIH0sIHRoaXMuX2NsaWVudCwgc2Vzc2lvbklkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJlcXVlc3RQaXBlbGluZU1vY2tMb2dnZXIoYHNlbnQgbW9ja2VkIHJlc3BvbnNlIGZvciB0aGUgJHtldmVudC5yZXF1ZXN0SWR9YCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3JlYXRlQ29udGludWVSZXNwb25zZVJlcXVlc3QgKGV2ZW50OiBSZXF1ZXN0UGF1c2VkRXZlbnQsIG1vZGlmaWVkOiBib29sZWFuKTogQ29udGludWVSZXNwb25zZVJlcXVlc3Qge1xuICAgICAgICBjb25zdCBjb250aW51ZVJlc3BvbnNlUmVxdWVzdCA9IHtcbiAgICAgICAgICAgIHJlcXVlc3RJZDogZXZlbnQucmVxdWVzdElkLFxuICAgICAgICB9IGFzIENvbnRpbnVlUmVzcG9uc2VSZXF1ZXN0O1xuXG4gICAgICAgIGlmIChtb2RpZmllZCkge1xuICAgICAgICAgICAgY29udGludWVSZXNwb25zZVJlcXVlc3QucmVzcG9uc2VIZWFkZXJzID0gZXZlbnQucmVzcG9uc2VIZWFkZXJzO1xuICAgICAgICAgICAgY29udGludWVSZXNwb25zZVJlcXVlc3QucmVzcG9uc2VDb2RlICAgID0gZXZlbnQucmVzcG9uc2VTdGF0dXNDb2RlIGFzIG51bWJlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb250aW51ZVJlc3BvbnNlUmVxdWVzdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zaG91bGRSZWRpcmVjdFRvRXJyb3JQYWdlIChldmVudDogUmVxdWVzdFBhdXNlZEV2ZW50KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBldmVudC5yZXNvdXJjZVR5cGUgPT09ICdEb2N1bWVudCdcbiAgICAgICAgICAgICYmICF0aGlzLl9pc0lmcmFtZShldmVudC5mcmFtZUlkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIF9nZXRVc2VyU2NyaXB0cyAoZXZlbnQ6IFJlcXVlc3RQYXVzZWRFdmVudCB8IEZyYW1lTmF2aWdhdGVkRXZlbnQpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgICAgIGNvbnN0IHsgcGlwZWxpbmVDb250ZXh0LCBldmVudEZhY3RvcnkgfSA9IHRoaXMuX2NvbnRleHRJbmZvLmdldENvbnRleHREYXRhKGV2ZW50KTtcblxuICAgICAgICBhd2FpdCBwaXBlbGluZUNvbnRleHQucHJlcGFyZUluamVjdGFibGVVc2VyU2NyaXB0cyhldmVudEZhY3RvcnksIHRoaXMuX3Rlc3RSdW5CcmlkZ2UuZ2V0VXNlclNjcmlwdHMoKSk7XG5cbiAgICAgICAgcmV0dXJuIHBpcGVsaW5lQ29udGV4dC5pbmplY3RhYmxlVXNlclNjcmlwdHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfcmVzcG9uZFRvT3RoZXJSZXF1ZXN0IChldmVudDogUmVxdWVzdFBhdXNlZEV2ZW50LCBzZXNzaW9uSWQ6IFNlc3Npb25JZCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAoaXNSZWRpcmVjdFN0YXR1c0NvZGUoZXZlbnQucmVzcG9uc2VTdGF0dXNDb2RlKSkge1xuICAgICAgICAgICAgYXdhaXQgc2FmZUNvbnRpbnVlUmVzcG9uc2UodGhpcy5fY2xpZW50LCB7IHJlcXVlc3RJZDogZXZlbnQucmVxdWVzdElkIH0sIHNlc3Npb25JZCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlc291cmNlSW5mbyA9IGF3YWl0IHRoaXMuX3Jlc291cmNlSW5qZWN0b3IuZ2V0RG9jdW1lbnRSZXNvdXJjZUluZm8oZXZlbnQsIHRoaXMuX2NsaWVudCk7XG5cbiAgICAgICAgaWYgKHJlc291cmNlSW5mby5lcnJvcikge1xuICAgICAgICAgICAgaWYgKHRoaXMuX3Nob3VsZFJlZGlyZWN0VG9FcnJvclBhZ2UoZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fcmVzb3VyY2VJbmplY3Rvci5yZWRpcmVjdFRvRXJyb3JQYWdlKHRoaXMuX2NsaWVudCwgcmVzb3VyY2VJbmZvLmVycm9yLCBldmVudC5yZXF1ZXN0LnVybCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9jb250ZXh0SW5mby5kaXNwb3NlKGdldFJlcXVlc3RJZChldmVudCkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtb2RpZmllZCA9IGF3YWl0IHRoaXMucmVxdWVzdEhvb2tFdmVudFByb3ZpZGVyLm9uUmVzcG9uc2UoZXZlbnQsIHJlc291cmNlSW5mby5ib2R5LCB0aGlzLl9jb250ZXh0SW5mbywgdGhpcy5fY2xpZW50KTtcblxuICAgICAgICBpZiAodGhpcy5fbmVlZEluamVjdFJlc291cmNlcyhldmVudCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGZ1bGZpbGxJbmZvID0ge1xuICAgICAgICAgICAgICAgIHJlcXVlc3RJZDogICAgICAgZXZlbnQucmVxdWVzdElkLFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlSGVhZGVyczogZXZlbnQucmVzcG9uc2VIZWFkZXJzLFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlQ29kZTogICAgZXZlbnQucmVzcG9uc2VTdGF0dXNDb2RlIGFzIG51bWJlcixcbiAgICAgICAgICAgICAgICBib2R5OiAgICAgICAgICAgIChyZXNvdXJjZUluZm8uYm9keSBhcyBCdWZmZXIpLnRvU3RyaW5nKCksXG4gICAgICAgICAgICB9IGFzIEZ1bGZpbGxSZXF1ZXN0UmVxdWVzdDtcblxuICAgICAgICAgICAgLy8gTk9URTogU3RyYW5nZSBiZWhhdmlvciBvZiB0aGUgQ0RQIEFQSTpcbiAgICAgICAgICAgIC8vIGlmIHdlIHBhc3MgdGhlIGVtcHR5IFwicmVzcG9uc2VTdGF0dXNUZXh0XCIgdmFsdWUsIHdlIGdldCBhbiBlcnJvciAnSW52YWxpZCBzdGF0dXMgY29kZSBvciBwaHJhc2UnLlxuICAgICAgICAgICAgaWYgKGV2ZW50LnJlc3BvbnNlU3RhdHVzVGV4dCAhPT0gJycpXG4gICAgICAgICAgICAgICAgZnVsZmlsbEluZm8ucmVzcG9uc2VQaHJhc2UgPSBldmVudC5yZXNwb25zZVN0YXR1c1RleHQ7XG5cbiAgICAgICAgICAgIGlmIChpc1VuYXV0aG9yaXplZChldmVudC5yZXNwb25zZVN0YXR1c0NvZGUgYXMgbnVtYmVyKSlcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLl90cnlBdXRob3JpemVXaXRoSHR0cEJhc2ljQXV0aENyZWRlbnRpYWxzKGV2ZW50LCBmdWxmaWxsSW5mbyk7XG5cbiAgICAgICAgICAgIGNvbnN0IHVzZXJTY3JpcHRzID0gYXdhaXQgdGhpcy5fZ2V0VXNlclNjcmlwdHMoZXZlbnQpO1xuXG4gICAgICAgICAgICBhd2FpdCB0aGlzLl9yZXNvdXJjZUluamVjdG9yLnByb2Nlc3NIVE1MUGFnZUNvbnRlbnQoXG4gICAgICAgICAgICAgICAgZnVsZmlsbEluZm8sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBpc0lmcmFtZTogICAgICAgICAgdGhpcy5faXNJZnJhbWUoZXZlbnQuZnJhbWVJZCksXG4gICAgICAgICAgICAgICAgICAgIHVybDogICAgICAgICAgICAgICBldmVudC5yZXF1ZXN0LnVybCxcbiAgICAgICAgICAgICAgICAgICAgcmVzdG9yaW5nU3RvcmFnZXM6IHRoaXMucmVzdG9yaW5nU3RvcmFnZXMsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHRTdG9yYWdlOiAgICB0aGlzLmNvbnRleHRTdG9yYWdlLFxuICAgICAgICAgICAgICAgICAgICB1c2VyU2NyaXB0cyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHRoaXMuX2NsaWVudCwgc2Vzc2lvbklkKTtcblxuICAgICAgICAgICAgdGhpcy5fY29udGV4dEluZm8uZGlzcG9zZShnZXRSZXF1ZXN0SWQoZXZlbnQpKTtcblxuICAgICAgICAgICAgdGhpcy5yZXN0b3JpbmdTdG9yYWdlcyA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBjb250aW51ZVJlc3BvbnNlUmVxdWVzdCA9IHRoaXMuX2NyZWF0ZUNvbnRpbnVlUmVzcG9uc2VSZXF1ZXN0KGV2ZW50LCBtb2RpZmllZCk7XG5cbiAgICAgICAgICAgIGF3YWl0IHNhZmVDb250aW51ZVJlc3BvbnNlKHRoaXMuX2NsaWVudCwgY29udGludWVSZXNwb25zZVJlcXVlc3QsIHNlc3Npb25JZCk7XG5cbiAgICAgICAgICAgIHRoaXMuX2NvbnRleHRJbmZvLmRpc3Bvc2UoZ2V0UmVxdWVzdElkKGV2ZW50KSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9uZWVkSW5qZWN0UmVzb3VyY2VzIChldmVudDogUHJvdG9jb2wuRmV0Y2guUmVxdWVzdFBhdXNlZEV2ZW50KTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChldmVudC5yZXNvdXJjZVR5cGUgIT09ICdEb2N1bWVudCcpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgY29uc3QgY29udGVudFR5cGUgPSBldmVudC5yZXNwb25zZUhlYWRlcnNcbiAgICAgICAgICAgID8uZmluZChoZWFkZXIgPT4gaGVhZGVyLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2NvbnRlbnQtdHlwZScpXG4gICAgICAgICAgICA/LnZhbHVlO1xuXG4gICAgICAgIGlmIChjb250ZW50VHlwZSlcbiAgICAgICAgICAgIHJldHVybiBjb250ZW50VHlwZVV0aWxzLmlzUGFnZShjb250ZW50VHlwZSk7XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfdHJ5QXV0aG9yaXplV2l0aEh0dHBCYXNpY0F1dGhDcmVkZW50aWFscyAoZXZlbnQ6IFJlcXVlc3RQYXVzZWRFdmVudCwgZnVsZmlsbEluZm86IEZ1bGZpbGxSZXF1ZXN0UmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBjcmVkZW50aWFscyA9IHRoaXMuX3Rlc3RSdW4uZ2V0QXV0aENyZWRlbnRpYWxzKCk7XG5cbiAgICAgICAgaWYgKCFjcmVkZW50aWFscylcbiAgICAgICAgICAgIHJldHVybjtcblxuICAgICAgICBjb25zdCBhdXRoUmVxdWVzdCA9IGF3YWl0IHJlc2VuZEF1dGhSZXF1ZXN0KGV2ZW50LnJlcXVlc3QsIGNyZWRlbnRpYWxzKTtcblxuICAgICAgICBpZiAodHlwZW9mIGF1dGhSZXF1ZXN0ICE9PSAnc3RyaW5nJyAmJiAhaXNVbmF1dGhvcml6ZWQoYXV0aFJlcXVlc3Quc3RhdHVzKSkge1xuICAgICAgICAgICAgZnVsZmlsbEluZm8ucmVzcG9uc2VDb2RlID0gYXV0aFJlcXVlc3Quc3RhdHVzO1xuICAgICAgICAgICAgZnVsZmlsbEluZm8uYm9keSA9IGF1dGhSZXF1ZXN0LmJvZHkudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIGZ1bGZpbGxJbmZvLnJlc3BvbnNlUGhyYXNlID0gYXV0aFJlcXVlc3Quc3RhdHVzVGV4dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2NyZWF0ZUVycm9yIChldmVudDogUmVxdWVzdFBhdXNlZEV2ZW50KTogRXJyb3Ige1xuICAgICAgICBpZiAodGhpcy5fcGVuZGluZ0NlcnRpZmljYXRlRXJyb3IpXG4gICAgICAgICAgICByZXR1cm4gc3NsQ2VydGlmaWNhdGVFcnJvcih0aGlzLl9wZW5kaW5nQ2VydGlmaWNhdGVFcnJvci5lcnJvclR5cGUpO1xuXG4gICAgICAgIGlmIChldmVudC5yZXNwb25zZUVycm9yUmVhc29uID09PSAnTmFtZU5vdFJlc29sdmVkJylcbiAgICAgICAgICAgIHJldHVybiBmYWlsZWRUb0ZpbmRETlNFcnJvcihldmVudC5yZXF1ZXN0LnVybCk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBFcnJvcihldmVudC5yZXNwb25zZUVycm9yUmVhc29uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIF90cnlSZXNwb25kVG9PdGhlclJlcXVlc3QgKGV2ZW50OiBSZXF1ZXN0UGF1c2VkRXZlbnQsIHNlc3Npb25JZDogU2Vzc2lvbklkKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAoZXZlbnQucmVzcG9uc2VFcnJvclJlYXNvbiAmJiB0aGlzLl9zaG91bGRSZWRpcmVjdFRvRXJyb3JQYWdlKGV2ZW50KSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gdGhpcy5fY3JlYXRlRXJyb3IoZXZlbnQpO1xuXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fcmVzb3VyY2VJbmplY3Rvci5yZWRpcmVjdFRvRXJyb3JQYWdlKHRoaXMuX2NsaWVudCwgZXJyb3IsIGV2ZW50LnJlcXVlc3QudXJsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLl9yZXNwb25kVG9PdGhlclJlcXVlc3QoZXZlbnQsIHNlc3Npb25JZCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgaWYgKGV2ZW50Lm5ldHdvcmtJZCAmJiB0aGlzLl9mYWlsZWRSZXF1ZXN0SWRzLmluY2x1ZGVzKGV2ZW50Lm5ldHdvcmtJZCkpIHtcbiAgICAgICAgICAgICAgICByZW1vdmUodGhpcy5fZmFpbGVkUmVxdWVzdElkcywgZXZlbnQubmV0d29ya0lkKTtcblxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfaGFuZGxlT3RoZXJSZXF1ZXN0cyAoZXZlbnQ6IFJlcXVlc3RQYXVzZWRFdmVudCwgc2Vzc2lvbklkOiBTZXNzaW9uSWQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmVxdWVzdFBpcGVsaW5lT3RoZXJSZXF1ZXN0TG9nZ2VyKCclcicsIGV2ZW50KTtcblxuICAgICAgICBpZiAoIWV2ZW50LnJlc3BvbnNlRXJyb3JSZWFzb24gJiYgKGlzUmVxdWVzdChldmVudCkgfHwgaXNSZWRpcmVjdFN0YXR1c0NvZGUoZXZlbnQucmVzcG9uc2VTdGF0dXNDb2RlKSkpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbnRleHRJbmZvLmluaXQoZXZlbnQpO1xuXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnJlcXVlc3RIb29rRXZlbnRQcm92aWRlci5vblJlcXVlc3QoZXZlbnQsIHRoaXMuX2NvbnRleHRJbmZvKTtcblxuICAgICAgICAgICAgY29uc3QgcGlwZWxpbmVDb250ZXh0ID0gdGhpcy5fY29udGV4dEluZm8uZ2V0UGlwZWxpbmVDb250ZXh0KGdldFJlcXVlc3RJZChldmVudCkpO1xuXG4gICAgICAgICAgICBpZiAoIXBpcGVsaW5lQ29udGV4dCB8fCAhcGlwZWxpbmVDb250ZXh0Lm1vY2spXG4gICAgICAgICAgICAgICAgYXdhaXQgc2FmZUNvbnRpbnVlUmVxdWVzdCh0aGlzLl9jbGllbnQsIGV2ZW50LCBzZXNzaW9uSWQsIHRoaXMuX2NyZWF0ZUNvbnRpbnVlRXZlbnRBcmdzKGV2ZW50LCBwaXBlbGluZUNvbnRleHQucmVxT3B0cykpO1xuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVxdWVzdFBpcGVsaW5lTW9ja0xvZ2dlcignYmVnaW4gbW9ja2luZyByZXF1ZXN0ICVyJywgZXZlbnQpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgbW9ja2VkUmVzcG9uc2UgPSBhd2FpdCBwaXBlbGluZUNvbnRleHQuZ2V0TW9ja1Jlc3BvbnNlKCk7XG5cbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLl9oYW5kbGVNb2NrRXJyb3JJZk5lY2Vzc2FyeShwaXBlbGluZUNvbnRleHQsIGV2ZW50KTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IG1vY2tlZFJlc3BvbnNlRXZlbnQgPSBjcmVhdGVSZXF1ZXN0UGF1c2VkRXZlbnRGb3JSZXNwb25zZShtb2NrZWRSZXNwb25zZSwgZXZlbnQpO1xuXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5yZXF1ZXN0SG9va0V2ZW50UHJvdmlkZXIub25SZXNwb25zZShtb2NrZWRSZXNwb25zZUV2ZW50LCBtb2NrZWRSZXNwb25zZS5nZXRCb2R5KCksIHRoaXMuX2NvbnRleHRJbmZvLCB0aGlzLl9jbGllbnQpO1xuXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5faGFuZGxlTW9ja1Jlc3BvbnNlKG1vY2tlZFJlc3BvbnNlLCBwaXBlbGluZUNvbnRleHQsIGV2ZW50LCBzZXNzaW9uSWQpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5fY29udGV4dEluZm8uZGlzcG9zZShnZXRSZXF1ZXN0SWQoZXZlbnQpKTtcblxuICAgICAgICAgICAgICAgIHJlcXVlc3RQaXBlbGluZU1vY2tMb2dnZXIoJ2VuZCBtb2NraW5nIHJlcXVlc3QgJXInLCBldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgYXdhaXQgdGhpcy5fdHJ5UmVzcG9uZFRvT3RoZXJSZXF1ZXN0KGV2ZW50LCBzZXNzaW9uSWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldFVwbG9hZFBvc3REYXRhIChldmVudDogUHJvdG9jb2wuRmV0Y2guUmVxdWVzdFBhdXNlZEV2ZW50KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKCFldmVudC5yZXF1ZXN0LnBvc3REYXRhKVxuICAgICAgICAgICAgcmV0dXJuIHZvaWQgMDtcblxuICAgICAgICBjb25zdCBjb250ZW50VHlwZUhlYWRlciA9IGV2ZW50LnJlcXVlc3QuaGVhZGVyc1snQ29udGVudC1UeXBlJ10gYXMgc3RyaW5nO1xuICAgICAgICBjb25zdCBwb3N0RGF0YSAgICAgICAgICA9IEJ1ZmZlci5mcm9tKGV2ZW50LnJlcXVlc3QucG9zdERhdGEsICd1dGYtOCcpO1xuICAgICAgICBjb25zdCBib2R5V2l0aFVwbG9hZHMgICA9IGluamVjdFVwbG9hZChjb250ZW50VHlwZUhlYWRlciwgcG9zdERhdGEpO1xuXG4gICAgICAgIHJldHVybiBib2R5V2l0aFVwbG9hZHMgPyBib2R5V2l0aFVwbG9hZHMudG9TdHJpbmcoJ2Jhc2U2NCcpIDogdm9pZCAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3RvcEZyYW1lTmF2aWdhdGlvbiAoZXZlbnQ6IEZyYW1lTmF2aWdhdGVkRXZlbnQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGV2ZW50LnR5cGUgPT09ICdOYXZpZ2F0aW9uJ1xuICAgICAgICAgICAgJiYgIWV2ZW50LmZyYW1lLnBhcmVudElkO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX3VwZGF0ZUN1cnJlbnRGcmFtZVRyZWUgKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAvLyBOT1RFOiBEdWUgdG8gQ0RQIHJlc3RyaWN0aW9ucyAoaXQgaGFuZ3MpLCB3ZSBjYW4ndCBnZXQgdGhlIGZyYW1lIHRyZWVcbiAgICAgICAgLy8gcmlnaHQgYmVmb3JlIGluamVjdGluZyBzZXJ2aWNlIHNjcmlwdHMuXG4gICAgICAgIC8vIFNvLCB3ZSBhcmUgZm9yY2VkIHRyYWNraW5nIGZyYW1lcyB0cmVlLlxuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLl9jbGllbnQuUGFnZS5nZXRGcmFtZVRyZWUoKTtcblxuICAgICAgICB0aGlzLl9jdXJyZW50RnJhbWVUcmVlID0gcmVzdWx0LmZyYW1lVHJlZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9pc0lmcmFtZSAoZnJhbWVJZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5fY3VycmVudEZyYW1lVHJlZSlcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcblxuICAgICAgICByZXR1cm4gdGhpcy5fY3VycmVudEZyYW1lVHJlZS5mcmFtZS5pZCAhPT0gZnJhbWVJZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgc3RhcnQgKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAvLyBOT1RFOiBXZSBhcmUgZm9yY2VkIHRvIGhhbmRsZSBhbGwgcmVxdWVzdHMgYW5kIHJlc3BvbnNlcyBhdCBvbmNlXG4gICAgICAgIC8vIGJlY2F1c2UgQ0RQIEFQSSBkb2VzIG5vdCBhbGxvdyBzcGVjaWZ5aW5nIHJlcXVlc3QgZmlsdGVyaW5nIGJlaGF2aW9yIGZvciBkaWZmZXJlbnQgaGFuZGxlcnMuXG4gICAgICAgIGF3YWl0IHRoaXMuX2NsaWVudC5GZXRjaC5lbmFibGUoe1xuICAgICAgICAgICAgcGF0dGVybnM6IEFMTF9SRVFVRVNUU19EQVRBLFxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBOT1RFOiB0aGVzZSBpc3N1ZXMgZXhpc3Qgb25seSBpbiBoZWFkbGVzcyBtb2RlOlxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vRGV2RXhwcmVzcy90ZXN0Y2FmZS9pc3N1ZXMvNzY0MCNpc3N1ZWNvbW1lbnQtMTUzODIyMDI5OFxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vRGV2RXhwcmVzcy90ZXN0Y2FmZS1wcml2YXRlL2lzc3Vlcy8xOTBcbiAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMuaXNIZWFkbGVzcykge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5fY2xpZW50LlRhcmdldC5zZXRBdXRvQXR0YWNoKHtcbiAgICAgICAgICAgICAgICBhdXRvQXR0YWNoOiAgICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgICAgIHdhaXRGb3JEZWJ1Z2dlck9uU3RhcnQ6IHRydWUsXG4gICAgICAgICAgICAgICAgZmxhdHRlbjogICAgICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAvLyBOT1RFOiBXZSBuZWVkIHRvIGVuYWJsZSB0aGUgRmV0Y2ggZG9tYWluIGZvciBpZnJhbWUgdGFyZ2V0c1xuICAgICAgICAgICAgLy8gdG8gaW50ZXJjZXB0IHNvbWUgcmVxdWVzdHMuIFdlIG5lZWQgdG8gdXNlIHRoZSBgc2Vzc2lvbklkYCBvcHRpb25cbiAgICAgICAgICAgIC8vIGluIGNvbnRpbnVlUmVxdWVzdC9jb250aW51ZVJlc3BvbnNlL2Z1bGZpbGxSZXF1ZXN0IG1ldGhvZHNcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX2NsaWVudC5UYXJnZXQub24oJ2F0dGFjaGVkVG9UYXJnZXQnLCBhc3luYyBldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50LnRhcmdldEluZm8udHlwZSAhPT0gJ2lmcmFtZScpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcblxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLl9jbGllbnQuUnVudGltZS5ydW5JZldhaXRpbmdGb3JEZWJ1Z2dlcihldmVudC5zZXNzaW9uSWQpO1xuXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuX2NsaWVudC5GZXRjaC5lbmFibGUoeyBwYXR0ZXJuczogQUxMX1JFUVVFU1RTX0RBVEEgfSwgZXZlbnQuc2Vzc2lvbklkKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB0aGlzLl9jbGllbnQuRmV0Y2gub24oJ3JlcXVlc3RQYXVzZWQnLCBhc3luYyAoZXZlbnQ6IFJlcXVlc3RQYXVzZWRFdmVudCwgc2Vzc2lvbklkOiBTZXNzaW9uSWQpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9zdG9wcGVkKVxuICAgICAgICAgICAgICAgIHJldHVybjtcblxuICAgICAgICAgICAgY29uc3Qgc3BlY2lhbFJlcXVlc3RIYW5kbGVyID0gZ2V0U3BlY2lhbFJlcXVlc3RIYW5kbGVyKGV2ZW50LCB0aGlzLm9wdGlvbnMsIHRoaXMuX3NwZWNpYWxTZXJ2aWNlUm91dGVzKTtcblxuICAgICAgICAgICAgaWYgKHNwZWNpYWxSZXF1ZXN0SGFuZGxlcilcbiAgICAgICAgICAgICAgICBhd2FpdCBzcGVjaWFsUmVxdWVzdEhhbmRsZXIoZXZlbnQsIHRoaXMuX2NsaWVudCwgdGhpcy5vcHRpb25zLCBzZXNzaW9uSWQpO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuX2hhbmRsZU90aGVyUmVxdWVzdHMoZXZlbnQsIHNlc3Npb25JZCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX2NsaWVudC5QYWdlLm9uKCdmcmFtZU5hdmlnYXRlZCcsIGFzeW5jIChldmVudDogRnJhbWVOYXZpZ2F0ZWRFdmVudCkgPT4ge1xuICAgICAgICAgICAgcmVxdWVzdFBpcGVsaW5lTG9nZ2VyKCclZicsIGV2ZW50KTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLl90b3BGcmFtZU5hdmlnYXRpb24oZXZlbnQpXG4gICAgICAgICAgICAgICAgfHwgZXZlbnQuZnJhbWUudXJsICE9PSBTUEVDSUFMX0JMQU5LX1BBR0UpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgICAgICB0aGlzLl9jb250ZXh0SW5mby5pbml0KGV2ZW50KTtcblxuICAgICAgICAgICAgY29uc3QgdXNlclNjcmlwdHMgPSBhd2FpdCB0aGlzLl9nZXRVc2VyU2NyaXB0cyhldmVudCk7XG5cbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX3Jlc291cmNlSW5qZWN0b3IucHJvY2Vzc0Fib3V0QmxhbmtQYWdlKGV2ZW50LCB1c2VyU2NyaXB0cywgdGhpcy5jb250ZXh0U3RvcmFnZSwgdGhpcy5fY2xpZW50KTtcblxuICAgICAgICAgICAgdGhpcy5fY29udGV4dEluZm8uZGlzcG9zZShnZXRSZXF1ZXN0SWQoZXZlbnQpKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fY2xpZW50LlBhZ2Uub24oJ2ZyYW1lU3RhcnRlZExvYWRpbmcnLCBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLl91cGRhdGVDdXJyZW50RnJhbWVUcmVlKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX2NsaWVudC5OZXR3b3JrLm9uKCdsb2FkaW5nRmFpbGVkJywgYXN5bmMgKGV2ZW50OiBMb2FkaW5nRmFpbGVkRXZlbnQpID0+IHtcbiAgICAgICAgICAgIHJlcXVlc3RQaXBlbGluZUxvZ2dlcignJWwnLCBldmVudCk7XG5cbiAgICAgICAgICAgIHRoaXMuX2ZhaWxlZFJlcXVlc3RJZHMucHVzaChldmVudC5yZXF1ZXN0SWQpO1xuXG4gICAgICAgICAgICBpZiAoZXZlbnQucmVxdWVzdElkKVxuICAgICAgICAgICAgICAgIHRoaXMuX2NvbnRleHRJbmZvLmRpc3Bvc2UoZXZlbnQucmVxdWVzdElkKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYXdhaXQgdGhpcy5fY2xpZW50LlBhZ2Uuc2V0QnlwYXNzQ1NQKHsgZW5hYmxlZDogdHJ1ZSB9KTtcblxuICAgICAgICBhd2FpdCB0aGlzLl9jbGllbnQuU2VjdXJpdHkuZW5hYmxlKCk7XG5cbiAgICAgICAgdGhpcy5fY2xpZW50LlNlY3VyaXR5Lm9uKCdjZXJ0aWZpY2F0ZUVycm9yJywgYXN5bmMgKGV2ZW50OiBDZXJ0aWZpY2F0ZUVycm9yRXZlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3BlbmRpbmdDZXJ0aWZpY2F0ZUVycm9yID0gZXZlbnQ7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdG9wICgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3RvcHBlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGRpc3Bvc2UgKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLl9jbGllbnQuRmV0Y2guZGlzYWJsZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NyZWF0ZUNvbnRpbnVlRXZlbnRBcmdzIChldmVudDogUHJvdG9jb2wuRmV0Y2guUmVxdWVzdFBhdXNlZEV2ZW50LCByZXFPcHRzOiBhbnkpOiBDb250aW51ZVJlcXVlc3RBcmdzIHtcbiAgICAgICAgY29uc3QgbW9kaWZpZWRVcmwgID0gbmV3IFVSTChldmVudC5yZXF1ZXN0LnVybCk7XG4gICAgICAgIGNvbnN0IGhvc3QgICAgICAgICA9IG1vZGlmaWVkVXJsLmhvc3Q7XG5cbiAgICAgICAgbGV0IGhvc3RNb2RpZmllZCA9IGZhbHNlO1xuICAgICAgICBsZXQgcG9ydE1vZGlmaWVkID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKG1vZGlmaWVkVXJsLmhvc3RuYW1lICE9PSByZXFPcHRzLmhvc3RuYW1lKSB7XG4gICAgICAgICAgICBtb2RpZmllZFVybC5ob3N0bmFtZSA9IHJlcU9wdHMuaG9zdG5hbWU7XG4gICAgICAgICAgICBob3N0TW9kaWZpZWQgICAgICAgICA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobW9kaWZpZWRVcmwucG9ydCAhPT0gcmVxT3B0cy5wb3J0KSB7XG4gICAgICAgICAgICBtb2RpZmllZFVybC5wb3J0ID0gcmVxT3B0cy5wb3J0O1xuICAgICAgICAgICAgcG9ydE1vZGlmaWVkICAgICA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG9zdCAhPT0gcmVxT3B0cy5ob3N0KSB7XG4gICAgICAgICAgICBjb25zdCB7IHBvcnQsIGhvc3RuYW1lIH0gPSBuZXcgVVJMKHJlcU9wdHMucHJvdG9jb2wgKyAnLy8nICsgcmVxT3B0cy5ob3N0KTtcblxuICAgICAgICAgICAgaWYgKCFob3N0TW9kaWZpZWQpXG4gICAgICAgICAgICAgICAgbW9kaWZpZWRVcmwuaG9zdG5hbWUgPSBob3N0bmFtZTtcblxuICAgICAgICAgICAgaWYgKCFwb3J0TW9kaWZpZWQpXG4gICAgICAgICAgICAgICAgbW9kaWZpZWRVcmwucG9ydCA9IHBvcnQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwb3N0RGF0YSA9IHRoaXMuX2dldFVwbG9hZFBvc3REYXRhKGV2ZW50KTtcbiAgICAgICAgY29uc3QgdXJsICAgICAgPSBtb2RpZmllZFVybC50b1N0cmluZygpICE9PSBldmVudC5yZXF1ZXN0LnVybCA/IG1vZGlmaWVkVXJsLnRvU3RyaW5nKCkgOiB2b2lkIDA7XG4gICAgICAgIGNvbnN0IG1ldGhvZCAgID0gcmVxT3B0cy5tZXRob2Q7XG5cbiAgICAgICAgcmV0dXJuIHsgcG9zdERhdGEsIHVybCwgbWV0aG9kIH07XG4gICAgfVxufVxuIl19
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toNativeAutomationSetupOptions = void 0;
4
- function toNativeAutomationSetupOptions(options) {
4
+ function toNativeAutomationSetupOptions(options, isHeadless) {
5
5
  return {
6
6
  serviceDomains: options.serviceDomains,
7
7
  developmentMode: options.developmentMode,
8
+ isHeadless,
8
9
  };
9
10
  }
10
11
  exports.toNativeAutomationSetupOptions = toNativeAutomationSetupOptions;
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9uYXRpdmUtYXV0b21hdGlvbi91dGlscy9jb252ZXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLFNBQWdCLDhCQUE4QixDQUFFLE9BQXFDO0lBQ2pGLE9BQU87UUFDSCxjQUFjLEVBQUcsT0FBTyxDQUFDLGNBQWM7UUFDdkMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxlQUFlO0tBQzNDLENBQUM7QUFDTixDQUFDO0FBTEQsd0VBS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOYXRpdmVBdXRvbWF0aW9uSW5pdE9wdGlvbnMsIE9wZW5Ccm93c2VyQWRkaXRpb25hbE9wdGlvbnMgfSBmcm9tICcuLi8uLi9zaGFyZWQvdHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdG9OYXRpdmVBdXRvbWF0aW9uU2V0dXBPcHRpb25zIChvcHRpb25zOiBPcGVuQnJvd3NlckFkZGl0aW9uYWxPcHRpb25zKTogTmF0aXZlQXV0b21hdGlvbkluaXRPcHRpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBzZXJ2aWNlRG9tYWluczogIG9wdGlvbnMuc2VydmljZURvbWFpbnMsXG4gICAgICAgIGRldmVsb3BtZW50TW9kZTogb3B0aW9ucy5kZXZlbG9wbWVudE1vZGUsXG4gICAgfTtcbn1cbiJdfQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9uYXRpdmUtYXV0b21hdGlvbi91dGlscy9jb252ZXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLFNBQWdCLDhCQUE4QixDQUFFLE9BQXFDLEVBQUUsVUFBbUI7SUFDdEcsT0FBTztRQUNILGNBQWMsRUFBRyxPQUFPLENBQUMsY0FBYztRQUN2QyxlQUFlLEVBQUUsT0FBTyxDQUFDLGVBQWU7UUFDeEMsVUFBVTtLQUNiLENBQUM7QUFDTixDQUFDO0FBTkQsd0VBTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOYXRpdmVBdXRvbWF0aW9uSW5pdE9wdGlvbnMsIE9wZW5Ccm93c2VyQWRkaXRpb25hbE9wdGlvbnMgfSBmcm9tICcuLi8uLi9zaGFyZWQvdHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdG9OYXRpdmVBdXRvbWF0aW9uU2V0dXBPcHRpb25zIChvcHRpb25zOiBPcGVuQnJvd3NlckFkZGl0aW9uYWxPcHRpb25zLCBpc0hlYWRsZXNzOiBib29sZWFuKTogTmF0aXZlQXV0b21hdGlvbkluaXRPcHRpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBzZXJ2aWNlRG9tYWluczogIG9wdGlvbnMuc2VydmljZURvbWFpbnMsXG4gICAgICAgIGRldmVsb3BtZW50TW9kZTogb3B0aW9ucy5kZXZlbG9wbWVudE1vZGUsXG4gICAgICAgIGlzSGVhZGxlc3MsXG4gICAgfTtcbn1cbiJdfQ==
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "testcafe",
3
3
  "description": "Automated browser testing for the modern web development stack.",
4
4
  "license": "MIT",
5
- "version": "2.6.1",
5
+ "version": "2.6.2",
6
6
  "author": {
7
7
  "name": "Developer Express Inc.",
8
8
  "url": "https://www.devexpress.com/"
@@ -143,7 +143,7 @@
143
143
  "source-map-support": "^0.5.16",
144
144
  "strip-bom": "^2.0.0",
145
145
  "testcafe-browser-tools": "2.0.25",
146
- "testcafe-hammerhead": "^31.4.2",
146
+ "testcafe-hammerhead": "31.4.3",
147
147
  "testcafe-legacy-api": "5.1.6",
148
148
  "testcafe-reporter-json": "^2.1.0",
149
149
  "testcafe-reporter-list": "^2.2.0",