appium-espresso-driver 2.13.5 → 2.13.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## [2.13.7](https://github.com/appium/appium-espresso-driver/compare/v2.13.6...v2.13.7) (2022-12-01)
2
+
3
+
4
+ ### Miscellaneous Chores
5
+
6
+ * update releaserc ([#837](https://github.com/appium/appium-espresso-driver/issues/837)) ([655c333](https://github.com/appium/appium-espresso-driver/commit/655c33323f19085adc678160666ad83f5249aa31))
7
+
8
+ ## [2.13.6](https://github.com/appium/appium-espresso-driver/compare/v2.13.5...v2.13.6) (2022-11-29)
9
+
1
10
  ## [2.13.5](https://github.com/appium/appium-espresso-driver/compare/v2.13.4...v2.13.5) (2022-11-06)
2
11
 
3
12
  ## [2.13.4](https://github.com/appium/appium-espresso-driver/compare/v2.13.3...v2.13.4) (2022-11-06)
@@ -27,15 +27,12 @@ function assertRequiredOptions(options, requiredOptionNames) {
27
27
  }
28
28
  throw new Error(`The following options are required: ${JSON.stringify(missingOptionNames)}. ` + `You have only provided: ${JSON.stringify(presentOptionNames)}`);
29
29
  }
30
-
31
30
  commands.launchApp = async function launchApp() {
32
31
  throw new _driver.errors.UnsupportedOperationError('Please create a new session in order to launch the application under test');
33
32
  };
34
-
35
33
  commands.closeApp = async function closeApp() {
36
34
  throw new _driver.errors.UnsupportedOperationError('Please quit the session in order to close the application under test');
37
35
  };
38
-
39
36
  commands.reset = async function reset() {
40
37
  throw new _driver.errors.UnsupportedOperationError('Please quit the session and create a new one ' + 'in order to close and launch the application under test');
41
38
  };
@@ -139,7 +136,6 @@ commands.mobileNavigateTo = async function mobileNavigateTo(opts = {}) {
139
136
  menuItemId
140
137
  });
141
138
  };
142
-
143
139
  commands.mobileWebAtoms = async function mobileWebAtoms(opts = {}) {
144
140
  opts = assertRequiredOptions(opts, ['methodChain']);
145
141
  return await this.espresso.jwproxy.command(`/appium/execute_mobile/web_atoms`, 'POST', opts);
@@ -185,7 +181,6 @@ commands.mobileScrollToPage = async function mobileScrollToPage(opts = {}) {
185
181
  smoothScroll
186
182
  });
187
183
  };
188
-
189
184
  commands.mobileBackdoor = async function mobileBackdoor(opts = {}) {
190
185
  assertRequiredOptions(opts, ['target', 'methods']);
191
186
  const {
@@ -204,7 +199,6 @@ commands.mobileBackdoor = async function mobileBackdoor(opts = {}) {
204
199
  targetElement
205
200
  });
206
201
  };
207
-
208
202
  commands.mobileUiautomator = async function mobileUiautomator(opts = {}) {
209
203
  const {
210
204
  strategy,
@@ -219,11 +213,9 @@ commands.mobileUiautomator = async function mobileUiautomator(opts = {}) {
219
213
  action
220
214
  });
221
215
  };
222
-
223
216
  commands.mobileUiautomatorPageSource = async function mobileUiautomatorPageSource() {
224
217
  return await this.espresso.jwproxy.command(`/appium/execute_mobile/uiautomator_page_source`, 'GET');
225
218
  };
226
-
227
219
  commands.mobileFlashElement = async function mobileFlashElement(opts = {}) {
228
220
  const {
229
221
  element
@@ -237,7 +229,6 @@ commands.mobileFlashElement = async function mobileFlashElement(opts = {}) {
237
229
  repeatCount
238
230
  });
239
231
  };
240
-
241
232
  commands.mobileClickAction = async function mobileClickAction(opts = {}) {
242
233
  const {
243
234
  element,
@@ -263,14 +254,12 @@ commands.updateSettings = async function updateSettings(settings) {
263
254
  commands.getSettings = async function getSettings() {
264
255
  return await this.espresso.jwproxy.command(`/appium/settings`, 'GET');
265
256
  };
266
-
267
257
  helpers.suspendChromedriverProxy = function suspendChromedriverProxy() {
268
258
  this.chromedriver = null;
269
259
  this.proxyReqRes = this.espresso.proxyReqRes.bind(this.espresso);
270
260
  this.proxyCommand = this.espresso.proxyCommand.bind(this.espresso);
271
261
  this.jwpProxyActive = true;
272
262
  };
273
-
274
263
  commands.mobileStartActivity = async function mobileStartActivity(opts = {}) {
275
264
  const appPackage = this.caps.appPackage;
276
265
  const {
@@ -308,4 +297,4 @@ commands.mobileDismissAutofill = async function mobileDismissAutofill(opts = {})
308
297
  Object.assign(extensions, commands, helpers);
309
298
  var _default = extensions;
310
299
  exports.default = _default;
311
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImhlbHBlcnMiLCJleHRlbnNpb25zIiwiYXNzZXJ0UmVxdWlyZWRPcHRpb25zIiwib3B0aW9ucyIsInJlcXVpcmVkT3B0aW9uTmFtZXMiLCJfIiwiaXNBcnJheSIsInByZXNlbnRPcHRpb25OYW1lcyIsImtleXMiLCJtaXNzaW5nT3B0aW9uTmFtZXMiLCJkaWZmZXJlbmNlIiwiaXNFbXB0eSIsIkVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsImxhdW5jaEFwcCIsImVycm9ycyIsIlVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3IiLCJjbG9zZUFwcCIsInJlc2V0IiwiZ2V0Q2xpcGJvYXJkIiwiYWRiIiwiZ2V0QXBpTGV2ZWwiLCJlc3ByZXNzbyIsImp3cHJveHkiLCJjb21tYW5kIiwibW9iaWxlUGVyZm9ybUVkaXRvckFjdGlvbiIsIm9wdHMiLCJhY3Rpb24iLCJtb2JpbGVTd2lwZSIsImRpcmVjdGlvbiIsImVsZW1lbnQiLCJzd2lwZXIiLCJzdGFydENvb3JkaW5hdGVzIiwiZW5kQ29vcmRpbmF0ZXMiLCJwcmVjaXNpb25EZXNjcmliZXIiLCJ1dGlsIiwidW53cmFwRWxlbWVudCIsIm1vYmlsZUdldERldmljZUluZm8iLCJtb2JpbGVJc1RvYXN0VmlzaWJsZSIsInRleHQiLCJpc1JlZ2V4cCIsImhhc1ZhbHVlIiwiSW52YWxpZEFyZ3VtZW50RXJyb3IiLCJtb2JpbGVPcGVuRHJhd2VyIiwiZ3Jhdml0eSIsIm1vYmlsZUNsb3NlRHJhd2VyIiwibW9iaWxlU2V0RGF0ZSIsInllYXIiLCJtb250aE9mWWVhciIsImRheU9mTW9udGgiLCJtb2JpbGVTZXRUaW1lIiwiaG91cnMiLCJtaW51dGVzIiwibW9iaWxlTmF2aWdhdGVUbyIsIm1lbnVJdGVtSWQiLCJtZW51SXRlbUlkQXNOdW1iZXIiLCJwYXJzZUludCIsImlzTmFOIiwibW9iaWxlV2ViQXRvbXMiLCJnZXREaXNwbGF5RGVuc2l0eSIsIm1vYmlsZVNjcm9sbFRvUGFnZSIsInNjcm9sbFRvVHlwZXMiLCJyZXMiLCJ2YWxpZGF0ZSIsInByZXNlbmNlIiwic2Nyb2xsVG8iLCJpbmNsdXNpb24iLCJ3aXRoaW4iLCJtZXNzYWdlIiwiam9pbiIsInNjcm9sbFRvUGFnZSIsIm51bWVyaWNhbGl0eSIsIm9ubHlJbnRlZ2VyIiwiZ3JlYXRlclRoYW5PckVxdWFsVG8iLCJzbW9vdGhTY3JvbGwiLCJsb2ciLCJ3YXJuIiwibW9iaWxlQmFja2Rvb3IiLCJ0YXJnZXQiLCJtZXRob2RzIiwiZWxlbWVudElkIiwidGFyZ2V0RWxlbWVudCIsIm1vYmlsZVVpYXV0b21hdG9yIiwic3RyYXRlZ3kiLCJsb2NhdG9yIiwiaW5kZXgiLCJtb2JpbGVVaWF1dG9tYXRvclBhZ2VTb3VyY2UiLCJtb2JpbGVGbGFzaEVsZW1lbnQiLCJkdXJhdGlvbk1pbGxpcyIsInJlcGVhdENvdW50IiwibW9iaWxlQ2xpY2tBY3Rpb24iLCJ0YXBwZXIiLCJjb29yZGluYXRlc1Byb3ZpZGVyIiwiaW5wdXREZXZpY2UiLCJidXR0b25TdGF0ZSIsInVwZGF0ZVNldHRpbmdzIiwic2V0dGluZ3MiLCJnZXRTZXR0aW5ncyIsInN1c3BlbmRDaHJvbWVkcml2ZXJQcm94eSIsImNocm9tZWRyaXZlciIsInByb3h5UmVxUmVzIiwiYmluZCIsInByb3h5Q29tbWFuZCIsImp3cFByb3h5QWN0aXZlIiwibW9iaWxlU3RhcnRBY3Rpdml0eSIsImFwcFBhY2thZ2UiLCJjYXBzIiwiYXBwQWN0aXZpdHkiLCJsb2NhbGUiLCJvcHRpb25hbEludGVudEFyZ3VtZW50cyIsIm9wdGlvbmFsQWN0aXZpdHlBcmd1bWVudHMiLCJzdGFydEFjdGl2aXR5IiwiYXBwV2FpdFBhY2thZ2UiLCJhcHBXYWl0QWN0aXZpdHkiLCJxdWFsaWZ5QWN0aXZpdHlOYW1lIiwiZGVidWciLCJ3YWl0Rm9yQWN0aXZpdHkiLCJtb2JpbGVEaXNtaXNzQXV0b2ZpbGwiLCJPYmplY3QiLCJhc3NpZ24iXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvZ2VuZXJhbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgdXRpbCB9IGZyb20gJ2FwcGl1bS9zdXBwb3J0JztcbmltcG9ydCB2YWxpZGF0ZSBmcm9tICd2YWxpZGF0ZS5qcyc7XG5pbXBvcnQgeyBlcnJvcnMgfSBmcm9tICdhcHBpdW0vZHJpdmVyJztcbmltcG9ydCB7IHF1YWxpZnlBY3Rpdml0eU5hbWUgfSBmcm9tICcuLi91dGlscyc7XG5cbmNvbnN0IGNvbW1hbmRzID0ge30sIGhlbHBlcnMgPSB7fSwgZXh0ZW5zaW9ucyA9IHt9O1xuXG5mdW5jdGlvbiBhc3NlcnRSZXF1aXJlZE9wdGlvbnMgKG9wdGlvbnMsIHJlcXVpcmVkT3B0aW9uTmFtZXMpIHtcbiAgaWYgKCFfLmlzQXJyYXkocmVxdWlyZWRPcHRpb25OYW1lcykpIHtcbiAgICByZXF1aXJlZE9wdGlvbk5hbWVzID0gW3JlcXVpcmVkT3B0aW9uTmFtZXNdO1xuICB9XG4gIGNvbnN0IHByZXNlbnRPcHRpb25OYW1lcyA9IF8ua2V5cyhvcHRpb25zKTtcbiAgY29uc3QgbWlzc2luZ09wdGlvbk5hbWVzID0gXy5kaWZmZXJlbmNlKHJlcXVpcmVkT3B0aW9uTmFtZXMsIHByZXNlbnRPcHRpb25OYW1lcyk7XG4gIGlmIChfLmlzRW1wdHkobWlzc2luZ09wdGlvbk5hbWVzKSkge1xuICAgIHJldHVybiBvcHRpb25zO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcihgVGhlIGZvbGxvd2luZyBvcHRpb25zIGFyZSByZXF1aXJlZDogJHtKU09OLnN0cmluZ2lmeShtaXNzaW5nT3B0aW9uTmFtZXMpfS4gYCArXG4gICAgYFlvdSBoYXZlIG9ubHkgcHJvdmlkZWQ6ICR7SlNPTi5zdHJpbmdpZnkocHJlc2VudE9wdGlvbk5hbWVzKX1gKTtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlcXVpcmUtYXdhaXRcbmNvbW1hbmRzLmxhdW5jaEFwcCA9IGFzeW5jIGZ1bmN0aW9uIGxhdW5jaEFwcCAoKSB7XG4gIHRocm93IG5ldyBlcnJvcnMuVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvcignUGxlYXNlIGNyZWF0ZSBhIG5ldyBzZXNzaW9uIGluIG9yZGVyIHRvIGxhdW5jaCB0aGUgYXBwbGljYXRpb24gdW5kZXIgdGVzdCcpO1xufTtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlcXVpcmUtYXdhaXRcbmNvbW1hbmRzLmNsb3NlQXBwID0gYXN5bmMgZnVuY3Rpb24gY2xvc2VBcHAgKCkge1xuICB0aHJvdyBuZXcgZXJyb3JzLlVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3IoJ1BsZWFzZSBxdWl0IHRoZSBzZXNzaW9uIGluIG9yZGVyIHRvIGNsb3NlIHRoZSBhcHBsaWNhdGlvbiB1bmRlciB0ZXN0Jyk7XG59O1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVxdWlyZS1hd2FpdFxuY29tbWFuZHMucmVzZXQgPSBhc3luYyBmdW5jdGlvbiByZXNldCAoKSB7XG4gIHRocm93IG5ldyBlcnJvcnMuVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvcihcbiAgICAnUGxlYXNlIHF1aXQgdGhlIHNlc3Npb24gYW5kIGNyZWF0ZSBhIG5ldyBvbmUgJyArXG4gICAgJ2luIG9yZGVyIHRvIGNsb3NlIGFuZCBsYXVuY2ggdGhlIGFwcGxpY2F0aW9uIHVuZGVyIHRlc3QnKTtcbn07XG5cbmNvbW1hbmRzLmdldENsaXBib2FyZCA9IGFzeW5jIGZ1bmN0aW9uIGdldENsaXBib2FyZCAoKSB7XG4gIHJldHVybiAoYXdhaXQgdGhpcy5hZGIuZ2V0QXBpTGV2ZWwoKSA8IDI5KVxuICAgID8gKGF3YWl0IHRoaXMuZXNwcmVzc28uandwcm94eS5jb21tYW5kKCcvYXBwaXVtL2RldmljZS9nZXRfY2xpcGJvYXJkJywgJ1BPU1QnLCB7fSkpXG4gICAgOiAoYXdhaXQgdGhpcy5hZGIuZ2V0Q2xpcGJvYXJkKCkpO1xufTtcblxuY29tbWFuZHMubW9iaWxlUGVyZm9ybUVkaXRvckFjdGlvbiA9IGFzeW5jIGZ1bmN0aW9uIG1vYmlsZVBlcmZvcm1FZGl0b3JBY3Rpb24gKG9wdHMgPSB7fSkge1xuICBjb25zdCB7YWN0aW9ufSA9IGFzc2VydFJlcXVpcmVkT3B0aW9ucyhvcHRzLCBbJ2FjdGlvbiddKTtcbiAgcmV0dXJuIGF3YWl0IHRoaXMuZXNwcmVzc28uandwcm94eS5jb21tYW5kKCcvYXBwaXVtL2RldmljZS9wZXJmb3JtX2VkaXRvcl9hY3Rpb24nLCAnUE9TVCcsIHthY3Rpb259KTtcbn07XG5cbmNvbW1hbmRzLm1vYmlsZVN3aXBlID0gYXN5bmMgZnVuY3Rpb24gbW9iaWxlU3dpcGUgKG9wdHMgPSB7fSkge1xuICBjb25zdCB7ZGlyZWN0aW9uLCBlbGVtZW50LCBzd2lwZXIsIHN0YXJ0Q29vcmRpbmF0ZXMsIGVuZENvb3JkaW5hdGVzLCBwcmVjaXNpb25EZXNjcmliZXJ9ID0gYXNzZXJ0UmVxdWlyZWRPcHRpb25zKG9wdHMsIFsnZWxlbWVudCddKTtcbiAgcmV0dXJuIGF3YWl0IHRoaXMuZXNwcmVzc28uandwcm94eS5jb21tYW5kKGAvYXBwaXVtL2V4ZWN1dGVfbW9iaWxlLyR7dXRpbC51bndyYXBFbGVtZW50KGVsZW1lbnQpfS9zd2lwZWAsICdQT1NUJywge1xuICAgIGRpcmVjdGlvbiwgZWxlbWVudCwgc3dpcGVyLCBzdGFydENvb3JkaW5hdGVzLCBlbmRDb29yZGluYXRlcywgcHJlY2lzaW9uRGVzY3JpYmVyXG4gIH0pO1xufTtcblxuY29tbWFuZHMubW9iaWxlR2V0RGV2aWNlSW5mbyA9IGFzeW5jIGZ1bmN0aW9uIG1vYmlsZUdldERldmljZUluZm8gKCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy5lc3ByZXNzby5qd3Byb3h5LmNvbW1hbmQoJy9hcHBpdW0vZGV2aWNlL2luZm8nLCAnR0VUJyk7XG59O1xuXG5jb21tYW5kcy5tb2JpbGVJc1RvYXN0VmlzaWJsZSA9IGFzeW5jIGZ1bmN0aW9uIG1vYmlsZUlzVG9hc3RWaXNpYmxlIChvcHRzID0ge30pIHtcbiAgY29uc3Qge3RleHQsIGlzUmVnZXhwfSA9IG9wdHM7XG4gIGlmICghdXRpbC5oYXNWYWx1ZSh0ZXh0KSkge1xuICAgIHRocm93IG5ldyBlcnJvcnMuSW52YWxpZEFyZ3VtZW50RXJyb3IoYCd0ZXh0JyBhcmd1bWVudCBpcyBtYW5kYXRvcnlgKTtcbiAgfVxuICByZXR1cm4gYXdhaXQgdGhpcy5lc3ByZXNzby5qd3Byb3h5LmNvbW1hbmQoJy9hcHBpdW0vZXhlY3V0ZV9tb2JpbGUvaXNfdG9hc3RfZGlzcGxheWVkJywgJ1BPU1QnLCB7XG4gICAgdGV4dCxcbiAgICBpc1JlZ2V4cCxcbiAgfSk7XG59O1xuXG5jb21tYW5kcy5tb2JpbGVPcGVuRHJhd2VyID0gYXN5bmMgZnVuY3Rpb24gbW9iaWxlT3BlbkRyYXdlciAob3B0cyA9IHt9KSB7XG4gIGNvbnN0IHtlbGVtZW50LCBncmF2aXR5fSA9IGFzc2VydFJlcXVpcmVkT3B0aW9ucyhvcHRzLCBbJ2VsZW1lbnQnXSk7XG5cbiAgcmV0dXJuIGF3YWl0IHRoaXMuZXNwcmVzc28uandwcm94eS5jb21tYW5kKGAvYXBwaXVtL2V4ZWN1dGVfbW9iaWxlLyR7dXRpbC51bndyYXBFbGVtZW50KGVsZW1lbnQpfS9vcGVuX2RyYXdlcmAsICdQT1NUJywge1xuICAgIGdyYXZpdHlcbiAgfSk7XG59O1xuXG5jb21tYW5kcy5tb2JpbGVDbG9zZURyYXdlciA9IGFzeW5jIGZ1bmN0aW9uIG1vYmlsZUNsb3NlRHJhd2VyIChvcHRzID0ge30pIHtcbiAgY29uc3Qge2VsZW1lbnQsIGdyYXZpdHl9ID0gYXNzZXJ0UmVxdWlyZWRPcHRpb25zKG9wdHMsIFsnZWxlbWVudCddKTtcblxuICByZXR1cm4gYXdhaXQgdGhpcy5lc3ByZXNzby5qd3Byb3h5LmNvbW1hbmQoYC9hcHBpdW0vZXhlY3V0ZV9tb2JpbGUvJHt1dGlsLnVud3JhcEVsZW1lbnQoZWxlbWVudCl9L2Nsb3NlX2RyYXdlcmAsICdQT1NUJywge1xuICAgIGdyYXZpdHlcbiAgfSk7XG59O1xuXG5jb21tYW5kcy5tb2JpbGVTZXREYXRlID0gYXN5bmMgZnVuY3Rpb24gbW9iaWxlU2V0RGF0ZSAob3B0cyA9IHt9KSB7XG4gIGNvbnN0IHtlbGVtZW50LCB5ZWFyLCBtb250aE9mWWVhciwgZGF5T2ZNb250aH0gPSBhc3NlcnRSZXF1aXJlZE9wdGlvbnMob3B0cywgWydlbGVtZW50JywgJ3llYXInLCAnbW9udGhPZlllYXInLCAnZGF5T2ZNb250aCddKTtcblxuICByZXR1cm4gYXdhaXQgdGhpcy5lc3ByZXNzby5qd3Byb3h5LmNvbW1hbmQoYC9hcHBpdW0vZXhlY3V0ZV9tb2JpbGUvJHt1dGlsLnVud3JhcEVsZW1lbnQoZWxlbWVudCl9L3NldF9kYXRlYCwgJ1BPU1QnLCB7XG4gICAgeWVhcixcbiAgICBtb250aE9mWWVhcixcbiAgICBkYXlPZk1vbnRoLFxuICB9KTtcbn07XG5cbmNvbW1hbmRzLm1vYmlsZVNldFRpbWUgPSBhc3luYyBmdW5jdGlvbiBtb2JpbGVTZXRUaW1lIChvcHRzID0ge30pIHtcbiAgY29uc3Qge2VsZW1lbnQsIGhvdXJzLCBtaW51dGVzfSA9IGFzc2VydFJlcXVpcmVkT3B0aW9ucyhvcHRzLCBbJ2VsZW1lbnQnLCAnaG91cnMnLCAnbWludXRlcyddKTtcblxuICByZXR1cm4gYXdhaXQgdGhpcy5lc3ByZXNzby5qd3Byb3h5LmNvbW1hbmQoYC9hcHBpdW0vZXhlY3V0ZV9tb2JpbGUvJHt1dGlsLnVud3JhcEVsZW1lbnQoZWxlbWVudCl9L3NldF90aW1lYCwgJ1BPU1QnLCB7XG4gICAgaG91cnMsXG4gICAgbWludXRlcyxcbiAgfSk7XG59O1xuXG5jb21tYW5kcy5tb2JpbGVOYXZpZ2F0ZVRvID0gYXN5bmMgZnVuY3Rpb24gbW9iaWxlTmF2aWdhdGVUbyAob3B0cyA9IHt9KSB7XG4gIGxldCB7ZWxlbWVudCwgbWVudUl0ZW1JZH0gPSBhc3NlcnRSZXF1aXJlZE9wdGlvbnMob3B0cywgWydtZW51SXRlbUlkJywgJ2VsZW1lbnQnXSk7XG5cbiAgbGV0IG1lbnVJdGVtSWRBc051bWJlciA9IHBhcnNlSW50KG1lbnVJdGVtSWQsIDEwKTtcbiAgaWYgKF8uaXNOYU4obWVudUl0ZW1JZEFzTnVtYmVyKSB8fCBtZW51SXRlbUlkQXNOdW1iZXIgPCAwKSB7XG4gICAgdGhyb3cgbmV3IGVycm9ycy5JbnZhbGlkQXJndW1lbnRFcnJvcihgJ21lbnVJdGVtSWQnIG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyLiBGb3VuZCAke21lbnVJdGVtSWR9YCk7XG4gIH1cblxuICByZXR1cm4gYXdhaXQgdGhpcy5lc3ByZXNzby5qd3Byb3h5LmNvbW1hbmQoYC9hcHBpdW0vZXhlY3V0ZV9tb2JpbGUvJHt1dGlsLnVud3JhcEVsZW1lbnQoZWxlbWVudCl9L25hdmlnYXRlX3RvYCwgJ1BPU1QnLCB7XG4gICAgbWVudUl0ZW1JZFxuICB9KTtcbn07XG5cbi8qKlxuICogUnVucyBhIGNoYWluIG9mIEVzcHJlc3NvIHdlYiBhdG9tcyAoc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLmFuZHJvaWQuY29tL3RyYWluaW5nL3Rlc3RpbmcvZXNwcmVzc28vd2ViIGZvciByZWZlcmVuY2UpXG4gKlxuICogVGFrZXMgSlNPTiBvZiB0aGUgZm9ybVxuICpcbiAqIHtcbiAqICAgXCJ3ZWJ2aWV3RWxcIjogXCI8RUxFTUVOVF9JRD5cIiwgLy8gb3B0aW9uYWwgd2VidmlldyBlbGVtZW50IHRvIG9wZXJhdGUgb25cbiAqICAgXCJmb3JjZUphdmFzY3JpcHRFbmFibGVkXCI6IHRydWV8ZmFsc2UsIC8vIGlmIHdlYnZpZXcgZGlzYWJsZXMgamF2YXNjcmlwdCwgd2ViYXRvbXMgd29uJ3Qgd29yaywgdGhpcyBmb3JjZXMgaXRcbiAqICAgXCJtZXRob2RDaGFpblwiOiBbXG4gKiAgICAge1wibmFtZVwiOiBcIm1ldGhvZE5hbWVcIiwgXCJhdG9tXCI6IHtcIm5hbWVcIjogXCJhdG9tTmFtZVwiLCBcImFyZ3NcIjogW1wiYXJnMVwiLCBcImFyZzJcIiwgLi4uXX19LFxuICogICAgIC4uLlxuICogICBdXG4gKiB9XG4gKlxuICovXG5jb21tYW5kcy5tb2JpbGVXZWJBdG9tcyA9IGFzeW5jIGZ1bmN0aW9uIG1vYmlsZVdlYkF0b21zIChvcHRzID0ge30pIHtcbiAgb3B0cyA9IGFzc2VydFJlcXVpcmVkT3B0aW9ucyhvcHRzLCBbJ21ldGhvZENoYWluJ10pO1xuICByZXR1cm4gYXdhaXQgdGhpcy5lc3ByZXNzby5qd3Byb3h5LmNvbW1hbmQoYC9hcHBpdW0vZXhlY3V0ZV9tb2JpbGUvd2ViX2F0b21zYCwgJ1BPU1QnLCBvcHRzKTtcbn07XG5cbmNvbW1hbmRzLmdldERpc3BsYXlEZW5zaXR5ID0gYXN5bmMgZnVuY3Rpb24gZ2V0RGlzcGxheURlbnNpdHkgKCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy5lc3ByZXNzby5qd3Byb3h5LmNvbW1hbmQoJy9hcHBpdW0vZGV2aWNlL2Rpc3BsYXlfZGVuc2l0eScsICdHRVQnLCB7fSk7XG59O1xuXG5jb21tYW5kcy5tb2JpbGVTY3JvbGxUb1BhZ2UgPSBhc3luYyBmdW5jdGlvbiBtb2JpbGVTY3JvbGxUb1BhZ2UgKG9wdHMgPSB7fSkge1xuXG4gIC8vIFZhbGlkYXRlIHRoZSBwYXJhbWV0ZXJzXG4gIGNvbnN0IHNjcm9sbFRvVHlwZXMgPSBbJ2ZpcnN0JywgJ2xhc3QnLCAnbGVmdCcsICdyaWdodCddO1xuICBjb25zdCByZXMgPSB2YWxpZGF0ZShvcHRzLCB7XG4gICAgZWxlbWVudDoge3ByZXNlbmNlOiB0cnVlfSxcbiAgICBzY3JvbGxUbzoge1xuICAgICAgaW5jbHVzaW9uOiB7XG4gICAgICAgIHdpdGhpbjogc2Nyb2xsVG9UeXBlcyxcbiAgICAgICAgbWVzc2FnZTogYFwic2Nyb2xsVG9cIiBtdXN0IGJlIG9uZSBvZiBcIiR7c2Nyb2xsVG9UeXBlcy5qb2luKCcsICcpfVwiIGZvdW5kICcle3ZhbHVlfSdgLFxuICAgICAgfVxuICAgIH0sXG4gICAgc2Nyb2xsVG9QYWdlOiB7XG4gICAgICBudW1lcmljYWxpdHk6IHtcbiAgICAgICAgb25seUludGVnZXI6IHRydWUsXG4gICAgICAgIGdyZWF0ZXJUaGFuT3JFcXVhbFRvOiAwLFxuICAgICAgICBtZXNzYWdlOiBgXCJzY3JvbGxUb1BhZ2VcIiBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGludGVnZXIuIEZvdW5kICcle3ZhbHVlfSdgXG4gICAgICB9LFxuICAgIH0sXG4gIH0pO1xuICBpZiAodXRpbC5oYXNWYWx1ZShyZXMpKSB7XG4gICAgdGhyb3cgbmV3IGVycm9ycy5JbnZhbGlkQXJndW1lbnRFcnJvcihgSW52YWxpZCBzY3JvbGxUbyBwYXJhbWV0ZXJzOiAke0pTT04uc3RyaW5naWZ5KHJlcyl9YCk7XG4gIH1cblxuICBjb25zdCB7ZWxlbWVudCwgc2Nyb2xsVG8sIHNjcm9sbFRvUGFnZSwgc21vb3RoU2Nyb2xsfSA9IG9wdHM7XG5cbiAgaWYgKHV0aWwuaGFzVmFsdWUoc2Nyb2xsVG8pICYmIHV0aWwuaGFzVmFsdWUoc2Nyb2xsVG9QYWdlKSkge1xuICAgIHRoaXMubG9nLndhcm4oYCdzY3JvbGxUbycgYW5kICdzY3JvbGxUb1BhZ2UnIHdoZXJlIGJvdGggcHJvdmlkZWQuIERlZmF1bHRpbmcgdG8gJ3Njcm9sbFRvJ2ApO1xuICB9XG5cbiAgcmV0dXJuIGF3YWl0IHRoaXMuZXNwcmVzc28uandwcm94eS5jb21tYW5kKGAvYXBwaXVtL2V4ZWN1dGVfbW9iaWxlLyR7dXRpbC51bndyYXBFbGVtZW50KGVsZW1lbnQpfS9zY3JvbGxfdG9fcGFnZWAsICdQT1NUJywge1xuICAgIHNjcm9sbFRvLFxuICAgIHNjcm9sbFRvUGFnZSxcbiAgICBzbW9vdGhTY3JvbGwsXG4gIH0pO1xufTtcblxuXG4vKipcbiAqICBBUEkgdG8gaW52b2tlIG1ldGhvZHMgZGVmaW5lZCBpbiBBbmRyb2lkIGFwcC5cbiAqXG4gKiAgRXhhbXBsZSBkYXRhXG4gKiAge1xuICogICB0YXJnZXQ6ICdhY3Rpdml0eScsXG4gKiAgIG1ldGhvZHM6XG4gKiAgICAgICAgIFtcbiAqICAgICAgICAgICB7XG4gKiAgICAgICAgICAgICAgIG5hbWU6IFwic29tZU1ldGhvZFwiLFxuICogICAgICAgICAgIH0sXG4gKiAgICAgICAgICAge1xuICogICAgICAgICAgICAgICBuYW1lOiBcImFub3RoZXJNZXRob2RcIixcbiAqICAgICAgICAgICAgICAgYXJnczpcbiAqICAgICAgICAgICAgICAgICAgIFtcbiAqICAgICAgICAgICAgICAgICAgICAgICB7dmFsdWU6IFwiTG9sXCIsIHR5cGU6ICdqYXZhLmxhbmcuQ2hhclNlcXVlbmNlJ30sXG4gKiAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlOiAxLCB0eXBlOiAnaW50J31cbiAqICAgICAgICAgICAgICAgICAgIF1cbiAqICAgICAgICAgICB9XG4gKiAgICAgICAgIF1cbiAqIH1cbiAqXG4gKiBJbiBhYm92ZSBleGFtcGxlLCBtZXRob2QgXCJzb21lTWV0aG9kXCIgd2lsbCBiZSBpbnZva2VkIG9uICdhY3Rpdml0eScuIE9uIHRoZSByZXN1bHQsIFwiYW5vdGhlck1ldGhvZFwiIHdpbGwgYmUgaW52b2tlZFxuICogIFwidGFyZ2V0XCIgY2FuIGJlIGVpdGhlciAnYWN0aXZpdHknLCAnYXBwbGljYXRpb24nIG9yICdlbGVtZW50J1xuICogIElmIHRhcmdldCBpcyBzZXQgdG8gJ2FwcGxpY2F0aW9uJywgbWV0aG9kcyB3aWxsIGJlIGludm9rZWQgb24gYXBwbGljYXRpb24gY2xhc3NcbiAqICBJZiB0YXJnZXQgaXMgc2V0IHRvICdhY3Rpdml0eScsIG1ldGhvZHMgd2lsbCBiZSBpbnZva2VkIG9uIGN1cnJlbnQgYWN0aXZpdHlcbiAqICBJZiB0YXJnZXQgaXMgc2V0IHRvICdlbGVtZW50JywgJ2VsZW1lbnRJZCcgbXVzdCBiZSBzcGVjaWZpZWRcbiAqXG4gKiAtIE9ubHkgJ1B1YmxpYycgbWV0aG9kcyBjYW4gYmUgaW52b2tlZC4gKCdvcGVuJyBtb2RpZmlyZSBpcyBuZWNlc3NhcnkgaW4gS290bGluKVxuICogLSBmb2xsb3dpbmcgcHJpbWl0aXZlIHR5cGVzIGFyZSBzdXBwb3J0ZWQ6IFwiaW50XCIsIFwiYm9vbGVhblwiLCBcImJ5dGVcIiwgXCJzaG9ydFwiLCBcImxvbmdcIiwgXCJmbG9hdFwiLCBcImNoYXJcIlxuICogLSAgTm9uLXByaW1pdGl2ZSB0eXBlcyB3aXRoIGZ1bGx5IHF1YWxpZmllZCBuYW1lIFwiamF2YS5sYW5nLipcIiBpcyBhbHNvIHN1cHBvcnRlZDpcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWcuIFwiamF2YS5sYW5nLkNoYXJTZXF1ZW5jZVwiLCBcImphdmEubGFuZy5TdHJpbmdcIiwgXCJqYXZhLmxhbmcuSW50ZWdlclwiLCBcImphdmEubGFuZy5GbG9hdFwiLFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImphdmEubGFuZy5Eb3VibGVcIiwgXCJqYXZhLmxhbmcuQm9vbGVhblwiLCBcImphdmEubGFuZy5Mb25nXCIsIFwiamF2YS5sYW5nLlNob3J0XCIsXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiamF2YS5sYW5nLkNoYXJhY3RlclwiIGV0Yy4uLlxuICpcbiAqXG4gKiBAdGhyb3dzICB7RXJyb3J9IGlmIHRhcmdldCBpcyBub3QgJ2FjdGl2aXR5JyBvciAnYXBwbGljYXRpb24nXG4gKiBAdGhyb3dzICB7RXJyb3J9IGlmIGEgbWV0aG9kIGlzIG5vdCBmb3VuZCB3aXRoIGdpdmVuIGFyZ3VtZW50IHR5cGVzXG4gKlxuICogQHJldHVybiB7Kn0gdGhlIHJlc3VsdCBvZiB0aGUgbGFzdCBtZXRob2QgaW4gdGhlIGludm9jYXRpb24gY2hhaW4uIElmIG1ldGhvZCByZXR1cm4gdHlwZSBpcyB2b2lkLCB0aGVuIFwiPFZPSUQ+XCIgd2lsbCBiZSByZXR1cm5lZFxuICpcbiAqL1xuY29tbWFuZHMubW9iaWxlQmFja2Rvb3IgPSBhc3luYyBmdW5jdGlvbiBtb2JpbGVCYWNrZG9vciAob3B0cyA9IHt9KSB7XG4gIGFzc2VydFJlcXVpcmVkT3B0aW9ucyhvcHRzLCBbJ3RhcmdldCcsICdtZXRob2RzJ10pO1xuICBjb25zdCB7dGFyZ2V0LCBtZXRob2RzfSA9IG9wdHM7XG4gIGlmICh0YXJnZXQgPT09ICdlbGVtZW50Jykge1xuICAgIGFzc2VydFJlcXVpcmVkT3B0aW9ucyhvcHRzLCBbJ2VsZW1lbnRJZCddKTtcbiAgfVxuICBjb25zdCB7ZWxlbWVudElkOiB0YXJnZXRFbGVtZW50fSA9IG9wdHM7XG4gIHJldHVybiBhd2FpdCB0aGlzLmVzcHJlc3NvLmp3cHJveHkuY29tbWFuZChgL2FwcGl1bS9leGVjdXRlX21vYmlsZS9iYWNrZG9vcmAsICdQT1NUJywge3RhcmdldCwgbWV0aG9kcywgdGFyZ2V0RWxlbWVudH0pO1xufTtcblxuLyoqXG4gKiAgRXhlY3V0ZSBVaUF1dG9tYXRvcjIgY29tbWFuZHMgdG8gZHJpdmUgb3V0IG9mIGFwcCBhcmVhcy5cbiAqICBzdHJhdGVneSBjYW4gYmUgb25lIG9mOiBcImNsYXp6XCIsIFwicmVzXCIsIFwidGV4dFwiLCBcInRleHRDb250YWluc1wiLCBcInRleHRFbmRzV2l0aFwiLCBcInRleHRTdGFydHNXaXRoXCIsXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkZXNjXCIsIFwiZGVzY0NvbnRhaW5zXCIsIFwiZGVzY0VuZHNXaXRoXCIsIFwiZGVzY1N0YXJ0c1dpdGhcIiwgXCJwa2dcIlxuICpcbiAqICBhY3Rpb24gY2FuIGJlIG9uZSBvZjogXCJjbGlja1wiLCBcImxvbmdDbGlja1wiLCBcImdldFRleHRcIiwgXCJnZXRDb250ZW50RGVzY3JpcHRpb25cIiwgXCJnZXRDbGFzc05hbWVcIixcbiAqICAgICAgICAgICAgICAgICAgICAgICAgXCJnZXRSZXNvdXJjZU5hbWVcIiwgXCJnZXRWaXNpYmxlQm91bmRzXCIsIFwiZ2V0VmlzaWJsZUNlbnRlclwiLCBcImdldEFwcGxpY2F0aW9uUGFja2FnZVwiLFxuICogICAgICAgICAgICAgICAgICAgICAgICBcImdldENoaWxkQ291bnRcIiwgXCJjbGVhclwiLCBcImlzQ2hlY2thYmxlXCIsIFwiaXNDaGVja2VkXCIsIFwiaXNDbGlja2FibGVcIiwgXCJpc0VuYWJsZWRcIixcbiAqICAgICAgICAgICAgICAgICAgICAgICAgXCJpc0ZvY3VzYWJsZVwiLCBcImlzRm9jdXNlZFwiLCBcImlzTG9uZ0NsaWNrYWJsZVwiLCBcImlzU2Nyb2xsYWJsZVwiLCBcImlzU2VsZWN0ZWRcIlxuICovXG5jb21tYW5kcy5tb2JpbGVVaWF1dG9tYXRvciA9IGFzeW5jIGZ1bmN0aW9uIG1vYmlsZVVpYXV0b21hdG9yIChvcHRzID0ge30pIHtcbiAgY29uc3Qge3N0cmF0ZWd5LCBsb2NhdG9yLCBhY3Rpb24sIGluZGV4fSA9IGFzc2VydFJlcXVpcmVkT3B0aW9ucyhvcHRzLCBbJ3N0cmF0ZWd5JywgJ2xvY2F0b3InLCAnYWN0aW9uJ10pO1xuICByZXR1cm4gYXdhaXQgdGhpcy5lc3ByZXNzby5qd3Byb3h5LmNvbW1hbmQoYC9hcHBpdW0vZXhlY3V0ZV9tb2JpbGUvdWlhdXRvbWF0b3JgLCAnUE9TVCcsIHtzdHJhdGVneSwgbG9jYXRvciwgaW5kZXgsIGFjdGlvbn0pO1xufTtcblxuLyoqXG4gKiAgRXhlY3V0ZSBVaUF1dG9tYXRvcjIgY29tbWFuZCB0byByZXR1cm4gdGhlIFVJIGR1bXAgd2hlbiBBVVQgaXMgaW4gYmFja2dyb3VuZC5cbiAqIEB0aHJvd3MgIHtFcnJvcn0gaWYgdWlhdXRvbWF0b3IgdmlldyBkdW1wIGlzIHVuc3VjY2Vzc2Z1bFxuICogQHJldHVybnMge3N0cmluZ30gdWlhdXRvbWF0b3IgRE9NIHhtbCBhcyBzdHJpbmdcbiAqL1xuY29tbWFuZHMubW9iaWxlVWlhdXRvbWF0b3JQYWdlU291cmNlID0gYXN5bmMgZnVuY3Rpb24gbW9iaWxlVWlhdXRvbWF0b3JQYWdlU291cmNlICgpIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMuZXNwcmVzc28uandwcm94eS5jb21tYW5kKGAvYXBwaXVtL2V4ZWN1dGVfbW9iaWxlL3VpYXV0b21hdG9yX3BhZ2Vfc291cmNlYCwgJ0dFVCcpO1xufTtcblxuLyoqXG4gKiAgRmxhc2ggdGhlIGVsZW1lbnQgd2l0aCBnaXZlbiBpZC5cbiAqICBkdXJhdGlvbk1pbGxpcyBhbmQgcmVwZWF0Q291bnQgYXJlIG9wdGlvbmFsXG4gKlxuICovXG5jb21tYW5kcy5tb2JpbGVGbGFzaEVsZW1lbnQgPSBhc3luYyBmdW5jdGlvbiBtb2JpbGVGbGFzaEVsZW1lbnQgKG9wdHMgPSB7fSkge1xuICBjb25zdCB7ZWxlbWVudH0gPSBhc3NlcnRSZXF1aXJlZE9wdGlvbnMob3B0cywgWydlbGVtZW50J10pO1xuICBjb25zdCB7ZHVyYXRpb25NaWxsaXMsIHJlcGVhdENvdW50fSA9IG9wdHM7XG4gIHJldHVybiBhd2FpdCB0aGlzLmVzcHJlc3NvLmp3cHJveHkuY29tbWFuZChgL2FwcGl1bS9leGVjdXRlX21vYmlsZS8ke3V0aWwudW53cmFwRWxlbWVudChlbGVtZW50KX0vZmxhc2hgLCAnUE9TVCcsIHtcbiAgICBkdXJhdGlvbk1pbGxpcyxcbiAgICByZXBlYXRDb3VudFxuICB9KTtcbn07XG5cbi8qKlxuICogUGVyZm9ybSBhICdHZW5lcmFsQ2xpY2tBY3Rpb24nIChodHRwczovL2RldmVsb3Blci5hbmRyb2lkLmNvbS9yZWZlcmVuY2UvYW5kcm9pZHgvdGVzdC9lc3ByZXNzby9hY3Rpb24vR2VuZXJhbENsaWNrQWN0aW9uKVxuICovXG5jb21tYW5kcy5tb2JpbGVDbGlja0FjdGlvbiA9IGFzeW5jIGZ1bmN0aW9uIG1vYmlsZUNsaWNrQWN0aW9uIChvcHRzID0ge30pIHtcbiAgY29uc3Qge2VsZW1lbnQsIHRhcHBlciwgY29vcmRpbmF0ZXNQcm92aWRlciwgcHJlY2lzaW9uRGVzY3JpYmVyLFxuICAgICAgICAgaW5wdXREZXZpY2UsIGJ1dHRvblN0YXRlfSA9IGFzc2VydFJlcXVpcmVkT3B0aW9ucyhvcHRzLCBbJ2VsZW1lbnQnXSk7XG4gIHJldHVybiBhd2FpdCB0aGlzLmVzcHJlc3NvLmp3cHJveHkuY29tbWFuZChgL2FwcGl1bS9leGVjdXRlX21vYmlsZS8ke3V0aWwudW53cmFwRWxlbWVudChlbGVtZW50KX0vY2xpY2tfYWN0aW9uYCwgJ1BPU1QnLCB7XG4gICAgdGFwcGVyLCBjb29yZGluYXRlc1Byb3ZpZGVyLCBwcmVjaXNpb25EZXNjcmliZXIsIGlucHV0RGV2aWNlLCBidXR0b25TdGF0ZVxuICB9KTtcbn07XG5cbmNvbW1hbmRzLnVwZGF0ZVNldHRpbmdzID0gYXN5bmMgZnVuY3Rpb24gdXBkYXRlU2V0dGluZ3MgKHNldHRpbmdzKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLmVzcHJlc3NvLmp3cHJveHkuY29tbWFuZChgL2FwcGl1bS9zZXR0aW5nc2AsICdQT1NUJywgeyBzZXR0aW5ncyB9KTtcbn07XG5cbmNvbW1hbmRzLmdldFNldHRpbmdzID0gYXN5bmMgZnVuY3Rpb24gZ2V0U2V0dGluZ3MgKCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy5lc3ByZXNzby5qd3Byb3h5LmNvbW1hbmQoYC9hcHBpdW0vc2V0dGluZ3NgLCAnR0VUJyk7XG59O1xuXG4vLyBTdG9wIHByb3h5aW5nIHRvIGFueSBDaHJvbWVkcml2ZXIgYW5kIHJlZGlyZWN0IHRvIEVzcHJlc3NvXG5oZWxwZXJzLnN1c3BlbmRDaHJvbWVkcml2ZXJQcm94eSA9IGZ1bmN0aW9uIHN1c3BlbmRDaHJvbWVkcml2ZXJQcm94eSAoKSB7XG4gIHRoaXMuY2hyb21lZHJpdmVyID0gbnVsbDtcbiAgdGhpcy5wcm94eVJlcVJlcyA9IHRoaXMuZXNwcmVzc28ucHJveHlSZXFSZXMuYmluZCh0aGlzLmVzcHJlc3NvKTtcbiAgdGhpcy5wcm94eUNvbW1hbmQgPSB0aGlzLmVzcHJlc3NvLnByb3h5Q29tbWFuZC5iaW5kKHRoaXMuZXNwcmVzc28pO1xuICB0aGlzLmp3cFByb3h5QWN0aXZlID0gdHJ1ZTtcbn07XG5cbi8qKlxuICogIFN0YXJ0cyB0aGUgZ2l2ZW4gYWN0aXZpdHkgd2l0aCBpbnRlbnQgb3B0aW9ucywgYWN0aXZpdHkgb3B0aW9ucyBhbmQgbG9jYWxlLlxuICogIEFjdGl2aXR5IGNvdWxkIG9ubHkgYmUgZXhlY3V0ZWQgaW4gc2NvcGUgb2YgdGhlIGN1cnJlbnQgYXBwIHBhY2thZ2UuXG4gKlxuICogIGFwcEFjdGl2aXR5IGlzIG1hbmRhdG9yeVxuICpcbiAqICBsb2NhbGUsIG9wdGlvbmFsSW50ZW50QXJndW1lbnRzLCBvcHRpb25hbEFjdGl2aXR5QXJndW1lbnRzIGFyZSBvcHRpb25hbFxuICovXG5jb21tYW5kcy5tb2JpbGVTdGFydEFjdGl2aXR5ID0gYXN5bmMgZnVuY3Rpb24gbW9iaWxlU3RhcnRBY3Rpdml0eSAob3B0cyA9IHt9KSB7XG4gIGNvbnN0IGFwcFBhY2thZ2UgPSB0aGlzLmNhcHMuYXBwUGFja2FnZTtcbiAgY29uc3Qge1xuICAgIGFwcEFjdGl2aXR5LFxuICAgIGxvY2FsZSxcbiAgICBvcHRpb25hbEludGVudEFyZ3VtZW50cyxcbiAgICBvcHRpb25hbEFjdGl2aXR5QXJndW1lbnRzXG4gIH0gPSBhc3NlcnRSZXF1aXJlZE9wdGlvbnMob3B0cywgWydhcHBBY3Rpdml0eSddKTtcbiAgcmV0dXJuIGF3YWl0IHRoaXMuZXNwcmVzc28uandwcm94eS5jb21tYW5kKGAvYXBwaXVtL2RldmljZS9zdGFydF9hY3Rpdml0eWAsICdQT1NUJywge1xuICAgIGFwcFBhY2thZ2UsXG4gICAgYXBwQWN0aXZpdHksXG4gICAgbG9jYWxlLFxuICAgIG9wdGlvbmFsSW50ZW50QXJndW1lbnRzLFxuICAgIG9wdGlvbmFsQWN0aXZpdHlBcmd1bWVudHNcbiAgfSk7XG59O1xuXG5jb21tYW5kcy5zdGFydEFjdGl2aXR5ID0gYXN5bmMgZnVuY3Rpb24gc3RhcnRBY3Rpdml0eSAoYXBwUGFja2FnZSwgYXBwQWN0aXZpdHksXG4gIGFwcFdhaXRQYWNrYWdlLCBhcHBXYWl0QWN0aXZpdHkpIHtcbiAgLy8gaW50ZW50QWN0aW9uLCBpbnRlbnRDYXRlZ29yeSwgaW50ZW50RmxhZ3MsIG9wdGlvbmFsSW50ZW50QXJndW1lbnRzLCBkb250U3RvcEFwcE9uUmVzZXRcbiAgLy8gcGFyYW1ldGVycyBhcmUgbm90IHN1cHBvcnRlZCBieSBFc3ByZXNzb1xuICBhcHBQYWNrYWdlID0gYXBwUGFja2FnZSB8fCB0aGlzLmNhcHMuYXBwUGFja2FnZTtcbiAgYXBwV2FpdFBhY2thZ2UgPSBhcHBXYWl0UGFja2FnZSB8fCBhcHBQYWNrYWdlO1xuICBhcHBBY3Rpdml0eSA9IHF1YWxpZnlBY3Rpdml0eU5hbWUoYXBwQWN0aXZpdHksIGFwcFBhY2thZ2UpO1xuICBhcHBXYWl0QWN0aXZpdHkgPSBxdWFsaWZ5QWN0aXZpdHlOYW1lKGFwcFdhaXRBY3Rpdml0eSB8fCBhcHBBY3Rpdml0eSwgYXBwV2FpdFBhY2thZ2UpO1xuICB0aGlzLmxvZy5kZWJ1ZyhgU3RhcnRpbmcgYWN0aXZpdHkgJyR7YXBwQWN0aXZpdHl9JyBmb3IgcGFja2FnZSAnJHthcHBQYWNrYWdlfSdgKTtcbiAgYXdhaXQgdGhpcy5lc3ByZXNzby5qd3Byb3h5LmNvbW1hbmQoYC9hcHBpdW0vZGV2aWNlL3N0YXJ0X2FjdGl2aXR5YCwgJ1BPU1QnLCB7XG4gICAgYXBwUGFja2FnZSxcbiAgICBhcHBBY3Rpdml0eSxcbiAgfSk7XG4gIGF3YWl0IHRoaXMuYWRiLndhaXRGb3JBY3Rpdml0eShhcHBXYWl0UGFja2FnZSwgYXBwV2FpdEFjdGl2aXR5KTtcbn07XG5cbmNvbW1hbmRzLm1vYmlsZURpc21pc3NBdXRvZmlsbCA9IGFzeW5jIGZ1bmN0aW9uIG1vYmlsZURpc21pc3NBdXRvZmlsbCAob3B0cyA9IHt9KSB7XG4gIGNvbnN0IHtlbGVtZW50fSA9IGFzc2VydFJlcXVpcmVkT3B0aW9ucyhvcHRzLCBbJ2VsZW1lbnQnXSk7XG4gIGF3YWl0IHRoaXMuZXNwcmVzc28uandwcm94eS5jb21tYW5kKFxuICAgIGAvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9leGVjdXRlX21vYmlsZS8ke3V0aWwudW53cmFwRWxlbWVudChlbGVtZW50KX0vZGlzbWlzc19hdXRvZmlsbGAsICdQT1NUJywge30pO1xufTtcblxuT2JqZWN0LmFzc2lnbihleHRlbnNpb25zLCBjb21tYW5kcywgaGVscGVycyk7XG5leHBvcnQgeyBjb21tYW5kcywgaGVscGVycyB9O1xuZXhwb3J0IGRlZmF1bHQgZXh0ZW5zaW9ucztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7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
300
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImhlbHBlcnMiLCJleHRlbnNpb25zIiwiYXNzZXJ0UmVxdWlyZWRPcHRpb25zIiwib3B0aW9ucyIsInJlcXVpcmVkT3B0aW9uTmFtZXMiLCJfIiwiaXNBcnJheSIsInByZXNlbnRPcHRpb25OYW1lcyIsImtleXMiLCJtaXNzaW5nT3B0aW9uTmFtZXMiLCJkaWZmZXJlbmNlIiwiaXNFbXB0eSIsIkVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsImxhdW5jaEFwcCIsImVycm9ycyIsIlVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3IiLCJjbG9zZUFwcCIsInJlc2V0IiwiZ2V0Q2xpcGJvYXJkIiwiYWRiIiwiZ2V0QXBpTGV2ZWwiLCJlc3ByZXNzbyIsImp3cHJveHkiLCJjb21tYW5kIiwibW9iaWxlUGVyZm9ybUVkaXRvckFjdGlvbiIsIm9wdHMiLCJhY3Rpb24iLCJtb2JpbGVTd2lwZSIsImRpcmVjdGlvbiIsImVsZW1lbnQiLCJzd2lwZXIiLCJzdGFydENvb3JkaW5hdGVzIiwiZW5kQ29vcmRpbmF0ZXMiLCJwcmVjaXNpb25EZXNjcmliZXIiLCJ1dGlsIiwidW53cmFwRWxlbWVudCIsIm1vYmlsZUdldERldmljZUluZm8iLCJtb2JpbGVJc1RvYXN0VmlzaWJsZSIsInRleHQiLCJpc1JlZ2V4cCIsImhhc1ZhbHVlIiwiSW52YWxpZEFyZ3VtZW50RXJyb3IiLCJtb2JpbGVPcGVuRHJhd2VyIiwiZ3Jhdml0eSIsIm1vYmlsZUNsb3NlRHJhd2VyIiwibW9iaWxlU2V0RGF0ZSIsInllYXIiLCJtb250aE9mWWVhciIsImRheU9mTW9udGgiLCJtb2JpbGVTZXRUaW1lIiwiaG91cnMiLCJtaW51dGVzIiwibW9iaWxlTmF2aWdhdGVUbyIsIm1lbnVJdGVtSWQiLCJtZW51SXRlbUlkQXNOdW1iZXIiLCJwYXJzZUludCIsImlzTmFOIiwibW9iaWxlV2ViQXRvbXMiLCJnZXREaXNwbGF5RGVuc2l0eSIsIm1vYmlsZVNjcm9sbFRvUGFnZSIsInNjcm9sbFRvVHlwZXMiLCJyZXMiLCJ2YWxpZGF0ZSIsInByZXNlbmNlIiwic2Nyb2xsVG8iLCJpbmNsdXNpb24iLCJ3aXRoaW4iLCJtZXNzYWdlIiwiam9pbiIsInNjcm9sbFRvUGFnZSIsIm51bWVyaWNhbGl0eSIsIm9ubHlJbnRlZ2VyIiwiZ3JlYXRlclRoYW5PckVxdWFsVG8iLCJzbW9vdGhTY3JvbGwiLCJsb2ciLCJ3YXJuIiwibW9iaWxlQmFja2Rvb3IiLCJ0YXJnZXQiLCJtZXRob2RzIiwiZWxlbWVudElkIiwidGFyZ2V0RWxlbWVudCIsIm1vYmlsZVVpYXV0b21hdG9yIiwic3RyYXRlZ3kiLCJsb2NhdG9yIiwiaW5kZXgiLCJtb2JpbGVVaWF1dG9tYXRvclBhZ2VTb3VyY2UiLCJtb2JpbGVGbGFzaEVsZW1lbnQiLCJkdXJhdGlvbk1pbGxpcyIsInJlcGVhdENvdW50IiwibW9iaWxlQ2xpY2tBY3Rpb24iLCJ0YXBwZXIiLCJjb29yZGluYXRlc1Byb3ZpZGVyIiwiaW5wdXREZXZpY2UiLCJidXR0b25TdGF0ZSIsInVwZGF0ZVNldHRpbmdzIiwic2V0dGluZ3MiLCJnZXRTZXR0aW5ncyIsInN1c3BlbmRDaHJvbWVkcml2ZXJQcm94eSIsImNocm9tZWRyaXZlciIsInByb3h5UmVxUmVzIiwiYmluZCIsInByb3h5Q29tbWFuZCIsImp3cFByb3h5QWN0aXZlIiwibW9iaWxlU3RhcnRBY3Rpdml0eSIsImFwcFBhY2thZ2UiLCJjYXBzIiwiYXBwQWN0aXZpdHkiLCJsb2NhbGUiLCJvcHRpb25hbEludGVudEFyZ3VtZW50cyIsIm9wdGlvbmFsQWN0aXZpdHlBcmd1bWVudHMiLCJzdGFydEFjdGl2aXR5IiwiYXBwV2FpdFBhY2thZ2UiLCJhcHBXYWl0QWN0aXZpdHkiLCJxdWFsaWZ5QWN0aXZpdHlOYW1lIiwiZGVidWciLCJ3YWl0Rm9yQWN0aXZpdHkiLCJtb2JpbGVEaXNtaXNzQXV0b2ZpbGwiLCJPYmplY3QiLCJhc3NpZ24iXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvZ2VuZXJhbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgdXRpbCB9IGZyb20gJ2FwcGl1bS9zdXBwb3J0JztcbmltcG9ydCB2YWxpZGF0ZSBmcm9tICd2YWxpZGF0ZS5qcyc7XG5pbXBvcnQgeyBlcnJvcnMgfSBmcm9tICdhcHBpdW0vZHJpdmVyJztcbmltcG9ydCB7IHF1YWxpZnlBY3Rpdml0eU5hbWUgfSBmcm9tICcuLi91dGlscyc7XG5cbmNvbnN0IGNvbW1hbmRzID0ge30sIGhlbHBlcnMgPSB7fSwgZXh0ZW5zaW9ucyA9IHt9O1xuXG5mdW5jdGlvbiBhc3NlcnRSZXF1aXJlZE9wdGlvbnMgKG9wdGlvbnMsIHJlcXVpcmVkT3B0aW9uTmFtZXMpIHtcbiAgaWYgKCFfLmlzQXJyYXkocmVxdWlyZWRPcHRpb25OYW1lcykpIHtcbiAgICByZXF1aXJlZE9wdGlvbk5hbWVzID0gW3JlcXVpcmVkT3B0aW9uTmFtZXNdO1xuICB9XG4gIGNvbnN0IHByZXNlbnRPcHRpb25OYW1lcyA9IF8ua2V5cyhvcHRpb25zKTtcbiAgY29uc3QgbWlzc2luZ09wdGlvbk5hbWVzID0gXy5kaWZmZXJlbmNlKHJlcXVpcmVkT3B0aW9uTmFtZXMsIHByZXNlbnRPcHRpb25OYW1lcyk7XG4gIGlmIChfLmlzRW1wdHkobWlzc2luZ09wdGlvbk5hbWVzKSkge1xuICAgIHJldHVybiBvcHRpb25zO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcihgVGhlIGZvbGxvd2luZyBvcHRpb25zIGFyZSByZXF1aXJlZDogJHtKU09OLnN0cmluZ2lmeShtaXNzaW5nT3B0aW9uTmFtZXMpfS4gYCArXG4gICAgYFlvdSBoYXZlIG9ubHkgcHJvdmlkZWQ6ICR7SlNPTi5zdHJpbmdpZnkocHJlc2VudE9wdGlvbk5hbWVzKX1gKTtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlcXVpcmUtYXdhaXRcbmNvbW1hbmRzLmxhdW5jaEFwcCA9IGFzeW5jIGZ1bmN0aW9uIGxhdW5jaEFwcCAoKSB7XG4gIHRocm93IG5ldyBlcnJvcnMuVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvcignUGxlYXNlIGNyZWF0ZSBhIG5ldyBzZXNzaW9uIGluIG9yZGVyIHRvIGxhdW5jaCB0aGUgYXBwbGljYXRpb24gdW5kZXIgdGVzdCcpO1xufTtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlcXVpcmUtYXdhaXRcbmNvbW1hbmRzLmNsb3NlQXBwID0gYXN5bmMgZnVuY3Rpb24gY2xvc2VBcHAgKCkge1xuICB0aHJvdyBuZXcgZXJyb3JzLlVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3IoJ1BsZWFzZSBxdWl0IHRoZSBzZXNzaW9uIGluIG9yZGVyIHRvIGNsb3NlIHRoZSBhcHBsaWNhdGlvbiB1bmRlciB0ZXN0Jyk7XG59O1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVxdWlyZS1hd2FpdFxuY29tbWFuZHMucmVzZXQgPSBhc3luYyBmdW5jdGlvbiByZXNldCAoKSB7XG4gIHRocm93IG5ldyBlcnJvcnMuVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvcihcbiAgICAnUGxlYXNlIHF1aXQgdGhlIHNlc3Npb24gYW5kIGNyZWF0ZSBhIG5ldyBvbmUgJyArXG4gICAgJ2luIG9yZGVyIHRvIGNsb3NlIGFuZCBsYXVuY2ggdGhlIGFwcGxpY2F0aW9uIHVuZGVyIHRlc3QnKTtcbn07XG5cbmNvbW1hbmRzLmdldENsaXBib2FyZCA9IGFzeW5jIGZ1bmN0aW9uIGdldENsaXBib2FyZCAoKSB7XG4gIHJldHVybiAoYXdhaXQgdGhpcy5hZGIuZ2V0QXBpTGV2ZWwoKSA8IDI5KVxuICAgID8gKGF3YWl0IHRoaXMuZXNwcmVzc28uandwcm94eS5jb21tYW5kKCcvYXBwaXVtL2RldmljZS9nZXRfY2xpcGJvYXJkJywgJ1BPU1QnLCB7fSkpXG4gICAgOiAoYXdhaXQgdGhpcy5hZGIuZ2V0Q2xpcGJvYXJkKCkpO1xufTtcblxuY29tbWFuZHMubW9iaWxlUGVyZm9ybUVkaXRvckFjdGlvbiA9IGFzeW5jIGZ1bmN0aW9uIG1vYmlsZVBlcmZvcm1FZGl0b3JBY3Rpb24gKG9wdHMgPSB7fSkge1xuICBjb25zdCB7YWN0aW9ufSA9IGFzc2VydFJlcXVpcmVkT3B0aW9ucyhvcHRzLCBbJ2FjdGlvbiddKTtcbiAgcmV0dXJuIGF3YWl0IHRoaXMuZXNwcmVzc28uandwcm94eS5jb21tYW5kKCcvYXBwaXVtL2RldmljZS9wZXJmb3JtX2VkaXRvcl9hY3Rpb24nLCAnUE9TVCcsIHthY3Rpb259KTtcbn07XG5cbmNvbW1hbmRzLm1vYmlsZVN3aXBlID0gYXN5bmMgZnVuY3Rpb24gbW9iaWxlU3dpcGUgKG9wdHMgPSB7fSkge1xuICBjb25zdCB7ZGlyZWN0aW9uLCBlbGVtZW50LCBzd2lwZXIsIHN0YXJ0Q29vcmRpbmF0ZXMsIGVuZENvb3JkaW5hdGVzLCBwcmVjaXNpb25EZXNjcmliZXJ9ID0gYXNzZXJ0UmVxdWlyZWRPcHRpb25zKG9wdHMsIFsnZWxlbWVudCddKTtcbiAgcmV0dXJuIGF3YWl0IHRoaXMuZXNwcmVzc28uandwcm94eS5jb21tYW5kKGAvYXBwaXVtL2V4ZWN1dGVfbW9iaWxlLyR7dXRpbC51bndyYXBFbGVtZW50KGVsZW1lbnQpfS9zd2lwZWAsICdQT1NUJywge1xuICAgIGRpcmVjdGlvbiwgZWxlbWVudCwgc3dpcGVyLCBzdGFydENvb3JkaW5hdGVzLCBlbmRDb29yZGluYXRlcywgcHJlY2lzaW9uRGVzY3JpYmVyXG4gIH0pO1xufTtcblxuY29tbWFuZHMubW9iaWxlR2V0RGV2aWNlSW5mbyA9IGFzeW5jIGZ1bmN0aW9uIG1vYmlsZUdldERldmljZUluZm8gKCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy5lc3ByZXNzby5qd3Byb3h5LmNvbW1hbmQoJy9hcHBpdW0vZGV2aWNlL2luZm8nLCAnR0VUJyk7XG59O1xuXG5jb21tYW5kcy5tb2JpbGVJc1RvYXN0VmlzaWJsZSA9IGFzeW5jIGZ1bmN0aW9uIG1vYmlsZUlzVG9hc3RWaXNpYmxlIChvcHRzID0ge30pIHtcbiAgY29uc3Qge3RleHQsIGlzUmVnZXhwfSA9IG9wdHM7XG4gIGlmICghdXRpbC5oYXNWYWx1ZSh0ZXh0KSkge1xuICAgIHRocm93IG5ldyBlcnJvcnMuSW52YWxpZEFyZ3VtZW50RXJyb3IoYCd0ZXh0JyBhcmd1bWVudCBpcyBtYW5kYXRvcnlgKTtcbiAgfVxuICByZXR1cm4gYXdhaXQgdGhpcy5lc3ByZXNzby5qd3Byb3h5LmNvbW1hbmQoJy9hcHBpdW0vZXhlY3V0ZV9tb2JpbGUvaXNfdG9hc3RfZGlzcGxheWVkJywgJ1BPU1QnLCB7XG4gICAgdGV4dCxcbiAgICBpc1JlZ2V4cCxcbiAgfSk7XG59O1xuXG5jb21tYW5kcy5tb2JpbGVPcGVuRHJhd2VyID0gYXN5bmMgZnVuY3Rpb24gbW9iaWxlT3BlbkRyYXdlciAob3B0cyA9IHt9KSB7XG4gIGNvbnN0IHtlbGVtZW50LCBncmF2aXR5fSA9IGFzc2VydFJlcXVpcmVkT3B0aW9ucyhvcHRzLCBbJ2VsZW1lbnQnXSk7XG5cbiAgcmV0dXJuIGF3YWl0IHRoaXMuZXNwcmVzc28uandwcm94eS5jb21tYW5kKGAvYXBwaXVtL2V4ZWN1dGVfbW9iaWxlLyR7dXRpbC51bndyYXBFbGVtZW50KGVsZW1lbnQpfS9vcGVuX2RyYXdlcmAsICdQT1NUJywge1xuICAgIGdyYXZpdHlcbiAgfSk7XG59O1xuXG5jb21tYW5kcy5tb2JpbGVDbG9zZURyYXdlciA9IGFzeW5jIGZ1bmN0aW9uIG1vYmlsZUNsb3NlRHJhd2VyIChvcHRzID0ge30pIHtcbiAgY29uc3Qge2VsZW1lbnQsIGdyYXZpdHl9ID0gYXNzZXJ0UmVxdWlyZWRPcHRpb25zKG9wdHMsIFsnZWxlbWVudCddKTtcblxuICByZXR1cm4gYXdhaXQgdGhpcy5lc3ByZXNzby5qd3Byb3h5LmNvbW1hbmQoYC9hcHBpdW0vZXhlY3V0ZV9tb2JpbGUvJHt1dGlsLnVud3JhcEVsZW1lbnQoZWxlbWVudCl9L2Nsb3NlX2RyYXdlcmAsICdQT1NUJywge1xuICAgIGdyYXZpdHlcbiAgfSk7XG59O1xuXG5jb21tYW5kcy5tb2JpbGVTZXREYXRlID0gYXN5bmMgZnVuY3Rpb24gbW9iaWxlU2V0RGF0ZSAob3B0cyA9IHt9KSB7XG4gIGNvbnN0IHtlbGVtZW50LCB5ZWFyLCBtb250aE9mWWVhciwgZGF5T2ZNb250aH0gPSBhc3NlcnRSZXF1aXJlZE9wdGlvbnMob3B0cywgWydlbGVtZW50JywgJ3llYXInLCAnbW9udGhPZlllYXInLCAnZGF5T2ZNb250aCddKTtcblxuICByZXR1cm4gYXdhaXQgdGhpcy5lc3ByZXNzby5qd3Byb3h5LmNvbW1hbmQoYC9hcHBpdW0vZXhlY3V0ZV9tb2JpbGUvJHt1dGlsLnVud3JhcEVsZW1lbnQoZWxlbWVudCl9L3NldF9kYXRlYCwgJ1BPU1QnLCB7XG4gICAgeWVhcixcbiAgICBtb250aE9mWWVhcixcbiAgICBkYXlPZk1vbnRoLFxuICB9KTtcbn07XG5cbmNvbW1hbmRzLm1vYmlsZVNldFRpbWUgPSBhc3luYyBmdW5jdGlvbiBtb2JpbGVTZXRUaW1lIChvcHRzID0ge30pIHtcbiAgY29uc3Qge2VsZW1lbnQsIGhvdXJzLCBtaW51dGVzfSA9IGFzc2VydFJlcXVpcmVkT3B0aW9ucyhvcHRzLCBbJ2VsZW1lbnQnLCAnaG91cnMnLCAnbWludXRlcyddKTtcblxuICByZXR1cm4gYXdhaXQgdGhpcy5lc3ByZXNzby5qd3Byb3h5LmNvbW1hbmQoYC9hcHBpdW0vZXhlY3V0ZV9tb2JpbGUvJHt1dGlsLnVud3JhcEVsZW1lbnQoZWxlbWVudCl9L3NldF90aW1lYCwgJ1BPU1QnLCB7XG4gICAgaG91cnMsXG4gICAgbWludXRlcyxcbiAgfSk7XG59O1xuXG5jb21tYW5kcy5tb2JpbGVOYXZpZ2F0ZVRvID0gYXN5bmMgZnVuY3Rpb24gbW9iaWxlTmF2aWdhdGVUbyAob3B0cyA9IHt9KSB7XG4gIGxldCB7ZWxlbWVudCwgbWVudUl0ZW1JZH0gPSBhc3NlcnRSZXF1aXJlZE9wdGlvbnMob3B0cywgWydtZW51SXRlbUlkJywgJ2VsZW1lbnQnXSk7XG5cbiAgbGV0IG1lbnVJdGVtSWRBc051bWJlciA9IHBhcnNlSW50KG1lbnVJdGVtSWQsIDEwKTtcbiAgaWYgKF8uaXNOYU4obWVudUl0ZW1JZEFzTnVtYmVyKSB8fCBtZW51SXRlbUlkQXNOdW1iZXIgPCAwKSB7XG4gICAgdGhyb3cgbmV3IGVycm9ycy5JbnZhbGlkQXJndW1lbnRFcnJvcihgJ21lbnVJdGVtSWQnIG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyLiBGb3VuZCAke21lbnVJdGVtSWR9YCk7XG4gIH1cblxuICByZXR1cm4gYXdhaXQgdGhpcy5lc3ByZXNzby5qd3Byb3h5LmNvbW1hbmQoYC9hcHBpdW0vZXhlY3V0ZV9tb2JpbGUvJHt1dGlsLnVud3JhcEVsZW1lbnQoZWxlbWVudCl9L25hdmlnYXRlX3RvYCwgJ1BPU1QnLCB7XG4gICAgbWVudUl0ZW1JZFxuICB9KTtcbn07XG5cbi8qKlxuICogUnVucyBhIGNoYWluIG9mIEVzcHJlc3NvIHdlYiBhdG9tcyAoc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLmFuZHJvaWQuY29tL3RyYWluaW5nL3Rlc3RpbmcvZXNwcmVzc28vd2ViIGZvciByZWZlcmVuY2UpXG4gKlxuICogVGFrZXMgSlNPTiBvZiB0aGUgZm9ybVxuICpcbiAqIHtcbiAqICAgXCJ3ZWJ2aWV3RWxcIjogXCI8RUxFTUVOVF9JRD5cIiwgLy8gb3B0aW9uYWwgd2VidmlldyBlbGVtZW50IHRvIG9wZXJhdGUgb25cbiAqICAgXCJmb3JjZUphdmFzY3JpcHRFbmFibGVkXCI6IHRydWV8ZmFsc2UsIC8vIGlmIHdlYnZpZXcgZGlzYWJsZXMgamF2YXNjcmlwdCwgd2ViYXRvbXMgd29uJ3Qgd29yaywgdGhpcyBmb3JjZXMgaXRcbiAqICAgXCJtZXRob2RDaGFpblwiOiBbXG4gKiAgICAge1wibmFtZVwiOiBcIm1ldGhvZE5hbWVcIiwgXCJhdG9tXCI6IHtcIm5hbWVcIjogXCJhdG9tTmFtZVwiLCBcImFyZ3NcIjogW1wiYXJnMVwiLCBcImFyZzJcIiwgLi4uXX19LFxuICogICAgIC4uLlxuICogICBdXG4gKiB9XG4gKlxuICovXG5jb21tYW5kcy5tb2JpbGVXZWJBdG9tcyA9IGFzeW5jIGZ1bmN0aW9uIG1vYmlsZVdlYkF0b21zIChvcHRzID0ge30pIHtcbiAgb3B0cyA9IGFzc2VydFJlcXVpcmVkT3B0aW9ucyhvcHRzLCBbJ21ldGhvZENoYWluJ10pO1xuICByZXR1cm4gYXdhaXQgdGhpcy5lc3ByZXNzby5qd3Byb3h5LmNvbW1hbmQoYC9hcHBpdW0vZXhlY3V0ZV9tb2JpbGUvd2ViX2F0b21zYCwgJ1BPU1QnLCBvcHRzKTtcbn07XG5cbmNvbW1hbmRzLmdldERpc3BsYXlEZW5zaXR5ID0gYXN5bmMgZnVuY3Rpb24gZ2V0RGlzcGxheURlbnNpdHkgKCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy5lc3ByZXNzby5qd3Byb3h5LmNvbW1hbmQoJy9hcHBpdW0vZGV2aWNlL2Rpc3BsYXlfZGVuc2l0eScsICdHRVQnLCB7fSk7XG59O1xuXG5jb21tYW5kcy5tb2JpbGVTY3JvbGxUb1BhZ2UgPSBhc3luYyBmdW5jdGlvbiBtb2JpbGVTY3JvbGxUb1BhZ2UgKG9wdHMgPSB7fSkge1xuXG4gIC8vIFZhbGlkYXRlIHRoZSBwYXJhbWV0ZXJzXG4gIGNvbnN0IHNjcm9sbFRvVHlwZXMgPSBbJ2ZpcnN0JywgJ2xhc3QnLCAnbGVmdCcsICdyaWdodCddO1xuICBjb25zdCByZXMgPSB2YWxpZGF0ZShvcHRzLCB7XG4gICAgZWxlbWVudDoge3ByZXNlbmNlOiB0cnVlfSxcbiAgICBzY3JvbGxUbzoge1xuICAgICAgaW5jbHVzaW9uOiB7XG4gICAgICAgIHdpdGhpbjogc2Nyb2xsVG9UeXBlcyxcbiAgICAgICAgbWVzc2FnZTogYFwic2Nyb2xsVG9cIiBtdXN0IGJlIG9uZSBvZiBcIiR7c2Nyb2xsVG9UeXBlcy5qb2luKCcsICcpfVwiIGZvdW5kICcle3ZhbHVlfSdgLFxuICAgICAgfVxuICAgIH0sXG4gICAgc2Nyb2xsVG9QYWdlOiB7XG4gICAgICBudW1lcmljYWxpdHk6IHtcbiAgICAgICAgb25seUludGVnZXI6IHRydWUsXG4gICAgICAgIGdyZWF0ZXJUaGFuT3JFcXVhbFRvOiAwLFxuICAgICAgICBtZXNzYWdlOiBgXCJzY3JvbGxUb1BhZ2VcIiBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGludGVnZXIuIEZvdW5kICcle3ZhbHVlfSdgXG4gICAgICB9LFxuICAgIH0sXG4gIH0pO1xuICBpZiAodXRpbC5oYXNWYWx1ZShyZXMpKSB7XG4gICAgdGhyb3cgbmV3IGVycm9ycy5JbnZhbGlkQXJndW1lbnRFcnJvcihgSW52YWxpZCBzY3JvbGxUbyBwYXJhbWV0ZXJzOiAke0pTT04uc3RyaW5naWZ5KHJlcyl9YCk7XG4gIH1cblxuICBjb25zdCB7ZWxlbWVudCwgc2Nyb2xsVG8sIHNjcm9sbFRvUGFnZSwgc21vb3RoU2Nyb2xsfSA9IG9wdHM7XG5cbiAgaWYgKHV0aWwuaGFzVmFsdWUoc2Nyb2xsVG8pICYmIHV0aWwuaGFzVmFsdWUoc2Nyb2xsVG9QYWdlKSkge1xuICAgIHRoaXMubG9nLndhcm4oYCdzY3JvbGxUbycgYW5kICdzY3JvbGxUb1BhZ2UnIHdoZXJlIGJvdGggcHJvdmlkZWQuIERlZmF1bHRpbmcgdG8gJ3Njcm9sbFRvJ2ApO1xuICB9XG5cbiAgcmV0dXJuIGF3YWl0IHRoaXMuZXNwcmVzc28uandwcm94eS5jb21tYW5kKGAvYXBwaXVtL2V4ZWN1dGVfbW9iaWxlLyR7dXRpbC51bndyYXBFbGVtZW50KGVsZW1lbnQpfS9zY3JvbGxfdG9fcGFnZWAsICdQT1NUJywge1xuICAgIHNjcm9sbFRvLFxuICAgIHNjcm9sbFRvUGFnZSxcbiAgICBzbW9vdGhTY3JvbGwsXG4gIH0pO1xufTtcblxuXG4vKipcbiAqICBBUEkgdG8gaW52b2tlIG1ldGhvZHMgZGVmaW5lZCBpbiBBbmRyb2lkIGFwcC5cbiAqXG4gKiAgRXhhbXBsZSBkYXRhXG4gKiAge1xuICogICB0YXJnZXQ6ICdhY3Rpdml0eScsXG4gKiAgIG1ldGhvZHM6XG4gKiAgICAgICAgIFtcbiAqICAgICAgICAgICB7XG4gKiAgICAgICAgICAgICAgIG5hbWU6IFwic29tZU1ldGhvZFwiLFxuICogICAgICAgICAgIH0sXG4gKiAgICAgICAgICAge1xuICogICAgICAgICAgICAgICBuYW1lOiBcImFub3RoZXJNZXRob2RcIixcbiAqICAgICAgICAgICAgICAgYXJnczpcbiAqICAgICAgICAgICAgICAgICAgIFtcbiAqICAgICAgICAgICAgICAgICAgICAgICB7dmFsdWU6IFwiTG9sXCIsIHR5cGU6ICdqYXZhLmxhbmcuQ2hhclNlcXVlbmNlJ30sXG4gKiAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlOiAxLCB0eXBlOiAnaW50J31cbiAqICAgICAgICAgICAgICAgICAgIF1cbiAqICAgICAgICAgICB9XG4gKiAgICAgICAgIF1cbiAqIH1cbiAqXG4gKiBJbiBhYm92ZSBleGFtcGxlLCBtZXRob2QgXCJzb21lTWV0aG9kXCIgd2lsbCBiZSBpbnZva2VkIG9uICdhY3Rpdml0eScuIE9uIHRoZSByZXN1bHQsIFwiYW5vdGhlck1ldGhvZFwiIHdpbGwgYmUgaW52b2tlZFxuICogIFwidGFyZ2V0XCIgY2FuIGJlIGVpdGhlciAnYWN0aXZpdHknLCAnYXBwbGljYXRpb24nIG9yICdlbGVtZW50J1xuICogIElmIHRhcmdldCBpcyBzZXQgdG8gJ2FwcGxpY2F0aW9uJywgbWV0aG9kcyB3aWxsIGJlIGludm9rZWQgb24gYXBwbGljYXRpb24gY2xhc3NcbiAqICBJZiB0YXJnZXQgaXMgc2V0IHRvICdhY3Rpdml0eScsIG1ldGhvZHMgd2lsbCBiZSBpbnZva2VkIG9uIGN1cnJlbnQgYWN0aXZpdHlcbiAqICBJZiB0YXJnZXQgaXMgc2V0IHRvICdlbGVtZW50JywgJ2VsZW1lbnRJZCcgbXVzdCBiZSBzcGVjaWZpZWRcbiAqXG4gKiAtIE9ubHkgJ1B1YmxpYycgbWV0aG9kcyBjYW4gYmUgaW52b2tlZC4gKCdvcGVuJyBtb2RpZmlyZSBpcyBuZWNlc3NhcnkgaW4gS290bGluKVxuICogLSBmb2xsb3dpbmcgcHJpbWl0aXZlIHR5cGVzIGFyZSBzdXBwb3J0ZWQ6IFwiaW50XCIsIFwiYm9vbGVhblwiLCBcImJ5dGVcIiwgXCJzaG9ydFwiLCBcImxvbmdcIiwgXCJmbG9hdFwiLCBcImNoYXJcIlxuICogLSAgTm9uLXByaW1pdGl2ZSB0eXBlcyB3aXRoIGZ1bGx5IHF1YWxpZmllZCBuYW1lIFwiamF2YS5sYW5nLipcIiBpcyBhbHNvIHN1cHBvcnRlZDpcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWcuIFwiamF2YS5sYW5nLkNoYXJTZXF1ZW5jZVwiLCBcImphdmEubGFuZy5TdHJpbmdcIiwgXCJqYXZhLmxhbmcuSW50ZWdlclwiLCBcImphdmEubGFuZy5GbG9hdFwiLFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImphdmEubGFuZy5Eb3VibGVcIiwgXCJqYXZhLmxhbmcuQm9vbGVhblwiLCBcImphdmEubGFuZy5Mb25nXCIsIFwiamF2YS5sYW5nLlNob3J0XCIsXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiamF2YS5sYW5nLkNoYXJhY3RlclwiIGV0Yy4uLlxuICpcbiAqXG4gKiBAdGhyb3dzICB7RXJyb3J9IGlmIHRhcmdldCBpcyBub3QgJ2FjdGl2aXR5JyBvciAnYXBwbGljYXRpb24nXG4gKiBAdGhyb3dzICB7RXJyb3J9IGlmIGEgbWV0aG9kIGlzIG5vdCBmb3VuZCB3aXRoIGdpdmVuIGFyZ3VtZW50IHR5cGVzXG4gKlxuICogQHJldHVybiB7Kn0gdGhlIHJlc3VsdCBvZiB0aGUgbGFzdCBtZXRob2QgaW4gdGhlIGludm9jYXRpb24gY2hhaW4uIElmIG1ldGhvZCByZXR1cm4gdHlwZSBpcyB2b2lkLCB0aGVuIFwiPFZPSUQ+XCIgd2lsbCBiZSByZXR1cm5lZFxuICpcbiAqL1xuY29tbWFuZHMubW9iaWxlQmFja2Rvb3IgPSBhc3luYyBmdW5jdGlvbiBtb2JpbGVCYWNrZG9vciAob3B0cyA9IHt9KSB7XG4gIGFzc2VydFJlcXVpcmVkT3B0aW9ucyhvcHRzLCBbJ3RhcmdldCcsICdtZXRob2RzJ10pO1xuICBjb25zdCB7dGFyZ2V0LCBtZXRob2RzfSA9IG9wdHM7XG4gIGlmICh0YXJnZXQgPT09ICdlbGVtZW50Jykge1xuICAgIGFzc2VydFJlcXVpcmVkT3B0aW9ucyhvcHRzLCBbJ2VsZW1lbnRJZCddKTtcbiAgfVxuICBjb25zdCB7ZWxlbWVudElkOiB0YXJnZXRFbGVtZW50fSA9IG9wdHM7XG4gIHJldHVybiBhd2FpdCB0aGlzLmVzcHJlc3NvLmp3cHJveHkuY29tbWFuZChgL2FwcGl1bS9leGVjdXRlX21vYmlsZS9iYWNrZG9vcmAsICdQT1NUJywge3RhcmdldCwgbWV0aG9kcywgdGFyZ2V0RWxlbWVudH0pO1xufTtcblxuLyoqXG4gKiAgRXhlY3V0ZSBVaUF1dG9tYXRvcjIgY29tbWFuZHMgdG8gZHJpdmUgb3V0IG9mIGFwcCBhcmVhcy5cbiAqICBzdHJhdGVneSBjYW4gYmUgb25lIG9mOiBcImNsYXp6XCIsIFwicmVzXCIsIFwidGV4dFwiLCBcInRleHRDb250YWluc1wiLCBcInRleHRFbmRzV2l0aFwiLCBcInRleHRTdGFydHNXaXRoXCIsXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkZXNjXCIsIFwiZGVzY0NvbnRhaW5zXCIsIFwiZGVzY0VuZHNXaXRoXCIsIFwiZGVzY1N0YXJ0c1dpdGhcIiwgXCJwa2dcIlxuICpcbiAqICBhY3Rpb24gY2FuIGJlIG9uZSBvZjogXCJjbGlja1wiLCBcImxvbmdDbGlja1wiLCBcImdldFRleHRcIiwgXCJnZXRDb250ZW50RGVzY3JpcHRpb25cIiwgXCJnZXRDbGFzc05hbWVcIixcbiAqICAgICAgICAgICAgICAgICAgICAgICAgXCJnZXRSZXNvdXJjZU5hbWVcIiwgXCJnZXRWaXNpYmxlQm91bmRzXCIsIFwiZ2V0VmlzaWJsZUNlbnRlclwiLCBcImdldEFwcGxpY2F0aW9uUGFja2FnZVwiLFxuICogICAgICAgICAgICAgICAgICAgICAgICBcImdldENoaWxkQ291bnRcIiwgXCJjbGVhclwiLCBcImlzQ2hlY2thYmxlXCIsIFwiaXNDaGVja2VkXCIsIFwiaXNDbGlja2FibGVcIiwgXCJpc0VuYWJsZWRcIixcbiAqICAgICAgICAgICAgICAgICAgICAgICAgXCJpc0ZvY3VzYWJsZVwiLCBcImlzRm9jdXNlZFwiLCBcImlzTG9uZ0NsaWNrYWJsZVwiLCBcImlzU2Nyb2xsYWJsZVwiLCBcImlzU2VsZWN0ZWRcIlxuICovXG5jb21tYW5kcy5tb2JpbGVVaWF1dG9tYXRvciA9IGFzeW5jIGZ1bmN0aW9uIG1vYmlsZVVpYXV0b21hdG9yIChvcHRzID0ge30pIHtcbiAgY29uc3Qge3N0cmF0ZWd5LCBsb2NhdG9yLCBhY3Rpb24sIGluZGV4fSA9IGFzc2VydFJlcXVpcmVkT3B0aW9ucyhvcHRzLCBbJ3N0cmF0ZWd5JywgJ2xvY2F0b3InLCAnYWN0aW9uJ10pO1xuICByZXR1cm4gYXdhaXQgdGhpcy5lc3ByZXNzby5qd3Byb3h5LmNvbW1hbmQoYC9hcHBpdW0vZXhlY3V0ZV9tb2JpbGUvdWlhdXRvbWF0b3JgLCAnUE9TVCcsIHtzdHJhdGVneSwgbG9jYXRvciwgaW5kZXgsIGFjdGlvbn0pO1xufTtcblxuLyoqXG4gKiAgRXhlY3V0ZSBVaUF1dG9tYXRvcjIgY29tbWFuZCB0byByZXR1cm4gdGhlIFVJIGR1bXAgd2hlbiBBVVQgaXMgaW4gYmFja2dyb3VuZC5cbiAqIEB0aHJvd3MgIHtFcnJvcn0gaWYgdWlhdXRvbWF0b3IgdmlldyBkdW1wIGlzIHVuc3VjY2Vzc2Z1bFxuICogQHJldHVybnMge3N0cmluZ30gdWlhdXRvbWF0b3IgRE9NIHhtbCBhcyBzdHJpbmdcbiAqL1xuY29tbWFuZHMubW9iaWxlVWlhdXRvbWF0b3JQYWdlU291cmNlID0gYXN5bmMgZnVuY3Rpb24gbW9iaWxlVWlhdXRvbWF0b3JQYWdlU291cmNlICgpIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMuZXNwcmVzc28uandwcm94eS5jb21tYW5kKGAvYXBwaXVtL2V4ZWN1dGVfbW9iaWxlL3VpYXV0b21hdG9yX3BhZ2Vfc291cmNlYCwgJ0dFVCcpO1xufTtcblxuLyoqXG4gKiAgRmxhc2ggdGhlIGVsZW1lbnQgd2l0aCBnaXZlbiBpZC5cbiAqICBkdXJhdGlvbk1pbGxpcyBhbmQgcmVwZWF0Q291bnQgYXJlIG9wdGlvbmFsXG4gKlxuICovXG5jb21tYW5kcy5tb2JpbGVGbGFzaEVsZW1lbnQgPSBhc3luYyBmdW5jdGlvbiBtb2JpbGVGbGFzaEVsZW1lbnQgKG9wdHMgPSB7fSkge1xuICBjb25zdCB7ZWxlbWVudH0gPSBhc3NlcnRSZXF1aXJlZE9wdGlvbnMob3B0cywgWydlbGVtZW50J10pO1xuICBjb25zdCB7ZHVyYXRpb25NaWxsaXMsIHJlcGVhdENvdW50fSA9IG9wdHM7XG4gIHJldHVybiBhd2FpdCB0aGlzLmVzcHJlc3NvLmp3cHJveHkuY29tbWFuZChgL2FwcGl1bS9leGVjdXRlX21vYmlsZS8ke3V0aWwudW53cmFwRWxlbWVudChlbGVtZW50KX0vZmxhc2hgLCAnUE9TVCcsIHtcbiAgICBkdXJhdGlvbk1pbGxpcyxcbiAgICByZXBlYXRDb3VudFxuICB9KTtcbn07XG5cbi8qKlxuICogUGVyZm9ybSBhICdHZW5lcmFsQ2xpY2tBY3Rpb24nIChodHRwczovL2RldmVsb3Blci5hbmRyb2lkLmNvbS9yZWZlcmVuY2UvYW5kcm9pZHgvdGVzdC9lc3ByZXNzby9hY3Rpb24vR2VuZXJhbENsaWNrQWN0aW9uKVxuICovXG5jb21tYW5kcy5tb2JpbGVDbGlja0FjdGlvbiA9IGFzeW5jIGZ1bmN0aW9uIG1vYmlsZUNsaWNrQWN0aW9uIChvcHRzID0ge30pIHtcbiAgY29uc3Qge2VsZW1lbnQsIHRhcHBlciwgY29vcmRpbmF0ZXNQcm92aWRlciwgcHJlY2lzaW9uRGVzY3JpYmVyLFxuICAgICAgICAgaW5wdXREZXZpY2UsIGJ1dHRvblN0YXRlfSA9IGFzc2VydFJlcXVpcmVkT3B0aW9ucyhvcHRzLCBbJ2VsZW1lbnQnXSk7XG4gIHJldHVybiBhd2FpdCB0aGlzLmVzcHJlc3NvLmp3cHJveHkuY29tbWFuZChgL2FwcGl1bS9leGVjdXRlX21vYmlsZS8ke3V0aWwudW53cmFwRWxlbWVudChlbGVtZW50KX0vY2xpY2tfYWN0aW9uYCwgJ1BPU1QnLCB7XG4gICAgdGFwcGVyLCBjb29yZGluYXRlc1Byb3ZpZGVyLCBwcmVjaXNpb25EZXNjcmliZXIsIGlucHV0RGV2aWNlLCBidXR0b25TdGF0ZVxuICB9KTtcbn07XG5cbmNvbW1hbmRzLnVwZGF0ZVNldHRpbmdzID0gYXN5bmMgZnVuY3Rpb24gdXBkYXRlU2V0dGluZ3MgKHNldHRpbmdzKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLmVzcHJlc3NvLmp3cHJveHkuY29tbWFuZChgL2FwcGl1bS9zZXR0aW5nc2AsICdQT1NUJywgeyBzZXR0aW5ncyB9KTtcbn07XG5cbmNvbW1hbmRzLmdldFNldHRpbmdzID0gYXN5bmMgZnVuY3Rpb24gZ2V0U2V0dGluZ3MgKCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy5lc3ByZXNzby5qd3Byb3h5LmNvbW1hbmQoYC9hcHBpdW0vc2V0dGluZ3NgLCAnR0VUJyk7XG59O1xuXG4vLyBTdG9wIHByb3h5aW5nIHRvIGFueSBDaHJvbWVkcml2ZXIgYW5kIHJlZGlyZWN0IHRvIEVzcHJlc3NvXG5oZWxwZXJzLnN1c3BlbmRDaHJvbWVkcml2ZXJQcm94eSA9IGZ1bmN0aW9uIHN1c3BlbmRDaHJvbWVkcml2ZXJQcm94eSAoKSB7XG4gIHRoaXMuY2hyb21lZHJpdmVyID0gbnVsbDtcbiAgdGhpcy5wcm94eVJlcVJlcyA9IHRoaXMuZXNwcmVzc28ucHJveHlSZXFSZXMuYmluZCh0aGlzLmVzcHJlc3NvKTtcbiAgdGhpcy5wcm94eUNvbW1hbmQgPSB0aGlzLmVzcHJlc3NvLnByb3h5Q29tbWFuZC5iaW5kKHRoaXMuZXNwcmVzc28pO1xuICB0aGlzLmp3cFByb3h5QWN0aXZlID0gdHJ1ZTtcbn07XG5cbi8qKlxuICogIFN0YXJ0cyB0aGUgZ2l2ZW4gYWN0aXZpdHkgd2l0aCBpbnRlbnQgb3B0aW9ucywgYWN0aXZpdHkgb3B0aW9ucyBhbmQgbG9jYWxlLlxuICogIEFjdGl2aXR5IGNvdWxkIG9ubHkgYmUgZXhlY3V0ZWQgaW4gc2NvcGUgb2YgdGhlIGN1cnJlbnQgYXBwIHBhY2thZ2UuXG4gKlxuICogIGFwcEFjdGl2aXR5IGlzIG1hbmRhdG9yeVxuICpcbiAqICBsb2NhbGUsIG9wdGlvbmFsSW50ZW50QXJndW1lbnRzLCBvcHRpb25hbEFjdGl2aXR5QXJndW1lbnRzIGFyZSBvcHRpb25hbFxuICovXG5jb21tYW5kcy5tb2JpbGVTdGFydEFjdGl2aXR5ID0gYXN5bmMgZnVuY3Rpb24gbW9iaWxlU3RhcnRBY3Rpdml0eSAob3B0cyA9IHt9KSB7XG4gIGNvbnN0IGFwcFBhY2thZ2UgPSB0aGlzLmNhcHMuYXBwUGFja2FnZTtcbiAgY29uc3Qge1xuICAgIGFwcEFjdGl2aXR5LFxuICAgIGxvY2FsZSxcbiAgICBvcHRpb25hbEludGVudEFyZ3VtZW50cyxcbiAgICBvcHRpb25hbEFjdGl2aXR5QXJndW1lbnRzXG4gIH0gPSBhc3NlcnRSZXF1aXJlZE9wdGlvbnMob3B0cywgWydhcHBBY3Rpdml0eSddKTtcbiAgcmV0dXJuIGF3YWl0IHRoaXMuZXNwcmVzc28uandwcm94eS5jb21tYW5kKGAvYXBwaXVtL2RldmljZS9zdGFydF9hY3Rpdml0eWAsICdQT1NUJywge1xuICAgIGFwcFBhY2thZ2UsXG4gICAgYXBwQWN0aXZpdHksXG4gICAgbG9jYWxlLFxuICAgIG9wdGlvbmFsSW50ZW50QXJndW1lbnRzLFxuICAgIG9wdGlvbmFsQWN0aXZpdHlBcmd1bWVudHNcbiAgfSk7XG59O1xuXG5jb21tYW5kcy5zdGFydEFjdGl2aXR5ID0gYXN5bmMgZnVuY3Rpb24gc3RhcnRBY3Rpdml0eSAoYXBwUGFja2FnZSwgYXBwQWN0aXZpdHksXG4gIGFwcFdhaXRQYWNrYWdlLCBhcHBXYWl0QWN0aXZpdHkpIHtcbiAgLy8gaW50ZW50QWN0aW9uLCBpbnRlbnRDYXRlZ29yeSwgaW50ZW50RmxhZ3MsIG9wdGlvbmFsSW50ZW50QXJndW1lbnRzLCBkb250U3RvcEFwcE9uUmVzZXRcbiAgLy8gcGFyYW1ldGVycyBhcmUgbm90IHN1cHBvcnRlZCBieSBFc3ByZXNzb1xuICBhcHBQYWNrYWdlID0gYXBwUGFja2FnZSB8fCB0aGlzLmNhcHMuYXBwUGFja2FnZTtcbiAgYXBwV2FpdFBhY2thZ2UgPSBhcHBXYWl0UGFja2FnZSB8fCBhcHBQYWNrYWdlO1xuICBhcHBBY3Rpdml0eSA9IHF1YWxpZnlBY3Rpdml0eU5hbWUoYXBwQWN0aXZpdHksIGFwcFBhY2thZ2UpO1xuICBhcHBXYWl0QWN0aXZpdHkgPSBxdWFsaWZ5QWN0aXZpdHlOYW1lKGFwcFdhaXRBY3Rpdml0eSB8fCBhcHBBY3Rpdml0eSwgYXBwV2FpdFBhY2thZ2UpO1xuICB0aGlzLmxvZy5kZWJ1ZyhgU3RhcnRpbmcgYWN0aXZpdHkgJyR7YXBwQWN0aXZpdHl9JyBmb3IgcGFja2FnZSAnJHthcHBQYWNrYWdlfSdgKTtcbiAgYXdhaXQgdGhpcy5lc3ByZXNzby5qd3Byb3h5LmNvbW1hbmQoYC9hcHBpdW0vZGV2aWNlL3N0YXJ0X2FjdGl2aXR5YCwgJ1BPU1QnLCB7XG4gICAgYXBwUGFja2FnZSxcbiAgICBhcHBBY3Rpdml0eSxcbiAgfSk7XG4gIGF3YWl0IHRoaXMuYWRiLndhaXRGb3JBY3Rpdml0eShhcHBXYWl0UGFja2FnZSwgYXBwV2FpdEFjdGl2aXR5KTtcbn07XG5cbmNvbW1hbmRzLm1vYmlsZURpc21pc3NBdXRvZmlsbCA9IGFzeW5jIGZ1bmN0aW9uIG1vYmlsZURpc21pc3NBdXRvZmlsbCAob3B0cyA9IHt9KSB7XG4gIGNvbnN0IHtlbGVtZW50fSA9IGFzc2VydFJlcXVpcmVkT3B0aW9ucyhvcHRzLCBbJ2VsZW1lbnQnXSk7XG4gIGF3YWl0IHRoaXMuZXNwcmVzc28uandwcm94eS5jb21tYW5kKFxuICAgIGAvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9leGVjdXRlX21vYmlsZS8ke3V0aWwudW53cmFwRWxlbWVudChlbGVtZW50KX0vZGlzbWlzc19hdXRvZmlsbGAsICdQT1NUJywge30pO1xufTtcblxuT2JqZWN0LmFzc2lnbihleHRlbnNpb25zLCBjb21tYW5kcywgaGVscGVycyk7XG5leHBvcnQgeyBjb21tYW5kcywgaGVscGVycyB9O1xuZXhwb3J0IGRlZmF1bHQgZXh0ZW5zaW9ucztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7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
@@ -1 +1 @@
1
- {"version":3,"file":"general.js","names":["commands","helpers","extensions","assertRequiredOptions","options","requiredOptionNames","_","isArray","presentOptionNames","keys","missingOptionNames","difference","isEmpty","Error","JSON","stringify","launchApp","errors","UnsupportedOperationError","closeApp","reset","getClipboard","adb","getApiLevel","espresso","jwproxy","command","mobilePerformEditorAction","opts","action","mobileSwipe","direction","element","swiper","startCoordinates","endCoordinates","precisionDescriber","util","unwrapElement","mobileGetDeviceInfo","mobileIsToastVisible","text","isRegexp","hasValue","InvalidArgumentError","mobileOpenDrawer","gravity","mobileCloseDrawer","mobileSetDate","year","monthOfYear","dayOfMonth","mobileSetTime","hours","minutes","mobileNavigateTo","menuItemId","menuItemIdAsNumber","parseInt","isNaN","mobileWebAtoms","getDisplayDensity","mobileScrollToPage","scrollToTypes","res","validate","presence","scrollTo","inclusion","within","message","join","scrollToPage","numericality","onlyInteger","greaterThanOrEqualTo","smoothScroll","log","warn","mobileBackdoor","target","methods","elementId","targetElement","mobileUiautomator","strategy","locator","index","mobileUiautomatorPageSource","mobileFlashElement","durationMillis","repeatCount","mobileClickAction","tapper","coordinatesProvider","inputDevice","buttonState","updateSettings","settings","getSettings","suspendChromedriverProxy","chromedriver","proxyReqRes","bind","proxyCommand","jwpProxyActive","mobileStartActivity","appPackage","caps","appActivity","locale","optionalIntentArguments","optionalActivityArguments","startActivity","appWaitPackage","appWaitActivity","qualifyActivityName","debug","waitForActivity","mobileDismissAutofill","Object","assign"],"sources":["../../../lib/commands/general.js"],"sourcesContent":["import _ from 'lodash';\nimport { util } from 'appium/support';\nimport validate from 'validate.js';\nimport { errors } from 'appium/driver';\nimport { qualifyActivityName } from '../utils';\n\nconst commands = {}, helpers = {}, extensions = {};\n\nfunction assertRequiredOptions (options, requiredOptionNames) {\n if (!_.isArray(requiredOptionNames)) {\n requiredOptionNames = [requiredOptionNames];\n }\n const presentOptionNames = _.keys(options);\n const missingOptionNames = _.difference(requiredOptionNames, presentOptionNames);\n if (_.isEmpty(missingOptionNames)) {\n return options;\n }\n throw new Error(`The following options are required: ${JSON.stringify(missingOptionNames)}. ` +\n `You have only provided: ${JSON.stringify(presentOptionNames)}`);\n}\n\n// eslint-disable-next-line require-await\ncommands.launchApp = async function launchApp () {\n throw new errors.UnsupportedOperationError('Please create a new session in order to launch the application under test');\n};\n\n// eslint-disable-next-line require-await\ncommands.closeApp = async function closeApp () {\n throw new errors.UnsupportedOperationError('Please quit the session in order to close the application under test');\n};\n\n// eslint-disable-next-line require-await\ncommands.reset = async function reset () {\n throw new errors.UnsupportedOperationError(\n 'Please quit the session and create a new one ' +\n 'in order to close and launch the application under test');\n};\n\ncommands.getClipboard = async function getClipboard () {\n return (await this.adb.getApiLevel() < 29)\n ? (await this.espresso.jwproxy.command('/appium/device/get_clipboard', 'POST', {}))\n : (await this.adb.getClipboard());\n};\n\ncommands.mobilePerformEditorAction = async function mobilePerformEditorAction (opts = {}) {\n const {action} = assertRequiredOptions(opts, ['action']);\n return await this.espresso.jwproxy.command('/appium/device/perform_editor_action', 'POST', {action});\n};\n\ncommands.mobileSwipe = async function mobileSwipe (opts = {}) {\n const {direction, element, swiper, startCoordinates, endCoordinates, precisionDescriber} = assertRequiredOptions(opts, ['element']);\n return await this.espresso.jwproxy.command(`/appium/execute_mobile/${util.unwrapElement(element)}/swipe`, 'POST', {\n direction, element, swiper, startCoordinates, endCoordinates, precisionDescriber\n });\n};\n\ncommands.mobileGetDeviceInfo = async function mobileGetDeviceInfo () {\n return await this.espresso.jwproxy.command('/appium/device/info', 'GET');\n};\n\ncommands.mobileIsToastVisible = async function mobileIsToastVisible (opts = {}) {\n const {text, isRegexp} = opts;\n if (!util.hasValue(text)) {\n throw new errors.InvalidArgumentError(`'text' argument is mandatory`);\n }\n return await this.espresso.jwproxy.command('/appium/execute_mobile/is_toast_displayed', 'POST', {\n text,\n isRegexp,\n });\n};\n\ncommands.mobileOpenDrawer = async function mobileOpenDrawer (opts = {}) {\n const {element, gravity} = assertRequiredOptions(opts, ['element']);\n\n return await this.espresso.jwproxy.command(`/appium/execute_mobile/${util.unwrapElement(element)}/open_drawer`, 'POST', {\n gravity\n });\n};\n\ncommands.mobileCloseDrawer = async function mobileCloseDrawer (opts = {}) {\n const {element, gravity} = assertRequiredOptions(opts, ['element']);\n\n return await this.espresso.jwproxy.command(`/appium/execute_mobile/${util.unwrapElement(element)}/close_drawer`, 'POST', {\n gravity\n });\n};\n\ncommands.mobileSetDate = async function mobileSetDate (opts = {}) {\n const {element, year, monthOfYear, dayOfMonth} = assertRequiredOptions(opts, ['element', 'year', 'monthOfYear', 'dayOfMonth']);\n\n return await this.espresso.jwproxy.command(`/appium/execute_mobile/${util.unwrapElement(element)}/set_date`, 'POST', {\n year,\n monthOfYear,\n dayOfMonth,\n });\n};\n\ncommands.mobileSetTime = async function mobileSetTime (opts = {}) {\n const {element, hours, minutes} = assertRequiredOptions(opts, ['element', 'hours', 'minutes']);\n\n return await this.espresso.jwproxy.command(`/appium/execute_mobile/${util.unwrapElement(element)}/set_time`, 'POST', {\n hours,\n minutes,\n });\n};\n\ncommands.mobileNavigateTo = async function mobileNavigateTo (opts = {}) {\n let {element, menuItemId} = assertRequiredOptions(opts, ['menuItemId', 'element']);\n\n let menuItemIdAsNumber = parseInt(menuItemId, 10);\n if (_.isNaN(menuItemIdAsNumber) || menuItemIdAsNumber < 0) {\n throw new errors.InvalidArgumentError(`'menuItemId' must be a non-negative number. Found ${menuItemId}`);\n }\n\n return await this.espresso.jwproxy.command(`/appium/execute_mobile/${util.unwrapElement(element)}/navigate_to`, 'POST', {\n menuItemId\n });\n};\n\n/**\n * Runs a chain of Espresso web atoms (see https://developer.android.com/training/testing/espresso/web for reference)\n *\n * Takes JSON of the form\n *\n * {\n * \"webviewEl\": \"<ELEMENT_ID>\", // optional webview element to operate on\n * \"forceJavascriptEnabled\": true|false, // if webview disables javascript, webatoms won't work, this forces it\n * \"methodChain\": [\n * {\"name\": \"methodName\", \"atom\": {\"name\": \"atomName\", \"args\": [\"arg1\", \"arg2\", ...]}},\n * ...\n * ]\n * }\n *\n */\ncommands.mobileWebAtoms = async function mobileWebAtoms (opts = {}) {\n opts = assertRequiredOptions(opts, ['methodChain']);\n return await this.espresso.jwproxy.command(`/appium/execute_mobile/web_atoms`, 'POST', opts);\n};\n\ncommands.getDisplayDensity = async function getDisplayDensity () {\n return await this.espresso.jwproxy.command('/appium/device/display_density', 'GET', {});\n};\n\ncommands.mobileScrollToPage = async function mobileScrollToPage (opts = {}) {\n\n // Validate the parameters\n const scrollToTypes = ['first', 'last', 'left', 'right'];\n const res = validate(opts, {\n element: {presence: true},\n scrollTo: {\n inclusion: {\n within: scrollToTypes,\n message: `\"scrollTo\" must be one of \"${scrollToTypes.join(', ')}\" found '%{value}'`,\n }\n },\n scrollToPage: {\n numericality: {\n onlyInteger: true,\n greaterThanOrEqualTo: 0,\n message: `\"scrollToPage\" must be a non-negative integer. Found '%{value}'`\n },\n },\n });\n if (util.hasValue(res)) {\n throw new errors.InvalidArgumentError(`Invalid scrollTo parameters: ${JSON.stringify(res)}`);\n }\n\n const {element, scrollTo, scrollToPage, smoothScroll} = opts;\n\n if (util.hasValue(scrollTo) && util.hasValue(scrollToPage)) {\n this.log.warn(`'scrollTo' and 'scrollToPage' where both provided. Defaulting to 'scrollTo'`);\n }\n\n return await this.espresso.jwproxy.command(`/appium/execute_mobile/${util.unwrapElement(element)}/scroll_to_page`, 'POST', {\n scrollTo,\n scrollToPage,\n smoothScroll,\n });\n};\n\n\n/**\n * API to invoke methods defined in Android app.\n *\n * Example data\n * {\n * target: 'activity',\n * methods:\n * [\n * {\n * name: \"someMethod\",\n * },\n * {\n * name: \"anotherMethod\",\n * args:\n * [\n * {value: \"Lol\", type: 'java.lang.CharSequence'},\n * {value: 1, type: 'int'}\n * ]\n * }\n * ]\n * }\n *\n * In above example, method \"someMethod\" will be invoked on 'activity'. On the result, \"anotherMethod\" will be invoked\n * \"target\" can be either 'activity', 'application' or 'element'\n * If target is set to 'application', methods will be invoked on application class\n * If target is set to 'activity', methods will be invoked on current activity\n * If target is set to 'element', 'elementId' must be specified\n *\n * - Only 'Public' methods can be invoked. ('open' modifire is necessary in Kotlin)\n * - following primitive types are supported: \"int\", \"boolean\", \"byte\", \"short\", \"long\", \"float\", \"char\"\n * - Non-primitive types with fully qualified name \"java.lang.*\" is also supported:\n * Eg. \"java.lang.CharSequence\", \"java.lang.String\", \"java.lang.Integer\", \"java.lang.Float\",\n * \"java.lang.Double\", \"java.lang.Boolean\", \"java.lang.Long\", \"java.lang.Short\",\n * \"java.lang.Character\" etc...\n *\n *\n * @throws {Error} if target is not 'activity' or 'application'\n * @throws {Error} if a method is not found with given argument types\n *\n * @return {*} the result of the last method in the invocation chain. If method return type is void, then \"<VOID>\" will be returned\n *\n */\ncommands.mobileBackdoor = async function mobileBackdoor (opts = {}) {\n assertRequiredOptions(opts, ['target', 'methods']);\n const {target, methods} = opts;\n if (target === 'element') {\n assertRequiredOptions(opts, ['elementId']);\n }\n const {elementId: targetElement} = opts;\n return await this.espresso.jwproxy.command(`/appium/execute_mobile/backdoor`, 'POST', {target, methods, targetElement});\n};\n\n/**\n * Execute UiAutomator2 commands to drive out of app areas.\n * strategy can be one of: \"clazz\", \"res\", \"text\", \"textContains\", \"textEndsWith\", \"textStartsWith\",\n * \"desc\", \"descContains\", \"descEndsWith\", \"descStartsWith\", \"pkg\"\n *\n * action can be one of: \"click\", \"longClick\", \"getText\", \"getContentDescription\", \"getClassName\",\n * \"getResourceName\", \"getVisibleBounds\", \"getVisibleCenter\", \"getApplicationPackage\",\n * \"getChildCount\", \"clear\", \"isCheckable\", \"isChecked\", \"isClickable\", \"isEnabled\",\n * \"isFocusable\", \"isFocused\", \"isLongClickable\", \"isScrollable\", \"isSelected\"\n */\ncommands.mobileUiautomator = async function mobileUiautomator (opts = {}) {\n const {strategy, locator, action, index} = assertRequiredOptions(opts, ['strategy', 'locator', 'action']);\n return await this.espresso.jwproxy.command(`/appium/execute_mobile/uiautomator`, 'POST', {strategy, locator, index, action});\n};\n\n/**\n * Execute UiAutomator2 command to return the UI dump when AUT is in background.\n * @throws {Error} if uiautomator view dump is unsuccessful\n * @returns {string} uiautomator DOM xml as string\n */\ncommands.mobileUiautomatorPageSource = async function mobileUiautomatorPageSource () {\n return await this.espresso.jwproxy.command(`/appium/execute_mobile/uiautomator_page_source`, 'GET');\n};\n\n/**\n * Flash the element with given id.\n * durationMillis and repeatCount are optional\n *\n */\ncommands.mobileFlashElement = async function mobileFlashElement (opts = {}) {\n const {element} = assertRequiredOptions(opts, ['element']);\n const {durationMillis, repeatCount} = opts;\n return await this.espresso.jwproxy.command(`/appium/execute_mobile/${util.unwrapElement(element)}/flash`, 'POST', {\n durationMillis,\n repeatCount\n });\n};\n\n/**\n * Perform a 'GeneralClickAction' (https://developer.android.com/reference/androidx/test/espresso/action/GeneralClickAction)\n */\ncommands.mobileClickAction = async function mobileClickAction (opts = {}) {\n const {element, tapper, coordinatesProvider, precisionDescriber,\n inputDevice, buttonState} = assertRequiredOptions(opts, ['element']);\n return await this.espresso.jwproxy.command(`/appium/execute_mobile/${util.unwrapElement(element)}/click_action`, 'POST', {\n tapper, coordinatesProvider, precisionDescriber, inputDevice, buttonState\n });\n};\n\ncommands.updateSettings = async function updateSettings (settings) {\n return await this.espresso.jwproxy.command(`/appium/settings`, 'POST', { settings });\n};\n\ncommands.getSettings = async function getSettings () {\n return await this.espresso.jwproxy.command(`/appium/settings`, 'GET');\n};\n\n// Stop proxying to any Chromedriver and redirect to Espresso\nhelpers.suspendChromedriverProxy = function suspendChromedriverProxy () {\n this.chromedriver = null;\n this.proxyReqRes = this.espresso.proxyReqRes.bind(this.espresso);\n this.proxyCommand = this.espresso.proxyCommand.bind(this.espresso);\n this.jwpProxyActive = true;\n};\n\n/**\n * Starts the given activity with intent options, activity options and locale.\n * Activity could only be executed in scope of the current app package.\n *\n * appActivity is mandatory\n *\n * locale, optionalIntentArguments, optionalActivityArguments are optional\n */\ncommands.mobileStartActivity = async function mobileStartActivity (opts = {}) {\n const appPackage = this.caps.appPackage;\n const {\n appActivity,\n locale,\n optionalIntentArguments,\n optionalActivityArguments\n } = assertRequiredOptions(opts, ['appActivity']);\n return await this.espresso.jwproxy.command(`/appium/device/start_activity`, 'POST', {\n appPackage,\n appActivity,\n locale,\n optionalIntentArguments,\n optionalActivityArguments\n });\n};\n\ncommands.startActivity = async function startActivity (appPackage, appActivity,\n appWaitPackage, appWaitActivity) {\n // intentAction, intentCategory, intentFlags, optionalIntentArguments, dontStopAppOnReset\n // parameters are not supported by Espresso\n appPackage = appPackage || this.caps.appPackage;\n appWaitPackage = appWaitPackage || appPackage;\n appActivity = qualifyActivityName(appActivity, appPackage);\n appWaitActivity = qualifyActivityName(appWaitActivity || appActivity, appWaitPackage);\n this.log.debug(`Starting activity '${appActivity}' for package '${appPackage}'`);\n await this.espresso.jwproxy.command(`/appium/device/start_activity`, 'POST', {\n appPackage,\n appActivity,\n });\n await this.adb.waitForActivity(appWaitPackage, appWaitActivity);\n};\n\ncommands.mobileDismissAutofill = async function mobileDismissAutofill (opts = {}) {\n const {element} = assertRequiredOptions(opts, ['element']);\n await this.espresso.jwproxy.command(\n `/session/:sessionId/appium/execute_mobile/${util.unwrapElement(element)}/dismiss_autofill`, 'POST', {});\n};\n\nObject.assign(extensions, commands, helpers);\nexport { commands, helpers };\nexport default extensions;\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAEA,MAAMA,QAAQ,GAAG,CAAC,CAAC;EAAEC,OAAO,GAAG,CAAC,CAAC;EAAEC,UAAU,GAAG,CAAC,CAAC;AAAC;AAAA;AAEnD,SAASC,qBAAqB,CAAEC,OAAO,EAAEC,mBAAmB,EAAE;EAC5D,IAAI,CAACC,eAAC,CAACC,OAAO,CAACF,mBAAmB,CAAC,EAAE;IACnCA,mBAAmB,GAAG,CAACA,mBAAmB,CAAC;EAC7C;EACA,MAAMG,kBAAkB,GAAGF,eAAC,CAACG,IAAI,CAACL,OAAO,CAAC;EAC1C,MAAMM,kBAAkB,GAAGJ,eAAC,CAACK,UAAU,CAACN,mBAAmB,EAAEG,kBAAkB,CAAC;EAChF,IAAIF,eAAC,CAACM,OAAO,CAACF,kBAAkB,CAAC,EAAE;IACjC,OAAON,OAAO;EAChB;EACA,MAAM,IAAIS,KAAK,CAAE,uCAAsCC,IAAI,CAACC,SAAS,CAACL,kBAAkB,CAAE,IAAG,GAC1F,2BAA0BI,IAAI,CAACC,SAAS,CAACP,kBAAkB,CAAE,EAAC,CAAC;AACpE;;AAGAR,QAAQ,CAACgB,SAAS,GAAG,eAAeA,SAAS,GAAI;EAC/C,MAAM,IAAIC,cAAM,CAACC,yBAAyB,CAAC,2EAA2E,CAAC;AACzH,CAAC;;AAGDlB,QAAQ,CAACmB,QAAQ,GAAG,eAAeA,QAAQ,GAAI;EAC7C,MAAM,IAAIF,cAAM,CAACC,yBAAyB,CAAC,sEAAsE,CAAC;AACpH,CAAC;;AAGDlB,QAAQ,CAACoB,KAAK,GAAG,eAAeA,KAAK,GAAI;EACvC,MAAM,IAAIH,cAAM,CAACC,yBAAyB,CACxC,+CAA+C,GAC/C,yDAAyD,CAAC;AAC9D,CAAC;AAEDlB,QAAQ,CAACqB,YAAY,GAAG,eAAeA,YAAY,GAAI;EACrD,OAAQ,OAAM,IAAI,CAACC,GAAG,CAACC,WAAW,EAAE,IAAG,EAAE,GACpC,MAAM,IAAI,CAACC,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAC,8BAA8B,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,GAC/E,MAAM,IAAI,CAACJ,GAAG,CAACD,YAAY,EAAG;AACrC,CAAC;AAEDrB,QAAQ,CAAC2B,yBAAyB,GAAG,eAAeA,yBAAyB,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAE;EACxF,MAAM;IAACC;EAAM,CAAC,GAAG1B,qBAAqB,CAACyB,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC;EACxD,OAAO,MAAM,IAAI,CAACJ,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAC,sCAAsC,EAAE,MAAM,EAAE;IAACG;EAAM,CAAC,CAAC;AACtG,CAAC;AAED7B,QAAQ,CAAC8B,WAAW,GAAG,eAAeA,WAAW,CAAEF,IAAI,GAAG,CAAC,CAAC,EAAE;EAC5D,MAAM;IAACG,SAAS;IAAEC,OAAO;IAAEC,MAAM;IAAEC,gBAAgB;IAAEC,cAAc;IAAEC;EAAkB,CAAC,GAAGjC,qBAAqB,CAACyB,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;EACnI,OAAO,MAAM,IAAI,CAACJ,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAE,0BAAyBW,aAAI,CAACC,aAAa,CAACN,OAAO,CAAE,QAAO,EAAE,MAAM,EAAE;IAChHD,SAAS;IAAEC,OAAO;IAAEC,MAAM;IAAEC,gBAAgB;IAAEC,cAAc;IAAEC;EAChE,CAAC,CAAC;AACJ,CAAC;AAEDpC,QAAQ,CAACuC,mBAAmB,GAAG,eAAeA,mBAAmB,GAAI;EACnE,OAAO,MAAM,IAAI,CAACf,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAC,qBAAqB,EAAE,KAAK,CAAC;AAC1E,CAAC;AAED1B,QAAQ,CAACwC,oBAAoB,GAAG,eAAeA,oBAAoB,CAAEZ,IAAI,GAAG,CAAC,CAAC,EAAE;EAC9E,MAAM;IAACa,IAAI;IAAEC;EAAQ,CAAC,GAAGd,IAAI;EAC7B,IAAI,CAACS,aAAI,CAACM,QAAQ,CAACF,IAAI,CAAC,EAAE;IACxB,MAAM,IAAIxB,cAAM,CAAC2B,oBAAoB,CAAE,8BAA6B,CAAC;EACvE;EACA,OAAO,MAAM,IAAI,CAACpB,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAC,2CAA2C,EAAE,MAAM,EAAE;IAC9Fe,IAAI;IACJC;EACF,CAAC,CAAC;AACJ,CAAC;AAED1C,QAAQ,CAAC6C,gBAAgB,GAAG,eAAeA,gBAAgB,CAAEjB,IAAI,GAAG,CAAC,CAAC,EAAE;EACtE,MAAM;IAACI,OAAO;IAAEc;EAAO,CAAC,GAAG3C,qBAAqB,CAACyB,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;EAEnE,OAAO,MAAM,IAAI,CAACJ,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAE,0BAAyBW,aAAI,CAACC,aAAa,CAACN,OAAO,CAAE,cAAa,EAAE,MAAM,EAAE;IACtHc;EACF,CAAC,CAAC;AACJ,CAAC;AAED9C,QAAQ,CAAC+C,iBAAiB,GAAG,eAAeA,iBAAiB,CAAEnB,IAAI,GAAG,CAAC,CAAC,EAAE;EACxE,MAAM;IAACI,OAAO;IAAEc;EAAO,CAAC,GAAG3C,qBAAqB,CAACyB,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;EAEnE,OAAO,MAAM,IAAI,CAACJ,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAE,0BAAyBW,aAAI,CAACC,aAAa,CAACN,OAAO,CAAE,eAAc,EAAE,MAAM,EAAE;IACvHc;EACF,CAAC,CAAC;AACJ,CAAC;AAED9C,QAAQ,CAACgD,aAAa,GAAG,eAAeA,aAAa,CAAEpB,IAAI,GAAG,CAAC,CAAC,EAAE;EAChE,MAAM;IAACI,OAAO;IAAEiB,IAAI;IAAEC,WAAW;IAAEC;EAAU,CAAC,GAAGhD,qBAAqB,CAACyB,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;EAE9H,OAAO,MAAM,IAAI,CAACJ,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAE,0BAAyBW,aAAI,CAACC,aAAa,CAACN,OAAO,CAAE,WAAU,EAAE,MAAM,EAAE;IACnHiB,IAAI;IACJC,WAAW;IACXC;EACF,CAAC,CAAC;AACJ,CAAC;AAEDnD,QAAQ,CAACoD,aAAa,GAAG,eAAeA,aAAa,CAAExB,IAAI,GAAG,CAAC,CAAC,EAAE;EAChE,MAAM;IAACI,OAAO;IAAEqB,KAAK;IAAEC;EAAO,CAAC,GAAGnD,qBAAqB,CAACyB,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;EAE9F,OAAO,MAAM,IAAI,CAACJ,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAE,0BAAyBW,aAAI,CAACC,aAAa,CAACN,OAAO,CAAE,WAAU,EAAE,MAAM,EAAE;IACnHqB,KAAK;IACLC;EACF,CAAC,CAAC;AACJ,CAAC;AAEDtD,QAAQ,CAACuD,gBAAgB,GAAG,eAAeA,gBAAgB,CAAE3B,IAAI,GAAG,CAAC,CAAC,EAAE;EACtE,IAAI;IAACI,OAAO;IAAEwB;EAAU,CAAC,GAAGrD,qBAAqB,CAACyB,IAAI,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;EAElF,IAAI6B,kBAAkB,GAAGC,QAAQ,CAACF,UAAU,EAAE,EAAE,CAAC;EACjD,IAAIlD,eAAC,CAACqD,KAAK,CAACF,kBAAkB,CAAC,IAAIA,kBAAkB,GAAG,CAAC,EAAE;IACzD,MAAM,IAAIxC,cAAM,CAAC2B,oBAAoB,CAAE,qDAAoDY,UAAW,EAAC,CAAC;EAC1G;EAEA,OAAO,MAAM,IAAI,CAAChC,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAE,0BAAyBW,aAAI,CAACC,aAAa,CAACN,OAAO,CAAE,cAAa,EAAE,MAAM,EAAE;IACtHwB;EACF,CAAC,CAAC;AACJ,CAAC;;AAiBDxD,QAAQ,CAAC4D,cAAc,GAAG,eAAeA,cAAc,CAAEhC,IAAI,GAAG,CAAC,CAAC,EAAE;EAClEA,IAAI,GAAGzB,qBAAqB,CAACyB,IAAI,EAAE,CAAC,aAAa,CAAC,CAAC;EACnD,OAAO,MAAM,IAAI,CAACJ,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAE,kCAAiC,EAAE,MAAM,EAAEE,IAAI,CAAC;AAC9F,CAAC;AAED5B,QAAQ,CAAC6D,iBAAiB,GAAG,eAAeA,iBAAiB,GAAI;EAC/D,OAAO,MAAM,IAAI,CAACrC,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAC,gCAAgC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AACzF,CAAC;AAED1B,QAAQ,CAAC8D,kBAAkB,GAAG,eAAeA,kBAAkB,CAAElC,IAAI,GAAG,CAAC,CAAC,EAAE;EAG1E,MAAMmC,aAAa,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;EACxD,MAAMC,GAAG,GAAG,IAAAC,iBAAQ,EAACrC,IAAI,EAAE;IACzBI,OAAO,EAAE;MAACkC,QAAQ,EAAE;IAAI,CAAC;IACzBC,QAAQ,EAAE;MACRC,SAAS,EAAE;QACTC,MAAM,EAAEN,aAAa;QACrBO,OAAO,EAAG,8BAA6BP,aAAa,CAACQ,IAAI,CAAC,IAAI,CAAE;MAClE;IACF,CAAC;IACDC,YAAY,EAAE;MACZC,YAAY,EAAE;QACZC,WAAW,EAAE,IAAI;QACjBC,oBAAoB,EAAE,CAAC;QACvBL,OAAO,EAAG;MACZ;IACF;EACF,CAAC,CAAC;EACF,IAAIjC,aAAI,CAACM,QAAQ,CAACqB,GAAG,CAAC,EAAE;IACtB,MAAM,IAAI/C,cAAM,CAAC2B,oBAAoB,CAAE,gCAA+B9B,IAAI,CAACC,SAAS,CAACiD,GAAG,CAAE,EAAC,CAAC;EAC9F;EAEA,MAAM;IAAChC,OAAO;IAAEmC,QAAQ;IAAEK,YAAY;IAAEI;EAAY,CAAC,GAAGhD,IAAI;EAE5D,IAAIS,aAAI,CAACM,QAAQ,CAACwB,QAAQ,CAAC,IAAI9B,aAAI,CAACM,QAAQ,CAAC6B,YAAY,CAAC,EAAE;IAC1D,IAAI,CAACK,GAAG,CAACC,IAAI,CAAE,6EAA4E,CAAC;EAC9F;EAEA,OAAO,MAAM,IAAI,CAACtD,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAE,0BAAyBW,aAAI,CAACC,aAAa,CAACN,OAAO,CAAE,iBAAgB,EAAE,MAAM,EAAE;IACzHmC,QAAQ;IACRK,YAAY;IACZI;EACF,CAAC,CAAC;AACJ,CAAC;;AA6CD5E,QAAQ,CAAC+E,cAAc,GAAG,eAAeA,cAAc,CAAEnD,IAAI,GAAG,CAAC,CAAC,EAAE;EAClEzB,qBAAqB,CAACyB,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;EAClD,MAAM;IAACoD,MAAM;IAAEC;EAAO,CAAC,GAAGrD,IAAI;EAC9B,IAAIoD,MAAM,KAAK,SAAS,EAAE;IACxB7E,qBAAqB,CAACyB,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC;EAC5C;EACA,MAAM;IAACsD,SAAS,EAAEC;EAAa,CAAC,GAAGvD,IAAI;EACvC,OAAO,MAAM,IAAI,CAACJ,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAE,iCAAgC,EAAE,MAAM,EAAE;IAACsD,MAAM;IAAEC,OAAO;IAAEE;EAAa,CAAC,CAAC;AACzH,CAAC;;AAYDnF,QAAQ,CAACoF,iBAAiB,GAAG,eAAeA,iBAAiB,CAAExD,IAAI,GAAG,CAAC,CAAC,EAAE;EACxE,MAAM;IAACyD,QAAQ;IAAEC,OAAO;IAAEzD,MAAM;IAAE0D;EAAK,CAAC,GAAGpF,qBAAqB,CAACyB,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;EACzG,OAAO,MAAM,IAAI,CAACJ,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAE,oCAAmC,EAAE,MAAM,EAAE;IAAC2D,QAAQ;IAAEC,OAAO;IAAEC,KAAK;IAAE1D;EAAM,CAAC,CAAC;AAC9H,CAAC;;AAOD7B,QAAQ,CAACwF,2BAA2B,GAAG,eAAeA,2BAA2B,GAAI;EACnF,OAAO,MAAM,IAAI,CAAChE,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAE,gDAA+C,EAAE,KAAK,CAAC;AACrG,CAAC;;AAOD1B,QAAQ,CAACyF,kBAAkB,GAAG,eAAeA,kBAAkB,CAAE7D,IAAI,GAAG,CAAC,CAAC,EAAE;EAC1E,MAAM;IAACI;EAAO,CAAC,GAAG7B,qBAAqB,CAACyB,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;EAC1D,MAAM;IAAC8D,cAAc;IAAEC;EAAW,CAAC,GAAG/D,IAAI;EAC1C,OAAO,MAAM,IAAI,CAACJ,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAE,0BAAyBW,aAAI,CAACC,aAAa,CAACN,OAAO,CAAE,QAAO,EAAE,MAAM,EAAE;IAChH0D,cAAc;IACdC;EACF,CAAC,CAAC;AACJ,CAAC;;AAKD3F,QAAQ,CAAC4F,iBAAiB,GAAG,eAAeA,iBAAiB,CAAEhE,IAAI,GAAG,CAAC,CAAC,EAAE;EACxE,MAAM;IAACI,OAAO;IAAE6D,MAAM;IAAEC,mBAAmB;IAAE1D,kBAAkB;IACxD2D,WAAW;IAAEC;EAAW,CAAC,GAAG7F,qBAAqB,CAACyB,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;EAC3E,OAAO,MAAM,IAAI,CAACJ,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAE,0BAAyBW,aAAI,CAACC,aAAa,CAACN,OAAO,CAAE,eAAc,EAAE,MAAM,EAAE;IACvH6D,MAAM;IAAEC,mBAAmB;IAAE1D,kBAAkB;IAAE2D,WAAW;IAAEC;EAChE,CAAC,CAAC;AACJ,CAAC;AAEDhG,QAAQ,CAACiG,cAAc,GAAG,eAAeA,cAAc,CAAEC,QAAQ,EAAE;EACjE,OAAO,MAAM,IAAI,CAAC1E,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAE,kBAAiB,EAAE,MAAM,EAAE;IAAEwE;EAAS,CAAC,CAAC;AACtF,CAAC;AAEDlG,QAAQ,CAACmG,WAAW,GAAG,eAAeA,WAAW,GAAI;EACnD,OAAO,MAAM,IAAI,CAAC3E,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAE,kBAAiB,EAAE,KAAK,CAAC;AACvE,CAAC;;AAGDzB,OAAO,CAACmG,wBAAwB,GAAG,SAASA,wBAAwB,GAAI;EACtE,IAAI,CAACC,YAAY,GAAG,IAAI;EACxB,IAAI,CAACC,WAAW,GAAG,IAAI,CAAC9E,QAAQ,CAAC8E,WAAW,CAACC,IAAI,CAAC,IAAI,CAAC/E,QAAQ,CAAC;EAChE,IAAI,CAACgF,YAAY,GAAG,IAAI,CAAChF,QAAQ,CAACgF,YAAY,CAACD,IAAI,CAAC,IAAI,CAAC/E,QAAQ,CAAC;EAClE,IAAI,CAACiF,cAAc,GAAG,IAAI;AAC5B,CAAC;;AAUDzG,QAAQ,CAAC0G,mBAAmB,GAAG,eAAeA,mBAAmB,CAAE9E,IAAI,GAAG,CAAC,CAAC,EAAE;EAC5E,MAAM+E,UAAU,GAAG,IAAI,CAACC,IAAI,CAACD,UAAU;EACvC,MAAM;IACJE,WAAW;IACXC,MAAM;IACNC,uBAAuB;IACvBC;EACF,CAAC,GAAG7G,qBAAqB,CAACyB,IAAI,EAAE,CAAC,aAAa,CAAC,CAAC;EAChD,OAAO,MAAM,IAAI,CAACJ,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAE,+BAA8B,EAAE,MAAM,EAAE;IAClFiF,UAAU;IACVE,WAAW;IACXC,MAAM;IACNC,uBAAuB;IACvBC;EACF,CAAC,CAAC;AACJ,CAAC;AAEDhH,QAAQ,CAACiH,aAAa,GAAG,eAAeA,aAAa,CAAEN,UAAU,EAAEE,WAAW,EAC5EK,cAAc,EAAEC,eAAe,EAAE;EAGjCR,UAAU,GAAGA,UAAU,IAAI,IAAI,CAACC,IAAI,CAACD,UAAU;EAC/CO,cAAc,GAAGA,cAAc,IAAIP,UAAU;EAC7CE,WAAW,GAAG,IAAAO,0BAAmB,EAACP,WAAW,EAAEF,UAAU,CAAC;EAC1DQ,eAAe,GAAG,IAAAC,0BAAmB,EAACD,eAAe,IAAIN,WAAW,EAAEK,cAAc,CAAC;EACrF,IAAI,CAACrC,GAAG,CAACwC,KAAK,CAAE,sBAAqBR,WAAY,kBAAiBF,UAAW,GAAE,CAAC;EAChF,MAAM,IAAI,CAACnF,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAE,+BAA8B,EAAE,MAAM,EAAE;IAC3EiF,UAAU;IACVE;EACF,CAAC,CAAC;EACF,MAAM,IAAI,CAACvF,GAAG,CAACgG,eAAe,CAACJ,cAAc,EAAEC,eAAe,CAAC;AACjE,CAAC;AAEDnH,QAAQ,CAACuH,qBAAqB,GAAG,eAAeA,qBAAqB,CAAE3F,IAAI,GAAG,CAAC,CAAC,EAAE;EAChF,MAAM;IAACI;EAAO,CAAC,GAAG7B,qBAAqB,CAACyB,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;EAC1D,MAAM,IAAI,CAACJ,QAAQ,CAACC,OAAO,CAACC,OAAO,CAChC,6CAA4CW,aAAI,CAACC,aAAa,CAACN,OAAO,CAAE,mBAAkB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AAC5G,CAAC;AAEDwF,MAAM,CAACC,MAAM,CAACvH,UAAU,EAAEF,QAAQ,EAAEC,OAAO,CAAC;AAAC,eAE9BC,UAAU;AAAA"}
1
+ {"version":3,"file":"general.js","names":["commands","helpers","extensions","assertRequiredOptions","options","requiredOptionNames","_","isArray","presentOptionNames","keys","missingOptionNames","difference","isEmpty","Error","JSON","stringify","launchApp","errors","UnsupportedOperationError","closeApp","reset","getClipboard","adb","getApiLevel","espresso","jwproxy","command","mobilePerformEditorAction","opts","action","mobileSwipe","direction","element","swiper","startCoordinates","endCoordinates","precisionDescriber","util","unwrapElement","mobileGetDeviceInfo","mobileIsToastVisible","text","isRegexp","hasValue","InvalidArgumentError","mobileOpenDrawer","gravity","mobileCloseDrawer","mobileSetDate","year","monthOfYear","dayOfMonth","mobileSetTime","hours","minutes","mobileNavigateTo","menuItemId","menuItemIdAsNumber","parseInt","isNaN","mobileWebAtoms","getDisplayDensity","mobileScrollToPage","scrollToTypes","res","validate","presence","scrollTo","inclusion","within","message","join","scrollToPage","numericality","onlyInteger","greaterThanOrEqualTo","smoothScroll","log","warn","mobileBackdoor","target","methods","elementId","targetElement","mobileUiautomator","strategy","locator","index","mobileUiautomatorPageSource","mobileFlashElement","durationMillis","repeatCount","mobileClickAction","tapper","coordinatesProvider","inputDevice","buttonState","updateSettings","settings","getSettings","suspendChromedriverProxy","chromedriver","proxyReqRes","bind","proxyCommand","jwpProxyActive","mobileStartActivity","appPackage","caps","appActivity","locale","optionalIntentArguments","optionalActivityArguments","startActivity","appWaitPackage","appWaitActivity","qualifyActivityName","debug","waitForActivity","mobileDismissAutofill","Object","assign"],"sources":["../../../lib/commands/general.js"],"sourcesContent":["import _ from 'lodash';\nimport { util } from 'appium/support';\nimport validate from 'validate.js';\nimport { errors } from 'appium/driver';\nimport { qualifyActivityName } from '../utils';\n\nconst commands = {}, helpers = {}, extensions = {};\n\nfunction assertRequiredOptions (options, requiredOptionNames) {\n if (!_.isArray(requiredOptionNames)) {\n requiredOptionNames = [requiredOptionNames];\n }\n const presentOptionNames = _.keys(options);\n const missingOptionNames = _.difference(requiredOptionNames, presentOptionNames);\n if (_.isEmpty(missingOptionNames)) {\n return options;\n }\n throw new Error(`The following options are required: ${JSON.stringify(missingOptionNames)}. ` +\n `You have only provided: ${JSON.stringify(presentOptionNames)}`);\n}\n\n// eslint-disable-next-line require-await\ncommands.launchApp = async function launchApp () {\n throw new errors.UnsupportedOperationError('Please create a new session in order to launch the application under test');\n};\n\n// eslint-disable-next-line require-await\ncommands.closeApp = async function closeApp () {\n throw new errors.UnsupportedOperationError('Please quit the session in order to close the application under test');\n};\n\n// eslint-disable-next-line require-await\ncommands.reset = async function reset () {\n throw new errors.UnsupportedOperationError(\n 'Please quit the session and create a new one ' +\n 'in order to close and launch the application under test');\n};\n\ncommands.getClipboard = async function getClipboard () {\n return (await this.adb.getApiLevel() < 29)\n ? (await this.espresso.jwproxy.command('/appium/device/get_clipboard', 'POST', {}))\n : (await this.adb.getClipboard());\n};\n\ncommands.mobilePerformEditorAction = async function mobilePerformEditorAction (opts = {}) {\n const {action} = assertRequiredOptions(opts, ['action']);\n return await this.espresso.jwproxy.command('/appium/device/perform_editor_action', 'POST', {action});\n};\n\ncommands.mobileSwipe = async function mobileSwipe (opts = {}) {\n const {direction, element, swiper, startCoordinates, endCoordinates, precisionDescriber} = assertRequiredOptions(opts, ['element']);\n return await this.espresso.jwproxy.command(`/appium/execute_mobile/${util.unwrapElement(element)}/swipe`, 'POST', {\n direction, element, swiper, startCoordinates, endCoordinates, precisionDescriber\n });\n};\n\ncommands.mobileGetDeviceInfo = async function mobileGetDeviceInfo () {\n return await this.espresso.jwproxy.command('/appium/device/info', 'GET');\n};\n\ncommands.mobileIsToastVisible = async function mobileIsToastVisible (opts = {}) {\n const {text, isRegexp} = opts;\n if (!util.hasValue(text)) {\n throw new errors.InvalidArgumentError(`'text' argument is mandatory`);\n }\n return await this.espresso.jwproxy.command('/appium/execute_mobile/is_toast_displayed', 'POST', {\n text,\n isRegexp,\n });\n};\n\ncommands.mobileOpenDrawer = async function mobileOpenDrawer (opts = {}) {\n const {element, gravity} = assertRequiredOptions(opts, ['element']);\n\n return await this.espresso.jwproxy.command(`/appium/execute_mobile/${util.unwrapElement(element)}/open_drawer`, 'POST', {\n gravity\n });\n};\n\ncommands.mobileCloseDrawer = async function mobileCloseDrawer (opts = {}) {\n const {element, gravity} = assertRequiredOptions(opts, ['element']);\n\n return await this.espresso.jwproxy.command(`/appium/execute_mobile/${util.unwrapElement(element)}/close_drawer`, 'POST', {\n gravity\n });\n};\n\ncommands.mobileSetDate = async function mobileSetDate (opts = {}) {\n const {element, year, monthOfYear, dayOfMonth} = assertRequiredOptions(opts, ['element', 'year', 'monthOfYear', 'dayOfMonth']);\n\n return await this.espresso.jwproxy.command(`/appium/execute_mobile/${util.unwrapElement(element)}/set_date`, 'POST', {\n year,\n monthOfYear,\n dayOfMonth,\n });\n};\n\ncommands.mobileSetTime = async function mobileSetTime (opts = {}) {\n const {element, hours, minutes} = assertRequiredOptions(opts, ['element', 'hours', 'minutes']);\n\n return await this.espresso.jwproxy.command(`/appium/execute_mobile/${util.unwrapElement(element)}/set_time`, 'POST', {\n hours,\n minutes,\n });\n};\n\ncommands.mobileNavigateTo = async function mobileNavigateTo (opts = {}) {\n let {element, menuItemId} = assertRequiredOptions(opts, ['menuItemId', 'element']);\n\n let menuItemIdAsNumber = parseInt(menuItemId, 10);\n if (_.isNaN(menuItemIdAsNumber) || menuItemIdAsNumber < 0) {\n throw new errors.InvalidArgumentError(`'menuItemId' must be a non-negative number. Found ${menuItemId}`);\n }\n\n return await this.espresso.jwproxy.command(`/appium/execute_mobile/${util.unwrapElement(element)}/navigate_to`, 'POST', {\n menuItemId\n });\n};\n\n/**\n * Runs a chain of Espresso web atoms (see https://developer.android.com/training/testing/espresso/web for reference)\n *\n * Takes JSON of the form\n *\n * {\n * \"webviewEl\": \"<ELEMENT_ID>\", // optional webview element to operate on\n * \"forceJavascriptEnabled\": true|false, // if webview disables javascript, webatoms won't work, this forces it\n * \"methodChain\": [\n * {\"name\": \"methodName\", \"atom\": {\"name\": \"atomName\", \"args\": [\"arg1\", \"arg2\", ...]}},\n * ...\n * ]\n * }\n *\n */\ncommands.mobileWebAtoms = async function mobileWebAtoms (opts = {}) {\n opts = assertRequiredOptions(opts, ['methodChain']);\n return await this.espresso.jwproxy.command(`/appium/execute_mobile/web_atoms`, 'POST', opts);\n};\n\ncommands.getDisplayDensity = async function getDisplayDensity () {\n return await this.espresso.jwproxy.command('/appium/device/display_density', 'GET', {});\n};\n\ncommands.mobileScrollToPage = async function mobileScrollToPage (opts = {}) {\n\n // Validate the parameters\n const scrollToTypes = ['first', 'last', 'left', 'right'];\n const res = validate(opts, {\n element: {presence: true},\n scrollTo: {\n inclusion: {\n within: scrollToTypes,\n message: `\"scrollTo\" must be one of \"${scrollToTypes.join(', ')}\" found '%{value}'`,\n }\n },\n scrollToPage: {\n numericality: {\n onlyInteger: true,\n greaterThanOrEqualTo: 0,\n message: `\"scrollToPage\" must be a non-negative integer. Found '%{value}'`\n },\n },\n });\n if (util.hasValue(res)) {\n throw new errors.InvalidArgumentError(`Invalid scrollTo parameters: ${JSON.stringify(res)}`);\n }\n\n const {element, scrollTo, scrollToPage, smoothScroll} = opts;\n\n if (util.hasValue(scrollTo) && util.hasValue(scrollToPage)) {\n this.log.warn(`'scrollTo' and 'scrollToPage' where both provided. Defaulting to 'scrollTo'`);\n }\n\n return await this.espresso.jwproxy.command(`/appium/execute_mobile/${util.unwrapElement(element)}/scroll_to_page`, 'POST', {\n scrollTo,\n scrollToPage,\n smoothScroll,\n });\n};\n\n\n/**\n * API to invoke methods defined in Android app.\n *\n * Example data\n * {\n * target: 'activity',\n * methods:\n * [\n * {\n * name: \"someMethod\",\n * },\n * {\n * name: \"anotherMethod\",\n * args:\n * [\n * {value: \"Lol\", type: 'java.lang.CharSequence'},\n * {value: 1, type: 'int'}\n * ]\n * }\n * ]\n * }\n *\n * In above example, method \"someMethod\" will be invoked on 'activity'. On the result, \"anotherMethod\" will be invoked\n * \"target\" can be either 'activity', 'application' or 'element'\n * If target is set to 'application', methods will be invoked on application class\n * If target is set to 'activity', methods will be invoked on current activity\n * If target is set to 'element', 'elementId' must be specified\n *\n * - Only 'Public' methods can be invoked. ('open' modifire is necessary in Kotlin)\n * - following primitive types are supported: \"int\", \"boolean\", \"byte\", \"short\", \"long\", \"float\", \"char\"\n * - Non-primitive types with fully qualified name \"java.lang.*\" is also supported:\n * Eg. \"java.lang.CharSequence\", \"java.lang.String\", \"java.lang.Integer\", \"java.lang.Float\",\n * \"java.lang.Double\", \"java.lang.Boolean\", \"java.lang.Long\", \"java.lang.Short\",\n * \"java.lang.Character\" etc...\n *\n *\n * @throws {Error} if target is not 'activity' or 'application'\n * @throws {Error} if a method is not found with given argument types\n *\n * @return {*} the result of the last method in the invocation chain. If method return type is void, then \"<VOID>\" will be returned\n *\n */\ncommands.mobileBackdoor = async function mobileBackdoor (opts = {}) {\n assertRequiredOptions(opts, ['target', 'methods']);\n const {target, methods} = opts;\n if (target === 'element') {\n assertRequiredOptions(opts, ['elementId']);\n }\n const {elementId: targetElement} = opts;\n return await this.espresso.jwproxy.command(`/appium/execute_mobile/backdoor`, 'POST', {target, methods, targetElement});\n};\n\n/**\n * Execute UiAutomator2 commands to drive out of app areas.\n * strategy can be one of: \"clazz\", \"res\", \"text\", \"textContains\", \"textEndsWith\", \"textStartsWith\",\n * \"desc\", \"descContains\", \"descEndsWith\", \"descStartsWith\", \"pkg\"\n *\n * action can be one of: \"click\", \"longClick\", \"getText\", \"getContentDescription\", \"getClassName\",\n * \"getResourceName\", \"getVisibleBounds\", \"getVisibleCenter\", \"getApplicationPackage\",\n * \"getChildCount\", \"clear\", \"isCheckable\", \"isChecked\", \"isClickable\", \"isEnabled\",\n * \"isFocusable\", \"isFocused\", \"isLongClickable\", \"isScrollable\", \"isSelected\"\n */\ncommands.mobileUiautomator = async function mobileUiautomator (opts = {}) {\n const {strategy, locator, action, index} = assertRequiredOptions(opts, ['strategy', 'locator', 'action']);\n return await this.espresso.jwproxy.command(`/appium/execute_mobile/uiautomator`, 'POST', {strategy, locator, index, action});\n};\n\n/**\n * Execute UiAutomator2 command to return the UI dump when AUT is in background.\n * @throws {Error} if uiautomator view dump is unsuccessful\n * @returns {string} uiautomator DOM xml as string\n */\ncommands.mobileUiautomatorPageSource = async function mobileUiautomatorPageSource () {\n return await this.espresso.jwproxy.command(`/appium/execute_mobile/uiautomator_page_source`, 'GET');\n};\n\n/**\n * Flash the element with given id.\n * durationMillis and repeatCount are optional\n *\n */\ncommands.mobileFlashElement = async function mobileFlashElement (opts = {}) {\n const {element} = assertRequiredOptions(opts, ['element']);\n const {durationMillis, repeatCount} = opts;\n return await this.espresso.jwproxy.command(`/appium/execute_mobile/${util.unwrapElement(element)}/flash`, 'POST', {\n durationMillis,\n repeatCount\n });\n};\n\n/**\n * Perform a 'GeneralClickAction' (https://developer.android.com/reference/androidx/test/espresso/action/GeneralClickAction)\n */\ncommands.mobileClickAction = async function mobileClickAction (opts = {}) {\n const {element, tapper, coordinatesProvider, precisionDescriber,\n inputDevice, buttonState} = assertRequiredOptions(opts, ['element']);\n return await this.espresso.jwproxy.command(`/appium/execute_mobile/${util.unwrapElement(element)}/click_action`, 'POST', {\n tapper, coordinatesProvider, precisionDescriber, inputDevice, buttonState\n });\n};\n\ncommands.updateSettings = async function updateSettings (settings) {\n return await this.espresso.jwproxy.command(`/appium/settings`, 'POST', { settings });\n};\n\ncommands.getSettings = async function getSettings () {\n return await this.espresso.jwproxy.command(`/appium/settings`, 'GET');\n};\n\n// Stop proxying to any Chromedriver and redirect to Espresso\nhelpers.suspendChromedriverProxy = function suspendChromedriverProxy () {\n this.chromedriver = null;\n this.proxyReqRes = this.espresso.proxyReqRes.bind(this.espresso);\n this.proxyCommand = this.espresso.proxyCommand.bind(this.espresso);\n this.jwpProxyActive = true;\n};\n\n/**\n * Starts the given activity with intent options, activity options and locale.\n * Activity could only be executed in scope of the current app package.\n *\n * appActivity is mandatory\n *\n * locale, optionalIntentArguments, optionalActivityArguments are optional\n */\ncommands.mobileStartActivity = async function mobileStartActivity (opts = {}) {\n const appPackage = this.caps.appPackage;\n const {\n appActivity,\n locale,\n optionalIntentArguments,\n optionalActivityArguments\n } = assertRequiredOptions(opts, ['appActivity']);\n return await this.espresso.jwproxy.command(`/appium/device/start_activity`, 'POST', {\n appPackage,\n appActivity,\n locale,\n optionalIntentArguments,\n optionalActivityArguments\n });\n};\n\ncommands.startActivity = async function startActivity (appPackage, appActivity,\n appWaitPackage, appWaitActivity) {\n // intentAction, intentCategory, intentFlags, optionalIntentArguments, dontStopAppOnReset\n // parameters are not supported by Espresso\n appPackage = appPackage || this.caps.appPackage;\n appWaitPackage = appWaitPackage || appPackage;\n appActivity = qualifyActivityName(appActivity, appPackage);\n appWaitActivity = qualifyActivityName(appWaitActivity || appActivity, appWaitPackage);\n this.log.debug(`Starting activity '${appActivity}' for package '${appPackage}'`);\n await this.espresso.jwproxy.command(`/appium/device/start_activity`, 'POST', {\n appPackage,\n appActivity,\n });\n await this.adb.waitForActivity(appWaitPackage, appWaitActivity);\n};\n\ncommands.mobileDismissAutofill = async function mobileDismissAutofill (opts = {}) {\n const {element} = assertRequiredOptions(opts, ['element']);\n await this.espresso.jwproxy.command(\n `/session/:sessionId/appium/execute_mobile/${util.unwrapElement(element)}/dismiss_autofill`, 'POST', {});\n};\n\nObject.assign(extensions, commands, helpers);\nexport { commands, helpers };\nexport default extensions;\n"],"mappings":"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"}
@@ -7,20 +7,16 @@ exports.default = exports.commands = void 0;
7
7
  require("source-map-support/register");
8
8
  var _utils = require("../utils");
9
9
  const commands = {};
10
-
11
10
  exports.commands = commands;
12
-
13
11
  commands.mobileRegisterIdlingResources = async function mobileRegisterIdlingResources(opts = {}) {
14
12
  return await this.espresso.jwproxy.command('/appium/execute_mobile/register_idling_resources', 'POST', (0, _utils.requireOptions)(opts, ['classNames']));
15
13
  };
16
-
17
14
  commands.mobileUnregisterIdlingResources = async function mobileUnregisterIdlingResources(opts = {}) {
18
15
  return await this.espresso.jwproxy.command('/appium/execute_mobile/unregister_idling_resources', 'POST', (0, _utils.requireOptions)(opts, ['classNames']));
19
16
  };
20
-
21
17
  commands.mobileListIdlingResources = async function mobileListIdlingResources() {
22
18
  return await this.espresso.jwproxy.command('/appium/execute_mobile/list_idling_resources', 'GET');
23
19
  };
24
20
  var _default = commands;
25
21
  exports.default = _default;
26
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsIm1vYmlsZVJlZ2lzdGVySWRsaW5nUmVzb3VyY2VzIiwib3B0cyIsImVzcHJlc3NvIiwiandwcm94eSIsImNvbW1hbmQiLCJyZXF1aXJlT3B0aW9ucyIsIm1vYmlsZVVucmVnaXN0ZXJJZGxpbmdSZXNvdXJjZXMiLCJtb2JpbGVMaXN0SWRsaW5nUmVzb3VyY2VzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2NvbW1hbmRzL2lkbGluZy1yZXNvdXJjZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVxdWlyZU9wdGlvbnMgfSBmcm9tICcuLi91dGlscyc7XG5cbmNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gSWRsaW5nUmVzb3VyY2VzT3B0aW9uc1xuICogQHByb3BlcnR5IHshc3RyaW5nfSBjbGFzc05hbWVzIC0gVGhlIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGlkbGluZyByZXNvdXJjZXMgY2xhc3MgbmFtZXMuXG4gKiBFYWNoIG5hbWUgbXVzdCBiZSBhIGZ1bGwtcXVhbGlmaWVkIGphdmEgY2xhc3MgbmFtZSwgbGlrZSBgaW8uYXBwaXVtLmVzcHJlc3Nvc2VydmVyLmxpYi5NeUlkbGluZ1Jlc291cmNlYC5cbiAqIEVhY2ggY2xhc3MgaW4gdGhlIGFwcCBzb3VyY2UgbXVzdCBpbXBsZW1lbnQgYSBzaW5nbGV0b24gcGF0dGVybiBhbmQgaGF2ZSBhIHN0YXRpYyBgZ2V0SW5zdGFuY2UoKWBcbiAqIG1ldGhvZCByZXR1cm5pbmcgdGhlIGNsYXNzIGluc3RhbmNlLCB3aGljaCBpbXBsZW1lbnRzIGBhbmRyb2lkeC50ZXN0LmVzcHJlc3NvLklkbGluZ1Jlc291cmNlYFxuICogaW50ZXJmYWNlLiBSZWFkXG4gKiAtIGh0dHBzOi8vZGV2ZWxvcGVyLmFuZHJvaWQuY29tL3RyYWluaW5nL3Rlc3RpbmcvZXNwcmVzc28vaWRsaW5nLXJlc291cmNlXG4gKiAtIGh0dHBzOi8vYW5kcm9pZC5qbGVsc2UuZXUvaW50ZWdyYXRlLWVzcHJlc3NvLWlkbGluZy1yZXNvdXJjZXMtaW4teW91ci1hcHAtdG8tYnVpbGQtZmxleGlibGUtdWktdGVzdHMtYzc3OWUyNGY1MDU3XG4gKiBmb3IgbW9yZSBkZXRhaWxzIG9uIGhvdyB0byBkZXNpZ24gYW5kIHVzZSBpZGxpbmcgcmVzb3VyY2VzIGNvbmNlcHQgaW4gRXNwcmVzc28uXG4gKi9cblxuLyoqXG4gKiBSZWdpc3RlcnMgb25lIG9yIG1vcmUgaWRsaW5nIHJlc291cmNlc1xuICpcbiAqIEBwYXJhbSB7SWRsaW5nUmVzb3VyY2VzT3B0aW9uc30gb3B0c1xuICogQHRocm93cyB7RXJyb3J9IElmIHRoZXJlIHdhcyBhIGZhaWx1cmUgd2hpbGUgcGFyc2luZyBvcHRpb25zIG9yIHJlZ2lzdGVyaW5nXG4gKiB0aGUgYWN0dWFsIGluc3RhbmNlc1xuICovXG5jb21tYW5kcy5tb2JpbGVSZWdpc3RlcklkbGluZ1Jlc291cmNlcyA9IGFzeW5jIGZ1bmN0aW9uIG1vYmlsZVJlZ2lzdGVySWRsaW5nUmVzb3VyY2VzIChvcHRzID0ge30pIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMuZXNwcmVzc28uandwcm94eS5jb21tYW5kKCcvYXBwaXVtL2V4ZWN1dGVfbW9iaWxlL3JlZ2lzdGVyX2lkbGluZ19yZXNvdXJjZXMnLCAnUE9TVCcsXG4gICAgcmVxdWlyZU9wdGlvbnMob3B0cywgWydjbGFzc05hbWVzJ10pKTtcbn07XG5cbi8qKlxuICogVW5yZWdpc3RlcnMgb25lIG9yIG1vcmUgaWRsaW5nIHJlc291cmNlc1xuICpcbiAqIEBwYXJhbSB7SWRsaW5nUmVzb3VyY2VzT3B0aW9uc30gb3B0c1xuICogQHRocm93cyB7RXJyb3J9IElmIHRoZXJlIHdhcyBhIGZhaWx1cmUgd2hpbGUgcGFyc2luZyBvcHRpb25zIG9yIHVucmVnaXN0ZXJpbmdcbiAqIHRoZSBhY3R1YWwgaW5zdGFuY2VzXG4gKi9cbmNvbW1hbmRzLm1vYmlsZVVucmVnaXN0ZXJJZGxpbmdSZXNvdXJjZXMgPSBhc3luYyBmdW5jdGlvbiBtb2JpbGVVbnJlZ2lzdGVySWRsaW5nUmVzb3VyY2VzIChvcHRzID0ge30pIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMuZXNwcmVzc28uandwcm94eS5jb21tYW5kKCcvYXBwaXVtL2V4ZWN1dGVfbW9iaWxlL3VucmVnaXN0ZXJfaWRsaW5nX3Jlc291cmNlcycsICdQT1NUJyxcbiAgICByZXF1aXJlT3B0aW9ucyhvcHRzLCBbJ2NsYXNzTmFtZXMnXSkpO1xufTtcblxuLyoqXG4gKiBSZXR1cm5zIGEgbGlzdCBvZiBjdXJyZW50bHkgcmVnaXN0ZXJlZCBpZGxpbmcgcmVzb3VyY2VzXG4gKiBvciBhbiBlbXB0eSBsaXN0IGlmIG5vIHJlc291cmNlcyBoYXZlIGJlZW4gcmVnaXN0ZXJlZCB5ZXQuXG4gKlxuICogQHJldHVybnMge0FycmF5PHN0cmluZz59IFRoZSBsaXN0IG9mIGZ1bGx5IHF1YWxpZmllZCBjbGFzcyBuYW1lc1xuICovXG5jb21tYW5kcy5tb2JpbGVMaXN0SWRsaW5nUmVzb3VyY2VzID0gYXN5bmMgZnVuY3Rpb24gbW9iaWxlTGlzdElkbGluZ1Jlc291cmNlcyAoKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLmVzcHJlc3NvLmp3cHJveHkuY29tbWFuZCgnL2FwcGl1bS9leGVjdXRlX21vYmlsZS9saXN0X2lkbGluZ19yZXNvdXJjZXMnLCAnR0VUJyk7XG59O1xuXG5leHBvcnQgeyBjb21tYW5kcyB9O1xuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUVBLE1BQU1BLFFBQVEsR0FBRyxDQUFDLENBQUM7O0FBQUM7O0FBcUJwQkEsUUFBUSxDQUFDQyw2QkFBNkIsR0FBRyxlQUFlQSw2QkFBNkIsQ0FBRUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFO0VBQ2hHLE9BQU8sTUFBTSxJQUFJLENBQUNDLFFBQVEsQ0FBQ0MsT0FBTyxDQUFDQyxPQUFPLENBQUMsa0RBQWtELEVBQUUsTUFBTSxFQUNuRyxJQUFBQyxxQkFBYyxFQUFDSixJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0FBQ3pDLENBQUM7O0FBU0RGLFFBQVEsQ0FBQ08sK0JBQStCLEdBQUcsZUFBZUEsK0JBQStCLENBQUVMLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRTtFQUNwRyxPQUFPLE1BQU0sSUFBSSxDQUFDQyxRQUFRLENBQUNDLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDLG9EQUFvRCxFQUFFLE1BQU0sRUFDckcsSUFBQUMscUJBQWMsRUFBQ0osSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztBQUN6QyxDQUFDOztBQVFERixRQUFRLENBQUNRLHlCQUF5QixHQUFHLGVBQWVBLHlCQUF5QixHQUFJO0VBQy9FLE9BQU8sTUFBTSxJQUFJLENBQUNMLFFBQVEsQ0FBQ0MsT0FBTyxDQUFDQyxPQUFPLENBQUMsOENBQThDLEVBQUUsS0FBSyxDQUFDO0FBQ25HLENBQUM7QUFBQyxlQUdhTCxRQUFRO0FBQUEifQ==
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsIm1vYmlsZVJlZ2lzdGVySWRsaW5nUmVzb3VyY2VzIiwib3B0cyIsImVzcHJlc3NvIiwiandwcm94eSIsImNvbW1hbmQiLCJyZXF1aXJlT3B0aW9ucyIsIm1vYmlsZVVucmVnaXN0ZXJJZGxpbmdSZXNvdXJjZXMiLCJtb2JpbGVMaXN0SWRsaW5nUmVzb3VyY2VzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2NvbW1hbmRzL2lkbGluZy1yZXNvdXJjZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVxdWlyZU9wdGlvbnMgfSBmcm9tICcuLi91dGlscyc7XG5cbmNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gSWRsaW5nUmVzb3VyY2VzT3B0aW9uc1xuICogQHByb3BlcnR5IHshc3RyaW5nfSBjbGFzc05hbWVzIC0gVGhlIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGlkbGluZyByZXNvdXJjZXMgY2xhc3MgbmFtZXMuXG4gKiBFYWNoIG5hbWUgbXVzdCBiZSBhIGZ1bGwtcXVhbGlmaWVkIGphdmEgY2xhc3MgbmFtZSwgbGlrZSBgaW8uYXBwaXVtLmVzcHJlc3Nvc2VydmVyLmxpYi5NeUlkbGluZ1Jlc291cmNlYC5cbiAqIEVhY2ggY2xhc3MgaW4gdGhlIGFwcCBzb3VyY2UgbXVzdCBpbXBsZW1lbnQgYSBzaW5nbGV0b24gcGF0dGVybiBhbmQgaGF2ZSBhIHN0YXRpYyBgZ2V0SW5zdGFuY2UoKWBcbiAqIG1ldGhvZCByZXR1cm5pbmcgdGhlIGNsYXNzIGluc3RhbmNlLCB3aGljaCBpbXBsZW1lbnRzIGBhbmRyb2lkeC50ZXN0LmVzcHJlc3NvLklkbGluZ1Jlc291cmNlYFxuICogaW50ZXJmYWNlLiBSZWFkXG4gKiAtIGh0dHBzOi8vZGV2ZWxvcGVyLmFuZHJvaWQuY29tL3RyYWluaW5nL3Rlc3RpbmcvZXNwcmVzc28vaWRsaW5nLXJlc291cmNlXG4gKiAtIGh0dHBzOi8vYW5kcm9pZC5qbGVsc2UuZXUvaW50ZWdyYXRlLWVzcHJlc3NvLWlkbGluZy1yZXNvdXJjZXMtaW4teW91ci1hcHAtdG8tYnVpbGQtZmxleGlibGUtdWktdGVzdHMtYzc3OWUyNGY1MDU3XG4gKiBmb3IgbW9yZSBkZXRhaWxzIG9uIGhvdyB0byBkZXNpZ24gYW5kIHVzZSBpZGxpbmcgcmVzb3VyY2VzIGNvbmNlcHQgaW4gRXNwcmVzc28uXG4gKi9cblxuLyoqXG4gKiBSZWdpc3RlcnMgb25lIG9yIG1vcmUgaWRsaW5nIHJlc291cmNlc1xuICpcbiAqIEBwYXJhbSB7SWRsaW5nUmVzb3VyY2VzT3B0aW9uc30gb3B0c1xuICogQHRocm93cyB7RXJyb3J9IElmIHRoZXJlIHdhcyBhIGZhaWx1cmUgd2hpbGUgcGFyc2luZyBvcHRpb25zIG9yIHJlZ2lzdGVyaW5nXG4gKiB0aGUgYWN0dWFsIGluc3RhbmNlc1xuICovXG5jb21tYW5kcy5tb2JpbGVSZWdpc3RlcklkbGluZ1Jlc291cmNlcyA9IGFzeW5jIGZ1bmN0aW9uIG1vYmlsZVJlZ2lzdGVySWRsaW5nUmVzb3VyY2VzIChvcHRzID0ge30pIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMuZXNwcmVzc28uandwcm94eS5jb21tYW5kKCcvYXBwaXVtL2V4ZWN1dGVfbW9iaWxlL3JlZ2lzdGVyX2lkbGluZ19yZXNvdXJjZXMnLCAnUE9TVCcsXG4gICAgcmVxdWlyZU9wdGlvbnMob3B0cywgWydjbGFzc05hbWVzJ10pKTtcbn07XG5cbi8qKlxuICogVW5yZWdpc3RlcnMgb25lIG9yIG1vcmUgaWRsaW5nIHJlc291cmNlc1xuICpcbiAqIEBwYXJhbSB7SWRsaW5nUmVzb3VyY2VzT3B0aW9uc30gb3B0c1xuICogQHRocm93cyB7RXJyb3J9IElmIHRoZXJlIHdhcyBhIGZhaWx1cmUgd2hpbGUgcGFyc2luZyBvcHRpb25zIG9yIHVucmVnaXN0ZXJpbmdcbiAqIHRoZSBhY3R1YWwgaW5zdGFuY2VzXG4gKi9cbmNvbW1hbmRzLm1vYmlsZVVucmVnaXN0ZXJJZGxpbmdSZXNvdXJjZXMgPSBhc3luYyBmdW5jdGlvbiBtb2JpbGVVbnJlZ2lzdGVySWRsaW5nUmVzb3VyY2VzIChvcHRzID0ge30pIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMuZXNwcmVzc28uandwcm94eS5jb21tYW5kKCcvYXBwaXVtL2V4ZWN1dGVfbW9iaWxlL3VucmVnaXN0ZXJfaWRsaW5nX3Jlc291cmNlcycsICdQT1NUJyxcbiAgICByZXF1aXJlT3B0aW9ucyhvcHRzLCBbJ2NsYXNzTmFtZXMnXSkpO1xufTtcblxuLyoqXG4gKiBSZXR1cm5zIGEgbGlzdCBvZiBjdXJyZW50bHkgcmVnaXN0ZXJlZCBpZGxpbmcgcmVzb3VyY2VzXG4gKiBvciBhbiBlbXB0eSBsaXN0IGlmIG5vIHJlc291cmNlcyBoYXZlIGJlZW4gcmVnaXN0ZXJlZCB5ZXQuXG4gKlxuICogQHJldHVybnMge0FycmF5PHN0cmluZz59IFRoZSBsaXN0IG9mIGZ1bGx5IHF1YWxpZmllZCBjbGFzcyBuYW1lc1xuICovXG5jb21tYW5kcy5tb2JpbGVMaXN0SWRsaW5nUmVzb3VyY2VzID0gYXN5bmMgZnVuY3Rpb24gbW9iaWxlTGlzdElkbGluZ1Jlc291cmNlcyAoKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLmVzcHJlc3NvLmp3cHJveHkuY29tbWFuZCgnL2FwcGl1bS9leGVjdXRlX21vYmlsZS9saXN0X2lkbGluZ19yZXNvdXJjZXMnLCAnR0VUJyk7XG59O1xuXG5leHBvcnQgeyBjb21tYW5kcyB9O1xuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUVBLE1BQU1BLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFBQztBQXFCcEJBLFFBQVEsQ0FBQ0MsNkJBQTZCLEdBQUcsZUFBZUEsNkJBQTZCLENBQUVDLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRTtFQUNoRyxPQUFPLE1BQU0sSUFBSSxDQUFDQyxRQUFRLENBQUNDLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDLGtEQUFrRCxFQUFFLE1BQU0sRUFDbkcsSUFBQUMscUJBQWMsRUFBQ0osSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBU0RGLFFBQVEsQ0FBQ08sK0JBQStCLEdBQUcsZUFBZUEsK0JBQStCLENBQUVMLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRTtFQUNwRyxPQUFPLE1BQU0sSUFBSSxDQUFDQyxRQUFRLENBQUNDLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDLG9EQUFvRCxFQUFFLE1BQU0sRUFDckcsSUFBQUMscUJBQWMsRUFBQ0osSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBUURGLFFBQVEsQ0FBQ1EseUJBQXlCLEdBQUcsZUFBZUEseUJBQXlCLEdBQUk7RUFDL0UsT0FBTyxNQUFNLElBQUksQ0FBQ0wsUUFBUSxDQUFDQyxPQUFPLENBQUNDLE9BQU8sQ0FBQyw4Q0FBOEMsRUFBRSxLQUFLLENBQUM7QUFDbkcsQ0FBQztBQUFDLGVBR2FMLFFBQVE7QUFBQSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"idling-resources.js","names":["commands","mobileRegisterIdlingResources","opts","espresso","jwproxy","command","requireOptions","mobileUnregisterIdlingResources","mobileListIdlingResources"],"sources":["../../../lib/commands/idling-resources.js"],"sourcesContent":["import { requireOptions } from '../utils';\n\nconst commands = {};\n\n/**\n * @typedef {Object} IdlingResourcesOptions\n * @property {!string} classNames - The comma-separated list of idling resources class names.\n * Each name must be a full-qualified java class name, like `io.appium.espressoserver.lib.MyIdlingResource`.\n * Each class in the app source must implement a singleton pattern and have a static `getInstance()`\n * method returning the class instance, which implements `androidx.test.espresso.IdlingResource`\n * interface. Read\n * - https://developer.android.com/training/testing/espresso/idling-resource\n * - https://android.jlelse.eu/integrate-espresso-idling-resources-in-your-app-to-build-flexible-ui-tests-c779e24f5057\n * for more details on how to design and use idling resources concept in Espresso.\n */\n\n/**\n * Registers one or more idling resources\n *\n * @param {IdlingResourcesOptions} opts\n * @throws {Error} If there was a failure while parsing options or registering\n * the actual instances\n */\ncommands.mobileRegisterIdlingResources = async function mobileRegisterIdlingResources (opts = {}) {\n return await this.espresso.jwproxy.command('/appium/execute_mobile/register_idling_resources', 'POST',\n requireOptions(opts, ['classNames']));\n};\n\n/**\n * Unregisters one or more idling resources\n *\n * @param {IdlingResourcesOptions} opts\n * @throws {Error} If there was a failure while parsing options or unregistering\n * the actual instances\n */\ncommands.mobileUnregisterIdlingResources = async function mobileUnregisterIdlingResources (opts = {}) {\n return await this.espresso.jwproxy.command('/appium/execute_mobile/unregister_idling_resources', 'POST',\n requireOptions(opts, ['classNames']));\n};\n\n/**\n * Returns a list of currently registered idling resources\n * or an empty list if no resources have been registered yet.\n *\n * @returns {Array<string>} The list of fully qualified class names\n */\ncommands.mobileListIdlingResources = async function mobileListIdlingResources () {\n return await this.espresso.jwproxy.command('/appium/execute_mobile/list_idling_resources', 'GET');\n};\n\nexport { commands };\nexport default commands;\n"],"mappings":";;;;;;;AAAA;AAEA,MAAMA,QAAQ,GAAG,CAAC,CAAC;;AAAC;;AAqBpBA,QAAQ,CAACC,6BAA6B,GAAG,eAAeA,6BAA6B,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAE;EAChG,OAAO,MAAM,IAAI,CAACC,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAC,kDAAkD,EAAE,MAAM,EACnG,IAAAC,qBAAc,EAACJ,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;AACzC,CAAC;;AASDF,QAAQ,CAACO,+BAA+B,GAAG,eAAeA,+BAA+B,CAAEL,IAAI,GAAG,CAAC,CAAC,EAAE;EACpG,OAAO,MAAM,IAAI,CAACC,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAC,oDAAoD,EAAE,MAAM,EACrG,IAAAC,qBAAc,EAACJ,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;AACzC,CAAC;;AAQDF,QAAQ,CAACQ,yBAAyB,GAAG,eAAeA,yBAAyB,GAAI;EAC/E,OAAO,MAAM,IAAI,CAACL,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAC,8CAA8C,EAAE,KAAK,CAAC;AACnG,CAAC;AAAC,eAGaL,QAAQ;AAAA"}
1
+ {"version":3,"file":"idling-resources.js","names":["commands","mobileRegisterIdlingResources","opts","espresso","jwproxy","command","requireOptions","mobileUnregisterIdlingResources","mobileListIdlingResources"],"sources":["../../../lib/commands/idling-resources.js"],"sourcesContent":["import { requireOptions } from '../utils';\n\nconst commands = {};\n\n/**\n * @typedef {Object} IdlingResourcesOptions\n * @property {!string} classNames - The comma-separated list of idling resources class names.\n * Each name must be a full-qualified java class name, like `io.appium.espressoserver.lib.MyIdlingResource`.\n * Each class in the app source must implement a singleton pattern and have a static `getInstance()`\n * method returning the class instance, which implements `androidx.test.espresso.IdlingResource`\n * interface. Read\n * - https://developer.android.com/training/testing/espresso/idling-resource\n * - https://android.jlelse.eu/integrate-espresso-idling-resources-in-your-app-to-build-flexible-ui-tests-c779e24f5057\n * for more details on how to design and use idling resources concept in Espresso.\n */\n\n/**\n * Registers one or more idling resources\n *\n * @param {IdlingResourcesOptions} opts\n * @throws {Error} If there was a failure while parsing options or registering\n * the actual instances\n */\ncommands.mobileRegisterIdlingResources = async function mobileRegisterIdlingResources (opts = {}) {\n return await this.espresso.jwproxy.command('/appium/execute_mobile/register_idling_resources', 'POST',\n requireOptions(opts, ['classNames']));\n};\n\n/**\n * Unregisters one or more idling resources\n *\n * @param {IdlingResourcesOptions} opts\n * @throws {Error} If there was a failure while parsing options or unregistering\n * the actual instances\n */\ncommands.mobileUnregisterIdlingResources = async function mobileUnregisterIdlingResources (opts = {}) {\n return await this.espresso.jwproxy.command('/appium/execute_mobile/unregister_idling_resources', 'POST',\n requireOptions(opts, ['classNames']));\n};\n\n/**\n * Returns a list of currently registered idling resources\n * or an empty list if no resources have been registered yet.\n *\n * @returns {Array<string>} The list of fully qualified class names\n */\ncommands.mobileListIdlingResources = async function mobileListIdlingResources () {\n return await this.espresso.jwproxy.command('/appium/execute_mobile/list_idling_resources', 'GET');\n};\n\nexport { commands };\nexport default commands;\n"],"mappings":";;;;;;;AAAA;AAEA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AAAC;AAqBpBA,QAAQ,CAACC,6BAA6B,GAAG,eAAeA,6BAA6B,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAE;EAChG,OAAO,MAAM,IAAI,CAACC,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAC,kDAAkD,EAAE,MAAM,EACnG,IAAAC,qBAAc,EAACJ,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;AACzC,CAAC;AASDF,QAAQ,CAACO,+BAA+B,GAAG,eAAeA,+BAA+B,CAAEL,IAAI,GAAG,CAAC,CAAC,EAAE;EACpG,OAAO,MAAM,IAAI,CAACC,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAC,oDAAoD,EAAE,MAAM,EACrG,IAAAC,qBAAc,EAACJ,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;AACzC,CAAC;AAQDF,QAAQ,CAACQ,yBAAyB,GAAG,eAAeA,yBAAyB,GAAI;EAC/E,OAAO,MAAM,IAAI,CAACL,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAC,8CAA8C,EAAE,KAAK,CAAC;AACnG,CAAC;AAAC,eAGaL,QAAQ;AAAA"}
@@ -11,8 +11,7 @@ var _general = _interopRequireDefault(require("./general"));
11
11
  var _services = _interopRequireDefault(require("./services"));
12
12
  var _idlingResources = _interopRequireDefault(require("./idling-resources"));
13
13
  const commands = {};
14
- Object.assign(commands, _general.default, _execute.default, _services.default, _idlingResources.default
15
- );
14
+ Object.assign(commands, _general.default, _execute.default, _services.default, _idlingResources.default);
16
15
  var _default = commands;
17
16
  exports.default = _default;
18
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsIk9iamVjdCIsImFzc2lnbiIsImdlbmVyYWxDbWRzIiwiZXhlY3V0ZUNtZHMiLCJzZXJ2aWNlc0NtZHMiLCJpZGxpbmdSZXNvdXJjZXNDbWRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2NvbW1hbmRzL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBleGVjdXRlQ21kcyBmcm9tICcuL2V4ZWN1dGUnO1xuaW1wb3J0IGdlbmVyYWxDbWRzIGZyb20gJy4vZ2VuZXJhbCc7XG5pbXBvcnQgc2VydmljZXNDbWRzIGZyb20gJy4vc2VydmljZXMnO1xuaW1wb3J0IGlkbGluZ1Jlc291cmNlc0NtZHMgZnJvbSAnLi9pZGxpbmctcmVzb3VyY2VzJztcblxuY29uc3QgY29tbWFuZHMgPSB7fTtcbk9iamVjdC5hc3NpZ24oXG4gIGNvbW1hbmRzLFxuICBnZW5lcmFsQ21kcyxcbiAgZXhlY3V0ZUNtZHMsXG4gIHNlcnZpY2VzQ21kcyxcbiAgaWRsaW5nUmVzb3VyY2VzQ21kcyxcbiAgLy8gYWRkIG90aGVyIGNvbW1hbmQgdHlwZXMgaGVyZVxuKTtcblxuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQSxNQUFNQSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBQ25CQyxNQUFNLENBQUNDLE1BQU0sQ0FDWEYsUUFBUSxFQUNSRyxnQkFBVyxFQUNYQyxnQkFBVyxFQUNYQyxpQkFBWSxFQUNaQztBQUFtQixDQUVwQjtBQUFDLGVBRWFOLFFBQVE7QUFBQSJ9
17
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsIk9iamVjdCIsImFzc2lnbiIsImdlbmVyYWxDbWRzIiwiZXhlY3V0ZUNtZHMiLCJzZXJ2aWNlc0NtZHMiLCJpZGxpbmdSZXNvdXJjZXNDbWRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2NvbW1hbmRzL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBleGVjdXRlQ21kcyBmcm9tICcuL2V4ZWN1dGUnO1xuaW1wb3J0IGdlbmVyYWxDbWRzIGZyb20gJy4vZ2VuZXJhbCc7XG5pbXBvcnQgc2VydmljZXNDbWRzIGZyb20gJy4vc2VydmljZXMnO1xuaW1wb3J0IGlkbGluZ1Jlc291cmNlc0NtZHMgZnJvbSAnLi9pZGxpbmctcmVzb3VyY2VzJztcblxuY29uc3QgY29tbWFuZHMgPSB7fTtcbk9iamVjdC5hc3NpZ24oXG4gIGNvbW1hbmRzLFxuICBnZW5lcmFsQ21kcyxcbiAgZXhlY3V0ZUNtZHMsXG4gIHNlcnZpY2VzQ21kcyxcbiAgaWRsaW5nUmVzb3VyY2VzQ21kcyxcbiAgLy8gYWRkIG90aGVyIGNvbW1hbmQgdHlwZXMgaGVyZVxuKTtcblxuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQSxNQUFNQSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBQ25CQyxNQUFNLENBQUNDLE1BQU0sQ0FDWEYsUUFBUSxFQUNSRyxnQkFBVyxFQUNYQyxnQkFBVyxFQUNYQyxpQkFBWSxFQUNaQyx3QkFBbUIsQ0FFcEI7QUFBQyxlQUVhTixRQUFRO0FBQUEifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["commands","Object","assign","generalCmds","executeCmds","servicesCmds","idlingResourcesCmds"],"sources":["../../../lib/commands/index.js"],"sourcesContent":["import executeCmds from './execute';\nimport generalCmds from './general';\nimport servicesCmds from './services';\nimport idlingResourcesCmds from './idling-resources';\n\nconst commands = {};\nObject.assign(\n commands,\n generalCmds,\n executeCmds,\n servicesCmds,\n idlingResourcesCmds,\n // add other command types here\n);\n\nexport default commands;\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AAEA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AACnBC,MAAM,CAACC,MAAM,CACXF,QAAQ,EACRG,gBAAW,EACXC,gBAAW,EACXC,iBAAY,EACZC;AAAmB,CAEpB;AAAC,eAEaN,QAAQ;AAAA"}
1
+ {"version":3,"file":"index.js","names":["commands","Object","assign","generalCmds","executeCmds","servicesCmds","idlingResourcesCmds"],"sources":["../../../lib/commands/index.js"],"sourcesContent":["import executeCmds from './execute';\nimport generalCmds from './general';\nimport servicesCmds from './services';\nimport idlingResourcesCmds from './idling-resources';\n\nconst commands = {};\nObject.assign(\n commands,\n generalCmds,\n executeCmds,\n servicesCmds,\n idlingResourcesCmds,\n // add other command types here\n);\n\nexport default commands;\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AAEA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AACnBC,MAAM,CAACC,MAAM,CACXF,QAAQ,EACRG,gBAAW,EACXC,gBAAW,EACXC,iBAAY,EACZC,wBAAmB,CAEpB;AAAC,eAEaN,QAAQ;AAAA"}
@@ -7,16 +7,13 @@ exports.default = exports.commands = void 0;
7
7
  require("source-map-support/register");
8
8
  var _utils = require("../utils");
9
9
  const commands = {};
10
-
11
10
  exports.commands = commands;
12
-
13
11
  commands.mobileStartService = async function mobileStartService(opts = {}) {
14
12
  return await this.espresso.jwproxy.command('/appium/execute_mobile/start_service', 'POST', (0, _utils.requireOptions)(opts, ['intent']));
15
13
  };
16
-
17
14
  commands.mobileStopService = async function mobileStopService(opts = {}) {
18
15
  return await this.espresso.jwproxy.command('/appium/execute_mobile/stop_service', 'POST', (0, _utils.requireOptions)(opts, ['intent']));
19
16
  };
20
17
  var _default = commands;
21
18
  exports.default = _default;
22
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsIm1vYmlsZVN0YXJ0U2VydmljZSIsIm9wdHMiLCJlc3ByZXNzbyIsImp3cHJveHkiLCJjb21tYW5kIiwicmVxdWlyZU9wdGlvbnMiLCJtb2JpbGVTdG9wU2VydmljZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9jb21tYW5kcy9zZXJ2aWNlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZXF1aXJlT3B0aW9ucyB9IGZyb20gJy4uL3V0aWxzJztcblxuY29uc3QgY29tbWFuZHMgPSB7fTtcblxuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFN0YXJ0U2VydmljZU9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7IXN0cmluZ30gaW50ZW50IC0gVGhlIG5hbWUgb2YgdGhlIHNlcnZpY2UgaW50ZW50IHRvIHN0YXJ0LCBmb3IgZXhhbXBsZVxuICogYGNvbS5zb21lLnBhY2thZ2UubmFtZS8uWW91clNlcnZpY2VTdWJDbGFzc05hbWVgLiBUaGlzIG9wdGlvbiBpcyBtYW5kYXRvcnkuXG4gKiAhISEgT25seSBzZXJ2aWNlcyBpbiB0aGUgYXBwJ3MgdW5kZXIgdGVzdCBzY29wZSBjb3VsZCBiZSBzdGFydGVkLlxuICogQHByb3BlcnR5IHtib29sZWFufSBmb3JlZ3JvdW5kIFtmYWxzZV0gLSBTZXQgaXQgdG8gYHRydWVgIGlmIHlvdXIgc2VydmljZSBtdXN0IGJlXG4gKiBzdGFydGVkIGFzIGZvcmVncm91bmQgc2VydmljZS5cbiAqL1xuXG4vKipcbiAqIFN0YXJ0cyB0aGUgZ2l2ZW4gc2VydmljZSBpbnRlbnQuXG4gKlxuICogQHBhcmFtIHtTdGFydFNlcnZpY2VPcHRpb25zfSBvcHRzXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgZnVsbCBjb21wb25lbnQgbmFtZVxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZXJlIHdhcyBhIGZhaWx1cmUgd2hpbGUgc3RhcnRpbmcgdGhlIHNlcnZpY2VcbiAqIG9yIHJlcXVpcmVkIG9wdGlvbnMgYXJlIG1pc3NpbmdcbiAqL1xuY29tbWFuZHMubW9iaWxlU3RhcnRTZXJ2aWNlID0gYXN5bmMgZnVuY3Rpb24gbW9iaWxlU3RhcnRTZXJ2aWNlIChvcHRzID0ge30pIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMuZXNwcmVzc28uandwcm94eS5jb21tYW5kKCcvYXBwaXVtL2V4ZWN1dGVfbW9iaWxlL3N0YXJ0X3NlcnZpY2UnLCAnUE9TVCcsXG4gICAgcmVxdWlyZU9wdGlvbnMob3B0cywgWydpbnRlbnQnXSkpO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBTdG9wU2VydmljZU9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7IXN0cmluZ30gaW50ZW50IC0gVGhlIG5hbWUgb2YgdGhlIHNlcnZpY2UgaW50ZW50IHRvIHN0b3AsIGZvciBleGFtcGxlXG4gKiBgY29tLnNvbWUucGFja2FnZS5uYW1lLy5Zb3VyU2VydmljZVN1YkNsYXNzTmFtZWAuIFRoaXMgb3B0aW9uIGlzIG1hbmRhdG9yeS5cbiAqICEhISBPbmx5IHNlcnZpY2VzIGluIHRoZSBhcHAncyB1bmRlciB0ZXN0IHNjb3BlIGNvdWxkIGJlIHN0b3BwZWQuXG4gKi9cblxuLyoqXG4gKiBTdG9wcyB0aGUgZ2l2ZW4gc2VydmljZSBpbnRlbnQuXG4gKlxuICogQHBhcmFtIHtTdG9wU2VydmljZU9wdGlvbnN9IG9wdHNcbiAqIEByZXR1cm5zIHtzdHJpbmd9IGB0cnVlYCBpZiB0aGUgc2VydmljZSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgc3RvcHBlZFxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZXJlIHdhcyBhIGZhaWx1cmUgd2hpbGUgc3RvcHBpbmcgdGhlIHNlcnZpY2VcbiAqIG9yIHJlcXVpcmVkIG9wdGlvbnMgYXJlIG1pc3NpbmdcbiAqL1xuY29tbWFuZHMubW9iaWxlU3RvcFNlcnZpY2UgPSBhc3luYyBmdW5jdGlvbiBtb2JpbGVTdG9wU2VydmljZSAob3B0cyA9IHt9KSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLmVzcHJlc3NvLmp3cHJveHkuY29tbWFuZCgnL2FwcGl1bS9leGVjdXRlX21vYmlsZS9zdG9wX3NlcnZpY2UnLCAnUE9TVCcsXG4gICAgcmVxdWlyZU9wdGlvbnMob3B0cywgWydpbnRlbnQnXSkpO1xufTtcblxuXG5leHBvcnQgeyBjb21tYW5kcyB9O1xuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUVBLE1BQU1BLFFBQVEsR0FBRyxDQUFDLENBQUM7O0FBQUM7O0FBb0JwQkEsUUFBUSxDQUFDQyxrQkFBa0IsR0FBRyxlQUFlQSxrQkFBa0IsQ0FBRUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFO0VBQzFFLE9BQU8sTUFBTSxJQUFJLENBQUNDLFFBQVEsQ0FBQ0MsT0FBTyxDQUFDQyxPQUFPLENBQUMsc0NBQXNDLEVBQUUsTUFBTSxFQUN2RixJQUFBQyxxQkFBYyxFQUFDSixJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQ3JDLENBQUM7O0FBaUJERixRQUFRLENBQUNPLGlCQUFpQixHQUFHLGVBQWVBLGlCQUFpQixDQUFFTCxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUU7RUFDeEUsT0FBTyxNQUFNLElBQUksQ0FBQ0MsUUFBUSxDQUFDQyxPQUFPLENBQUNDLE9BQU8sQ0FBQyxxQ0FBcUMsRUFBRSxNQUFNLEVBQ3RGLElBQUFDLHFCQUFjLEVBQUNKLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDckMsQ0FBQztBQUFDLGVBSWFGLFFBQVE7QUFBQSJ9
19
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsIm1vYmlsZVN0YXJ0U2VydmljZSIsIm9wdHMiLCJlc3ByZXNzbyIsImp3cHJveHkiLCJjb21tYW5kIiwicmVxdWlyZU9wdGlvbnMiLCJtb2JpbGVTdG9wU2VydmljZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9jb21tYW5kcy9zZXJ2aWNlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZXF1aXJlT3B0aW9ucyB9IGZyb20gJy4uL3V0aWxzJztcblxuY29uc3QgY29tbWFuZHMgPSB7fTtcblxuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFN0YXJ0U2VydmljZU9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7IXN0cmluZ30gaW50ZW50IC0gVGhlIG5hbWUgb2YgdGhlIHNlcnZpY2UgaW50ZW50IHRvIHN0YXJ0LCBmb3IgZXhhbXBsZVxuICogYGNvbS5zb21lLnBhY2thZ2UubmFtZS8uWW91clNlcnZpY2VTdWJDbGFzc05hbWVgLiBUaGlzIG9wdGlvbiBpcyBtYW5kYXRvcnkuXG4gKiAhISEgT25seSBzZXJ2aWNlcyBpbiB0aGUgYXBwJ3MgdW5kZXIgdGVzdCBzY29wZSBjb3VsZCBiZSBzdGFydGVkLlxuICogQHByb3BlcnR5IHtib29sZWFufSBmb3JlZ3JvdW5kIFtmYWxzZV0gLSBTZXQgaXQgdG8gYHRydWVgIGlmIHlvdXIgc2VydmljZSBtdXN0IGJlXG4gKiBzdGFydGVkIGFzIGZvcmVncm91bmQgc2VydmljZS5cbiAqL1xuXG4vKipcbiAqIFN0YXJ0cyB0aGUgZ2l2ZW4gc2VydmljZSBpbnRlbnQuXG4gKlxuICogQHBhcmFtIHtTdGFydFNlcnZpY2VPcHRpb25zfSBvcHRzXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgZnVsbCBjb21wb25lbnQgbmFtZVxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZXJlIHdhcyBhIGZhaWx1cmUgd2hpbGUgc3RhcnRpbmcgdGhlIHNlcnZpY2VcbiAqIG9yIHJlcXVpcmVkIG9wdGlvbnMgYXJlIG1pc3NpbmdcbiAqL1xuY29tbWFuZHMubW9iaWxlU3RhcnRTZXJ2aWNlID0gYXN5bmMgZnVuY3Rpb24gbW9iaWxlU3RhcnRTZXJ2aWNlIChvcHRzID0ge30pIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMuZXNwcmVzc28uandwcm94eS5jb21tYW5kKCcvYXBwaXVtL2V4ZWN1dGVfbW9iaWxlL3N0YXJ0X3NlcnZpY2UnLCAnUE9TVCcsXG4gICAgcmVxdWlyZU9wdGlvbnMob3B0cywgWydpbnRlbnQnXSkpO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBTdG9wU2VydmljZU9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7IXN0cmluZ30gaW50ZW50IC0gVGhlIG5hbWUgb2YgdGhlIHNlcnZpY2UgaW50ZW50IHRvIHN0b3AsIGZvciBleGFtcGxlXG4gKiBgY29tLnNvbWUucGFja2FnZS5uYW1lLy5Zb3VyU2VydmljZVN1YkNsYXNzTmFtZWAuIFRoaXMgb3B0aW9uIGlzIG1hbmRhdG9yeS5cbiAqICEhISBPbmx5IHNlcnZpY2VzIGluIHRoZSBhcHAncyB1bmRlciB0ZXN0IHNjb3BlIGNvdWxkIGJlIHN0b3BwZWQuXG4gKi9cblxuLyoqXG4gKiBTdG9wcyB0aGUgZ2l2ZW4gc2VydmljZSBpbnRlbnQuXG4gKlxuICogQHBhcmFtIHtTdG9wU2VydmljZU9wdGlvbnN9IG9wdHNcbiAqIEByZXR1cm5zIHtzdHJpbmd9IGB0cnVlYCBpZiB0aGUgc2VydmljZSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgc3RvcHBlZFxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZXJlIHdhcyBhIGZhaWx1cmUgd2hpbGUgc3RvcHBpbmcgdGhlIHNlcnZpY2VcbiAqIG9yIHJlcXVpcmVkIG9wdGlvbnMgYXJlIG1pc3NpbmdcbiAqL1xuY29tbWFuZHMubW9iaWxlU3RvcFNlcnZpY2UgPSBhc3luYyBmdW5jdGlvbiBtb2JpbGVTdG9wU2VydmljZSAob3B0cyA9IHt9KSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLmVzcHJlc3NvLmp3cHJveHkuY29tbWFuZCgnL2FwcGl1bS9leGVjdXRlX21vYmlsZS9zdG9wX3NlcnZpY2UnLCAnUE9TVCcsXG4gICAgcmVxdWlyZU9wdGlvbnMob3B0cywgWydpbnRlbnQnXSkpO1xufTtcblxuXG5leHBvcnQgeyBjb21tYW5kcyB9O1xuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUVBLE1BQU1BLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFBQztBQW9CcEJBLFFBQVEsQ0FBQ0Msa0JBQWtCLEdBQUcsZUFBZUEsa0JBQWtCLENBQUVDLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRTtFQUMxRSxPQUFPLE1BQU0sSUFBSSxDQUFDQyxRQUFRLENBQUNDLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDLHNDQUFzQyxFQUFFLE1BQU0sRUFDdkYsSUFBQUMscUJBQWMsRUFBQ0osSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUNyQyxDQUFDO0FBaUJERixRQUFRLENBQUNPLGlCQUFpQixHQUFHLGVBQWVBLGlCQUFpQixDQUFFTCxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUU7RUFDeEUsT0FBTyxNQUFNLElBQUksQ0FBQ0MsUUFBUSxDQUFDQyxPQUFPLENBQUNDLE9BQU8sQ0FBQyxxQ0FBcUMsRUFBRSxNQUFNLEVBQ3RGLElBQUFDLHFCQUFjLEVBQUNKLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDckMsQ0FBQztBQUFDLGVBSWFGLFFBQVE7QUFBQSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","names":["commands","mobileStartService","opts","espresso","jwproxy","command","requireOptions","mobileStopService"],"sources":["../../../lib/commands/services.js"],"sourcesContent":["import { requireOptions } from '../utils';\n\nconst commands = {};\n\n\n/**\n * @typedef {Object} StartServiceOptions\n * @property {!string} intent - The name of the service intent to start, for example\n * `com.some.package.name/.YourServiceSubClassName`. This option is mandatory.\n * !!! Only services in the app's under test scope could be started.\n * @property {boolean} foreground [false] - Set it to `true` if your service must be\n * started as foreground service.\n */\n\n/**\n * Starts the given service intent.\n *\n * @param {StartServiceOptions} opts\n * @returns {string} The full component name\n * @throws {Error} If there was a failure while starting the service\n * or required options are missing\n */\ncommands.mobileStartService = async function mobileStartService (opts = {}) {\n return await this.espresso.jwproxy.command('/appium/execute_mobile/start_service', 'POST',\n requireOptions(opts, ['intent']));\n};\n\n/**\n * @typedef {Object} StopServiceOptions\n * @property {!string} intent - The name of the service intent to stop, for example\n * `com.some.package.name/.YourServiceSubClassName`. This option is mandatory.\n * !!! Only services in the app's under test scope could be stopped.\n */\n\n/**\n * Stops the given service intent.\n *\n * @param {StopServiceOptions} opts\n * @returns {string} `true` if the service has been successfully stopped\n * @throws {Error} If there was a failure while stopping the service\n * or required options are missing\n */\ncommands.mobileStopService = async function mobileStopService (opts = {}) {\n return await this.espresso.jwproxy.command('/appium/execute_mobile/stop_service', 'POST',\n requireOptions(opts, ['intent']));\n};\n\n\nexport { commands };\nexport default commands;\n"],"mappings":";;;;;;;AAAA;AAEA,MAAMA,QAAQ,GAAG,CAAC,CAAC;;AAAC;;AAoBpBA,QAAQ,CAACC,kBAAkB,GAAG,eAAeA,kBAAkB,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAE;EAC1E,OAAO,MAAM,IAAI,CAACC,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAC,sCAAsC,EAAE,MAAM,EACvF,IAAAC,qBAAc,EAACJ,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrC,CAAC;;AAiBDF,QAAQ,CAACO,iBAAiB,GAAG,eAAeA,iBAAiB,CAAEL,IAAI,GAAG,CAAC,CAAC,EAAE;EACxE,OAAO,MAAM,IAAI,CAACC,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAC,qCAAqC,EAAE,MAAM,EACtF,IAAAC,qBAAc,EAACJ,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrC,CAAC;AAAC,eAIaF,QAAQ;AAAA"}
1
+ {"version":3,"file":"services.js","names":["commands","mobileStartService","opts","espresso","jwproxy","command","requireOptions","mobileStopService"],"sources":["../../../lib/commands/services.js"],"sourcesContent":["import { requireOptions } from '../utils';\n\nconst commands = {};\n\n\n/**\n * @typedef {Object} StartServiceOptions\n * @property {!string} intent - The name of the service intent to start, for example\n * `com.some.package.name/.YourServiceSubClassName`. This option is mandatory.\n * !!! Only services in the app's under test scope could be started.\n * @property {boolean} foreground [false] - Set it to `true` if your service must be\n * started as foreground service.\n */\n\n/**\n * Starts the given service intent.\n *\n * @param {StartServiceOptions} opts\n * @returns {string} The full component name\n * @throws {Error} If there was a failure while starting the service\n * or required options are missing\n */\ncommands.mobileStartService = async function mobileStartService (opts = {}) {\n return await this.espresso.jwproxy.command('/appium/execute_mobile/start_service', 'POST',\n requireOptions(opts, ['intent']));\n};\n\n/**\n * @typedef {Object} StopServiceOptions\n * @property {!string} intent - The name of the service intent to stop, for example\n * `com.some.package.name/.YourServiceSubClassName`. This option is mandatory.\n * !!! Only services in the app's under test scope could be stopped.\n */\n\n/**\n * Stops the given service intent.\n *\n * @param {StopServiceOptions} opts\n * @returns {string} `true` if the service has been successfully stopped\n * @throws {Error} If there was a failure while stopping the service\n * or required options are missing\n */\ncommands.mobileStopService = async function mobileStopService (opts = {}) {\n return await this.espresso.jwproxy.command('/appium/execute_mobile/stop_service', 'POST',\n requireOptions(opts, ['intent']));\n};\n\n\nexport { commands };\nexport default commands;\n"],"mappings":";;;;;;;AAAA;AAEA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AAAC;AAoBpBA,QAAQ,CAACC,kBAAkB,GAAG,eAAeA,kBAAkB,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAE;EAC1E,OAAO,MAAM,IAAI,CAACC,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAC,sCAAsC,EAAE,MAAM,EACvF,IAAAC,qBAAc,EAACJ,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrC,CAAC;AAiBDF,QAAQ,CAACO,iBAAiB,GAAG,eAAeA,iBAAiB,CAAEL,IAAI,GAAG,CAAC,CAAC,EAAE;EACxE,OAAO,MAAM,IAAI,CAACC,QAAQ,CAACC,OAAO,CAACC,OAAO,CAAC,qCAAqC,EAAE,MAAM,EACtF,IAAAC,qBAAc,EAACJ,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrC,CAAC;AAAC,eAIaF,QAAQ;AAAA"}