appium-uiautomator2-driver 2.7.1 → 2.8.0

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.
Files changed (40) hide show
  1. package/README.md +3 -3
  2. package/build/index.js +1 -4
  3. package/build/lib/commands/actions.js +3 -12
  4. package/build/lib/commands/actions.js.map +1 -1
  5. package/build/lib/commands/alert.js +3 -9
  6. package/build/lib/commands/alert.js.map +1 -1
  7. package/build/lib/commands/battery.js +3 -5
  8. package/build/lib/commands/battery.js.map +1 -1
  9. package/build/lib/commands/element.js +3 -36
  10. package/build/lib/commands/element.js.map +1 -1
  11. package/build/lib/commands/find.js +2 -9
  12. package/build/lib/commands/find.js.map +1 -1
  13. package/build/lib/commands/general.js +5 -36
  14. package/build/lib/commands/general.js.map +1 -1
  15. package/build/lib/commands/gestures.js +1 -15
  16. package/build/lib/commands/gestures.js.map +1 -1
  17. package/build/lib/commands/index.js +3 -15
  18. package/build/lib/commands/index.js.map +1 -1
  19. package/build/lib/commands/screenshot.js +1 -8
  20. package/build/lib/commands/screenshot.js.map +1 -1
  21. package/build/lib/commands/touch.js +2 -8
  22. package/build/lib/commands/touch.js.map +1 -1
  23. package/build/lib/commands/viewport.js +3 -9
  24. package/build/lib/commands/viewport.js.map +1 -1
  25. package/build/lib/css-converter.js +1 -42
  26. package/build/lib/css-converter.js.map +1 -1
  27. package/build/lib/desired-caps.js +1 -4
  28. package/build/lib/desired-caps.js.map +1 -1
  29. package/build/lib/driver.js +24 -102
  30. package/build/lib/driver.js.map +1 -1
  31. package/build/lib/extensions.js +1 -3
  32. package/build/lib/extensions.js.map +1 -1
  33. package/build/lib/helpers.js +1 -15
  34. package/build/lib/helpers.js.map +1 -1
  35. package/build/lib/logger.js +1 -5
  36. package/build/lib/logger.js.map +1 -1
  37. package/build/lib/uiautomator2.js +1 -70
  38. package/build/lib/uiautomator2.js.map +1 -1
  39. package/npm-shrinkwrap.json +195 -108
  40. package/package.json +3 -3
package/README.md CHANGED
@@ -75,7 +75,7 @@ appium:intentFlags | Set an optional intent flags to be applied when starting th
75
75
  appium:optionalIntentArguments | Set an optional intent arguments to be applied when starting the given appActivity by [Activity Manager](https://developer.android.com/studio/command-line/adb#am)
76
76
  appium:dontStopAppOnReset | Set it to `true` if you don't want the application to be restarted if it was already running. `false` by default
77
77
  appium:autoLaunch | Whether to launch the application under test automatically (`true`, the default value) after a test starts
78
- appium:autoGrantPermissions | Whether to grant all the requested application permissions automatically when a test starts(`true`). `false` by default
78
+ appium:autoGrantPermissions | Whether to grant all the requested application permissions automatically when a test starts(`true`). The targetSdkVersion in the application manifest must be greater or equal to 23 and the Android version on the device under test must be greater or equal to Android 6 (API level 23) to grant permissions. Applications whose targetSdkVersion is lower than or equal to 22 must be reisntalled to grant permissions, for example, by setting the `appium:fullReset` capability as `true` for Android 6+ devices. `false` by default
79
79
  appium:otherApps | Allows to set one or more comma-separated paths to Android packages that are going to be installed along with the main application under test. This might be useful if the tested app has dependencies
80
80
  appium:uninstallOtherPackages | Allows to set one or more comma-separated package identifiers to be uninstalled from the device before a test starts
81
81
  appium:allowTestPackages | If set to `true` then it would be possible to use packages built with the test flag for the automated testing (literally adds `-t` flag to the `adb install` command). `false` by default
@@ -438,7 +438,7 @@ Changes package permissions in runtime.
438
438
 
439
439
  Name | Type | Required | Description | Example
440
440
  --- | --- | --- | --- | ---
441
- permissions | string or Array<string> | yes | The full name of the permission to be changed or a list of permissions. Mandatory argument. | `['android.permission.ACCESS_FINE_LOCATION', 'android.permission.BROADCAST_SMS']`
441
+ permissions | string or Array<string> | yes | The full name of the permission to be changed or a list of permissions. Consider checking [the full list](https://developer.android.com/reference/android/Manifest.permission) of standard Android permission names. If `all` magic string is passed (available since driver version 2.8.0) then the chosen action is going to be applied to all permissions requested/granted by the 'appPackage'. | `['android.permission.ACCESS_FINE_LOCATION', 'android.permission.BROADCAST_SMS']` `all`
442
442
  appPackage | string | no | The application package to set change permissions on. Defaults to the package name under test | com.mycompany.myapp
443
443
  action | string | no | Either `grant` (the default action) or `revoke` | grant
444
444
 
@@ -745,7 +745,7 @@ appPath | string | yes | The local .apk(s) path on the server filesystem or a re
745
745
  timeout | number | no | The count of milliseconds to wait until the app is installed.. 6000ms by default. | 120000
746
746
  allowTestPackages | boolean | no | Set to true in order to allow test packages installation. false by default | true
747
747
  useSdcard | boolean | no | Set to true to install the app on sdcard instead of the device memory. false by default | true
748
- grantPermissions | boolean | no | Set to true in order to grant all the permissions requested in the application's manifest automatically after the installation is completed under Android 6+. false by default | true
748
+ grantPermissions | boolean | no | Set to true in order to grant all the permissions requested in the application's manifest automatically after the installation is completed under Android 6+. The targetSdkVersion in the application manifest must be greater or equal to 23 and the Android version on the device under test must be greater or equal to Android 6 (API level 23) to grant permissions. Applications whose targetSdkVersion is lower than or equal to 22 must be reisntalled to grant permissions for Android 6+ devices. false by default | true
749
749
  replace | boolean | no | Set it to false if you don't want the application to be upgraded/reinstalled if it is already present on the device, but throw an error instead. true by default | false
750
750
 
751
751
  ### mobile: clearApp
package/build/index.js CHANGED
@@ -10,11 +10,8 @@ Object.defineProperty(exports, "AndroidUiautomator2Driver", {
10
10
  }
11
11
  });
12
12
  exports.default = void 0;
13
-
14
13
  require("source-map-support/register");
15
-
16
14
  var _driver = require("./lib/driver");
17
-
18
15
  var _default = _driver.AndroidUiautomator2Driver;
19
16
  exports.default = _default;
20
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBbmRyb2lkVWlhdXRvbWF0b3IyRHJpdmVyIl0sInNvdXJjZXMiOlsiLi4vaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gdHJhbnNwaWxlOm1haW5cblxuaW1wb3J0IHsgQW5kcm9pZFVpYXV0b21hdG9yMkRyaXZlciB9IGZyb20gJy4vbGliL2RyaXZlcic7XG5cbmV4cG9ydCB7IEFuZHJvaWRVaWF1dG9tYXRvcjJEcml2ZXIgfTtcbmV4cG9ydCBkZWZhdWx0IEFuZHJvaWRVaWF1dG9tYXRvcjJEcml2ZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUVBOztlQUdlQSxpQyJ9
17
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBbmRyb2lkVWlhdXRvbWF0b3IyRHJpdmVyIl0sInNvdXJjZXMiOlsiLi4vaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gdHJhbnNwaWxlOm1haW5cblxuaW1wb3J0IHsgQW5kcm9pZFVpYXV0b21hdG9yMkRyaXZlciB9IGZyb20gJy4vbGliL2RyaXZlcic7XG5cbmV4cG9ydCB7IEFuZHJvaWRVaWF1dG9tYXRvcjJEcml2ZXIgfTtcbmV4cG9ydCBkZWZhdWx0IEFuZHJvaWRVaWF1dG9tYXRvcjJEcml2ZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFFQTtBQUF5RCxlQUcxQ0EsaUNBQXlCO0FBQUEifQ==
@@ -4,15 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.helpers = exports.default = exports.commands = void 0;
7
-
8
7
  require("source-map-support/register");
9
-
10
8
  let commands = {},
11
- helpers = {},
12
- extensions = {};
9
+ helpers = {},
10
+ extensions = {};
13
11
  exports.helpers = helpers;
14
12
  exports.commands = commands;
15
-
16
13
  commands.pressKeyCode = async function (keycode, metastate = null, flags = null) {
17
14
  return await this.uiautomator2.jwproxy.command('/appium/device/press_keycode', 'POST', {
18
15
  keycode,
@@ -20,7 +17,6 @@ commands.pressKeyCode = async function (keycode, metastate = null, flags = null)
20
17
  flags
21
18
  });
22
19
  };
23
-
24
20
  commands.longPressKeyCode = async function (keycode, metastate = null, flags = null) {
25
21
  return await this.uiautomator2.jwproxy.command('/appium/device/long_press_keycode', 'POST', {
26
22
  keycode,
@@ -28,27 +24,22 @@ commands.longPressKeyCode = async function (keycode, metastate = null, flags = n
28
24
  flags
29
25
  });
30
26
  };
31
-
32
27
  commands.doSwipe = async function (swipeOpts) {
33
28
  return await this.uiautomator2.jwproxy.command(`/touch/perform`, 'POST', swipeOpts);
34
29
  };
35
-
36
30
  commands.doDrag = async function (dragOpts) {
37
31
  return await this.uiautomator2.jwproxy.command(`/touch/drag`, 'POST', dragOpts);
38
32
  };
39
-
40
33
  commands.getOrientation = async function () {
41
34
  return await this.uiautomator2.jwproxy.command(`/orientation`, 'GET', {});
42
35
  };
43
-
44
36
  commands.setOrientation = async function (orientation) {
45
37
  orientation = orientation.toUpperCase();
46
38
  return await this.uiautomator2.jwproxy.command(`/orientation`, 'POST', {
47
39
  orientation
48
40
  });
49
41
  };
50
-
51
42
  Object.assign(extensions, commands, helpers);
52
43
  var _default = extensions;
53
44
  exports.default = _default;
54
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImhlbHBlcnMiLCJleHRlbnNpb25zIiwicHJlc3NLZXlDb2RlIiwia2V5Y29kZSIsIm1ldGFzdGF0ZSIsImZsYWdzIiwidWlhdXRvbWF0b3IyIiwiandwcm94eSIsImNvbW1hbmQiLCJsb25nUHJlc3NLZXlDb2RlIiwiZG9Td2lwZSIsInN3aXBlT3B0cyIsImRvRHJhZyIsImRyYWdPcHRzIiwiZ2V0T3JpZW50YXRpb24iLCJzZXRPcmllbnRhdGlvbiIsIm9yaWVudGF0aW9uIiwidG9VcHBlckNhc2UiLCJPYmplY3QiLCJhc3NpZ24iXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvYWN0aW9ucy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcblxubGV0IGNvbW1hbmRzID0ge30sIGhlbHBlcnMgPSB7fSwgZXh0ZW5zaW9ucyA9IHt9O1xuXG5jb21tYW5kcy5wcmVzc0tleUNvZGUgPSBhc3luYyBmdW5jdGlvbiAoa2V5Y29kZSwgbWV0YXN0YXRlID0gbnVsbCwgZmxhZ3MgPSBudWxsKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoJy9hcHBpdW0vZGV2aWNlL3ByZXNzX2tleWNvZGUnLCAnUE9TVCcsIHtcbiAgICBrZXljb2RlLFxuICAgIG1ldGFzdGF0ZSxcbiAgICBmbGFncyxcbiAgfSk7XG59O1xuXG5jb21tYW5kcy5sb25nUHJlc3NLZXlDb2RlID0gYXN5bmMgZnVuY3Rpb24gKGtleWNvZGUsIG1ldGFzdGF0ZSA9IG51bGwsIGZsYWdzID0gbnVsbCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKCcvYXBwaXVtL2RldmljZS9sb25nX3ByZXNzX2tleWNvZGUnLCAnUE9TVCcsIHtcbiAgICBrZXljb2RlLFxuICAgIG1ldGFzdGF0ZSxcbiAgICBmbGFnc1xuICB9KTtcbn07XG5cbmNvbW1hbmRzLmRvU3dpcGUgPSBhc3luYyBmdW5jdGlvbiAoc3dpcGVPcHRzKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC90b3VjaC9wZXJmb3JtYCwgJ1BPU1QnLCBzd2lwZU9wdHMpO1xufTtcblxuY29tbWFuZHMuZG9EcmFnID0gYXN5bmMgZnVuY3Rpb24gKGRyYWdPcHRzKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC90b3VjaC9kcmFnYCwgJ1BPU1QnLCBkcmFnT3B0cyk7XG59O1xuXG5jb21tYW5kcy5nZXRPcmllbnRhdGlvbiA9IGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL29yaWVudGF0aW9uYCwgJ0dFVCcsIHt9KTtcbn07XG5cbmNvbW1hbmRzLnNldE9yaWVudGF0aW9uID0gYXN5bmMgZnVuY3Rpb24gKG9yaWVudGF0aW9uKSB7XG4gIG9yaWVudGF0aW9uID0gb3JpZW50YXRpb24udG9VcHBlckNhc2UoKTtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL29yaWVudGF0aW9uYCwgJ1BPU1QnLCB7b3JpZW50YXRpb259KTtcbn07XG5cbk9iamVjdC5hc3NpZ24oZXh0ZW5zaW9ucywgY29tbWFuZHMsIGhlbHBlcnMpO1xuZXhwb3J0IHsgY29tbWFuZHMsIGhlbHBlcnMgfTtcbmV4cG9ydCBkZWZhdWx0IGV4dGVuc2lvbnM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVBLElBQUlBLFFBQVEsR0FBRyxFQUFmO0FBQUEsSUFBbUJDLE9BQU8sR0FBRyxFQUE3QjtBQUFBLElBQWlDQyxVQUFVLEdBQUcsRUFBOUM7Ozs7QUFFQUYsUUFBUSxDQUFDRyxZQUFULEdBQXdCLGdCQUFnQkMsT0FBaEIsRUFBeUJDLFNBQVMsR0FBRyxJQUFyQyxFQUEyQ0MsS0FBSyxHQUFHLElBQW5ELEVBQXlEO0VBQy9FLE9BQU8sTUFBTSxLQUFLQyxZQUFMLENBQWtCQyxPQUFsQixDQUEwQkMsT0FBMUIsQ0FBa0MsOEJBQWxDLEVBQWtFLE1BQWxFLEVBQTBFO0lBQ3JGTCxPQURxRjtJQUVyRkMsU0FGcUY7SUFHckZDO0VBSHFGLENBQTFFLENBQWI7QUFLRCxDQU5EOztBQVFBTixRQUFRLENBQUNVLGdCQUFULEdBQTRCLGdCQUFnQk4sT0FBaEIsRUFBeUJDLFNBQVMsR0FBRyxJQUFyQyxFQUEyQ0MsS0FBSyxHQUFHLElBQW5ELEVBQXlEO0VBQ25GLE9BQU8sTUFBTSxLQUFLQyxZQUFMLENBQWtCQyxPQUFsQixDQUEwQkMsT0FBMUIsQ0FBa0MsbUNBQWxDLEVBQXVFLE1BQXZFLEVBQStFO0lBQzFGTCxPQUQwRjtJQUUxRkMsU0FGMEY7SUFHMUZDO0VBSDBGLENBQS9FLENBQWI7QUFLRCxDQU5EOztBQVFBTixRQUFRLENBQUNXLE9BQVQsR0FBbUIsZ0JBQWdCQyxTQUFoQixFQUEyQjtFQUM1QyxPQUFPLE1BQU0sS0FBS0wsWUFBTCxDQUFrQkMsT0FBbEIsQ0FBMEJDLE9BQTFCLENBQW1DLGdCQUFuQyxFQUFvRCxNQUFwRCxFQUE0REcsU0FBNUQsQ0FBYjtBQUNELENBRkQ7O0FBSUFaLFFBQVEsQ0FBQ2EsTUFBVCxHQUFrQixnQkFBZ0JDLFFBQWhCLEVBQTBCO0VBQzFDLE9BQU8sTUFBTSxLQUFLUCxZQUFMLENBQWtCQyxPQUFsQixDQUEwQkMsT0FBMUIsQ0FBbUMsYUFBbkMsRUFBaUQsTUFBakQsRUFBeURLLFFBQXpELENBQWI7QUFDRCxDQUZEOztBQUlBZCxRQUFRLENBQUNlLGNBQVQsR0FBMEIsa0JBQWtCO0VBQzFDLE9BQU8sTUFBTSxLQUFLUixZQUFMLENBQWtCQyxPQUFsQixDQUEwQkMsT0FBMUIsQ0FBbUMsY0FBbkMsRUFBa0QsS0FBbEQsRUFBeUQsRUFBekQsQ0FBYjtBQUNELENBRkQ7O0FBSUFULFFBQVEsQ0FBQ2dCLGNBQVQsR0FBMEIsZ0JBQWdCQyxXQUFoQixFQUE2QjtFQUNyREEsV0FBVyxHQUFHQSxXQUFXLENBQUNDLFdBQVosRUFBZDtFQUNBLE9BQU8sTUFBTSxLQUFLWCxZQUFMLENBQWtCQyxPQUFsQixDQUEwQkMsT0FBMUIsQ0FBbUMsY0FBbkMsRUFBa0QsTUFBbEQsRUFBMEQ7SUFBQ1E7RUFBRCxDQUExRCxDQUFiO0FBQ0QsQ0FIRDs7QUFLQUUsTUFBTSxDQUFDQyxNQUFQLENBQWNsQixVQUFkLEVBQTBCRixRQUExQixFQUFvQ0MsT0FBcEM7ZUFFZUMsVSJ9
45
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImhlbHBlcnMiLCJleHRlbnNpb25zIiwicHJlc3NLZXlDb2RlIiwia2V5Y29kZSIsIm1ldGFzdGF0ZSIsImZsYWdzIiwidWlhdXRvbWF0b3IyIiwiandwcm94eSIsImNvbW1hbmQiLCJsb25nUHJlc3NLZXlDb2RlIiwiZG9Td2lwZSIsInN3aXBlT3B0cyIsImRvRHJhZyIsImRyYWdPcHRzIiwiZ2V0T3JpZW50YXRpb24iLCJzZXRPcmllbnRhdGlvbiIsIm9yaWVudGF0aW9uIiwidG9VcHBlckNhc2UiLCJPYmplY3QiLCJhc3NpZ24iXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvYWN0aW9ucy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcblxubGV0IGNvbW1hbmRzID0ge30sIGhlbHBlcnMgPSB7fSwgZXh0ZW5zaW9ucyA9IHt9O1xuXG5jb21tYW5kcy5wcmVzc0tleUNvZGUgPSBhc3luYyBmdW5jdGlvbiAoa2V5Y29kZSwgbWV0YXN0YXRlID0gbnVsbCwgZmxhZ3MgPSBudWxsKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoJy9hcHBpdW0vZGV2aWNlL3ByZXNzX2tleWNvZGUnLCAnUE9TVCcsIHtcbiAgICBrZXljb2RlLFxuICAgIG1ldGFzdGF0ZSxcbiAgICBmbGFncyxcbiAgfSk7XG59O1xuXG5jb21tYW5kcy5sb25nUHJlc3NLZXlDb2RlID0gYXN5bmMgZnVuY3Rpb24gKGtleWNvZGUsIG1ldGFzdGF0ZSA9IG51bGwsIGZsYWdzID0gbnVsbCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKCcvYXBwaXVtL2RldmljZS9sb25nX3ByZXNzX2tleWNvZGUnLCAnUE9TVCcsIHtcbiAgICBrZXljb2RlLFxuICAgIG1ldGFzdGF0ZSxcbiAgICBmbGFnc1xuICB9KTtcbn07XG5cbmNvbW1hbmRzLmRvU3dpcGUgPSBhc3luYyBmdW5jdGlvbiAoc3dpcGVPcHRzKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC90b3VjaC9wZXJmb3JtYCwgJ1BPU1QnLCBzd2lwZU9wdHMpO1xufTtcblxuY29tbWFuZHMuZG9EcmFnID0gYXN5bmMgZnVuY3Rpb24gKGRyYWdPcHRzKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC90b3VjaC9kcmFnYCwgJ1BPU1QnLCBkcmFnT3B0cyk7XG59O1xuXG5jb21tYW5kcy5nZXRPcmllbnRhdGlvbiA9IGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL29yaWVudGF0aW9uYCwgJ0dFVCcsIHt9KTtcbn07XG5cbmNvbW1hbmRzLnNldE9yaWVudGF0aW9uID0gYXN5bmMgZnVuY3Rpb24gKG9yaWVudGF0aW9uKSB7XG4gIG9yaWVudGF0aW9uID0gb3JpZW50YXRpb24udG9VcHBlckNhc2UoKTtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL29yaWVudGF0aW9uYCwgJ1BPU1QnLCB7b3JpZW50YXRpb259KTtcbn07XG5cbk9iamVjdC5hc3NpZ24oZXh0ZW5zaW9ucywgY29tbWFuZHMsIGhlbHBlcnMpO1xuZXhwb3J0IHsgY29tbWFuZHMsIGhlbHBlcnMgfTtcbmV4cG9ydCBkZWZhdWx0IGV4dGVuc2lvbnM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFFQSxJQUFJQSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0VBQUVDLE9BQU8sR0FBRyxDQUFDLENBQUM7RUFBRUMsVUFBVSxHQUFHLENBQUMsQ0FBQztBQUFDO0FBQUE7QUFFakRGLFFBQVEsQ0FBQ0csWUFBWSxHQUFHLGdCQUFnQkMsT0FBTyxFQUFFQyxTQUFTLEdBQUcsSUFBSSxFQUFFQyxLQUFLLEdBQUcsSUFBSSxFQUFFO0VBQy9FLE9BQU8sTUFBTSxJQUFJLENBQUNDLFlBQVksQ0FBQ0MsT0FBTyxDQUFDQyxPQUFPLENBQUMsOEJBQThCLEVBQUUsTUFBTSxFQUFFO0lBQ3JGTCxPQUFPO0lBQ1BDLFNBQVM7SUFDVEM7RUFDRixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUROLFFBQVEsQ0FBQ1UsZ0JBQWdCLEdBQUcsZ0JBQWdCTixPQUFPLEVBQUVDLFNBQVMsR0FBRyxJQUFJLEVBQUVDLEtBQUssR0FBRyxJQUFJLEVBQUU7RUFDbkYsT0FBTyxNQUFNLElBQUksQ0FBQ0MsWUFBWSxDQUFDQyxPQUFPLENBQUNDLE9BQU8sQ0FBQyxtQ0FBbUMsRUFBRSxNQUFNLEVBQUU7SUFDMUZMLE9BQU87SUFDUEMsU0FBUztJQUNUQztFQUNGLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRE4sUUFBUSxDQUFDVyxPQUFPLEdBQUcsZ0JBQWdCQyxTQUFTLEVBQUU7RUFDNUMsT0FBTyxNQUFNLElBQUksQ0FBQ0wsWUFBWSxDQUFDQyxPQUFPLENBQUNDLE9BQU8sQ0FBRSxnQkFBZSxFQUFFLE1BQU0sRUFBRUcsU0FBUyxDQUFDO0FBQ3JGLENBQUM7QUFFRFosUUFBUSxDQUFDYSxNQUFNLEdBQUcsZ0JBQWdCQyxRQUFRLEVBQUU7RUFDMUMsT0FBTyxNQUFNLElBQUksQ0FBQ1AsWUFBWSxDQUFDQyxPQUFPLENBQUNDLE9BQU8sQ0FBRSxhQUFZLEVBQUUsTUFBTSxFQUFFSyxRQUFRLENBQUM7QUFDakYsQ0FBQztBQUVEZCxRQUFRLENBQUNlLGNBQWMsR0FBRyxrQkFBa0I7RUFDMUMsT0FBTyxNQUFNLElBQUksQ0FBQ1IsWUFBWSxDQUFDQyxPQUFPLENBQUNDLE9BQU8sQ0FBRSxjQUFhLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzNFLENBQUM7QUFFRFQsUUFBUSxDQUFDZ0IsY0FBYyxHQUFHLGdCQUFnQkMsV0FBVyxFQUFFO0VBQ3JEQSxXQUFXLEdBQUdBLFdBQVcsQ0FBQ0MsV0FBVyxFQUFFO0VBQ3ZDLE9BQU8sTUFBTSxJQUFJLENBQUNYLFlBQVksQ0FBQ0MsT0FBTyxDQUFDQyxPQUFPLENBQUUsY0FBYSxFQUFFLE1BQU0sRUFBRTtJQUFDUTtFQUFXLENBQUMsQ0FBQztBQUN2RixDQUFDO0FBRURFLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDbEIsVUFBVSxFQUFFRixRQUFRLEVBQUVDLE9BQU8sQ0FBQztBQUFDLGVBRTlCQyxVQUFVO0FBQUEifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","names":["commands","helpers","extensions","pressKeyCode","keycode","metastate","flags","uiautomator2","jwproxy","command","longPressKeyCode","doSwipe","swipeOpts","doDrag","dragOpts","getOrientation","setOrientation","orientation","toUpperCase","Object","assign"],"sources":["../../../lib/commands/actions.js"],"sourcesContent":["\n\nlet commands = {}, helpers = {}, extensions = {};\n\ncommands.pressKeyCode = async function (keycode, metastate = null, flags = null) {\n return await this.uiautomator2.jwproxy.command('/appium/device/press_keycode', 'POST', {\n keycode,\n metastate,\n flags,\n });\n};\n\ncommands.longPressKeyCode = async function (keycode, metastate = null, flags = null) {\n return await this.uiautomator2.jwproxy.command('/appium/device/long_press_keycode', 'POST', {\n keycode,\n metastate,\n flags\n });\n};\n\ncommands.doSwipe = async function (swipeOpts) {\n return await this.uiautomator2.jwproxy.command(`/touch/perform`, 'POST', swipeOpts);\n};\n\ncommands.doDrag = async function (dragOpts) {\n return await this.uiautomator2.jwproxy.command(`/touch/drag`, 'POST', dragOpts);\n};\n\ncommands.getOrientation = async function () {\n return await this.uiautomator2.jwproxy.command(`/orientation`, 'GET', {});\n};\n\ncommands.setOrientation = async function (orientation) {\n orientation = orientation.toUpperCase();\n return await this.uiautomator2.jwproxy.command(`/orientation`, 'POST', {orientation});\n};\n\nObject.assign(extensions, commands, helpers);\nexport { commands, helpers };\nexport default extensions;\n"],"mappings":";;;;;;;;;AAEA,IAAIA,QAAQ,GAAG,EAAf;AAAA,IAAmBC,OAAO,GAAG,EAA7B;AAAA,IAAiCC,UAAU,GAAG,EAA9C;;;;AAEAF,QAAQ,CAACG,YAAT,GAAwB,gBAAgBC,OAAhB,EAAyBC,SAAS,GAAG,IAArC,EAA2CC,KAAK,GAAG,IAAnD,EAAyD;EAC/E,OAAO,MAAM,KAAKC,YAAL,CAAkBC,OAAlB,CAA0BC,OAA1B,CAAkC,8BAAlC,EAAkE,MAAlE,EAA0E;IACrFL,OADqF;IAErFC,SAFqF;IAGrFC;EAHqF,CAA1E,CAAb;AAKD,CAND;;AAQAN,QAAQ,CAACU,gBAAT,GAA4B,gBAAgBN,OAAhB,EAAyBC,SAAS,GAAG,IAArC,EAA2CC,KAAK,GAAG,IAAnD,EAAyD;EACnF,OAAO,MAAM,KAAKC,YAAL,CAAkBC,OAAlB,CAA0BC,OAA1B,CAAkC,mCAAlC,EAAuE,MAAvE,EAA+E;IAC1FL,OAD0F;IAE1FC,SAF0F;IAG1FC;EAH0F,CAA/E,CAAb;AAKD,CAND;;AAQAN,QAAQ,CAACW,OAAT,GAAmB,gBAAgBC,SAAhB,EAA2B;EAC5C,OAAO,MAAM,KAAKL,YAAL,CAAkBC,OAAlB,CAA0BC,OAA1B,CAAmC,gBAAnC,EAAoD,MAApD,EAA4DG,SAA5D,CAAb;AACD,CAFD;;AAIAZ,QAAQ,CAACa,MAAT,GAAkB,gBAAgBC,QAAhB,EAA0B;EAC1C,OAAO,MAAM,KAAKP,YAAL,CAAkBC,OAAlB,CAA0BC,OAA1B,CAAmC,aAAnC,EAAiD,MAAjD,EAAyDK,QAAzD,CAAb;AACD,CAFD;;AAIAd,QAAQ,CAACe,cAAT,GAA0B,kBAAkB;EAC1C,OAAO,MAAM,KAAKR,YAAL,CAAkBC,OAAlB,CAA0BC,OAA1B,CAAmC,cAAnC,EAAkD,KAAlD,EAAyD,EAAzD,CAAb;AACD,CAFD;;AAIAT,QAAQ,CAACgB,cAAT,GAA0B,gBAAgBC,WAAhB,EAA6B;EACrDA,WAAW,GAAGA,WAAW,CAACC,WAAZ,EAAd;EACA,OAAO,MAAM,KAAKX,YAAL,CAAkBC,OAAlB,CAA0BC,OAA1B,CAAmC,cAAnC,EAAkD,MAAlD,EAA0D;IAACQ;EAAD,CAA1D,CAAb;AACD,CAHD;;AAKAE,MAAM,CAACC,MAAP,CAAclB,UAAd,EAA0BF,QAA1B,EAAoCC,OAApC;eAEeC,U"}
1
+ {"version":3,"file":"actions.js","names":["commands","helpers","extensions","pressKeyCode","keycode","metastate","flags","uiautomator2","jwproxy","command","longPressKeyCode","doSwipe","swipeOpts","doDrag","dragOpts","getOrientation","setOrientation","orientation","toUpperCase","Object","assign"],"sources":["../../../lib/commands/actions.js"],"sourcesContent":["\n\nlet commands = {}, helpers = {}, extensions = {};\n\ncommands.pressKeyCode = async function (keycode, metastate = null, flags = null) {\n return await this.uiautomator2.jwproxy.command('/appium/device/press_keycode', 'POST', {\n keycode,\n metastate,\n flags,\n });\n};\n\ncommands.longPressKeyCode = async function (keycode, metastate = null, flags = null) {\n return await this.uiautomator2.jwproxy.command('/appium/device/long_press_keycode', 'POST', {\n keycode,\n metastate,\n flags\n });\n};\n\ncommands.doSwipe = async function (swipeOpts) {\n return await this.uiautomator2.jwproxy.command(`/touch/perform`, 'POST', swipeOpts);\n};\n\ncommands.doDrag = async function (dragOpts) {\n return await this.uiautomator2.jwproxy.command(`/touch/drag`, 'POST', dragOpts);\n};\n\ncommands.getOrientation = async function () {\n return await this.uiautomator2.jwproxy.command(`/orientation`, 'GET', {});\n};\n\ncommands.setOrientation = async function (orientation) {\n orientation = orientation.toUpperCase();\n return await this.uiautomator2.jwproxy.command(`/orientation`, 'POST', {orientation});\n};\n\nObject.assign(extensions, commands, helpers);\nexport { commands, helpers };\nexport default extensions;\n"],"mappings":";;;;;;;AAEA,IAAIA,QAAQ,GAAG,CAAC,CAAC;EAAEC,OAAO,GAAG,CAAC,CAAC;EAAEC,UAAU,GAAG,CAAC,CAAC;AAAC;AAAA;AAEjDF,QAAQ,CAACG,YAAY,GAAG,gBAAgBC,OAAO,EAAEC,SAAS,GAAG,IAAI,EAAEC,KAAK,GAAG,IAAI,EAAE;EAC/E,OAAO,MAAM,IAAI,CAACC,YAAY,CAACC,OAAO,CAACC,OAAO,CAAC,8BAA8B,EAAE,MAAM,EAAE;IACrFL,OAAO;IACPC,SAAS;IACTC;EACF,CAAC,CAAC;AACJ,CAAC;AAEDN,QAAQ,CAACU,gBAAgB,GAAG,gBAAgBN,OAAO,EAAEC,SAAS,GAAG,IAAI,EAAEC,KAAK,GAAG,IAAI,EAAE;EACnF,OAAO,MAAM,IAAI,CAACC,YAAY,CAACC,OAAO,CAACC,OAAO,CAAC,mCAAmC,EAAE,MAAM,EAAE;IAC1FL,OAAO;IACPC,SAAS;IACTC;EACF,CAAC,CAAC;AACJ,CAAC;AAEDN,QAAQ,CAACW,OAAO,GAAG,gBAAgBC,SAAS,EAAE;EAC5C,OAAO,MAAM,IAAI,CAACL,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,gBAAe,EAAE,MAAM,EAAEG,SAAS,CAAC;AACrF,CAAC;AAEDZ,QAAQ,CAACa,MAAM,GAAG,gBAAgBC,QAAQ,EAAE;EAC1C,OAAO,MAAM,IAAI,CAACP,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,aAAY,EAAE,MAAM,EAAEK,QAAQ,CAAC;AACjF,CAAC;AAEDd,QAAQ,CAACe,cAAc,GAAG,kBAAkB;EAC1C,OAAO,MAAM,IAAI,CAACR,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,cAAa,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC3E,CAAC;AAEDT,QAAQ,CAACgB,cAAc,GAAG,gBAAgBC,WAAW,EAAE;EACrDA,WAAW,GAAGA,WAAW,CAACC,WAAW,EAAE;EACvC,OAAO,MAAM,IAAI,CAACX,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,cAAa,EAAE,MAAM,EAAE;IAACQ;EAAW,CAAC,CAAC;AACvF,CAAC;AAEDE,MAAM,CAACC,MAAM,CAAClB,UAAU,EAAEF,QAAQ,EAAEC,OAAO,CAAC;AAAC,eAE9BC,UAAU;AAAA"}
@@ -4,15 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.helpers = exports.default = exports.commands = void 0;
7
-
8
7
  require("source-map-support/register");
9
-
10
8
  let commands = {},
11
- helpers = {},
12
- extensions = {};
9
+ helpers = {},
10
+ extensions = {};
13
11
  exports.helpers = helpers;
14
12
  exports.commands = commands;
15
-
16
13
  commands.getAlertText = async function () {
17
14
  return await this.uiautomator2.jwproxy.command('/alert/text', 'GET', {});
18
15
  };
@@ -20,7 +17,6 @@ commands.getAlertText = async function () {
20
17
  commands.mobileAcceptAlert = async function (opts = {}) {
21
18
  return await this.uiautomator2.jwproxy.command('/alert/accept', 'POST', opts);
22
19
  };
23
-
24
20
  commands.postAcceptAlert = async function () {
25
21
  return await this.mobileAcceptAlert();
26
22
  };
@@ -28,12 +24,10 @@ commands.postAcceptAlert = async function () {
28
24
  commands.mobileDismissAlert = async function (opts = {}) {
29
25
  return await this.uiautomator2.jwproxy.command('/alert/dismiss', 'POST', opts);
30
26
  };
31
-
32
27
  commands.postDismissAlert = async function () {
33
28
  return await this.mobileDismissAlert();
34
29
  };
35
-
36
30
  Object.assign(extensions, commands, helpers);
37
31
  var _default = extensions;
38
32
  exports.default = _default;
39
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImhlbHBlcnMiLCJleHRlbnNpb25zIiwiZ2V0QWxlcnRUZXh0IiwidWlhdXRvbWF0b3IyIiwiandwcm94eSIsImNvbW1hbmQiLCJtb2JpbGVBY2NlcHRBbGVydCIsIm9wdHMiLCJwb3N0QWNjZXB0QWxlcnQiLCJtb2JpbGVEaXNtaXNzQWxlcnQiLCJwb3N0RGlzbWlzc0FsZXJ0IiwiT2JqZWN0IiwiYXNzaWduIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2NvbW1hbmRzL2FsZXJ0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImxldCBjb21tYW5kcyA9IHt9LCBoZWxwZXJzID0ge30sIGV4dGVuc2lvbnMgPSB7fTtcblxuY29tbWFuZHMuZ2V0QWxlcnRUZXh0ID0gYXN5bmMgZnVuY3Rpb24gKCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKCcvYWxlcnQvdGV4dCcsICdHRVQnLCB7fSk7XG59O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEFjY2VwdEFsZXJ0T3B0aW9uc1xuICogQHByb3BlcnR5IHs/c3RyaW5nfSBidXR0b25MYWJlbCAtIFRoZSBuYW1lIG9mIHRoZSBidXR0b24gdG8gY2xpY2sgaW4gb3JkZXIgdG9cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NlcHQgdGhlIGFsZXJ0LiBJZiB0aGUgbmFtZSBpcyBub3QgcHJvdmlkZWRcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVuIHRoZSBzY3JpcHQgd2lsbCB0cnkgdG8gZGV0ZWN0IHRoZSBidXR0b25cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aWNhbGx5LlxuICovXG5cbi8qKlxuICogQHBhcmFtIHtBY2NlcHRBbGVydE9wdGlvbnN9IG9wdHNcbiAqIEB0aHJvd3Mge0ludmFsaWRFbGVtZW50U3RhdGVFcnJvcn0gSWYgbm8gbWF0Y2hpbmcgYnV0dG9uLCB0aGF0IGNhbiBhY2NlcHQgdGhlIGFsZXJ0LFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW4gYmUgZm91bmRcbiAqIEB0aHJvd3Mge05vQWxlcnRPcGVuRXJyb3J9IElmIG5vIGFsZXJ0IGlzIHByZXNlbnRcbiAqL1xuY29tbWFuZHMubW9iaWxlQWNjZXB0QWxlcnQgPSBhc3luYyBmdW5jdGlvbiAob3B0cyA9IHt9KSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoJy9hbGVydC9hY2NlcHQnLCAnUE9TVCcsIG9wdHMpO1xufTtcblxuY29tbWFuZHMucG9zdEFjY2VwdEFsZXJ0ID0gYXN5bmMgZnVuY3Rpb24gKCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy5tb2JpbGVBY2NlcHRBbGVydCgpO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBEaXNtaXNzQWxlcnRPcHRpb25zXG4gKiBAcHJvcGVydHkgez9zdHJpbmd9IGJ1dHRvbkxhYmVsIC0gVGhlIG5hbWUgb2YgdGhlIGJ1dHRvbiB0byBjbGljayBpbiBvcmRlciB0b1xuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc21pc3MgdGhlIGFsZXJ0LiBJZiB0aGUgbmFtZSBpcyBub3QgcHJvdmlkZWRcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVuIHRoZSBzY3JpcHQgd2lsbCB0cnkgdG8gZGV0ZWN0IHRoZSBidXR0b25cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aWNhbGx5LlxuICovXG5cbi8qKlxuICogQHBhcmFtIHtEaXNtaXNzQWxlcnRPcHRpb25zfSBvcHRzXG4gKiBAdGhyb3dzIHtJbnZhbGlkRWxlbWVudFN0YXRlRXJyb3J9IElmIG5vIG1hdGNoaW5nIGJ1dHRvbiwgdGhhdCBjYW4gZGlzbWlzcyB0aGUgYWxlcnQsXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbiBiZSBmb3VuZFxuICogQHRocm93cyB7Tm9BbGVydE9wZW5FcnJvcn0gSWYgbm8gYWxlcnQgaXMgcHJlc2VudFxuICovXG5jb21tYW5kcy5tb2JpbGVEaXNtaXNzQWxlcnQgPSBhc3luYyBmdW5jdGlvbiAob3B0cyA9IHt9KSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoJy9hbGVydC9kaXNtaXNzJywgJ1BPU1QnLCBvcHRzKTtcbn07XG5cbmNvbW1hbmRzLnBvc3REaXNtaXNzQWxlcnQgPSBhc3luYyBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLm1vYmlsZURpc21pc3NBbGVydCgpO1xufTtcblxuT2JqZWN0LmFzc2lnbihleHRlbnNpb25zLCBjb21tYW5kcywgaGVscGVycyk7XG5leHBvcnQgeyBjb21tYW5kcywgaGVscGVycyB9O1xuZXhwb3J0IGRlZmF1bHQgZXh0ZW5zaW9ucztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBSUEsUUFBUSxHQUFHLEVBQWY7QUFBQSxJQUFtQkMsT0FBTyxHQUFHLEVBQTdCO0FBQUEsSUFBaUNDLFVBQVUsR0FBRyxFQUE5Qzs7OztBQUVBRixRQUFRLENBQUNHLFlBQVQsR0FBd0Isa0JBQWtCO0VBQ3hDLE9BQU8sTUFBTSxLQUFLQyxZQUFMLENBQWtCQyxPQUFsQixDQUEwQkMsT0FBMUIsQ0FBa0MsYUFBbEMsRUFBaUQsS0FBakQsRUFBd0QsRUFBeEQsQ0FBYjtBQUNELENBRkQ7O0FBa0JBTixRQUFRLENBQUNPLGlCQUFULEdBQTZCLGdCQUFnQkMsSUFBSSxHQUFHLEVBQXZCLEVBQTJCO0VBQ3RELE9BQU8sTUFBTSxLQUFLSixZQUFMLENBQWtCQyxPQUFsQixDQUEwQkMsT0FBMUIsQ0FBa0MsZUFBbEMsRUFBbUQsTUFBbkQsRUFBMkRFLElBQTNELENBQWI7QUFDRCxDQUZEOztBQUlBUixRQUFRLENBQUNTLGVBQVQsR0FBMkIsa0JBQWtCO0VBQzNDLE9BQU8sTUFBTSxLQUFLRixpQkFBTCxFQUFiO0FBQ0QsQ0FGRDs7QUFrQkFQLFFBQVEsQ0FBQ1Usa0JBQVQsR0FBOEIsZ0JBQWdCRixJQUFJLEdBQUcsRUFBdkIsRUFBMkI7RUFDdkQsT0FBTyxNQUFNLEtBQUtKLFlBQUwsQ0FBa0JDLE9BQWxCLENBQTBCQyxPQUExQixDQUFrQyxnQkFBbEMsRUFBb0QsTUFBcEQsRUFBNERFLElBQTVELENBQWI7QUFDRCxDQUZEOztBQUlBUixRQUFRLENBQUNXLGdCQUFULEdBQTRCLGtCQUFrQjtFQUM1QyxPQUFPLE1BQU0sS0FBS0Qsa0JBQUwsRUFBYjtBQUNELENBRkQ7O0FBSUFFLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjWCxVQUFkLEVBQTBCRixRQUExQixFQUFvQ0MsT0FBcEM7ZUFFZUMsVSJ9
33
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImhlbHBlcnMiLCJleHRlbnNpb25zIiwiZ2V0QWxlcnRUZXh0IiwidWlhdXRvbWF0b3IyIiwiandwcm94eSIsImNvbW1hbmQiLCJtb2JpbGVBY2NlcHRBbGVydCIsIm9wdHMiLCJwb3N0QWNjZXB0QWxlcnQiLCJtb2JpbGVEaXNtaXNzQWxlcnQiLCJwb3N0RGlzbWlzc0FsZXJ0IiwiT2JqZWN0IiwiYXNzaWduIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2NvbW1hbmRzL2FsZXJ0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImxldCBjb21tYW5kcyA9IHt9LCBoZWxwZXJzID0ge30sIGV4dGVuc2lvbnMgPSB7fTtcblxuY29tbWFuZHMuZ2V0QWxlcnRUZXh0ID0gYXN5bmMgZnVuY3Rpb24gKCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKCcvYWxlcnQvdGV4dCcsICdHRVQnLCB7fSk7XG59O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEFjY2VwdEFsZXJ0T3B0aW9uc1xuICogQHByb3BlcnR5IHs/c3RyaW5nfSBidXR0b25MYWJlbCAtIFRoZSBuYW1lIG9mIHRoZSBidXR0b24gdG8gY2xpY2sgaW4gb3JkZXIgdG9cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NlcHQgdGhlIGFsZXJ0LiBJZiB0aGUgbmFtZSBpcyBub3QgcHJvdmlkZWRcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVuIHRoZSBzY3JpcHQgd2lsbCB0cnkgdG8gZGV0ZWN0IHRoZSBidXR0b25cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aWNhbGx5LlxuICovXG5cbi8qKlxuICogQHBhcmFtIHtBY2NlcHRBbGVydE9wdGlvbnN9IG9wdHNcbiAqIEB0aHJvd3Mge0ludmFsaWRFbGVtZW50U3RhdGVFcnJvcn0gSWYgbm8gbWF0Y2hpbmcgYnV0dG9uLCB0aGF0IGNhbiBhY2NlcHQgdGhlIGFsZXJ0LFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW4gYmUgZm91bmRcbiAqIEB0aHJvd3Mge05vQWxlcnRPcGVuRXJyb3J9IElmIG5vIGFsZXJ0IGlzIHByZXNlbnRcbiAqL1xuY29tbWFuZHMubW9iaWxlQWNjZXB0QWxlcnQgPSBhc3luYyBmdW5jdGlvbiAob3B0cyA9IHt9KSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoJy9hbGVydC9hY2NlcHQnLCAnUE9TVCcsIG9wdHMpO1xufTtcblxuY29tbWFuZHMucG9zdEFjY2VwdEFsZXJ0ID0gYXN5bmMgZnVuY3Rpb24gKCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy5tb2JpbGVBY2NlcHRBbGVydCgpO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBEaXNtaXNzQWxlcnRPcHRpb25zXG4gKiBAcHJvcGVydHkgez9zdHJpbmd9IGJ1dHRvbkxhYmVsIC0gVGhlIG5hbWUgb2YgdGhlIGJ1dHRvbiB0byBjbGljayBpbiBvcmRlciB0b1xuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc21pc3MgdGhlIGFsZXJ0LiBJZiB0aGUgbmFtZSBpcyBub3QgcHJvdmlkZWRcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVuIHRoZSBzY3JpcHQgd2lsbCB0cnkgdG8gZGV0ZWN0IHRoZSBidXR0b25cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aWNhbGx5LlxuICovXG5cbi8qKlxuICogQHBhcmFtIHtEaXNtaXNzQWxlcnRPcHRpb25zfSBvcHRzXG4gKiBAdGhyb3dzIHtJbnZhbGlkRWxlbWVudFN0YXRlRXJyb3J9IElmIG5vIG1hdGNoaW5nIGJ1dHRvbiwgdGhhdCBjYW4gZGlzbWlzcyB0aGUgYWxlcnQsXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbiBiZSBmb3VuZFxuICogQHRocm93cyB7Tm9BbGVydE9wZW5FcnJvcn0gSWYgbm8gYWxlcnQgaXMgcHJlc2VudFxuICovXG5jb21tYW5kcy5tb2JpbGVEaXNtaXNzQWxlcnQgPSBhc3luYyBmdW5jdGlvbiAob3B0cyA9IHt9KSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoJy9hbGVydC9kaXNtaXNzJywgJ1BPU1QnLCBvcHRzKTtcbn07XG5cbmNvbW1hbmRzLnBvc3REaXNtaXNzQWxlcnQgPSBhc3luYyBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLm1vYmlsZURpc21pc3NBbGVydCgpO1xufTtcblxuT2JqZWN0LmFzc2lnbihleHRlbnNpb25zLCBjb21tYW5kcywgaGVscGVycyk7XG5leHBvcnQgeyBjb21tYW5kcywgaGVscGVycyB9O1xuZXhwb3J0IGRlZmF1bHQgZXh0ZW5zaW9ucztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUlBLFFBQVEsR0FBRyxDQUFDLENBQUM7RUFBRUMsT0FBTyxHQUFHLENBQUMsQ0FBQztFQUFFQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBQUM7QUFBQTtBQUVqREYsUUFBUSxDQUFDRyxZQUFZLEdBQUcsa0JBQWtCO0VBQ3hDLE9BQU8sTUFBTSxJQUFJLENBQUNDLFlBQVksQ0FBQ0MsT0FBTyxDQUFDQyxPQUFPLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMxRSxDQUFDOztBQWdCRE4sUUFBUSxDQUFDTyxpQkFBaUIsR0FBRyxnQkFBZ0JDLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRTtFQUN0RCxPQUFPLE1BQU0sSUFBSSxDQUFDSixZQUFZLENBQUNDLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUVFLElBQUksQ0FBQztBQUMvRSxDQUFDO0FBRURSLFFBQVEsQ0FBQ1MsZUFBZSxHQUFHLGtCQUFrQjtFQUMzQyxPQUFPLE1BQU0sSUFBSSxDQUFDRixpQkFBaUIsRUFBRTtBQUN2QyxDQUFDOztBQWdCRFAsUUFBUSxDQUFDVSxrQkFBa0IsR0FBRyxnQkFBZ0JGLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRTtFQUN2RCxPQUFPLE1BQU0sSUFBSSxDQUFDSixZQUFZLENBQUNDLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDLGdCQUFnQixFQUFFLE1BQU0sRUFBRUUsSUFBSSxDQUFDO0FBQ2hGLENBQUM7QUFFRFIsUUFBUSxDQUFDVyxnQkFBZ0IsR0FBRyxrQkFBa0I7RUFDNUMsT0FBTyxNQUFNLElBQUksQ0FBQ0Qsa0JBQWtCLEVBQUU7QUFDeEMsQ0FBQztBQUVERSxNQUFNLENBQUNDLE1BQU0sQ0FBQ1gsVUFBVSxFQUFFRixRQUFRLEVBQUVDLE9BQU8sQ0FBQztBQUFDLGVBRTlCQyxVQUFVO0FBQUEifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"alert.js","names":["commands","helpers","extensions","getAlertText","uiautomator2","jwproxy","command","mobileAcceptAlert","opts","postAcceptAlert","mobileDismissAlert","postDismissAlert","Object","assign"],"sources":["../../../lib/commands/alert.js"],"sourcesContent":["let commands = {}, helpers = {}, extensions = {};\n\ncommands.getAlertText = async function () {\n return await this.uiautomator2.jwproxy.command('/alert/text', 'GET', {});\n};\n\n/**\n * @typedef {Object} AcceptAlertOptions\n * @property {?string} buttonLabel - The name of the button to click in order to\n * accept the alert. If the name is not provided\n * then the script will try to detect the button\n * automatically.\n */\n\n/**\n * @param {AcceptAlertOptions} opts\n * @throws {InvalidElementStateError} If no matching button, that can accept the alert,\n * can be found\n * @throws {NoAlertOpenError} If no alert is present\n */\ncommands.mobileAcceptAlert = async function (opts = {}) {\n return await this.uiautomator2.jwproxy.command('/alert/accept', 'POST', opts);\n};\n\ncommands.postAcceptAlert = async function () {\n return await this.mobileAcceptAlert();\n};\n\n/**\n * @typedef {Object} DismissAlertOptions\n * @property {?string} buttonLabel - The name of the button to click in order to\n * dismiss the alert. If the name is not provided\n * then the script will try to detect the button\n * automatically.\n */\n\n/**\n * @param {DismissAlertOptions} opts\n * @throws {InvalidElementStateError} If no matching button, that can dismiss the alert,\n * can be found\n * @throws {NoAlertOpenError} If no alert is present\n */\ncommands.mobileDismissAlert = async function (opts = {}) {\n return await this.uiautomator2.jwproxy.command('/alert/dismiss', 'POST', opts);\n};\n\ncommands.postDismissAlert = async function () {\n return await this.mobileDismissAlert();\n};\n\nObject.assign(extensions, commands, helpers);\nexport { commands, helpers };\nexport default extensions;\n"],"mappings":";;;;;;;;;AAAA,IAAIA,QAAQ,GAAG,EAAf;AAAA,IAAmBC,OAAO,GAAG,EAA7B;AAAA,IAAiCC,UAAU,GAAG,EAA9C;;;;AAEAF,QAAQ,CAACG,YAAT,GAAwB,kBAAkB;EACxC,OAAO,MAAM,KAAKC,YAAL,CAAkBC,OAAlB,CAA0BC,OAA1B,CAAkC,aAAlC,EAAiD,KAAjD,EAAwD,EAAxD,CAAb;AACD,CAFD;;AAkBAN,QAAQ,CAACO,iBAAT,GAA6B,gBAAgBC,IAAI,GAAG,EAAvB,EAA2B;EACtD,OAAO,MAAM,KAAKJ,YAAL,CAAkBC,OAAlB,CAA0BC,OAA1B,CAAkC,eAAlC,EAAmD,MAAnD,EAA2DE,IAA3D,CAAb;AACD,CAFD;;AAIAR,QAAQ,CAACS,eAAT,GAA2B,kBAAkB;EAC3C,OAAO,MAAM,KAAKF,iBAAL,EAAb;AACD,CAFD;;AAkBAP,QAAQ,CAACU,kBAAT,GAA8B,gBAAgBF,IAAI,GAAG,EAAvB,EAA2B;EACvD,OAAO,MAAM,KAAKJ,YAAL,CAAkBC,OAAlB,CAA0BC,OAA1B,CAAkC,gBAAlC,EAAoD,MAApD,EAA4DE,IAA5D,CAAb;AACD,CAFD;;AAIAR,QAAQ,CAACW,gBAAT,GAA4B,kBAAkB;EAC5C,OAAO,MAAM,KAAKD,kBAAL,EAAb;AACD,CAFD;;AAIAE,MAAM,CAACC,MAAP,CAAcX,UAAd,EAA0BF,QAA1B,EAAoCC,OAApC;eAEeC,U"}
1
+ {"version":3,"file":"alert.js","names":["commands","helpers","extensions","getAlertText","uiautomator2","jwproxy","command","mobileAcceptAlert","opts","postAcceptAlert","mobileDismissAlert","postDismissAlert","Object","assign"],"sources":["../../../lib/commands/alert.js"],"sourcesContent":["let commands = {}, helpers = {}, extensions = {};\n\ncommands.getAlertText = async function () {\n return await this.uiautomator2.jwproxy.command('/alert/text', 'GET', {});\n};\n\n/**\n * @typedef {Object} AcceptAlertOptions\n * @property {?string} buttonLabel - The name of the button to click in order to\n * accept the alert. If the name is not provided\n * then the script will try to detect the button\n * automatically.\n */\n\n/**\n * @param {AcceptAlertOptions} opts\n * @throws {InvalidElementStateError} If no matching button, that can accept the alert,\n * can be found\n * @throws {NoAlertOpenError} If no alert is present\n */\ncommands.mobileAcceptAlert = async function (opts = {}) {\n return await this.uiautomator2.jwproxy.command('/alert/accept', 'POST', opts);\n};\n\ncommands.postAcceptAlert = async function () {\n return await this.mobileAcceptAlert();\n};\n\n/**\n * @typedef {Object} DismissAlertOptions\n * @property {?string} buttonLabel - The name of the button to click in order to\n * dismiss the alert. If the name is not provided\n * then the script will try to detect the button\n * automatically.\n */\n\n/**\n * @param {DismissAlertOptions} opts\n * @throws {InvalidElementStateError} If no matching button, that can dismiss the alert,\n * can be found\n * @throws {NoAlertOpenError} If no alert is present\n */\ncommands.mobileDismissAlert = async function (opts = {}) {\n return await this.uiautomator2.jwproxy.command('/alert/dismiss', 'POST', opts);\n};\n\ncommands.postDismissAlert = async function () {\n return await this.mobileDismissAlert();\n};\n\nObject.assign(extensions, commands, helpers);\nexport { commands, helpers };\nexport default extensions;\n"],"mappings":";;;;;;;AAAA,IAAIA,QAAQ,GAAG,CAAC,CAAC;EAAEC,OAAO,GAAG,CAAC,CAAC;EAAEC,UAAU,GAAG,CAAC,CAAC;AAAC;AAAA;AAEjDF,QAAQ,CAACG,YAAY,GAAG,kBAAkB;EACxC,OAAO,MAAM,IAAI,CAACC,YAAY,CAACC,OAAO,CAACC,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC1E,CAAC;;AAgBDN,QAAQ,CAACO,iBAAiB,GAAG,gBAAgBC,IAAI,GAAG,CAAC,CAAC,EAAE;EACtD,OAAO,MAAM,IAAI,CAACJ,YAAY,CAACC,OAAO,CAACC,OAAO,CAAC,eAAe,EAAE,MAAM,EAAEE,IAAI,CAAC;AAC/E,CAAC;AAEDR,QAAQ,CAACS,eAAe,GAAG,kBAAkB;EAC3C,OAAO,MAAM,IAAI,CAACF,iBAAiB,EAAE;AACvC,CAAC;;AAgBDP,QAAQ,CAACU,kBAAkB,GAAG,gBAAgBF,IAAI,GAAG,CAAC,CAAC,EAAE;EACvD,OAAO,MAAM,IAAI,CAACJ,YAAY,CAACC,OAAO,CAACC,OAAO,CAAC,gBAAgB,EAAE,MAAM,EAAEE,IAAI,CAAC;AAChF,CAAC;AAEDR,QAAQ,CAACW,gBAAgB,GAAG,kBAAkB;EAC5C,OAAO,MAAM,IAAI,CAACD,kBAAkB,EAAE;AACxC,CAAC;AAEDE,MAAM,CAACC,MAAM,CAACX,UAAU,EAAEF,QAAQ,EAAEC,OAAO,CAAC;AAAC,eAE9BC,UAAU;AAAA"}
@@ -4,11 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.commands = void 0;
7
-
8
7
  require("source-map-support/register");
9
-
10
8
  let extensions = {},
11
- commands = {};
9
+ commands = {};
10
+
12
11
  exports.commands = commands;
13
12
 
14
13
  commands.mobileGetBatteryInfo = async function () {
@@ -17,8 +16,7 @@ commands.mobileGetBatteryInfo = async function () {
17
16
  delete result.status;
18
17
  return result;
19
18
  };
20
-
21
19
  Object.assign(extensions, commands);
22
20
  var _default = extensions;
23
21
  exports.default = _default;
24
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJleHRlbnNpb25zIiwiY29tbWFuZHMiLCJtb2JpbGVHZXRCYXR0ZXJ5SW5mbyIsInJlc3VsdCIsInVpYXV0b21hdG9yMiIsImp3cHJveHkiLCJjb21tYW5kIiwic3RhdGUiLCJzdGF0dXMiLCJPYmplY3QiLCJhc3NpZ24iXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvYmF0dGVyeS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJsZXQgZXh0ZW5zaW9ucyA9IHt9LCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEJhdHRlcnlJbmZvXG4gKlxuICogQHByb3BlcnR5IHtudW1iZXJ9IGxldmVsIC0gQmF0dGVyeSBsZXZlbCBpbiByYW5nZSBbMC4wLCAxLjBdLCB3aGVyZVxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4wIG1lYW5zIDEwMCUgY2hhcmdlLlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xIGlzIHJldHVybmVkIGlmIHRoZSBhY3R1YWwgdmFsdWUgY2Fubm90IGJlXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXRyaWV2ZWQgZnJvbSB0aGUgc3lzdGVtLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IHN0YXRlIC0gQmF0dGVyeSBzdGF0ZS4gVGhlIGZvbGxvd2luZyB2YWx1ZXMgYXJlIHBvc3NpYmxlOlxuICogICBCQVRURVJZX1NUQVRVU19VTktOT1dOID0gMVxuICogICBCQVRURVJZX1NUQVRVU19DSEFSR0lORyA9IDJcbiAqICAgQkFUVEVSWV9TVEFUVVNfRElTQ0hBUkdJTkcgPSAzXG4gKiAgIEJBVFRFUllfU1RBVFVTX05PVF9DSEFSR0lORyA9IDRcbiAqICAgQkFUVEVSWV9TVEFUVVNfRlVMTCA9IDVcbiAqICAgLTEgaXMgcmV0dXJuZWQgaWYgdGhlIGFjdHVhbCB2YWx1ZSBjYW5ub3QgYmUgcmV0cmlldmVkIGZyb20gdGhlIHN5c3RlbS5cbiAqL1xuXG4vKipcbiAqIFJlYWRzIHRoZSBiYXR0ZXJ5IGluZm9ybWF0aW9uIGZyb20gdGhlIGRldmljZSB1bmRlciB0ZXN0LlxuICpcbiAqIEByZXR1cm5zIHtCYXR0ZXJ5SW5mb30gVGhlIGFjdHVhbCBiYXR0ZXJ5IGluZm9cbiAqL1xuY29tbWFuZHMubW9iaWxlR2V0QmF0dGVyeUluZm8gPSBhc3luYyBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZCgnL2FwcGl1bS9kZXZpY2UvYmF0dGVyeV9pbmZvJywgJ0dFVCcsIHt9KTtcbiAgLy8gR2l2ZSBpdCB0aGUgc2FtZSBuYW1lIGFzIGluIGlPU1xuICByZXN1bHQuc3RhdGUgPSByZXN1bHQuc3RhdHVzO1xuICBkZWxldGUgcmVzdWx0LnN0YXR1cztcbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbk9iamVjdC5hc3NpZ24oZXh0ZW5zaW9ucywgY29tbWFuZHMpO1xuZXhwb3J0IHsgY29tbWFuZHMgfTtcbmV4cG9ydCBkZWZhdWx0IGV4dGVuc2lvbnM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLElBQUlBLFVBQVUsR0FBRyxFQUFqQjtBQUFBLElBQXFCQyxRQUFRLEdBQUcsRUFBaEM7OztBQXVCQUEsUUFBUSxDQUFDQyxvQkFBVCxHQUFnQyxrQkFBa0I7RUFDaEQsTUFBTUMsTUFBTSxHQUFHLE1BQU0sS0FBS0MsWUFBTCxDQUFrQkMsT0FBbEIsQ0FBMEJDLE9BQTFCLENBQWtDLDZCQUFsQyxFQUFpRSxLQUFqRSxFQUF3RSxFQUF4RSxDQUFyQjtFQUVBSCxNQUFNLENBQUNJLEtBQVAsR0FBZUosTUFBTSxDQUFDSyxNQUF0QjtFQUNBLE9BQU9MLE1BQU0sQ0FBQ0ssTUFBZDtFQUNBLE9BQU9MLE1BQVA7QUFDRCxDQU5EOztBQVFBTSxNQUFNLENBQUNDLE1BQVAsQ0FBY1YsVUFBZCxFQUEwQkMsUUFBMUI7ZUFFZUQsVSJ9
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJleHRlbnNpb25zIiwiY29tbWFuZHMiLCJtb2JpbGVHZXRCYXR0ZXJ5SW5mbyIsInJlc3VsdCIsInVpYXV0b21hdG9yMiIsImp3cHJveHkiLCJjb21tYW5kIiwic3RhdGUiLCJzdGF0dXMiLCJPYmplY3QiLCJhc3NpZ24iXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvYmF0dGVyeS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJsZXQgZXh0ZW5zaW9ucyA9IHt9LCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEJhdHRlcnlJbmZvXG4gKlxuICogQHByb3BlcnR5IHtudW1iZXJ9IGxldmVsIC0gQmF0dGVyeSBsZXZlbCBpbiByYW5nZSBbMC4wLCAxLjBdLCB3aGVyZVxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4wIG1lYW5zIDEwMCUgY2hhcmdlLlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xIGlzIHJldHVybmVkIGlmIHRoZSBhY3R1YWwgdmFsdWUgY2Fubm90IGJlXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXRyaWV2ZWQgZnJvbSB0aGUgc3lzdGVtLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IHN0YXRlIC0gQmF0dGVyeSBzdGF0ZS4gVGhlIGZvbGxvd2luZyB2YWx1ZXMgYXJlIHBvc3NpYmxlOlxuICogICBCQVRURVJZX1NUQVRVU19VTktOT1dOID0gMVxuICogICBCQVRURVJZX1NUQVRVU19DSEFSR0lORyA9IDJcbiAqICAgQkFUVEVSWV9TVEFUVVNfRElTQ0hBUkdJTkcgPSAzXG4gKiAgIEJBVFRFUllfU1RBVFVTX05PVF9DSEFSR0lORyA9IDRcbiAqICAgQkFUVEVSWV9TVEFUVVNfRlVMTCA9IDVcbiAqICAgLTEgaXMgcmV0dXJuZWQgaWYgdGhlIGFjdHVhbCB2YWx1ZSBjYW5ub3QgYmUgcmV0cmlldmVkIGZyb20gdGhlIHN5c3RlbS5cbiAqL1xuXG4vKipcbiAqIFJlYWRzIHRoZSBiYXR0ZXJ5IGluZm9ybWF0aW9uIGZyb20gdGhlIGRldmljZSB1bmRlciB0ZXN0LlxuICpcbiAqIEByZXR1cm5zIHtCYXR0ZXJ5SW5mb30gVGhlIGFjdHVhbCBiYXR0ZXJ5IGluZm9cbiAqL1xuY29tbWFuZHMubW9iaWxlR2V0QmF0dGVyeUluZm8gPSBhc3luYyBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZCgnL2FwcGl1bS9kZXZpY2UvYmF0dGVyeV9pbmZvJywgJ0dFVCcsIHt9KTtcbiAgLy8gR2l2ZSBpdCB0aGUgc2FtZSBuYW1lIGFzIGluIGlPU1xuICByZXN1bHQuc3RhdGUgPSByZXN1bHQuc3RhdHVzO1xuICBkZWxldGUgcmVzdWx0LnN0YXR1cztcbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbk9iamVjdC5hc3NpZ24oZXh0ZW5zaW9ucywgY29tbWFuZHMpO1xuZXhwb3J0IHsgY29tbWFuZHMgfTtcbmV4cG9ydCBkZWZhdWx0IGV4dGVuc2lvbnM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFJQSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0VBQUVDLFFBQVEsR0FBRyxDQUFDLENBQUM7O0FBQUM7O0FBdUJuQ0EsUUFBUSxDQUFDQyxvQkFBb0IsR0FBRyxrQkFBa0I7RUFDaEQsTUFBTUMsTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDQyxZQUFZLENBQUNDLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDLDZCQUE2QixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztFQUVoR0gsTUFBTSxDQUFDSSxLQUFLLEdBQUdKLE1BQU0sQ0FBQ0ssTUFBTTtFQUM1QixPQUFPTCxNQUFNLENBQUNLLE1BQU07RUFDcEIsT0FBT0wsTUFBTTtBQUNmLENBQUM7QUFFRE0sTUFBTSxDQUFDQyxNQUFNLENBQUNWLFVBQVUsRUFBRUMsUUFBUSxDQUFDO0FBQUMsZUFFckJELFVBQVU7QUFBQSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"battery.js","names":["extensions","commands","mobileGetBatteryInfo","result","uiautomator2","jwproxy","command","state","status","Object","assign"],"sources":["../../../lib/commands/battery.js"],"sourcesContent":["let extensions = {}, commands = {};\n\n/**\n * @typedef {Object} BatteryInfo\n *\n * @property {number} level - Battery level in range [0.0, 1.0], where\n * 1.0 means 100% charge.\n * -1 is returned if the actual value cannot be\n * retrieved from the system.\n * @property {number} state - Battery state. The following values are possible:\n * BATTERY_STATUS_UNKNOWN = 1\n * BATTERY_STATUS_CHARGING = 2\n * BATTERY_STATUS_DISCHARGING = 3\n * BATTERY_STATUS_NOT_CHARGING = 4\n * BATTERY_STATUS_FULL = 5\n * -1 is returned if the actual value cannot be retrieved from the system.\n */\n\n/**\n * Reads the battery information from the device under test.\n *\n * @returns {BatteryInfo} The actual battery info\n */\ncommands.mobileGetBatteryInfo = async function () {\n const result = await this.uiautomator2.jwproxy.command('/appium/device/battery_info', 'GET', {});\n // Give it the same name as in iOS\n result.state = result.status;\n delete result.status;\n return result;\n};\n\nObject.assign(extensions, commands);\nexport { commands };\nexport default extensions;\n"],"mappings":";;;;;;;;;AAAA,IAAIA,UAAU,GAAG,EAAjB;AAAA,IAAqBC,QAAQ,GAAG,EAAhC;;;AAuBAA,QAAQ,CAACC,oBAAT,GAAgC,kBAAkB;EAChD,MAAMC,MAAM,GAAG,MAAM,KAAKC,YAAL,CAAkBC,OAAlB,CAA0BC,OAA1B,CAAkC,6BAAlC,EAAiE,KAAjE,EAAwE,EAAxE,CAArB;EAEAH,MAAM,CAACI,KAAP,GAAeJ,MAAM,CAACK,MAAtB;EACA,OAAOL,MAAM,CAACK,MAAd;EACA,OAAOL,MAAP;AACD,CAND;;AAQAM,MAAM,CAACC,MAAP,CAAcV,UAAd,EAA0BC,QAA1B;eAEeD,U"}
1
+ {"version":3,"file":"battery.js","names":["extensions","commands","mobileGetBatteryInfo","result","uiautomator2","jwproxy","command","state","status","Object","assign"],"sources":["../../../lib/commands/battery.js"],"sourcesContent":["let extensions = {}, commands = {};\n\n/**\n * @typedef {Object} BatteryInfo\n *\n * @property {number} level - Battery level in range [0.0, 1.0], where\n * 1.0 means 100% charge.\n * -1 is returned if the actual value cannot be\n * retrieved from the system.\n * @property {number} state - Battery state. The following values are possible:\n * BATTERY_STATUS_UNKNOWN = 1\n * BATTERY_STATUS_CHARGING = 2\n * BATTERY_STATUS_DISCHARGING = 3\n * BATTERY_STATUS_NOT_CHARGING = 4\n * BATTERY_STATUS_FULL = 5\n * -1 is returned if the actual value cannot be retrieved from the system.\n */\n\n/**\n * Reads the battery information from the device under test.\n *\n * @returns {BatteryInfo} The actual battery info\n */\ncommands.mobileGetBatteryInfo = async function () {\n const result = await this.uiautomator2.jwproxy.command('/appium/device/battery_info', 'GET', {});\n // Give it the same name as in iOS\n result.state = result.status;\n delete result.status;\n return result;\n};\n\nObject.assign(extensions, commands);\nexport { commands };\nexport default extensions;\n"],"mappings":";;;;;;;AAAA,IAAIA,UAAU,GAAG,CAAC,CAAC;EAAEC,QAAQ,GAAG,CAAC,CAAC;;AAAC;;AAuBnCA,QAAQ,CAACC,oBAAoB,GAAG,kBAAkB;EAChD,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACC,YAAY,CAACC,OAAO,CAACC,OAAO,CAAC,6BAA6B,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;EAEhGH,MAAM,CAACI,KAAK,GAAGJ,MAAM,CAACK,MAAM;EAC5B,OAAOL,MAAM,CAACK,MAAM;EACpB,OAAOL,MAAM;AACf,CAAC;AAEDM,MAAM,CAACC,MAAM,CAACV,UAAU,EAAEC,QAAQ,CAAC;AAAC,eAErBD,UAAU;AAAA"}
@@ -1,62 +1,46 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.helpers = exports.default = exports.commands = void 0;
9
-
10
8
  require("source-map-support/register");
11
-
12
9
  var _lodash = _interopRequireDefault(require("lodash"));
13
-
14
10
  var _support = require("appium/support");
15
-
16
11
  var _driver = require("appium/driver");
17
-
18
12
  let commands = {},
19
- helpers = {},
20
- extensions = {};
13
+ helpers = {},
14
+ extensions = {};
21
15
  exports.helpers = helpers;
22
16
  exports.commands = commands;
23
-
24
17
  function toBool(s) {
25
18
  return _lodash.default.isString(s) ? s.toLowerCase() === 'true' : !!s;
26
19
  }
27
-
28
20
  commands.active = async function active() {
29
21
  return await this.uiautomator2.jwproxy.command('/element/active', 'GET');
30
22
  };
31
-
32
23
  commands.getAttribute = async function (attribute, elementId) {
33
24
  return await this.uiautomator2.jwproxy.command(`/element/${elementId}/attribute/${attribute}`, 'GET', {});
34
25
  };
35
-
36
26
  commands.elementDisplayed = async function (elementId) {
37
27
  return toBool(await this.getAttribute('displayed', elementId));
38
28
  };
39
-
40
29
  commands.elementEnabled = async function (elementId) {
41
30
  return toBool(await this.getAttribute('enabled', elementId));
42
31
  };
43
-
44
32
  commands.elementSelected = async function (elementId) {
45
33
  return toBool(await this.getAttribute('selected', elementId));
46
34
  };
47
-
48
35
  commands.getName = async function (elementId) {
49
36
  return await this.uiautomator2.jwproxy.command(`/element/${elementId}/name`, 'GET', {});
50
37
  };
51
-
52
38
  commands.getLocation = async function (elementId) {
53
39
  return await this.uiautomator2.jwproxy.command(`/element/${elementId}/location`, 'GET', {});
54
40
  };
55
-
56
41
  commands.getSize = async function (elementId) {
57
42
  return await this.uiautomator2.jwproxy.command(`/element/${elementId}/size`, 'GET', {});
58
43
  };
59
-
60
44
  commands.touchLongClick = async function (element, x, y, duration) {
61
45
  let params = {
62
46
  element,
@@ -68,7 +52,6 @@ commands.touchLongClick = async function (element, x, y, duration) {
68
52
  params
69
53
  });
70
54
  };
71
-
72
55
  commands.touchDown = async function (element, x, y) {
73
56
  let params = {
74
57
  element,
@@ -79,7 +62,6 @@ commands.touchDown = async function (element, x, y) {
79
62
  params
80
63
  });
81
64
  };
82
-
83
65
  commands.touchUp = async function (element, x, y) {
84
66
  let params = {
85
67
  element,
@@ -90,7 +72,6 @@ commands.touchUp = async function (element, x, y) {
90
72
  params
91
73
  });
92
74
  };
93
-
94
75
  commands.touchMove = async function (element, x, y) {
95
76
  let params = {
96
77
  element,
@@ -101,11 +82,9 @@ commands.touchMove = async function (element, x, y) {
101
82
  params
102
83
  });
103
84
  };
104
-
105
85
  helpers.doSetElementValue = async function (params) {
106
86
  return await this.uiautomator2.jwproxy.command(`/element/${params.elementId}/value`, 'POST', params);
107
87
  };
108
-
109
88
  commands.setValueImmediate = async function (keys, elementId) {
110
89
  return await this.uiautomator2.jwproxy.command(`/element/${elementId}/value`, 'POST', {
111
90
  elementId,
@@ -114,28 +93,22 @@ commands.setValueImmediate = async function (keys, elementId) {
114
93
  unicodeKeyboard: this.opts.unicodeKeyboard
115
94
  });
116
95
  };
117
-
118
96
  commands.getText = async function (elementId) {
119
97
  return await this.uiautomator2.jwproxy.command(`/element/${elementId}/text`, 'GET', {});
120
98
  };
121
-
122
99
  commands.click = async function (element) {
123
100
  return await this.uiautomator2.jwproxy.command(`/element/${element}/click`, 'POST', {
124
101
  element
125
102
  });
126
103
  };
127
-
128
104
  commands.getElementScreenshot = async function (element) {
129
105
  return await this.uiautomator2.jwproxy.command(`/element/${element}/screenshot`, 'GET', {});
130
106
  };
131
-
132
107
  commands.tap = async function (elementId = null, x = null, y = null, count = 1) {
133
108
  const areCoordinatesDefined = _support.util.hasValue(x) && _support.util.hasValue(y);
134
-
135
109
  if (!_support.util.hasValue(elementId) && !areCoordinatesDefined) {
136
110
  throw new Error(`Either element id to tap or both absolute coordinates should be defined`);
137
111
  }
138
-
139
112
  for (let i = 0; i < count; i++) {
140
113
  if (_support.util.hasValue(elementId) && !areCoordinatesDefined) {
141
114
  await this.uiautomator2.jwproxy.command(`/element/${elementId}/click`, 'POST');
@@ -148,17 +121,14 @@ commands.tap = async function (elementId = null, x = null, y = null, count = 1)
148
121
  }
149
122
  }
150
123
  };
151
-
152
124
  commands.clear = async function (elementId) {
153
125
  return await this.uiautomator2.jwproxy.command(`/element/${elementId}/clear`, 'POST', {
154
126
  elementId
155
127
  });
156
128
  };
157
-
158
129
  commands.getElementRect = async function (elementId) {
159
130
  if (this.isWebContext()) {
160
131
  this.log.debug(`Detected downstream chromedriver protocol: ${this.chromedriver.jwproxy.downstreamProtocol}`);
161
-
162
132
  if (this.chromedriver.jwproxy.downstreamProtocol === _driver.PROTOCOLS.MJSONWP) {
163
133
  const {
164
134
  x,
@@ -175,14 +145,11 @@ commands.getElementRect = async function (elementId) {
175
145
  height
176
146
  };
177
147
  }
178
-
179
148
  return await this.chromedriver.jwproxy.command(`/element/${elementId}/rect`, 'GET');
180
149
  }
181
-
182
150
  return await this.uiautomator2.jwproxy.command(`/element/${elementId}/rect`, 'GET');
183
151
  };
184
-
185
152
  Object.assign(extensions, commands, helpers);
186
153
  var _default = extensions;
187
154
  exports.default = _default;
188
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImhlbHBlcnMiLCJleHRlbnNpb25zIiwidG9Cb29sIiwicyIsIl8iLCJpc1N0cmluZyIsInRvTG93ZXJDYXNlIiwiYWN0aXZlIiwidWlhdXRvbWF0b3IyIiwiandwcm94eSIsImNvbW1hbmQiLCJnZXRBdHRyaWJ1dGUiLCJhdHRyaWJ1dGUiLCJlbGVtZW50SWQiLCJlbGVtZW50RGlzcGxheWVkIiwiZWxlbWVudEVuYWJsZWQiLCJlbGVtZW50U2VsZWN0ZWQiLCJnZXROYW1lIiwiZ2V0TG9jYXRpb24iLCJnZXRTaXplIiwidG91Y2hMb25nQ2xpY2siLCJlbGVtZW50IiwieCIsInkiLCJkdXJhdGlvbiIsInBhcmFtcyIsInRvdWNoRG93biIsInRvdWNoVXAiLCJ0b3VjaE1vdmUiLCJkb1NldEVsZW1lbnRWYWx1ZSIsInNldFZhbHVlSW1tZWRpYXRlIiwia2V5cyIsInRleHQiLCJpc0FycmF5Iiwiam9pbiIsInJlcGxhY2UiLCJ1bmljb2RlS2V5Ym9hcmQiLCJvcHRzIiwiZ2V0VGV4dCIsImNsaWNrIiwiZ2V0RWxlbWVudFNjcmVlbnNob3QiLCJ0YXAiLCJjb3VudCIsImFyZUNvb3JkaW5hdGVzRGVmaW5lZCIsInV0aWwiLCJoYXNWYWx1ZSIsIkVycm9yIiwiaSIsIlczQ19FTEVNRU5UX0tFWSIsImNsZWFyIiwiZ2V0RWxlbWVudFJlY3QiLCJpc1dlYkNvbnRleHQiLCJsb2ciLCJkZWJ1ZyIsImNocm9tZWRyaXZlciIsImRvd25zdHJlYW1Qcm90b2NvbCIsIlBST1RPQ09MUyIsIk1KU09OV1AiLCJ3aWR0aCIsImhlaWdodCIsIk9iamVjdCIsImFzc2lnbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9jb21tYW5kcy9lbGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyB1dGlsIH0gZnJvbSAnYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IHsgUFJPVE9DT0xTLCBXM0NfRUxFTUVOVF9LRVkgfSBmcm9tICdhcHBpdW0vZHJpdmVyJztcblxubGV0IGNvbW1hbmRzID0ge30sIGhlbHBlcnMgPSB7fSwgZXh0ZW5zaW9ucyA9IHt9O1xuXG5mdW5jdGlvbiB0b0Jvb2wgKHMpIHtcbiAgcmV0dXJuIF8uaXNTdHJpbmcocykgPyAocy50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScpIDogISFzO1xufVxuXG5jb21tYW5kcy5hY3RpdmUgPSBhc3luYyBmdW5jdGlvbiBhY3RpdmUgKCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKCcvZWxlbWVudC9hY3RpdmUnLCAnR0VUJyk7XG59O1xuXG5jb21tYW5kcy5nZXRBdHRyaWJ1dGUgPSBhc3luYyBmdW5jdGlvbiAoYXR0cmlidXRlLCBlbGVtZW50SWQpIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL2VsZW1lbnQvJHtlbGVtZW50SWR9L2F0dHJpYnV0ZS8ke2F0dHJpYnV0ZX1gLCAnR0VUJywge30pO1xufTtcblxuY29tbWFuZHMuZWxlbWVudERpc3BsYXllZCA9IGFzeW5jIGZ1bmN0aW9uIChlbGVtZW50SWQpIHtcbiAgcmV0dXJuIHRvQm9vbChhd2FpdCB0aGlzLmdldEF0dHJpYnV0ZSgnZGlzcGxheWVkJywgZWxlbWVudElkKSk7XG59O1xuXG5jb21tYW5kcy5lbGVtZW50RW5hYmxlZCA9IGFzeW5jIGZ1bmN0aW9uIChlbGVtZW50SWQpIHtcbiAgcmV0dXJuIHRvQm9vbChhd2FpdCB0aGlzLmdldEF0dHJpYnV0ZSgnZW5hYmxlZCcsIGVsZW1lbnRJZCkpO1xufTtcblxuY29tbWFuZHMuZWxlbWVudFNlbGVjdGVkID0gYXN5bmMgZnVuY3Rpb24gKGVsZW1lbnRJZCkge1xuICByZXR1cm4gdG9Cb29sKGF3YWl0IHRoaXMuZ2V0QXR0cmlidXRlKCdzZWxlY3RlZCcsIGVsZW1lbnRJZCkpO1xufTtcblxuY29tbWFuZHMuZ2V0TmFtZSA9IGFzeW5jIGZ1bmN0aW9uIChlbGVtZW50SWQpIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL2VsZW1lbnQvJHtlbGVtZW50SWR9L25hbWVgLCAnR0VUJywge30pO1xufTtcblxuY29tbWFuZHMuZ2V0TG9jYXRpb24gPSBhc3luYyBmdW5jdGlvbiAoZWxlbWVudElkKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC9lbGVtZW50LyR7ZWxlbWVudElkfS9sb2NhdGlvbmAsICdHRVQnLCB7fSk7XG59O1xuXG5jb21tYW5kcy5nZXRTaXplID0gYXN5bmMgZnVuY3Rpb24gKGVsZW1lbnRJZCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvZWxlbWVudC8ke2VsZW1lbnRJZH0vc2l6ZWAsICdHRVQnLCB7fSk7XG59O1xuXG5jb21tYW5kcy50b3VjaExvbmdDbGljayA9IGFzeW5jIGZ1bmN0aW9uIChlbGVtZW50LCB4LCB5LCBkdXJhdGlvbikge1xuICBsZXQgcGFyYW1zID0ge2VsZW1lbnQsIHgsIHksIGR1cmF0aW9ufTtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL3RvdWNoL2xvbmdjbGlja2AsICdQT1NUJywge3BhcmFtc30pO1xufTtcblxuY29tbWFuZHMudG91Y2hEb3duID0gYXN5bmMgZnVuY3Rpb24gKGVsZW1lbnQsIHgsIHkpIHtcbiAgbGV0IHBhcmFtcyA9IHtlbGVtZW50LCB4LCB5fTtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL3RvdWNoL2Rvd25gLCAnUE9TVCcsIHtwYXJhbXN9KTtcbn07XG5cbmNvbW1hbmRzLnRvdWNoVXAgPSBhc3luYyBmdW5jdGlvbiAoZWxlbWVudCwgeCwgeSkge1xuICBsZXQgcGFyYW1zID0ge2VsZW1lbnQsIHgsIHl9O1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvdG91Y2gvdXBgLCAnUE9TVCcsIHtwYXJhbXN9KTtcbn07XG5cbmNvbW1hbmRzLnRvdWNoTW92ZSA9IGFzeW5jIGZ1bmN0aW9uIChlbGVtZW50LCB4LCB5KSB7XG4gIGxldCBwYXJhbXMgPSB7ZWxlbWVudCwgeCwgeX07XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC90b3VjaC9tb3ZlYCwgJ1BPU1QnLCB7cGFyYW1zfSk7XG59O1xuXG5oZWxwZXJzLmRvU2V0RWxlbWVudFZhbHVlID0gYXN5bmMgZnVuY3Rpb24gKHBhcmFtcykge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvZWxlbWVudC8ke3BhcmFtcy5lbGVtZW50SWR9L3ZhbHVlYCwgJ1BPU1QnLCBwYXJhbXMpO1xufTtcblxuY29tbWFuZHMuc2V0VmFsdWVJbW1lZGlhdGUgPSBhc3luYyBmdW5jdGlvbiAoa2V5cywgZWxlbWVudElkKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC9lbGVtZW50LyR7ZWxlbWVudElkfS92YWx1ZWAsICdQT1NUJywge1xuICAgIGVsZW1lbnRJZCxcbiAgICB0ZXh0OiBfLmlzQXJyYXkoa2V5cykgPyBrZXlzLmpvaW4oJycpIDoga2V5cyxcbiAgICByZXBsYWNlOiBmYWxzZSxcbiAgICB1bmljb2RlS2V5Ym9hcmQ6IHRoaXMub3B0cy51bmljb2RlS2V5Ym9hcmQsXG4gIH0pO1xufTtcblxuY29tbWFuZHMuZ2V0VGV4dCA9IGFzeW5jIGZ1bmN0aW9uIChlbGVtZW50SWQpIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL2VsZW1lbnQvJHtlbGVtZW50SWR9L3RleHRgLCAnR0VUJywge30pO1xufTtcblxuY29tbWFuZHMuY2xpY2sgPSBhc3luYyBmdW5jdGlvbiAoZWxlbWVudCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvZWxlbWVudC8ke2VsZW1lbnR9L2NsaWNrYCwgJ1BPU1QnLCB7ZWxlbWVudH0pO1xufTtcblxuY29tbWFuZHMuZ2V0RWxlbWVudFNjcmVlbnNob3QgPSBhc3luYyBmdW5jdGlvbiAoZWxlbWVudCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvZWxlbWVudC8ke2VsZW1lbnR9L3NjcmVlbnNob3RgLCAnR0VUJywge30pO1xufTtcblxuY29tbWFuZHMudGFwID0gYXN5bmMgZnVuY3Rpb24gKGVsZW1lbnRJZCA9IG51bGwsIHggPSBudWxsLCB5ID0gbnVsbCwgY291bnQgPSAxKSB7XG4gIGNvbnN0IGFyZUNvb3JkaW5hdGVzRGVmaW5lZCA9IHV0aWwuaGFzVmFsdWUoeCkgJiYgdXRpbC5oYXNWYWx1ZSh5KTtcbiAgaWYgKCF1dGlsLmhhc1ZhbHVlKGVsZW1lbnRJZCkgJiYgIWFyZUNvb3JkaW5hdGVzRGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRWl0aGVyIGVsZW1lbnQgaWQgdG8gdGFwIG9yIGJvdGggYWJzb2x1dGUgY29vcmRpbmF0ZXMgc2hvdWxkIGJlIGRlZmluZWRgKTtcbiAgfVxuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY291bnQ7IGkrKykge1xuICAgIGlmICh1dGlsLmhhc1ZhbHVlKGVsZW1lbnRJZCkgJiYgIWFyZUNvb3JkaW5hdGVzRGVmaW5lZCkge1xuICAgICAgLy8gd2UgYXJlIGVpdGhlciB0YXBwaW5nIG9uIHRoZSBkZWZhdWx0IGxvY2F0aW9uIG9mIHRoZSBlbGVtZW50XG4gICAgICAvLyBvciBhbiBvZmZzZXQgZnJvbSB0aGUgdG9wIGxlZnQgY29ybmVyXG4gICAgICBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC9lbGVtZW50LyR7ZWxlbWVudElkfS9jbGlja2AsICdQT1NUJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL2FwcGl1bS90YXBgLCAnUE9TVCcsIHtcbiAgICAgICAgeCwgeSxcbiAgICAgICAgW1czQ19FTEVNRU5UX0tFWV06IGVsZW1lbnRJZCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufTtcblxuY29tbWFuZHMuY2xlYXIgPSBhc3luYyBmdW5jdGlvbiAoZWxlbWVudElkKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC9lbGVtZW50LyR7ZWxlbWVudElkfS9jbGVhcmAsICdQT1NUJywge2VsZW1lbnRJZH0pO1xufTtcblxuY29tbWFuZHMuZ2V0RWxlbWVudFJlY3QgPSBhc3luYyBmdW5jdGlvbiAoZWxlbWVudElkKSB7XG4gIGlmICh0aGlzLmlzV2ViQ29udGV4dCgpKSB7XG4gICAgdGhpcy5sb2cuZGVidWcoYERldGVjdGVkIGRvd25zdHJlYW0gY2hyb21lZHJpdmVyIHByb3RvY29sOiAke3RoaXMuY2hyb21lZHJpdmVyLmp3cHJveHkuZG93bnN0cmVhbVByb3RvY29sfWApO1xuICAgIGlmICh0aGlzLmNocm9tZWRyaXZlci5qd3Byb3h5LmRvd25zdHJlYW1Qcm90b2NvbCA9PT0gUFJPVE9DT0xTLk1KU09OV1ApIHtcbiAgICAgIGNvbnN0IHt4LCB5fSA9IGF3YWl0IHRoaXMuY2hyb21lZHJpdmVyLmp3cHJveHkuY29tbWFuZChgL2VsZW1lbnQvJHtlbGVtZW50SWR9L2xvY2F0aW9uYCwgJ0dFVCcpO1xuICAgICAgY29uc3Qge3dpZHRoLCBoZWlnaHR9ID0gYXdhaXQgdGhpcy5jaHJvbWVkcml2ZXIuandwcm94eS5jb21tYW5kKGAvZWxlbWVudC8ke2VsZW1lbnRJZH0vc2l6ZWAsICdHRVQnKTtcbiAgICAgIHJldHVybiB7eCwgeSwgd2lkdGgsIGhlaWdodH07XG4gICAgfVxuICAgIHJldHVybiBhd2FpdCB0aGlzLmNocm9tZWRyaXZlci5qd3Byb3h5LmNvbW1hbmQoYC9lbGVtZW50LyR7ZWxlbWVudElkfS9yZWN0YCwgJ0dFVCcpO1xuICB9XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC9lbGVtZW50LyR7ZWxlbWVudElkfS9yZWN0YCwgJ0dFVCcpO1xufTtcblxuT2JqZWN0LmFzc2lnbihleHRlbnNpb25zLCBjb21tYW5kcywgaGVscGVycyk7XG5leHBvcnQgeyBjb21tYW5kcywgaGVscGVycyB9O1xuZXhwb3J0IGRlZmF1bHQgZXh0ZW5zaW9ucztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQSxJQUFJQSxRQUFRLEdBQUcsRUFBZjtBQUFBLElBQW1CQyxPQUFPLEdBQUcsRUFBN0I7QUFBQSxJQUFpQ0MsVUFBVSxHQUFHLEVBQTlDOzs7O0FBRUEsU0FBU0MsTUFBVCxDQUFpQkMsQ0FBakIsRUFBb0I7RUFDbEIsT0FBT0MsZUFBQSxDQUFFQyxRQUFGLENBQVdGLENBQVgsSUFBaUJBLENBQUMsQ0FBQ0csV0FBRixPQUFvQixNQUFyQyxHQUErQyxDQUFDLENBQUNILENBQXhEO0FBQ0Q7O0FBRURKLFFBQVEsQ0FBQ1EsTUFBVCxHQUFrQixlQUFlQSxNQUFmLEdBQXlCO0VBQ3pDLE9BQU8sTUFBTSxLQUFLQyxZQUFMLENBQWtCQyxPQUFsQixDQUEwQkMsT0FBMUIsQ0FBa0MsaUJBQWxDLEVBQXFELEtBQXJELENBQWI7QUFDRCxDQUZEOztBQUlBWCxRQUFRLENBQUNZLFlBQVQsR0FBd0IsZ0JBQWdCQyxTQUFoQixFQUEyQkMsU0FBM0IsRUFBc0M7RUFDNUQsT0FBTyxNQUFNLEtBQUtMLFlBQUwsQ0FBa0JDLE9BQWxCLENBQTBCQyxPQUExQixDQUFtQyxZQUFXRyxTQUFVLGNBQWFELFNBQVUsRUFBL0UsRUFBa0YsS0FBbEYsRUFBeUYsRUFBekYsQ0FBYjtBQUNELENBRkQ7O0FBSUFiLFFBQVEsQ0FBQ2UsZ0JBQVQsR0FBNEIsZ0JB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
155
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImhlbHBlcnMiLCJleHRlbnNpb25zIiwidG9Cb29sIiwicyIsIl8iLCJpc1N0cmluZyIsInRvTG93ZXJDYXNlIiwiYWN0aXZlIiwidWlhdXRvbWF0b3IyIiwiandwcm94eSIsImNvbW1hbmQiLCJnZXRBdHRyaWJ1dGUiLCJhdHRyaWJ1dGUiLCJlbGVtZW50SWQiLCJlbGVtZW50RGlzcGxheWVkIiwiZWxlbWVudEVuYWJsZWQiLCJlbGVtZW50U2VsZWN0ZWQiLCJnZXROYW1lIiwiZ2V0TG9jYXRpb24iLCJnZXRTaXplIiwidG91Y2hMb25nQ2xpY2siLCJlbGVtZW50IiwieCIsInkiLCJkdXJhdGlvbiIsInBhcmFtcyIsInRvdWNoRG93biIsInRvdWNoVXAiLCJ0b3VjaE1vdmUiLCJkb1NldEVsZW1lbnRWYWx1ZSIsInNldFZhbHVlSW1tZWRpYXRlIiwia2V5cyIsInRleHQiLCJpc0FycmF5Iiwiam9pbiIsInJlcGxhY2UiLCJ1bmljb2RlS2V5Ym9hcmQiLCJvcHRzIiwiZ2V0VGV4dCIsImNsaWNrIiwiZ2V0RWxlbWVudFNjcmVlbnNob3QiLCJ0YXAiLCJjb3VudCIsImFyZUNvb3JkaW5hdGVzRGVmaW5lZCIsInV0aWwiLCJoYXNWYWx1ZSIsIkVycm9yIiwiaSIsIlczQ19FTEVNRU5UX0tFWSIsImNsZWFyIiwiZ2V0RWxlbWVudFJlY3QiLCJpc1dlYkNvbnRleHQiLCJsb2ciLCJkZWJ1ZyIsImNocm9tZWRyaXZlciIsImRvd25zdHJlYW1Qcm90b2NvbCIsIlBST1RPQ09MUyIsIk1KU09OV1AiLCJ3aWR0aCIsImhlaWdodCIsIk9iamVjdCIsImFzc2lnbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9jb21tYW5kcy9lbGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyB1dGlsIH0gZnJvbSAnYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IHsgUFJPVE9DT0xTLCBXM0NfRUxFTUVOVF9LRVkgfSBmcm9tICdhcHBpdW0vZHJpdmVyJztcblxubGV0IGNvbW1hbmRzID0ge30sIGhlbHBlcnMgPSB7fSwgZXh0ZW5zaW9ucyA9IHt9O1xuXG5mdW5jdGlvbiB0b0Jvb2wgKHMpIHtcbiAgcmV0dXJuIF8uaXNTdHJpbmcocykgPyAocy50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScpIDogISFzO1xufVxuXG5jb21tYW5kcy5hY3RpdmUgPSBhc3luYyBmdW5jdGlvbiBhY3RpdmUgKCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKCcvZWxlbWVudC9hY3RpdmUnLCAnR0VUJyk7XG59O1xuXG5jb21tYW5kcy5nZXRBdHRyaWJ1dGUgPSBhc3luYyBmdW5jdGlvbiAoYXR0cmlidXRlLCBlbGVtZW50SWQpIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL2VsZW1lbnQvJHtlbGVtZW50SWR9L2F0dHJpYnV0ZS8ke2F0dHJpYnV0ZX1gLCAnR0VUJywge30pO1xufTtcblxuY29tbWFuZHMuZWxlbWVudERpc3BsYXllZCA9IGFzeW5jIGZ1bmN0aW9uIChlbGVtZW50SWQpIHtcbiAgcmV0dXJuIHRvQm9vbChhd2FpdCB0aGlzLmdldEF0dHJpYnV0ZSgnZGlzcGxheWVkJywgZWxlbWVudElkKSk7XG59O1xuXG5jb21tYW5kcy5lbGVtZW50RW5hYmxlZCA9IGFzeW5jIGZ1bmN0aW9uIChlbGVtZW50SWQpIHtcbiAgcmV0dXJuIHRvQm9vbChhd2FpdCB0aGlzLmdldEF0dHJpYnV0ZSgnZW5hYmxlZCcsIGVsZW1lbnRJZCkpO1xufTtcblxuY29tbWFuZHMuZWxlbWVudFNlbGVjdGVkID0gYXN5bmMgZnVuY3Rpb24gKGVsZW1lbnRJZCkge1xuICByZXR1cm4gdG9Cb29sKGF3YWl0IHRoaXMuZ2V0QXR0cmlidXRlKCdzZWxlY3RlZCcsIGVsZW1lbnRJZCkpO1xufTtcblxuY29tbWFuZHMuZ2V0TmFtZSA9IGFzeW5jIGZ1bmN0aW9uIChlbGVtZW50SWQpIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL2VsZW1lbnQvJHtlbGVtZW50SWR9L25hbWVgLCAnR0VUJywge30pO1xufTtcblxuY29tbWFuZHMuZ2V0TG9jYXRpb24gPSBhc3luYyBmdW5jdGlvbiAoZWxlbWVudElkKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC9lbGVtZW50LyR7ZWxlbWVudElkfS9sb2NhdGlvbmAsICdHRVQnLCB7fSk7XG59O1xuXG5jb21tYW5kcy5nZXRTaXplID0gYXN5bmMgZnVuY3Rpb24gKGVsZW1lbnRJZCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvZWxlbWVudC8ke2VsZW1lbnRJZH0vc2l6ZWAsICdHRVQnLCB7fSk7XG59O1xuXG5jb21tYW5kcy50b3VjaExvbmdDbGljayA9IGFzeW5jIGZ1bmN0aW9uIChlbGVtZW50LCB4LCB5LCBkdXJhdGlvbikge1xuICBsZXQgcGFyYW1zID0ge2VsZW1lbnQsIHgsIHksIGR1cmF0aW9ufTtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL3RvdWNoL2xvbmdjbGlja2AsICdQT1NUJywge3BhcmFtc30pO1xufTtcblxuY29tbWFuZHMudG91Y2hEb3duID0gYXN5bmMgZnVuY3Rpb24gKGVsZW1lbnQsIHgsIHkpIHtcbiAgbGV0IHBhcmFtcyA9IHtlbGVtZW50LCB4LCB5fTtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL3RvdWNoL2Rvd25gLCAnUE9TVCcsIHtwYXJhbXN9KTtcbn07XG5cbmNvbW1hbmRzLnRvdWNoVXAgPSBhc3luYyBmdW5jdGlvbiAoZWxlbWVudCwgeCwgeSkge1xuICBsZXQgcGFyYW1zID0ge2VsZW1lbnQsIHgsIHl9O1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvdG91Y2gvdXBgLCAnUE9TVCcsIHtwYXJhbXN9KTtcbn07XG5cbmNvbW1hbmRzLnRvdWNoTW92ZSA9IGFzeW5jIGZ1bmN0aW9uIChlbGVtZW50LCB4LCB5KSB7XG4gIGxldCBwYXJhbXMgPSB7ZWxlbWVudCwgeCwgeX07XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC90b3VjaC9tb3ZlYCwgJ1BPU1QnLCB7cGFyYW1zfSk7XG59O1xuXG5oZWxwZXJzLmRvU2V0RWxlbWVudFZhbHVlID0gYXN5bmMgZnVuY3Rpb24gKHBhcmFtcykge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvZWxlbWVudC8ke3BhcmFtcy5lbGVtZW50SWR9L3ZhbHVlYCwgJ1BPU1QnLCBwYXJhbXMpO1xufTtcblxuY29tbWFuZHMuc2V0VmFsdWVJbW1lZGlhdGUgPSBhc3luYyBmdW5jdGlvbiAoa2V5cywgZWxlbWVudElkKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC9lbGVtZW50LyR7ZWxlbWVudElkfS92YWx1ZWAsICdQT1NUJywge1xuICAgIGVsZW1lbnRJZCxcbiAgICB0ZXh0OiBfLmlzQXJyYXkoa2V5cykgPyBrZXlzLmpvaW4oJycpIDoga2V5cyxcbiAgICByZXBsYWNlOiBmYWxzZSxcbiAgICB1bmljb2RlS2V5Ym9hcmQ6IHRoaXMub3B0cy51bmljb2RlS2V5Ym9hcmQsXG4gIH0pO1xufTtcblxuY29tbWFuZHMuZ2V0VGV4dCA9IGFzeW5jIGZ1bmN0aW9uIChlbGVtZW50SWQpIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL2VsZW1lbnQvJHtlbGVtZW50SWR9L3RleHRgLCAnR0VUJywge30pO1xufTtcblxuY29tbWFuZHMuY2xpY2sgPSBhc3luYyBmdW5jdGlvbiAoZWxlbWVudCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvZWxlbWVudC8ke2VsZW1lbnR9L2NsaWNrYCwgJ1BPU1QnLCB7ZWxlbWVudH0pO1xufTtcblxuY29tbWFuZHMuZ2V0RWxlbWVudFNjcmVlbnNob3QgPSBhc3luYyBmdW5jdGlvbiAoZWxlbWVudCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvZWxlbWVudC8ke2VsZW1lbnR9L3NjcmVlbnNob3RgLCAnR0VUJywge30pO1xufTtcblxuY29tbWFuZHMudGFwID0gYXN5bmMgZnVuY3Rpb24gKGVsZW1lbnRJZCA9IG51bGwsIHggPSBudWxsLCB5ID0gbnVsbCwgY291bnQgPSAxKSB7XG4gIGNvbnN0IGFyZUNvb3JkaW5hdGVzRGVmaW5lZCA9IHV0aWwuaGFzVmFsdWUoeCkgJiYgdXRpbC5oYXNWYWx1ZSh5KTtcbiAgaWYgKCF1dGlsLmhhc1ZhbHVlKGVsZW1lbnRJZCkgJiYgIWFyZUNvb3JkaW5hdGVzRGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRWl0aGVyIGVsZW1lbnQgaWQgdG8gdGFwIG9yIGJvdGggYWJzb2x1dGUgY29vcmRpbmF0ZXMgc2hvdWxkIGJlIGRlZmluZWRgKTtcbiAgfVxuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY291bnQ7IGkrKykge1xuICAgIGlmICh1dGlsLmhhc1ZhbHVlKGVsZW1lbnRJZCkgJiYgIWFyZUNvb3JkaW5hdGVzRGVmaW5lZCkge1xuICAgICAgLy8gd2UgYXJlIGVpdGhlciB0YXBwaW5nIG9uIHRoZSBkZWZhdWx0IGxvY2F0aW9uIG9mIHRoZSBlbGVtZW50XG4gICAgICAvLyBvciBhbiBvZmZzZXQgZnJvbSB0aGUgdG9wIGxlZnQgY29ybmVyXG4gICAgICBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC9lbGVtZW50LyR7ZWxlbWVudElkfS9jbGlja2AsICdQT1NUJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL2FwcGl1bS90YXBgLCAnUE9TVCcsIHtcbiAgICAgICAgeCwgeSxcbiAgICAgICAgW1czQ19FTEVNRU5UX0tFWV06IGVsZW1lbnRJZCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufTtcblxuY29tbWFuZHMuY2xlYXIgPSBhc3luYyBmdW5jdGlvbiAoZWxlbWVudElkKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC9lbGVtZW50LyR7ZWxlbWVudElkfS9jbGVhcmAsICdQT1NUJywge2VsZW1lbnRJZH0pO1xufTtcblxuY29tbWFuZHMuZ2V0RWxlbWVudFJlY3QgPSBhc3luYyBmdW5jdGlvbiAoZWxlbWVudElkKSB7XG4gIGlmICh0aGlzLmlzV2ViQ29udGV4dCgpKSB7XG4gICAgdGhpcy5sb2cuZGVidWcoYERldGVjdGVkIGRvd25zdHJlYW0gY2hyb21lZHJpdmVyIHByb3RvY29sOiAke3RoaXMuY2hyb21lZHJpdmVyLmp3cHJveHkuZG93bnN0cmVhbVByb3RvY29sfWApO1xuICAgIGlmICh0aGlzLmNocm9tZWRyaXZlci5qd3Byb3h5LmRvd25zdHJlYW1Qcm90b2NvbCA9PT0gUFJPVE9DT0xTLk1KU09OV1ApIHtcbiAgICAgIGNvbnN0IHt4LCB5fSA9IGF3YWl0IHRoaXMuY2hyb21lZHJpdmVyLmp3cHJveHkuY29tbWFuZChgL2VsZW1lbnQvJHtlbGVtZW50SWR9L2xvY2F0aW9uYCwgJ0dFVCcpO1xuICAgICAgY29uc3Qge3dpZHRoLCBoZWlnaHR9ID0gYXdhaXQgdGhpcy5jaHJvbWVkcml2ZXIuandwcm94eS5jb21tYW5kKGAvZWxlbWVudC8ke2VsZW1lbnRJZH0vc2l6ZWAsICdHRVQnKTtcbiAgICAgIHJldHVybiB7eCwgeSwgd2lkdGgsIGhlaWdodH07XG4gICAgfVxuICAgIHJldHVybiBhd2FpdCB0aGlzLmNocm9tZWRyaXZlci5qd3Byb3h5LmNvbW1hbmQoYC9lbGVtZW50LyR7ZWxlbWVudElkfS9yZWN0YCwgJ0dFVCcpO1xuICB9XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC9lbGVtZW50LyR7ZWxlbWVudElkfS9yZWN0YCwgJ0dFVCcpO1xufTtcblxuT2JqZWN0LmFzc2lnbihleHRlbnNpb25zLCBjb21tYW5kcywgaGVscGVycyk7XG5leHBvcnQgeyBjb21tYW5kcywgaGVscGVycyB9O1xuZXhwb3J0IGRlZmF1bHQgZXh0ZW5zaW9ucztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFFQSxJQUFJQSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0VBQUVDLE9BQU8sR0FBRyxDQUFDLENBQUM7RUFBRUMsVUFBVSxHQUFHLENBQUMsQ0FBQztBQUFDO0FBQUE7QUFFakQsU0FBU0MsTUFBTSxDQUFFQyxDQUFDLEVBQUU7RUFDbEIsT0FBT0MsZUFBQyxDQUFDQyxRQUFRLENBQUNGLENBQUMsQ0FBQyxHQUFJQSxDQUFDLENBQUNHLFdBQVcsRUFBRSxLQUFLLE1BQU0sR0FBSSxDQUFDLENBQUNILENBQUM7QUFDM0Q7QUFFQUosUUFBUSxDQUFDUSxNQUFNLEdBQUcsZUFBZUEsTUFBTSxHQUFJO0VBQ3pDLE9BQU8sTUFBTSxJQUFJLENBQUNDLFlBQVksQ0FBQ0MsT0FBTyxDQUFDQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDO0FBQzFFLENBQUM7QUFFRFgsUUFBUSxDQUFDWSxZQUFZLEdBQUcsZ0JBQWdCQyxTQUFTLEVBQUVDLFNBQVMsRUFBRTtFQUM1RCxPQUFPLE1BQU0sSUFBSSxDQUFDTCxZQUFZLENBQUNDLE9BQU8sQ0FBQ0MsT0FBTyxDQUFFLFlBQVdHLFNBQVUsY0FBYUQsU0FBVSxFQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzNHLENBQUM7QUFFRGIsUUFBUSxDQUFDZSxnQkFBZ0IsR0FBRyxnQkFBZ0JE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
@@ -1 +1 @@
1
- {"version":3,"file":"element.js","names":["commands","helpers","extensions","toBool","s","_","isString","toLowerCase","active","uiautomator2","jwproxy","command","getAttribute","attribute","elementId","elementDisplayed","elementEnabled","elementSelected","getName","getLocation","getSize","touchLongClick","element","x","y","duration","params","touchDown","touchUp","touchMove","doSetElementValue","setValueImmediate","keys","text","isArray","join","replace","unicodeKeyboard","opts","getText","click","getElementScreenshot","tap","count","areCoordinatesDefined","util","hasValue","Error","i","W3C_ELEMENT_KEY","clear","getElementRect","isWebContext","log","debug","chromedriver","downstreamProtocol","PROTOCOLS","MJSONWP","width","height","Object","assign"],"sources":["../../../lib/commands/element.js"],"sourcesContent":["import _ from 'lodash';\nimport { util } from 'appium/support';\nimport { PROTOCOLS, W3C_ELEMENT_KEY } from 'appium/driver';\n\nlet commands = {}, helpers = {}, extensions = {};\n\nfunction toBool (s) {\n return _.isString(s) ? (s.toLowerCase() === 'true') : !!s;\n}\n\ncommands.active = async function active () {\n return await this.uiautomator2.jwproxy.command('/element/active', 'GET');\n};\n\ncommands.getAttribute = async function (attribute, elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/attribute/${attribute}`, 'GET', {});\n};\n\ncommands.elementDisplayed = async function (elementId) {\n return toBool(await this.getAttribute('displayed', elementId));\n};\n\ncommands.elementEnabled = async function (elementId) {\n return toBool(await this.getAttribute('enabled', elementId));\n};\n\ncommands.elementSelected = async function (elementId) {\n return toBool(await this.getAttribute('selected', elementId));\n};\n\ncommands.getName = async function (elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/name`, 'GET', {});\n};\n\ncommands.getLocation = async function (elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/location`, 'GET', {});\n};\n\ncommands.getSize = async function (elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/size`, 'GET', {});\n};\n\ncommands.touchLongClick = async function (element, x, y, duration) {\n let params = {element, x, y, duration};\n return await this.uiautomator2.jwproxy.command(`/touch/longclick`, 'POST', {params});\n};\n\ncommands.touchDown = async function (element, x, y) {\n let params = {element, x, y};\n return await this.uiautomator2.jwproxy.command(`/touch/down`, 'POST', {params});\n};\n\ncommands.touchUp = async function (element, x, y) {\n let params = {element, x, y};\n return await this.uiautomator2.jwproxy.command(`/touch/up`, 'POST', {params});\n};\n\ncommands.touchMove = async function (element, x, y) {\n let params = {element, x, y};\n return await this.uiautomator2.jwproxy.command(`/touch/move`, 'POST', {params});\n};\n\nhelpers.doSetElementValue = async function (params) {\n return await this.uiautomator2.jwproxy.command(`/element/${params.elementId}/value`, 'POST', params);\n};\n\ncommands.setValueImmediate = async function (keys, elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/value`, 'POST', {\n elementId,\n text: _.isArray(keys) ? keys.join('') : keys,\n replace: false,\n unicodeKeyboard: this.opts.unicodeKeyboard,\n });\n};\n\ncommands.getText = async function (elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/text`, 'GET', {});\n};\n\ncommands.click = async function (element) {\n return await this.uiautomator2.jwproxy.command(`/element/${element}/click`, 'POST', {element});\n};\n\ncommands.getElementScreenshot = async function (element) {\n return await this.uiautomator2.jwproxy.command(`/element/${element}/screenshot`, 'GET', {});\n};\n\ncommands.tap = async function (elementId = null, x = null, y = null, count = 1) {\n const areCoordinatesDefined = util.hasValue(x) && util.hasValue(y);\n if (!util.hasValue(elementId) && !areCoordinatesDefined) {\n throw new Error(`Either element id to tap or both absolute coordinates should be defined`);\n }\n\n for (let i = 0; i < count; i++) {\n if (util.hasValue(elementId) && !areCoordinatesDefined) {\n // we are either tapping on the default location of the element\n // or an offset from the top left corner\n await this.uiautomator2.jwproxy.command(`/element/${elementId}/click`, 'POST');\n } else {\n await this.uiautomator2.jwproxy.command(`/appium/tap`, 'POST', {\n x, y,\n [W3C_ELEMENT_KEY]: elementId,\n });\n }\n }\n};\n\ncommands.clear = async function (elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/clear`, 'POST', {elementId});\n};\n\ncommands.getElementRect = async function (elementId) {\n if (this.isWebContext()) {\n this.log.debug(`Detected downstream chromedriver protocol: ${this.chromedriver.jwproxy.downstreamProtocol}`);\n if (this.chromedriver.jwproxy.downstreamProtocol === PROTOCOLS.MJSONWP) {\n const {x, y} = await this.chromedriver.jwproxy.command(`/element/${elementId}/location`, 'GET');\n const {width, height} = await this.chromedriver.jwproxy.command(`/element/${elementId}/size`, 'GET');\n return {x, y, width, height};\n }\n return await this.chromedriver.jwproxy.command(`/element/${elementId}/rect`, 'GET');\n }\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/rect`, 'GET');\n};\n\nObject.assign(extensions, commands, helpers);\nexport { commands, helpers };\nexport default extensions;\n"],"mappings":"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"}
1
+ {"version":3,"file":"element.js","names":["commands","helpers","extensions","toBool","s","_","isString","toLowerCase","active","uiautomator2","jwproxy","command","getAttribute","attribute","elementId","elementDisplayed","elementEnabled","elementSelected","getName","getLocation","getSize","touchLongClick","element","x","y","duration","params","touchDown","touchUp","touchMove","doSetElementValue","setValueImmediate","keys","text","isArray","join","replace","unicodeKeyboard","opts","getText","click","getElementScreenshot","tap","count","areCoordinatesDefined","util","hasValue","Error","i","W3C_ELEMENT_KEY","clear","getElementRect","isWebContext","log","debug","chromedriver","downstreamProtocol","PROTOCOLS","MJSONWP","width","height","Object","assign"],"sources":["../../../lib/commands/element.js"],"sourcesContent":["import _ from 'lodash';\nimport { util } from 'appium/support';\nimport { PROTOCOLS, W3C_ELEMENT_KEY } from 'appium/driver';\n\nlet commands = {}, helpers = {}, extensions = {};\n\nfunction toBool (s) {\n return _.isString(s) ? (s.toLowerCase() === 'true') : !!s;\n}\n\ncommands.active = async function active () {\n return await this.uiautomator2.jwproxy.command('/element/active', 'GET');\n};\n\ncommands.getAttribute = async function (attribute, elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/attribute/${attribute}`, 'GET', {});\n};\n\ncommands.elementDisplayed = async function (elementId) {\n return toBool(await this.getAttribute('displayed', elementId));\n};\n\ncommands.elementEnabled = async function (elementId) {\n return toBool(await this.getAttribute('enabled', elementId));\n};\n\ncommands.elementSelected = async function (elementId) {\n return toBool(await this.getAttribute('selected', elementId));\n};\n\ncommands.getName = async function (elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/name`, 'GET', {});\n};\n\ncommands.getLocation = async function (elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/location`, 'GET', {});\n};\n\ncommands.getSize = async function (elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/size`, 'GET', {});\n};\n\ncommands.touchLongClick = async function (element, x, y, duration) {\n let params = {element, x, y, duration};\n return await this.uiautomator2.jwproxy.command(`/touch/longclick`, 'POST', {params});\n};\n\ncommands.touchDown = async function (element, x, y) {\n let params = {element, x, y};\n return await this.uiautomator2.jwproxy.command(`/touch/down`, 'POST', {params});\n};\n\ncommands.touchUp = async function (element, x, y) {\n let params = {element, x, y};\n return await this.uiautomator2.jwproxy.command(`/touch/up`, 'POST', {params});\n};\n\ncommands.touchMove = async function (element, x, y) {\n let params = {element, x, y};\n return await this.uiautomator2.jwproxy.command(`/touch/move`, 'POST', {params});\n};\n\nhelpers.doSetElementValue = async function (params) {\n return await this.uiautomator2.jwproxy.command(`/element/${params.elementId}/value`, 'POST', params);\n};\n\ncommands.setValueImmediate = async function (keys, elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/value`, 'POST', {\n elementId,\n text: _.isArray(keys) ? keys.join('') : keys,\n replace: false,\n unicodeKeyboard: this.opts.unicodeKeyboard,\n });\n};\n\ncommands.getText = async function (elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/text`, 'GET', {});\n};\n\ncommands.click = async function (element) {\n return await this.uiautomator2.jwproxy.command(`/element/${element}/click`, 'POST', {element});\n};\n\ncommands.getElementScreenshot = async function (element) {\n return await this.uiautomator2.jwproxy.command(`/element/${element}/screenshot`, 'GET', {});\n};\n\ncommands.tap = async function (elementId = null, x = null, y = null, count = 1) {\n const areCoordinatesDefined = util.hasValue(x) && util.hasValue(y);\n if (!util.hasValue(elementId) && !areCoordinatesDefined) {\n throw new Error(`Either element id to tap or both absolute coordinates should be defined`);\n }\n\n for (let i = 0; i < count; i++) {\n if (util.hasValue(elementId) && !areCoordinatesDefined) {\n // we are either tapping on the default location of the element\n // or an offset from the top left corner\n await this.uiautomator2.jwproxy.command(`/element/${elementId}/click`, 'POST');\n } else {\n await this.uiautomator2.jwproxy.command(`/appium/tap`, 'POST', {\n x, y,\n [W3C_ELEMENT_KEY]: elementId,\n });\n }\n }\n};\n\ncommands.clear = async function (elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/clear`, 'POST', {elementId});\n};\n\ncommands.getElementRect = async function (elementId) {\n if (this.isWebContext()) {\n this.log.debug(`Detected downstream chromedriver protocol: ${this.chromedriver.jwproxy.downstreamProtocol}`);\n if (this.chromedriver.jwproxy.downstreamProtocol === PROTOCOLS.MJSONWP) {\n const {x, y} = await this.chromedriver.jwproxy.command(`/element/${elementId}/location`, 'GET');\n const {width, height} = await this.chromedriver.jwproxy.command(`/element/${elementId}/size`, 'GET');\n return {x, y, width, height};\n }\n return await this.chromedriver.jwproxy.command(`/element/${elementId}/rect`, 'GET');\n }\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/rect`, 'GET');\n};\n\nObject.assign(extensions, commands, helpers);\nexport { commands, helpers };\nexport default extensions;\n"],"mappings":"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"}
@@ -1,17 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.helpers = exports.default = void 0;
9
-
10
8
  require("source-map-support/register");
11
-
12
9
  var _cssConverter = _interopRequireDefault(require("../css-converter"));
13
-
14
10
  const helpers = {};
11
+
15
12
  exports.helpers = helpers;
16
13
  const MAGIC_FIRST_VIS_CHILD_SEL = /\/\*\[@firstVisible ?= ?('|")true\1\]/;
17
14
  const MAGIC_SCROLLABLE_SEL = /\/\/\*\[@scrollable ?= ?('|")true\1\]/;
@@ -22,20 +19,16 @@ helpers.doFindElementOrEls = async function (params) {
22
19
  let elementId = params.context;
23
20
  return await this.uiautomator2.jwproxy.command(`/appium/element/${elementId}/first_visible`, 'GET', {});
24
21
  }
25
-
26
22
  if (params.strategy === 'xpath' && MAGIC_SCROLLABLE_SEL.test(params.selector)) {
27
23
  params.strategy = '-android uiautomator';
28
24
  params.selector = MAGIC_SCROLLABLE_BY;
29
25
  }
30
-
31
26
  if (params.strategy === 'css selector') {
32
27
  params.strategy = '-android uiautomator';
33
28
  params.selector = new _cssConverter.default(params.selector, this.opts.appPackage).toUiAutomatorSelector();
34
29
  }
35
-
36
30
  return await this.uiautomator2.jwproxy.command(`/element${params.multiple ? 's' : ''}`, 'POST', params);
37
31
  };
38
-
39
32
  var _default = helpers;
40
33
  exports.default = _default;
41
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJoZWxwZXJzIiwiTUFHSUNfRklSU1RfVklTX0NISUxEX1NFTCIsIk1BR0lDX1NDUk9MTEFCTEVfU0VMIiwiTUFHSUNfU0NST0xMQUJMRV9CWSIsImRvRmluZEVsZW1lbnRPckVscyIsInBhcmFtcyIsInN0cmF0ZWd5IiwidGVzdCIsInNlbGVjdG9yIiwiZWxlbWVudElkIiwiY29udGV4dCIsInVpYXV0b21hdG9yMiIsImp3cHJveHkiLCJjb21tYW5kIiwiQ3NzQ29udmVydGVyIiwib3B0cyIsImFwcFBhY2thZ2UiLCJ0b1VpQXV0b21hdG9yU2VsZWN0b3IiLCJtdWx0aXBsZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9jb21tYW5kcy9maW5kLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDc3NDb252ZXJ0ZXIgZnJvbSAnLi4vY3NzLWNvbnZlcnRlcic7XG5cbmNvbnN0IGhlbHBlcnMgPSB7fTtcblxuLy8gd2Ugb3ZlcnJpZGUgdGhlIHhwYXRoIHNlYXJjaCBmb3IgdGhpcyBmaXJzdC12aXNpYmxlLWNoaWxkIHNlbGVjdG9yLCB3aGljaFxuLy8gbG9va3MgbGlrZSAvKltAZmlyc3RWaXNpYmxlPVwidHJ1ZVwiXVxuY29uc3QgTUFHSUNfRklSU1RfVklTX0NISUxEX1NFTCA9IC9cXC9cXCpcXFtAZmlyc3RWaXNpYmxlID89ID8oJ3xcIil0cnVlXFwxXFxdLztcblxuY29uc3QgTUFHSUNfU0NST0xMQUJMRV9TRUwgPSAvXFwvXFwvXFwqXFxbQHNjcm9sbGFibGUgPz0gPygnfFwiKXRydWVcXDFcXF0vO1xuY29uc3QgTUFHSUNfU0NST0xMQUJMRV9CWSA9ICduZXcgVWlTZWxlY3RvcigpLnNjcm9sbGFibGUodHJ1ZSknO1xuXG4vKipcbiAqIE92ZXJyaWRpbmcgaGVscGVycy5kb0ZpbmRFbGVtZW50T3JFbHMgZnVuY3Rpb25hbGl0eSBvZiBhcHBpdW0tYW5kcm9pZC1kcml2ZXIsXG4gKiB0aGlzLmVsZW1lbnQgaW5pdGlhbGl6ZWQgaW4gZmluZC5qcyBvZiBhcHBpdW0tYW5kcm9pZC1kcml2ZS5cbiAqL1xuaGVscGVycy5kb0ZpbmRFbGVtZW50T3JFbHMgPSBhc3luYyBmdW5jdGlvbiAocGFyYW1zKSB7XG4gIGlmIChwYXJhbXMuc3RyYXRlZ3kgPT09ICd4cGF0aCcgJiYgTUFHSUNfRklSU1RfVklTX0NISUxEX1NFTC50ZXN0KHBhcmFtcy5zZWxlY3RvcikpIHtcbiAgICBsZXQgZWxlbWVudElkID0gcGFyYW1zLmNvbnRleHQ7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL2FwcGl1bS9lbGVtZW50LyR7ZWxlbWVudElkfS9maXJzdF92aXNpYmxlYCwgJ0dFVCcsIHt9KTtcbiAgfVxuICBpZiAocGFyYW1zLnN0cmF0ZWd5ID09PSAneHBhdGgnICYmIE1BR0lDX1NDUk9MTEFCTEVfU0VMLnRlc3QocGFyYW1zLnNlbGVjdG9yKSkge1xuICAgIHBhcmFtcy5zdHJhdGVneSA9ICctYW5kcm9pZCB1aWF1dG9tYXRvcic7XG4gICAgcGFyYW1zLnNlbGVjdG9yID0gTUFHSUNfU0NST0xMQUJMRV9CWTtcbiAgfVxuICBpZiAocGFyYW1zLnN0cmF0ZWd5ID09PSAnY3NzIHNlbGVjdG9yJykge1xuICAgIHBhcmFtcy5zdHJhdGVneSA9ICctYW5kcm9pZCB1aWF1dG9tYXRvcic7XG4gICAgcGFyYW1zLnNlbGVjdG9yID0gbmV3IENzc0NvbnZlcnRlcihwYXJhbXMuc2VsZWN0b3IsIHRoaXMub3B0cy5hcHBQYWNrYWdlKVxuICAgICAgLnRvVWlBdXRvbWF0b3JTZWxlY3RvcigpO1xuICB9XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC9lbGVtZW50JHtwYXJhbXMubXVsdGlwbGUgPyAncycgOiAnJ31gLCAnUE9TVCcsIHBhcmFtcyk7XG59O1xuXG5leHBvcnQgeyBoZWxwZXJzIH07XG5leHBvcnQgZGVmYXVsdCBoZWxwZXJzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUVBLE1BQU1BLE9BQU8sR0FBRyxFQUFoQjs7QUFJQSxNQUFNQyx5QkFBeUIsR0FBRyx1Q0FBbEM7QUFFQSxNQUFNQyxvQkFBb0IsR0FBRyx1Q0FBN0I7QUFDQSxNQUFNQyxtQkFBbUIsR0FBRyxtQ0FBNUI7O0FBTUFILE9BQU8sQ0FBQ0ksa0JBQVIsR0FBNkIsZ0JBQWdCQyxNQUFoQixFQUF3QjtFQUNuRCxJQUFJQSxNQUFNLENBQUNDLFFBQVAsS0FBb0IsT0FBcEIsSUFBK0JMLHlCQUF5QixDQUFDTSxJQUExQixDQUErQkYsTUFBTSxDQUFDRyxRQUF0QyxDQUFuQyxFQUFvRjtJQUNsRixJQUFJQyxTQUFTLEdBQUdKLE1BQU0sQ0FBQ0ssT0FBdkI7SUFDQSxPQUFPLE1BQU0sS0FBS0MsWUFBTCxDQUFrQkMsT0FBbEIsQ0FBMEJDLE9BQTFCLENBQW1DLG1CQUFrQkosU0FBVSxnQkFBL0QsRUFBZ0YsS0FBaEYsRUFBdUYsRUFBdkYsQ0FBYjtFQUNEOztFQUNELElBQUlKLE1BQU0sQ0FBQ0MsUUFBUCxLQUFvQixPQUFwQixJQUErQkosb0JBQW9CLENBQUNLLElBQXJCLENBQTBCRixNQUFNLENBQUNHLFFBQWpDLENBQW5DLEVBQStFO0lBQzdFSCxNQUFNLENBQUNDLFFBQVAsR0FBa0Isc0JBQWxCO0lBQ0FELE1BQU0sQ0FBQ0csUUFBUCxHQUFrQkwsbUJBQWxCO0VBQ0Q7O0VBQ0QsSUFBSUUsTUFBTSxDQUFDQyxRQUFQLEtBQW9CLGNBQXhCLEVBQXdDO0lBQ3RDRCxNQUFNLENBQUNDLFFBQVAsR0FBa0Isc0JBQWxCO0lBQ0FELE1BQU0sQ0FBQ0csUUFBUCxHQUFrQixJQUFJTSxxQkFBSixDQUFpQlQsTUFBTSxDQUFDRyxRQUF4QixFQUFrQyxLQUFLTyxJQUFMLENBQVVDLFVBQTVDLEVBQ2ZDLHFCQURlLEVBQWxCO0VBRUQ7O0VBQ0QsT0FBTyxNQUFNLEtBQUtOLFlBQUwsQ0FBa0JDLE9BQWxCLENBQTBCQyxPQUExQixDQUFtQyxXQUFVUixNQUFNLENBQUNhLFFBQVAsR0FBa0IsR0FBbEIsR0FBd0IsRUFBRyxFQUF4RSxFQUEyRSxNQUEzRSxFQUFtRmIsTUFBbkYsQ0FBYjtBQUNELENBZkQ7O2VBa0JlTCxPIn0=
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJoZWxwZXJzIiwiTUFHSUNfRklSU1RfVklTX0NISUxEX1NFTCIsIk1BR0lDX1NDUk9MTEFCTEVfU0VMIiwiTUFHSUNfU0NST0xMQUJMRV9CWSIsImRvRmluZEVsZW1lbnRPckVscyIsInBhcmFtcyIsInN0cmF0ZWd5IiwidGVzdCIsInNlbGVjdG9yIiwiZWxlbWVudElkIiwiY29udGV4dCIsInVpYXV0b21hdG9yMiIsImp3cHJveHkiLCJjb21tYW5kIiwiQ3NzQ29udmVydGVyIiwib3B0cyIsImFwcFBhY2thZ2UiLCJ0b1VpQXV0b21hdG9yU2VsZWN0b3IiLCJtdWx0aXBsZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9jb21tYW5kcy9maW5kLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDc3NDb252ZXJ0ZXIgZnJvbSAnLi4vY3NzLWNvbnZlcnRlcic7XG5cbmNvbnN0IGhlbHBlcnMgPSB7fTtcblxuLy8gd2Ugb3ZlcnJpZGUgdGhlIHhwYXRoIHNlYXJjaCBmb3IgdGhpcyBmaXJzdC12aXNpYmxlLWNoaWxkIHNlbGVjdG9yLCB3aGljaFxuLy8gbG9va3MgbGlrZSAvKltAZmlyc3RWaXNpYmxlPVwidHJ1ZVwiXVxuY29uc3QgTUFHSUNfRklSU1RfVklTX0NISUxEX1NFTCA9IC9cXC9cXCpcXFtAZmlyc3RWaXNpYmxlID89ID8oJ3xcIil0cnVlXFwxXFxdLztcblxuY29uc3QgTUFHSUNfU0NST0xMQUJMRV9TRUwgPSAvXFwvXFwvXFwqXFxbQHNjcm9sbGFibGUgPz0gPygnfFwiKXRydWVcXDFcXF0vO1xuY29uc3QgTUFHSUNfU0NST0xMQUJMRV9CWSA9ICduZXcgVWlTZWxlY3RvcigpLnNjcm9sbGFibGUodHJ1ZSknO1xuXG4vKipcbiAqIE92ZXJyaWRpbmcgaGVscGVycy5kb0ZpbmRFbGVtZW50T3JFbHMgZnVuY3Rpb25hbGl0eSBvZiBhcHBpdW0tYW5kcm9pZC1kcml2ZXIsXG4gKiB0aGlzLmVsZW1lbnQgaW5pdGlhbGl6ZWQgaW4gZmluZC5qcyBvZiBhcHBpdW0tYW5kcm9pZC1kcml2ZS5cbiAqL1xuaGVscGVycy5kb0ZpbmRFbGVtZW50T3JFbHMgPSBhc3luYyBmdW5jdGlvbiAocGFyYW1zKSB7XG4gIGlmIChwYXJhbXMuc3RyYXRlZ3kgPT09ICd4cGF0aCcgJiYgTUFHSUNfRklSU1RfVklTX0NISUxEX1NFTC50ZXN0KHBhcmFtcy5zZWxlY3RvcikpIHtcbiAgICBsZXQgZWxlbWVudElkID0gcGFyYW1zLmNvbnRleHQ7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL2FwcGl1bS9lbGVtZW50LyR7ZWxlbWVudElkfS9maXJzdF92aXNpYmxlYCwgJ0dFVCcsIHt9KTtcbiAgfVxuICBpZiAocGFyYW1zLnN0cmF0ZWd5ID09PSAneHBhdGgnICYmIE1BR0lDX1NDUk9MTEFCTEVfU0VMLnRlc3QocGFyYW1zLnNlbGVjdG9yKSkge1xuICAgIHBhcmFtcy5zdHJhdGVneSA9ICctYW5kcm9pZCB1aWF1dG9tYXRvcic7XG4gICAgcGFyYW1zLnNlbGVjdG9yID0gTUFHSUNfU0NST0xMQUJMRV9CWTtcbiAgfVxuICBpZiAocGFyYW1zLnN0cmF0ZWd5ID09PSAnY3NzIHNlbGVjdG9yJykge1xuICAgIHBhcmFtcy5zdHJhdGVneSA9ICctYW5kcm9pZCB1aWF1dG9tYXRvcic7XG4gICAgcGFyYW1zLnNlbGVjdG9yID0gbmV3IENzc0NvbnZlcnRlcihwYXJhbXMuc2VsZWN0b3IsIHRoaXMub3B0cy5hcHBQYWNrYWdlKVxuICAgICAgLnRvVWlBdXRvbWF0b3JTZWxlY3RvcigpO1xuICB9XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC9lbGVtZW50JHtwYXJhbXMubXVsdGlwbGUgPyAncycgOiAnJ31gLCAnUE9TVCcsIHBhcmFtcyk7XG59O1xuXG5leHBvcnQgeyBoZWxwZXJzIH07XG5leHBvcnQgZGVmYXVsdCBoZWxwZXJzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBRUEsTUFBTUEsT0FBTyxHQUFHLENBQUMsQ0FBQzs7QUFBQztBQUluQixNQUFNQyx5QkFBeUIsR0FBRyx1Q0FBdUM7QUFFekUsTUFBTUMsb0JBQW9CLEdBQUcsdUNBQXVDO0FBQ3BFLE1BQU1DLG1CQUFtQixHQUFHLG1DQUFtQzs7QUFNL0RILE9BQU8sQ0FBQ0ksa0JBQWtCLEdBQUcsZ0JBQWdCQyxNQUFNLEVBQUU7RUFDbkQsSUFBSUEsTUFBTSxDQUFDQyxRQUFRLEtBQUssT0FBTyxJQUFJTCx5QkFBeUIsQ0FBQ00sSUFBSSxDQUFDRixNQUFNLENBQUNHLFFBQVEsQ0FBQyxFQUFFO0lBQ2xGLElBQUlDLFNBQVMsR0FBR0osTUFBTSxDQUFDSyxPQUFPO0lBQzlCLE9BQU8sTUFBTSxJQUFJLENBQUNDLFlBQVksQ0FBQ0MsT0FBTyxDQUFDQyxPQUFPLENBQUUsbUJBQWtCSixTQUFVLGdCQUFlLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0VBQ3pHO0VBQ0EsSUFBSUosTUFBTSxDQUFDQyxRQUFRLEtBQUssT0FBTyxJQUFJSixvQkFBb0IsQ0FBQ0ssSUFBSSxDQUFDRixNQUFNLENBQUNHLFFBQVEsQ0FBQyxFQUFFO0lBQzdFSCxNQUFNLENBQUNDLFFBQVEsR0FBRyxzQkFBc0I7SUFDeENELE1BQU0sQ0FBQ0csUUFBUSxHQUFHTCxtQkFBbUI7RUFDdkM7RUFDQSxJQUFJRSxNQUFNLENBQUNDLFFBQVEsS0FBSyxjQUFjLEVBQUU7SUFDdENELE1BQU0sQ0FBQ0MsUUFBUSxHQUFHLHNCQUFzQjtJQUN4Q0QsTUFBTSxDQUFDRyxRQUFRLEdBQUcsSUFBSU0scUJBQVksQ0FBQ1QsTUFBTSxDQUFDRyxRQUFRLEVBQUUsSUFBSSxDQUFDTyxJQUFJLENBQUNDLFVBQVUsQ0FBQyxDQUN0RUMscUJBQXFCLEVBQUU7RUFDNUI7RUFDQSxPQUFPLE1BQU0sSUFBSSxDQUFDTixZQUFZLENBQUNDLE9BQU8sQ0FBQ0MsT0FBTyxDQUFFLFdBQVVSLE1BQU0sQ0FBQ2EsUUFBUSxHQUFHLEdBQUcsR0FBRyxFQUFHLEVBQUMsRUFBRSxNQUFNLEVBQUViLE1BQU0sQ0FBQztBQUN6RyxDQUFDO0FBQUMsZUFHYUwsT0FBTztBQUFBIn0=