appium-espresso-driver 2.8.3 → 2.8.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.
@@ -200,7 +200,5 @@ class ServerBuilder {
200
200
 
201
201
  exports.ServerBuilder = ServerBuilder;
202
202
  var _default = ServerBuilder;
203
- exports.default = _default;require('source-map-support').install();
204
-
205
-
206
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3NlcnZlci1idWlsZGVyLmpzIiwibmFtZXMiOlsiR1JBRExFX1ZFUlNJT05fS0VZIiwiR1JBRExFX1VSTF9QUkVGSVgiLCJHUkFETEVfVVJMX1RFTVBMQVRFIiwiR1JBRExFX01BWF9FUlJPUl9MT0dfTElORVMiLCJERVBFTkRFTkNZX1BST1BfTkFNRVMiLCJWRVJTSU9OX0tFWVMiLCJidWlsZFNlcnZlclNpZ25pbmdDb25maWciLCJhcmdzIiwiemlwQWxpZ24iLCJrZXlzdG9yZUZpbGUiLCJrZXlzdG9yZVBhc3N3b3JkIiwia2V5QWxpYXMiLCJrZXlQYXNzd29yZCIsIlNlcnZlckJ1aWxkZXIiLCJjb25zdHJ1Y3RvciIsImxvZyIsInNlcnZlclBhdGgiLCJzaG93R3JhZGxlTG9nIiwiYnVpbGRDb25maWd1cmF0aW9uIiwidmVyc2lvbkNvbmZpZ3VyYXRpb24iLCJ0b29sc1ZlcnNpb25zIiwic2VydmVyVmVyc2lvbnMiLCJfIiwicmVkdWNlIiwiYWNjIiwidmFsdWUiLCJrZXkiLCJpbmNsdWRlcyIsIndhcm4iLCJ0ZXN0QXBwUGFja2FnZSIsInNpZ25pbmdDb25maWciLCJwcm9wTmFtZSIsImJ1aWxkIiwic2V0R3JhZGxlV3JhcHBlclZlcnNpb24iLCJpbnNlcnRBZGRpdGlvbmFsRGVwZW5kZW5jaWVzIiwicnVuQnVpbGRQcm9jZXNzIiwiZ2V0Q29tbWFuZCIsImNtZCIsInN5c3RlbSIsImlzV2luZG93cyIsInBhdGgiLCJyZXNvbHZlIiwiYnVpbGRQcm9wZXJ0eSIsImZpbHRlciIsIm1hcCIsInNlcnZlclZlcnNpb24iLCJncmFkbGVQcm9wZXJ0eSIsImNoYXJBdCIsInRvVXBwZXJDYXNlIiwic2xpY2UiLCJCb29sZWFuIiwicHVzaCIsImtleXMiLCJ1cHBlckZpcnN0IiwiayIsInYiLCJ2ZXJzaW9uIiwicHJvcGVydGllc1BhdGgiLCJvcmlnaW5hbFByb3BlcnRpZXMiLCJmcyIsInJlYWRGaWxlIiwibmV3UHJvcGVydGllcyIsInVwZGF0ZUdyYWRsZURpc3RVcmwiLCJ3cml0ZUZpbGUiLCJwcm9wZXJ0aWVzQ29udGVudCIsInJlcGxhY2UiLCJSZWdFeHAiLCJlc2NhcGVSZWdFeHAiLCJoYXNBZGRpdGlvbmFsRGVwcyIsImlzQXJyYXkiLCJFcnJvciIsImlzRW1wdHkiLCJsaW5lIiwidHJpbSIsImRlcCIsInRlc3QiLCJidWlsZFBhdGgiLCJjb25maWd1cmF0aW9uIiwicHJlZml4IiwiZGVwcyIsImluZm8iLCJ1cGRhdGVEZXBlbmRlbmN5TGluZXMiLCJkZWJ1ZyIsImpvaW4iLCJncmFkbGVidWlsZCIsIlN1YlByb2Nlc3MiLCJjd2QiLCJzdGRpbyIsIndpbmRvd3NWZXJiYXRpbUFyZ3VtZW50cyIsImJ1aWxkTGFzdExpbmVzIiwibG9nTXNnIiwib24iLCJzdGFydHNXaXRoIiwiRU9MIiwibGVuZ3RoIiwic3RhcnQiLCJlcnIiLCJtc2ciLCJtZXNzYWdlIiwiZXJyb3JBbmRUaHJvdyJdLCJzb3VyY2VSb290IjoiLi4vLi4iLCJzb3VyY2VzIjpbImxpYi9zZXJ2ZXItYnVpbGRlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJQcm9jZXNzIH0gZnJvbSAndGVlbl9wcm9jZXNzJztcbmltcG9ydCB7IGZzLCBzeXN0ZW0gfSBmcm9tICdhcHBpdW0vc3VwcG9ydCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBFT0wgfSBmcm9tICdvcyc7XG5pbXBvcnQgeyB1cGRhdGVEZXBlbmRlbmN5TGluZXMgfSBmcm9tICcuL3V0aWxzJztcblxuY29uc3QgR1JBRExFX1ZFUlNJT05fS0VZID0gJ2dyYWRsZSc7XG5jb25zdCBHUkFETEVfVVJMX1BSRUZJWCA9ICdkaXN0cmlidXRpb25Vcmw9JztcbmNvbnN0IEdSQURMRV9VUkxfVEVNUExBVEUgPSAnaHR0cHNcXFxcOi8vc2VydmljZXMuZ3JhZGxlLm9yZy9kaXN0cmlidXRpb25zL2dyYWRsZS1WRVJTSU9OLWFsbC56aXAnO1xuY29uc3QgR1JBRExFX01BWF9FUlJPUl9MT0dfTElORVMgPSAxNTtcbmNvbnN0IERFUEVOREVOQ1lfUFJPUF9OQU1FUyA9IFsnYWRkaXRpb25hbEFwcERlcGVuZGVuY2llcycsICdhZGRpdGlvbmFsQW5kcm9pZFRlc3REZXBlbmRlbmNpZXMnXTtcblxuY29uc3QgVkVSU0lPTl9LRVlTID0gW1xuICBHUkFETEVfVkVSU0lPTl9LRVksXG4gICdhbmRyb2lkR3JhZGxlUGx1Z2luJyxcbiAgJ2NvbXBpbGVTZGsnLFxuICAnYnVpbGRUb29scycsXG4gICdtaW5TZGsnLFxuICAndGFyZ2V0U2RrJyxcbiAgJ2tvdGxpbicsXG4gICdzb3VyY2VDb21wYXRpYmlsaXR5JyxcbiAgJ3RhcmdldENvbXBhdGliaWxpdHknLFxuICAnanZtVGFyZ2V0JyxcbiAgJ2NvbXBvc2VWZXJzaW9uJyxcbiAgJ2Fubm90YXRpb25WZXJzaW9uJ1xuXTtcblxuZnVuY3Rpb24gYnVpbGRTZXJ2ZXJTaWduaW5nQ29uZmlnIChhcmdzKSB7XG4gIHJldHVybiB7XG4gICAgemlwQWxpZ246IHRydWUsXG4gICAga2V5c3RvcmVGaWxlOiBhcmdzLmtleXN0b3JlRmlsZSxcbiAgICBrZXlzdG9yZVBhc3N3b3JkOiBhcmdzLmtleXN0b3JlUGFzc3dvcmQsXG4gICAga2V5QWxpYXM6IGFyZ3Mua2V5QWxpYXMsXG4gICAga2V5UGFzc3dvcmQ6IGFyZ3Mua2V5UGFzc3dvcmRcbiAgfTtcbn1cblxuY2xhc3MgU2VydmVyQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yIChsb2csIGFyZ3MgPSB7fSkge1xuICAgIHRoaXMubG9nID0gbG9nO1xuICAgIHRoaXMuc2VydmVyUGF0aCA9IGFyZ3Muc2VydmVyUGF0aDtcbiAgICB0aGlzLnNob3dHcmFkbGVMb2cgPSBhcmdzLnNob3dHcmFkbGVMb2c7XG5cbiAgICBjb25zdCBidWlsZENvbmZpZ3VyYXRpb24gPSBhcmdzLmJ1aWxkQ29uZmlndXJhdGlvbiB8fCB7fTtcblxuICAgIGNvbnN0IHZlcnNpb25Db25maWd1cmF0aW9uID0gYnVpbGRDb25maWd1cmF0aW9uLnRvb2xzVmVyc2lvbnMgfHwge307XG4gICAgdGhpcy5zZXJ2ZXJWZXJzaW9ucyA9IF8ucmVkdWNlKHZlcnNpb25Db25maWd1cmF0aW9uLCAoYWNjLCB2YWx1ZSwga2V5KSA9PiB7XG4gICAgICBpZiAoVkVSU0lPTl9LRVlTLmluY2x1ZGVzKGtleSkpIHtcbiAgICAgICAgYWNjW2tleV0gPSB2YWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvZy53YXJuKGBHb3QgdW5leHBlY3RlZCAnJHtrZXl9JyBpbiB0b29sc1ZlcnNpb24gYmxvY2sgb2YgdGhlIGJ1aWxkIGNvbmZpZ3VyYXRpb25gKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30pO1xuXG4gICAgdGhpcy50ZXN0QXBwUGFja2FnZSA9IGFyZ3MudGVzdEFwcFBhY2thZ2U7XG4gICAgdGhpcy5zaWduaW5nQ29uZmlnID0gYXJncy5zaWduaW5nQ29uZmlnO1xuXG4gICAgZm9yIChjb25zdCBwcm9wTmFtZSBvZiBERVBFTkRFTkNZX1BST1BfTkFNRVMpIHtcbiAgICAgIHRoaXNbcHJvcE5hbWVdID0gYnVpbGRDb25maWd1cmF0aW9uW3Byb3BOYW1lXSB8fCBbXTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBidWlsZCAoKSB7XG4gICAgaWYgKHRoaXMuc2VydmVyVmVyc2lvbnNbR1JBRExFX1ZFUlNJT05fS0VZXSkge1xuICAgICAgYXdhaXQgdGhpcy5zZXRHcmFkbGVXcmFwcGVyVmVyc2lvbih0aGlzLnNlcnZlclZlcnNpb25zW0dSQURMRV9WRVJTSU9OX0tFWV0pO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMuaW5zZXJ0QWRkaXRpb25hbERlcGVuZGVuY2llcygpO1xuXG4gICAgYXdhaXQgdGhpcy5ydW5CdWlsZFByb2Nlc3MoKTtcbiAgfVxuXG4gIGdldENvbW1hbmQgKCkge1xuICAgIGNvbnN0IGNtZCA9IHN5c3RlbS5pc1dpbmRvd3MoKSA/ICdncmFkbGV3LmJhdCcgOiBwYXRoLnJlc29sdmUodGhpcy5zZXJ2ZXJQYXRoLCAnZ3JhZGxldycpO1xuICAgIGNvbnN0IGJ1aWxkUHJvcGVydHkgPSAoa2V5LCB2YWx1ZSkgPT4gdmFsdWUgPyBgLVAke2tleX09JHt2YWx1ZX1gIDogbnVsbDtcbiAgICBsZXQgYXJncyA9IFZFUlNJT05fS0VZU1xuICAgICAgLmZpbHRlcigoa2V5KSA9PiBrZXkgIT09IEdSQURMRV9WRVJTSU9OX0tFWSlcbiAgICAgIC5tYXAoKGtleSkgPT4ge1xuICAgICAgICBjb25zdCBzZXJ2ZXJWZXJzaW9uID0gdGhpcy5zZXJ2ZXJWZXJzaW9uc1trZXldO1xuICAgICAgICBjb25zdCBncmFkbGVQcm9wZXJ0eSA9IGBhcHBpdW0ke2tleS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX0ke2tleS5zbGljZSgxKX1gO1xuICAgICAgICByZXR1cm4gYnVpbGRQcm9wZXJ0eShncmFkbGVQcm9wZXJ0eSwgc2VydmVyVmVyc2lvbik7XG4gICAgICB9KVxuICAgICAgLmZpbHRlcihCb29sZWFuKTtcblxuICAgIGlmICh0aGlzLnNpZ25pbmdDb25maWcpIHtcbiAgICAgIGFyZ3MucHVzaCguLi4oXG4gICAgICAgIF8ua2V5cyh0aGlzLnNpZ25pbmdDb25maWcpXG4gICAgICAgIC5tYXAoKGtleSkgPT4gW2BhcHBpdW0ke18udXBwZXJGaXJzdChrZXkpfWAsIHRoaXMuc2lnbmluZ0NvbmZpZ1trZXldXSlcbiAgICAgICAgLm1hcCgoW2ssIHZdKSA9PiBidWlsZFByb3BlcnR5KGssIHYpKVxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICApKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50ZXN0QXBwUGFja2FnZSkge1xuICAgICAgYXJncy5wdXNoKGJ1aWxkUHJvcGVydHkoJ2FwcGl1bVRhcmdldFBhY2thZ2UnLCB0aGlzLnRlc3RBcHBQYWNrYWdlKSk7XG4gICAgfVxuICAgIGFyZ3MucHVzaCgnYXBwOmFzc2VtYmxlQW5kcm9pZFRlc3QnKTtcblxuICAgIHJldHVybiB7Y21kLCBhcmdzfTtcbiAgfVxuXG4gIGFzeW5jIHNldEdyYWRsZVdyYXBwZXJWZXJzaW9uICh2ZXJzaW9uKSB7XG4gICAgY29uc3QgcHJvcGVydGllc1BhdGggPSBwYXRoLnJlc29sdmUodGhpcy5zZXJ2ZXJQYXRoLCAnZ3JhZGxlJywgJ3dyYXBwZXInLCAnZ3JhZGxlLXdyYXBwZXIucHJvcGVydGllcycpO1xuICAgIGNvbnN0IG9yaWdpbmFsUHJvcGVydGllcyA9IGF3YWl0IGZzLnJlYWRGaWxlKHByb3BlcnRpZXNQYXRoLCAndXRmOCcpO1xuICAgIGNvbnN0IG5ld1Byb3BlcnRpZXMgPSB0aGlzLnVwZGF0ZUdyYWRsZURpc3RVcmwob3JpZ2luYWxQcm9wZXJ0aWVzLCB2ZXJzaW9uKTtcbiAgICBhd2FpdCBmcy53cml0ZUZpbGUocHJvcGVydGllc1BhdGgsIG5ld1Byb3BlcnRpZXMsICd1dGY4Jyk7XG4gIH1cblxuICB1cGRhdGVHcmFkbGVEaXN0VXJsIChwcm9wZXJ0aWVzQ29udGVudCwgdmVyc2lvbikge1xuICAgIHJldHVybiBwcm9wZXJ0aWVzQ29udGVudC5yZXBsYWNlKFxuICAgICAgbmV3IFJlZ0V4cChgXigke18uZXNjYXBlUmVnRXhwKEdSQURMRV9VUkxfUFJFRklYKX0pLiskYCwgJ2dtJyksXG4gICAgICBgJDEke0dSQURMRV9VUkxfVEVNUExBVEUucmVwbGFjZSgnVkVSU0lPTicsIHZlcnNpb24pfWBcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgaW5zZXJ0QWRkaXRpb25hbERlcGVuZGVuY2llcyAoKSB7XG4gICAgbGV0IGhhc0FkZGl0aW9uYWxEZXBzID0gZmFsc2U7XG4gICAgZm9yIChjb25zdCBwcm9wTmFtZSBvZiBERVBFTkRFTkNZX1BST1BfTkFNRVMpIHtcbiAgICAgIGlmICghXy5pc0FycmF5KHRoaXNbcHJvcE5hbWVdKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCcke3Byb3BOYW1lfScgbXVzdCBiZSBhbiBhcnJheWApO1xuICAgICAgfVxuICAgICAgaWYgKF8uaXNFbXB0eSh0aGlzW3Byb3BOYW1lXS5maWx0ZXIoKGxpbmUpID0+IF8udHJpbShsaW5lKSkpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGNvbnN0IGRlcCBvZiB0aGlzW3Byb3BOYW1lXSkge1xuICAgICAgICBpZiAoL1tcXHMnXFxcXCRdLy50ZXN0KGRlcCkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NpbmdsZSBxdW90ZXMsIGRvbGxhciBjaGFyYWN0ZXJzIGFuZCB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMnICtcbiAgICAgICAgICAgIGAgYXJlIGRpc2FsbG93ZWQgaW4gYWRkaXRpb25hbCBkZXBlbmRlbmNpZXM6ICR7ZGVwfWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBoYXNBZGRpdGlvbmFsRGVwcyA9IHRydWU7XG4gICAgfVxuICAgIGlmICghaGFzQWRkaXRpb25hbERlcHMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBidWlsZFBhdGggPSBwYXRoLnJlc29sdmUodGhpcy5zZXJ2ZXJQYXRoLCAnYXBwJywgJ2J1aWxkLmdyYWRsZS5rdHMnKTtcbiAgICBsZXQgY29uZmlndXJhdGlvbiA9IGF3YWl0IGZzLnJlYWRGaWxlKGJ1aWxkUGF0aCwgJ3V0ZjgnKTtcbiAgICBmb3IgKGNvbnN0IHByb3BOYW1lIG9mIERFUEVOREVOQ1lfUFJPUF9OQU1FUykge1xuICAgICAgY29uc3QgcHJlZml4ID0gcHJvcE5hbWUgPT09IERFUEVOREVOQ1lfUFJPUF9OQU1FU1swXVxuICAgICAgICA/ICdpbXBsZW1lbnRhdGlvbidcbiAgICAgICAgOiAnYW5kcm9pZFRlc3RJbXBsZW1lbnRhdGlvbic7XG4gICAgICBjb25zdCBkZXBzID0gdGhpc1twcm9wTmFtZV1cbiAgICAgICAgLmZpbHRlcigobGluZSkgPT4gXy50cmltKGxpbmUpKVxuICAgICAgICAubWFwKChsaW5lKSA9PiBgJHtwcmVmaXh9KFwiJHtsaW5lfVwiKWApO1xuICAgICAgaWYgKF8uaXNFbXB0eShkZXBzKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5sb2cuaW5mbyhgQWRkaW5nIHRoZSBmb2xsb3dpbmcgJHtwcm9wTmFtZX0gdG8gYnVpbGQuZ3JhZGxlLmt0czogJHtkZXBzfWApO1xuICAgICAgY29uZmlndXJhdGlvbiA9IHVwZGF0ZURlcGVuZGVuY3lMaW5lcyhjb25maWd1cmF0aW9uLCBwcm9wTmFtZSwgZGVwcyk7XG4gICAgfVxuICAgIGF3YWl0IGZzLndyaXRlRmlsZShidWlsZFBhdGgsIGNvbmZpZ3VyYXRpb24sICd1dGY4Jyk7XG4gIH1cblxuICBhc3luYyBydW5CdWlsZFByb2Nlc3MgKCkge1xuICAgIGNvbnN0IHtjbWQsIGFyZ3N9ID0gdGhpcy5nZXRDb21tYW5kKCk7XG4gICAgdGhpcy5sb2cuZGVidWcoYEJlZ2lubmluZyBidWlsZCB3aXRoIGNvbW1hbmQgJyR7Y21kfSAke2FyZ3Muam9pbignICcpfScgYCArXG4gICAgICBgaW4gZGlyZWN0b3J5ICcke3RoaXMuc2VydmVyUGF0aH0nYCk7XG4gICAgY29uc3QgZ3JhZGxlYnVpbGQgPSBuZXcgU3ViUHJvY2VzcyhjbWQsIGFyZ3MsIHtcbiAgICAgIGN3ZDogdGhpcy5zZXJ2ZXJQYXRoLFxuICAgICAgc3RkaW86IFsnaWdub3JlJywgJ3BpcGUnLCAncGlwZSddLFxuICAgICAgd2luZG93c1ZlcmJhdGltQXJndW1lbnRzOiB0cnVlXG4gICAgfSk7XG4gICAgbGV0IGJ1aWxkTGFzdExpbmVzID0gW107XG5cbiAgICBjb25zdCBsb2dNc2cgPSBgT3V0cHV0IGZyb20gR3JhZGxlICR7dGhpcy5zaG93R3JhZGxlTG9nID8gJ3dpbGwnIDogJ3dpbGwgbm90J30gYmUgbG9nZ2VkYDtcbiAgICB0aGlzLmxvZy5kZWJ1ZyhgJHtsb2dNc2d9LiBUbyBjaGFuZ2UgdGhpcywgdXNlICdzaG93R3JhZGxlTG9nJyBkZXNpcmVkIGNhcGFiaWxpdHlgKTtcbiAgICBncmFkbGVidWlsZC5vbignc3RyZWFtLWxpbmUnLCAobGluZSkgPT4ge1xuICAgICAgaWYgKHRoaXMuc2hvd0dyYWRsZUxvZykge1xuICAgICAgICBpZiAobGluZS5zdGFydHNXaXRoKCdbU1RERVJSXScpKSB7XG4gICAgICAgICAgdGhpcy5sb2cud2FybihgW0dyYWRsZV0gJHtsaW5lfWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubG9nLmluZm8oYFtHcmFkbGVdICR7bGluZX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYnVpbGRMYXN0TGluZXMucHVzaChgJHtFT0x9JHtsaW5lfWApO1xuICAgICAgaWYgKGJ1aWxkTGFzdExpbmVzLmxlbmd0aCA+IEdSQURMRV9NQVhfRVJST1JfTE9HX0xJTkVTKSB7XG4gICAgICAgIGJ1aWxkTGFzdExpbmVzID0gYnVpbGRMYXN0TGluZXMuc2xpY2UoLUdSQURMRV9NQVhfRVJST1JfTE9HX0xJTkVTKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBncmFkbGVidWlsZC5zdGFydCgpO1xuICAgICAgYXdhaXQgZ3JhZGxlYnVpbGQuam9pbigpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgbGV0IG1zZyA9IGBVbmFibGUgdG8gYnVpbGQgRXNwcmVzc28gc2VydmVyIC0gJHtlcnIubWVzc2FnZX1cXG5gICtcbiAgICAgICAgYEdyYWRsZSBlcnJvciBtZXNzYWdlOiR7RU9MfSR7YnVpbGRMYXN0TGluZXN9YDtcbiAgICAgIHRoaXMubG9nLmVycm9yQW5kVGhyb3cobXNnKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IHsgU2VydmVyQnVpbGRlciwgVkVSU0lPTl9LRVlTLCBHUkFETEVfVVJMX1RFTVBMQVRFLCBidWlsZFNlcnZlclNpZ25pbmdDb25maWcgfTtcbmV4cG9ydCBkZWZhdWx0IFNlcnZlckJ1aWxkZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFD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
203
+ exports.default = _default;
204
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJHUkFETEVfVkVSU0lPTl9LRVkiLCJHUkFETEVfVVJMX1BSRUZJWCIsIkdSQURMRV9VUkxfVEVNUExBVEUiLCJHUkFETEVfTUFYX0VSUk9SX0xPR19MSU5FUyIsIkRFUEVOREVOQ1lfUFJPUF9OQU1FUyIsIlZFUlNJT05fS0VZUyIsImJ1aWxkU2VydmVyU2lnbmluZ0NvbmZpZyIsImFyZ3MiLCJ6aXBBbGlnbiIsImtleXN0b3JlRmlsZSIsImtleXN0b3JlUGFzc3dvcmQiLCJrZXlBbGlhcyIsImtleVBhc3N3b3JkIiwiU2VydmVyQnVpbGRlciIsImNvbnN0cnVjdG9yIiwibG9nIiwic2VydmVyUGF0aCIsInNob3dHcmFkbGVMb2ciLCJidWlsZENvbmZpZ3VyYXRpb24iLCJ2ZXJzaW9uQ29uZmlndXJhdGlvbiIsInRvb2xzVmVyc2lvbnMiLCJzZXJ2ZXJWZXJzaW9ucyIsIl8iLCJyZWR1Y2UiLCJhY2MiLCJ2YWx1ZSIsImtleSIsImluY2x1ZGVzIiwid2FybiIsInRlc3RBcHBQYWNrYWdlIiwic2lnbmluZ0NvbmZpZyIsInByb3BOYW1lIiwiYnVpbGQiLCJzZXRHcmFkbGVXcmFwcGVyVmVyc2lvbiIsImluc2VydEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMiLCJydW5CdWlsZFByb2Nlc3MiLCJnZXRDb21tYW5kIiwiY21kIiwic3lzdGVtIiwiaXNXaW5kb3dzIiwicGF0aCIsInJlc29sdmUiLCJidWlsZFByb3BlcnR5IiwiZmlsdGVyIiwibWFwIiwic2VydmVyVmVyc2lvbiIsImdyYWRsZVByb3BlcnR5IiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJzbGljZSIsIkJvb2xlYW4iLCJwdXNoIiwia2V5cyIsInVwcGVyRmlyc3QiLCJrIiwidiIsInZlcnNpb24iLCJwcm9wZXJ0aWVzUGF0aCIsIm9yaWdpbmFsUHJvcGVydGllcyIsImZzIiwicmVhZEZpbGUiLCJuZXdQcm9wZXJ0aWVzIiwidXBkYXRlR3JhZGxlRGlzdFVybCIsIndyaXRlRmlsZSIsInByb3BlcnRpZXNDb250ZW50IiwicmVwbGFjZSIsIlJlZ0V4cCIsImVzY2FwZVJlZ0V4cCIsImhhc0FkZGl0aW9uYWxEZXBzIiwiaXNBcnJheSIsIkVycm9yIiwiaXNFbXB0eSIsImxpbmUiLCJ0cmltIiwiZGVwIiwidGVzdCIsImJ1aWxkUGF0aCIsImNvbmZpZ3VyYXRpb24iLCJwcmVmaXgiLCJkZXBzIiwiaW5mbyIsInVwZGF0ZURlcGVuZGVuY3lMaW5lcyIsImRlYnVnIiwiam9pbiIsImdyYWRsZWJ1aWxkIiwiU3ViUHJvY2VzcyIsImN3ZCIsInN0ZGlvIiwid2luZG93c1ZlcmJhdGltQXJndW1lbnRzIiwiYnVpbGRMYXN0TGluZXMiLCJsb2dNc2ciLCJvbiIsInN0YXJ0c1dpdGgiLCJFT0wiLCJsZW5ndGgiLCJzdGFydCIsImVyciIsIm1zZyIsIm1lc3NhZ2UiLCJlcnJvckFuZFRocm93Il0sInNvdXJjZXMiOlsiLi4vLi4vbGliL3NlcnZlci1idWlsZGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YlByb2Nlc3MgfSBmcm9tICd0ZWVuX3Byb2Nlc3MnO1xuaW1wb3J0IHsgZnMsIHN5c3RlbSB9IGZyb20gJ2FwcGl1bS9zdXBwb3J0JztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IEVPTCB9IGZyb20gJ29zJztcbmltcG9ydCB7IHVwZGF0ZURlcGVuZGVuY3lMaW5lcyB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBHUkFETEVfVkVSU0lPTl9LRVkgPSAnZ3JhZGxlJztcbmNvbnN0IEdSQURMRV9VUkxfUFJFRklYID0gJ2Rpc3RyaWJ1dGlvblVybD0nO1xuY29uc3QgR1JBRExFX1VSTF9URU1QTEFURSA9ICdodHRwc1xcXFw6Ly9zZXJ2aWNlcy5ncmFkbGUub3JnL2Rpc3RyaWJ1dGlvbnMvZ3JhZGxlLVZFUlNJT04tYWxsLnppcCc7XG5jb25zdCBHUkFETEVfTUFYX0VSUk9SX0xPR19MSU5FUyA9IDE1O1xuY29uc3QgREVQRU5ERU5DWV9QUk9QX05BTUVTID0gWydhZGRpdGlvbmFsQXBwRGVwZW5kZW5jaWVzJywgJ2FkZGl0aW9uYWxBbmRyb2lkVGVzdERlcGVuZGVuY2llcyddO1xuXG5jb25zdCBWRVJTSU9OX0tFWVMgPSBbXG4gIEdSQURMRV9WRVJTSU9OX0tFWSxcbiAgJ2FuZHJvaWRHcmFkbGVQbHVnaW4nLFxuICAnY29tcGlsZVNkaycsXG4gICdidWlsZFRvb2xzJyxcbiAgJ21pblNkaycsXG4gICd0YXJnZXRTZGsnLFxuICAna290bGluJyxcbiAgJ3NvdXJjZUNvbXBhdGliaWxpdHknLFxuICAndGFyZ2V0Q29tcGF0aWJpbGl0eScsXG4gICdqdm1UYXJnZXQnLFxuICAnY29tcG9zZVZlcnNpb24nLFxuICAnYW5ub3RhdGlvblZlcnNpb24nXG5dO1xuXG5mdW5jdGlvbiBidWlsZFNlcnZlclNpZ25pbmdDb25maWcgKGFyZ3MpIHtcbiAgcmV0dXJuIHtcbiAgICB6aXBBbGlnbjogdHJ1ZSxcbiAgICBrZXlzdG9yZUZpbGU6IGFyZ3Mua2V5c3RvcmVGaWxlLFxuICAgIGtleXN0b3JlUGFzc3dvcmQ6IGFyZ3Mua2V5c3RvcmVQYXNzd29yZCxcbiAgICBrZXlBbGlhczogYXJncy5rZXlBbGlhcyxcbiAgICBrZXlQYXNzd29yZDogYXJncy5rZXlQYXNzd29yZFxuICB9O1xufVxuXG5jbGFzcyBTZXJ2ZXJCdWlsZGVyIHtcbiAgY29uc3RydWN0b3IgKGxvZywgYXJncyA9IHt9KSB7XG4gICAgdGhpcy5sb2cgPSBsb2c7XG4gICAgdGhpcy5zZXJ2ZXJQYXRoID0gYXJncy5zZXJ2ZXJQYXRoO1xuICAgIHRoaXMuc2hvd0dyYWRsZUxvZyA9IGFyZ3Muc2hvd0dyYWRsZUxvZztcblxuICAgIGNvbnN0IGJ1aWxkQ29uZmlndXJhdGlvbiA9IGFyZ3MuYnVpbGRDb25maWd1cmF0aW9uIHx8IHt9O1xuXG4gICAgY29uc3QgdmVyc2lvbkNvbmZpZ3VyYXRpb24gPSBidWlsZENvbmZpZ3VyYXRpb24udG9vbHNWZXJzaW9ucyB8fCB7fTtcbiAgICB0aGlzLnNlcnZlclZlcnNpb25zID0gXy5yZWR1Y2UodmVyc2lvbkNvbmZpZ3VyYXRpb24sIChhY2MsIHZhbHVlLCBrZXkpID0+IHtcbiAgICAgIGlmIChWRVJTSU9OX0tFWVMuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICBhY2Nba2V5XSA9IHZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9nLndhcm4oYEdvdCB1bmV4cGVjdGVkICcke2tleX0nIGluIHRvb2xzVmVyc2lvbiBibG9jayBvZiB0aGUgYnVpbGQgY29uZmlndXJhdGlvbmApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSk7XG5cbiAgICB0aGlzLnRlc3RBcHBQYWNrYWdlID0gYXJncy50ZXN0QXBwUGFja2FnZTtcbiAgICB0aGlzLnNpZ25pbmdDb25maWcgPSBhcmdzLnNpZ25pbmdDb25maWc7XG5cbiAgICBmb3IgKGNvbnN0IHByb3BOYW1lIG9mIERFUEVOREVOQ1lfUFJPUF9OQU1FUykge1xuICAgICAgdGhpc1twcm9wTmFtZV0gPSBidWlsZENvbmZpZ3VyYXRpb25bcHJvcE5hbWVdIHx8IFtdO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGJ1aWxkICgpIHtcbiAgICBpZiAodGhpcy5zZXJ2ZXJWZXJzaW9uc1tHUkFETEVfVkVSU0lPTl9LRVldKSB7XG4gICAgICBhd2FpdCB0aGlzLnNldEdyYWRsZVdyYXBwZXJWZXJzaW9uKHRoaXMuc2VydmVyVmVyc2lvbnNbR1JBRExFX1ZFUlNJT05fS0VZXSk7XG4gICAgfVxuXG4gICAgYXdhaXQgdGhpcy5pbnNlcnRBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKCk7XG5cbiAgICBhd2FpdCB0aGlzLnJ1bkJ1aWxkUHJvY2VzcygpO1xuICB9XG5cbiAgZ2V0Q29tbWFuZCAoKSB7XG4gICAgY29uc3QgY21kID0gc3lzdGVtLmlzV2luZG93cygpID8gJ2dyYWRsZXcuYmF0JyA6IHBhdGgucmVzb2x2ZSh0aGlzLnNlcnZlclBhdGgsICdncmFkbGV3Jyk7XG4gICAgY29uc3QgYnVpbGRQcm9wZXJ0eSA9IChrZXksIHZhbHVlKSA9PiB2YWx1ZSA/IGAtUCR7a2V5fT0ke3ZhbHVlfWAgOiBudWxsO1xuICAgIGxldCBhcmdzID0gVkVSU0lPTl9LRVlTXG4gICAgICAuZmlsdGVyKChrZXkpID0+IGtleSAhPT0gR1JBRExFX1ZFUlNJT05fS0VZKVxuICAgICAgLm1hcCgoa2V5KSA9PiB7XG4gICAgICAgIGNvbnN0IHNlcnZlclZlcnNpb24gPSB0aGlzLnNlcnZlclZlcnNpb25zW2tleV07XG4gICAgICAgIGNvbnN0IGdyYWRsZVByb3BlcnR5ID0gYGFwcGl1bSR7a2V5LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpfSR7a2V5LnNsaWNlKDEpfWA7XG4gICAgICAgIHJldHVybiBidWlsZFByb3BlcnR5KGdyYWRsZVByb3BlcnR5LCBzZXJ2ZXJWZXJzaW9uKTtcbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pO1xuXG4gICAgaWYgKHRoaXMuc2lnbmluZ0NvbmZpZykge1xuICAgICAgYXJncy5wdXNoKC4uLihcbiAgICAgICAgXy5rZXlzKHRoaXMuc2lnbmluZ0NvbmZpZylcbiAgICAgICAgLm1hcCgoa2V5KSA9PiBbYGFwcGl1bSR7Xy51cHBlckZpcnN0KGtleSl9YCwgdGhpcy5zaWduaW5nQ29uZmlnW2tleV1dKVxuICAgICAgICAubWFwKChbaywgdl0pID0+IGJ1aWxkUHJvcGVydHkoaywgdikpXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnRlc3RBcHBQYWNrYWdlKSB7XG4gICAgICBhcmdzLnB1c2goYnVpbGRQcm9wZXJ0eSgnYXBwaXVtVGFyZ2V0UGFja2FnZScsIHRoaXMudGVzdEFwcFBhY2thZ2UpKTtcbiAgICB9XG4gICAgYXJncy5wdXNoKCdhcHA6YXNzZW1ibGVBbmRyb2lkVGVzdCcpO1xuXG4gICAgcmV0dXJuIHtjbWQsIGFyZ3N9O1xuICB9XG5cbiAgYXN5bmMgc2V0R3JhZGxlV3JhcHBlclZlcnNpb24gKHZlcnNpb24pIHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzUGF0aCA9IHBhdGgucmVzb2x2ZSh0aGlzLnNlcnZlclBhdGgsICdncmFkbGUnLCAnd3JhcHBlcicsICdncmFkbGUtd3JhcHBlci5wcm9wZXJ0aWVzJyk7XG4gICAgY29uc3Qgb3JpZ2luYWxQcm9wZXJ0aWVzID0gYXdhaXQgZnMucmVhZEZpbGUocHJvcGVydGllc1BhdGgsICd1dGY4Jyk7XG4gICAgY29uc3QgbmV3UHJvcGVydGllcyA9IHRoaXMudXBkYXRlR3JhZGxlRGlzdFVybChvcmlnaW5hbFByb3BlcnRpZXMsIHZlcnNpb24pO1xuICAgIGF3YWl0IGZzLndyaXRlRmlsZShwcm9wZXJ0aWVzUGF0aCwgbmV3UHJvcGVydGllcywgJ3V0ZjgnKTtcbiAgfVxuXG4gIHVwZGF0ZUdyYWRsZURpc3RVcmwgKHByb3BlcnRpZXNDb250ZW50LCB2ZXJzaW9uKSB7XG4gICAgcmV0dXJuIHByb3BlcnRpZXNDb250ZW50LnJlcGxhY2UoXG4gICAgICBuZXcgUmVnRXhwKGBeKCR7Xy5lc2NhcGVSZWdFeHAoR1JBRExFX1VSTF9QUkVGSVgpfSkuKyRgLCAnZ20nKSxcbiAgICAgIGAkMSR7R1JBRExFX1VSTF9URU1QTEFURS5yZXBsYWNlKCdWRVJTSU9OJywgdmVyc2lvbil9YFxuICAgICk7XG4gIH1cblxuICBhc3luYyBpbnNlcnRBZGRpdGlvbmFsRGVwZW5kZW5jaWVzICgpIHtcbiAgICBsZXQgaGFzQWRkaXRpb25hbERlcHMgPSBmYWxzZTtcbiAgICBmb3IgKGNvbnN0IHByb3BOYW1lIG9mIERFUEVOREVOQ1lfUFJPUF9OQU1FUykge1xuICAgICAgaWYgKCFfLmlzQXJyYXkodGhpc1twcm9wTmFtZV0pKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJyR7cHJvcE5hbWV9JyBtdXN0IGJlIGFuIGFycmF5YCk7XG4gICAgICB9XG4gICAgICBpZiAoXy5pc0VtcHR5KHRoaXNbcHJvcE5hbWVdLmZpbHRlcigobGluZSkgPT4gXy50cmltKGxpbmUpKSkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGZvciAoY29uc3QgZGVwIG9mIHRoaXNbcHJvcE5hbWVdKSB7XG4gICAgICAgIGlmICgvW1xccydcXFxcJF0vLnRlc3QoZGVwKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignU2luZ2xlIHF1b3RlcywgZG9sbGFyIGNoYXJhY3RlcnMgYW5kIHdoaXRlc3BhY2UgY2hhcmFjdGVycycgK1xuICAgICAgICAgICAgYCBhcmUgZGlzYWxsb3dlZCBpbiBhZGRpdGlvbmFsIGRlcGVuZGVuY2llczogJHtkZXB9YCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGhhc0FkZGl0aW9uYWxEZXBzID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKCFoYXNBZGRpdGlvbmFsRGVwcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGJ1aWxkUGF0aCA9IHBhdGgucmVzb2x2ZSh0aGlzLnNlcnZlclBhdGgsICdhcHAnLCAnYnVpbGQuZ3JhZGxlLmt0cycpO1xuICAgIGxldCBjb25maWd1cmF0aW9uID0gYXdhaXQgZnMucmVhZEZpbGUoYnVpbGRQYXRoLCAndXRmOCcpO1xuICAgIGZvciAoY29uc3QgcHJvcE5hbWUgb2YgREVQRU5ERU5DWV9QUk9QX05BTUVTKSB7XG4gICAgICBjb25zdCBwcmVmaXggPSBwcm9wTmFtZSA9PT0gREVQRU5ERU5DWV9QUk9QX05BTUVTWzBdXG4gICAgICAgID8gJ2ltcGxlbWVudGF0aW9uJ1xuICAgICAgICA6ICdhbmRyb2lkVGVzdEltcGxlbWVudGF0aW9uJztcbiAgICAgIGNvbnN0IGRlcHMgPSB0aGlzW3Byb3BOYW1lXVxuICAgICAgICAuZmlsdGVyKChsaW5lKSA9PiBfLnRyaW0obGluZSkpXG4gICAgICAgIC5tYXAoKGxpbmUpID0+IGAke3ByZWZpeH0oXCIke2xpbmV9XCIpYCk7XG4gICAgICBpZiAoXy5pc0VtcHR5KGRlcHMpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmxvZy5pbmZvKGBBZGRpbmcgdGhlIGZvbGxvd2luZyAke3Byb3BOYW1lfSB0byBidWlsZC5ncmFkbGUua3RzOiAke2RlcHN9YCk7XG4gICAgICBjb25maWd1cmF0aW9uID0gdXBkYXRlRGVwZW5kZW5jeUxpbmVzKGNvbmZpZ3VyYXRpb24sIHByb3BOYW1lLCBkZXBzKTtcbiAgICB9XG4gICAgYXdhaXQgZnMud3JpdGVGaWxlKGJ1aWxkUGF0aCwgY29uZmlndXJhdGlvbiwgJ3V0ZjgnKTtcbiAgfVxuXG4gIGFzeW5jIHJ1bkJ1aWxkUHJvY2VzcyAoKSB7XG4gICAgY29uc3Qge2NtZCwgYXJnc30gPSB0aGlzLmdldENvbW1hbmQoKTtcbiAgICB0aGlzLmxvZy5kZWJ1ZyhgQmVnaW5uaW5nIGJ1aWxkIHdpdGggY29tbWFuZCAnJHtjbWR9ICR7YXJncy5qb2luKCcgJyl9JyBgICtcbiAgICAgIGBpbiBkaXJlY3RvcnkgJyR7dGhpcy5zZXJ2ZXJQYXRofSdgKTtcbiAgICBjb25zdCBncmFkbGVidWlsZCA9IG5ldyBTdWJQcm9jZXNzKGNtZCwgYXJncywge1xuICAgICAgY3dkOiB0aGlzLnNlcnZlclBhdGgsXG4gICAgICBzdGRpbzogWydpZ25vcmUnLCAncGlwZScsICdwaXBlJ10sXG4gICAgICB3aW5kb3dzVmVyYmF0aW1Bcmd1bWVudHM6IHRydWVcbiAgICB9KTtcbiAgICBsZXQgYnVpbGRMYXN0TGluZXMgPSBbXTtcblxuICAgIGNvbnN0IGxvZ01zZyA9IGBPdXRwdXQgZnJvbSBHcmFkbGUgJHt0aGlzLnNob3dHcmFkbGVMb2cgPyAnd2lsbCcgOiAnd2lsbCBub3QnfSBiZSBsb2dnZWRgO1xuICAgIHRoaXMubG9nLmRlYnVnKGAke2xvZ01zZ30uIFRvIGNoYW5nZSB0aGlzLCB1c2UgJ3Nob3dHcmFkbGVMb2cnIGRlc2lyZWQgY2FwYWJpbGl0eWApO1xuICAgIGdyYWRsZWJ1aWxkLm9uKCdzdHJlYW0tbGluZScsIChsaW5lKSA9PiB7XG4gICAgICBpZiAodGhpcy5zaG93R3JhZGxlTG9nKSB7XG4gICAgICAgIGlmIChsaW5lLnN0YXJ0c1dpdGgoJ1tTVERFUlJdJykpIHtcbiAgICAgICAgICB0aGlzLmxvZy53YXJuKGBbR3JhZGxlXSAke2xpbmV9YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5sb2cuaW5mbyhgW0dyYWRsZV0gJHtsaW5lfWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBidWlsZExhc3RMaW5lcy5wdXNoKGAke0VPTH0ke2xpbmV9YCk7XG4gICAgICBpZiAoYnVpbGRMYXN0TGluZXMubGVuZ3RoID4gR1JBRExFX01BWF9FUlJPUl9MT0dfTElORVMpIHtcbiAgICAgICAgYnVpbGRMYXN0TGluZXMgPSBidWlsZExhc3RMaW5lcy5zbGljZSgtR1JBRExFX01BWF9FUlJPUl9MT0dfTElORVMpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGdyYWRsZWJ1aWxkLnN0YXJ0KCk7XG4gICAgICBhd2FpdCBncmFkbGVidWlsZC5qb2luKCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBsZXQgbXNnID0gYFVuYWJsZSB0byBidWlsZCBFc3ByZXNzbyBzZXJ2ZXIgLSAke2Vyci5tZXNzYWdlfVxcbmAgK1xuICAgICAgICBgR3JhZGxlIGVycm9yIG1lc3NhZ2U6JHtFT0x9JHtidWlsZExhc3RMaW5lc31gO1xuICAgICAgdGhpcy5sb2cuZXJyb3JBbmRUaHJvdyhtc2cpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgeyBTZXJ2ZXJCdWlsZGVyLCBWRVJTSU9OX0tFWVMsIEdSQURMRV9VUkxfVEVNUExBVEUsIGJ1aWxkU2VydmVyU2lnbmluZ0NvbmZpZyB9O1xuZXhwb3J0IGRlZmF1bHQgU2VydmVyQnVpbGRlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBLE1BQU1BLGtCQUFrQixHQUFHLFFBQTNCO0FBQ0EsTUFB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
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.copyGradleProjectRecursively = copyGradleProjectRecursively;
9
+ exports.getPackageInfo = getPackageInfo;
10
+ exports.getPackageInfoSync = getPackageInfoSync;
9
11
  exports.qualifyActivityName = qualifyActivityName;
10
12
  exports.requireOptions = requireOptions;
11
13
  exports.updateDependencyLines = updateDependencyLines;
@@ -18,6 +20,11 @@ var _lodash = _interopRequireDefault(require("lodash"));
18
20
 
19
21
  var _path = _interopRequireDefault(require("path"));
20
22
 
23
+ var _fs2 = _interopRequireDefault(require("fs"));
24
+
25
+ let PACKAGE_INFO = null;
26
+ const MODULE_NAME = 'appium-espresso-driver';
27
+
21
28
  function qualifyActivityName(activityName, packageName) {
22
29
  if ([activityName, packageName].some(name => !name || _lodash.default.includes(name, '*'))) {
23
30
  return activityName;
@@ -79,7 +86,71 @@ function updateDependencyLines(originalContent, dependencyPlaceholder, dependenc
79
86
 
80
87
  configurationLines.splice(placeholderIndex + 1, 0, ...dependencyLines.map(line => `${' '.repeat(indentLen)}${line}`));
81
88
  return configurationLines.join('\n');
82
- }require('source-map-support').install();
89
+ }
90
+
91
+ async function getPackageInfo() {
92
+ if (PACKAGE_INFO) {
93
+ return PACKAGE_INFO;
94
+ }
95
+
96
+ let currentDir = _path.default.dirname(_path.default.resolve(__filename));
83
97
 
98
+ let isAtFsRoot = false;
84
99
 
85
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3V0aWxzLmpzIiwibmFtZXMiOlsicXVhbGlmeUFjdGl2aXR5TmFtZSIsImFjdGl2aXR5TmFtZSIsInBhY2thZ2VOYW1lIiwic29tZSIsIm5hbWUiLCJfIiwiaW5jbHVkZXMiLCJkb3RQb3MiLCJpbmRleE9mIiwiY29weUdyYWRsZVByb2plY3RSZWN1cnNpdmVseSIsInNvdXJjZUJhc2VEaXIiLCJ0YXJnZXRCYXNlRGlyIiwiZnMiLCJ3YWxrRGlyIiwiaXRlbVBhdGgiLCJpc0RpcmVjdG9yeSIsInJlbGF0aXZlUGF0aCIsInBhdGgiLCJyZWxhdGl2ZSIsInRhcmdldFBhdGgiLCJyZXNvbHZlIiwiaXNJbkdyYWRsZUJ1aWxkRGlyIiwic2VwIiwibWtkaXJwIiwiY29weUZpbGUiLCJyZXF1aXJlT3B0aW9ucyIsIm9wdHMiLCJyZXF1aXJlZEtleXMiLCJtaXNzaW5nS2V5cyIsImRpZmZlcmVuY2UiLCJrZXlzIiwiaXNFbXB0eSIsIkVycm9yIiwidXBkYXRlRGVwZW5kZW5jeUxpbmVzIiwib3JpZ2luYWxDb250ZW50IiwiZGVwZW5kZW5jeVBsYWNlaG9sZGVyIiwiZGVwZW5kZW5jeUxpbmVzIiwiY29uZmlndXJhdGlvbkxpbmVzIiwic3BsaXQiLCJzZWFyY2hSZSIsIlJlZ0V4cCIsImVzY2FwZVJlZ0V4cCIsInBsYWNlaG9sZGVySW5kZXgiLCJmaW5kSW5kZXgiLCJsaW5lIiwidGVzdCIsInBsYWNlaG9sZGVyTGluZSIsImluZGVudExlbiIsImxlbmd0aCIsInRyaW1TdGFydCIsInNwbGljZSIsIm1hcCIsInJlcGVhdCIsImpvaW4iXSwic291cmNlUm9vdCI6Ii4uLy4uIiwic291cmNlcyI6WyJsaWIvdXRpbHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZnMsIG1rZGlycCB9IGZyb20gJ2FwcGl1bS9zdXBwb3J0JztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcblxuLyoqXG4gKiBodHRwczovL2FuZHJvaWQuZ29vZ2xlc291cmNlLmNvbS9wbGF0Zm9ybS9mcmFtZXdvcmtzL2Jhc2UvKy9tYXN0ZXIvdG9vbHMvYWFwdC9SZXNvdXJjZS5jcHAjNzU1XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGFjdGl2aXR5TmFtZVxuICogQHBhcmFtIHtzdHJpbmd9IHBhY2thZ2VOYW1lXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgcXVhbGlmaWVkIGFjdGl2aXR5IG5hbWVcbiAqL1xuZnVuY3Rpb24gcXVhbGlmeUFjdGl2aXR5TmFtZSAoYWN0aXZpdHlOYW1lLCBwYWNrYWdlTmFtZSkge1xuICAvLyBpZiBlaXRoZXIgYWN0aXZpdHkgb3IgcGFja2FnZSBuYW1lIGlzIG5vdCBzZXRcbiAgLy8gb3IgYW55IG9mIHRoZXNlIGNvbnRhaW4gd2lsZGNhcmRzIHRoZW4gdGhlcmUgaXNcbiAgLy8gbm8gcG9pbnQgaW4gcXVhbGlmeWluZyB0aGUgYWN0aXZpdHkgbmFtZVxuICBpZiAoW2FjdGl2aXR5TmFtZSwgcGFja2FnZU5hbWVdLnNvbWUoKG5hbWUpID0+ICFuYW1lIHx8IF8uaW5jbHVkZXMobmFtZSwgJyonKSkpIHtcbiAgICByZXR1cm4gYWN0aXZpdHlOYW1lO1xuICB9XG5cbiAgY29uc3QgZG90UG9zID0gYWN0aXZpdHlOYW1lLmluZGV4T2YoJy4nKTtcbiAgaWYgKGRvdFBvcyA+IDApIHtcbiAgICByZXR1cm4gYWN0aXZpdHlOYW1lO1xuICB9XG4gIHJldHVybiBgJHtwYWNrYWdlTmFtZX0ke2RvdFBvcyA9PT0gMCA/ICcnIDogJy4nfSR7YWN0aXZpdHlOYW1lfWA7XG59XG5cbi8qKlxuICogUmVjdXJzaXZlbHkgY29weSBhbGwgZmlsZXMgZXhjZXB0IGJ1aWxkIGRpcmVjdG9yaWVzIGNvbnRlbnRzXG4gKiBAcGFyYW0gc291cmNlQmFzZURpciB7c3RyaW5nfSBkaXJlY3RvcnkgdG8gY29weSBmaWxlcyBmcm9tXG4gKiBAcGFyYW0gdGFyZ2V0QmFzZURpciB7c3RyaW5nfSBkaXJlY3RvcnkgdG8gY29weSBmaWxlcyB0b1xuICovXG5hc3luYyBmdW5jdGlvbiBjb3B5R3JhZGxlUHJvamVjdFJlY3Vyc2l2ZWx5IChzb3VyY2VCYXNlRGlyLCB0YXJnZXRCYXNlRGlyKSB7XG4gIGF3YWl0IGZzLndhbGtEaXIoc291cmNlQmFzZURpciwgdHJ1ZSwgYXN5bmMgKGl0ZW1QYXRoLCBpc0RpcmVjdG9yeSkgPT4ge1xuICAgIGNvbnN0IHJlbGF0aXZlUGF0aCA9IHBhdGgucmVsYXRpdmUoc291cmNlQmFzZURpciwgaXRlbVBhdGgpO1xuICAgIGNvbnN0IHRhcmdldFBhdGggPSBwYXRoLnJlc29sdmUodGFyZ2V0QmFzZURpciwgcmVsYXRpdmVQYXRoKTtcblxuICAgIGNvbnN0IGlzSW5HcmFkbGVCdWlsZERpciA9IGAke3BhdGguc2VwfSR7aXRlbVBhdGh9YC5pbmNsdWRlcyhgJHtwYXRoLnNlcH1idWlsZCR7cGF0aC5zZXB9YCk7XG4gICAgaWYgKGlzSW5HcmFkbGVCdWlsZERpcikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChpc0RpcmVjdG9yeSkge1xuICAgICAgYXdhaXQgbWtkaXJwKHRhcmdldFBhdGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCBmcy5jb3B5RmlsZShpdGVtUGF0aCwgdGFyZ2V0UGF0aCk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHJlcXVpcmVPcHRpb25zIChvcHRzLCByZXF1aXJlZEtleXMgPSBbXSkge1xuICBjb25zdCBtaXNzaW5nS2V5cyA9IF8uZGlmZmVyZW5jZShyZXF1aXJlZEtleXMsIF8ua2V5cyhvcHRzKSk7XG4gIGlmICghXy5pc0VtcHR5KG1pc3NpbmdLZXlzKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVGhlIGZvbGxvd2luZyBvcHRpb25zIGFyZSByZXF1aXJlZDogJHttaXNzaW5nS2V5c31gKTtcbiAgfVxuICByZXR1cm4gb3B0cztcbn1cblxuZnVuY3Rpb24gdXBkYXRlRGVwZW5kZW5jeUxpbmVzIChvcmlnaW5hbENvbnRlbnQsIGRlcGVuZGVuY3lQbGFjZWhvbGRlciwgZGVwZW5kZW5jeUxpbmVzKSB7XG4gIGNvbnN0IGNvbmZpZ3VyYXRpb25MaW5lcyA9IG9yaWdpbmFsQ29udGVudC5zcGxpdCgnXFxuJyk7XG4gIGNvbnN0IHNlYXJjaFJlID0gbmV3IFJlZ0V4cChgXlxcXFxzKi8vXFxcXHMqXFxcXGIke18uZXNjYXBlUmVnRXhwKGRlcGVuZGVuY3lQbGFjZWhvbGRlcil9XFxcXGJgLCAnbScpO1xuICBjb25zdCBwbGFjZWhvbGRlckluZGV4ID0gY29uZmlndXJhdGlvbkxpbmVzLmZpbmRJbmRleCgobGluZSkgPT4gc2VhcmNoUmUudGVzdChsaW5lKSk7XG4gIGlmIChwbGFjZWhvbGRlckluZGV4IDwgMCkge1xuICAgIHJldHVybiBvcmlnaW5hbENvbnRlbnQ7XG4gIH1cblxuICBjb25zdCBwbGFjZWhvbGRlckxpbmUgPSBjb25maWd1cmF0aW9uTGluZXNbcGxhY2Vob2xkZXJJbmRleF07XG4gIGNvbnN0IGluZGVudExlbiA9IHBsYWNlaG9sZGVyTGluZS5sZW5ndGggLSBfLnRyaW1TdGFydChwbGFjZWhvbGRlckxpbmUpLmxlbmd0aDtcbiAgY29uZmlndXJhdGlvbkxpbmVzLnNwbGljZShwbGFjZWhvbGRlckluZGV4ICsgMSwgMCwgLi4uKGRlcGVuZGVuY3lMaW5lc1xuICAgIC5tYXAoKGxpbmUpID0+IGAkeycgJy5yZXBlYXQoaW5kZW50TGVuKX0ke2xpbmV9YCkpKTtcbiAgcmV0dXJuIGNvbmZpZ3VyYXRpb25MaW5lcy5qb2luKCdcXG4nKTtcbn1cblxuZXhwb3J0IHsgcXVhbGlmeUFjdGl2aXR5TmFtZSwgY29weUdyYWRsZVByb2plY3RSZWN1cnNpdmVseSwgcmVxdWlyZU9wdGlvbnMsIHVwZGF0ZURlcGVuZGVuY3lMaW5lcyB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQVNBLFNBQVNBLG1CQUFULENBQThCQyxZQUE5QixFQUE0Q0MsV0FB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
100
+ while (!isAtFsRoot) {
101
+ const manifestPath = _path.default.join(currentDir, 'package.json');
102
+
103
+ try {
104
+ if (await _support.fs.exists(manifestPath)) {
105
+ const manifestPayload = JSON.parse(await _support.fs.readFile(manifestPath, 'utf8'));
106
+
107
+ if (manifestPayload.name === MODULE_NAME) {
108
+ PACKAGE_INFO = {
109
+ manifestPath,
110
+ manifestPayload
111
+ };
112
+ return PACKAGE_INFO;
113
+ }
114
+ }
115
+ } catch (ign) {}
116
+
117
+ currentDir = _path.default.dirname(currentDir);
118
+ isAtFsRoot = currentDir.length <= _path.default.dirname(currentDir).length;
119
+ }
120
+
121
+ throw new Error(`Cannot find the root folder of the ${MODULE_NAME} Node.js module`);
122
+ }
123
+
124
+ function getPackageInfoSync() {
125
+ if (PACKAGE_INFO) {
126
+ return PACKAGE_INFO;
127
+ }
128
+
129
+ let currentDir = _path.default.dirname(_path.default.resolve(__filename));
130
+
131
+ let isAtFsRoot = false;
132
+
133
+ while (!isAtFsRoot) {
134
+ const manifestPath = _path.default.join(currentDir, 'package.json');
135
+
136
+ try {
137
+ if (_fs2.default.existsSync(manifestPath)) {
138
+ const manifestPayload = JSON.parse(_fs2.default.readFileSync(manifestPath, 'utf8'));
139
+
140
+ if (manifestPayload.name === MODULE_NAME) {
141
+ PACKAGE_INFO = {
142
+ manifestPath,
143
+ manifestPayload
144
+ };
145
+ return PACKAGE_INFO;
146
+ }
147
+ }
148
+ } catch (ign) {}
149
+
150
+ currentDir = _path.default.dirname(currentDir);
151
+ isAtFsRoot = currentDir.length <= _path.default.dirname(currentDir).length;
152
+ }
153
+
154
+ throw new Error(`Cannot find the root folder of the ${MODULE_NAME} Node.js module`);
155
+ }
156
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQQUNLQUdFX0lORk8iLCJNT0RVTEVfTkFNRSIsInF1YWxpZnlBY3Rpdml0eU5hbWUiLCJhY3Rpdml0eU5hbWUiLCJwYWNrYWdlTmFtZSIsInNvbWUiLCJuYW1lIiwiXyIsImluY2x1ZGVzIiwiZG90UG9zIiwiaW5kZXhPZiIsImNvcHlHcmFkbGVQcm9qZWN0UmVjdXJzaXZlbHkiLCJzb3VyY2VCYXNlRGlyIiwidGFyZ2V0QmFzZURpciIsImZzIiwid2Fsa0RpciIsIml0ZW1QYXRoIiwiaXNEaXJlY3RvcnkiLCJyZWxhdGl2ZVBhdGgiLCJwYXRoIiwicmVsYXRpdmUiLCJ0YXJnZXRQYXRoIiwicmVzb2x2ZSIsImlzSW5HcmFkbGVCdWlsZERpciIsInNlcCIsIm1rZGlycCIsImNvcHlGaWxlIiwicmVxdWlyZU9wdGlvbnMiLCJvcHRzIiwicmVxdWlyZWRLZXlzIiwibWlzc2luZ0tleXMiLCJkaWZmZXJlbmNlIiwia2V5cyIsImlzRW1wdHkiLCJFcnJvciIsInVwZGF0ZURlcGVuZGVuY3lMaW5lcyIsIm9yaWdpbmFsQ29udGVudCIsImRlcGVuZGVuY3lQbGFjZWhvbGRlciIsImRlcGVuZGVuY3lMaW5lcyIsImNvbmZpZ3VyYXRpb25MaW5lcyIsInNwbGl0Iiwic2VhcmNoUmUiLCJSZWdFeHAiLCJlc2NhcGVSZWdFeHAiLCJwbGFjZWhvbGRlckluZGV4IiwiZmluZEluZGV4IiwibGluZSIsInRlc3QiLCJwbGFjZWhvbGRlckxpbmUiLCJpbmRlbnRMZW4iLCJsZW5ndGgiLCJ0cmltU3RhcnQiLCJzcGxpY2UiLCJtYXAiLCJyZXBlYXQiLCJqb2luIiwiZ2V0UGFja2FnZUluZm8iLCJjdXJyZW50RGlyIiwiZGlybmFtZSIsIl9fZmlsZW5hbWUiLCJpc0F0RnNSb290IiwibWFuaWZlc3RQYXRoIiwiZXhpc3RzIiwibWFuaWZlc3RQYXlsb2FkIiwiSlNPTiIsInBhcnNlIiwicmVhZEZpbGUiLCJpZ24iLCJnZXRQYWNrYWdlSW5mb1N5bmMiLCJfZnMiLCJleGlzdHNTeW5jIiwicmVhZEZpbGVTeW5jIl0sInNvdXJjZXMiOlsiLi4vLi4vbGliL3V0aWxzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZzLCBta2RpcnAgfSBmcm9tICdhcHBpdW0vc3VwcG9ydCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgX2ZzIGZyb20gJ2ZzJztcblxubGV0IFBBQ0tBR0VfSU5GTyA9IG51bGw7XG5jb25zdCBNT0RVTEVfTkFNRSA9ICdhcHBpdW0tZXNwcmVzc28tZHJpdmVyJztcblxuLyoqXG4gKiBodHRwczovL2FuZHJvaWQuZ29vZ2xlc291cmNlLmNvbS9wbGF0Zm9ybS9mcmFtZXdvcmtzL2Jhc2UvKy9tYXN0ZXIvdG9vbHMvYWFwdC9SZXNvdXJjZS5jcHAjNzU1XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGFjdGl2aXR5TmFtZVxuICogQHBhcmFtIHtzdHJpbmd9IHBhY2thZ2VOYW1lXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgcXVhbGlmaWVkIGFjdGl2aXR5IG5hbWVcbiAqL1xuZnVuY3Rpb24gcXVhbGlmeUFjdGl2aXR5TmFtZSAoYWN0aXZpdHlOYW1lLCBwYWNrYWdlTmFtZSkge1xuICAvLyBpZiBlaXRoZXIgYWN0aXZpdHkgb3IgcGFja2FnZSBuYW1lIGlzIG5vdCBzZXRcbiAgLy8gb3IgYW55IG9mIHRoZXNlIGNvbnRhaW4gd2lsZGNhcmRzIHRoZW4gdGhlcmUgaXNcbiAgLy8gbm8gcG9pbnQgaW4gcXVhbGlmeWluZyB0aGUgYWN0aXZpdHkgbmFtZVxuICBpZiAoW2FjdGl2aXR5TmFtZSwgcGFja2FnZU5hbWVdLnNvbWUoKG5hbWUpID0+ICFuYW1lIHx8IF8uaW5jbHVkZXMobmFtZSwgJyonKSkpIHtcbiAgICByZXR1cm4gYWN0aXZpdHlOYW1lO1xuICB9XG5cbiAgY29uc3QgZG90UG9zID0gYWN0aXZpdHlOYW1lLmluZGV4T2YoJy4nKTtcbiAgaWYgKGRvdFBvcyA+IDApIHtcbiAgICByZXR1cm4gYWN0aXZpdHlOYW1lO1xuICB9XG4gIHJldHVybiBgJHtwYWNrYWdlTmFtZX0ke2RvdFBvcyA9PT0gMCA/ICcnIDogJy4nfSR7YWN0aXZpdHlOYW1lfWA7XG59XG5cbi8qKlxuICogUmVjdXJzaXZlbHkgY29weSBhbGwgZmlsZXMgZXhjZXB0IGJ1aWxkIGRpcmVjdG9yaWVzIGNvbnRlbnRzXG4gKiBAcGFyYW0gc291cmNlQmFzZURpciB7c3RyaW5nfSBkaXJlY3RvcnkgdG8gY29weSBmaWxlcyBmcm9tXG4gKiBAcGFyYW0gdGFyZ2V0QmFzZURpciB7c3RyaW5nfSBkaXJlY3RvcnkgdG8gY29weSBmaWxlcyB0b1xuICovXG5hc3luYyBmdW5jdGlvbiBjb3B5R3JhZGxlUHJvamVjdFJlY3Vyc2l2ZWx5IChzb3VyY2VCYXNlRGlyLCB0YXJnZXRCYXNlRGlyKSB7XG4gIGF3YWl0IGZzLndhbGtEaXIoc291cmNlQmFzZURpciwgdHJ1ZSwgYXN5bmMgKGl0ZW1QYXRoLCBpc0RpcmVjdG9yeSkgPT4ge1xuICAgIGNvbnN0IHJlbGF0aXZlUGF0aCA9IHBhdGgucmVsYXRpdmUoc291cmNlQmFzZURpciwgaXRlbVBhdGgpO1xuICAgIGNvbnN0IHRhcmdldFBhdGggPSBwYXRoLnJlc29sdmUodGFyZ2V0QmFzZURpciwgcmVsYXRpdmVQYXRoKTtcblxuICAgIGNvbnN0IGlzSW5HcmFkbGVCdWlsZERpciA9IGAke3BhdGguc2VwfSR7aXRlbVBhdGh9YC5pbmNsdWRlcyhgJHtwYXRoLnNlcH1idWlsZCR7cGF0aC5zZXB9YCk7XG4gICAgaWYgKGlzSW5HcmFkbGVCdWlsZERpcikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChpc0RpcmVjdG9yeSkge1xuICAgICAgYXdhaXQgbWtkaXJwKHRhcmdldFBhdGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCBmcy5jb3B5RmlsZShpdGVtUGF0aCwgdGFyZ2V0UGF0aCk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHJlcXVpcmVPcHRpb25zIChvcHRzLCByZXF1aXJlZEtleXMgPSBbXSkge1xuICBjb25zdCBtaXNzaW5nS2V5cyA9IF8uZGlmZmVyZW5jZShyZXF1aXJlZEtleXMsIF8ua2V5cyhvcHRzKSk7XG4gIGlmICghXy5pc0VtcHR5KG1pc3NpbmdLZXlzKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVGhlIGZvbGxvd2luZyBvcHRpb25zIGFyZSByZXF1aXJlZDogJHttaXNzaW5nS2V5c31gKTtcbiAgfVxuICByZXR1cm4gb3B0cztcbn1cblxuZnVuY3Rpb24gdXBkYXRlRGVwZW5kZW5jeUxpbmVzIChvcmlnaW5hbENvbnRlbnQsIGRlcGVuZGVuY3lQbGFjZWhvbGRlciwgZGVwZW5kZW5jeUxpbmVzKSB7XG4gIGNvbnN0IGNvbmZpZ3VyYXRpb25MaW5lcyA9IG9yaWdpbmFsQ29udGVudC5zcGxpdCgnXFxuJyk7XG4gIGNvbnN0IHNlYXJjaFJlID0gbmV3IFJlZ0V4cChgXlxcXFxzKi8vXFxcXHMqXFxcXGIke18uZXNjYXBlUmVnRXhwKGRlcGVuZGVuY3lQbGFjZWhvbGRlcil9XFxcXGJgLCAnbScpO1xuICBjb25zdCBwbGFjZWhvbGRlckluZGV4ID0gY29uZmlndXJhdGlvbkxpbmVzLmZpbmRJbmRleCgobGluZSkgPT4gc2VhcmNoUmUudGVzdChsaW5lKSk7XG4gIGlmIChwbGFjZWhvbGRlckluZGV4IDwgMCkge1xuICAgIHJldHVybiBvcmlnaW5hbENvbnRlbnQ7XG4gIH1cblxuICBjb25zdCBwbGFjZWhvbGRlckxpbmUgPSBjb25maWd1cmF0aW9uTGluZXNbcGxhY2Vob2xkZXJJbmRleF07XG4gIGNvbnN0IGluZGVudExlbiA9IHBsYWNlaG9sZGVyTGluZS5sZW5ndGggLSBfLnRyaW1TdGFydChwbGFjZWhvbGRlckxpbmUpLmxlbmd0aDtcbiAgY29uZmlndXJhdGlvbkxpbmVzLnNwbGljZShwbGFjZWhvbGRlckluZGV4ICsgMSwgMCwgLi4uKGRlcGVuZGVuY3lMaW5lc1xuICAgIC5tYXAoKGxpbmUpID0+IGAkeycgJy5yZXBlYXQoaW5kZW50TGVuKX0ke2xpbmV9YCkpKTtcbiAgcmV0dXJuIGNvbmZpZ3VyYXRpb25MaW5lcy5qb2luKCdcXG4nKTtcbn1cblxuLyoqXG4gKiBGZXRjaGVzIHRoZSBtb2R1bGUgaW5mbyBmcm9tIHBhY2thZ2UuanNvblxuICpcbiAqIEByZXR1cm5zIHtvYmplY3R9IFRoZSBmdWxsIHBhdGggdG8gbW9kdWxlJ3MgcGFja2FnZS5qc29uIGFuZCBpdHMgcGF5bG9hZFxuICogQHRocm93cyB7RXJyb3J9IElmIHBhY2thZ2UuanNvbiBjYW5ub3QgYmUgZm91bmRcbiAqL1xuYXN5bmMgZnVuY3Rpb24gZ2V0UGFja2FnZUluZm8gKCkge1xuICBpZiAoUEFDS0FHRV9JTkZPKSB7XG4gICAgcmV0dXJuIFBBQ0tBR0VfSU5GTztcbiAgfVxuXG4gIGxldCBjdXJyZW50RGlyID0gcGF0aC5kaXJuYW1lKHBhdGgucmVzb2x2ZShfX2ZpbGVuYW1lKSk7XG4gIGxldCBpc0F0RnNSb290ID0gZmFsc2U7XG4gIHdoaWxlICghaXNBdEZzUm9vdCkge1xuICAgIGNvbnN0IG1hbmlmZXN0UGF0aCA9IHBhdGguam9pbihjdXJyZW50RGlyLCAncGFja2FnZS5qc29uJyk7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChhd2FpdCBmcy5leGlzdHMobWFuaWZlc3RQYXRoKSkge1xuICAgICAgICBjb25zdCBtYW5pZmVzdFBheWxvYWQgPSBKU09OLnBhcnNlKGF3YWl0IGZzLnJlYWRGaWxlKG1hbmlmZXN0UGF0aCwgJ3V0ZjgnKSk7XG4gICAgICAgIGlmIChtYW5pZmVzdFBheWxvYWQubmFtZSA9PT0gTU9EVUxFX05BTUUpIHtcbiAgICAgICAgICBQQUNLQUdFX0lORk8gPSB7XG4gICAgICAgICAgICBtYW5pZmVzdFBhdGgsXG4gICAgICAgICAgICBtYW5pZmVzdFBheWxvYWRcbiAgICAgICAgICB9O1xuICAgICAgICAgIHJldHVybiBQQUNLQUdFX0lORk87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChpZ24pIHt9XG4gICAgY3VycmVudERpciA9IHBhdGguZGlybmFtZShjdXJyZW50RGlyKTtcbiAgICBpc0F0RnNSb290ID0gY3VycmVudERpci5sZW5ndGggPD0gcGF0aC5kaXJuYW1lKGN1cnJlbnREaXIpLmxlbmd0aDtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBmaW5kIHRoZSByb290IGZvbGRlciBvZiB0aGUgJHtNT0RVTEVfTkFNRX0gTm9kZS5qcyBtb2R1bGVgKTtcbn1cblxuLyoqXG4gKiBGZXRjaGVzIHRoZSBtb2R1bGUgaW5mbyBmcm9tIHBhY2thZ2UuanNvbiBzeW5jaHJvbm91c2x5XG4gKlxuICogQHJldHVybnMge29iamVjdH0gVGhlIGZ1bGwgcGF0aCB0byBtb2R1bGUncyBwYWNrYWdlLmpzb24gYW5kIGl0cyBwYXlsb2FkXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgcGFja2FnZS5qc29uIGNhbm5vdCBiZSBmb3VuZFxuICovXG5mdW5jdGlvbiBnZXRQYWNrYWdlSW5mb1N5bmMgKCkge1xuICBpZiAoUEFDS0FHRV9JTkZPKSB7XG4gICAgcmV0dXJuIFBBQ0tBR0VfSU5GTztcbiAgfVxuXG4gIGxldCBjdXJyZW50RGlyID0gcGF0aC5kaXJuYW1lKHBhdGgucmVzb2x2ZShfX2ZpbGVuYW1lKSk7XG4gIGxldCBpc0F0RnNSb290ID0gZmFsc2U7XG4gIHdoaWxlICghaXNBdEZzUm9vdCkge1xuICAgIGNvbnN0IG1hbmlmZXN0UGF0aCA9IHBhdGguam9pbihjdXJyZW50RGlyLCAncGFja2FnZS5qc29uJyk7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChfZnMuZXhpc3RzU3luYyhtYW5pZmVzdFBhdGgpKSB7XG4gICAgICAgIGNvbnN0IG1hbmlmZXN0UGF5bG9hZCA9IEpTT04ucGFyc2UoX2ZzLnJlYWRGaWxlU3luYyhtYW5pZmVzdFBhdGgsICd1dGY4JykpO1xuICAgICAgICBpZiAobWFuaWZlc3RQYXlsb2FkLm5hbWUgPT09IE1PRFVMRV9OQU1FKSB7XG4gICAgICAgICAgUEFDS0FHRV9JTkZPID0ge1xuICAgICAgICAgICAgbWFuaWZlc3RQYXRoLFxuICAgICAgICAgICAgbWFuaWZlc3RQYXlsb2FkXG4gICAgICAgICAgfTtcbiAgICAgICAgICByZXR1cm4gUEFDS0FHRV9JTkZPO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoaWduKSB7fVxuICAgIGN1cnJlbnREaXIgPSBwYXRoLmRpcm5hbWUoY3VycmVudERpcik7XG4gICAgaXNBdEZzUm9vdCA9IGN1cnJlbnREaXIubGVuZ3RoIDw9IHBhdGguZGlybmFtZShjdXJyZW50RGlyKS5sZW5ndGg7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCB0aGUgcm9vdCBmb2xkZXIgb2YgdGhlICR7TU9EVUxFX05BTUV9IE5vZGUuanMgbW9kdWxlYCk7XG59XG5cbmV4cG9ydCB7XG4gIHF1YWxpZnlBY3Rpdml0eU5hbWUsIGNvcHlHcmFkbGVQcm9qZWN0UmVjdXJzaXZlbHksIHJlcXVpcmVPcHRpb25zLFxuICB1cGRhdGVEZXBlbmRlbmN5TGluZXMsIGdldFBhY2thZ2VJbmZvLCBnZXRQYWNrYWdlSW5mb1N5bmNcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxJQUFJQSxZQUFZLEdBQUcsSUFBbkI7QUFDQSxNQUFNQyxXQUFXLEdBQUcsd0JBQXBCOztBQVNBLFNBQVNDLG1CQUFULENBQThCQyxZQUE5QixFQUE0Q0MsV0FBNUMsRUFBeUQ7RUFJdkQsSUFBSSxDQUFDRCxZQUFELEVBQWVDLFdBQWYsRUFBNEJDLElBQTVCLENBQWtDQyxJQUFELElBQVUsQ0FBQ0EsSUFBRCxJQUFTQyxlQUFBLENBQUVDLFFBQUYsQ0FBV0YsSUFBWCxFQUFpQixHQUFqQixDQUFwRCxDQUFKLEVBQWdGO0lBQzlFLE9BQU9ILFlBQVA7RUFDRDs7RUFFRCxNQUFNTSxNQUFNLEdBQUdOLFlBQVksQ0FBQ08sT0FBYixDQUFxQixHQUFyQixDQUFm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
@@ -27,6 +27,7 @@ import io.appium.espressoserver.lib.helpers.w3c.models.InputSource.InputSourceTy
27
27
  import io.appium.espressoserver.lib.helpers.w3c.models.InputSource.InputSourceType.POINTER
28
28
  import io.appium.espressoserver.test.assets.readAssetFile
29
29
  import org.junit.Assert.*
30
+ import org.junit.Ignore
30
31
 
31
32
  class ActionSequenceTest {
32
33
 
@@ -204,6 +205,7 @@ class ActionSequenceTest {
204
205
  }
205
206
 
206
207
  @Test
208
+ @Ignore("The test is unstable in CI env")
207
209
  @Throws(IOException::class, AppiumException::class, InterruptedException::class, ExecutionException::class)
208
210
  fun shouldDispatchW3CKeyActions() {
209
211
  val inputStateTable = InputStateTable()
package/lib/driver.js CHANGED
@@ -8,10 +8,9 @@ import commands from './commands';
8
8
  import { DEFAULT_ADB_PORT } from 'appium-adb';
9
9
  import { androidHelpers, androidCommands, SETTINGS_HELPER_PKG_ID } from 'appium-android-driver';
10
10
  import desiredCapConstraints from './desired-caps';
11
- import { version } from '../../package.json'; // eslint-disable-line import/no-unresolved
12
11
  import { findAPortNotInUse } from 'portscanner';
13
12
  import { retryInterval } from 'asyncbox';
14
- import { qualifyActivityName } from './utils';
13
+ import { qualifyActivityName, getPackageInfo } from './utils';
15
14
 
16
15
 
17
16
  // TODO merge our own helpers onto this later
@@ -370,7 +369,8 @@ class EspressoDriver extends BaseDriver {
370
369
 
371
370
  // TODO much of this logic is duplicated from uiautomator2
372
371
  async startEspressoSession () {
373
- this.log.info(`EspressoDriver version: ${version}`);
372
+ const {manifestPayload} = await getPackageInfo();
373
+ this.log.info(`EspressoDriver version: ${manifestPayload.version}`);
374
374
 
375
375
  // Read https://github.com/appium/appium-android-driver/pull/461 what happens if ther is no setHiddenApiPolicy for Android P+
376
376
  if (await this.adb.getApiLevel() >= 28) { // Android P
@@ -3,10 +3,9 @@ import { waitForCondition } from 'asyncbox';
3
3
  import { ServerBuilder, buildServerSigningConfig } from './server-builder';
4
4
  import path from 'path';
5
5
  import { fs, util, mkdirp, timing } from 'appium/support';
6
- import { version } from '../../package.json'; // eslint-disable-line import/no-unresolved
7
6
  import B from 'bluebird';
8
7
  import _ from 'lodash';
9
- import { copyGradleProjectRecursively } from './utils';
8
+ import { copyGradleProjectRecursively, getPackageInfoSync, getPackageInfo } from './utils';
10
9
  import axios from 'axios';
11
10
 
12
11
 
@@ -59,9 +58,11 @@ class EspressoRunner {
59
58
  crashed: false,
60
59
  };
61
60
 
62
- const modServerName = fs.sanitizeName(`${TEST_APK_PKG}_${version}_${this.appPackage}_${this.adb.curDeviceId}.apk`, {
63
- replacement: '-',
64
- });
61
+ const { manifestPayload } = getPackageInfoSync();
62
+ const modServerName = fs.sanitizeName(
63
+ `${TEST_APK_PKG}_${manifestPayload.version}_${this.appPackage}_${this.adb.curDeviceId}.apk`,
64
+ {replacement: '-'}
65
+ );
65
66
  this.modServerPath = path.resolve(this.tmpDir, modServerName);
66
67
  this.showGradleLog = opts.showGradleLog;
67
68
  this.espressoBuildConfig = opts.espressoBuildConfig;
@@ -242,7 +243,8 @@ class EspressoRunner {
242
243
 
243
244
  cmd.push(`${TEST_APK_PKG}/androidx.test.runner.AndroidJUnitRunner`);
244
245
 
245
- this.log.info(`Starting Espresso Server v${version} with cmd: adb ${cmd.join(' ')}`);
246
+ const {manifestPayload} = await getPackageInfo();
247
+ this.log.info(`Starting Espresso Server v${manifestPayload.version} with cmd: adb ${cmd.join(' ')}`);
246
248
 
247
249
  let hasSocketError = false;
248
250
  // start the instrumentation process
package/lib/utils.js CHANGED
@@ -1,6 +1,10 @@
1
1
  import { fs, mkdirp } from 'appium/support';
2
2
  import _ from 'lodash';
3
3
  import path from 'path';
4
+ import _fs from 'fs';
5
+
6
+ let PACKAGE_INFO = null;
7
+ const MODULE_NAME = 'appium-espresso-driver';
4
8
 
5
9
  /**
6
10
  * https://android.googlesource.com/platform/frameworks/base/+/master/tools/aapt/Resource.cpp#755
@@ -71,4 +75,73 @@ function updateDependencyLines (originalContent, dependencyPlaceholder, dependen
71
75
  return configurationLines.join('\n');
72
76
  }
73
77
 
74
- export { qualifyActivityName, copyGradleProjectRecursively, requireOptions, updateDependencyLines };
78
+ /**
79
+ * Fetches the module info from package.json
80
+ *
81
+ * @returns {object} The full path to module's package.json and its payload
82
+ * @throws {Error} If package.json cannot be found
83
+ */
84
+ async function getPackageInfo () {
85
+ if (PACKAGE_INFO) {
86
+ return PACKAGE_INFO;
87
+ }
88
+
89
+ let currentDir = path.dirname(path.resolve(__filename));
90
+ let isAtFsRoot = false;
91
+ while (!isAtFsRoot) {
92
+ const manifestPath = path.join(currentDir, 'package.json');
93
+ try {
94
+ if (await fs.exists(manifestPath)) {
95
+ const manifestPayload = JSON.parse(await fs.readFile(manifestPath, 'utf8'));
96
+ if (manifestPayload.name === MODULE_NAME) {
97
+ PACKAGE_INFO = {
98
+ manifestPath,
99
+ manifestPayload
100
+ };
101
+ return PACKAGE_INFO;
102
+ }
103
+ }
104
+ } catch (ign) {}
105
+ currentDir = path.dirname(currentDir);
106
+ isAtFsRoot = currentDir.length <= path.dirname(currentDir).length;
107
+ }
108
+ throw new Error(`Cannot find the root folder of the ${MODULE_NAME} Node.js module`);
109
+ }
110
+
111
+ /**
112
+ * Fetches the module info from package.json synchronously
113
+ *
114
+ * @returns {object} The full path to module's package.json and its payload
115
+ * @throws {Error} If package.json cannot be found
116
+ */
117
+ function getPackageInfoSync () {
118
+ if (PACKAGE_INFO) {
119
+ return PACKAGE_INFO;
120
+ }
121
+
122
+ let currentDir = path.dirname(path.resolve(__filename));
123
+ let isAtFsRoot = false;
124
+ while (!isAtFsRoot) {
125
+ const manifestPath = path.join(currentDir, 'package.json');
126
+ try {
127
+ if (_fs.existsSync(manifestPath)) {
128
+ const manifestPayload = JSON.parse(_fs.readFileSync(manifestPath, 'utf8'));
129
+ if (manifestPayload.name === MODULE_NAME) {
130
+ PACKAGE_INFO = {
131
+ manifestPath,
132
+ manifestPayload
133
+ };
134
+ return PACKAGE_INFO;
135
+ }
136
+ }
137
+ } catch (ign) {}
138
+ currentDir = path.dirname(currentDir);
139
+ isAtFsRoot = currentDir.length <= path.dirname(currentDir).length;
140
+ }
141
+ throw new Error(`Cannot find the root folder of the ${MODULE_NAME} Node.js module`);
142
+ }
143
+
144
+ export {
145
+ qualifyActivityName, copyGradleProjectRecursively, requireOptions,
146
+ updateDependencyLines, getPackageInfo, getPackageInfoSync
147
+ };