appium-remote-debugger 9.1.3 → 9.1.4

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 (39) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/build/index.js +1 -6
  3. package/build/lib/atoms.js +1 -22
  4. package/build/lib/atoms.js.map +1 -0
  5. package/build/lib/logger.js +1 -5
  6. package/build/lib/logger.js.map +1 -0
  7. package/build/lib/mixins/connect.js +5 -69
  8. package/build/lib/mixins/connect.js.map +1 -0
  9. package/build/lib/mixins/events.js +1 -3
  10. package/build/lib/mixins/events.js.map +1 -0
  11. package/build/lib/mixins/execute.js +3 -34
  12. package/build/lib/mixins/execute.js.map +1 -0
  13. package/build/lib/mixins/index.js +1 -9
  14. package/build/lib/mixins/index.js.map +1 -0
  15. package/build/lib/mixins/message-handlers.js +1 -33
  16. package/build/lib/mixins/message-handlers.js.map +1 -0
  17. package/build/lib/mixins/navigate.js +4 -52
  18. package/build/lib/mixins/navigate.js.map +1 -0
  19. package/build/lib/protocol/index.js +20 -7
  20. package/build/lib/protocol/index.js.map +1 -0
  21. package/build/lib/remote-debugger-real-device.js +1 -9
  22. package/build/lib/remote-debugger-real-device.js.map +1 -0
  23. package/build/lib/remote-debugger.js +2 -61
  24. package/build/lib/remote-debugger.js.map +1 -0
  25. package/build/lib/rpc/index.js +1 -5
  26. package/build/lib/rpc/index.js.map +1 -0
  27. package/build/lib/rpc/remote-messages.js +5 -28
  28. package/build/lib/rpc/remote-messages.js.map +1 -0
  29. package/build/lib/rpc/rpc-client-real-device.js +1 -16
  30. package/build/lib/rpc/rpc-client-real-device.js.map +1 -0
  31. package/build/lib/rpc/rpc-client-simulator.js +4 -30
  32. package/build/lib/rpc/rpc-client-simulator.js.map +1 -0
  33. package/build/lib/rpc/rpc-client.js +13 -109
  34. package/build/lib/rpc/rpc-client.js.map +1 -0
  35. package/build/lib/rpc/rpc-message-handler.js +1 -52
  36. package/build/lib/rpc/rpc-message-handler.js.map +1 -0
  37. package/build/lib/utils.js +9 -44
  38. package/build/lib/utils.js.map +1 -0
  39. package/package.json +4 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-messages.js","names":["OBJECT_GROUP","MINIMAL_COMMAND","FULL_COMMAND","DIRECT_COMMAND","COMMANDS","RemoteMessages","constructor","isTargetBased","_isTargetBased","setConnectionKey","connId","__argument","WIRConnectionIdentifierKey","__selector","connectToApp","appIdKey","WIRApplicationIdentifierKey","setSenderKey","senderId","pageIdKey","WIRSenderKey","WIRPageIdentifierKey","WIRAutomaticallyPause","indicateWebView","enabled","WIRIndicateEnabledKey","_","isNil","launchApplication","bundleId","WIRApplicationBundleIdentifierKey","getFullCommand","opts","method","params","targetId","id","realMethod","realParams","message","JSON","stringify","Object","assign","objectGroup","includeCommandLineAPI","doNotPauseOnExceptionsAndMuteConsole","emulateUserGesture","generatePreview","saveResult","plist","WIRSocketDataKey","omitBy","getMinimalCommand","getDirectCommand","getRemoteCommand","command","builderFunction","getProtocolCommand"],"sources":["../../../lib/rpc/remote-messages.js"],"sourcesContent":["import _ from 'lodash';\nimport getProtocolCommand from '../protocol';\n\n\nconst OBJECT_GROUP = 'console';\n\nconst MINIMAL_COMMAND = 'getMinimalCommand';\nconst FULL_COMMAND = 'getFullCommand';\nconst DIRECT_COMMAND = 'getDirectCommand';\n\n// mapping of commands to the function for getting the command\n// defaults to `getMinimalCommand`, so no need to have those listed here\nconst COMMANDS = {\n 'Page.getCookies': FULL_COMMAND,\n 'Page.navigate': FULL_COMMAND,\n\n 'Runtime.awaitPromise': FULL_COMMAND,\n 'Runtime.callFunctionOn': FULL_COMMAND,\n 'Runtime.evaluate': FULL_COMMAND,\n\n 'Target.exists': DIRECT_COMMAND,\n\n 'Timeline.start': FULL_COMMAND,\n 'Timeline.stop': FULL_COMMAND,\n};\n\nclass RemoteMessages {\n constructor (isTargetBased = false) {\n this.isTargetBased = isTargetBased;\n }\n\n set isTargetBased (isTargetBased) {\n this._isTargetBased = isTargetBased;\n }\n\n get isTargetBased () {\n return this._isTargetBased;\n }\n\n /*\n * Connection functions\n */\n\n setConnectionKey (connId) {\n return {\n __argument: {\n WIRConnectionIdentifierKey: connId\n },\n __selector: '_rpc_reportIdentifier:'\n };\n }\n\n connectToApp (connId, appIdKey) {\n return {\n __argument: {\n WIRConnectionIdentifierKey: connId,\n WIRApplicationIdentifierKey: appIdKey\n },\n __selector: '_rpc_forwardGetListing:'\n };\n }\n\n setSenderKey (connId, senderId, appIdKey, pageIdKey) {\n return {\n __argument: {\n WIRApplicationIdentifierKey: appIdKey,\n WIRConnectionIdentifierKey: connId,\n WIRSenderKey: senderId,\n WIRPageIdentifierKey: pageIdKey,\n WIRAutomaticallyPause: false\n },\n __selector: '_rpc_forwardSocketSetup:'\n };\n }\n\n indicateWebView (connId, appIdKey, pageIdKey, enabled) {\n return {\n __argument: {\n WIRApplicationIdentifierKey: appIdKey,\n WIRIndicateEnabledKey: _.isNil(enabled) ? true : enabled,\n WIRConnectionIdentifierKey: connId,\n WIRPageIdentifierKey: pageIdKey\n },\n __selector: '_rpc_forwardIndicateWebView:'\n };\n }\n\n launchApplication (bundleId) {\n return {\n __argument: {\n WIRApplicationBundleIdentifierKey: bundleId\n },\n __selector: '_rpc_requestApplicationLaunch:'\n };\n }\n\n getFullCommand (opts = {}) {\n const {\n method,\n params,\n connId,\n senderId,\n appIdKey,\n pageIdKey,\n targetId,\n id,\n } = opts;\n\n /* The Web Inspector has a number of parameters that can be passed in, as\n * seen when dumping what Safari is doing when communicating with it. Most\n * are kept as they are set for Safari. The exception is `emulateUserGesture`\n * which, on iOS 13+, breaks popup blocking (i.e., even with the popup\n * blocking setting on, new windows are openable both from links and from\n * JavaScript).\n */\n\n let realMethod;\n let realParams;\n if (this.isTargetBased) {\n realMethod = 'Target.sendMessageToTarget';\n realParams = {\n targetId,\n message: JSON.stringify({\n id,\n method,\n params: Object.assign({\n objectGroup: OBJECT_GROUP,\n includeCommandLineAPI: true,\n doNotPauseOnExceptionsAndMuteConsole: false,\n emulateUserGesture: false,\n generatePreview: false,\n saveResult: false,\n }, params)\n }),\n };\n } else {\n realMethod = method;\n realParams = Object.assign({\n objectGroup: OBJECT_GROUP,\n includeCommandLineAPI: true,\n doNotPauseOnExceptionsAndMuteConsole: false,\n emulateUserGesture: false,\n }, params);\n }\n\n const plist = {\n __argument: {\n WIRSocketDataKey: {\n method: realMethod,\n params: realParams,\n },\n WIRConnectionIdentifierKey: connId,\n WIRSenderKey: senderId,\n WIRApplicationIdentifierKey: appIdKey,\n WIRPageIdentifierKey: pageIdKey,\n },\n __selector: '_rpc_forwardSocketData:',\n };\n return _.omitBy(plist, _.isNil);\n }\n\n getMinimalCommand (opts = {}) {\n const {method, params, connId, senderId, appIdKey, pageIdKey, targetId, id} = opts;\n\n let realMethod = method;\n let realParams = params;\n if (this.isTargetBased) {\n realMethod = 'Target.sendMessageToTarget';\n realParams = {\n targetId,\n message: JSON.stringify({\n id,\n method,\n params,\n }),\n };\n }\n\n const plist = {\n __argument: {\n WIRSocketDataKey: {\n method: realMethod,\n params: realParams,\n },\n WIRConnectionIdentifierKey: connId,\n WIRSenderKey: senderId,\n WIRApplicationIdentifierKey: appIdKey,\n WIRPageIdentifierKey: pageIdKey,\n },\n __selector: '_rpc_forwardSocketData:'\n };\n return _.omitBy(plist, _.isNil);\n }\n\n getDirectCommand (opts = {}) {\n const {method, params, connId, senderId, appIdKey, pageIdKey, id} = opts;\n\n const plist = {\n __argument: {\n WIRSocketDataKey: {\n id,\n method,\n params,\n },\n WIRConnectionIdentifierKey: connId,\n WIRSenderKey: senderId,\n WIRApplicationIdentifierKey: appIdKey,\n WIRPageIdentifierKey: pageIdKey,\n },\n __selector: '_rpc_forwardSocketData:'\n };\n return _.omitBy(plist, _.isNil);\n }\n\n getRemoteCommand (command, opts) {\n const {\n id,\n connId,\n appIdKey,\n senderId,\n pageIdKey,\n targetId,\n } = opts;\n\n // deal with Safari Web Inspector commands\n switch (command) {\n case 'setConnectionKey':\n return this.setConnectionKey(connId);\n case 'indicateWebView':\n return this.indicateWebView(connId, appIdKey, pageIdKey, opts.enabled);\n case 'connectToApp':\n return this.connectToApp(connId, appIdKey);\n case 'setSenderKey':\n return this.setSenderKey(connId, senderId, appIdKey, pageIdKey);\n case 'launchApplication':\n return this.launchApplication(opts.bundleId);\n }\n\n // deal with WebKit commands\n const builderFunction = COMMANDS[command] || MINIMAL_COMMAND;\n return this[builderFunction]({\n ...getProtocolCommand(id, command, opts),\n connId,\n appIdKey,\n senderId,\n pageIdKey,\n targetId,\n });\n }\n}\n\nexport { RemoteMessages };\nexport default RemoteMessages;\n"],"mappings":"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"}
@@ -1,20 +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.default = void 0;
9
-
10
8
  require("source-map-support/register");
11
-
12
9
  var _logger = _interopRequireDefault(require("../logger"));
13
-
14
10
  var _rpcClient = _interopRequireDefault(require("./rpc-client"));
15
-
16
11
  var _appiumIosDevice = require("appium-ios-device");
17
-
18
12
  class RpcClientRealDevice extends _rpcClient.default {
19
13
  constructor(opts = {}) {
20
14
  super(Object.assign({
@@ -25,7 +19,6 @@ class RpcClientRealDevice extends _rpcClient.default {
25
19
  } = opts;
26
20
  this.udid = udid;
27
21
  }
28
-
29
22
  async connect() {
30
23
  this.service = await _appiumIosDevice.services.startWebInspectorService(this.udid, {
31
24
  osVersion: this.platformVersion,
@@ -38,32 +31,24 @@ class RpcClientRealDevice extends _rpcClient.default {
38
31
  this.service.listenMessage(this.receive.bind(this));
39
32
  this.isConnected = true;
40
33
  }
41
-
42
34
  async disconnect() {
43
35
  if (!this.isConnected) {
44
36
  return;
45
37
  }
46
-
47
38
  _logger.default.debug('Disconnecting from remote debugger');
48
-
49
39
  await super.disconnect();
50
40
  this.service.close();
51
41
  this.isConnected = false;
52
42
  }
53
-
54
43
  async sendMessage(cmd) {
55
44
  this.service.sendMessage(cmd);
56
45
  }
57
-
58
46
  async receive(data) {
59
47
  if (!this.isConnected) {
60
48
  return;
61
49
  }
62
-
63
50
  await this.messageHandler.handleMessage(data);
64
51
  }
65
-
66
52
  }
67
-
68
53
  exports.default = RpcClientRealDevice;
69
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJScGNDbGllbnRSZWFsRGV2aWNlIiwiUnBjQ2xpZW50IiwiY29uc3RydWN0b3IiLCJvcHRzIiwiT2JqZWN0IiwiYXNzaWduIiwic2hvdWxkQ2hlY2tGb3JUYXJnZXQiLCJ1ZGlkIiwiY29ubmVjdCIsInNlcnZpY2UiLCJzZXJ2aWNlcyIsInN0YXJ0V2ViSW5zcGVjdG9yU2VydmljZSIsIm9zVmVyc2lvbiIsInBsYXRmb3JtVmVyc2lvbiIsImlzU2ltdWxhdG9yIiwidmVyYm9zZSIsImxvZ0FsbENvbW11bmljYXRpb24iLCJ2ZXJib3NlSGV4RHVtcCIsImxvZ0FsbENvbW11bmljYXRpb25IZXhEdW1wIiwic29ja2V0Q2h1bmtTaXplIiwibWF4RnJhbWVMZW5ndGgiLCJ3ZWJJbnNwZWN0b3JNYXhGcmFtZUxlbmd0aCIsImxpc3Rlbk1lc3NhZ2UiLCJyZWNlaXZlIiwiYmluZCIsImlzQ29ubmVjdGVkIiwiZGlzY29ubmVjdCIsImxvZyIsImRlYnVnIiwiY2xvc2UiLCJzZW5kTWVzc2FnZSIsImNtZCIsImRhdGEiLCJtZXNzYWdlSGFuZGxlciIsImhhbmRsZU1lc3NhZ2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvcnBjL3JwYy1jbGllbnQtcmVhbC1kZXZpY2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGxvZyBmcm9tICcuLi9sb2dnZXInO1xuaW1wb3J0IFJwY0NsaWVudCBmcm9tICcuL3JwYy1jbGllbnQnO1xuaW1wb3J0IHsgc2VydmljZXMgfSBmcm9tICdhcHBpdW0taW9zLWRldmljZSc7XG5cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUnBjQ2xpZW50UmVhbERldmljZSBleHRlbmRzIFJwY0NsaWVudCB7XG4gIGNvbnN0cnVjdG9yIChvcHRzID0ge30pIHtcbiAgICBzdXBlcihPYmplY3QuYXNzaWduKHtcbiAgICAgIHNob3VsZENoZWNrRm9yVGFyZ2V0OiBmYWxzZSxcbiAgICB9LCBvcHRzKSk7XG5cbiAgICBjb25zdCB7XG4gICAgICB1ZGlkLFxuICAgIH0gPSBvcHRzO1xuXG4gICAgdGhpcy51ZGlkID0gdWRpZDtcbiAgfVxuXG4gIGFzeW5jIGNvbm5lY3QgKCkge1xuICAgIHRoaXMuc2VydmljZSA9IGF3YWl0IHNlcnZpY2VzLnN0YXJ0V2ViSW5zcGVjdG9yU2VydmljZSh0aGlzLnVkaWQsIHtcbiAgICAgIG9zVmVyc2lvbjogdGhpcy5wbGF0Zm9ybVZlcnNpb24sXG4gICAgICBpc1NpbXVsYXRvcjogZmFsc2UsXG4gICAgICB2ZXJib3NlOiB0aGlzLmxvZ0FsbENvbW11bmljYXRpb24sXG4gICAgICB2ZXJib3NlSGV4RHVtcDogdGhpcy5sb2dBbGxDb21tdW5pY2F0aW9uSGV4RHVtcCxcbiAgICAgIHNvY2tldENodW5rU2l6ZTogdGhpcy5zb2NrZXRDaHVua1NpemUsXG4gICAgICBtYXhGcmFtZUxlbmd0aDogdGhpcy53ZWJJbnNwZWN0b3JNYXhGcmFtZUxlbmd0aCxcbiAgICB9KTtcblxuICAgIHRoaXMuc2VydmljZS5saXN0ZW5NZXNzYWdlKHRoaXMucmVjZWl2ZS5iaW5kKHRoaXMpKTtcbiAgICB0aGlzLmlzQ29ubmVjdGVkID0gdHJ1ZTtcbiAgfVxuXG4gIGFzeW5jIGRpc2Nvbm5lY3QgKCkge1xuICAgIGlmICghdGhpcy5pc0Nvbm5lY3RlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxvZy5kZWJ1ZygnRGlzY29ubmVjdGluZyBmcm9tIHJlbW90ZSBkZWJ1Z2dlcicpO1xuICAgIGF3YWl0IHN1cGVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLnNlcnZpY2UuY2xvc2UoKTtcbiAgICB0aGlzLmlzQ29ubmVjdGVkID0gZmFsc2U7XG4gIH1cblxuICBhc3luYyBzZW5kTWVzc2FnZSAoY21kKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcmVxdWlyZS1hd2FpdFxuICAgIHRoaXMuc2VydmljZS5zZW5kTWVzc2FnZShjbWQpO1xuICB9XG5cbiAgYXN5bmMgcmVjZWl2ZSAoZGF0YSkge1xuICAgIGlmICghdGhpcy5pc0Nvbm5lY3RlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBhd2FpdCB0aGlzLm1lc3NhZ2VIYW5kbGVyLmhhbmRsZU1lc3NhZ2UoZGF0YSk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFHZSxNQUFNQSxtQkFBTixTQUFrQ0Msa0JBQWxDLENBQTRDO0VBQ3pEQyxXQUFXLENBQUVDLElBQUksR0FBRyxFQUFULEVBQWE7SUFDdEIsTUFBTUMsTUFBTSxDQUFDQyxNQUFQLENBQWM7TUFDbEJDLG9CQUFvQixFQUFFO0lBREosQ0FBZCxFQUVISCxJQUZHLENBQU47SUFJQSxNQUFNO01BQ0pJO0lBREksSUFFRkosSUFGSjtJQUlBLEtBQUtJLElBQUwsR0FBWUEsSUFBWjtFQUNEOztFQUVZLE1BQVBDLE9BQU8sR0FBSTtJQUNmLEtBQUtDLE9BQUwsR0FBZSxNQUFNQyx5QkFBQSxDQUFTQyx3QkFBVCxDQUFrQyxLQUFLSixJQUF2QyxFQUE2QztNQUNoRUssU0FBUyxFQUFFLEtBQUtDLGVBRGdEO01BRWhFQyxXQUFXLEVBQUUsS0FGbUQ7TUFHaEVDLE9BQU8sRUFBRSxLQUFLQyxtQkFIa0Q7TUFJaEVDLGNBQWMsRUFBRSxLQUFLQywwQkFKMkM7TUFLaEVDLGVBQWUsRUFBRSxLQUFLQSxlQUwwQztNQU1oRUMsY0FBYyxFQUFFLEtBQUtDO0lBTjJDLENBQTdDLENBQXJCO0lBU0EsS0FBS1osT0FBTCxDQUFhYSxhQUFiLENBQTJCLEtBQUtDLE9BQUwsQ0FBYUMsSUFBYixDQUFrQixJQUFsQixDQUEzQjtJQUNBLEtBQUtDLFdBQUwsR0FBbUIsSUFBbkI7RUFDRDs7RUFFZSxNQUFWQyxVQUFVLEdBQUk7SUFDbEIsSUFBSSxDQUFDLEtBQUtELFdBQVYsRUFBdUI7TUFDckI7SUFDRDs7SUFFREUsZUFBQSxDQUFJQyxLQUFKLENBQVUsb0NBQVY7O0lBQ0EsTUFBTSxNQUFNRixVQUFOLEVBQU47SUFDQSxLQUFLakIsT0FBTCxDQUFhb0IsS0FBYjtJQUNBLEtBQUtKLFdBQUwsR0FBbUIsS0FBbkI7RUFDRDs7RUFFZ0IsTUFBWEssV0FBVyxDQUFFQyxHQUFGLEVBQU87SUFDdEIsS0FBS3RCLE9BQUwsQ0FBYXFCLFdBQWIsQ0FBeUJDLEdBQXpCO0VBQ0Q7O0VBRVksTUFBUFIsT0FBTyxDQUFFUyxJQUFGLEVBQVE7SUFDbkIsSUFBSSxDQUFDLEtBQUtQLFdBQVYsRUFBdUI7TUFDckI7SUFDRDs7SUFDRCxNQUFNLEtBQUtRLGNBQUwsQ0FBb0JDLGFBQXBCLENBQWtDRixJQUFsQyxDQUFOO0VBQ0Q7O0FBL0N3RCJ9
54
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJScGNDbGllbnRSZWFsRGV2aWNlIiwiUnBjQ2xpZW50IiwiY29uc3RydWN0b3IiLCJvcHRzIiwiT2JqZWN0IiwiYXNzaWduIiwic2hvdWxkQ2hlY2tGb3JUYXJnZXQiLCJ1ZGlkIiwiY29ubmVjdCIsInNlcnZpY2UiLCJzZXJ2aWNlcyIsInN0YXJ0V2ViSW5zcGVjdG9yU2VydmljZSIsIm9zVmVyc2lvbiIsInBsYXRmb3JtVmVyc2lvbiIsImlzU2ltdWxhdG9yIiwidmVyYm9zZSIsImxvZ0FsbENvbW11bmljYXRpb24iLCJ2ZXJib3NlSGV4RHVtcCIsImxvZ0FsbENvbW11bmljYXRpb25IZXhEdW1wIiwic29ja2V0Q2h1bmtTaXplIiwibWF4RnJhbWVMZW5ndGgiLCJ3ZWJJbnNwZWN0b3JNYXhGcmFtZUxlbmd0aCIsImxpc3Rlbk1lc3NhZ2UiLCJyZWNlaXZlIiwiYmluZCIsImlzQ29ubmVjdGVkIiwiZGlzY29ubmVjdCIsImxvZyIsImRlYnVnIiwiY2xvc2UiLCJzZW5kTWVzc2FnZSIsImNtZCIsImRhdGEiLCJtZXNzYWdlSGFuZGxlciIsImhhbmRsZU1lc3NhZ2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvcnBjL3JwYy1jbGllbnQtcmVhbC1kZXZpY2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGxvZyBmcm9tICcuLi9sb2dnZXInO1xuaW1wb3J0IFJwY0NsaWVudCBmcm9tICcuL3JwYy1jbGllbnQnO1xuaW1wb3J0IHsgc2VydmljZXMgfSBmcm9tICdhcHBpdW0taW9zLWRldmljZSc7XG5cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUnBjQ2xpZW50UmVhbERldmljZSBleHRlbmRzIFJwY0NsaWVudCB7XG4gIGNvbnN0cnVjdG9yIChvcHRzID0ge30pIHtcbiAgICBzdXBlcihPYmplY3QuYXNzaWduKHtcbiAgICAgIHNob3VsZENoZWNrRm9yVGFyZ2V0OiBmYWxzZSxcbiAgICB9LCBvcHRzKSk7XG5cbiAgICBjb25zdCB7XG4gICAgICB1ZGlkLFxuICAgIH0gPSBvcHRzO1xuXG4gICAgdGhpcy51ZGlkID0gdWRpZDtcbiAgfVxuXG4gIGFzeW5jIGNvbm5lY3QgKCkge1xuICAgIHRoaXMuc2VydmljZSA9IGF3YWl0IHNlcnZpY2VzLnN0YXJ0V2ViSW5zcGVjdG9yU2VydmljZSh0aGlzLnVkaWQsIHtcbiAgICAgIG9zVmVyc2lvbjogdGhpcy5wbGF0Zm9ybVZlcnNpb24sXG4gICAgICBpc1NpbXVsYXRvcjogZmFsc2UsXG4gICAgICB2ZXJib3NlOiB0aGlzLmxvZ0FsbENvbW11bmljYXRpb24sXG4gICAgICB2ZXJib3NlSGV4RHVtcDogdGhpcy5sb2dBbGxDb21tdW5pY2F0aW9uSGV4RHVtcCxcbiAgICAgIHNvY2tldENodW5rU2l6ZTogdGhpcy5zb2NrZXRDaHVua1NpemUsXG4gICAgICBtYXhGcmFtZUxlbmd0aDogdGhpcy53ZWJJbnNwZWN0b3JNYXhGcmFtZUxlbmd0aCxcbiAgICB9KTtcblxuICAgIHRoaXMuc2VydmljZS5saXN0ZW5NZXNzYWdlKHRoaXMucmVjZWl2ZS5iaW5kKHRoaXMpKTtcbiAgICB0aGlzLmlzQ29ubmVjdGVkID0gdHJ1ZTtcbiAgfVxuXG4gIGFzeW5jIGRpc2Nvbm5lY3QgKCkge1xuICAgIGlmICghdGhpcy5pc0Nvbm5lY3RlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxvZy5kZWJ1ZygnRGlzY29ubmVjdGluZyBmcm9tIHJlbW90ZSBkZWJ1Z2dlcicpO1xuICAgIGF3YWl0IHN1cGVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLnNlcnZpY2UuY2xvc2UoKTtcbiAgICB0aGlzLmlzQ29ubmVjdGVkID0gZmFsc2U7XG4gIH1cblxuICBhc3luYyBzZW5kTWVzc2FnZSAoY21kKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcmVxdWlyZS1hd2FpdFxuICAgIHRoaXMuc2VydmljZS5zZW5kTWVzc2FnZShjbWQpO1xuICB9XG5cbiAgYXN5bmMgcmVjZWl2ZSAoZGF0YSkge1xuICAgIGlmICghdGhpcy5pc0Nvbm5lY3RlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBhd2FpdCB0aGlzLm1lc3NhZ2VIYW5kbGVyLmhhbmRsZU1lc3NhZ2UoZGF0YSk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFHZSxNQUFNQSxtQkFBbUIsU0FBU0Msa0JBQVMsQ0FBQztFQUN6REMsV0FBVyxDQUFFQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUU7SUFDdEIsS0FBSyxDQUFDQyxNQUFNLENBQUNDLE1BQU0sQ0FBQztNQUNsQkMsb0JBQW9CLEVBQUU7SUFDeEIsQ0FBQyxFQUFFSCxJQUFJLENBQUMsQ0FBQztJQUVULE1BQU07TUFDSkk7SUFDRixDQUFDLEdBQUdKLElBQUk7SUFFUixJQUFJLENBQUNJLElBQUksR0FBR0EsSUFBSTtFQUNsQjtFQUVBLE1BQU1DLE9BQU8sR0FBSTtJQUNmLElBQUksQ0FBQ0MsT0FBTyxHQUFHLE1BQU1DLHlCQUFRLENBQUNDLHdCQUF3QixDQUFDLElBQUksQ0FBQ0osSUFBSSxFQUFFO01BQ2hFSyxTQUFTLEVBQUUsSUFBSSxDQUFDQyxlQUFlO01BQy9CQyxXQUFXLEVBQUUsS0FBSztNQUNsQkMsT0FBTyxFQUFFLElBQUksQ0FBQ0MsbUJBQW1CO01BQ2pDQyxjQUFjLEVBQUUsSUFBSSxDQUFDQywwQkFBMEI7TUFDL0NDLGVBQWUsRUFBRSxJQUFJLENBQUNBLGVBQWU7TUFDckNDLGNBQWMsRUFBRSxJQUFJLENBQUNDO0lBQ3ZCLENBQUMsQ0FBQztJQUVGLElBQUksQ0FBQ1osT0FBTyxDQUFDYSxhQUFhLENBQUMsSUFBSSxDQUFDQyxPQUFPLENBQUNDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxJQUFJLENBQUNDLFdBQVcsR0FBRyxJQUFJO0VBQ3pCO0VBRUEsTUFBTUMsVUFBVSxHQUFJO0lBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUNELFdBQVcsRUFBRTtNQUNyQjtJQUNGO0lBRUFFLGVBQUcsQ0FBQ0MsS0FBSyxDQUFDLG9DQUFvQyxDQUFDO0lBQy9DLE1BQU0sS0FBSyxDQUFDRixVQUFVLEVBQUU7SUFDeEIsSUFBSSxDQUFDakIsT0FBTyxDQUFDb0IsS0FBSyxFQUFFO0lBQ3BCLElBQUksQ0FBQ0osV0FBVyxHQUFHLEtBQUs7RUFDMUI7RUFFQSxNQUFNSyxXQUFXLENBQUVDLEdBQUcsRUFBRTtJQUN0QixJQUFJLENBQUN0QixPQUFPLENBQUNxQixXQUFXLENBQUNDLEdBQUcsQ0FBQztFQUMvQjtFQUVBLE1BQU1SLE9BQU8sQ0FBRVMsSUFBSSxFQUFFO0lBQ25CLElBQUksQ0FBQyxJQUFJLENBQUNQLFdBQVcsRUFBRTtNQUNyQjtJQUNGO0lBQ0EsTUFBTSxJQUFJLENBQUNRLGNBQWMsQ0FBQ0MsYUFBYSxDQUFDRixJQUFJLENBQUM7RUFDL0M7QUFDRjtBQUFDIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc-client-real-device.js","names":["RpcClientRealDevice","RpcClient","constructor","opts","Object","assign","shouldCheckForTarget","udid","connect","service","services","startWebInspectorService","osVersion","platformVersion","isSimulator","verbose","logAllCommunication","verboseHexDump","logAllCommunicationHexDump","socketChunkSize","maxFrameLength","webInspectorMaxFrameLength","listenMessage","receive","bind","isConnected","disconnect","log","debug","close","sendMessage","cmd","data","messageHandler","handleMessage"],"sources":["../../../lib/rpc/rpc-client-real-device.js"],"sourcesContent":["import log from '../logger';\nimport RpcClient from './rpc-client';\nimport { services } from 'appium-ios-device';\n\n\nexport default class RpcClientRealDevice extends RpcClient {\n constructor (opts = {}) {\n super(Object.assign({\n shouldCheckForTarget: false,\n }, opts));\n\n const {\n udid,\n } = opts;\n\n this.udid = udid;\n }\n\n async connect () {\n this.service = await services.startWebInspectorService(this.udid, {\n osVersion: this.platformVersion,\n isSimulator: false,\n verbose: this.logAllCommunication,\n verboseHexDump: this.logAllCommunicationHexDump,\n socketChunkSize: this.socketChunkSize,\n maxFrameLength: this.webInspectorMaxFrameLength,\n });\n\n this.service.listenMessage(this.receive.bind(this));\n this.isConnected = true;\n }\n\n async disconnect () {\n if (!this.isConnected) {\n return;\n }\n\n log.debug('Disconnecting from remote debugger');\n await super.disconnect();\n this.service.close();\n this.isConnected = false;\n }\n\n async sendMessage (cmd) { // eslint-disable-line require-await\n this.service.sendMessage(cmd);\n }\n\n async receive (data) {\n if (!this.isConnected) {\n return;\n }\n await this.messageHandler.handleMessage(data);\n }\n}\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AAGe,MAAMA,mBAAmB,SAASC,kBAAS,CAAC;EACzDC,WAAW,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAE;IACtB,KAAK,CAACC,MAAM,CAACC,MAAM,CAAC;MAClBC,oBAAoB,EAAE;IACxB,CAAC,EAAEH,IAAI,CAAC,CAAC;IAET,MAAM;MACJI;IACF,CAAC,GAAGJ,IAAI;IAER,IAAI,CAACI,IAAI,GAAGA,IAAI;EAClB;EAEA,MAAMC,OAAO,GAAI;IACf,IAAI,CAACC,OAAO,GAAG,MAAMC,yBAAQ,CAACC,wBAAwB,CAAC,IAAI,CAACJ,IAAI,EAAE;MAChEK,SAAS,EAAE,IAAI,CAACC,eAAe;MAC/BC,WAAW,EAAE,KAAK;MAClBC,OAAO,EAAE,IAAI,CAACC,mBAAmB;MACjCC,cAAc,EAAE,IAAI,CAACC,0BAA0B;MAC/CC,eAAe,EAAE,IAAI,CAACA,eAAe;MACrCC,cAAc,EAAE,IAAI,CAACC;IACvB,CAAC,CAAC;IAEF,IAAI,CAACZ,OAAO,CAACa,aAAa,CAAC,IAAI,CAACC,OAAO,CAACC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAACC,WAAW,GAAG,IAAI;EACzB;EAEA,MAAMC,UAAU,GAAI;IAClB,IAAI,CAAC,IAAI,CAACD,WAAW,EAAE;MACrB;IACF;IAEAE,eAAG,CAACC,KAAK,CAAC,oCAAoC,CAAC;IAC/C,MAAM,KAAK,CAACF,UAAU,EAAE;IACxB,IAAI,CAACjB,OAAO,CAACoB,KAAK,EAAE;IACpB,IAAI,CAACJ,WAAW,GAAG,KAAK;EAC1B;EAEA,MAAMK,WAAW,CAAEC,GAAG,EAAE;IACtB,IAAI,CAACtB,OAAO,CAACqB,WAAW,CAACC,GAAG,CAAC;EAC/B;EAEA,MAAMR,OAAO,CAAES,IAAI,EAAE;IACnB,IAAI,CAAC,IAAI,CAACP,WAAW,EAAE;MACrB;IACF;IACA,MAAM,IAAI,CAACQ,cAAc,CAACC,aAAa,CAACF,IAAI,CAAC;EAC/C;AACF;AAAC"}
@@ -1,26 +1,17 @@
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.default = void 0;
9
-
10
8
  require("source-map-support/register");
11
-
12
9
  var _logger = _interopRequireDefault(require("../logger"));
13
-
14
10
  var _lodash = _interopRequireDefault(require("lodash"));
15
-
16
11
  var _bluebird = _interopRequireDefault(require("bluebird"));
17
-
18
12
  var _net = _interopRequireDefault(require("net"));
19
-
20
13
  var _rpcClient = _interopRequireDefault(require("./rpc-client"));
21
-
22
14
  var _appiumIosDevice = require("appium-ios-device");
23
-
24
15
  class RpcClientSimulator extends _rpcClient.default {
25
16
  constructor(opts = {}) {
26
17
  super(Object.assign({
@@ -32,29 +23,27 @@ class RpcClientSimulator extends _rpcClient.default {
32
23
  port,
33
24
  messageProxy
34
25
  } = opts;
26
+
35
27
  this.host = host;
36
28
  this.port = port;
37
29
  this.messageProxy = messageProxy;
38
30
  this.socket = null;
39
31
  this.socketPath = socketPath;
40
32
  }
41
-
42
33
  async connect() {
43
34
  if (this.socketPath) {
44
35
  if (this.messageProxy) {
45
36
  _logger.default.debug(`Connecting to remote debugger via proxy through unix domain socket: '${this.messageProxy}'`);
46
-
47
37
  this.socket = _net.default.connect(this.messageProxy);
38
+
48
39
  this.socket.once('connect', () => {
49
40
  _logger.default.debug(`Forwarding the actual web inspector socket to the proxy: '${this.socketPath}'`);
50
-
51
41
  this.socket.write(JSON.stringify({
52
42
  socketPath: this.socketPath
53
43
  }));
54
44
  });
55
45
  } else {
56
46
  _logger.default.debug(`Connecting to remote debugger through unix domain socket: '${this.socketPath}'`);
57
-
58
47
  this.socket = _net.default.connect(this.socketPath);
59
48
  }
60
49
  } else {
@@ -63,20 +52,17 @@ class RpcClientSimulator extends _rpcClient.default {
63
52
  }
64
53
 
65
54
  _logger.default.debug(`Connecting to remote debugger ${this.messageProxy ? 'via proxy ' : ''}through TCP: ${this.host}:${this.port}`);
66
-
67
55
  this.socket = new _net.default.Socket({
68
56
  type: 'tcp6'
69
57
  });
70
58
  this.socket.connect(this.port, this.host);
71
59
  }
72
-
73
60
  this.socket.setNoDelay(true);
74
61
  this.socket.setKeepAlive(true);
75
62
  this.socket.on('close', () => {
76
63
  if (this.isConnected) {
77
64
  _logger.default.debug('Debugger socket disconnected');
78
65
  }
79
-
80
66
  this.isConnected = false;
81
67
  this.socket = null;
82
68
  });
@@ -92,17 +78,16 @@ class RpcClientSimulator extends _rpcClient.default {
92
78
  maxFrameLength: this.webInspectorMaxFrameLength
93
79
  });
94
80
  this.service.listenMessage(this.receive.bind(this));
81
+
95
82
  return await new _bluebird.default((resolve, reject) => {
96
83
  this.socket.on('connect', () => {
97
84
  _logger.default.debug(`Debugger socket connected`);
98
-
99
85
  this.isConnected = true;
100
86
  resolve();
101
87
  });
102
88
  this.socket.on('error', err => {
103
89
  if (this.isConnected) {
104
90
  _logger.default.error(`Socket error: ${err.message}`);
105
-
106
91
  this.isConnected = false;
107
92
  }
108
93
 
@@ -110,19 +95,15 @@ class RpcClientSimulator extends _rpcClient.default {
110
95
  });
111
96
  });
112
97
  }
113
-
114
98
  async disconnect() {
115
99
  if (!this.isConnected) {
116
100
  return;
117
101
  }
118
-
119
102
  _logger.default.debug('Disconnecting from remote debugger');
120
-
121
103
  await super.disconnect();
122
104
  this.service.close();
123
105
  this.isConnected = false;
124
106
  }
125
-
126
107
  async sendMessage(cmd) {
127
108
  let onSocketError;
128
109
  return await new _bluebird.default((resolve, reject) => {
@@ -131,7 +112,6 @@ class RpcClientSimulator extends _rpcClient.default {
131
112
 
132
113
  reject(err);
133
114
  };
134
-
135
115
  this.socket.on('error', onSocketError);
136
116
  this.service.sendMessage(cmd);
137
117
  resolve();
@@ -141,26 +121,20 @@ class RpcClientSimulator extends _rpcClient.default {
141
121
  } catch (ign) {}
142
122
  });
143
123
  }
144
-
145
124
  async receive(data) {
146
125
  if (!this.isConnected) {
147
126
  return;
148
127
  }
149
-
150
128
  if (!data) {
151
129
  return;
152
130
  }
153
-
154
131
  for (const key of ['WIRMessageDataKey', 'WIRDestinationKey', 'WIRSocketDataKey']) {
155
132
  if (!_lodash.default.isUndefined(data[key])) {
156
133
  data[key] = data[key].toString('utf8');
157
134
  }
158
135
  }
159
-
160
136
  await this.messageHandler.handleMessage(data);
161
137
  }
162
-
163
138
  }
164
-
165
139
  exports.default = RpcClientSimulator;
166
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJScGNDbGllbnRTaW11bGF0b3IiLCJScGNDbGllbnQiLCJjb25zdHJ1Y3RvciIsIm9wdHMiLCJPYmplY3QiLCJhc3NpZ24iLCJzaG91bGRDaGVja0ZvclRhcmdldCIsInNvY2tldFBhdGgiLCJob3N0IiwicG9ydCIsIm1lc3NhZ2VQcm94eSIsInNvY2tldCIsImNvbm5lY3QiLCJsb2ciLCJkZWJ1ZyIsIm5ldCIsIm9uY2UiLCJ3cml0ZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJTb2NrZXQiLCJ0eXBlIiwic2V0Tm9EZWxheSIsInNldEtlZXBBbGl2ZSIsIm9uIiwiaXNDb25uZWN0ZWQiLCJzZXJ2aWNlIiwic2VydmljZXMiLCJzdGFydFdlYkluc3BlY3RvclNlcnZpY2UiLCJ1ZGlkIiwiaXNTaW11bGF0b3IiLCJvc1ZlcnNpb24iLCJwbGF0Zm9ybVZlcnNpb24iLCJ2ZXJib3NlIiwibG9nQWxsQ29tbXVuaWNhdGlvbiIsInZlcmJvc2VIZXhEdW1wIiwibG9nQWxsQ29tbXVuaWNhdGlvbkhleER1bXAiLCJtYXhGcmFtZUxlbmd0aCIsIndlYkluc3BlY3Rvck1heEZyYW1lTGVuZ3RoIiwibGlzdGVuTWVzc2FnZSIsInJlY2VpdmUiLCJiaW5kIiwiQiIsInJlc29sdmUiLCJyZWplY3QiLCJlcnIiLCJlcnJvciIsIm1lc3NhZ2UiLCJkaXNjb25uZWN0IiwiY2xvc2UiLCJzZW5kTWVzc2FnZSIsImNtZCIsIm9uU29ja2V0RXJyb3IiLCJmaW5hbGx5IiwicmVtb3ZlTGlzdGVuZXIiLCJpZ24iLCJkYXRhIiwia2V5IiwiXyIsImlzVW5kZWZpbmVkIiwidG9TdHJpbmciLCJtZXNzYWdlSGFuZGxlciIsImhhbmRsZU1lc3NhZ2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvcnBjL3JwYy1jbGllbnQtc2ltdWxhdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBsb2cgZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgQiBmcm9tICdibHVlYmlyZCc7XG5pbXBvcnQgbmV0IGZyb20gJ25ldCc7XG5pbXBvcnQgUnBjQ2xpZW50IGZyb20gJy4vcnBjLWNsaWVudCc7XG5pbXBvcnQgeyBzZXJ2aWNlcyB9IGZyb20gJ2FwcGl1bS1pb3MtZGV2aWNlJztcblxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBScGNDbGllbnRTaW11bGF0b3IgZXh0ZW5kcyBScGNDbGllbnQge1xuICBjb25zdHJ1Y3RvciAob3B0cyA9IHt9KSB7XG4gICAgc3VwZXIoT2JqZWN0LmFzc2lnbih7XG4gICAgICBzaG91bGRDaGVja0ZvclRhcmdldDogZmFsc2UsXG4gICAgfSwgb3B0cykpO1xuXG4gICAgY29uc3Qge1xuICAgICAgc29ja2V0UGF0aCxcbiAgICAgIGhvc3QgPSAnOjoxJyxcbiAgICAgIHBvcnQsXG4gICAgICBtZXNzYWdlUHJveHksXG4gICAgfSA9IG9wdHM7XG5cbiAgICAvLyBob3N0L3BvcnQgY29uZmlnIGZvciBUQ1AgY29tbXVuaWNhdGlvbiwgc29ja2V0UGF0aCBmb3IgdW5peCBkb21haW4gc29ja2V0c1xuICAgIHRoaXMuaG9zdCA9IGhvc3Q7XG4gICAgdGhpcy5wb3J0ID0gcG9ydDtcbiAgICB0aGlzLm1lc3NhZ2VQcm94eSA9IG1lc3NhZ2VQcm94eTtcblxuICAgIHRoaXMuc29ja2V0ID0gbnVsbDtcbiAgICB0aGlzLnNvY2tldFBhdGggPSBzb2NrZXRQYXRoO1xuICB9XG5cbiAgYXN5bmMgY29ubmVjdCAoKSB7XG4gICAgLy8gY3JlYXRlIHNvY2tldCBhbmQgaGFuZGxlIGl0cyBtZXNzYWdlc1xuICAgIGlmICh0aGlzLnNvY2tldFBhdGgpIHtcbiAgICAgIGlmICh0aGlzLm1lc3NhZ2VQcm94eSkge1xuICAgICAgICAvLyB1bml4IGRvbWFpbiBzb2NrZXQgdmlhIHByb3h5XG4gICAgICAgIGxvZy5kZWJ1ZyhgQ29ubmVjdGluZyB0byByZW1vdGUgZGVidWdnZXIgdmlhIHByb3h5IHRocm91Z2ggdW5peCBkb21haW4gc29ja2V0OiAnJHt0aGlzLm1lc3NhZ2VQcm94eX0nYCk7XG4gICAgICAgIHRoaXMuc29ja2V0ID0gbmV0LmNvbm5lY3QodGhpcy5tZXNzYWdlUHJveHkpO1xuXG4gICAgICAgIC8vIEZvcndhcmQgdGhlIGFjdHVhbCBzb2NrZXRQYXRoIHRvIHRoZSBwcm94eVxuICAgICAgICB0aGlzLnNvY2tldC5vbmNlKCdjb25uZWN0JywgKCkgPT4ge1xuICAgICAgICAgIGxvZy5kZWJ1ZyhgRm9yd2FyZGluZyB0aGUgYWN0dWFsIHdlYiBpbnNwZWN0b3Igc29ja2V0IHRvIHRoZSBwcm94eTogJyR7dGhpcy5zb2NrZXRQYXRofSdgKTtcbiAgICAgICAgICB0aGlzLnNvY2tldC53cml0ZShKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBzb2NrZXRQYXRoOiB0aGlzLnNvY2tldFBhdGhcbiAgICAgICAgICB9KSk7XG4gICAgICAgIH0pO1xuXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyB1bml4IGRvbWFpbiBzb2NrZXRcbiAgICAgICAgbG9nLmRlYnVnKGBDb25uZWN0aW5nIHRvIHJlbW90ZSBkZWJ1Z2dlciB0aHJvdWdoIHVuaXggZG9tYWluIHNvY2tldDogJyR7dGhpcy5zb2NrZXRQYXRofSdgKTtcbiAgICAgICAgdGhpcy5zb2NrZXQgPSBuZXQuY29ubmVjdCh0aGlzLnNvY2tldFBhdGgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5tZXNzYWdlUHJveHkpIHtcbiAgICAgICAgLy8gY29ubmVjdCB0byB0aGUgcHJveHkgaW5zdGVhZCBvZiB0aGUgcmVtb3RlIGRlYnVnZ2VyIGRpcmVjdGx5XG4gICAgICAgIHRoaXMucG9ydCA9IHRoaXMubWVzc2FnZVByb3h5O1xuICAgICAgfVxuXG4gICAgICAvLyB0Y3Agc29ja2V0XG4gICAgICBsb2cuZGVidWcoYENvbm5lY3RpbmcgdG8gcmVtb3RlIGRlYnVnZ2VyICR7dGhpcy5tZXNzYWdlUHJveHkgPyAndmlhIHByb3h5ICcgOiAnJ310aHJvdWdoIFRDUDogJHt0aGlzLmhvc3R9OiR7dGhpcy5wb3J0fWApO1xuICAgICAgdGhpcy5zb2NrZXQgPSBuZXcgbmV0LlNvY2tldCh7dHlwZTogJ3RjcDYnfSk7XG4gICAgICB0aGlzLnNvY2tldC5jb25uZWN0KHRoaXMucG9ydCwgdGhpcy5ob3N0KTtcbiAgICB9XG5cbiAgICB0aGlzLnNvY2tldC5zZXROb0RlbGF5KHRydWUpO1xuICAgIHRoaXMuc29ja2V0LnNldEtlZXBBbGl2ZSh0cnVlKTtcbiAgICB0aGlzLnNvY2tldC5vbignY2xvc2UnLCAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5pc0Nvbm5lY3RlZCkge1xuICAgICAgICBsb2cuZGVidWcoJ0RlYnVnZ2VyIHNvY2tldCBkaXNjb25uZWN0ZWQnKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaXNDb25uZWN0ZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuc29ja2V0ID0gbnVsbDtcbiAgICB9KTtcbiAgICB0aGlzLnNvY2tldC5vbignZW5kJywgKCkgPT4ge1xuICAgICAgdGhpcy5pc0Nvbm5lY3RlZCA9IGZhbHNlO1xuICAgIH0pO1xuICAgIHRoaXMuc2VydmljZSA9IGF3YWl0IHNlcnZpY2VzLnN0YXJ0V2ViSW5zcGVjdG9yU2VydmljZSh0aGlzLnVkaWQsIHtcbiAgICAgIHNvY2tldDogdGhpcy5zb2NrZXQsXG4gICAgICBpc1NpbXVsYXRvcjogdHJ1ZSxcbiAgICAgIG9zVmVyc2lvbjogdGhpcy5wbGF0Zm9ybVZlcnNpb24sXG4gICAgICB2ZXJib3NlOiB0aGlzLmxvZ0FsbENvbW11bmljYXRpb24sXG4gICAgICB2ZXJib3NlSGV4RHVtcDogdGhpcy5sb2dBbGxDb21tdW5pY2F0aW9uSGV4RHVtcCxcbiAgICAgIG1heEZyYW1lTGVuZ3RoOiB0aGlzLndlYkluc3BlY3Rvck1heEZyYW1lTGVuZ3RoLFxuICAgIH0pO1xuICAgIHRoaXMuc2VydmljZS5saXN0ZW5NZXNzYWdlKHRoaXMucmVjZWl2ZS5iaW5kKHRoaXMpKTtcblxuICAgIC8vIGNvbm5lY3QgdGhlIHNvY2tldFxuICAgIHJldHVybiBhd2FpdCBuZXcgQigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAvLyBvbmx5IHJlc29sdmUgdGhpcyBmdW5jdGlvbiB3aGVuIHdlIGFyZSBhY3R1YWxseSBjb25uZWN0ZWRcbiAgICAgIHRoaXMuc29ja2V0Lm9uKCdjb25uZWN0JywgKCkgPT4ge1xuICAgICAgICBsb2cuZGVidWcoYERlYnVnZ2VyIHNvY2tldCBjb25uZWN0ZWRgKTtcbiAgICAgICAgdGhpcy5pc0Nvbm5lY3RlZCA9IHRydWU7XG5cbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnNvY2tldC5vbignZXJyb3InLCAoZXJyKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzQ29ubmVjdGVkKSB7XG4gICAgICAgICAgbG9nLmVycm9yKGBTb2NrZXQgZXJyb3I6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgICAgICAgdGhpcy5pc0Nvbm5lY3RlZCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdGhlIGNvbm5lY3Rpb24gd2FzIHJlZnVzZWQsIHNvIHJlamVjdCB0aGUgY29ubmVjdCBwcm9taXNlXG4gICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBkaXNjb25uZWN0ICgpIHtcbiAgICBpZiAoIXRoaXMuaXNDb25uZWN0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsb2cuZGVidWcoJ0Rpc2Nvbm5lY3RpbmcgZnJvbSByZW1vdGUgZGVidWdnZXInKTtcbiAgICBhd2FpdCBzdXBlci5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5zZXJ2aWNlLmNsb3NlKCk7XG4gICAgdGhpcy5pc0Nvbm5lY3RlZCA9IGZhbHNlO1xuICB9XG5cbiAgYXN5bmMgc2VuZE1lc3NhZ2UgKGNtZCkge1xuICAgIGxldCBvblNvY2tldEVycm9yO1xuXG4gICAgcmV0dXJuIGF3YWl0IG5ldyBCKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIC8vIGhhbmRsZSBzb2NrZXQgcHJvYmxlbXNcbiAgICAgIG9uU29ja2V0RXJyb3IgPSAoZXJyKSA9PiB7XG4gICAgICAgIGxvZy5lcnJvcihgU29ja2V0IGVycm9yOiAke2Vyci5tZXNzYWdlfWApO1xuXG4gICAgICAgIC8vIHRoZSBjb25uZWN0aW9uIHdhcyByZWZ1c2VkLCBzbyByZWplY3QgdGhlIGNvbm5lY3QgcHJvbWlzZVxuICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgIH07XG5cbiAgICAgIHRoaXMuc29ja2V0Lm9uKCdlcnJvcicsIG9uU29ja2V0RXJyb3IpO1xuICAgICAgdGhpcy5zZXJ2aWNlLnNlbmRNZXNzYWdlKGNtZCk7XG4gICAgICByZXNvbHZlKCk7XG4gICAgfSlcbiAgICAuZmluYWxseSgoKSA9PiB7XG4gICAgICAvLyByZW1vdmUgdGhpcyBsaXN0ZW5lciwgc28gd2UgZG9uJ3QgZXhoYXVzdCB0aGUgc3lzdGVtXG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLnNvY2tldC5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBvblNvY2tldEVycm9yKTtcbiAgICAgIH0gY2F0Y2ggKGlnbikge31cbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHJlY2VpdmUgKGRhdGEpIHtcbiAgICBpZiAoIXRoaXMuaXNDb25uZWN0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBbJ1dJUk1lc3NhZ2VEYXRhS2V5JywgJ1dJUkRlc3RpbmF0aW9uS2V5JywgJ1dJUlNvY2tldERhdGFLZXknXSkge1xuICAgICAgaWYgKCFfLmlzVW5kZWZpbmVkKGRhdGFba2V5XSkpIHtcbiAgICAgICAgZGF0YVtrZXldID0gZGF0YVtrZXldLnRvU3RyaW5nKCd1dGY4Jyk7XG4gICAgICB9XG4gICAgfVxuICAgIGF3YWl0IHRoaXMubWVzc2FnZUhhbmRsZXIuaGFuZGxlTWVzc2FnZShkYXRhKTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUdlLE1BQU1BLGtCQUFOLFNBQWlDQyxrQkFBakMsQ0FBMkM7RUFDeERDLFdBQVcsQ0FBRUMsSUFBSSxHQUFHLEVBQVQsRUFBYTtJQUN0QixNQUFNQyxNQUFNLENBQUNDLE1BQVAsQ0FBYztNQUNsQkMsb0JBQW9CLEVBQUU7SUFESixDQUFkLEVBRUhILElBRkcsQ0FBTjtJQUlBLE1BQU07TUFDSkksVUFESTtNQUVKQyxJQUFJLEdBQUcsS0FGSDtNQUdKQyxJQUhJO01BSUpDO0lBSkksSUFLRlAsSUFMSjtJQVFBLEtBQUtLLElBQUwsR0FBWUEsSUFBWjtJQUNBLEtBQUtDLElBQUwsR0FBWUEsSUFBWjtJQUNBLEtBQUtDLFlBQUwsR0FBb0JBLFlBQXBCO0lBRUEsS0FBS0MsTUFBTCxHQUFjLElBQWQ7SUFDQSxLQUFLSixVQUFMLEdBQWtCQSxVQUFsQjtFQUNEOztFQUVZLE1BQVBLLE9BQU8sR0FBSTtJQUVmLElBQUksS0FBS0wsVUFBVCxFQUFxQjtNQUNuQixJQUFJLEtBQUtHLFlBQVQsRUFBdUI7UUFFckJHLGVBQUEsQ0FBSUMsS0FBSixDQUFXLHdFQUF1RSxLQUFLSixZQUFhLEdBQXBHOztRQUNBLEtBQUtDLE1BQUwsR0FBY0ksWUFBQSxDQUFJSCxPQUFKLENBQVksS0FBS0YsWUFBakIsQ0FBZDtRQUdBLEtBQUtDLE1BQUwsQ0FBWUssSUFBWixDQUFpQixTQUFqQixFQUE0QixNQUFNO1VBQ2hDSCxlQUFBLENBQUlDLEtBQUosQ0FBVyw2REFBNEQsS0FBS1AsVUFBVyxHQUF2Rjs7VUFDQSxLQUFLSSxNQUFMLENBQVlNLEtBQVosQ0FBa0JDLElBQUksQ0FBQ0MsU0FBTCxDQUFlO1lBQy9CWixVQUFVLEVBQUUsS0FBS0E7VUFEYyxDQUFmLENBQWxCO1FBR0QsQ0FMRDtNQU9ELENBYkQsTUFhTztRQUVMTSxlQUFBLENBQUlDLEtBQUosQ0FBVyw4REFBNkQsS0FBS1AsVUFBVyxHQUF4Rjs7UUFDQSxLQUFLSSxNQUFMLEdBQWNJLFlBQUEsQ0FBSUgsT0FBSixDQUFZLEtBQUtMLFVBQWpCLENBQWQ7TUFDRDtJQUNGLENBbkJELE1BbUJPO01BQ0wsSUFBSSxLQUFLRyxZQUFULEVBQXVCO1FBRXJCLEtBQUtELElBQUwsR0FBWSxLQUFLQyxZQUFqQjtNQUNEOztNQUdERyxlQUFBLENBQUlDLEtBQUosQ0FBVyxpQ0FBZ0MsS0FBS0osWUFBTCxHQUFvQixZQUFwQixHQUFtQyxFQUFHLGdCQUFlLEtBQUtGLElBQUssSUFBRyxLQUFLQyxJQUFLLEVBQXZIOztNQUNBLEtBQUtFLE1BQUwsR0FBYyxJQUFJSSxZQUFBLENBQUlLLE1BQVIsQ0FBZTtRQUFDQyxJQUFJLEVBQUU7TUFBUCxDQUFmLENBQWQ7TUFDQSxLQUFLVixNQUFMLENBQVlDLE9BQVosQ0FBb0IsS0FBS0gsSUFBekIsRUFBK0IsS0FBS0QsSUFBcEM7SUFDRDs7SUFFRCxLQUFLRyxNQUFMLENBQVlXLFVBQVosQ0FBdUIsSUFBdkI7SUFDQSxLQUFLWCxNQUFMLENBQVlZLFlBQVosQ0FBeUIsSUFBekI7SUFDQSxLQUFLWixNQUFMLENBQVlhLEVBQVosQ0FBZSxPQUFmLEVBQXdCLE1BQU07TUFDNUIsSUFBSSxLQUFLQyxXQUFULEVBQXNCO1FBQ3BCWixlQUFBLENBQUlDLEtBQUosQ0FBVSw4QkFBVjtNQUNEOztNQUNELEtBQUtXLFdBQUwsR0FBbUIsS0FBbkI7TUFDQSxLQUFLZCxNQUFMLEdBQWMsSUFBZDtJQUNELENBTkQ7SUFPQSxLQUFLQSxNQUFMLENBQVlhLEVBQVosQ0FBZSxLQUFmLEVBQXNCLE1BQU07TUFDMUIsS0FBS0MsV0FBTCxHQUFtQixLQUFuQjtJQUNELENBRkQ7SUFHQSxLQUFLQyxPQUFMLEdBQWUsTUFBTUMseUJBQUEsQ0FBU0Msd0JBQVQsQ0FBa0MsS0FBS0MsSUFBdkMsRUFBNkM7TUFDaEVsQixNQUFNLEVBQUUsS0FBS0EsTUFEbUQ7TUFFaEVtQixXQUFXLEVBQUUsSUFGbUQ7TUFHaEVDLFNBQVMsRUFBRSxLQUFLQyxlQUhnRDtNQUloRUMsT0FBTyxFQUFFLEtBQUtDLG1CQUprRDtNQUtoRUMsY0FBYyxFQUFFLEtBQUtDLDBCQUwyQztNQU1oRUMsY0FBYyxFQUFFLEtBQUtDO0lBTjJDLENBQTdDLENBQXJCO0lBUUEsS0FBS1osT0FBTCxDQUFhYSxhQUFiLENBQTJCLEtBQUtDLE9BQUwsQ0FBYUMsSUFBYixDQUFrQixJQUFsQixDQUEzQjtJQUdBLE9BQU8sTUFBTSxJQUFJQyxpQkFBSixDQUFNLENBQUNDLE9BQUQsRUFBVUMsTUFBVixLQUFxQjtNQUV0QyxLQUFLakMsTUFBTCxDQUFZYSxFQUFaLENBQWUsU0FBZixFQUEwQixNQUFNO1FBQzlCWCxlQUFBLENBQUlDLEtBQUosQ0FBVywyQkFBWDs7UUFDQSxLQUFLVyxXQUFMLEdBQW1CLElBQW5CO1FBRUFrQixPQUFPO01BQ1IsQ0FMRDtNQU1BLEtBQUtoQyxNQUFMLENBQVlhLEVBQVosQ0FBZSxPQUFmLEVBQXlCcUIsR0FBRCxJQUFTO1FBQy9CLElBQUksS0FBS3BCLFdBQVQsRUFBc0I7VUFDcEJaLGVBQUEsQ0FBSWlDLEtBQUosQ0FBVyxpQkFBZ0JELEdBQUcsQ0FBQ0UsT0FBUSxFQUF2Qzs7VUFDQSxLQUFLdEIsV0FBTCxHQUFtQixLQUFuQjtRQUNEOztRQUdEbUIsTUFBTSxDQUFDQyxHQUFELENBQU47TUFDRCxDQVJEO0lBU0QsQ0FqQlksQ0FBYjtFQWtCRDs7RUFFZSxNQUFWRyxVQUFVLEdBQUk7SUFDbEIsSUFBSSxDQUFDLEtBQUt2QixXQUFWLEVBQXVCO01BQ3JCO0lBQ0Q7O0lBRURaLGVBQUEsQ0FBSUMsS0FBSixDQUFVLG9DQUFWOztJQUNBLE1BQU0sTUFBTWtDLFVBQU4sRUFBTjtJQUNBLEtBQUt0QixPQUFMLENBQWF1QixLQUFiO0lBQ0EsS0FBS3hCLFdBQUwsR0FBbUIsS0FBbkI7RUFDRDs7RUFFZ0IsTUFBWHlCLFdBQVcsQ0FBRUMsR0FBRixFQUFPO0lBQ3RCLElBQUlDLGFBQUo7SUFFQSxPQUFPLE1BQU0sSUFBSVYsaUJBQUosQ0FBTSxDQUFDQyxPQUFELEVBQVVDLE1BQVYsS0FBcUI7TUFFdENRLGFBQWEsR0FBSVAsR0FBRCxJQUFTO1FBQ3ZCaEMsZUFBQSxDQUFJaUMsS0FBSixDQUFXLGlCQUFnQkQsR0FBRyxDQUFDRSxPQUFRLEVBQXZDOztRQUdBSCxNQUFNLENBQUNDLEdBQUQsQ0FBTjtNQUNELENBTEQ7O01BT0EsS0FBS2xDLE1BQUwsQ0FBWWEsRUFBWixDQUFlLE9BQWYsRUFBd0I0QixhQUF4QjtNQUNBLEtBQUsxQixPQUFMLENBQWF3QixXQUFiLENBQXlCQyxHQUF6QjtNQUNBUixPQUFPO0lBQ1IsQ0FaWSxFQWFaVSxPQWJZLENBYUosTUFBTTtNQUViLElBQUk7UUFDRixLQUFLMUMsTUFBTCxDQUFZMkMsY0FBWixDQUEyQixPQUEzQixFQUFvQ0YsYUFBcEM7TUFDRCxDQUZELENBRUUsT0FBT0csR0FBUCxFQUFZLENBQUU7SUFDakIsQ0FsQlksQ0FBYjtFQW1CRDs7RUFFWSxNQUFQZixPQUFPLENBQUVnQixJQUFGLEVBQVE7SUFDbkIsSUFBSSxDQUFDLEtBQUsvQixXQUFWLEVBQXVCO01BQ3JCO0lBQ0Q7O0lBRUQsSUFBSSxDQUFDK0IsSUFBTCxFQUFXO01BQ1Q7SUFDRDs7SUFFRCxLQUFLLE1BQU1DLEdBQVgsSUFBa0IsQ0FBQyxtQkFBRCxFQUFzQixtQkFBdEIsRUFBMkMsa0JBQTNDLENBQWxCLEVBQWtGO01BQ2hGLElBQUksQ0FBQ0MsZUFBQSxDQUFFQyxXQUFGLENBQWNILElBQUksQ0FBQ0MsR0FBRCxDQUFsQixDQUFMLEVBQStCO1FBQzdCRCxJQUFJLENBQUNDLEdBQUQsQ0FBSixHQUFZRCxJQUFJLENBQUNDLEdBQUQsQ0FBSixDQUFVRyxRQUFWLENBQW1CLE1BQW5CLENBQVo7TUFDRDtJQUNGOztJQUNELE1BQU0sS0FBS0MsY0FBTCxDQUFvQkMsYUFBcEIsQ0FBa0NOLElBQWxDLENBQU47RUFDRDs7QUFwSnVEIn0=
140
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJScGNDbGllbnRTaW11bGF0b3IiLCJScGNDbGllbnQiLCJjb25zdHJ1Y3RvciIsIm9wdHMiLCJPYmplY3QiLCJhc3NpZ24iLCJzaG91bGRDaGVja0ZvclRhcmdldCIsInNvY2tldFBhdGgiLCJob3N0IiwicG9ydCIsIm1lc3NhZ2VQcm94eSIsInNvY2tldCIsImNvbm5lY3QiLCJsb2ciLCJkZWJ1ZyIsIm5ldCIsIm9uY2UiLCJ3cml0ZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJTb2NrZXQiLCJ0eXBlIiwic2V0Tm9EZWxheSIsInNldEtlZXBBbGl2ZSIsIm9uIiwiaXNDb25uZWN0ZWQiLCJzZXJ2aWNlIiwic2VydmljZXMiLCJzdGFydFdlYkluc3BlY3RvclNlcnZpY2UiLCJ1ZGlkIiwiaXNTaW11bGF0b3IiLCJvc1ZlcnNpb24iLCJwbGF0Zm9ybVZlcnNpb24iLCJ2ZXJib3NlIiwibG9nQWxsQ29tbXVuaWNhdGlvbiIsInZlcmJvc2VIZXhEdW1wIiwibG9nQWxsQ29tbXVuaWNhdGlvbkhleER1bXAiLCJtYXhGcmFtZUxlbmd0aCIsIndlYkluc3BlY3Rvck1heEZyYW1lTGVuZ3RoIiwibGlzdGVuTWVzc2FnZSIsInJlY2VpdmUiLCJiaW5kIiwiQiIsInJlc29sdmUiLCJyZWplY3QiLCJlcnIiLCJlcnJvciIsIm1lc3NhZ2UiLCJkaXNjb25uZWN0IiwiY2xvc2UiLCJzZW5kTWVzc2FnZSIsImNtZCIsIm9uU29ja2V0RXJyb3IiLCJmaW5hbGx5IiwicmVtb3ZlTGlzdGVuZXIiLCJpZ24iLCJkYXRhIiwia2V5IiwiXyIsImlzVW5kZWZpbmVkIiwidG9TdHJpbmciLCJtZXNzYWdlSGFuZGxlciIsImhhbmRsZU1lc3NhZ2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvcnBjL3JwYy1jbGllbnQtc2ltdWxhdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBsb2cgZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgQiBmcm9tICdibHVlYmlyZCc7XG5pbXBvcnQgbmV0IGZyb20gJ25ldCc7XG5pbXBvcnQgUnBjQ2xpZW50IGZyb20gJy4vcnBjLWNsaWVudCc7XG5pbXBvcnQgeyBzZXJ2aWNlcyB9IGZyb20gJ2FwcGl1bS1pb3MtZGV2aWNlJztcblxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBScGNDbGllbnRTaW11bGF0b3IgZXh0ZW5kcyBScGNDbGllbnQge1xuICBjb25zdHJ1Y3RvciAob3B0cyA9IHt9KSB7XG4gICAgc3VwZXIoT2JqZWN0LmFzc2lnbih7XG4gICAgICBzaG91bGRDaGVja0ZvclRhcmdldDogZmFsc2UsXG4gICAgfSwgb3B0cykpO1xuXG4gICAgY29uc3Qge1xuICAgICAgc29ja2V0UGF0aCxcbiAgICAgIGhvc3QgPSAnOjoxJyxcbiAgICAgIHBvcnQsXG4gICAgICBtZXNzYWdlUHJveHksXG4gICAgfSA9IG9wdHM7XG5cbiAgICAvLyBob3N0L3BvcnQgY29uZmlnIGZvciBUQ1AgY29tbXVuaWNhdGlvbiwgc29ja2V0UGF0aCBmb3IgdW5peCBkb21haW4gc29ja2V0c1xuICAgIHRoaXMuaG9zdCA9IGhvc3Q7XG4gICAgdGhpcy5wb3J0ID0gcG9ydDtcbiAgICB0aGlzLm1lc3NhZ2VQcm94eSA9IG1lc3NhZ2VQcm94eTtcblxuICAgIHRoaXMuc29ja2V0ID0gbnVsbDtcbiAgICB0aGlzLnNvY2tldFBhdGggPSBzb2NrZXRQYXRoO1xuICB9XG5cbiAgYXN5bmMgY29ubmVjdCAoKSB7XG4gICAgLy8gY3JlYXRlIHNvY2tldCBhbmQgaGFuZGxlIGl0cyBtZXNzYWdlc1xuICAgIGlmICh0aGlzLnNvY2tldFBhdGgpIHtcbiAgICAgIGlmICh0aGlzLm1lc3NhZ2VQcm94eSkge1xuICAgICAgICAvLyB1bml4IGRvbWFpbiBzb2NrZXQgdmlhIHByb3h5XG4gICAgICAgIGxvZy5kZWJ1ZyhgQ29ubmVjdGluZyB0byByZW1vdGUgZGVidWdnZXIgdmlhIHByb3h5IHRocm91Z2ggdW5peCBkb21haW4gc29ja2V0OiAnJHt0aGlzLm1lc3NhZ2VQcm94eX0nYCk7XG4gICAgICAgIHRoaXMuc29ja2V0ID0gbmV0LmNvbm5lY3QodGhpcy5tZXNzYWdlUHJveHkpO1xuXG4gICAgICAgIC8vIEZvcndhcmQgdGhlIGFjdHVhbCBzb2NrZXRQYXRoIHRvIHRoZSBwcm94eVxuICAgICAgICB0aGlzLnNvY2tldC5vbmNlKCdjb25uZWN0JywgKCkgPT4ge1xuICAgICAgICAgIGxvZy5kZWJ1ZyhgRm9yd2FyZGluZyB0aGUgYWN0dWFsIHdlYiBpbnNwZWN0b3Igc29ja2V0IHRvIHRoZSBwcm94eTogJyR7dGhpcy5zb2NrZXRQYXRofSdgKTtcbiAgICAgICAgICB0aGlzLnNvY2tldC53cml0ZShKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBzb2NrZXRQYXRoOiB0aGlzLnNvY2tldFBhdGhcbiAgICAgICAgICB9KSk7XG4gICAgICAgIH0pO1xuXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyB1bml4IGRvbWFpbiBzb2NrZXRcbiAgICAgICAgbG9nLmRlYnVnKGBDb25uZWN0aW5nIHRvIHJlbW90ZSBkZWJ1Z2dlciB0aHJvdWdoIHVuaXggZG9tYWluIHNvY2tldDogJyR7dGhpcy5zb2NrZXRQYXRofSdgKTtcbiAgICAgICAgdGhpcy5zb2NrZXQgPSBuZXQuY29ubmVjdCh0aGlzLnNvY2tldFBhdGgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5tZXNzYWdlUHJveHkpIHtcbiAgICAgICAgLy8gY29ubmVjdCB0byB0aGUgcHJveHkgaW5zdGVhZCBvZiB0aGUgcmVtb3RlIGRlYnVnZ2VyIGRpcmVjdGx5XG4gICAgICAgIHRoaXMucG9ydCA9IHRoaXMubWVzc2FnZVByb3h5O1xuICAgICAgfVxuXG4gICAgICAvLyB0Y3Agc29ja2V0XG4gICAgICBsb2cuZGVidWcoYENvbm5lY3RpbmcgdG8gcmVtb3RlIGRlYnVnZ2VyICR7dGhpcy5tZXNzYWdlUHJveHkgPyAndmlhIHByb3h5ICcgOiAnJ310aHJvdWdoIFRDUDogJHt0aGlzLmhvc3R9OiR7dGhpcy5wb3J0fWApO1xuICAgICAgdGhpcy5zb2NrZXQgPSBuZXcgbmV0LlNvY2tldCh7dHlwZTogJ3RjcDYnfSk7XG4gICAgICB0aGlzLnNvY2tldC5jb25uZWN0KHRoaXMucG9ydCwgdGhpcy5ob3N0KTtcbiAgICB9XG5cbiAgICB0aGlzLnNvY2tldC5zZXROb0RlbGF5KHRydWUpO1xuICAgIHRoaXMuc29ja2V0LnNldEtlZXBBbGl2ZSh0cnVlKTtcbiAgICB0aGlzLnNvY2tldC5vbignY2xvc2UnLCAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5pc0Nvbm5lY3RlZCkge1xuICAgICAgICBsb2cuZGVidWcoJ0RlYnVnZ2VyIHNvY2tldCBkaXNjb25uZWN0ZWQnKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaXNDb25uZWN0ZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuc29ja2V0ID0gbnVsbDtcbiAgICB9KTtcbiAgICB0aGlzLnNvY2tldC5vbignZW5kJywgKCkgPT4ge1xuICAgICAgdGhpcy5pc0Nvbm5lY3RlZCA9IGZhbHNlO1xuICAgIH0pO1xuICAgIHRoaXMuc2VydmljZSA9IGF3YWl0IHNlcnZpY2VzLnN0YXJ0V2ViSW5zcGVjdG9yU2VydmljZSh0aGlzLnVkaWQsIHtcbiAgICAgIHNvY2tldDogdGhpcy5zb2NrZXQsXG4gICAgICBpc1NpbXVsYXRvcjogdHJ1ZSxcbiAgICAgIG9zVmVyc2lvbjogdGhpcy5wbGF0Zm9ybVZlcnNpb24sXG4gICAgICB2ZXJib3NlOiB0aGlzLmxvZ0FsbENvbW11bmljYXRpb24sXG4gICAgICB2ZXJib3NlSGV4RHVtcDogdGhpcy5sb2dBbGxDb21tdW5pY2F0aW9uSGV4RHVtcCxcbiAgICAgIG1heEZyYW1lTGVuZ3RoOiB0aGlzLndlYkluc3BlY3Rvck1heEZyYW1lTGVuZ3RoLFxuICAgIH0pO1xuICAgIHRoaXMuc2VydmljZS5saXN0ZW5NZXNzYWdlKHRoaXMucmVjZWl2ZS5iaW5kKHRoaXMpKTtcblxuICAgIC8vIGNvbm5lY3QgdGhlIHNvY2tldFxuICAgIHJldHVybiBhd2FpdCBuZXcgQigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAvLyBvbmx5IHJlc29sdmUgdGhpcyBmdW5jdGlvbiB3aGVuIHdlIGFyZSBhY3R1YWxseSBjb25uZWN0ZWRcbiAgICAgIHRoaXMuc29ja2V0Lm9uKCdjb25uZWN0JywgKCkgPT4ge1xuICAgICAgICBsb2cuZGVidWcoYERlYnVnZ2VyIHNvY2tldCBjb25uZWN0ZWRgKTtcbiAgICAgICAgdGhpcy5pc0Nvbm5lY3RlZCA9IHRydWU7XG5cbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnNvY2tldC5vbignZXJyb3InLCAoZXJyKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzQ29ubmVjdGVkKSB7XG4gICAgICAgICAgbG9nLmVycm9yKGBTb2NrZXQgZXJyb3I6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgICAgICAgdGhpcy5pc0Nvbm5lY3RlZCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdGhlIGNvbm5lY3Rpb24gd2FzIHJlZnVzZWQsIHNvIHJlamVjdCB0aGUgY29ubmVjdCBwcm9taXNlXG4gICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBkaXNjb25uZWN0ICgpIHtcbiAgICBpZiAoIXRoaXMuaXNDb25uZWN0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsb2cuZGVidWcoJ0Rpc2Nvbm5lY3RpbmcgZnJvbSByZW1vdGUgZGVidWdnZXInKTtcbiAgICBhd2FpdCBzdXBlci5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5zZXJ2aWNlLmNsb3NlKCk7XG4gICAgdGhpcy5pc0Nvbm5lY3RlZCA9IGZhbHNlO1xuICB9XG5cbiAgYXN5bmMgc2VuZE1lc3NhZ2UgKGNtZCkge1xuICAgIGxldCBvblNvY2tldEVycm9yO1xuXG4gICAgcmV0dXJuIGF3YWl0IG5ldyBCKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIC8vIGhhbmRsZSBzb2NrZXQgcHJvYmxlbXNcbiAgICAgIG9uU29ja2V0RXJyb3IgPSAoZXJyKSA9PiB7XG4gICAgICAgIGxvZy5lcnJvcihgU29ja2V0IGVycm9yOiAke2Vyci5tZXNzYWdlfWApO1xuXG4gICAgICAgIC8vIHRoZSBjb25uZWN0aW9uIHdhcyByZWZ1c2VkLCBzbyByZWplY3QgdGhlIGNvbm5lY3QgcHJvbWlzZVxuICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgIH07XG5cbiAgICAgIHRoaXMuc29ja2V0Lm9uKCdlcnJvcicsIG9uU29ja2V0RXJyb3IpO1xuICAgICAgdGhpcy5zZXJ2aWNlLnNlbmRNZXNzYWdlKGNtZCk7XG4gICAgICByZXNvbHZlKCk7XG4gICAgfSlcbiAgICAuZmluYWxseSgoKSA9PiB7XG4gICAgICAvLyByZW1vdmUgdGhpcyBsaXN0ZW5lciwgc28gd2UgZG9uJ3QgZXhoYXVzdCB0aGUgc3lzdGVtXG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLnNvY2tldC5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBvblNvY2tldEVycm9yKTtcbiAgICAgIH0gY2F0Y2ggKGlnbikge31cbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHJlY2VpdmUgKGRhdGEpIHtcbiAgICBpZiAoIXRoaXMuaXNDb25uZWN0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBbJ1dJUk1lc3NhZ2VEYXRhS2V5JywgJ1dJUkRlc3RpbmF0aW9uS2V5JywgJ1dJUlNvY2tldERhdGFLZXknXSkge1xuICAgICAgaWYgKCFfLmlzVW5kZWZpbmVkKGRhdGFba2V5XSkpIHtcbiAgICAgICAgZGF0YVtrZXldID0gZGF0YVtrZXldLnRvU3RyaW5nKCd1dGY4Jyk7XG4gICAgICB9XG4gICAgfVxuICAgIGF3YWl0IHRoaXMubWVzc2FnZUhhbmRsZXIuaGFu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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc-client-simulator.js","names":["RpcClientSimulator","RpcClient","constructor","opts","Object","assign","shouldCheckForTarget","socketPath","host","port","messageProxy","socket","connect","log","debug","net","once","write","JSON","stringify","Socket","type","setNoDelay","setKeepAlive","on","isConnected","service","services","startWebInspectorService","udid","isSimulator","osVersion","platformVersion","verbose","logAllCommunication","verboseHexDump","logAllCommunicationHexDump","maxFrameLength","webInspectorMaxFrameLength","listenMessage","receive","bind","B","resolve","reject","err","error","message","disconnect","close","sendMessage","cmd","onSocketError","finally","removeListener","ign","data","key","_","isUndefined","toString","messageHandler","handleMessage"],"sources":["../../../lib/rpc/rpc-client-simulator.js"],"sourcesContent":["import log from '../logger';\nimport _ from 'lodash';\nimport B from 'bluebird';\nimport net from 'net';\nimport RpcClient from './rpc-client';\nimport { services } from 'appium-ios-device';\n\n\nexport default class RpcClientSimulator extends RpcClient {\n constructor (opts = {}) {\n super(Object.assign({\n shouldCheckForTarget: false,\n }, opts));\n\n const {\n socketPath,\n host = '::1',\n port,\n messageProxy,\n } = opts;\n\n // host/port config for TCP communication, socketPath for unix domain sockets\n this.host = host;\n this.port = port;\n this.messageProxy = messageProxy;\n\n this.socket = null;\n this.socketPath = socketPath;\n }\n\n async connect () {\n // create socket and handle its messages\n if (this.socketPath) {\n if (this.messageProxy) {\n // unix domain socket via proxy\n log.debug(`Connecting to remote debugger via proxy through unix domain socket: '${this.messageProxy}'`);\n this.socket = net.connect(this.messageProxy);\n\n // Forward the actual socketPath to the proxy\n this.socket.once('connect', () => {\n log.debug(`Forwarding the actual web inspector socket to the proxy: '${this.socketPath}'`);\n this.socket.write(JSON.stringify({\n socketPath: this.socketPath\n }));\n });\n\n } else {\n // unix domain socket\n log.debug(`Connecting to remote debugger through unix domain socket: '${this.socketPath}'`);\n this.socket = net.connect(this.socketPath);\n }\n } else {\n if (this.messageProxy) {\n // connect to the proxy instead of the remote debugger directly\n this.port = this.messageProxy;\n }\n\n // tcp socket\n log.debug(`Connecting to remote debugger ${this.messageProxy ? 'via proxy ' : ''}through TCP: ${this.host}:${this.port}`);\n this.socket = new net.Socket({type: 'tcp6'});\n this.socket.connect(this.port, this.host);\n }\n\n this.socket.setNoDelay(true);\n this.socket.setKeepAlive(true);\n this.socket.on('close', () => {\n if (this.isConnected) {\n log.debug('Debugger socket disconnected');\n }\n this.isConnected = false;\n this.socket = null;\n });\n this.socket.on('end', () => {\n this.isConnected = false;\n });\n this.service = await services.startWebInspectorService(this.udid, {\n socket: this.socket,\n isSimulator: true,\n osVersion: this.platformVersion,\n verbose: this.logAllCommunication,\n verboseHexDump: this.logAllCommunicationHexDump,\n maxFrameLength: this.webInspectorMaxFrameLength,\n });\n this.service.listenMessage(this.receive.bind(this));\n\n // connect the socket\n return await new B((resolve, reject) => {\n // only resolve this function when we are actually connected\n this.socket.on('connect', () => {\n log.debug(`Debugger socket connected`);\n this.isConnected = true;\n\n resolve();\n });\n this.socket.on('error', (err) => {\n if (this.isConnected) {\n log.error(`Socket error: ${err.message}`);\n this.isConnected = false;\n }\n\n // the connection was refused, so reject the connect promise\n reject(err);\n });\n });\n }\n\n async disconnect () {\n if (!this.isConnected) {\n return;\n }\n\n log.debug('Disconnecting from remote debugger');\n await super.disconnect();\n this.service.close();\n this.isConnected = false;\n }\n\n async sendMessage (cmd) {\n let onSocketError;\n\n return await new B((resolve, reject) => {\n // handle socket problems\n onSocketError = (err) => {\n log.error(`Socket error: ${err.message}`);\n\n // the connection was refused, so reject the connect promise\n reject(err);\n };\n\n this.socket.on('error', onSocketError);\n this.service.sendMessage(cmd);\n resolve();\n })\n .finally(() => {\n // remove this listener, so we don't exhaust the system\n try {\n this.socket.removeListener('error', onSocketError);\n } catch (ign) {}\n });\n }\n\n async receive (data) {\n if (!this.isConnected) {\n return;\n }\n\n if (!data) {\n return;\n }\n\n for (const key of ['WIRMessageDataKey', 'WIRDestinationKey', 'WIRSocketDataKey']) {\n if (!_.isUndefined(data[key])) {\n data[key] = data[key].toString('utf8');\n }\n }\n await this.messageHandler.handleMessage(data);\n }\n}\n"],"mappings":"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"}