appium 2.0.0-beta.25 → 2.0.0-beta.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/appium.d.ts +215 -0
- package/build/lib/appium.d.ts.map +1 -0
- package/build/lib/appium.js +94 -101
- package/build/lib/cli/args.d.ts +20 -0
- package/build/lib/cli/args.d.ts.map +1 -0
- package/build/lib/cli/args.js +19 -39
- package/build/lib/cli/driver-command.d.ts +36 -0
- package/build/lib/cli/driver-command.d.ts.map +1 -0
- package/build/lib/cli/driver-command.js +10 -13
- package/build/lib/cli/extension-command.d.ts +345 -0
- package/build/lib/cli/extension-command.d.ts.map +1 -0
- package/build/lib/cli/extension-command.js +117 -94
- package/build/lib/cli/extension.d.ts +14 -0
- package/build/lib/cli/extension.d.ts.map +1 -0
- package/build/lib/cli/extension.js +14 -22
- package/build/lib/cli/parser.d.ts +79 -0
- package/build/lib/cli/parser.d.ts.map +1 -0
- package/build/lib/cli/parser.js +9 -19
- package/build/lib/cli/plugin-command.d.ts +39 -0
- package/build/lib/cli/plugin-command.d.ts.map +1 -0
- package/build/lib/cli/plugin-command.js +9 -14
- package/build/lib/cli/utils.d.ts +29 -0
- package/build/lib/cli/utils.d.ts.map +1 -0
- package/build/lib/cli/utils.js +2 -4
- package/build/lib/config-file.d.ts +100 -0
- package/build/lib/config-file.d.ts.map +1 -0
- package/build/lib/config-file.js +2 -4
- package/build/lib/config.d.ts +40 -0
- package/build/lib/config.d.ts.map +1 -0
- package/build/lib/config.js +8 -7
- package/build/lib/constants.d.ts +48 -0
- package/build/lib/constants.d.ts.map +1 -0
- package/build/lib/constants.js +60 -0
- package/build/lib/extension/driver-config.d.ts +84 -0
- package/build/lib/extension/driver-config.d.ts.map +1 -0
- package/build/lib/extension/driver-config.js +190 -0
- package/build/lib/extension/extension-config.d.ts +170 -0
- package/build/lib/extension/extension-config.d.ts.map +1 -0
- package/build/lib/extension/extension-config.js +297 -0
- package/build/lib/extension/index.d.ts +39 -0
- package/build/lib/extension/index.d.ts.map +1 -0
- package/build/lib/extension/index.js +77 -0
- package/build/lib/extension/manifest.d.ts +174 -0
- package/build/lib/extension/manifest.d.ts.map +1 -0
- package/build/lib/extension/manifest.js +246 -0
- package/build/lib/extension/package-changed.d.ts +11 -0
- package/build/lib/extension/package-changed.d.ts.map +1 -0
- package/build/lib/extension/package-changed.js +68 -0
- package/build/lib/extension/plugin-config.d.ts +62 -0
- package/build/lib/extension/plugin-config.d.ts.map +1 -0
- package/build/lib/extension/plugin-config.js +87 -0
- package/build/lib/grid-register.d.ts +10 -0
- package/build/lib/grid-register.d.ts.map +1 -0
- package/build/lib/grid-register.js +2 -4
- package/build/lib/logger.d.ts +3 -0
- package/build/lib/logger.d.ts.map +1 -0
- package/build/lib/logger.js +2 -4
- package/build/lib/logsink.d.ts +4 -0
- package/build/lib/logsink.d.ts.map +1 -0
- package/build/lib/logsink.js +2 -4
- package/build/lib/main.d.ts +51 -0
- package/build/lib/main.d.ts.map +1 -0
- package/build/lib/main.js +40 -68
- package/build/lib/schema/arg-spec.d.ts +143 -0
- package/build/lib/schema/arg-spec.d.ts.map +1 -0
- package/build/lib/schema/arg-spec.js +11 -14
- package/build/lib/schema/cli-args.d.ts +19 -0
- package/build/lib/schema/cli-args.d.ts.map +1 -0
- package/build/lib/schema/cli-args.js +2 -4
- package/build/lib/schema/cli-transformers.d.ts +5 -0
- package/build/lib/schema/cli-transformers.d.ts.map +1 -0
- package/build/lib/schema/cli-transformers.js +2 -4
- package/build/lib/schema/index.d.ts +3 -0
- package/build/lib/schema/index.d.ts.map +1 -0
- package/build/lib/schema/index.js +2 -4
- package/build/lib/schema/keywords.d.ts +24 -0
- package/build/lib/schema/keywords.d.ts.map +1 -0
- package/build/lib/schema/keywords.js +2 -4
- package/build/lib/schema/schema.d.ts +259 -0
- package/build/lib/schema/schema.d.ts.map +1 -0
- package/build/lib/schema/schema.js +57 -39
- package/build/lib/utils.d.ts +66 -0
- package/build/lib/utils.d.ts.map +1 -0
- package/build/lib/utils.js +6 -35
- package/build/tsconfig.tsbuildinfo +1 -0
- package/lib/appium.js +188 -117
- package/lib/cli/args.js +19 -24
- package/lib/cli/driver-command.js +19 -8
- package/lib/cli/extension-command.js +314 -184
- package/lib/cli/extension.js +18 -16
- package/lib/cli/parser.js +7 -16
- package/lib/cli/plugin-command.js +16 -7
- package/lib/cli/utils.js +1 -1
- package/lib/config-file.js +6 -7
- package/lib/config.js +17 -12
- package/lib/constants.js +78 -0
- package/lib/extension/driver-config.js +249 -0
- package/lib/extension/extension-config.js +458 -0
- package/lib/extension/index.js +102 -0
- package/lib/extension/manifest.js +486 -0
- package/lib/extension/package-changed.js +63 -0
- package/lib/extension/plugin-config.js +113 -0
- package/lib/grid-register.js +4 -4
- package/lib/logsink.js +4 -0
- package/lib/main.js +54 -92
- package/lib/schema/arg-spec.js +11 -7
- package/lib/schema/cli-args.js +1 -1
- package/lib/schema/cli-transformers.js +0 -1
- package/lib/schema/keywords.js +1 -2
- package/lib/schema/schema.js +62 -31
- package/lib/utils.js +48 -45
- package/package.json +30 -24
- package/{postinstall.js → scripts/postinstall.js} +1 -1
- package/types/appium-manifest.d.ts +61 -0
- package/types/cli.d.ts +134 -0
- package/types/extension.d.ts +56 -0
- package/types/external-manifest.d.ts +58 -0
- package/types/index.d.ts +7 -0
- package/bin/ios-webkit-debug-proxy-launcher.js +0 -71
- package/build/check-npm-pack-files.js +0 -23
- package/build/commands-yml/parse.js +0 -319
- package/build/commands-yml/validator.js +0 -130
- package/build/index.js +0 -19
- package/build/lib/appium-config.schema.json +0 -0
- package/build/lib/cli/npm.js +0 -220
- package/build/lib/driver-config.js +0 -100
- package/build/lib/drivers.js +0 -100
- package/build/lib/ext-config-io.js +0 -165
- package/build/lib/extension-config.js +0 -320
- package/build/lib/plugin-config.js +0 -69
- package/build/lib/plugins.js +0 -18
- package/build/lib/schema/appium-config-schema.js +0 -253
- package/build/postinstall.js +0 -90
- package/build/test/cli/cli-e2e-specs.js +0 -221
- package/build/test/cli/cli-helpers.js +0 -86
- package/build/test/cli/cli-specs.js +0 -71
- package/build/test/cli/fixtures/test-driver/package.json +0 -27
- package/build/test/cli/schema-args-specs.js +0 -48
- package/build/test/cli/schema-e2e-specs.js +0 -47
- package/build/test/config-e2e-specs.js +0 -112
- package/build/test/config-file-e2e-specs.js +0 -191
- package/build/test/config-file-specs.js +0 -281
- package/build/test/config-specs.js +0 -258
- package/build/test/driver-e2e-specs.js +0 -435
- package/build/test/driver-specs.js +0 -386
- package/build/test/ext-config-io-specs.js +0 -181
- package/build/test/extension-config-specs.js +0 -365
- package/build/test/fixtures/allow-feat.txt +0 -5
- package/build/test/fixtures/caps.json +0 -3
- package/build/test/fixtures/config/allow-insecure.txt +0 -3
- package/build/test/fixtures/config/appium.config.bad-nodeconfig.json +0 -5
- package/build/test/fixtures/config/appium.config.bad.json +0 -32
- package/build/test/fixtures/config/appium.config.ext-good.json +0 -9
- package/build/test/fixtures/config/appium.config.ext-unknown-props.json +0 -10
- package/build/test/fixtures/config/appium.config.good.js +0 -40
- package/build/test/fixtures/config/appium.config.good.json +0 -33
- package/build/test/fixtures/config/appium.config.good.yaml +0 -30
- package/build/test/fixtures/config/appium.config.invalid.json +0 -31
- package/build/test/fixtures/config/appium.config.security-array.json +0 -5
- package/build/test/fixtures/config/appium.config.security-delimited.json +0 -5
- package/build/test/fixtures/config/appium.config.security-path.json +0 -5
- package/build/test/fixtures/config/driver-fake.config.json +0 -8
- package/build/test/fixtures/config/nodeconfig.json +0 -3
- package/build/test/fixtures/config/plugin-fake.config.json +0 -0
- package/build/test/fixtures/default-args.js +0 -35
- package/build/test/fixtures/deny-feat.txt +0 -5
- package/build/test/fixtures/driver.schema.js +0 -20
- package/build/test/fixtures/extensions.yaml +0 -27
- package/build/test/fixtures/flattened-schema.js +0 -532
- package/build/test/fixtures/plugin.schema.js +0 -20
- package/build/test/fixtures/schema-with-extensions.js +0 -28
- package/build/test/grid-register-specs.js +0 -74
- package/build/test/helpers.js +0 -75
- package/build/test/logger-specs.js +0 -76
- package/build/test/npm-specs.js +0 -20
- package/build/test/parser-specs.js +0 -319
- package/build/test/plugin-e2e-specs.js +0 -316
- package/build/test/schema/arg-spec-specs.js +0 -70
- package/build/test/schema/cli-args-specs.js +0 -408
- package/build/test/schema/schema-specs.js +0 -407
- package/build/test/utils-specs.js +0 -288
- package/lib/cli/npm.js +0 -251
- package/lib/driver-config.js +0 -101
- package/lib/drivers.js +0 -84
- package/lib/ext-config-io.js +0 -287
- package/lib/extension-config.js +0 -366
- package/lib/plugin-config.js +0 -63
- package/lib/plugins.js +0 -13
- package/lib/schema/appium-config-schema.js +0 -287
- package/types/appium-config.d.ts +0 -197
- package/types/types.d.ts +0 -206
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Alias
|
|
3
|
+
*/
|
|
4
|
+
export type ExtensionType = import('../extension/manifest').ExtensionType;
|
|
5
|
+
/**
|
|
6
|
+
* A tuple of argument aliases and argument options
|
|
7
|
+
*/
|
|
8
|
+
export type ArgumentDefinitions = Map<string[], import('argparse').ArgumentOptions>;
|
|
9
|
+
/**
|
|
10
|
+
* Derives the options for the `server` command from the schema, and adds the arguments
|
|
11
|
+
* which are disallowed in the config file.
|
|
12
|
+
* @returns {ArgumentDefinitions}
|
|
13
|
+
*/
|
|
14
|
+
export function getServerArgs(): ArgumentDefinitions;
|
|
15
|
+
/**
|
|
16
|
+
* Builds a Record of extension types to a Record of subcommands to their argument definitions
|
|
17
|
+
*/
|
|
18
|
+
export const getExtensionArgs: (() => Record<import("../../types").ExtensionType, Record<import("../../types/cli").CliExtensionSubcommand, ArgumentDefinitions>>) & _.MemoizedFunction;
|
|
19
|
+
import _ from "lodash";
|
|
20
|
+
//# sourceMappingURL=args.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../../lib/cli/args.js"],"names":[],"mappings":";;;4BAyOa,OAAO,uBAAuB,EAAE,aAAa;;;;kCAK7C,IAAI,MAAM,EAAE,EAAC,OAAO,UAAU,EAAE,eAAe,CAAC;AAtE7D;;;;GAIG;AACH,qDAKC;AApJD;;GAEG;AACH,uLAYG"}
|
package/build/lib/cli/args.js
CHANGED
|
@@ -5,41 +5,23 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
|
|
9
|
-
enumerable: true,
|
|
10
|
-
get: function () {
|
|
11
|
-
return _extensionConfig.APPIUM_HOME;
|
|
12
|
-
}
|
|
13
|
-
});
|
|
14
|
-
exports.getExtensionArgs = exports.driverConfig = exports.USE_ALL_PLUGINS = void 0;
|
|
8
|
+
exports.getExtensionArgs = void 0;
|
|
15
9
|
exports.getServerArgs = getServerArgs;
|
|
16
|
-
exports.pluginConfig = void 0;
|
|
17
10
|
|
|
18
11
|
require("source-map-support/register");
|
|
19
12
|
|
|
20
13
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
21
14
|
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
var _extensionConfig = require("../extension-config");
|
|
15
|
+
var _constants = require("../constants");
|
|
25
16
|
|
|
26
|
-
var
|
|
17
|
+
var _extensionConfig = require("../extension/extension-config");
|
|
27
18
|
|
|
28
19
|
var _cliArgs = require("../schema/cli-args");
|
|
29
20
|
|
|
30
21
|
const DRIVER_EXAMPLE = 'xcuitest';
|
|
31
22
|
const PLUGIN_EXAMPLE = 'find_by_image';
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
const EXTENSION_TYPES = new Set([_extensionConfig.DRIVER_TYPE, _extensionConfig.PLUGIN_TYPE]);
|
|
35
|
-
|
|
36
|
-
const driverConfig = _driverConfig.default.getInstance(_extensionConfig.APPIUM_HOME);
|
|
37
|
-
|
|
38
|
-
exports.driverConfig = driverConfig;
|
|
39
|
-
|
|
40
|
-
const pluginConfig = _pluginConfig.default.getInstance(_extensionConfig.APPIUM_HOME);
|
|
41
|
-
|
|
42
|
-
exports.pluginConfig = pluginConfig;
|
|
23
|
+
const INSTALL_TYPES_ARRAY = [..._extensionConfig.INSTALL_TYPES];
|
|
24
|
+
const EXTENSION_TYPES = new Set([_constants.DRIVER_TYPE, _constants.PLUGIN_TYPE]);
|
|
43
25
|
const globalExtensionArgs = new Map([[['--json'], {
|
|
44
26
|
required: false,
|
|
45
27
|
default: false,
|
|
@@ -48,16 +30,16 @@ const globalExtensionArgs = new Map([[['--json'], {
|
|
|
48
30
|
dest: 'json'
|
|
49
31
|
}]]);
|
|
50
32
|
|
|
51
|
-
const getExtensionArgs = _lodash.default.
|
|
33
|
+
const getExtensionArgs = _lodash.default.memoize(function getExtensionArgs() {
|
|
52
34
|
const extensionArgs = {};
|
|
53
35
|
|
|
54
36
|
for (const type of EXTENSION_TYPES) {
|
|
55
37
|
extensionArgs[type] = {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
38
|
+
[_constants.EXT_SUBCOMMAND_LIST]: makeListArgs(type),
|
|
39
|
+
[_constants.EXT_SUBCOMMAND_INSTALL]: makeInstallArgs(type),
|
|
40
|
+
[_constants.EXT_SUBCOMMAND_UNINSTALL]: makeUninstallArgs(type),
|
|
41
|
+
[_constants.EXT_SUBCOMMAND_UPDATE]: makeUpdateArgs(type),
|
|
42
|
+
[_constants.EXT_SUBCOMMAND_RUN]: makeRunArgs(type)
|
|
61
43
|
};
|
|
62
44
|
}
|
|
63
45
|
|
|
@@ -85,12 +67,12 @@ function makeListArgs(type) {
|
|
|
85
67
|
function makeInstallArgs(type) {
|
|
86
68
|
return new Map([...globalExtensionArgs, [[type], {
|
|
87
69
|
type: 'str',
|
|
88
|
-
help: `Name of the ${type} to install, for example: ` + type ===
|
|
70
|
+
help: `Name of the ${type} to install, for example: ` + type === _constants.DRIVER_TYPE ? DRIVER_EXAMPLE : PLUGIN_EXAMPLE
|
|
89
71
|
}], [['--source'], {
|
|
90
72
|
required: false,
|
|
91
73
|
default: null,
|
|
92
|
-
choices:
|
|
93
|
-
help: `Where to look for the ${type} if it is not one of Appium's verified ` + `${type}s. Possible values: ${
|
|
74
|
+
choices: INSTALL_TYPES_ARRAY,
|
|
75
|
+
help: `Where to look for the ${type} if it is not one of Appium's verified ` + `${type}s. Possible values: ${INSTALL_TYPES_ARRAY.join(', ')}`,
|
|
94
76
|
dest: 'installType'
|
|
95
77
|
}], [['--package'], {
|
|
96
78
|
required: false,
|
|
@@ -104,14 +86,14 @@ function makeInstallArgs(type) {
|
|
|
104
86
|
function makeUninstallArgs(type) {
|
|
105
87
|
return new Map([...globalExtensionArgs, [[type], {
|
|
106
88
|
type: 'str',
|
|
107
|
-
help: 'Name of the driver to uninstall, for example: ' + type ===
|
|
89
|
+
help: 'Name of the driver to uninstall, for example: ' + type === _constants.DRIVER_TYPE ? DRIVER_EXAMPLE : PLUGIN_EXAMPLE
|
|
108
90
|
}]]);
|
|
109
91
|
}
|
|
110
92
|
|
|
111
93
|
function makeUpdateArgs(type) {
|
|
112
94
|
return new Map([...globalExtensionArgs, [[type], {
|
|
113
95
|
type: 'str',
|
|
114
|
-
help: `Name of the ${type} to update, or the word "installed" to update all installed ` + `${type}s. To see available updates, run "appium ${type} list --installed --updates". ` + 'For example: ' + type ===
|
|
96
|
+
help: `Name of the ${type} to update, or the word "installed" to update all installed ` + `${type}s. To see available updates, run "appium ${type} list --installed --updates". ` + 'For example: ' + type === _constants.DRIVER_TYPE ? DRIVER_EXAMPLE : PLUGIN_EXAMPLE
|
|
115
97
|
}], [['--unsafe'], {
|
|
116
98
|
required: false,
|
|
117
99
|
default: false,
|
|
@@ -123,7 +105,7 @@ function makeUpdateArgs(type) {
|
|
|
123
105
|
function makeRunArgs(type) {
|
|
124
106
|
return new Map([...globalExtensionArgs, [[type], {
|
|
125
107
|
type: 'str',
|
|
126
|
-
help: `Name of the ${type} to run a script from, for example: ` + type ===
|
|
108
|
+
help: `Name of the ${type} to run a script from, for example: ` + type === _constants.DRIVER_TYPE ? DRIVER_EXAMPLE : PLUGIN_EXAMPLE
|
|
127
109
|
}], [['scriptName'], {
|
|
128
110
|
default: null,
|
|
129
111
|
type: 'str',
|
|
@@ -158,7 +140,5 @@ const serverArgsDisallowedInConfig = new Map([[['--shell'], {
|
|
|
158
140
|
type: 'string',
|
|
159
141
|
required: false,
|
|
160
142
|
help: 'Explicit path to Appium configuration file'
|
|
161
|
-
}]]);
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9jbGkvYXJncy5qcyJdLCJuYW1lcyI6WyJEUklWRVJfRVhBTVBMRSIsIlBMVUdJTl9FWEFNUExFIiwiVVNFX0FMTF9QTFVHSU5TIiwiRVhURU5TSU9OX1RZUEVTIiwiU2V0IiwiRFJJVkVSX1RZUEUiLCJQTFVHSU5fVFlQRSIsImRyaXZlckNvbmZpZyIsIkRyaXZlckNvbmZpZyIsImdldEluc3RhbmNlIiwiQVBQSVVNX0hPTUUiLCJwbHVnaW5Db25maWciLCJQbHVnaW5Db25maWciLCJnbG9iYWxFeHRlbnNpb25BcmdzIiwiTWFwIiwicmVxdWlyZWQiLCJkZWZhdWx0IiwiYWN0aW9uIiwiaGVscCIsImRlc3QiLCJnZXRFeHRlbnNpb25BcmdzIiwiXyIsIm9uY2UiLCJleHRlbnNpb25BcmdzIiwidHlwZSIsImxpc3QiLCJtYWtlTGlzdEFyZ3MiLCJpbnN0YWxsIiwibWFrZUluc3RhbGxBcmdzIiwidW5pbnN0YWxsIiwibWFrZVVuaW5zdGFsbEFyZ3MiLCJ1cGRhdGUiLCJtYWtlVXBkYXRlQXJncyIsInJ1biIsIm1ha2VSdW5BcmdzIiwiY2hvaWNlcyIsIklOU1RBTExfVFlQRVMiLCJqb2luIiwiZ2V0U2VydmVyQXJncyIsInNlcnZlckFyZ3NEaXNhbGxvd2VkSW5Db25maWciLCJjb25zdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBLE1BQU1BLGNBQWMsR0FBRyxVQUF2QjtBQUNBLE1BQU1DLGNBQWMsR0FBRyxlQUF2QjtBQUNBLE1BQU1DLGVBQWUsR0FBRyxLQUF4Qjs7QUFHQSxNQUFNQyxlQUFlLEdBQUcsSUFBSUMsR0FBSixDQUFRLENBQUNDLDRCQUFELEVBQWNDLDRCQUFkLENBQVIsQ0FBeEI7O0FBRUEsTUFBTUMsWUFBWSxHQUFHQyxzQkFBYUMsV0FBYixDQUF5QkMsNEJBQXpCLENBQXJCOzs7O0FBQ0EsTUFBTUMsWUFBWSxHQUFHQyxzQkFBYUgsV0FBYixDQUF5QkMs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VDtBQUlFekIsRUFBQUEsUUFBUSxFQUFFLEtBSlo7QUFLRUcsRUFBQUEsSUFBSSxFQUFFO0FBTFIsQ0FGRixDQXJCMkMsRUErQjNDLENBQ0UsQ0FBQyxVQUFELENBREYsRUFFRTtBQUNFQyxFQUFBQSxJQUFJLEVBQUUsWUFEUjtBQUVFSyxFQUFBQSxJQUFJLEVBQUUsUUFGUjtBQUdFVCxFQUFBQSxRQUFRLEVBQUUsS0FIWjtBQUlFRyxFQUFBQSxJQUFJLEVBQUU7QUFKUixDQUZGLENBL0IyQyxDQUFSLENBQXJDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbi8vIEB0cy1pZ25vcmVcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgRHJpdmVyQ29uZmlnIGZyb20gJy4uL2RyaXZlci1jb25maWcnO1xuaW1wb3J0IHsgQVBQSVVNX0hPTUUsIERSSVZFUl9UWVBFLCBJTlNUQUxMX1RZUEVTLCBQTFVHSU5fVFlQRSB9IGZyb20gJy4uL2V4dGVuc2lvbi1jb25maWcnO1xuaW1wb3J0IFBsdWdpbkNvbmZpZyBmcm9tICcuLi9wbHVnaW4tY29uZmlnJztcbmltcG9ydCB7IHRvUGFyc2VyQXJncyB9IGZyb20gJy4uL3NjaGVtYS9jbGktYXJncyc7XG5cbmNvbnN0IERSSVZFUl9FWEFNUExFID0gJ3hjdWl0ZXN0JztcbmNvbnN0IFBMVUdJTl9FWEFNUExFID0gJ2ZpbmRfYnlfaW1hZ2UnO1xuY29uc3QgVVNFX0FMTF9QTFVHSU5TID0gJ2FsbCc7XG5cbi8qKiBAdHlwZSB7U2V0PEV4dGVuc2lvblR5cGU+fSAqL1xuY29uc3QgRVhURU5TSU9OX1RZUEVTID0gbmV3IFNldChbRFJJVkVSX1RZUEUsIFBMVUdJTl9UWVBFXSk7XG5cbmNvbnN0IGRyaXZlckNvbmZpZyA9IERyaXZlckNvbmZpZy5nZXRJbnN0YW5jZShBUFBJVU1fSE9NRSk7XG5jb25zdCBwbHVnaW5Db25maWcgPSBQbHVnaW5Db25maWcuZ2V0SW5zdGFuY2UoQVBQSVVNX0hPTUUpO1xuXG4vLyB0aGlzIHNldCBvZiBhcmdzIHdvcmtzIGZvciBib3RoIGRyaXZlcnMgYW5kIHBsdWdpbnMgKCdleHRlbnNpb25zJylcbi8qKiBAdHlwZSB7QXJndW1lbnREZWZpbml0aW9uc30gKi9cbmNvbnN0IGdsb2JhbEV4dGVuc2lvbkFyZ3MgPSBuZXcgTWFwKFtcbiAgW1snLS1qc29uJ10sIHtcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gICAgYWN0aW9uOiAnc3RvcmVfdHJ1ZScsXG4gICAgaGVscDogJ1VzZSBKU09OIGZvciBvdXRwdXQgZm9ybWF0JyxcbiAgICBkZXN0OiAnanNvbidcbiAgfV1cbl0pO1xuXG4vKipcbiAqIEJ1aWxkcyBhIFJlY29yZCBvZiBleHRlbnNpb24gdHlwZXMgdG8gYSBSZWNvcmQgb2Ygc3ViY29tbWFuZHMgdG8gdGhlaXIgYXJndW1lbnQgZGVmaW5pdGlvbnNcbiAqL1xuY29uc3QgZ2V0RXh0ZW5zaW9uQXJncyA9IF8ub25jZShmdW5jdGlvbiBnZXRFeHRlbnNpb25BcmdzICgpIHtcbiAgY29uc3QgZXh0ZW5zaW9uQXJncyA9IHt9O1xuICBmb3IgKGNvbnN0IHR5cGUgb2YgRVhURU5TSU9OX1RZUEVTKSB7XG4gICAgZXh0ZW5zaW9uQXJnc1t0eXBlXSA9IHtcbiAgICAgIGxpc3Q6IG1ha2VMaXN0QXJncyh0eXBlKSxcbiAgICAgIGluc3RhbGw6IG1ha2VJbnN0YWxsQXJncyh0eXBlKSxcbiAgICAgIHVuaW5zdGFsbDogbWFrZVVuaW5zdGFsbEFyZ3ModHlwZSksXG4gICAgICB1cGRhdGU6IG1ha2VVcGRhdGVBcmdzKHR5cGUpLFxuICAgICAgcnVuOiBtYWtlUnVuQXJncyh0eXBlKSxcbiAgICB9O1xuICB9XG4gIHJldHVybiAvKiogQHR5cGUge1JlY29yZDxFeHRlbnNpb25UeXBlLCBSZWNvcmQ8c3RyaW5nLEFyZ3VtZW50RGVmaW5pdGlvbnNbXT4+fSAqLyAoZXh0ZW5zaW9uQXJncyk7XG59KTtcblxuLyoqXG4gKiBNYWtlcyB0aGUgb3B0cyBmb3IgdGhlIGBsaXN0YCBzdWJjb21tYW5kIGZvciBlYWNoIGV4dGVuc2lvbiB0eXBlLlxuICogQHBhcmFtIHtFeHRlbnNpb25UeXBlfSB0eXBlXG4gKiBAcmV0dXJucyB7QXJndW1lbnREZWZpbml0aW9uc31cbiAqL1xuZnVuY3Rpb24gbWFrZUxpc3RBcmdzICh0eXBlKSB7XG4gIHJldHVybiBuZXcgTWFwKFtcbiAgICAuLi5nbG9iYWxFeHRlbnNpb25BcmdzLFxuICAgIFtbJy0taW5zdGFsbGVkJ10sIHtcbiAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgYWN0aW9uOiAnc3RvcmVfdHJ1ZScsXG4gICAgICBoZWxwOiBgTGlzdCBvbmx5IGluc3RhbGxlZCAke3R5cGV9c2AsXG4gICAgICBkZXN0OiAnc2hvd0luc3RhbGxlZCdcbiAgICB9XSxcbiAgICBbWyctLXVwZGF0ZXMnXSwge1xuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICBhY3Rpb246ICdzdG9yZV90cnVlJyxcbiAgICAgIGhlbHA6ICdTaG93IGluZm9ybWF0aW9uIGFib3V0IG5ld2VyIHZlcnNpb25zJyxcbiAgICAgIGRlc3Q6ICdzaG93VXBkYXRlcydcbiAgICB9XVxuICBdKTtcbn1cblxuLyoqXG4gKiBNYWtlcyB0aGUgb3B0cyBmb3IgdGhlIGBpbnN0YWxsYCBzdWJjb21tYW5kIGZvciBlYWNoIGV4dGVuc2lvbiB0eXBlXG4gKiBAcGFyYW0ge0V4dGVuc2lvblR5cGV9IHR5cGVcbiAqIEByZXR1cm5zIHtBcmd1bWVudERlZmluaXRpb25zfVxuICovXG5mdW5jdGlvbiBtYWtlSW5zdGFsbEFyZ3MgKHR5cGUpIHtcbiAgcmV0dXJuIG5ldyBNYXAoW1xuICAgIC4uLmdsb2JhbEV4dGVuc2lvbkFyZ3MsXG4gICAgW1t0eXBlXSwge1xuICAgICAgdHlwZTogJ3N0cicsXG4gICAgICBoZWxwOiBgTmFtZSBvZiB0aGUgJHt0eXBlfSB0byBpbnN0YWxsLCBmb3IgZXhhbXBsZTogYCArXG4gICAgICAgICAgICB0eXBlID09PSBEUklWRVJfVFlQRSA/IERSSVZFUl9FWEFNUExFIDogUExVR0lOX0VYQU1QTEUsXG4gICAgfV0sXG4gICAgW1snLS1zb3VyY2UnXSwge1xuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgZGVmYXVsdDogbnVsbCxcbiAgICAgIGNob2ljZXM6IElOU1RBTExfVFlQRVMsXG4gICAgICBoZWxwOiBgV2hlcmUgdG8gbG9vayBmb3IgdGhlICR7dHlwZX0gaWYgaXQgaXMgbm90IG9uZSBvZiBBcHBpdW0ncyB2ZXJpZmllZCBgICtcbiAgICAgICAgICAgIGAke3R5cGV9cy4gUG9zc2libGUgdmFsdWVzOiAke0lOU1RBTExfVFlQRVMuam9pbignLCAnKX1gLFxuICAgICAgZGVzdDogJ2luc3RhbGxUeXBlJ1xuICAgIH1dLFxuICAgIFtbJy0tcGFja2FnZSddLCB7XG4gICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICBkZWZhdWx0OiBudWxsLFxuICAgICAgdHlwZTogJ3N0cicsXG4gICAgICBoZWxwOiBgSWYgaW5zdGFsbGluZyBmcm9tIEdpdCBvciBHaXRIdWIsIHRoZSBwYWNrYWdlIG5hbWUsIGFzIGRlZmluZWQgaW4gdGhlIHBsdWdpbidzIGAgK1xuICAgICAgICAgICAgYHBhY2thZ2UuanNvbiBmaWxlIGluIHRoZSBcIm5hbWVcIiBmaWVsZCwgY2Fubm90IGJlIGRldGVybWluZWQgYXV0b21hdGljYWxseSwgYW5kIGAgK1xuICAgICAgICAgICAgYHNob3VsZCBiZSByZXBvcnRlZCBoZXJlLCBvdGhlcndpc2UgdGhlIGluc3RhbGwgd2lsbCBwcm9iYWJseSBmYWlsLmAsXG4gICAgICBkZXN0OiAncGFja2FnZU5hbWUnLFxuICAgIH1dLFxuICBdKTtcbn1cblxuXG4vKipcbiAqIE1ha2VzIHRoZSBvcHRzIGZvciB0aGUgYHVuaW5zdGFsbGAgc3ViY29tbWFuZCBmb3IgZWFjaCBleHRlbnNpb24gdHlwZVxuICogQHBhcmFtIHtFeHRlbnNpb25UeXBlfSB0eXBlXG4gKiBAcmV0dXJucyB7QXJndW1lbnREZWZpbml0aW9uc31cbiAqL1xuZnVuY3Rpb24gbWFrZVVuaW5zdGFsbEFyZ3MgKHR5cGUpIHtcbiAgcmV0dXJuIG5ldyBNYXAoW1xuICAgIC4uLmdsb2JhbEV4dGVuc2lvbkFyZ3MsXG4gICAgW1t0eXBlXSwge1xuICAgICAgdHlwZTogJ3N0cicsXG4gICAgICBoZWxwOiAnTmFtZSBvZiB0aGUgZHJpdmVyIHRvIHVuaW5zdGFsbCwgZm9yIGV4YW1wbGU6ICcgK1xuICAgICAgICAgICAgdHlwZSA9PT0gRFJJVkVSX1RZUEUgPyBEUklWRVJfRVhBTVBMRSA6IFBMVUdJTl9FWEFNUExFXG4gICAgfV0sXG4gIF0pO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSBvcHRzIGZvciB0aGUgYHVwZGF0ZWAgc3ViY29tbWFuZCBmb3IgZWFjaCBleHRlbnNpb24gdHlwZVxuICogQHBhcmFtIHtFeHRlbnNpb25UeXBlfSB0eXBlXG4gKiBAcmV0dXJucyB7QXJndW1lbnREZWZpbml0aW9uc31cbiAqL1xuZnVuY3Rpb24gbWFrZVVwZGF0ZUFyZ3MgKHR5cGUpIHtcbiAgcmV0dXJuIG5ldyBNYXAoW1xuICAgIC4uLmdsb2JhbEV4dGVuc2lvbkFyZ3MsXG4gICAgW1t0eXBlXSwge1xuICAgICAgdHlwZTogJ3N0cicsXG4gICAgICBoZWxwOiBgTmFtZSBvZiB0aGUgJHt0eXBlfSB0byB1cGRhdGUsIG9yIHRoZSB3b3JkIFwiaW5zdGFsbGVkXCIgdG8gdXBkYXRlIGFsbCBpbnN0YWxsZWQgYCArXG4gICAgICAgICAgICBgJHt0eXBlfXMuIFRvIHNlZSBhdmFpbGFibGUgdXBkYXRlcywgcnVuIFwiYXBwaXVtICR7dHlwZX0gbGlzdCAtLWluc3RhbGxlZCAtLXVwZGF0ZXNcIi4gYCArXG4gICAgICAgICAgICAnRm9yIGV4YW1wbGU6ICcgKyB0eXBlID09PSBEUklWRVJfVFlQRSA/IERSSVZFUl9FWEFNUExFIDogUExVR0lOX0VYQU1QTEUsXG4gICAgfV0sXG4gICAgW1snLS11bnNhZmUnXSwge1xuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICBhY3Rpb246ICdzdG9yZV90cnVlJyxcbiAgICAgIGhlbHA6IGBJbmNsdWRlIHVwZGF0ZXMgdGhhdCBtaWdodCBoYXZlIGEgbmV3IG1ham9yIHJldmlzaW9uLCBhbmQgcG90ZW50aWFsbHkgaW5jbHVkZSBgICtcbiAgICAgICAgICAgIGBicmVha2luZyBjaGFuZ2VzYCxcbiAgICB9XSxcbiAgXSk7XG59XG5cbi8qKlxuICogTWFrZXMgdGhlIG9wdHMgZm9yIHRoZSBgcnVuYCBzdWJjb21tYW5kIGZvciBlYWNoIGV4dGVuc2lvbiB0eXBlXG4gKiBAcGFyYW0ge0V4dGVuc2lvblR5cGV9IHR5cGVcbiAqIEByZXR1cm5zIHtBcmd1bWVudERlZmluaXRpb25zfVxuICovXG5mdW5jdGlvbiBtYWtlUnVuQXJncyAodHlwZSkge1xuICByZXR1cm4gbmV3IE1hcChbXG4gICAgLi4uZ2xvYmFsRXh0ZW5zaW9uQXJncyxcbiAgICBbW3R5cGVdLCB7XG4gICAgICB0eXBlOiAnc3RyJyxcbiAgICAgIGhlbHA6IGBOYW1lIG9mIHRoZSAke3R5cGV9IHRvIHJ1biBhIHNjcmlwdCBmcm9tLCBmb3IgZXhhbXBsZTogYCArXG4gICAgICAgICAgICB0eXBlID09PSBEUklWRVJfVFlQRSA/IERSSVZFUl9FWEFNUExFIDogUExVR0lOX0VYQU1QTEUsXG4gICAgfV0sXG4gICAgW1snc2NyaXB0TmFtZSddLCB7XG4gICAgICBkZWZhdWx0OiBudWxsLFxuICAgICAgdHlwZTogJ3N0cicsXG4gICAgICBoZWxwOiBgTmFtZSBvZiB0aGUgc2NyaXB0IHRvIHJ1biBmcm9tIHRoZSAke3R5cGV9LiBUaGUgc2NyaXB0IG5hbWUgbXVzdCBiZSBjYWNoZWQgYCArXG4gICAgICAgICAgICBgaW5zaWRlIHRoZSBcInNjcmlwdHNcIiBmaWVsZCB1bmRlciBcImFwcGl1bVwiIGluc2lkZSB0aGUgJHt0eXBlfSdzIFwicGFja2FnZS5qc29uXCIgZmlsZWBcbiAgICB9XSxcbiAgXSk7XG59XG5cbi8qKlxuICogRGVyaXZlcyB0aGUgb3B0aW9ucyBmb3IgdGhlIGBzZXJ2ZXJgIGNvbW1hbmQgZnJvbSB0aGUgc2NoZW1hLCBhbmQgYWRkcyB0aGUgYXJndW1lbnRzXG4gKiB3aGljaCBhcmUgZGlzYWxsb3dlZCBpbiB0aGUgY29uZmlnIGZpbGUuXG4gKiBAcmV0dXJucyB7QXJndW1lbnREZWZpbml0aW9uc31cbiAqL1xuZnVuY3Rpb24gZ2V0U2VydmVyQXJncyAoKSB7XG4gIHJldHVybiBuZXcgTWFwKFtcbiAgICAuLi50b1BhcnNlckFyZ3MoKSxcbiAgICAuLi5zZXJ2ZXJBcmdzRGlzYWxsb3dlZEluQ29uZmlnLFxuICBdKTtcbn1cblxuLyoqXG4gKiBUaGVzZSBkb24ndCBtYWtlIHNlbnNlIGluIHRoZSBjb250ZXh0IG9mIGEgY29uZmlnIGZpbGUgZm9yIG9idmlvdXMgcmVhc29ucy5cbiAqIEB0eXBlIHtBcmd1bWVudERlZmluaXRpb25zfVxuICovXG5jb25zdCBzZXJ2ZXJBcmdzRGlzYWxsb3dlZEluQ29uZmlnID0gbmV3IE1hcChbXG4gIFtcbiAgICBbJy0tc2hlbGwnXSxcbiAgICB7XG4gICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICBoZWxwOiAnRW50ZXIgUkVQTCBtb2RlJyxcbiAgICAgIGFjdGlvbjogJ3N0b3JlX2NvbnN0JyxcbiAgICAgIGNvbnN0OiB0cnVlLFxuICAgICAgZGVzdDogJ3NoZWxsJyxcbiAgICB9LFxuICBdLFxuICBbXG4gICAgWyctLXNob3ctYnVpbGQtaW5mbyddLFxuICAgIHtcbiAgICAgIGRlc3Q6ICdzaG93QnVpbGRJbmZvJyxcbiAgICAgIGFjdGlvbjogJ3N0b3JlX2NvbnN0JyxcbiAgICAgIGNvbnN0OiB0cnVlLFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgaGVscDogJ1Nob3cgaW5mbyBhYm91dCB0aGUgQXBwaXVtIGJ1aWxkIGFuZCBleGl0JyxcbiAgICB9LFxuICBdLFxuICBbXG4gICAgWyctLXNob3ctY29uZmlnJ10sXG4gICAge1xuICAgICAgZGVzdDogJ3Nob3dDb25maWcnLFxuICAgICAgYWN0aW9uOiAnc3RvcmVfY29uc3QnLFxuICAgICAgY29uc3Q6IHRydWUsXG4gICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICBoZWxwOiAnU2hvdyB0aGUgY3VycmVudCBBcHBpdW0gY29uZmlndXJhdGlvbiBhbmQgZXhpdCcsXG4gICAgfVxuICBdLFxuICBbXG4gICAgWyctLWNvbmZpZyddLFxuICAgIHtcbiAgICAgIGRlc3Q6ICdjb25maWdGaWxlJyxcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgaGVscDogJ0V4cGxpY2l0IHBhdGggdG8gQXBwaXVtIGNvbmZpZ3VyYXRpb24gZmlsZScsXG4gICAgfSxcbiAgXSxcbl0pO1xuXG5leHBvcnQge1xuICBnZXRTZXJ2ZXJBcmdzLFxuICBnZXRFeHRlbnNpb25BcmdzLFxuICBVU0VfQUxMX1BMVUdJTlMsXG4gIGRyaXZlckNvbmZpZyxcbiAgcGx1Z2luQ29uZmlnLFxuICBBUFBJVU1fSE9NRVxufTtcblxuLyoqXG4gKiBBbGlhc1xuICogQHR5cGVkZWYge2ltcG9ydCgnLi4vZXh0LWNvbmZpZy1pbycpLkV4dGVuc2lvblR5cGV9IEV4dGVuc2lvblR5cGVcbiAqL1xuXG4vKipcbiAqIEEgdHVwbGUgb2YgYXJndW1lbnQgYWxpYXNlcyBhbmQgYXJndW1lbnQgb3B0aW9uc1xuICogQHR5cGVkZWYge01hcDxzdHJpbmdbXSxpbXBvcnQoJ2FyZ3BhcnNlJykuQXJndW1lbnRPcHRpb25zPn0gQXJndW1lbnREZWZpbml0aW9uc1xuICovXG4iXSwiZmlsZSI6ImxpYi9jbGkvYXJncy5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLiJ9
|
|
143
|
+
}]]);
|
|
144
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9jbGkvYXJncy5qcyJdLCJuYW1lcyI6WyJEUklWRVJfRVhBTVBMRSIsIlBMVUdJTl9FWEFNUExFIiwiSU5TVEFMTF9UWVBFU19BUlJBWSIsIklOU1RBTExfVFlQRVMiLCJFWFRFTlNJT05fVFlQRVMiLCJTZXQiLCJEUklWRVJfVFlQRSIsIlBMVUdJTl9UWVBFIiwiZ2xvYmFsRXh0ZW5zaW9uQXJncyIsIk1hcCIsInJlcXVpcmVkIiwiZGVmYXVsdCIsImFjdGlvbiIsImhlbHAiLCJkZXN0IiwiZ2V0RXh0ZW5zaW9uQXJncyIsIl8iLCJtZW1vaXplIiwiZXh0ZW5zaW9uQXJncyIsInR5cGUiLCJFWFRfU1VCQ09NTUFORF9MSVNUIiwibWFrZUxpc3RBcmdzIiwiRVhUX1NVQkNPTU1BTkRfSU5TVEFMTCIsIm1ha2VJbnN0YWxsQXJncyIsIkVYVF9TVUJDT01NQU5EX1VOSU5TVEFMTCIsIm1ha2VVbmluc3RhbGxBcmdzIiwiRVhUX1NVQkNPTU1BTkRfVVBEQVRFIiwibWFrZVVwZGF0ZUFyZ3MiLCJFWFRfU1VCQ09NTUFORF9SVU4iLCJtYWtlUnVuQXJncyIsImNob2ljZXMiLCJqb2luIiwiZ2V0U2VydmVyQXJncyIsInNlcnZlckFyZ3NEaXNhbGxvd2VkSW5Db25maWciLCJjb25zdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0EsTUFBTUEsY0FBYyxHQUFHLFVBQXZCO0FBQ0EsTUFBTUMsY0FBYyxHQUFHLGVBQXZCO0FBTUEsTUFBTUMsbUJBQW1CLEdBQUcsQ0FBQyxHQUFHQyw4QkFBSixDQUE1QjtBQUdBLE1BQU1DLGVBQWUsR0FBRyxJQUFJQyxHQUFKLENBQVEsQ0FBQ0Msc0JBQUQsRUFBY0Msc0JBQWQsQ0FBUixDQUF4QjtBQUlBLE1BQU1DLG1CQUFtQixHQUFHLElBQUlDLEdBQUosQ0FBUSxDQUNsQyxDQUFDLENBQUMsUUFBRCxDQUFELEVBQWE7QUFDWEMsRUFBQUEsUUFBUSxFQUFF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LEVBRUU7QUFDRUMsRUFBQUEsSUFBSSxFQUFFLFlBRFI7QUFFRUssRUFBQUEsSUFBSSxFQUFFLFFBRlI7QUFHRVQsRUFBQUEsUUFBUSxFQUFFLEtBSFo7QUFJRUcsRUFBQUEsSUFBSSxFQUFFO0FBSlIsQ0FGRixDQS9CMkMsQ0FBUixDQUFyQyIsInNvdXJjZXNDb250ZW50IjpbIlxuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IERSSVZFUl9UWVBFLCBQTFVHSU5fVFlQRSwgRVhUX1NVQkNPTU1BTkRfSU5TVEFMTCwgRVhUX1NVQkNPTU1BTkRfTElTVCwgRVhUX1NVQkNPTU1BTkRfUlVOLCBFWFRfU1VCQ09NTUFORF9VTklOU1RBTEwsIEVYVF9TVUJDT01NQU5EX1VQREFURSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBJTlNUQUxMX1RZUEVTIH0gZnJvbSAnLi4vZXh0ZW5zaW9uL2V4dGVuc2lvbi1jb25maWcnO1xuaW1wb3J0IHsgdG9QYXJzZXJBcmdzIH0gZnJvbSAnLi4vc2NoZW1hL2NsaS1hcmdzJztcbmNvbnN0IERSSVZFUl9FWEFNUExFID0gJ3hjdWl0ZXN0JztcbmNvbnN0IFBMVUdJTl9FWEFNUExFID0gJ2ZpbmRfYnlfaW1hZ2UnO1xuXG4vKipcbiAqIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugd2UgcGFzcyB0aGUgYXJyYXkgaW50byBgYXJncGFyc2VgLiBgYXJncGFyc2VgIGlzIGJhZCBhbmQgbXV0YXRlcyB0aGluZ3MuIFdlIGRvbid0IHdhbnQgdGhhdC5cbiAqIEJhZCBgYXJncGFyc2VgISBCYWQhXG4gKi9cbmNvbnN0IElOU1RBTExfVFlQRVNfQVJSQVkgPSBbLi4uSU5TVEFMTF9UWVBFU107XG5cbi8qKiBAdHlwZSB7U2V0PEV4dGVuc2lvblR5cGU+fSAqL1xuY29uc3QgRVhURU5TSU9OX1RZUEVTID0gbmV3IFNldChbRFJJVkVSX1RZUEUsIFBMVUdJTl9UWVBFXSk7XG5cbi8vIHRoaXMgc2V0IG9mIGFyZ3Mgd29ya3MgZm9yIGJvdGggZHJpdmVycyBhbmQgcGx1Z2lucyAoJ2V4dGVuc2lvbnMnKVxuLyoqIEB0eXBlIHtBcmd1bWVudERlZmluaXRpb25zfSAqL1xuY29uc3QgZ2xvYmFsRXh0ZW5zaW9uQXJncyA9IG5ldyBNYXAoW1xuICBbWyctLWpzb24nXSwge1xuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICBhY3Rpb246ICdzdG9yZV90cnVlJyxcbiAgICBoZWxwOiAnVXNlIEpTT04gZm9yIG91dHB1dCBmb3JtYXQnLFxuICAgIGRlc3Q6ICdqc29uJ1xuICB9XVxuXSk7XG5cbi8qKlxuICogQnVpbGRzIGEgUmVjb3JkIG9mIGV4dGVuc2lvbiB0eXBlcyB0byBhIFJlY29yZCBvZiBzdWJjb21tYW5kcyB0byB0aGVpciBhcmd1bWVudCBkZWZpbml0aW9uc1xuICovXG5jb25zdCBnZXRFeHRlbnNpb25BcmdzID0gXy5tZW1vaXplKGZ1bmN0aW9uIGdldEV4dGVuc2lvbkFyZ3MgKCkge1xuICBjb25zdCBleHRlbnNpb25BcmdzID0ge307XG4gIGZvciAoY29uc3QgdHlwZSBvZiBFWFRFTlNJT05fVFlQRVMpIHtcbiAgICBleHRlbnNpb25BcmdzW3R5cGVdID0ge1xuICAgICAgW0VYVF9TVUJDT01NQU5EX0xJU1RdOiBtYWtlTGlzdEFyZ3ModHlwZSksXG4gICAgICBbRVhUX1NVQkNPTU1BTkRfSU5TVEFMTF06IG1ha2VJbnN0YWxsQXJncyh0eXBlKSxcbiAgICAgIFtFWFRfU1VCQ09NTUFORF9VTklOU1RBTExdOiBtYWtlVW5pbnN0YWxsQXJncyh0eXBlKSxcbiAgICAgIFtFWFRfU1VCQ09NTUFORF9VUERBVEVdOiBtYWtlVXBkYXRlQXJncyh0eXBlKSxcbiAgICAgIFtFWFRfU1VCQ09NTUFORF9SVU5dOiBtYWtlUnVuQXJncyh0eXBlKSxcbiAgICB9O1xuICB9XG4gIHJldHVybiAvKiogQHR5cGUge1JlY29yZDxFeHRlbnNpb25UeXBlLCBSZWNvcmQ8aW1wb3J0KCcuLi8uLi90eXBlcy9jbGknKS5DbGlFeHRlbnNpb25TdWJjb21tYW5kLEFyZ3VtZW50RGVmaW5pdGlvbnM+Pn0gKi8oZXh0ZW5zaW9uQXJncyk7XG59KTtcblxuLyoqXG4gKiBNYWtlcyB0aGUgb3B0cyBmb3IgdGhlIGBsaXN0YCBzdWJjb21tYW5kIGZvciBlYWNoIGV4dGVuc2lvbiB0eXBlLlxuICogQHBhcmFtIHtFeHRlbnNpb25UeXBlfSB0eXBlXG4gKiBAcmV0dXJucyB7QXJndW1lbnREZWZpbml0aW9uc31cbiAqL1xuZnVuY3Rpb24gbWFrZUxpc3RBcmdzICh0eXBlKSB7XG4gIHJldHVybiBuZXcgTWFwKFtcbiAgICAuLi5nbG9iYWxFeHRlbnNpb25BcmdzLFxuICAgIFtbJy0taW5zdGFsbGVkJ10sIHtcbiAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgYWN0aW9uOiAnc3RvcmVfdHJ1ZScsXG4gICAgICBoZWxwOiBgTGlzdCBvbmx5IGluc3RhbGxlZCAke3R5cGV9c2AsXG4gICAgICBkZXN0OiAnc2hvd0luc3RhbGxlZCdcbiAgICB9XSxcbiAgICBbWyctLXVwZGF0ZXMnXSwge1xuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICBhY3Rpb246ICdzdG9yZV90cnVlJyxcbiAgICAgIGhlbHA6ICdTaG93IGluZm9ybWF0aW9uIGFib3V0IG5ld2VyIHZlcnNpb25zJyxcbiAgICAgIGRlc3Q6ICdzaG93VXBkYXRlcydcbiAgICB9XVxuICBdKTtcbn1cblxuLyoqXG4gKiBNYWtlcyB0aGUgb3B0cyBmb3IgdGhlIGBpbnN0YWxsYCBzdWJjb21tYW5kIGZvciBlYWNoIGV4dGVuc2lvbiB0eXBlXG4gKiBAcGFyYW0ge0V4dGVuc2lvblR5cGV9IHR5cGVcbiAqIEByZXR1cm5zIHtBcmd1bWVudERlZmluaXRpb25zfVxuICovXG5mdW5jdGlvbiBtYWtlSW5zdGFsbEFyZ3MgKHR5cGUpIHtcbiAgcmV0dXJuIG5ldyBNYXAoW1xuICAgIC4uLmdsb2JhbEV4dGVuc2lvbkFyZ3MsXG4gICAgW1t0eXBlXSwge1xuICAgICAgdHlwZTogJ3N0cicsXG4gICAgICBoZWxwOiBgTmFtZSBvZiB0aGUgJHt0eXBlfSB0byBpbnN0YWxsLCBmb3IgZXhhbXBsZTogYCArXG4gICAgICAgICAgICB0eXBlID09PSBEUklWRVJfVFlQRSA/IERSSVZFUl9FWEFNUExFIDogUExVR0lOX0VYQU1QTEUsXG4gICAgfV0sXG4gICAgW1snLS1zb3VyY2UnXSwge1xuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgZGVmYXVsdDogbnVsbCxcbiAgICAgIGNob2ljZXM6IElOU1RBTExfVFlQRVNfQVJSQVksXG4gICAgICBoZWxwOiBgV2hlcmUgdG8gbG9vayBmb3IgdGhlICR7dHlwZX0gaWYgaXQgaXMgbm90IG9uZSBvZiBBcHBpdW0ncyB2ZXJpZmllZCBgICtcbiAgICAgICAgICAgIGAke3R5cGV9cy4gUG9zc2libGUgdmFsdWVzOiAke0lOU1RBTExfVFlQRVNfQVJSQVkuam9pbignLCAnKX1gLFxuICAgICAgZGVzdDogJ2luc3RhbGxUeXBlJ1xuICAgIH1dLFxuICAgIFtbJy0tcGFja2FnZSddLCB7XG4gICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICBkZWZhdWx0OiBudWxsLFxuICAgICAgdHlwZTogJ3N0cicsXG4gICAgICBoZWxwOiBgSWYgaW5zdGFsbGluZyBmcm9tIEdpdCBvciBHaXRIdWIsIHRoZSBwYWNrYWdlIG5hbWUsIGFzIGRlZmluZWQgaW4gdGhlIHBsdWdpbidzIGAgK1xuICAgICAgICAgICAgYHBhY2thZ2UuanNvbiBmaWxlIGluIHRoZSBcIm5hbWVcIiBmaWVsZCwgY2Fubm90IGJlIGRldGVybWluZWQgYXV0b21hdGljYWxseSwgYW5kIGAgK1xuICAgICAgICAgICAgYHNob3VsZCBiZSByZXBvcnRlZCBoZXJlLCBvdGhlcndpc2UgdGhlIGluc3RhbGwgd2lsbCBwcm9iYWJseSBmYWlsLmAsXG4gICAgICBkZXN0OiAncGFja2FnZU5hbWUnLFxuICAgIH1dLFxuICBdKTtcbn1cblxuXG4vKipcbiAqIE1ha2VzIHRoZSBvcHRzIGZvciB0aGUgYHVuaW5zdGFsbGAgc3ViY29tbWFuZCBmb3IgZWFjaCBleHRlbnNpb24gdHlwZVxuICogQHBhcmFtIHtFeHRlbnNpb25UeXBlfSB0eXBlXG4gKiBAcmV0dXJucyB7QXJndW1lbnREZWZpbml0aW9uc31cbiAqL1xuZnVuY3Rpb24gbWFrZVVuaW5zdGFsbEFyZ3MgKHR5cGUpIHtcbiAgcmV0dXJuIG5ldyBNYXAoW1xuICAgIC4uLmdsb2JhbEV4dGVuc2lvbkFyZ3MsXG4gICAgW1t0eXBlXSwge1xuICAgICAgdHlwZTogJ3N0cicsXG4gICAgICBoZWxwOiAnTmFtZSBvZiB0aGUgZHJpdmVyIHRvIHVuaW5zdGFsbCwgZm9yIGV4YW1wbGU6ICcgK1xuICAgICAgICAgICAgdHlwZSA9PT0gRFJJVkVSX1RZUEUgPyBEUklWRVJfRVhBTVBMRSA6IFBMVUdJTl9FWEFNUExFXG4gICAgfV0sXG4gIF0pO1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSBvcHRzIGZvciB0aGUgYHVwZGF0ZWAgc3ViY29tbWFuZCBmb3IgZWFjaCBleHRlbnNpb24gdHlwZVxuICogQHBhcmFtIHtFeHRlbnNpb25UeXBlfSB0eXBlXG4gKiBAcmV0dXJucyB7QXJndW1lbnREZWZpbml0aW9uc31cbiAqL1xuZnVuY3Rpb24gbWFrZVVwZGF0ZUFyZ3MgKHR5cGUpIHtcbiAgcmV0dXJuIG5ldyBNYXAoW1xuICAgIC4uLmdsb2JhbEV4dGVuc2lvbkFyZ3MsXG4gICAgW1t0eXBlXSwge1xuICAgICAgdHlwZTogJ3N0cicsXG4gICAgICBoZWxwOiBgTmFtZSBvZiB0aGUgJHt0eXBlfSB0byB1cGRhdGUsIG9yIHRoZSB3b3JkIFwiaW5zdGFsbGVkXCIgdG8gdXBkYXRlIGFsbCBpbnN0YWxsZWQgYCArXG4gICAgICAgICAgICBgJHt0eXBlfXMuIFRvIHNlZSBhdmFpbGFibGUgdXBkYXRlcywgcnVuIFwiYXBwaXVtICR7dHlwZX0gbGlzdCAtLWluc3RhbGxlZCAtLXVwZGF0ZXNcIi4gYCArXG4gICAgICAgICAgICAnRm9yIGV4YW1wbGU6ICcgKyB0eXBlID09PSBEUklWRVJfVFlQRSA/IERSSVZFUl9FWEFNUExFIDogUExVR0lOX0VYQU1QTEUsXG4gICAgfV0sXG4gICAgW1snLS11bnNhZmUnXSwge1xuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICBhY3Rpb246ICdzdG9yZV90cnVlJyxcbiAgICAgIGhlbHA6IGBJbmNsdWRlIHVwZGF0ZXMgdGhhdCBtaWdodCBoYXZlIGEgbmV3IG1ham9yIHJldmlzaW9uLCBhbmQgcG90ZW50aWFsbHkgaW5jbHVkZSBgICtcbiAgICAgICAgICAgIGBicmVha2luZyBjaGFuZ2VzYCxcbiAgICB9XSxcbiAgXSk7XG59XG5cbi8qKlxuICogTWFrZXMgdGhlIG9wdHMgZm9yIHRoZSBgcnVuYCBzdWJjb21tYW5kIGZvciBlYWNoIGV4dGVuc2lvbiB0eXBlXG4gKiBAcGFyYW0ge0V4dGVuc2lvblR5cGV9IHR5cGVcbiAqIEByZXR1cm5zIHtBcmd1bWVudERlZmluaXRpb25zfVxuICovXG5mdW5jdGlvbiBtYWtlUnVuQXJncyAodHlwZSkge1xuICByZXR1cm4gbmV3IE1hcChbXG4gICAgLi4uZ2xvYmFsRXh0ZW5zaW9uQXJncyxcbiAgICBbW3R5cGVdLCB7XG4gICAgICB0eXBlOiAnc3RyJyxcbiAgICAgIGhlbHA6IGBOYW1lIG9mIHRoZSAke3R5cGV9IHRvIHJ1biBhIHNjcmlwdCBmcm9tLCBmb3IgZXhhbXBsZTogYCArXG4gICAgICAgICAgICB0eXBlID09PSBEUklWRVJfVFlQRSA/IERSSVZFUl9FWEFNUExFIDogUExVR0lOX0VYQU1QTEUsXG4gICAgfV0sXG4gICAgW1snc2NyaXB0TmFtZSddLCB7XG4gICAgICBkZWZhdWx0OiBudWxsLFxuICAgICAgdHlwZTogJ3N0cicsXG4gICAgICBoZWxwOiBgTmFtZSBvZiB0aGUgc2NyaXB0IHRvIHJ1biBmcm9tIHRoZSAke3R5cGV9LiBUaGUgc2NyaXB0IG5hbWUgbXVzdCBiZSBjYWNoZWQgYCArXG4gICAgICAgICAgICBgaW5zaWRlIHRoZSBcInNjcmlwdHNcIiBmaWVsZCB1bmRlciBcImFwcGl1bVwiIGluc2lkZSB0aGUgJHt0eXBlfSdzIFwicGFja2FnZS5qc29uXCIgZmlsZWBcbiAgICB9XSxcbiAgXSk7XG59XG5cbi8qKlxuICogRGVyaXZlcyB0aGUgb3B0aW9ucyBmb3IgdGhlIGBzZXJ2ZXJgIGNvbW1hbmQgZnJvbSB0aGUgc2NoZW1hLCBhbmQgYWRkcyB0aGUgYXJndW1lbnRzXG4gKiB3aGljaCBhcmUgZGlzYWxsb3dlZCBpbiB0aGUgY29uZmlnIGZpbGUuXG4gKiBAcmV0dXJucyB7QXJndW1lbnREZWZpbml0aW9uc31cbiAqL1xuZnVuY3Rpb24gZ2V0U2VydmVyQXJncyAoKSB7XG4gIHJldHVybiBuZXcgTWFwKFtcbiAgICAuLi50b1BhcnNlckFyZ3MoKSxcbiAgICAuLi5zZXJ2ZXJBcmdzRGlzYWxsb3dlZEluQ29uZmlnLFxuICBdKTtcbn1cblxuLyoqXG4gKiBUaGVzZSBkb24ndCBtYWtlIHNlbnNlIGluIHRoZSBjb250ZXh0IG9mIGEgY29uZmlnIGZpbGUgZm9yIG9idmlvdXMgcmVhc29ucy5cbiAqIEB0eXBlIHtBcmd1bWVudERlZmluaXRpb25zfVxuICovXG5jb25zdCBzZXJ2ZXJBcmdzRGlzYWxsb3dlZEluQ29uZmlnID0gbmV3IE1hcChbXG4gIFtcbiAgICBbJy0tc2hlbGwnXSxcbiAgICB7XG4gICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICBoZWxwOiAnRW50ZXIgUkVQTCBtb2RlJyxcbiAgICAgIGFjdGlvbjogJ3N0b3JlX2NvbnN0JyxcbiAgICAgIGNvbnN0OiB0cnVlLFxuICAgICAgZGVzdDogJ3NoZWxsJyxcbiAgICB9LFxuICBdLFxuICBbXG4gICAgWyctLXNob3ctYnVpbGQtaW5mbyddLFxuICAgIHtcbiAgICAgIGRlc3Q6ICdzaG93QnVpbGRJbmZvJyxcbiAgICAgIGFjdGlvbjogJ3N0b3JlX2NvbnN0JyxcbiAgICAgIGNvbnN0OiB0cnVlLFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgaGVscDogJ1Nob3cgaW5mbyBhYm91dCB0aGUgQXBwaXVtIGJ1aWxkIGFuZCBleGl0JyxcbiAgICB9LFxuICBdLFxuICBbXG4gICAgWyctLXNob3ctY29uZmlnJ10sXG4gICAge1xuICAgICAgZGVzdDogJ3Nob3dDb25maWcnLFxuICAgICAgYWN0aW9uOiAnc3RvcmVfY29uc3QnLFxuICAgICAgY29uc3Q6IHRydWUsXG4gICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICBoZWxwOiAnU2hvdyB0aGUgY3VycmVudCBBcHBpdW0gY29uZmlndXJhdGlvbiBhbmQgZXhpdCcsXG4gICAgfVxuICBdLFxuICBbXG4gICAgWyctLWNvbmZpZyddLFxuICAgIHtcbiAgICAgIGRlc3Q6ICdjb25maWdGaWxlJyxcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgaGVscDogJ0V4cGxpY2l0IHBhdGggdG8gQXBwaXVtIGNvbmZpZ3VyYXRpb24gZmlsZScsXG4gICAgfSxcbiAgXSxcbl0pO1xuXG5leHBvcnQge1xuICBnZXRTZXJ2ZXJBcmdzLFxuICBnZXRFeHRlbnNpb25BcmdzXG59O1xuXG4vKipcbiAqIEFsaWFzXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCcuLi9leHRlbnNpb24vbWFuaWZlc3QnKS5FeHRlbnNpb25UeXBlfSBFeHRlbnNpb25UeXBlXG4gKi9cblxuLyoqXG4gKiBBIHR1cGxlIG9mIGFyZ3VtZW50IGFsaWFzZXMgYW5kIGFyZ3VtZW50IG9wdGlvbnNcbiAqIEB0eXBlZGVmIHtNYXA8c3RyaW5nW10saW1wb3J0KCdhcmdwYXJzZScpLkFyZ3VtZW50T3B0aW9ucz59IEFyZ3VtZW50RGVmaW5pdGlvbnNcbiAqL1xuIl19
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @extends {ExtensionCommand<import('../extension/manifest').DriverType>}
|
|
3
|
+
*/
|
|
4
|
+
export default class DriverCommand extends ExtensionCommand<"driver"> {
|
|
5
|
+
/**
|
|
6
|
+
* @param {DriverCommandOptions} opts
|
|
7
|
+
*/
|
|
8
|
+
constructor({ config, json }: DriverCommandOptions);
|
|
9
|
+
install({ driver, installType, packageName }: {
|
|
10
|
+
driver: any;
|
|
11
|
+
installType: any;
|
|
12
|
+
packageName: any;
|
|
13
|
+
}): Promise<import("./extension-command").ExtRecord<"driver">>;
|
|
14
|
+
uninstall({ driver }: {
|
|
15
|
+
driver: any;
|
|
16
|
+
}): Promise<import("./extension-command").ExtRecord<"driver">>;
|
|
17
|
+
update({ driver, unsafe }: {
|
|
18
|
+
driver: any;
|
|
19
|
+
unsafe: any;
|
|
20
|
+
}): Promise<import("./extension-command").ExtensionUpdateResult>;
|
|
21
|
+
run({ driver, scriptName }: {
|
|
22
|
+
driver: any;
|
|
23
|
+
scriptName: any;
|
|
24
|
+
}): Promise<import("./extension-command").RunOutput>;
|
|
25
|
+
getPostInstallText({ extName, extData }: {
|
|
26
|
+
extName: any;
|
|
27
|
+
extData: any;
|
|
28
|
+
}): string;
|
|
29
|
+
validateExtensionFields(appiumPkgData: any): void;
|
|
30
|
+
}
|
|
31
|
+
export type DriverCommandOptions = {
|
|
32
|
+
config: import('../extension/extension-config').ExtensionConfig<import('../extension/manifest').DriverType>;
|
|
33
|
+
json: boolean;
|
|
34
|
+
};
|
|
35
|
+
import ExtensionCommand from "./extension-command";
|
|
36
|
+
//# sourceMappingURL=driver-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver-command.d.ts","sourceRoot":"","sources":["../../../lib/cli/driver-command.js"],"names":[],"mappings":"AAMA;;GAEG;AACH;IAEE;;OAEG;IACH,8BAFW,oBAAoB,EAK9B;IAED;;;;mEAEC;IAED;;mEAEC;IAED;;;qEAEC;IAED;;;yDAEC;IAED;;;eAIC;IAED,kDAUC;CAEF;;YAIa,OAAO,+BAA+B,EAAE,eAAe,CAAC,OAAO,uBAAuB,EAAE,UAAU,CAAC;UACnG,OAAO"}
|
|
@@ -13,9 +13,9 @@ var _lodash = _interopRequireDefault(require("lodash"));
|
|
|
13
13
|
|
|
14
14
|
var _extensionCommand = _interopRequireDefault(require("./extension-command"));
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _constants = require("../constants");
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
require("@colors/colors");
|
|
19
19
|
|
|
20
20
|
const REQ_DRIVER_FIELDS = ['driverName', 'automationName', 'platformNames', 'mainClass'];
|
|
21
21
|
|
|
@@ -26,10 +26,9 @@ class DriverCommand extends _extensionCommand.default {
|
|
|
26
26
|
}) {
|
|
27
27
|
super({
|
|
28
28
|
config,
|
|
29
|
-
json
|
|
30
|
-
type: _extensionConfig.DRIVER_TYPE
|
|
29
|
+
json
|
|
31
30
|
});
|
|
32
|
-
this.knownExtensions =
|
|
31
|
+
this.knownExtensions = _constants.KNOWN_DRIVERS;
|
|
33
32
|
}
|
|
34
33
|
|
|
35
34
|
async install({
|
|
@@ -37,7 +36,7 @@ class DriverCommand extends _extensionCommand.default {
|
|
|
37
36
|
installType,
|
|
38
37
|
packageName
|
|
39
38
|
}) {
|
|
40
|
-
return await super.
|
|
39
|
+
return await super._install({
|
|
41
40
|
ext: driver,
|
|
42
41
|
installType,
|
|
43
42
|
packageName
|
|
@@ -47,7 +46,7 @@ class DriverCommand extends _extensionCommand.default {
|
|
|
47
46
|
async uninstall({
|
|
48
47
|
driver
|
|
49
48
|
}) {
|
|
50
|
-
return await super.
|
|
49
|
+
return await super._uninstall({
|
|
51
50
|
ext: driver
|
|
52
51
|
});
|
|
53
52
|
}
|
|
@@ -56,7 +55,7 @@ class DriverCommand extends _extensionCommand.default {
|
|
|
56
55
|
driver,
|
|
57
56
|
unsafe
|
|
58
57
|
}) {
|
|
59
|
-
return await super.
|
|
58
|
+
return await super._update({
|
|
60
59
|
ext: driver,
|
|
61
60
|
unsafe
|
|
62
61
|
});
|
|
@@ -66,7 +65,7 @@ class DriverCommand extends _extensionCommand.default {
|
|
|
66
65
|
driver,
|
|
67
66
|
scriptName
|
|
68
67
|
}) {
|
|
69
|
-
return await super.
|
|
68
|
+
return await super._run({
|
|
70
69
|
ext: driver,
|
|
71
70
|
scriptName
|
|
72
71
|
});
|
|
@@ -89,7 +88,5 @@ class DriverCommand extends _extensionCommand.default {
|
|
|
89
88
|
|
|
90
89
|
}
|
|
91
90
|
|
|
92
|
-
exports.default = DriverCommand;
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9jbGkvZHJpdmVyLWNvbW1hbmQuanMiXSwibmFtZXMiOlsiUkVRX0RSSVZFUl9GSUVMRFMiLCJEcml2ZXJDb21tYW5kIiwiRXh0ZW5zaW9uQ29tbWFuZCIsImNvbnN0cnVjdG9yIiwiY29uZmlnIiwianNvbiIsInR5cGUiLCJEUklWRVJfVFlQRSIsImtub3duRXh0ZW5zaW9ucyIsIktOT1dOX0RSSVZFUlMiLCJpbnN0YWxsIiwiZHJpdmVyIiwiaW5zdGFsbFR5cGUiLCJwYWNrYWdlTmFtZSIsImV4dCIsInVuaW5zdGFsbCIsInVwZGF0ZSIsInVuc2FmZSIsInJ1biIsInNjcmlwdE5hbWUiLCJnZXRQb3N0SW5zdGFsbFRleHQiLCJleHROYW1lIiwiZXh0RGF0YSIsInZlcnNpb24iLCJncmVlbiIsImF1dG9tYXRpb25OYW1lIiwiSlNPTiIsInN0cmluZ2lmeSIsInBsYXRmb3JtTmFtZXMiLCJ2YWxpZGF0ZUV4dGVuc2lvbkZpZWxkcyIsImFwcGl1bVBrZ0RhdGEiLCJtaXNzaW5nRmllbGRzIiwicmVkdWNlIiwiYWNjIiwiZmllbGQiLCJfIiwiaXNFbXB0eSIsIkVycm9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBLE1BQU1BLGlCQUFpQixHQUFHLENBQUMsWUFBRCxFQUFlLGdCQUFmLEVBQWlDLGVBQWpDLEVBQWtELFdBQWxELENBQTFCOztBQUVlLE1BQU1DLGFBQU4sU0FBNEJDLHlCQUE1QixDQUE2QztBQUUxREMsRUFBQUEsV0FBVyxDQUFFO0FBQUNDLElBQUFBLE1BQUQ7QUFBU0MsSUFBQUE7QUFBVCxHQUFGLEVBQWtCO0FBQzNCLFVBQU07QUFBQ0QsTUFBQUEsTUFBRDtBQUFTQyxNQUFBQSxJQUFUO0FBQWVDLE1BQUFBLElBQUksRUFBRUM7QUFBckIsS0FBTjtBQUNBLFNBQUtDLGVBQUwsR0FBdUJDLHNCQUF2QjtBQUNEOztBQUVZLFFBQVBDLE9BQU8sQ0FBRTtBQUFDQyxJQUFBQSxNQUFEO0FBQVNDLElBQUFBLFdBQVQ7QUFBc0JDLElBQUFBO0FBQXRCLEdBQUYsRUFBc0M7QUFDakQsV0FBTyxNQUFNLE1BQU1ILE9BQU4sQ0FBYztBQUFDSSxNQUFBQSxHQUFHLEVBQUVILE1BQU47QUFBY0MsTUFBQUEsV0FBZDtBQUEyQkMsTUFBQUE7QUFBM0IsS0FBZCxDQUFiO0FBQ0Q7O0FBRWMsUUFBVEUsU0FBUyxDQUFFO0FBQUNKLElBQUFBO0FBQUQsR0FBRixFQUFZO0FBQ3pCLFdBQU8sTUFBTSxNQUFNSSxTQUFOLENBQWdCO0FBQUNELE1BQUFBLEdBQUcsRUFBRUg7QUFBTixLQUFoQixDQUFiO0FBQ0Q7O0FBRVcsUUFBTkssTUFBTSxDQUFFO0FBQUNMLElBQUFBLE1BQUQ7QUFBU00sSUFBQUE7QUFBVCxHQUFGLEVBQW9CO0FBQzlCLFdBQU8sTUFBTSxNQUFNRCxNQUFOLENBQWE7QUFBQ0YsTUFBQUEsR0FBRyxFQUFFSCxNQUFOO0FBQWNNLE1BQUFBO0FBQWQsS0FBYixDQUFiO0FBQ0Q7O0FBRVEsUUFBSEMsR0FBRyxDQUFFO0FBQUNQLElBQUFBLE1BQUQ7QUFBU1EsSUFBQUE7QUFBVCxHQUFGLEVBQXdCO0FBQy9CLFdBQU8sTUFBTSxNQUFNRCxHQUFOLENBQVU7QUFBQ0osTUFBQUEsR0FBRyxFQUFFSCxNQUFOO0FBQWNRLE1BQUFBO0FBQWQsS0FBVixDQUFiO0FBQ0Q7O0FBRURDLEVBQUFBLGtCQUFrQixDQUFFO0FBQUNDLElBQUFBLE9BQUQ7QUFBVUMsSUFBQUE7QUFBVixHQUFGLEVBQXNCO0FBQ3RDLFdBQVEsVUFBU0QsT0FBUSxJQUFHQyxPQUFPLENBQUNDLE9BQVEsMkJBQXJDLENBQWdFQyxLQUFoRSxHQUNDLHFCQUFvQkYsT0FBTyxDQUFDRyxjQUFSLENBQXVCRCxLQUFNLElBRGxELEdBRUMsb0JBQW1CRSxJQUFJLENBQUNDLFNBQUwsQ0FBZUwsT0FBTyxDQUFDTSxhQUF2QixFQUFzQ0osS0FBTSxFQUZ2RTtBQUdEOztBQUVESyxFQUFBQSx1QkFBdUIsQ0FBRUMsYUFBRixFQUFpQjtBQUN0QyxVQUFNQyxhQUFhLEdBQUcvQixpQkFBaUIsQ0FBQ2dDLE1BQWxCLENBQXlCLENBQUNDLEdBQUQsRUFBTUMsS0FBTixLQUM3Q0osYUFBYSxDQUFDSSxLQUFELENBQWIsR0FBdUJELEdBQXZCLEdBQTZCLENBQUMsR0FBR0EsR0FBSixFQUFTQyxLQUFULENBRFQsRUFFbkIsRUFGbUIsQ0FBdEI7O0FBSUEsUUFBSSxDQUFDQyxnQkFBRUMsT0FBRixDQUFVTCxhQUFWLENBQUwsRUFBK0I7QUFDN0IsWUFBTSxJQUFJTSxLQUFKLENBQVcsaUVBQUQsR0FDQyxnQ0FBK0JYLElBQUksQ0FBQ0MsU0FBTCxDQUFlSSxhQUFmLENBQThCLEVBRHhFLENBQU47QUFFRDtBQUVGOztBQXZDeUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IEV4dGVuc2lvbkNvbW1hbmQgZnJvbSAnLi9leHRlbnNpb24tY29tbWFuZCc7XG5pbXBvcnQgeyBEUklWRVJfVFlQRSB9IGZyb20gJy4uL2V4dGVuc2lvbi1jb25maWcnO1xuaW1wb3J0IHsgS05PV05fRFJJVkVSUyB9IGZyb20gJy4uL2RyaXZlcnMnO1xuXG5jb25zdCBSRVFfRFJJVkVSX0ZJRUxEUyA9IFsnZHJpdmVyTmFtZScsICdhdXRvbWF0aW9uTmFtZScsICdwbGF0Zm9ybU5hbWVzJywgJ21haW5DbGFzcyddO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEcml2ZXJDb21tYW5kIGV4dGVuZHMgRXh0ZW5zaW9uQ29tbWFuZCB7XG5cbiAgY29uc3RydWN0b3IgKHtjb25maWcsIGpzb259KSB7XG4gICAgc3VwZXIoe2NvbmZpZywganNvbiwgdHlwZTogRFJJVkVSX1RZUEV9KTtcbiAgICB0aGlzLmtub3duRXh0ZW5zaW9ucyA9IEtOT1dOX0RSSVZFUlM7XG4gIH1cblxuICBhc3luYyBpbnN0YWxsICh7ZHJpdmVyLCBpbnN0YWxsVHlwZSwgcGFja2FnZU5hbWV9KSB7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmluc3RhbGwoe2V4dDogZHJpdmVyLCBpbnN0YWxsVHlwZSwgcGFja2FnZU5hbWV9KTtcbiAgfVxuXG4gIGFzeW5jIHVuaW5zdGFsbCAoe2RyaXZlcn0pIHtcbiAgICByZXR1cm4gYXdhaXQgc3VwZXIudW5pbnN0YWxsKHtleHQ6IGRyaXZlcn0pO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlICh7ZHJpdmVyLCB1bnNhZmV9KSB7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLnVwZGF0ZSh7ZXh0OiBkcml2ZXIsIHVuc2FmZX0pO1xuICB9XG5cbiAgYXN5bmMgcnVuICh7ZHJpdmVyLCBzY3JpcHROYW1lfSkge1xuICAgIHJldHVybiBhd2FpdCBzdXBlci5ydW4oe2V4dDogZHJpdmVyLCBzY3JpcHROYW1lfSk7XG4gIH1cblxuICBnZXRQb3N0SW5zdGFsbFRleHQgKHtleHROYW1lLCBleHREYXRhfSkge1xuICAgIHJldHVybiBgRHJpdmVyICR7ZXh0TmFtZX1AJHtleHREYXRhLnZlcnNpb259IHN1Y2Nlc3NmdWxseSBpbnN0YWxsZWRcXG5gLmdyZWVuICtcbiAgICAgICAgICAgYC0gYXV0b21hdGlvbk5hbWU6ICR7ZXh0RGF0YS5hdXRvbWF0aW9uTmFtZS5ncmVlbn1cXG5gICtcbiAgICAgICAgICAgYC0gcGxhdGZvcm1OYW1lczogJHtKU09OLnN0cmluZ2lmeShleHREYXRhLnBsYXRmb3JtTmFtZXMpLmdyZWVufWA7XG4gIH1cblxuICB2YWxpZGF0ZUV4dGVuc2lvbkZpZWxkcyAoYXBwaXVtUGtnRGF0YSkge1xuICAgIGNvbnN0IG1pc3NpbmdGaWVsZHMgPSBSRVFfRFJJVkVSX0ZJRUxEUy5yZWR1Y2UoKGFjYywgZmllbGQpID0+IChcbiAgICAgIGFwcGl1bVBrZ0RhdGFbZmllbGRdID8gYWNjIDogWy4uLmFjYywgZmllbGRdXG4gICAgKSwgW10pO1xuXG4gICAgaWYgKCFfLmlzRW1wdHkobWlzc2luZ0ZpZWxkcykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW5zdGFsbGVkIGRyaXZlciBkaWQgbm90IGV4cG9zZSBjb3JyZWN0IGZpZWxkcyBmb3IgY29tcGFiaWxpdHkgYCArXG4gICAgICAgICAgICAgICAgICAgICAgYHdpdGggQXBwaXVtLiBNaXNzaW5nIGZpZWxkczogJHtKU09OLnN0cmluZ2lmeShtaXNzaW5nRmllbGRzKX1gKTtcbiAgICB9XG5cbiAgfVxuXG59XG4iXSwiZmlsZSI6ImxpYi9jbGkvZHJpdmVyLWNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4ifQ==
|
|
91
|
+
exports.default = DriverCommand;
|
|
92
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9jbGkvZHJpdmVyLWNvbW1hbmQuanMiXSwibmFtZXMiOlsiUkVRX0RSSVZFUl9GSUVMRFMiLCJEcml2ZXJDb21tYW5kIiwiRXh0ZW5zaW9uQ29tbWFuZCIsImNvbnN0cnVjdG9yIiwiY29uZmlnIiwianNvbiIsImtub3duRXh0ZW5zaW9ucyIsIktOT1dOX0RSSVZFUlMiLCJpbnN0YWxsIiwiZHJpdmVyIiwiaW5zdGFsbFR5cGUiLCJwYWNrYWdlTmFtZSIsIl9pbnN0YWxsIiwiZXh0IiwidW5pbnN0YWxsIiwiX3VuaW5zdGFsbCIsInVwZGF0ZSIsInVuc2FmZSIsIl91cGRhdGUiLCJydW4iLCJzY3JpcHROYW1lIiwiX3J1biIsImdldFBvc3RJbnN0YWxsVGV4dCIsImV4dE5hbWUiLCJleHREYXRhIiwidmVyc2lvbiIsImdyZWVuIiwiYXV0b21hdGlvbk5hbWUiLCJKU09OIiwic3RyaW5naWZ5IiwicGxhdGZvcm1OYW1lcyIsInZhbGlkYXRlRXh0ZW5zaW9uRmllbGRzIiwiYXBwaXVtUGtnRGF0YSIsIm1pc3NpbmdGaWVsZHMiLCJyZWR1Y2UiLCJhY2MiLCJmaWVsZCIsIl8iLCJpc0VtcHR5IiwiRXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUEsTUFBTUEsaUJBQWlCLEdBQUcsQ0FBQyxZQUFELEVBQWUsZ0JBQWYsRUFBaUMsZUFBakMsRUFBa0QsV0FBbEQsQ0FBMUI7O0FBSWUsTUFBTUMsYUFBTixTQUE0QkMseUJBQTVCLENBQTZDO0FBSzFEQyxFQUFBQSxXQUFXLENBQUU7QUFBQ0MsSUFBQUEsTUFBRDtBQUFTQyxJQUFBQTtBQUFULEdBQUYsRUFBa0I7QUFDM0IsVUFBTTtBQUFDRCxNQUFBQSxNQUFEO0FBQVNDLE1BQUFBO0FBQVQsS0FBTjtBQUNBLFNBQUtDLGVBQUwsR0FBdUJDLHdCQUF2QjtBQUNEOztBQUVZLFFBQVBDLE9BQU8sQ0FBRTtBQUFDQyxJQUFBQSxNQUFEO0FBQVNDLElBQUFBLFdBQVQ7QUFBc0JDLElBQUFBO0FBQXRCLEdBQUYsRUFBc0M7QUFDakQsV0FBTyxNQUFNLE1BQU1DLFFBQU4sQ0FBZTtBQUFDQyxNQUFBQSxHQUFHLEVBQUVKLE1BQU47QUFBY0MsTUFBQUEsV0FBZDtBQUEyQkMsTUFBQUE7QUFBM0IsS0FBZixDQUFiO0FBQ0Q7O0FBRWMsUUFBVEcsU0FBUyxDQUFFO0FBQUNMLElBQUFBO0FBQUQsR0FBRixFQUFZO0FBQ3pCLFdBQU8sTUFBTSxNQUFNTSxVQUFOLENBQWlCO0FBQUNGLE1BQUFBLEdBQUcsRUFBRUo7QUFBTixLQUFqQixDQUFiO0FBQ0Q7O0FBRVcsUUFBTk8sTUFBTSxDQUFFO0FBQUNQLElBQUFBLE1BQUQ7QUFBU1EsSUFBQUE7QUFBVCxHQUFGLEVBQW9CO0FBQzlCLFdBQU8sTUFBTSxNQUFNQyxPQUFOLENBQWM7QUFBQ0wsTUFBQUEsR0FBRyxFQUFFSixNQUFOO0FBQWNRLE1BQUFBO0FBQWQsS0FBZCxDQUFiO0FBQ0Q7O0FBRVEsUUFBSEUsR0FBRyxDQUFFO0FBQUNWLElBQUFBLE1BQUQ7QUFBU1csSUFBQUE7QUFBVCxHQUFGLEVBQXdCO0FBQy9CLFdBQU8sTUFBTSxNQUFNQyxJQUFOLENBQVc7QUFBQ1IsTUFBQUEsR0FBRyxFQUFFSixNQUFOO0FBQWNXLE1BQUFBO0FBQWQsS0FBWCxDQUFiO0FBQ0Q7O0FBRURFLEVBQUFBLGtCQUFrQixDQUFFO0FBQUNDLElBQUFBLE9BQUQ7QUFBVUMsSUFBQUE7QUFBVixHQUFGLEVBQXNCO0FBQ3RDLFdBQVEsVUFBU0QsT0FBUSxJQUFHQyxPQUFPLENBQUNDLE9BQVEsMkJBQXJDLENBQWdFQyxLQUFoRSxHQUNDLHFCQUFvQkYsT0FBTyxDQUFDRyxjQUFSLENBQXVCRCxLQUFNLElBRGxELEdBRUMsb0JBQW1CRSxJQUFJLENBQUNDLFNBQUwsQ0FBZUwsT0FBTyxDQUFDTSxhQUF2QixFQUFzQ0osS0FBTSxFQUZ2RTtBQUdEOztBQUVESyxFQUFBQSx1QkFBdUIsQ0FBRUMsYUFBRixFQUFpQjtBQUN0QyxVQUFNQyxhQUFhLEdBQUdqQyxpQkFBaUIsQ0FBQ2tDLE1BQWxCLENBQXlCLENBQUNDLEdBQUQsRUFBTUMsS0FBTixLQUM3Q0osYUFBYSxDQUFDSSxLQUFELENBQWIsR0FBdUJELEdBQXZCLEdBQTZCLENBQUMsR0FBR0EsR0FBSixFQUFTQyxLQUFULENBRFQsRUFFbkIsRUFGbUIsQ0FBdEI7O0FBSUEsUUFBSSxDQUFDQyxnQkFBRUMsT0FBRixDQUFVTCxhQUFWLENBQUwsRUFBK0I7QUFDN0IsWUFBTSxJQUFJTSxLQUFKLENBQVcsaUVBQUQsR0FDQyxnQ0FBK0JYLElBQUksQ0FBQ0MsU0FBTCxDQUFlSSxhQUFmLENBQThCLEVBRHhFLENBQU47QUFFRDtBQUVGOztBQTFDeUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IEV4dGVuc2lvbkNvbW1hbmQgZnJvbSAnLi9leHRlbnNpb24tY29tbWFuZCc7XG5pbXBvcnQgeyBLTk9XTl9EUklWRVJTIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCAnQGNvbG9ycy9jb2xvcnMnO1xuXG5jb25zdCBSRVFfRFJJVkVSX0ZJRUxEUyA9IFsnZHJpdmVyTmFtZScsICdhdXRvbWF0aW9uTmFtZScsICdwbGF0Zm9ybU5hbWVzJywgJ21haW5DbGFzcyddO1xuLyoqXG4gKiBAZXh0ZW5kcyB7RXh0ZW5zaW9uQ29tbWFuZDxpbXBvcnQoJy4uL2V4dGVuc2lvbi9tYW5pZmVzdCcpLkRyaXZlclR5cGU+fVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEcml2ZXJDb21tYW5kIGV4dGVuZHMgRXh0ZW5zaW9uQ29tbWFuZCB7XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7RHJpdmVyQ29tbWFuZE9wdGlvbnN9IG9wdHNcbiAgICovXG4gIGNvbnN0cnVjdG9yICh7Y29uZmlnLCBqc29ufSkge1xuICAgIHN1cGVyKHtjb25maWcsIGpzb259KTtcbiAgICB0aGlzLmtub3duRXh0ZW5zaW9ucyA9IEtOT1dOX0RSSVZFUlM7XG4gIH1cblxuICBhc3luYyBpbnN0YWxsICh7ZHJpdmVyLCBpbnN0YWxsVHlwZSwgcGFja2FnZU5hbWV9KSB7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLl9pbnN0YWxsKHtleHQ6IGRyaXZlciwgaW5zdGFsbFR5cGUsIHBhY2thZ2VOYW1lfSk7XG4gIH1cblxuICBhc3luYyB1bmluc3RhbGwgKHtkcml2ZXJ9KSB7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLl91bmluc3RhbGwoe2V4dDogZHJpdmVyfSk7XG4gIH1cblxuICBhc3luYyB1cGRhdGUgKHtkcml2ZXIsIHVuc2FmZX0pIHtcbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuX3VwZGF0ZSh7ZXh0OiBkcml2ZXIsIHVuc2FmZX0pO1xuICB9XG5cbiAgYXN5bmMgcnVuICh7ZHJpdmVyLCBzY3JpcHROYW1lfSkge1xuICAgIHJldHVybiBhd2FpdCBzdXBlci5fcnVuKHtleHQ6IGRyaXZlciwgc2NyaXB0TmFtZX0pO1xuICB9XG5cbiAgZ2V0UG9zdEluc3RhbGxUZXh0ICh7ZXh0TmFtZSwgZXh0RGF0YX0pIHtcbiAgICByZXR1cm4gYERyaXZlciAke2V4dE5hbWV9QCR7ZXh0RGF0YS52ZXJzaW9ufSBzdWNjZXNzZnVsbHkgaW5zdGFsbGVkXFxuYC5ncmVlbiArXG4gICAgICAgICAgIGAtIGF1dG9tYXRpb25OYW1lOiAke2V4dERhdGEuYXV0b21hdGlvbk5hbWUuZ3JlZW59XFxuYCArXG4gICAgICAgICAgIGAtIHBsYXRmb3JtTmFtZXM6ICR7SlNPTi5zdHJpbmdpZnkoZXh0RGF0YS5wbGF0Zm9ybU5hbWVzKS5ncmVlbn1gO1xuICB9XG5cbiAgdmFsaWRhdGVFeHRlbnNpb25GaWVsZHMgKGFwcGl1bVBrZ0RhdGEpIHtcbiAgICBjb25zdCBtaXNzaW5nRmllbGRzID0gUkVRX0RSSVZFUl9GSUVMRFMucmVkdWNlKChhY2MsIGZpZWxkKSA9PiAoXG4gICAgICBhcHBpdW1Qa2dEYXRhW2ZpZWxkXSA/IGFjYyA6IFsuLi5hY2MsIGZpZWxkXVxuICAgICksIFtdKTtcblxuICAgIGlmICghXy5pc0VtcHR5KG1pc3NpbmdGaWVsZHMpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEluc3RhbGxlZCBkcml2ZXIgZGlkIG5vdCBleHBvc2UgY29ycmVjdCBmaWVsZHMgZm9yIGNvbXBhYmlsaXR5IGAgK1xuICAgICAgICAgICAgICAgICAgICAgIGB3aXRoIEFwcGl1bS4gTWlzc2luZyBmaWVsZHM6ICR7SlNPTi5zdHJpbmdpZnkobWlzc2luZ0ZpZWxkcyl9YCk7XG4gICAgfVxuXG4gIH1cblxufVxuXG4vKipcbiAqIEB0eXBlZGVmIERyaXZlckNvbW1hbmRPcHRpb25zXG4gKiBAcHJvcGVydHkge2ltcG9ydCgnLi4vZXh0ZW5zaW9uL2V4dGVuc2lvbi1jb25maWcnKS5FeHRlbnNpb25Db25maWc8aW1wb3J0KCcuLi9leHRlbnNpb24vbWFuaWZlc3QnKS5Ecml2ZXJUeXBlPn0gY29uZmlnXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGpzb25cbiAqL1xuIl19
|