appium-remote-debugger 8.12.0 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/build/index.js +5 -5
- package/build/lib/atoms.js +4 -4
- package/build/lib/logger.js +3 -3
- package/build/lib/mixins/connect.js +4 -4
- package/build/lib/mixins/execute.js +7 -7
- package/build/lib/mixins/index.js +3 -2
- package/build/lib/mixins/navigate.js +7 -7
- package/build/lib/protocol/index.js +1 -1
- package/build/lib/remote-debugger-real-device.js +2 -1
- package/build/lib/remote-debugger.js +11 -4
- package/build/lib/rpc/index.js +4 -4
- package/build/lib/rpc/remote-messages.js +1 -1
- package/build/lib/rpc/rpc-client-real-device.js +3 -2
- package/build/lib/rpc/rpc-client-simulator.js +3 -2
- package/build/lib/rpc/rpc-client.js +19 -12
- package/build/lib/rpc/rpc-message-handler.js +5 -5
- package/build/lib/utils.js +10 -10
- package/lib/atoms.js +1 -1
- package/lib/logger.js +1 -1
- package/lib/mixins/connect.js +1 -1
- package/lib/mixins/execute.js +10 -3
- package/lib/mixins/navigate.js +1 -1
- package/lib/remote-debugger-real-device.js +1 -0
- package/lib/remote-debugger.js +8 -0
- package/lib/rpc/rpc-client-real-device.js +1 -0
- package/lib/rpc/rpc-client-simulator.js +1 -0
- package/lib/rpc/rpc-client.js +10 -4
- package/lib/rpc/rpc-message-handler.js +1 -1
- package/lib/utils.js +2 -2
- package/package.json +14 -12
package/README.md
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
[](https://travis-ci.org/appium/appium-remote-debugger)
|
|
4
4
|
[](https://david-dm.org/appium/appium-remote-debugger)
|
|
5
5
|
[](https://david-dm.org/appium/appium-remote-debugger#info=devDependencies)
|
|
6
|
-
[](https://coveralls.io/github/appium/appium-remote-debugger?branch=master)
|
|
7
6
|
|
|
8
7
|
A Node.js frontend for the Remote Debugger protocol used by Appium to connect to iOS webviews and Safari. Written using ES6+.
|
|
9
8
|
|
package/build/index.js
CHANGED
|
@@ -5,17 +5,16 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports
|
|
9
|
-
Object.defineProperty(exports, "RemoteDebugger", {
|
|
8
|
+
Object.defineProperty(exports, "REMOTE_DEBUGGER_PORT", {
|
|
10
9
|
enumerable: true,
|
|
11
10
|
get: function () {
|
|
12
|
-
return _remoteDebugger.
|
|
11
|
+
return _remoteDebugger.REMOTE_DEBUGGER_PORT;
|
|
13
12
|
}
|
|
14
13
|
});
|
|
15
|
-
Object.defineProperty(exports, "
|
|
14
|
+
Object.defineProperty(exports, "RemoteDebugger", {
|
|
16
15
|
enumerable: true,
|
|
17
16
|
get: function () {
|
|
18
|
-
return _remoteDebugger.
|
|
17
|
+
return _remoteDebugger.RemoteDebugger;
|
|
19
18
|
}
|
|
20
19
|
});
|
|
21
20
|
Object.defineProperty(exports, "RemoteDebuggerRealDevice", {
|
|
@@ -24,6 +23,7 @@ Object.defineProperty(exports, "RemoteDebuggerRealDevice", {
|
|
|
24
23
|
return _remoteDebuggerRealDevice.default;
|
|
25
24
|
}
|
|
26
25
|
});
|
|
26
|
+
exports.createRemoteDebugger = createRemoteDebugger;
|
|
27
27
|
|
|
28
28
|
require("source-map-support/register");
|
|
29
29
|
|
package/build/lib/atoms.js
CHANGED
|
@@ -5,13 +5,13 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
+
exports.default = void 0;
|
|
8
9
|
exports.getAtom = getAtom;
|
|
9
10
|
exports.getScriptForAtom = getScriptForAtom;
|
|
10
|
-
exports.default = void 0;
|
|
11
11
|
|
|
12
12
|
require("source-map-support/register");
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _support = require("@appium/support");
|
|
15
15
|
|
|
16
16
|
var _path = _interopRequireDefault(require("path"));
|
|
17
17
|
|
|
@@ -32,7 +32,7 @@ async function getAtom(atomName) {
|
|
|
32
32
|
const atomFileName = getAtomFileName(atomName);
|
|
33
33
|
|
|
34
34
|
try {
|
|
35
|
-
atomsCache[atomName] = await
|
|
35
|
+
atomsCache[atomName] = await _support.fs.readFile(atomFileName);
|
|
36
36
|
} catch (e) {
|
|
37
37
|
throw new Error(`Unable to load Atom '${atomName}' from file '${atomFileName}'`);
|
|
38
38
|
}
|
|
@@ -79,4 +79,4 @@ var _default = getAtom;
|
|
|
79
79
|
exports.default = _default;require('source-map-support').install();
|
|
80
80
|
|
|
81
81
|
|
|
82
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9hdG9tcy5qcyJdLCJuYW1lcyI6WyJhdG9tc0NhY2hlIiwiaW5CdWlsZERpciIsIl9fZmlsZW5hbWUiLCJpbmNsdWRlcyIsImdldEF0b21GaWxlTmFtZSIsImF0b21OYW1lIiwicGF0aCIsInJlc29sdmUiLCJfX2Rpcm5hbWUiLCJnZXRBdG9tIiwiXyIsImhhcyIsImF0b21GaWxlTmFtZSIsImZzIiwicmVhZEZpbGUiLCJlIiwiRXJyb3IiLCJ3cmFwU2NyaXB0Rm9yRnJhbWUiLCJzY3JpcHQiLCJmcmFtZSIsImxvZyIsImRlYnVnIiwiZWxGcm9tQ2FjaGUiLCJ0b1N0cmluZyIsIkpTT04iLCJzdHJpbmdpZnkiLCJnZXRTY3JpcHRGb3JBdG9tIiwiYXRvbSIsImFyZ3MiLCJmcmFtZXMiLCJhc3luY0NhbGxCYWNrIiwiYXRvbVNyYyIsImxlbmd0aCIsIm1hcCIsImpvaW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQSxNQUFNQSxVQUFVLEdBQUcsRUFBbkI7O0FBRUEsTUFBTUMsVUFBVSxHQUFHQyxVQUFVLENBQUNDLFFBQVgsQ0FBb0IsaUJBQXBCLENBQW5COztBQUVBLFNBQVNDLGVBQVQsQ0FBMEJDLFFBQTFCLEVBQW9DO0FBQ2xDLFNBQU9KLFVBQVUsR0FDYkssY0FBS0MsT0FBTCxDQUFhQyxTQUFiLEVBQXdCLElBQXhCLEVBQThCLElBQTlCLEVBQW9DLE9BQXBDLEVBQThDLEdBQUVILFFBQVMsS0FBekQsQ0FEYSxHQUViQyxjQUFLQyxPQUFMLENBQWFDLFNBQWIsRUFBd0IsSUFBeEIsRUFBOEIsT0FBOUIsRUFBd0MsR0FBRUgsUUFBUyxLQUFuRCxDQUZKO0FBR0Q7O0FBRUQsZUFBZUksT0FBZixDQUF3QkosUUFBeEIsRUFBa0M7QUFFaEMsTUFBSSxDQUFDSyxnQkFBRUMsR0FBRixDQUFNWCxVQUFOLEVBQWtCSyxRQUFsQixDQUFMLEVBQWtDO0FBQ2hDLFVBQU1PLFlBQVksR0FBR1IsZUFBZSxDQUFDQyxRQUFELENBQXBDOztBQUNBLFFBQUk7QUFDRkwsTUFBQUEsVUFBVSxDQUFDSyxRQUFELENBQVYsR0FBdUIsTUFBTVEsWUFBR0MsUUFBSCxDQUFZRixZQUFaLENBQTdCO0FBQ0QsS0FGRCxDQUVFLE9BQU9HLENBQVAsRUFBVTtBQUNWLFlBQU0sSUFBSUMsS0FBSixDQUFXLHdCQUF1QlgsUUFBUyxnQkFBZU8sWUFBYSxHQUF2RSxDQUFOO0FBQ0Q7QUFDRjs7QUFFRCxTQUFPWixVQUFVLENBQUNLLFFBQUQsQ0FBakI7QUFDRDs7QUFFRCxlQUFlWSxrQkFBZixDQUFtQ0MsTUFBbkMsRUFBMkNDLEtBQTNDLEVBQWtEO0FBQ2hEQyxrQkFBSUMsS0FBSixDQUFXLDhCQUE2QkYsS0FBTSxHQUE5Qzs7QUFDQSxRQUFNRyxXQUFXLEdBQUcsTUFBTWIsT0FBTyxDQUFDLHdCQUFELENBQWpDO0FBQ0EsU0FBUSx1REFBRCxHQUNDLFdBQVVTLE1BQU8sVUFBU0ksV0FBVyxDQUFDQyxRQUFaLENBQXFCLE1BQXJCLENBQTZCLEtBQUlDLElBQUksQ0FBQ0MsU0FBTCxDQUFlTixLQUFmLENBQXNCLElBRHpGO0FBRUQ7O0FBRUQsZUFBZU8sZ0JBQWYsQ0FBaUNDLElBQWpDLEVBQXVDQyxJQUF2QyxFQUE2Q0MsTUFBTSxHQUFHLEVBQXRELEVBQTBEQyxhQUFhLEdBQUcsSUFBMUUsRUFBZ0Y7QUFDOUUsUUFBTUMsT0FBTyxHQUFHLE1BQU10QixPQUFPLENBQUNrQixJQUFELENBQTdCO0FBQ0EsTUFBSVQsTUFBSjs7QUFDQSxNQUFJVyxNQUFNLENBQUNHLE1BQVAsR0FBZ0IsQ0FBcEIsRUFBdUI7QUFDckJkLElBQUFBLE1BQU0sR0FBR2EsT0FBVDs7QUFDQSxTQUFLLE1BQU1aLEtBQVgsSUFBb0JVLE1BQXBCLEVBQTRCO0FBQzFCWCxNQUFBQSxNQUFNLEdBQUcsTUFBTUQsa0JBQWtCLENBQUNDLE1BQUQsRUFBU0MsS0FBVCxDQUFqQztBQUNEO0FBQ0YsR0FMRCxNQUtPO0FBQ0xDLG9CQUFJQyxLQUFKLENBQVcsY0FBYU0sSUFBSywyQkFBN0I7O0FBQ0FULElBQUFBLE1BQU0sR0FBSSxJQUFHYSxPQUFRLEdBQXJCO0FBQ0Q7O0FBR0RILEVBQUFBLElBQUksR0FBR0EsSUFBSSxDQUFDSyxHQUFMLENBQVNULElBQUksQ0FBQ0MsU0FBZCxDQUFQOztBQUNBLE1BQUlLLGFBQUosRUFBbUI7QUFDakJaLElBQUFBLE1BQU0sSUFBSyxJQUFHVSxJQUFJLENBQUNNLElBQUwsQ0FBVSxHQUFWLENBQWUsS0FBSUosYUFBYyxTQUEvQztBQUNELEdBRkQsTUFFTztBQUNMWixJQUFBQSxNQUFNLElBQUssSUFBR1UsSUFBSSxDQUFDTSxJQUFMLENBQVUsR0FBVixDQUFlLEdBQTdCO0FBQ0Q7O0FBRUQsU0FBT2hCLE1BQVA7QUFDRDs7ZUFHY1QsTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZzIH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBsb2cgZnJvbSAnLi9sb2dnZXInO1xuXG5cbmNvbnN0IGF0b21zQ2FjaGUgPSB7fTtcblxuY29uc3QgaW5CdWlsZERpciA9IF9fZmlsZW5hbWUuaW5jbHVkZXMoJ2J1aWxkL2xpYi9hdG9tcycpO1xuXG5mdW5jdGlvbiBnZXRBdG9tRmlsZU5hbWUgKGF0b21OYW1lKSB7XG4gIHJldHVybiBpbkJ1aWxkRGlyXG4gICAgPyBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4nLCAnLi4nLCAnYXRvbXMnLCBgJHthdG9tTmFtZX0uanNgKVxuICAgIDogcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4uJywgJ2F0b21zJywgYCR7YXRvbU5hbWV9LmpzYCk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldEF0b20gKGF0b21OYW1lKSB7XG4gIC8vIGNoZWNrIGlmIHdlIGhhdmUgYWxyZWFkeSBsb2FkZWQgYW4gY2FjaGVkIHRoaXMgYXRvbVxuICBpZiAoIV8uaGFzKGF0b21zQ2FjaGUsIGF0b21OYW1lKSkge1xuICAgIGNvbnN0IGF0b21GaWxlTmFtZSA9IGdldEF0b21GaWxlTmFtZShhdG9tTmFtZSk7XG4gICAgdHJ5IHtcbiAgICAgIGF0b21zQ2FjaGVbYXRvbU5hbWVdID0gYXdhaXQgZnMucmVhZEZpbGUoYXRvbUZpbGVOYW1lKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBsb2FkIEF0b20gJyR7YXRvbU5hbWV9JyBmcm9tIGZpbGUgJyR7YXRvbUZpbGVOYW1lfSdgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gYXRvbXNDYWNoZVthdG9tTmFtZV07XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHdyYXBTY3JpcHRGb3JGcmFtZSAoc2NyaXB0LCBmcmFtZSkge1xuICBsb2cuZGVidWcoYFdyYXBwaW5nIHNjcmlwdCBmb3IgZnJhbWUgJyR7ZnJhbWV9J2ApO1xuICBjb25zdCBlbEZyb21DYWNoZSA9IGF3YWl0IGdldEF0b20oJ2dldF9lbGVtZW50X2Zyb21fY2FjaGUnKTtcbiAgcmV0dXJuIGAoZnVuY3Rpb24gKHdpbmRvdykgeyB2YXIgZG9jdW1lbnQgPSB3aW5kb3cuZG9jdW1lbnQ7IGAgK1xuICAgICAgICAgYHJldHVybiAoJHtzY3JpcHR9KTsgfSkoKCR7ZWxGcm9tQ2FjaGUudG9TdHJpbmcoJ3V0ZjgnKX0pKCR7SlNPTi5zdHJpbmdpZnkoZnJhbWUpfSkpYDtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0U2NyaXB0Rm9yQXRvbSAoYXRvbSwgYXJncywgZnJhbWVzID0gW10sIGFzeW5jQ2FsbEJhY2sgPSBudWxsKSB7XG4gIGNvbnN0IGF0b21TcmMgPSBhd2FpdCBnZXRBdG9tKGF0b20pO1xuICBsZXQgc2NyaXB0O1xuICBpZiAoZnJhbWVzLmxlbmd0aCA+IDApIHtcbiAgICBzY3JpcHQgPSBhdG9tU3JjO1xuICAgIGZvciAoY29uc3QgZnJhbWUgb2YgZnJhbWVzKSB7XG4gICAgICBzY3JpcHQgPSBhd2FpdCB3cmFwU2NyaXB0Rm9yRnJhbWUoc2NyaXB0LCBmcmFtZSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGxvZy5kZWJ1ZyhgRXhlY3V0aW5nICcke2F0b219JyBhdG9tIGluIGRlZmF1bHQgY29udGV4dGApO1xuICAgIHNjcmlwdCA9IGAoJHthdG9tU3JjfSlgO1xuICB9XG5cbiAgLy8gYWRkIHRoZSBhcmd1bWVudHMsIGFzIHN0cmluZ3NcbiAgYXJncyA9IGFyZ3MubWFwKEpTT04uc3RyaW5naWZ5KTtcbiAgaWYgKGFzeW5jQ2FsbEJhY2spIHtcbiAgICBzY3JpcHQgKz0gYCgke2FyZ3Muam9pbignLCcpfSwgJHthc3luY0NhbGxCYWNrfSwgdHJ1ZSlgO1xuICB9IGVsc2Uge1xuICAgIHNjcmlwdCArPSBgKCR7YXJncy5qb2luKCcsJyl9KWA7XG4gIH1cblxuICByZXR1cm4gc2NyaXB0O1xufVxuXG5leHBvcnQgeyBnZXRBdG9tLCBnZXRTY3JpcHRGb3JBdG9tIH07XG5leHBvcnQgZGVmYXVsdCBnZXRBdG9tO1xuIl0sImZpbGUiOiJsaWIvYXRvbXMuanMiLCJzb3VyY2VSb290IjoiLi4vLi4ifQ==
|
package/build/lib/logger.js
CHANGED
|
@@ -7,12 +7,12 @@ exports.default = void 0;
|
|
|
7
7
|
|
|
8
8
|
require("source-map-support/register");
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _support = require("@appium/support");
|
|
11
11
|
|
|
12
|
-
const log =
|
|
12
|
+
const log = _support.logger.getLogger('RemoteDebugger');
|
|
13
13
|
|
|
14
14
|
var _default = log;
|
|
15
15
|
exports.default = _default;require('source-map-support').install();
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9sb2dnZXIuanMiXSwibmFtZXMiOlsibG9nIiwibG9nZ2VyIiwiZ2V0TG9nZ2VyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFHQSxNQUFNQSxHQUFHLEdBQUdDLGdCQUFPQyxTQUFQLENBQWlCLGdCQUFqQixDQUFaOztlQUVlRixHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcblxuXG5jb25zdCBsb2cgPSBsb2dnZXIuZ2V0TG9nZ2VyKCdSZW1vdGVEZWJ1Z2dlcicpO1xuXG5leHBvcnQgZGVmYXVsdCBsb2c7XG4iXSwiZmlsZSI6ImxpYi9sb2dnZXIuanMiLCJzb3VyY2VSb290IjoiLi4vLi4ifQ==
|
|
@@ -15,7 +15,7 @@ var _utils = require("../utils");
|
|
|
15
15
|
|
|
16
16
|
var _events = _interopRequireDefault(require("./events"));
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _support = require("@appium/support");
|
|
19
19
|
|
|
20
20
|
var _asyncbox = require("asyncbox");
|
|
21
21
|
|
|
@@ -87,7 +87,7 @@ async function selectApp(currentUrl = null, maxTries = SELECT_APP_RETRIES, ignor
|
|
|
87
87
|
this.rpcClient.shouldCheckForTarget = false;
|
|
88
88
|
|
|
89
89
|
try {
|
|
90
|
-
const timer = new
|
|
90
|
+
const timer = new _support.timing.Timer().start();
|
|
91
91
|
|
|
92
92
|
_logger.default.debug('Selecting application');
|
|
93
93
|
|
|
@@ -223,7 +223,7 @@ async function selectPage(appIdKey, pageIdKey, skipReadyCheck = false) {
|
|
|
223
223
|
|
|
224
224
|
_logger.default.debug(`Selecting page '${pageIdKey}' on app '${this.appIdKey}' and forwarding socket setup`);
|
|
225
225
|
|
|
226
|
-
const timer = new
|
|
226
|
+
const timer = new _support.timing.Timer().start();
|
|
227
227
|
await this.rpcClient.selectPage(this.appIdKey, pageIdKey);
|
|
228
228
|
|
|
229
229
|
if (!skipReadyCheck && !(await this.checkPageIsReady())) {
|
|
@@ -305,4 +305,4 @@ var _default = {
|
|
|
305
305
|
exports.default = _default;require('source-map-support').install();
|
|
306
306
|
|
|
307
307
|
|
|
308
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9taXhpbnMvY29ubmVjdC5qcyJdLCJuYW1lcyI6WyJBUFBfQ09OTkVDVF9USU1FT1VUX01TIiwiQVBQX0NPTk5FQ1RfSU5URVJWQUxfTVMiLCJTRUxFQ1RfQVBQX1JFVFJJRVMiLCJTRUxFQ1RfQVBQX1JFVFJZX1NMRUVQX01TIiwiU0FGQVJJX0JVTkRMRV9JRCIsIkJMQU5LX1BBR0VfVVJMIiwic2V0Q29ubmVjdGlvbktleSIsImxvZyIsImRlYnVnIiwicnBjQ2xpZW50Iiwic2VuZCIsImNvbm5lY3QiLCJ0aW1lb3V0Iiwic2V0dXAiLCJpbml0UnBjQ2xpZW50Iiwib24iLCJfIiwibm9vcCIsIm9uUGFnZUNoYW5nZSIsImJpbmQiLCJvbkNvbm5lY3RlZEFwcGxpY2F0aW9uTGlzdCIsIm9uQXBwQ29ubmVjdCIsIm9uQXBwRGlzY29ubmVjdCIsIm9uQXBwVXBkYXRlIiwib25Db25uZWN0ZWREcml2ZXJMaXN0Iiwib25DdXJyZW50U3RhdGUiLCJmcmFtZURldGFjaGVkIiwiaXNFbXB0eSIsImFwcERpY3QiLCJ3YWl0TXMiLCJpbnRlcnZhbCIsImVyciIsImVycm9yIiwibWVzc2FnZSIsImRpc2Nvbm5lY3QiLCJlbWl0IiwiZXZlbnRzIiwiRVZFTlRfRElTQ09OTkVDVCIsInRlYXJkb3duIiwic2VsZWN0QXBwIiwiY3VycmVudFVybCIsIm1heFRyaWVzIiwiaWdub3JlQWJvdXRCbGFua1VybCIsInNob3VsZENoZWNrRm9yVGFyZ2V0IiwidGltZXIiLCJ0aW1pbmciLCJUaW1lciIsInN0YXJ0IiwiYXBwSWRLZXkiLCJwYWdlRGljdCIsInNlYXJjaEZvckFwcCIsImVycm9yQW5kVGhyb3ciLCJsb2dBcHBsaWNhdGlvbkRpY3Rpb25hcnkiLCJwYWdlQXJyYXkiLCJmdWxsUGFnZUFycmF5IiwiYXBwIiwiaW5mbyIsInRvUGFpcnMiLCJpc0FycmF5IiwiaXNBY3RpdmUiLCJpZCIsInJlcGxhY2UiLCJwYWdlIiwidXJsIiwiY2xvbmUiLCJidW5kbGVJZCIsInB1c2giLCJnZXREdXJhdGlvbiIsImFzTWlsbGlTZWNvbmRzIiwidG9GaXhlZCIsImJ1bmRsZUlkcyIsImluY2x1ZGVTYWZhcmkiLCJpc1NhZmFyaSIsImFkZGl0aW9uYWxCdW5kbGVJZHMiLCJyZXRyeUNvdW50IiwicG9zc2libGVBcHBJZHMiLCJqb2luIiwiYXR0ZW1wdGVkQXBwSWRLZXkiLCJyZXN1bHQiLCJzZWFyY2hGb3JQYWdlIiwiRXJyb3IiLCJpZ24iLCJhcHBzRGljdCIsInZhbHVlcyIsInByb21pc2UiLCJkaWN0Iiwic2VsZWN0UGFnZSIsInBhZ2VJZEtleSIsInNraXBSZWFkeUNoZWNrIiwiY2hlY2tQYWdlSXNSZWFkeSIsInBhZ2VVbmxvYWQiLCJhcHBzIiwiZ2V0VmFsdWVTdHJpbmciLCJrZXkiLCJ2YWx1ZSIsImlzRnVuY3Rpb24iLCJKU09OIiwic3RyaW5naWZ5IiwiQXJyYXkiLCJsZW5ndGgiLCJwcmVmaXgiLCJrIiwidiIsInZhbHVlU3RyaW5nIiwidXBkYXRlQXBwc1dpdGhEaWN0IiwiZW50cnkiLCJpc1VuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQSxNQUFNQSxzQkFBc0IsR0FBRyxDQUEvQjtBQUNBLE1BQU1DLHVCQUF1QixHQUFHLEdBQWhDO0FBQ0EsTUFBTUMsa0JBQWtCLEdBQUcsRUFBM0I7QUFDQSxNQUFNQyx5QkFBeUIsR0FBRyxHQUFsQztBQUNBLE1BQU1DLGdCQUFnQixHQUFHLHdCQUF6QjtBQUNBLE1BQU1DLGNBQWMsR0FBRyxhQUF2Qjs7QUFHQSxlQUFlQyxnQkFBZixHQUFtQztBQUNqQ0Msa0JBQUlDLEtBQUosQ0FBVSxnQ0FBVjs7QUFHQSxRQUFNLEtBQUtDLFNBQUwsQ0FBZUMsSUFBZixDQUFvQixrQkFBcEIsRUFBd0MsRUFBeEMsRUFBNEMsS0FBNUMsQ0FBTjtBQUNEOztBQUVELGVBQWVDLE9BQWYsQ0FBd0JDLE9BQU8sR0FBR1osc0JBQWxDLEVBQTBEO0FBQ3hELE9BQUth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VXFGLEdBQUksS0FBSVUsV0FBWSxFQUF6QztBQUNEO0FBQ0Y7QUFDRjtBQUNGOztBQUVELFNBQVNDLGtCQUFULENBQTZCbkIsSUFBN0IsRUFBbUM7QUFHakMsT0FBS3pELE9BQUwsR0FBZSxLQUFLQSxPQUFMLElBQWdCLEVBQS9CO0FBQ0EsTUFBSSxDQUFDZ0MsRUFBRCxFQUFLNkMsS0FBTCxJQUFjLDRCQUFnQnBCLElBQWhCLENBQWxCOztBQUNBLE1BQUksS0FBS3pELE9BQUwsQ0FBYWdDLEVBQWIsQ0FBSixFQUFzQjtBQUVwQjZDLElBQUFBLEtBQUssQ0FBQ3BELFNBQU4sR0FBa0IsS0FBS3pCLE9BQUwsQ0FBYWdDLEVBQWIsRUFBaUJQLFNBQW5DO0FBQ0Q7O0FBQ0QsT0FBS3pCLE9BQUwsQ0FBYWdDLEVBQWIsSUFBbUI2QyxLQUFuQjs7QUFHQSxNQUFJekYsZ0JBQUUwRixXQUFGLENBQWNELEtBQUssQ0FBQ3BELFNBQXBCLENBQUosRUFBb0M7QUFDbENvRCxJQUFBQSxLQUFLLENBQUNwRCxTQUFOLEdBQWtCLDZCQUFsQjtBQUNEOztBQUdELE1BQUksQ0FBQyxLQUFLTCxRQUFWLEVBQW9CO0FBQ2xCLFNBQUtBLFFBQUwsR0FBZ0IsOEJBQWtCLEtBQUtpQixRQUF2QixFQUFpQyxLQUFLckMsT0FBdEMsQ0FBaEI7QUFDRDtBQUNGOztlQUVjO0FBQUV0QixFQUFBQSxnQkFBRjtBQUFvQkssRUFBQUEsT0FBcEI7QUFBNkJ1QixFQUFBQSxVQUE3QjtBQUF5Q0ssRUFBQUEsU0FBekM7QUFBb0RXLEVBQUFBLFlBQXBEO0FBQWtFNkIsRUFBQUEsYUFBbEU7QUFBaUZPLEVBQUFBLFVBQWpGO0FBQTZGa0IsRUFBQUE7QUFBN0YsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBsb2cgZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCB7IGFwcEluZm9Gcm9tRGljdCwgcGFnZUFycmF5RnJvbURpY3QsIGdldERlYnVnZ2VyQXBwS2V5LFxuICAgICAgICAgZ2V0UG9zc2libGVEZWJ1Z2dlckFwcEtleXMsIHNpbXBsZVN0cmluZ2lmeSwgZGVmZXJyZWRQcm9taXNlIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IGV2ZW50cyBmcm9tICcuL2V2ZW50cyc7XG5pbXBvcnQgeyB0aW1pbmcgfSBmcm9tICdhcHBpdW0tc3VwcG9ydCc7XG5pbXBvcnQgeyByZXRyeUludGVydmFsLCB3YWl0Rm9yQ29uZGl0aW9uIH0gZnJvbSAnYXN5bmNib3gnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuXG5jb25zdCBBUFBfQ09OTkVDVF9USU1FT1VUX01TID0gMDtcbmNvbnN0IEFQUF9DT05ORUNUX0lOVEVSVkFMX01TID0gMTAwO1xuY29uc3QgU0VMRUNUX0FQUF9SRVRSSUVTID0gMjA7XG5jb25zdCBTRUxFQ1RfQVBQX1JFVFJZX1NMRUVQX01TID0gNTAwO1xuY29uc3QgU0FGQVJJX0JVTkRMRV9JRCA9ICdjb20uYXBwbGUubW9iaWxlc2FmYXJpJztcbmNvbnN0IEJMQU5LX1BBR0VfVVJMID0gJ2Fib3V0OmJsYW5rJztcblxuXG5hc3luYyBmdW5jdGlvbiBzZXRDb25uZWN0aW9uS2V5ICgpIHtcbiAgbG9nLmRlYnVnKCdTZW5kaW5nIGNvbm5lY3Rpb24ga2V5IHJlcXVlc3QnKTtcbiAgLy8gc2VuZCBidXQgb25seSB3YWl0IHRvIG1ha2Ugc3VyZSB0aGUgc29ja2V0IHdvcmtlZFxuICAvLyBhcyByZXNwb25zZSBmcm9tIFdlYiBJbnNwZWN0b3IgY2FuIHRha2UgYSBsb25nIHRpbWVcbiAgYXdhaXQgdGhpcy5ycGNDbGllbnQuc2VuZCgnc2V0Q29ubmVjdGlvbktleScsIHt9LCBmYWxzZSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNvbm5lY3QgKHRpbWVvdXQgPSBBUFBfQ09OTkVDVF9USU1FT1VUX01TKSB7XG4gIHRoaXMuc2V0dXAoKTtcblxuICAvLyBpbml0aWFsaXplIHRoZSBycGMgY2xpZW50XG4gIHRoaXMuaW5pdFJwY0NsaWVudCgpO1xuXG4gIC8vIGxpc3RlbiBmb3IgYmFzaWMgZGVidWdnZXItbGV2ZWwgZXZlbnRzXG4gIHRoaXMucnBjQ2xpZW50Lm9uKCdfcnBjX3JlcG9ydFNldHVwOicsIF8ubm9vcCk7XG4gIHRoaXMucnBjQ2xpZW50Lm9uKCdfcnBjX2ZvcndhcmRHZXRMaXN0aW5nOicsIHRoaXMub25QYWdlQ2hhbmdlLmJpbmQodGhpcykpO1xuICB0aGlzLnJwY0NsaWVudC5vbignX3JwY19yZXBvcnRDb25uZWN0ZWRBcHBsaWNhdGlvbkxpc3Q6JywgdGhpcy5vbkNvbm5lY3RlZEFwcGxpY2F0aW9uTGlzdC5iaW5kKHRoaXMpKTtcbiAgdGhpcy5ycGNDbGllbnQub24oJ19ycGNfYXBwbGljYXRpb25Db25uZWN0ZWQ6JywgdGhpcy5vbkFwcENvbm5lY3QuYmluZCh0aGlzKSk7XG4gIHRoaXMucnBjQ2xpZW50Lm9uKCdfcnBjX2FwcGxpY2F0aW9uRGlzY29ubmVjdGVkOicsIHRoaXMub25BcHBEaXNjb25uZWN0LmJpbmQodGhpcykpO1xuICB0aGlzLnJwY0NsaWVudC5vbignX3JwY19hcHBsaWNhdGlvblVwZGF0ZWQ6JywgdGhpcy5vbkFwcFVwZGF0ZS5iaW5kKHRoaXMpKTtcbiAgdGhpcy5ycGNDbGllbnQub24oJ19ycGNfcmVwb3J0Q29ubmVjdGVkRHJpdmVyTGlzdDonLCB0aGlzLm9uQ29ubmVjdGVkRHJpdmVyTGlzdC5iaW5kKHRoaXMpKTtcbiAgdGhpcy5ycGNDbGllbnQub24oJ19ycGNfcmVwb3J0Q3VycmVudFN0YXRlOicsIHRoaXMub25DdXJyZW50U3RhdGUuYmluZCh0aGlzKSk7XG4gIHRoaXMucnBjQ2xpZW50Lm9uKCdQYWdlLmZyYW1lRGV0YWNoZWQnLCB0aGlzLmZyYW1lRGV0YWNoZWQuYmluZCh0aGlzKSk7XG5cbiAgYXdhaXQgdGhpcy5ycGNDbGllbnQuY29ubmVjdCgpO1xuXG4gIC8vIGdldCB0aGUgY29ubmVjdGlvbiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYXBwXG4gIHRyeSB7XG4gICAgYXdhaXQgdGhpcy5zZXRDb25uZWN0aW9uS2V5KCk7XG4gICAgaWYgKHRpbWVvdXQpIHtcbiAgICAgIGxvZy5kZWJ1ZyhgV2FpdGluZyB1cCB0byAke3RpbWVvdXR9bXMgZm9yIGFwcGxpY2F0aW9ucyB0byBiZSByZXBvcnRlZGApO1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgd2FpdEZvckNvbmRpdGlvbigoKSA9PiAhXy5pc0VtcHR5KHRoaXMuYXBwRGljdCksIHtcbiAgICAgICAgICB3YWl0TXM6IHRpbWVvdXQsXG4gICAgICAgICAgaW50ZXJ2YWw6IEFQUF9DT05ORUNUX0lOVEVSVkFMX01TLFxuICAgICAgICB9KTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBsb2cuZGVidWcoYFRpbWVkIG91dCB3YWl0aW5nIGZvciBhcHBsaWNhdGlvbnMgdG8gYmUgcmVwb3J0ZWRgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYXBwRGljdCB8fCB7fTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgbG9nLmVycm9yKGBFcnJvciBzZXR0aW5nIGNvbm5lY3Rpb24ga2V5OiAke2Vyci5tZXNzYWdlfWApO1xuICAgIGF3YWl0IHRoaXMuZGlzY29ubmVjdCgpO1xuICAgIHRocm93IGVycjtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBkaXNjb25uZWN0ICgpIHtcbiAgaWYgKHRoaXMucnBjQ2xpZW50KSB7XG4gICAgYXdhaXQgdGhpcy5ycGNDbGllbnQuZGlzY29ubmVjdCgpO1xuICB9XG4gIHRoaXMuZW1pdChldmVudHMuRVZFTlRfRElTQ09OTkVDVCwgdHJ1ZSk7XG4gIHRoaXMudGVhcmRvd24oKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc2VsZWN0QXBwIChjdXJyZW50VXJsID0gbnVsbCwgbWF4VHJpZXMgPSBTRUxFQ1RfQVBQX1JFVFJJRVMsIGlnbm9yZUFib3V0QmxhbmtVcmwgPSBmYWxzZSkge1xuICBjb25zdCBzaG91bGRDaGVja0ZvclRhcmdldCA9IHRoaXMucnBjQ2xpZW50LnNob3VsZENoZWNrRm9yVGFyZ2V0O1xuICB0aGlzLnJwY0NsaWVudC5zaG91bGRDaGVja0ZvclRhcmdldCA9IGZhbHNlO1xuICB0cnkge1xuICAgIGNvbnN0IHRpbWVyID0gbmV3IHRpbWluZy5UaW1lcigpLnN0YXJ0KCk7XG4gICAgbG9nLmRlYnVnKCdTZWxlY3RpbmcgYXBwbGljYXRpb24nKTtcbiAgICBpZiAoIXRoaXMuYXBwRGljdCB8fCBfLmlzRW1wdHkodGhpcy5hcHBEaWN0KSkge1xuICAgICAgbG9nLmRlYnVnKCdObyBhcHBsaWNhdGlvbnMgY3VycmVudGx5IGNvbm5lY3RlZC4nKTtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCB7YXBwSWRLZXksIHBhZ2VEaWN0fSA9IGF3YWl0IHRoaXMuc2VhcmNoRm9yQXBwKGN1cnJlbnRVcmwsIG1heFRyaWVzLCBpZ25vcmVBYm91dEJsYW5rVXJsKTtcblxuICAgIC8vIGlmLCBhZnRlciBhbGwgdGhpcywgd2UgaGF2ZSBubyBkaWN0aW9uYXJ5LCB3ZSBoYXZlIGZhaWxlZFxuICAgIGlmICghYXBwSWRLZXkgfHwgIXBhZ2VEaWN0KSB7XG4gICAgICBsb2cuZXJyb3JBbmRUaHJvdyhgQ291bGQgbm90IGNvbm5lY3QgdG8gYSB2YWxpZCBhcHAgYWZ0ZXIgJHttYXhUcmllc30gdHJpZXMuYCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYXBwSWRLZXkgIT09IGFwcElkS2V5KSB7XG4gICAgICBsb2cuZGVidWcoYFJlY2VpdmVkIGFsdGVyZWQgYXBwIGlkLCB1cGRhdGluZyBmcm9tICcke3RoaXMuYXBwSWRLZXl9JyB0byAnJHthcHBJZEtleX0nYCk7XG4gICAgICB0aGlzLmFwcElkS2V5ID0gYXBwSWRLZXk7XG4gICAgfVxuXG4gICAgbG9nQXBwbGljYXRpb25EaWN0aW9uYXJ5KHRoaXMuYXBwRGljdCk7XG5cbiAgICAvLyB0cmFuc2xhdGUgdGhlIGRpY3Rpb25hcnkgaW50byBhIHVzZWZ1bCBmb3JtLCBhbmQgcmV0dXJuIHRvIHNlbmRlclxuICAgIGNvbnN0IHBhZ2VBcnJheSA9IF8uaXNFbXB0eSh0aGlzLmFwcERpY3RbYXBwSWRLZXldLnBhZ2VBcnJheSlcbiAgICAgID8gcGFnZUFycmF5RnJvbURpY3QocGFnZURpY3QpXG4gICAgICA6IHRoaXMuYXBwRGljdFthcHBJZEtleV0ucGFnZUFycmF5O1xuICAgIGxvZy5kZWJ1ZyhgRmluYWxseSBzZWxlY3RpbmcgYXBwICR7dGhpcy5hcHBJZEtleX06ICR7c2ltcGxlU3RyaW5naWZ5KHBhZ2VBcnJheSl9YCk7XG5cbiAgICBsZXQgZnVsbFBhZ2VBcnJheSA9IFtdO1xuICAgIGZvciAoY29uc3QgW2FwcCwgaW5mb10gb2YgXy50b1BhaXJzKHRoaXMuYXBwRGljdCkpIHtcbiAgICAgIGlmICghXy5pc0FycmF5KGluZm8ucGFnZUFycmF5KSB8fCAhaW5mby5pc0FjdGl2ZSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGlkID0gYXBwLnJlcGxhY2UoJ1BJRDonLCAnJyk7XG4gICAgICBmb3IgKGNvbnN0IHBhZ2Ugb2YgaW5mby5wYWdlQXJyYXkpIHtcbiAgICAgICAgaWYgKCEoaWdub3JlQWJvdXRCbGFua1VybCAmJiBwYWdlLnVybCA9PT0gQkxBTktfUEFHRV9VUkwpKSB7XG4gICAgICAgICAgbGV0IHBhZ2VEaWN0ID0gXy5jbG9uZShwYWdlKTtcbiAgICAgICAgICBwYWdlRGljdC5pZCA9IGAke2lkfS4ke3BhZ2VEaWN0LmlkfWA7XG4gICAgICAgICAgcGFnZURpY3QuYnVuZGxlSWQgPSBpbmZvLmJ1bmRsZUlkO1xuICAgICAgICAgIGZ1bGxQYWdlQXJyYXkucHVzaChwYWdlRGljdCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBsb2cuZGVidWcoYFNlbGVjdGVkIGFwcCBhZnRlciAke3RpbWVyLmdldER1cmF0aW9uKCkuYXNNaWxsaVNlY29uZHMudG9GaXhlZCgwKX1tc2ApO1xuICAgIHJldHVybiBmdWxsUGFnZUFycmF5O1xuICB9IGZpbmFsbHkge1xuICAgIHRoaXMucnBjQ2xpZW50LnNob3VsZENoZWNrRm9yVGFyZ2V0ID0gc2hvdWxkQ2hlY2tGb3JUYXJnZXQ7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gc2VhcmNoRm9yQXBwIChjdXJyZW50VXJsLCBtYXhUcmllcywgaWdub3JlQWJvdXRCbGFua1VybCkge1xuICBjb25zdCBidW5kbGVJZHMgPSB0aGlzLmluY2x1ZGVTYWZhcmkgJiYgIXRoaXMuaXNTYWZhcmlcbiAgICA/IFt0aGlzLmJ1bmRsZUlkLCAuLi50aGlzLmFkZGl0aW9uYWxCdW5kbGVJZHMsIFNBRkFSSV9CVU5ETEVfSURdXG4gICAgOiBbdGhpcy5idW5kbGVJZCwgLi4udGhpcy5hZGRpdGlvbmFsQnVuZGxlSWRzXTtcbiAgdHJ5IHtcbiAgICByZXR1cm4gYXdhaXQgcmV0cnlJbnRlcnZhbChtYXhUcmllcywgU0VMRUNUX0FQUF9SRVRSWV9TTEVFUF9NUywgYXN5bmMgKHJldHJ5Q291bnQpID0+IHtcbiAgICAgIGxvZ0FwcGxpY2F0aW9uRGljdGlvbmFyeSh0aGlzLmFwcERpY3QpO1xuICAgICAgY29uc3QgcG9zc2libGVBcHBJZHMgPSBnZXRQb3NzaWJsZURlYnVnZ2VyQXBwS2V5cyhidW5kbGVJZHMsIHRoaXMuYXBwRGljdCk7XG4gICAgICBsb2cuZGVidWcoYFRyeWluZyBvdXQgdGhlIHBvc3NpYmxlIGFwcCBpZHM6ICR7cG9zc2libGVBcHBJZHMuam9pbignLCAnKX0gKHRyeSAjJHtyZXRyeUNvdW50ICsgMX0gb2YgJHttYXhUcmllc30pYCk7XG4gICAgICBmb3IgKGNvbnN0IGF0dGVtcHRlZEFwcElkS2V5IG9mIHBvc3NpYmxlQXBwSWRzKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaWYgKCF0aGlzLmFwcERpY3RbYXR0ZW1wdGVkQXBwSWRLZXldLmlzQWN0aXZlKSB7XG4gICAgICAgICAgICBsb2cuZGVidWcoYFNraXBwaW5nIGFwcCAnJHthdHRlbXB0ZWRBcHBJZEtleX0nIGJlY2F1c2UgaXQgaXMgbm90IGFjdGl2ZWApO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGxvZy5kZWJ1ZyhgQXR0ZW1wdGluZyBhcHAgJyR7YXR0ZW1wdGVkQXBwSWRLZXl9J2ApO1xuICAgICAgICAgIGNvbnN0IFthcHBJZEtleSwgcGFnZURpY3RdID0gYXdhaXQgdGhpcy5ycGNDbGllbnQuc2VsZWN0QXBwKGF0dGVtcHRlZEFwcElkS2V5LCB0aGlzLm9uQXBwQ29ubmVjdC5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAvLyBpbiBpT1MgOC4yIHRoZSBjb25uZWN0IGxvZ2ljIGhhcHBlbnMsIGJ1dCB3aXRoIGFuIGVtcHR5IGRpY3Rpb25hcnlcbiAgICAgICAgICAvLyB3aGljaCBsZWFkcyB0byB0aGUgcmVtb3RlIGRlYnVnZ2VyIGdldHRpbmcgZGlzY29ubmVjdGVkLCBhbmQgaW50byBhIGxvb3BcbiAgICAgICAgICBpZiAoXy5pc0VtcHR5KHBhZ2VEaWN0KSkge1xuICAgICAgICAgICAgbG9nLmRlYnVnKCdFbXB0eSBwYWdlIGRpY3Rpb25hcnkgcmVjZWl2ZWQuIFRyeWluZyBhZ2Fpbi4nKTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIHNhdmUgdGhlIHBhZ2UgYXJyYXkgZm9yIHRoaXMgYXBwXG4gICAgICAgICAgdGhpcy5hcHBEaWN0W2FwcElkS2V5XS5wYWdlQXJyYXkgPSBwYWdlQXJyYXlGcm9tRGljdChwYWdlRGljdCk7XG5cbiAgICAgICAgICAvLyBpZiB3ZSBhcmUgbG9va2luZyBmb3IgYSBwYXJ0aWN1bGFyIHVybCwgbWFrZSBzdXJlIHdlXG4gICAgICAgICAgLy8gaGF2ZSB0aGUgcmlnaHQgcGFnZS4gSWdub3JlIGVtcHR5IG9yIHVuZGVmaW5lZCB1cmxzLlxuICAgICAgICAgIC8vIElnbm9yZSBhYm91dDpibGFuayBpZiByZXF1ZXN0ZWQuXG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5zZWFyY2hGb3JQYWdlKHRoaXMuYXBwRGljdCwgY3VycmVudFVybCwgaWdub3JlQWJvdXRCbGFua1VybCk7XG4gICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoY3VycmVudFVybCkge1xuICAgICAgICAgICAgbG9nLmRlYnVnKGBSZWNlaXZlZCBhcHAsIGJ1dCBleHBlY3RlZCB1cmwgKCcke2N1cnJlbnRVcmx9Jykgd2FzIG5vdCBmb3VuZC4gVHJ5aW5nIGFnYWluLmApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsb2cuZGVidWcoJ1JlY2VpdmVkIGFwcCwgYnV0IG5vIG1hdGNoIHdhcyBmb3VuZC4gVHJ5aW5nIGFnYWluLicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgbG9nLmRlYnVnKGBFcnJvciBjaGVja2luZyBhcHBsaWNhdGlvbjogJyR7ZXJyLm1lc3NhZ2V9Jy4gUmV0cnlpbmcgY29ubmVjdGlvbmApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXRyeUNvdW50Kys7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmaW5kIGFuIGFwcCB0byBzZWxlY3QnKTtcbiAgICB9LCAwKTtcbiAgfSBjYXRjaCAoaWduKSB7XG4gICAgbG9nLmVycm9yQW5kVGhyb3coYENvdWxkIG5vdCBjb25uZWN0IHRvIGEgdmFsaWQgYXBwIGFmdGVyICR7bWF4VHJpZXN9IHRyaWVzLmApO1xuICB9XG59XG5cbmZ1bmN0aW9uIHNlYXJjaEZvclBhZ2UgKGFwcHNEaWN0LCBjdXJyZW50VXJsID0gbnVsbCwgaWdub3JlQWJvdXRCbGFua1VybCA9IGZhbHNlKSB7XG4gIGZvciAoY29uc3QgYXBwRGljdCBvZiBfLnZhbHVlcyhhcHBzRGljdCkpIHtcbiAgICBpZiAoIWFwcERpY3QgfHwgIWFwcERpY3QuaXNBY3RpdmUgfHwgIWFwcERpY3QucGFnZUFycmF5IHx8IGFwcERpY3QucGFnZUFycmF5LnByb21pc2UpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgZGljdCBvZiBhcHBEaWN0LnBhZ2VBcnJheSkge1xuICAgICAgaWYgKCghaWdub3JlQWJvdXRCbGFua1VybCB8fCBkaWN0LnVybCAhPT0gQkxBTktfUEFHRV9VUkwpICYmXG4gICAgICAgICAgKCFjdXJyZW50VXJsIHx8IGRpY3QudXJsID09PSBjdXJyZW50VXJsIHx8IGRpY3QudXJsID09PSBgJHtjdXJyZW50VXJsfS9gKSkge1xuICAgICAgICByZXR1cm4geyBhcHBJZEtleTogYXBwRGljdC5pZCwgcGFnZURpY3Q6IGRpY3QgfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNlbGVjdFBhZ2UgKGFwcElkS2V5LCBwYWdlSWRLZXksIHNraXBSZWFkeUNoZWNrID0gZmFsc2UpIHtcbiAgdGhpcy5hcHBJZEtleSA9IGBQSUQ6JHthcHBJZEtleX1gO1xuICB0aGlzLnBhZ2VJZEtleSA9IHBhZ2VJZEtleTtcblxuICBsb2cuZGVidWcoYFNlbGVjdGluZyBwYWdlICcke3BhZ2VJZEtleX0nIG9uIGFwcCAnJHt0aGlzLmFwcElkS2V5fScgYW5kIGZvcndhcmRpbmcgc29ja2V0IHNldHVwYCk7XG5cbiAgY29uc3QgdGltZXIgPSBuZXcgdGltaW5nLlRpbWVyKCkuc3RhcnQoKTtcblxuICBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZWxlY3RQYWdlKHRoaXMuYXBwSWRLZXksIHBhZ2VJZEtleSk7XG5cbiAgLy8gbWFrZSBzdXJlIGV2ZXJ5dGhpbmcgaXMgcmVhZHkgdG8gZ29cbiAgaWYgKCFza2lwUmVhZHlDaGVjayAmJiAhYXdhaXQgdGhpcy5jaGVja1BhZ2VJc1JlYWR5KCkpIHtcbiAgICBhd2FpdCB0aGlzLnBhZ2VVbmxvYWQoKTtcbiAgfVxuXG4gIGxvZy5kZWJ1ZyhgU2VsZWN0ZWQgcGFnZSBhZnRlciAke3RpbWVyLmdldER1cmF0aW9uKCkuYXNNaWxsaVNlY29uZHMudG9GaXhlZCgwKX1tc2ApO1xufVxuXG5mdW5jdGlvbiBsb2dBcHBsaWNhdGlvbkRpY3Rpb25hcnkgKGFwcHMpIHtcbiAgZnVuY3Rpb24gZ2V0VmFsdWVTdHJpbmcgKGtleSwgdmFsdWUpIHtcbiAgICBpZiAoXy5pc0Z1bmN0aW9uKHZhbHVlKSkge1xuICAgICAgcmV0dXJuICdbRnVuY3Rpb25dJztcbiAgICB9XG4gICAgaWYgKGtleSA9PT0gJ3BhZ2VBcnJheScgJiYgIV8uaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiBgXCJXYWl0aW5nIGZvciBkYXRhXCJgO1xuICAgIH1cbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuICB9XG4gIGxvZy5kZWJ1ZygnQ3VycmVudCBhcHBsaWNhdGlvbnMgYXZhaWxhYmxlOicpO1xuICBmb3IgKGNvbnN0IFthcHAsIGluZm9dIG9mIF8udG9QYWlycyhhcHBzKSkge1xuICAgIGxvZy5kZWJ1ZyhgICAgIEFwcGxpY2F0aW9uOiBcIiR7YXBwfVwiYCk7XG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgXy50b1BhaXJzKGluZm8pKSB7XG4gICAgICBpZiAoa2V5ID09PSAncGFnZUFycmF5JyAmJiBBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgbG9nLmRlYnVnKGAgICAgICAgICR7a2V5fTpgKTtcbiAgICAgICAgZm9yIChjb25zdCBwYWdlIG9mIHZhbHVlKSB7XG4gICAgICAgICAgbGV0IHByZWZpeCA9ICctICc7XG4gICAgICAgICAgZm9yIChjb25zdCBbaywgdl0gb2YgXy50b1BhaXJzKHBhZ2UpKSB7XG4gICAgICAgICAgICBsb2cuZGVidWcoYCAgICAgICAgICAke3ByZWZpeH0ke2t9OiAke0pTT04uc3RyaW5naWZ5KHYpfWApO1xuICAgICAgICAgICAgcHJlZml4ID0gJyAgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gZ2V0VmFsdWVTdHJpbmcoa2V5LCB2YWx1ZSk7XG4gICAgICAgIGxvZy5kZWJ1ZyhgICAgICAgICAke2tleX06ICR7dmFsdWVTdHJpbmd9YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUFwcHNXaXRoRGljdCAoZGljdCkge1xuICAvLyBnZXQgdGhlIGRpY3Rpb25hcnkgZW50cnkgaW50byBhIG5pY2UgZm9ybSwgYW5kIGFkZCBpdCB0byB0aGVcbiAgLy8gYXBwbGljYXRpb24gZGljdGlvbmFyeVxuICB0aGlzLmFwcERpY3QgPSB0aGlzLmFwcERpY3QgfHwge307XG4gIGxldCBbaWQsIGVudHJ5XSA9IGFwcEluZm9Gcm9tRGljdChkaWN0KTtcbiAgaWYgKHRoaXMuYXBwRGljdFtpZF0pIHtcbiAgICAvLyBwcmVzZXJ2ZSB0aGUgcGFnZSBkaWN0aW9uYXJ5IGZvciB0aGlzIGVudHJ5XG4gICAgZW50cnkucGFnZUFycmF5ID0gdGhpcy5hcHBEaWN0W2lkXS5wYWdlQXJyYXk7XG4gIH1cbiAgdGhpcy5hcHBEaWN0W2lkXSA9IGVudHJ5O1xuXG4gIC8vIGFkZCBhIHByb21pc2UgdG8gZ2V0IHRoZSBwYWdlIGRpY3Rpb25hcnlcbiAgaWYgKF8uaXNVbmRlZmluZWQoZW50cnkucGFnZUFycmF5KSkge1xuICAgIGVudHJ5LnBhZ2VBcnJheSA9IGRlZmVycmVkUHJvbWlzZSgpO1xuICB9XG5cbiAgLy8gdHJ5IHRvIGdldCB0aGUgYXBwIGlkIGZyb20gb3VyIGNvbm5lY3RlZCBhcHBzXG4gIGlmICghdGhpcy5hcHBJZEtleSkge1xuICAgIHRoaXMuYXBwSWRLZXkgPSBnZXREZWJ1Z2dlckFwcEtleSh0aGlzLmJ1bmRsZUlkLCB0aGlzLmFwcERpY3QpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHsgc2V0Q29ubmVjdGlvbktleSwgY29ubmVjdCwgZGlzY29ubmVjdCwgc2VsZWN0QXBwLCBzZWFyY2hGb3JBcHAsIHNlYXJjaEZvclBhZ2UsIHNlbGVjdFBhZ2UsIHVwZGF0ZUFwcHNXaXRoRGljdCB9O1xuIl0sImZpbGUiOiJsaWIvbWl4aW5zL2Nvbm5lY3QuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4ifQ==
|
|
308
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9taXhpbnMvY29ubmVjdC5qcyJdLCJuYW1lcyI6WyJBUFBfQ09OTkVDVF9USU1FT1VUX01TIiwiQVBQX0NPTk5FQ1RfSU5URVJWQUxfTVMiLCJTRUxFQ1RfQVBQX1JFVFJJRVMiLCJTRUxFQ1RfQVBQX1JFVFJZX1NMRUVQX01TIiwiU0FGQVJJX0JVTkRMRV9JRCIsIkJMQU5LX1BBR0VfVVJMIiwic2V0Q29ubmVjdGlvbktleSIsImxvZyIsImRlYnVnIiwicnBjQ2xpZW50Iiwic2VuZCIsImNvbm5lY3QiLCJ0aW1lb3V0Iiwic2V0dXAiLCJpbml0UnBjQ2xpZW50Iiwib24iLCJfIiwibm9vcCIsIm9uUGFnZUNoYW5nZSIsImJpbmQiLCJvbkNvbm5lY3RlZEFwcGxpY2F0aW9uTGlzdCIsIm9uQXBwQ29ubmVjdCIsIm9uQXBwRGlzY29ubmVjdCIsIm9uQXBwVXBkYXRlIiwib25Db25uZWN0ZWREcml2ZXJMaXN0Iiwib25DdXJyZW50U3RhdGUiLCJmcmFtZURldGFjaGVkIiwiaXNFbXB0eSIsImFwcERpY3QiLCJ3YWl0TXMiLCJpbnRlcnZhbCIsImVyciIsImVycm9yIiwibWVzc2FnZSIsImRpc2Nvbm5lY3QiLCJlbWl0IiwiZXZlbnRzIiwiRVZFTlRfRElTQ09OTkVDVCIsInRlYXJkb3duIiwic2VsZWN0QXBwIiwiY3VycmVudFVybCIsIm1heFRyaWVzIiwiaWdub3JlQWJvdXRCbGFua1VybCIsInNob3VsZENoZWNrRm9yVGFyZ2V0IiwidGltZXIiLCJ0aW1pbmciLCJUaW1lciIsInN0YXJ0IiwiYXBwSWRLZXkiLCJwYWdlRGljdCIsInNlYXJjaEZvckFwcCIsImVycm9yQW5kVGhyb3ciLCJsb2dBcHBsaWNhdGlvbkRpY3Rpb25hcnkiLCJwYWdlQXJyYXkiLCJmdWxsUGFnZUFycmF5IiwiYXBwIiwiaW5mbyIsInRvUGFpcnMiLCJpc0FycmF5IiwiaXNBY3RpdmUiLCJpZCIsInJlcGxhY2UiLCJwYWdlIiwidXJsIiwiY2xvbmUiLCJidW5kbGVJZCIsInB1c2giLCJnZXREdXJhdGlvbiIsImFzTWlsbGlTZWNvbmRzIiwidG9GaXhlZCIsImJ1bmRsZUlkcyIsImluY2x1ZGVTYWZhcmkiLCJpc1NhZmFyaSIsImFkZGl0aW9uYWxCdW5kbGVJZHMiLCJyZXRyeUNvdW50IiwicG9zc2libGVBcHBJZHMiLCJqb2luIiwiYXR0ZW1wdGVkQXBwSWRLZXkiLCJyZXN1bHQiLCJzZWFyY2hGb3JQYWdlIiwiRXJyb3IiLCJpZ24iLCJhcHBzRGljdCIsInZhbHVlcyIsInByb21pc2UiLCJkaWN0Iiwic2VsZWN0UGFnZSIsInBhZ2VJZEtleSIsInNraXBSZWFkeUNoZWNrIiwiY2hlY2tQYWdlSXNSZWFkeSIsInBhZ2VVbmxvYWQiLCJhcHBzIiwiZ2V0VmFsdWVTdHJpbmciLCJrZXkiLCJ2YWx1ZSIsImlzRnVuY3Rpb24iLCJKU09OIiwic3RyaW5naWZ5IiwiQXJyYXkiLCJsZW5ndGgiLCJwcmVmaXgiLCJrIiwidiIsInZhbHVlU3RyaW5nIiwidXBkYXRlQXBwc1dpdGhEaWN0IiwiZW50cnkiLCJpc1VuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQSxNQUFNQSxzQkFBc0IsR0FBRyxDQUEvQjtBQUNBLE1BQU1DLHVCQUF1QixHQUFHLEdBQWhDO0FBQ0EsTUFBTUMsa0JBQWtCLEdBQUcsRUFBM0I7QUFDQSxNQUFNQyx5QkFBeUIsR0FBRyxHQUFsQztBQUNBLE1BQU1DLGdCQUFnQixHQUFHLHdCQUF6QjtBQUNBLE1BQU1DLGNBQWMsR0FBRyxhQUF2Qjs7QUFHQSxlQUFlQyxnQkFBZixHQUFtQztBQUNqQ0Msa0JBQUlDLEtBQUosQ0FBVSxnQ0FBVjs7QUFHQSxRQUFNLEtBQUtDLFNBQUwsQ0FBZUMsSUFBZixDQUFvQixrQkFBcEIsRUFBd0MsRUFBeEMsRUFBNEMsS0FBNUMsQ0FBTjtBQUNEOztBQUVELGVBQWVDLE9BQWYsQ0FBd0JDLE9BQU8sR0FBR1osc0JBQWxDLEVBQTBEO0FBQ3hELE9BQUth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VXFGLEdBQUksS0FBSVUsV0FBWSxFQUF6QztBQUNEO0FBQ0Y7QUFDRjtBQUNGOztBQUVELFNBQVNDLGtCQUFULENBQTZCbkIsSUFBN0IsRUFBbUM7QUFHakMsT0FBS3pELE9BQUwsR0FBZSxLQUFLQSxPQUFMLElBQWdCLEVBQS9CO0FBQ0EsTUFBSSxDQUFDZ0MsRUFBRCxFQUFLNkMsS0FBTCxJQUFjLDRCQUFnQnBCLElBQWhCLENBQWxCOztBQUNBLE1BQUksS0FBS3pELE9BQUwsQ0FBYWdDLEVBQWIsQ0FBSixFQUFzQjtBQUVwQjZDLElBQUFBLEtBQUssQ0FBQ3BELFNBQU4sR0FBa0IsS0FBS3pCLE9BQUwsQ0FBYWdDLEVBQWIsRUFBaUJQLFNBQW5DO0FBQ0Q7O0FBQ0QsT0FBS3pCLE9BQUwsQ0FBYWdDLEVBQWIsSUFBbUI2QyxLQUFuQjs7QUFHQSxNQUFJekYsZ0JBQUUwRixXQUFGLENBQWNELEtBQUssQ0FBQ3BELFNBQXBCLENBQUosRUFBb0M7QUFDbENvRCxJQUFBQSxLQUFLLENBQUNwRCxTQUFOLEdBQWtCLDZCQUFsQjtBQUNEOztBQUdELE1BQUksQ0FBQyxLQUFLTCxRQUFWLEVBQW9CO0FBQ2xCLFNBQUtBLFFBQUwsR0FBZ0IsOEJBQWtCLEtBQUtpQixRQUF2QixFQUFpQyxLQUFLckMsT0FBdEMsQ0FBaEI7QUFDRDtBQUNGOztlQUVjO0FBQUV0QixFQUFBQSxnQkFBRjtBQUFvQkssRUFBQUEsT0FBcEI7QUFBNkJ1QixFQUFBQSxVQUE3QjtBQUF5Q0ssRUFBQUEsU0FBekM7QUFBb0RXLEVBQUFBLFlBQXBEO0FBQWtFNkIsRUFBQUEsYUFBbEU7QUFBaUZPLEVBQUFBLFVBQWpGO0FBQTZGa0IsRUFBQUE7QUFBN0YsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBsb2cgZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCB7IGFwcEluZm9Gcm9tRGljdCwgcGFnZUFycmF5RnJvbURpY3QsIGdldERlYnVnZ2VyQXBwS2V5LFxuICAgICAgICAgZ2V0UG9zc2libGVEZWJ1Z2dlckFwcEtleXMsIHNpbXBsZVN0cmluZ2lmeSwgZGVmZXJyZWRQcm9taXNlIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IGV2ZW50cyBmcm9tICcuL2V2ZW50cyc7XG5pbXBvcnQgeyB0aW1pbmcgfSBmcm9tICdAYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IHsgcmV0cnlJbnRlcnZhbCwgd2FpdEZvckNvbmRpdGlvbiB9IGZyb20gJ2FzeW5jYm94JztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cblxuY29uc3QgQVBQX0NPTk5FQ1RfVElNRU9VVF9NUyA9IDA7XG5jb25zdCBBUFBfQ09OTkVDVF9JTlRFUlZBTF9NUyA9IDEwMDtcbmNvbnN0IFNFTEVDVF9BUFBfUkVUUklFUyA9IDIwO1xuY29uc3QgU0VMRUNUX0FQUF9SRVRSWV9TTEVFUF9NUyA9IDUwMDtcbmNvbnN0IFNBRkFSSV9CVU5ETEVfSUQgPSAnY29tLmFwcGxlLm1vYmlsZXNhZmFyaSc7XG5jb25zdCBCTEFOS19QQUdFX1VSTCA9ICdhYm91dDpibGFuayc7XG5cblxuYXN5bmMgZnVuY3Rpb24gc2V0Q29ubmVjdGlvbktleSAoKSB7XG4gIGxvZy5kZWJ1ZygnU2VuZGluZyBjb25uZWN0aW9uIGtleSByZXF1ZXN0Jyk7XG4gIC8vIHNlbmQgYnV0IG9ubHkgd2FpdCB0byBtYWtlIHN1cmUgdGhlIHNvY2tldCB3b3JrZWRcbiAgLy8gYXMgcmVzcG9uc2UgZnJvbSBXZWIgSW5zcGVjdG9yIGNhbiB0YWtlIGEgbG9uZyB0aW1lXG4gIGF3YWl0IHRoaXMucnBjQ2xpZW50LnNlbmQoJ3NldENvbm5lY3Rpb25LZXknLCB7fSwgZmFsc2UpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBjb25uZWN0ICh0aW1lb3V0ID0gQVBQX0NPTk5FQ1RfVElNRU9VVF9NUykge1xuICB0aGlzLnNldHVwKCk7XG5cbiAgLy8gaW5pdGlhbGl6ZSB0aGUgcnBjIGNsaWVudFxuICB0aGlzLmluaXRScGNDbGllbnQoKTtcblxuICAvLyBsaXN0ZW4gZm9yIGJhc2ljIGRlYnVnZ2VyLWxldmVsIGV2ZW50c1xuICB0aGlzLnJwY0NsaWVudC5vbignX3JwY19yZXBvcnRTZXR1cDonLCBfLm5vb3ApO1xuICB0aGlzLnJwY0NsaWVudC5vbignX3JwY19mb3J3YXJkR2V0TGlzdGluZzonLCB0aGlzLm9uUGFnZUNoYW5nZS5iaW5kKHRoaXMpKTtcbiAgdGhpcy5ycGNDbGllbnQub24oJ19ycGNfcmVwb3J0Q29ubmVjdGVkQXBwbGljYXRpb25MaXN0OicsIHRoaXMub25Db25uZWN0ZWRBcHBsaWNhdGlvbkxpc3QuYmluZCh0aGlzKSk7XG4gIHRoaXMucnBjQ2xpZW50Lm9uKCdfcnBjX2FwcGxpY2F0aW9uQ29ubmVjdGVkOicsIHRoaXMub25BcHBDb25uZWN0LmJpbmQodGhpcykpO1xuICB0aGlzLnJwY0NsaWVudC5vbignX3JwY19hcHBsaWNhdGlvbkRpc2Nvbm5lY3RlZDonLCB0aGlzLm9uQXBwRGlzY29ubmVjdC5iaW5kKHRoaXMpKTtcbiAgdGhpcy5ycGNDbGllbnQub24oJ19ycGNfYXBwbGljYXRpb25VcGRhdGVkOicsIHRoaXMub25BcHBVcGRhdGUuYmluZCh0aGlzKSk7XG4gIHRoaXMucnBjQ2xpZW50Lm9uKCdfcnBjX3JlcG9ydENvbm5lY3RlZERyaXZlckxpc3Q6JywgdGhpcy5vbkNvbm5lY3RlZERyaXZlckxpc3QuYmluZCh0aGlzKSk7XG4gIHRoaXMucnBjQ2xpZW50Lm9uKCdfcnBjX3JlcG9ydEN1cnJlbnRTdGF0ZTonLCB0aGlzLm9uQ3VycmVudFN0YXRlLmJpbmQodGhpcykpO1xuICB0aGlzLnJwY0NsaWVudC5vbignUGFnZS5mcmFtZURldGFjaGVkJywgdGhpcy5mcmFtZURldGFjaGVkLmJpbmQodGhpcykpO1xuXG4gIGF3YWl0IHRoaXMucnBjQ2xpZW50LmNvbm5lY3QoKTtcblxuICAvLyBnZXQgdGhlIGNvbm5lY3Rpb24gaW5mb3JtYXRpb24gYWJvdXQgdGhlIGFwcFxuICB0cnkge1xuICAgIGF3YWl0IHRoaXMuc2V0Q29ubmVjdGlvbktleSgpO1xuICAgIGlmICh0aW1lb3V0KSB7XG4gICAgICBsb2cuZGVidWcoYFdhaXRpbmcgdXAgdG8gJHt0aW1lb3V0fW1zIGZvciBhcHBsaWNhdGlvbnMgdG8gYmUgcmVwb3J0ZWRgKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IHdhaXRGb3JDb25kaXRpb24oKCkgPT4gIV8uaXNFbXB0eSh0aGlzLmFwcERpY3QpLCB7XG4gICAgICAgICAgd2FpdE1zOiB0aW1lb3V0LFxuICAgICAgICAgIGludGVydmFsOiBBUFBfQ09OTkVDVF9JTlRFUlZBTF9NUyxcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgbG9nLmRlYnVnKGBUaW1lZCBvdXQgd2FpdGluZyBmb3IgYXBwbGljYXRpb25zIHRvIGJlIHJlcG9ydGVkYCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmFwcERpY3QgfHwge307XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZy5lcnJvcihgRXJyb3Igc2V0dGluZyBjb25uZWN0aW9uIGtleTogJHtlcnIubWVzc2FnZX1gKTtcbiAgICBhd2FpdCB0aGlzLmRpc2Nvbm5lY3QoKTtcbiAgICB0aHJvdyBlcnI7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gZGlzY29ubmVjdCAoKSB7XG4gIGlmICh0aGlzLnJwY0NsaWVudCkge1xuICAgIGF3YWl0IHRoaXMucnBjQ2xpZW50LmRpc2Nvbm5lY3QoKTtcbiAgfVxuICB0aGlzLmVtaXQoZXZlbnRzLkVWRU5UX0RJU0NPTk5FQ1QsIHRydWUpO1xuICB0aGlzLnRlYXJkb3duKCk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNlbGVjdEFwcCAoY3VycmVudFVybCA9IG51bGwsIG1heFRyaWVzID0gU0VMRUNUX0FQUF9SRVRSSUVTLCBpZ25vcmVBYm91dEJsYW5rVXJsID0gZmFsc2UpIHtcbiAgY29uc3Qgc2hvdWxkQ2hlY2tGb3JUYXJnZXQgPSB0aGlzLnJwY0NsaWVudC5zaG91bGRDaGVja0ZvclRhcmdldDtcbiAgdGhpcy5ycGNDbGllbnQuc2hvdWxkQ2hlY2tGb3JUYXJnZXQgPSBmYWxzZTtcbiAgdHJ5IHtcbiAgICBjb25zdCB0aW1lciA9IG5ldyB0aW1pbmcuVGltZXIoKS5zdGFydCgpO1xuICAgIGxvZy5kZWJ1ZygnU2VsZWN0aW5nIGFwcGxpY2F0aW9uJyk7XG4gICAgaWYgKCF0aGlzLmFwcERpY3QgfHwgXy5pc0VtcHR5KHRoaXMuYXBwRGljdCkpIHtcbiAgICAgIGxvZy5kZWJ1ZygnTm8gYXBwbGljYXRpb25zIGN1cnJlbnRseSBjb25uZWN0ZWQuJyk7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3Qge2FwcElkS2V5LCBwYWdlRGljdH0gPSBhd2FpdCB0aGlzLnNlYXJjaEZvckFwcChjdXJyZW50VXJsLCBtYXhUcmllcywgaWdub3JlQWJvdXRCbGFua1VybCk7XG5cbiAgICAvLyBpZiwgYWZ0ZXIgYWxsIHRoaXMsIHdlIGhhdmUgbm8gZGljdGlvbmFyeSwgd2UgaGF2ZSBmYWlsZWRcbiAgICBpZiAoIWFwcElkS2V5IHx8ICFwYWdlRGljdCkge1xuICAgICAgbG9nLmVycm9yQW5kVGhyb3coYENvdWxkIG5vdCBjb25uZWN0IHRvIGEgdmFsaWQgYXBwIGFmdGVyICR7bWF4VHJpZXN9IHRyaWVzLmApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmFwcElkS2V5ICE9PSBhcHBJZEtleSkge1xuICAgICAgbG9nLmRlYnVnKGBSZWNlaXZlZCBhbHRlcmVkIGFwcCBpZCwgdXBkYXRpbmcgZnJvbSAnJHt0aGlzLmFwcElkS2V5fScgdG8gJyR7YXBwSWRLZXl9J2ApO1xuICAgICAgdGhpcy5hcHBJZEtleSA9IGFwcElkS2V5O1xuICAgIH1cblxuICAgIGxvZ0FwcGxpY2F0aW9uRGljdGlvbmFyeSh0aGlzLmFwcERpY3QpO1xuXG4gICAgLy8gdHJhbnNsYXRlIHRoZSBkaWN0aW9uYXJ5IGludG8gYSB1c2VmdWwgZm9ybSwgYW5kIHJldHVybiB0byBzZW5kZXJcbiAgICBjb25zdCBwYWdlQXJyYXkgPSBfLmlzRW1wdHkodGhpcy5hcHBEaWN0W2FwcElkS2V5XS5wYWdlQXJyYXkpXG4gICAgICA/IHBhZ2VBcnJheUZyb21EaWN0KHBhZ2VEaWN0KVxuICAgICAgOiB0aGlzLmFwcERpY3RbYXBwSWRLZXldLnBhZ2VBcnJheTtcbiAgICBsb2cuZGVidWcoYEZpbmFsbHkgc2VsZWN0aW5nIGFwcCAke3RoaXMuYXBwSWRLZXl9OiAke3NpbXBsZVN0cmluZ2lmeShwYWdlQXJyYXkpfWApO1xuXG4gICAgbGV0IGZ1bGxQYWdlQXJyYXkgPSBbXTtcbiAgICBmb3IgKGNvbnN0IFthcHAsIGluZm9dIG9mIF8udG9QYWlycyh0aGlzLmFwcERpY3QpKSB7XG4gICAgICBpZiAoIV8uaXNBcnJheShpbmZvLnBhZ2VBcnJheSkgfHwgIWluZm8uaXNBY3RpdmUpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjb25zdCBpZCA9IGFwcC5yZXBsYWNlKCdQSUQ6JywgJycpO1xuICAgICAgZm9yIChjb25zdCBwYWdlIG9mIGluZm8ucGFnZUFycmF5KSB7XG4gICAgICAgIGlmICghKGlnbm9yZUFib3V0QmxhbmtVcmwgJiYgcGFnZS51cmwgPT09IEJMQU5LX1BBR0VfVVJMKSkge1xuICAgICAgICAgIGxldCBwYWdlRGljdCA9IF8uY2xvbmUocGFnZSk7XG4gICAgICAgICAgcGFnZURpY3QuaWQgPSBgJHtpZH0uJHtwYWdlRGljdC5pZH1gO1xuICAgICAgICAgIHBhZ2VEaWN0LmJ1bmRsZUlkID0gaW5mby5idW5kbGVJZDtcbiAgICAgICAgICBmdWxsUGFnZUFycmF5LnB1c2gocGFnZURpY3QpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbG9nLmRlYnVnKGBTZWxlY3RlZCBhcHAgYWZ0ZXIgJHt0aW1lci5nZXREdXJhdGlvbigpLmFzTWlsbGlTZWNvbmRzLnRvRml4ZWQoMCl9bXNgKTtcbiAgICByZXR1cm4gZnVsbFBhZ2VBcnJheTtcbiAgfSBmaW5hbGx5IHtcbiAgICB0aGlzLnJwY0NsaWVudC5zaG91bGRDaGVja0ZvclRhcmdldCA9IHNob3VsZENoZWNrRm9yVGFyZ2V0O1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNlYXJjaEZvckFwcCAoY3VycmVudFVybCwgbWF4VHJpZXMsIGlnbm9yZUFib3V0QmxhbmtVcmwpIHtcbiAgY29uc3QgYnVuZGxlSWRzID0gdGhpcy5pbmNsdWRlU2FmYXJpICYmICF0aGlzLmlzU2FmYXJpXG4gICAgPyBbdGhpcy5idW5kbGVJZCwgLi4udGhpcy5hZGRpdGlvbmFsQnVuZGxlSWRzLCBTQUZBUklfQlVORExFX0lEXVxuICAgIDogW3RoaXMuYnVuZGxlSWQsIC4uLnRoaXMuYWRkaXRpb25hbEJ1bmRsZUlkc107XG4gIHRyeSB7XG4gICAgcmV0dXJuIGF3YWl0IHJldHJ5SW50ZXJ2YWwobWF4VHJpZXMsIFNFTEVDVF9BUFBfUkVUUllfU0xFRVBfTVMsIGFzeW5jIChyZXRyeUNvdW50KSA9PiB7XG4gICAgICBsb2dBcHBsaWNhdGlvbkRpY3Rpb25hcnkodGhpcy5hcHBEaWN0KTtcbiAgICAgIGNvbnN0IHBvc3NpYmxlQXBwSWRzID0gZ2V0UG9zc2libGVEZWJ1Z2dlckFwcEtleXMoYnVuZGxlSWRzLCB0aGlzLmFwcERpY3QpO1xuICAgICAgbG9nLmRlYnVnKGBUcnlpbmcgb3V0IHRoZSBwb3NzaWJsZSBhcHAgaWRzOiAke3Bvc3NpYmxlQXBwSWRzLmpvaW4oJywgJyl9ICh0cnkgIyR7cmV0cnlDb3VudCArIDF9IG9mICR7bWF4VHJpZXN9KWApO1xuICAgICAgZm9yIChjb25zdCBhdHRlbXB0ZWRBcHBJZEtleSBvZiBwb3NzaWJsZUFwcElkcykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGlmICghdGhpcy5hcHBEaWN0W2F0dGVtcHRlZEFwcElkS2V5XS5pc0FjdGl2ZSkge1xuICAgICAgICAgICAgbG9nLmRlYnVnKGBTa2lwcGluZyBhcHAgJyR7YXR0ZW1wdGVkQXBwSWRLZXl9JyBiZWNhdXNlIGl0IGlzIG5vdCBhY3RpdmVgKTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBsb2cuZGVidWcoYEF0dGVtcHRpbmcgYXBwICcke2F0dGVtcHRlZEFwcElkS2V5fSdgKTtcbiAgICAgICAgICBjb25zdCBbYXBwSWRLZXksIHBhZ2VEaWN0XSA9IGF3YWl0IHRoaXMucnBjQ2xpZW50LnNlbGVjdEFwcChhdHRlbXB0ZWRBcHBJZEtleSwgdGhpcy5vbkFwcENvbm5lY3QuYmluZCh0aGlzKSk7XG4gICAgICAgICAgLy8gaW4gaU9TIDguMiB0aGUgY29ubmVjdCBsb2dpYyBoYXBwZW5zLCBidXQgd2l0aCBhbiBlbXB0eSBkaWN0aW9uYXJ5XG4gICAgICAgICAgLy8gd2hpY2ggbGVhZHMgdG8gdGhlIHJlbW90ZSBkZWJ1Z2dlciBnZXR0aW5nIGRpc2Nvbm5lY3RlZCwgYW5kIGludG8gYSBsb29wXG4gICAgICAgICAgaWYgKF8uaXNFbXB0eShwYWdlRGljdCkpIHtcbiAgICAgICAgICAgIGxvZy5kZWJ1ZygnRW1wdHkgcGFnZSBkaWN0aW9uYXJ5IHJlY2VpdmVkLiBUcnlpbmcgYWdhaW4uJyk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBzYXZlIHRoZSBwYWdlIGFycmF5IGZvciB0aGlzIGFwcFxuICAgICAgICAgIHRoaXMuYXBwRGljdFthcHBJZEtleV0ucGFnZUFycmF5ID0gcGFnZUFycmF5RnJvbURpY3QocGFnZURpY3QpO1xuXG4gICAgICAgICAgLy8gaWYgd2UgYXJlIGxvb2tpbmcgZm9yIGEgcGFydGljdWxhciB1cmwsIG1ha2Ugc3VyZSB3ZVxuICAgICAgICAgIC8vIGhhdmUgdGhlIHJpZ2h0IHBhZ2UuIElnbm9yZSBlbXB0eSBvciB1bmRlZmluZWQgdXJscy5cbiAgICAgICAgICAvLyBJZ25vcmUgYWJvdXQ6YmxhbmsgaWYgcmVxdWVzdGVkLlxuICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuc2VhcmNoRm9yUGFnZSh0aGlzLmFwcERpY3QsIGN1cnJlbnRVcmwsIGlnbm9yZUFib3V0QmxhbmtVcmwpO1xuICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGN1cnJlbnRVcmwpIHtcbiAgICAgICAgICAgIGxvZy5kZWJ1ZyhgUmVjZWl2ZWQgYXBwLCBidXQgZXhwZWN0ZWQgdXJsICgnJHtjdXJyZW50VXJsfScpIHdhcyBub3QgZm91bmQuIFRyeWluZyBhZ2Fpbi5gKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbG9nLmRlYnVnKCdSZWNlaXZlZCBhcHAsIGJ1dCBubyBtYXRjaCB3YXMgZm91bmQuIFRyeWluZyBhZ2Fpbi4nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIGxvZy5kZWJ1ZyhgRXJyb3IgY2hlY2tpbmcgYXBwbGljYXRpb246ICcke2Vyci5tZXNzYWdlfScuIFJldHJ5aW5nIGNvbm5lY3Rpb25gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0cnlDb3VudCsrO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZmluZCBhbiBhcHAgdG8gc2VsZWN0Jyk7XG4gICAgfSwgMCk7XG4gIH0gY2F0Y2ggKGlnbikge1xuICAgIGxvZy5lcnJvckFuZFRocm93KGBDb3VsZCBub3QgY29ubmVjdCB0byBhIHZhbGlkIGFwcCBhZnRlciAke21heFRyaWVzfSB0cmllcy5gKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzZWFyY2hGb3JQYWdlIChhcHBzRGljdCwgY3VycmVudFVybCA9IG51bGwsIGlnbm9yZUFib3V0QmxhbmtVcmwgPSBmYWxzZSkge1xuICBmb3IgKGNvbnN0IGFwcERpY3Qgb2YgXy52YWx1ZXMoYXBwc0RpY3QpKSB7XG4gICAgaWYgKCFhcHBEaWN0IHx8ICFhcHBEaWN0LmlzQWN0aXZlIHx8ICFhcHBEaWN0LnBhZ2VBcnJheSB8fCBhcHBEaWN0LnBhZ2VBcnJheS5wcm9taXNlKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGRpY3Qgb2YgYXBwRGljdC5wYWdlQXJyYXkpIHtcbiAgICAgIGlmICgoIWlnbm9yZUFib3V0QmxhbmtVcmwgfHwgZGljdC51cmwgIT09IEJMQU5LX1BBR0VfVVJMKSAmJlxuICAgICAgICAgICghY3VycmVudFVybCB8fCBkaWN0LnVybCA9PT0gY3VycmVudFVybCB8fCBkaWN0LnVybCA9PT0gYCR7Y3VycmVudFVybH0vYCkpIHtcbiAgICAgICAgcmV0dXJuIHsgYXBwSWRLZXk6IGFwcERpY3QuaWQsIHBhZ2VEaWN0OiBkaWN0IH07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5hc3luYyBmdW5jdGlvbiBzZWxlY3RQYWdlIChhcHBJZEtleSwgcGFnZUlkS2V5LCBza2lwUmVhZHlDaGVjayA9IGZhbHNlKSB7XG4gIHRoaXMuYXBwSWRLZXkgPSBgUElEOiR7YXBwSWRLZXl9YDtcbiAgdGhpcy5wYWdlSWRLZXkgPSBwYWdlSWRLZXk7XG5cbiAgbG9nLmRlYnVnKGBTZWxlY3RpbmcgcGFnZSAnJHtwYWdlSWRLZXl9JyBvbiBhcHAgJyR7dGhpcy5hcHBJZEtleX0nIGFuZCBmb3J3YXJkaW5nIHNvY2tldCBzZXR1cGApO1xuXG4gIGNvbnN0IHRpbWVyID0gbmV3IHRpbWluZy5UaW1lcigpLnN0YXJ0KCk7XG5cbiAgYXdhaXQgdGhpcy5ycGNDbGllbnQuc2VsZWN0UGFnZSh0aGlzLmFwcElkS2V5LCBwYWdlSWRLZXkpO1xuXG4gIC8vIG1ha2Ugc3VyZSBldmVyeXRoaW5nIGlzIHJlYWR5IHRvIGdvXG4gIGlmICghc2tpcFJlYWR5Q2hlY2sgJiYgIWF3YWl0IHRoaXMuY2hlY2tQYWdlSXNSZWFkeSgpKSB7XG4gICAgYXdhaXQgdGhpcy5wYWdlVW5sb2FkKCk7XG4gIH1cblxuICBsb2cuZGVidWcoYFNlbGVjdGVkIHBhZ2UgYWZ0ZXIgJHt0aW1lci5nZXREdXJhdGlvbigpLmFzTWlsbGlTZWNvbmRzLnRvRml4ZWQoMCl9bXNgKTtcbn1cblxuZnVuY3Rpb24gbG9nQXBwbGljYXRpb25EaWN0aW9uYXJ5IChhcHBzKSB7XG4gIGZ1bmN0aW9uIGdldFZhbHVlU3RyaW5nIChrZXksIHZhbHVlKSB7XG4gICAgaWYgKF8uaXNGdW5jdGlvbih2YWx1ZSkpIHtcbiAgICAgIHJldHVybiAnW0Z1bmN0aW9uXSc7XG4gICAgfVxuICAgIGlmIChrZXkgPT09ICdwYWdlQXJyYXknICYmICFfLmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICByZXR1cm4gYFwiV2FpdGluZyBmb3IgZGF0YVwiYDtcbiAgICB9XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbiAgfVxuICBsb2cuZGVidWcoJ0N1cnJlbnQgYXBwbGljYXRpb25zIGF2YWlsYWJsZTonKTtcbiAgZm9yIChjb25zdCBbYXBwLCBpbmZvXSBvZiBfLnRvUGFpcnMoYXBwcykpIHtcbiAgICBsb2cuZGVidWcoYCAgICBBcHBsaWNhdGlvbjogXCIke2FwcH1cImApO1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIF8udG9QYWlycyhpbmZvKSkge1xuICAgICAgaWYgKGtleSA9PT0gJ3BhZ2VBcnJheScgJiYgQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoKSB7XG4gICAgICAgIGxvZy5kZWJ1ZyhgICAgICAgICAke2tleX06YCk7XG4gICAgICAgIGZvciAoY29uc3QgcGFnZSBvZiB2YWx1ZSkge1xuICAgICAgICAgIGxldCBwcmVmaXggPSAnLSAnO1xuICAgICAgICAgIGZvciAoY29uc3QgW2ssIHZdIG9mIF8udG9QYWlycyhwYWdlKSkge1xuICAgICAgICAgICAgbG9nLmRlYnVnKGAgICAgICAgICAgJHtwcmVmaXh9JHtrfTogJHtKU09OLnN0cmluZ2lmeSh2KX1gKTtcbiAgICAgICAgICAgIHByZWZpeCA9ICcgICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IGdldFZhbHVlU3RyaW5nKGtleSwgdmFsdWUpO1xuICAgICAgICBsb2cuZGVidWcoYCAgICAgICAgJHtrZXl9OiAke3ZhbHVlU3RyaW5nfWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB1cGRhdGVBcHBzV2l0aERpY3QgKGRpY3QpIHtcbiAgLy8gZ2V0IHRoZSBkaWN0aW9uYXJ5IGVudHJ5IGludG8gYSBuaWNlIGZvcm0sIGFuZCBhZGQgaXQgdG8gdGhlXG4gIC8vIGFwcGxpY2F0aW9uIGRpY3Rpb25hcnlcbiAgdGhpcy5hcHBEaWN0ID0gdGhpcy5hcHBEaWN0IHx8IHt9O1xuICBsZXQgW2lkLCBlbnRyeV0gPSBhcHBJbmZvRnJvbURpY3QoZGljdCk7XG4gIGlmICh0aGlzLmFwcERpY3RbaWRdKSB7XG4gICAgLy8gcHJlc2VydmUgdGhlIHBhZ2UgZGljdGlvbmFyeSBmb3IgdGhpcyBlbnRyeVxuICAgIGVudHJ5LnBhZ2VBcnJheSA9IHRoaXMuYXBwRGljdFtpZF0ucGFnZUFycmF5O1xuICB9XG4gIHRoaXMuYXBwRGljdFtpZF0gPSBlbnRyeTtcblxuICAvLyBhZGQgYSBwcm9taXNlIHRvIGdldCB0aGUgcGFnZSBkaWN0aW9uYXJ5XG4gIGlmIChfLmlzVW5kZWZpbmVkKGVudHJ5LnBhZ2VBcnJheSkpIHtcbiAgICBlbnRyeS5wYWdlQXJyYXkgPSBkZWZlcnJlZFByb21pc2UoKTtcbiAgfVxuXG4gIC8vIHRyeSB0byBnZXQgdGhlIGFwcCBpZCBmcm9tIG91ciBjb25uZWN0ZWQgYXBwc1xuICBpZiAoIXRoaXMuYXBwSWRLZXkpIHtcbiAgICB0aGlzLmFwcElkS2V5ID0gZ2V0RGVidWdnZXJBcHBLZXkodGhpcy5idW5kbGVJZCwgdGhpcy5hcHBEaWN0KTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCB7IHNldENvbm5lY3Rpb25LZXksIGNvbm5lY3QsIGRpc2Nvbm5lY3QsIHNlbGVjdEFwcCwgc2VhcmNoRm9yQXBwLCBzZWFyY2hGb3JQYWdlLCBzZWxlY3RQYWdlLCB1cGRhdGVBcHBzV2l0aERpY3QgfTtcbiJdLCJmaWxlIjoibGliL21peGlucy9jb25uZWN0LmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uIn0=
|
|
@@ -11,13 +11,13 @@ require("source-map-support/register");
|
|
|
11
11
|
|
|
12
12
|
var _logger = _interopRequireDefault(require("../logger"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _baseDriver = require("@appium/base-driver");
|
|
15
15
|
|
|
16
16
|
var _utils = require("../utils");
|
|
17
17
|
|
|
18
18
|
var _atoms = require("../atoms");
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _support = require("@appium/support");
|
|
21
21
|
|
|
22
22
|
var _asyncbox = require("asyncbox");
|
|
23
23
|
|
|
@@ -30,7 +30,7 @@ async function executeAtom(atom, args, frames) {
|
|
|
30
30
|
throw new Error('Remote debugger is not connected');
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
_logger.default.debug(`Executing atom '${atom}'`);
|
|
33
|
+
_logger.default.debug(`Executing atom '${atom}' with 'args=${JSON.stringify(args)}; frames=${frames}'`);
|
|
34
34
|
|
|
35
35
|
const script = await (0, _atoms.getScriptForAtom)(atom, args, frames);
|
|
36
36
|
const value = await this.execute(script, true);
|
|
@@ -49,7 +49,7 @@ async function executeAtomAsync(atom, args, frames) {
|
|
|
49
49
|
returnByValue: false
|
|
50
50
|
}, opts));
|
|
51
51
|
|
|
52
|
-
const promiseName = `appiumAsyncExecutePromise${
|
|
52
|
+
const promiseName = `appiumAsyncExecutePromise${_support.util.uuidV4().replace(/-/g, '')}`;
|
|
53
53
|
const script = `var res, rej;
|
|
54
54
|
window.${promiseName} = new Promise(function (resolve, reject) {
|
|
55
55
|
res = resolve;
|
|
@@ -85,7 +85,7 @@ async function executeAtomAsync(atom, args, frames) {
|
|
|
85
85
|
const retryWait = 100;
|
|
86
86
|
const timeout = args.length >= 3 ? args[2] : RPC_RESPONSE_TIMEOUT_MS;
|
|
87
87
|
const retries = parseInt(timeout / retryWait, 10) || 1;
|
|
88
|
-
const timer = new
|
|
88
|
+
const timer = new _support.timing.Timer().start();
|
|
89
89
|
|
|
90
90
|
_logger.default.debug(`Waiting up to ${timeout}ms for async execute to finish`);
|
|
91
91
|
|
|
@@ -102,7 +102,7 @@ async function executeAtomAsync(atom, args, frames) {
|
|
|
102
102
|
});
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
-
throw new
|
|
105
|
+
throw new _baseDriver.errors.TimeoutError(`Timed out waiting for asynchronous script ` + `result after ${timer.getDuration().asMilliSeconds.toFixed(0)}ms'));`);
|
|
106
106
|
});
|
|
107
107
|
} finally {
|
|
108
108
|
try {
|
|
@@ -174,4 +174,4 @@ var _default = {
|
|
|
174
174
|
exports.default = _default;require('source-map-support').install();
|
|
175
175
|
|
|
176
176
|
|
|
177
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9taXhpbnMvZXhlY3V0ZS5qcyJdLCJuYW1lcyI6WyJSUENfUkVTUE9OU0VfVElNRU9VVF9NUyIsImV4ZWN1dGVBdG9tIiwiYXRvbSIsImFyZ3MiLCJmcmFtZXMiLCJycGNDbGllbnQiLCJpc0Nvbm5lY3RlZCIsIkVycm9yIiwibG9nIiwiZGVidWciLCJzY3JpcHQiLCJ2YWx1ZSIsImV4ZWN1dGUiLCJfIiwidHJ1bmNhdGUiLCJsZW5ndGgiLCJSRVNQT05TRV9MT0dfTEVOR1RIIiwiZXhlY3V0ZUF0b21Bc3luYyIsImV2YWx1YXRlIiwibWV0aG9kIiwib3B0cyIsInNlbmQiLCJPYmplY3QiLCJhc3NpZ24iLCJhcHBJZEtleSIsInBhZ2VJZEtleSIsInJldHVybkJ5VmFsdWUiLCJwcm9taXNlTmFtZSIsInV0aWwiLCJ1dWlkVjQiLCJyZXBsYWNlIiwib2JqIiwiZXhwcmVzc2lvbiIsInByb21pc2VPYmplY3RJZCIsInJlc3VsdCIsIm9iamVjdElkIiwiYXN5bmNDYWxsQmFjayIsInJlcyIsInN1YmNvbW1hbmRUaW1lb3V0IiwiZ2VuZXJhdGVQcmV2aWV3Iiwic2F2ZVJlc3VsdCIsImVyciIsIm1lc3NhZ2UiLCJpbmNsdWRlcyIsInJldHJ5V2FpdCIsInRpbWVvdXQiLCJyZXRyaWVzIiwicGFyc2VJbnQiLCJ0aW1lciIsInRpbWluZyIsIlRpbWVyIiwic3RhcnQiLCJoYXNWYWx1ZSIsImVycm9ycyIsIlRpbWVvdXRFcnJvciIsImdldER1cmF0aW9uIiwiYXNNaWxsaVNlY29uZHMiLCJ0b0ZpeGVkIiwiaWduIiwiY29tbWFuZCIsIm92ZXJyaWRlIiwicGFnZUxvYWRpbmciLCJ3YWl0Rm9yRG9tIiwiZ2FyYmFnZUNvbGxlY3RPbkV4ZWN1dGUiLCJnYXJiYWdlQ29sbGVjdCIsImNhbGxGdW5jdGlvbiIsImZuIiwiZnVuY3Rpb25EZWNsYXJhdGlvbiIsImFyZ3VtZW50cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7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LEdBQUcsTUFBTSxLQUFLaEMsU0FBTCxDQUFlZ0IsSUFBZixDQUFvQix3QkFBcEIsRUFBOEM7QUFDOURjLElBQUFBLFFBRDhEO0FBRTlEZ0MsSUFBQUEsbUJBQW1CLEVBQUVELEVBRnlDO0FBRzlERSxJQUFBQSxTQUFTLEVBQUVqRSxJQUhtRDtBQUk5RHVCLElBQUFBLGFBQWEsRUFBRSxJQUorQztBQUs5REYsSUFBQUEsUUFBUSxFQUFFLEtBQUtBLFFBTCtDO0FBTTlEQyxJQUFBQSxTQUFTLEVBQUUsS0FBS0E7QUFOOEMsR0FBOUMsQ0FBbEI7QUFTQSxTQUFPLDBCQUFjWSxHQUFkLENBQVA7QUFDRDs7ZUFHYztBQUFFcEMsRUFBQUEsV0FBRjtBQUFlZ0IsRUFBQUEsZ0JBQWY7QUFBaUNMLEVBQUFBLE9BQWpDO0FBQTBDcUQsRUFBQUE7QUFBMUMsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBsb2cgZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCB7IGVycm9ycyB9IGZyb20gJ2FwcGl1bS1iYXNlLWRyaXZlcic7XG5pbXBvcnQgeyBjaGVja1BhcmFtcywgc2ltcGxlU3RyaW5naWZ5LCBjb252ZXJ0UmVzdWx0LCBSRVNQT05TRV9MT0dfTEVOR1RIIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgZ2V0U2NyaXB0Rm9yQXRvbSB9IGZyb20gJy4uL2F0b21zJztcbmltcG9ydCB7IHV0aWwsIHRpbWluZyB9IGZyb20gJ2FwcGl1bS1zdXBwb3J0JztcbmltcG9ydCB7IHJldHJ5SW50ZXJ2YWwgfSBmcm9tICdhc3luY2JveCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5cbi8qIEhvdyBtYW55IG1pbGxpc2Vjb25kcyB0byB3YWl0IGZvciB3ZWJraXQgdG8gcmV0dXJuIGEgcmVzcG9uc2UgYmVmb3JlIHRpbWluZyBvdXQgKi9cbmNvbnN0IFJQQ19SRVNQT05TRV9USU1FT1VUX01TID0gNTAwMDtcblxuYXN5bmMgZnVuY3Rpb24gZXhlY3V0ZUF0b20gKGF0b20sIGFyZ3MsIGZyYW1lcykge1xuICBpZiAoIXRoaXMucnBjQ2xpZW50LmlzQ29ubmVjdGVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdSZW1vdGUgZGVidWdnZXIgaXMgbm90IGNvbm5lY3RlZCcpO1xuICB9XG5cbiAgbG9nLmRlYnVnKGBFeGVjdXRpbmcgYXRvbSAnJHthdG9tfSdgKTtcbiAgY29uc3Qgc2NyaXB0ID0gYXdhaXQgZ2V0U2NyaXB0Rm9yQXRvbShhdG9tLCBhcmdzLCBmcmFtZXMpO1xuICBjb25zdCB2YWx1ZSA9IGF3YWl0IHRoaXMuZXhlY3V0ZShzY3JpcHQsIHRydWUpO1xuICBsb2cuZGVidWcoYFJlY2VpdmVkIHJlc3VsdCBmb3IgYXRvbSAnJHthdG9tfScgZXhlY3V0aW9uOiAke18udHJ1bmNhdGUoc2ltcGxlU3RyaW5naWZ5KHZhbHVlKSwge2xlbmd0aDogUkVTUE9OU0VfTE9HX0xFTkdUSH0pfWApO1xuICByZXR1cm4gdmFsdWU7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGV4ZWN1dGVBdG9tQXN5bmMgKGF0b20sIGFyZ3MsIGZyYW1lcykge1xuICAvLyBoZWxwZXIgdG8gc2VuZCBkaXJlY3RseSB0byB0aGUgd2ViIGluc3BlY3RvclxuICBjb25zdCBldmFsdWF0ZSA9IGFzeW5jIChtZXRob2QsIG9wdHMpID0+IGF3YWl0IHRoaXMucnBjQ2xpZW50LnNlbmQobWV0aG9kLCBPYmplY3QuYXNzaWduKHtcbiAgICBhcHBJZEtleTogdGhpcy5hcHBJZEtleSxcbiAgICBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5LFxuICAgIHJldHVybkJ5VmFsdWU6IGZhbHNlLFxuICB9LCBvcHRzKSk7XG5cbiAgLy8gZmlyc3QgY3JlYXRlIGEgUHJvbWlzZSBvbiB0aGUgcGFnZSwgc2F2aW5nIHRoZSByZXNvbHZlL3JlamVjdCBmdW5jdGlvbnNcbiAgLy8gYXMgcHJvcGVydGllc1xuICBjb25zdCBwcm9taXNlTmFtZSA9IGBhcHBpdW1Bc3luY0V4ZWN1dGVQcm9taXNlJHt1dGlsLnV1aWRWNCgpLnJlcGxhY2UoLy0vZywgJycpfWA7XG4gIGNvbnN0IHNjcmlwdCA9XG4gICAgYHZhciByZXMsIHJlajtcbiAgICB3aW5kb3cuJHtwcm9taXNlTmFtZX0gPSBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICByZXMgPSByZXNvbHZlO1xuICAgICAgcmVqID0gcmVqZWN0O1xuICAgIH0pO1xuICAgIHdpbmRvdy4ke3Byb21pc2VOYW1lfS5yZXNvbHZlID0gcmVzO1xuICAgIHdpbmRvdy4ke3Byb21pc2VOYW1lfS5yZWplY3QgPSByZWo7XG4gICAgd2luZG93LiR7cHJvbWlzZU5hbWV9O2A7XG4gIGNvbnN0IG9iaiA9IGF3YWl0IGV2YWx1YXRlKCdSdW50aW1lLmV2YWx1YXRlJywge1xuICAgIGV4cHJlc3Npb246IHNjcmlwdCxcbiAgfSk7XG4gIGNvbnN0IHByb21pc2VPYmplY3RJZCA9IG9iai5yZXN1bHQub2JqZWN0SWQ7XG5cbiAgLy8gZXhlY3V0ZSB0aGUgYXRvbSwgY2FsbGluZyBiYWNrIHRvIHRoZSByZXNvbHZlIGZ1bmN0aW9uXG4gIGNvbnN0IGFzeW5jQ2FsbEJhY2sgPVxuICAgIGBmdW5jdGlvbiAocmVzKSB7XG4gICAgICB3aW5kb3cuJHtwcm9taXNlTmFtZX0ucmVzb2x2ZShyZXMpO1xuICAgICAgd2luZG93LiR7cHJvbWlzZU5hbWV9VmFsdWUgPSByZXM7XG4gICAgfWA7XG4gIGF3YWl0IHRoaXMuZXhlY3V0ZShhd2FpdCBnZXRTY3JpcHRGb3JBdG9tKGF0b20sIGFyZ3MsIGZyYW1lcywgYXN5bmNDYWxsQmFjaykpO1xuXG4gIC8vIHdhaXQgZm9yIHRoZSBwcm9taXNlIHRvIGJlIHJlc29sdmVkXG4gIGxldCByZXM7XG4gIGNvbnN0IHN1YmNvbW1hbmRUaW1lb3V0ID0gMTAwMDsgLy8gdGltZW91dCBvbiBpbmRpdmlkdWFsIGNvbW1hbmRzXG4gIHRyeSB7XG4gICAgcmVzID0gYXdhaXQgZXZhbHVhdGUoJ1J1bnRpbWUuYXdhaXRQcm9taXNlJywge1xuICAgICAgcHJvbWlzZU9iamVjdElkLFxuICAgICAgcmV0dXJuQnlWYWx1ZTogdHJ1ZSxcbiAgICAgIGdlbmVyYXRlUHJldmlldzogdHJ1ZSxcbiAgICAgIHNhdmVSZXN1bHQ6IHRydWUsXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGlmICghZXJyLm1lc3NhZ2UuaW5jbHVkZXMoYCdSdW50aW1lLmF3YWl0UHJvbWlzZScgd2FzIG5vdCBmb3VuZGApKSB7XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfVxuICAgIC8vIGF3YWl0UHJvbWlzZSBpcyBub3QgYWx3YXlzIGF2YWlsYWJsZSwgc28gc2ltdWxhdGUgaXQgd2l0aCBwb2xsXG4gICAgY29uc3QgcmV0cnlXYWl0ID0gMTAwO1xuICAgIGNvbnN0IHRpbWVvdXQgPSAoYXJncy5sZW5ndGggPj0gMykgPyBhcmdzWzJdIDogUlBDX1JFU1BPTlNFX1RJTUVPVVRfTVM7XG4gICAgLy8gaWYgdGhlIHRpbWVvdXQgbWF0aCB0dXJucyB1cCAwIHJldHJpZXMsIG1ha2Ugc3VyZSBpdCBoYXBwZW5zIG9uY2VcbiAgICBjb25zdCByZXRyaWVzID0gcGFyc2VJbnQodGltZW91dCAvIHJldHJ5V2FpdCwgMTApIHx8IDE7XG4gICAgY29uc3QgdGltZXIgPSBuZXcgdGltaW5nLlRpbWVyKCkuc3RhcnQoKTtcbiAgICBsb2cuZGVidWcoYFdhaXRpbmcgdXAgdG8gJHt0aW1lb3V0fW1zIGZvciBhc3luYyBleGVjdXRlIHRvIGZpbmlzaGApO1xuICAgIHJlcyA9IGF3YWl0IHJldHJ5SW50ZXJ2YWwocmV0cmllcywgcmV0cnlXYWl0LCBhc3luYyAoKSA9PiB7XG4gICAgICAvLyB0aGUgYXRvbSBfd2lsbF8gcmV0dXJuLCBlaXRoZXIgYmVjYXVzZSBpdCBmaW5pc2hlZCBvciBhbiBlcnJvclxuICAgICAgLy8gaW5jbHVkaW5nIGEgdGltZW91dCBlcnJvclxuICAgICAgY29uc3QgaGFzVmFsdWUgPSBhd2FpdCBldmFsdWF0ZSgnUnVudGltZS5ldmFsdWF0ZScsIHtcbiAgICAgICAgZXhwcmVzc2lvbjogYHdpbmRvdy5oYXNPd25Qcm9wZXJ0eSgnJHtwcm9taXNlTmFtZX1WYWx1ZScpO2AsXG4gICAgICAgIHJldHVybkJ5VmFsdWU6IHRydWUsXG4gICAgICB9KTtcbiAgICAgIGlmIChoYXNWYWx1ZSkge1xuICAgICAgICAvLyB3ZSBvbmx5IHB1dCB0aGUgcHJvcGVydHkgb24gYHdpbmRvd2Agd2hlbiB0aGUgY2FsbGJhY2sgaXMgY2FsbGVkLFxuICAgICAgICAvLyBzbyBpZiBpdCBpcyB0aGVyZSwgZXZlcnl0aGluZyBpcyBkb25lXG4gICAgICAgIHJldHVybiBhd2FpdCBldmFsdWF0ZSgnUnVudGltZS5ldmFsdWF0ZScsIHtcbiAgICAgICAgICBleHByZXNzaW9uOiBgd2luZG93LiR7cHJvbWlzZU5hbWV9VmFsdWU7YCxcbiAgICAgICAgICByZXR1cm5CeVZhbHVlOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIC8vIHRocm93IGEgVGltZW91dEVycm9yLCBvciBlbHNlIGl0IG5lZWRzIHRvIGJlIGNhdWdodCBhbmQgcmUtdGhyb3duXG4gICAgICB0aHJvdyBuZXcgZXJyb3JzLlRpbWVvdXRFcnJvcihgVGltZWQgb3V0IHdhaXRpbmcgZm9yIGFzeW5jaHJvbm91cyBzY3JpcHQgYCArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgcmVzdWx0IGFmdGVyICR7dGltZXIuZ2V0RHVyYXRpb24oKS5hc01pbGxpU2Vjb25kcy50b0ZpeGVkKDApfW1zJykpO2ApO1xuICAgIH0pO1xuICB9IGZpbmFsbHkge1xuICAgIHRyeSB7XG4gICAgICAvLyB0cnkgdG8gZ2V0IHJpZCBvZiB0aGUgcHJvbWlzZVxuICAgICAgYXdhaXQgdGhpcy5leGVjdXRlQXRvbSgnZXhlY3V0ZV9zY3JpcHQnLCBbYGRlbGV0ZSB3aW5kb3cuJHtwcm9taXNlTmFtZX07YCwgW251bGwsIG51bGxdLCBzdWJjb21tYW5kVGltZW91dF0sIGZyYW1lcyk7XG4gICAgfSBjYXRjaCAoaWduKSB7fVxuICB9XG4gIHJldHVybiBjb252ZXJ0UmVzdWx0KHJlcyk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGV4ZWN1dGUgKGNvbW1hbmQsIG92ZXJyaWRlKSB7XG4gIC8vIGlmIHRoZSBwYWdlIGlzIG5vdCBsb2FkZWQgeWV0LCB3YWl0IGZvciBpdFxuICBpZiAodGhpcy5wYWdlTG9hZGluZyAmJiAhb3ZlcnJpZGUpIHtcbiAgICBsb2cuZGVidWcoJ1RyeWluZyB0byBleGVjdXRlIGJ1dCBwYWdlIGlzIG5vdCBsb2FkZWQuJyk7XG4gICAgYXdhaXQgdGhpcy53YWl0Rm9yRG9tKCk7XG4gIH1cblxuICBjaGVja1BhcmFtcyh7YXBwSWRLZXk6IHRoaXMuYXBwSWRLZXksIHBhZ2VJZEtleTogdGhpcy5wYWdlSWRLZXl9KTtcblxuICBpZiAodGhpcy5nYXJiYWdlQ29sbGVjdE9uRXhlY3V0ZSkge1xuICAgIGF3YWl0IHRoaXMuZ2FyYmFnZUNvbGxlY3QoKTtcbiAgfVxuXG4gIGxvZy5kZWJ1ZyhgU2VuZGluZyBqYXZhc2NyaXB0IGNvbW1hbmQ6ICcke18udHJ1bmNhdGUoY29tbWFuZCwge2xlbmd0aDogNTB9KX0nYCk7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMucnBjQ2xpZW50LnNlbmQoJ1J1bnRpbWUuZXZhbHVhdGUnLCB7XG4gICAgZXhwcmVzc2lvbjogY29tbWFuZCxcbiAgICByZXR1cm5CeVZhbHVlOiB0cnVlLFxuICAgIGFwcElkS2V5OiB0aGlzLmFwcElkS2V5LFxuICAgIHBhZ2VJZEtleTogdGhpcy5wYWdlSWRLZXksXG4gIH0pO1xuXG4gIHJldHVybiBjb252ZXJ0UmVzdWx0KHJlcyk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNhbGxGdW5jdGlvbiAob2JqZWN0SWQsIGZuLCBhcmdzKSB7XG4gIGNoZWNrUGFyYW1zKHthcHBJZEtleTogdGhpcy5hcHBJZEtleSwgcGFnZUlkS2V5OiB0aGlzLnBhZ2VJZEtleX0pO1xuXG4gIGlmICh0aGlzLmdhcmJhZ2VDb2xsZWN0T25FeGVjdXRlKSB7XG4gICAgYXdhaXQgdGhpcy5nYXJiYWdlQ29sbGVjdCgpO1xuICB9XG5cbiAgbG9nLmRlYnVnKCdDYWxsaW5nIGphdmFzY3JpcHQgZnVuY3Rpb24nKTtcbiAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5ycGNDbGllbnQuc2VuZCgnUnVudGltZS5jYWxsRnVuY3Rpb25PbicsIHtcbiAgICBvYmplY3RJZCxcbiAgICBmdW5jdGlvbkRlY2xhcmF0aW9uOiBmbixcbiAgICBhcmd1bWVudHM6IGFyZ3MsXG4gICAgcmV0dXJuQnlWYWx1ZTogdHJ1ZSxcbiAgICBhcHBJZEtleTogdGhpcy5hcHBJZEtleSxcbiAgICBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5LFxuICB9KTtcblxuICByZXR1cm4gY29udmVydFJlc3VsdChyZXMpO1xufVxuXG5cbmV4cG9ydCBkZWZhdWx0IHsgZXhlY3V0ZUF0b20sIGV4ZWN1dGVBdG9tQXN5bmMsIGV4ZWN1dGUsIGNhbGxGdW5jdGlvbiB9O1xuIl0sImZpbGUiOiJsaWIvbWl4aW5zL2V4ZWN1dGUuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4ifQ==
|
|
177
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9taXhpbnMvZXhlY3V0ZS5qcyJdLCJuYW1lcyI6WyJSUENfUkVTUE9OU0VfVElNRU9VVF9NUyIsImV4ZWN1dGVBdG9tIiwiYXRvbSIsImFyZ3MiLCJmcmFtZXMiLCJycGNDbGllbnQiLCJpc0Nvbm5lY3RlZCIsIkVycm9yIiwibG9nIiwiZGVidWciLCJKU09OIiwic3RyaW5naWZ5Iiwic2NyaXB0IiwidmFsdWUiLCJleGVjdXRlIiwiXyIsInRydW5jYXRlIiwibGVuZ3RoIiwiUkVTUE9OU0VfTE9HX0xFTkdUSCIsImV4ZWN1dGVBdG9tQXN5bmMiLCJldmFsdWF0ZSIsIm1ldGhvZCIsIm9wdHMiLCJzZW5kIiwiT2JqZWN0IiwiYXNzaWduIiwiYXBwSWRLZXkiLCJwYWdlSWRLZXkiLCJyZXR1cm5CeVZhbHVlIiwicHJvbWlzZU5hbWUiLCJ1dGlsIiwidXVpZFY0IiwicmVwbGFjZSIsIm9iaiIsImV4cHJlc3Npb24iLCJwcm9taXNlT2JqZWN0SWQiLCJyZXN1bHQiLCJvYmplY3RJZCIsImFzeW5jQ2FsbEJhY2siLCJyZXMiLCJzdWJjb21tYW5kVGltZW91dCIsImdlbmVyYXRlUHJldmlldyIsInNhdmVSZXN1bHQiLCJlcnIiLCJtZXNzYWdlIiwiaW5jbHVkZXMiLCJyZXRyeVdhaXQiLCJ0aW1lb3V0IiwicmV0cmllcyIsInBhcnNlSW50IiwidGltZXIiLCJ0aW1pbmciLCJUaW1lciIsInN0YXJ0IiwiaGFzVmFsdWUiLCJlcnJvcnMiLCJUaW1lb3V0RXJyb3IiLCJnZXREdXJhdGlvbiIsImFzTWlsbGlTZWNvbmRzIiwidG9GaXhlZCIsImlnbiIsImNvbW1hbmQiLCJvdmVycmlkZSIsInBhZ2VMb2FkaW5nIiwid2FpdEZvckRvbSIsImdhcmJhZ2VDb2xsZWN0T25FeGVjdXRlIiwiZ2FyYmFnZUNvbGxlY3QiLCJjYWxsRnVuY3Rpb24iLCJmbiIsImZ1bmN0aW9uRGVjbGFyYXRpb24iLCJhcmd1bWVudHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7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QTtBQUExQyxHQUFaOztBQUVBLE1BQUksS0FBS3NDLHVCQUFULEVBQWtDO0FBQ2hDLFVBQU0sS0FBS0MsY0FBTCxFQUFOO0FBQ0Q7O0FBRUQxRCxrQkFBSUMsS0FBSixDQUFVLDZCQUFWOztBQUNBLFFBQU04QixHQUFHLEdBQUcsTUFBTSxLQUFLbEMsU0FBTCxDQUFla0IsSUFBZixDQUFvQix3QkFBcEIsRUFBOEM7QUFDOURjLElBQUFBLFFBRDhEO0FBRTlEZ0MsSUFBQUEsbUJBQW1CLEVBQUVELEVBRnlDO0FBRzlERSxJQUFBQSxTQUFTLEVBQUVuRSxJQUhtRDtBQUk5RHlCLElBQUFBLGFBQWEsRUFBRSxJQUorQztBQUs5REYsSUFBQUEsUUFBUSxFQUFFLEtBQUtBLFFBTCtDO0FBTTlEQyxJQUFBQSxTQUFTLEVBQUUsS0FBS0E7QUFOOEMsR0FBOUMsQ0FBbEI7QUFTQSxTQUFPLDBCQUFjWSxHQUFkLENBQVA7QUFDRDs7ZUFHYztBQUFFdEMsRUFBQUEsV0FBRjtBQUFla0IsRUFBQUEsZ0JBQWY7QUFBaUNMLEVBQUFBLE9BQWpDO0FBQTBDcUQsRUFBQUE7QUFBMUMsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBsb2cgZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCB7IGVycm9ycyB9IGZyb20gJ0BhcHBpdW0vYmFzZS1kcml2ZXInO1xuaW1wb3J0IHsgY2hlY2tQYXJhbXMsIHNpbXBsZVN0cmluZ2lmeSwgY29udmVydFJlc3VsdCwgUkVTUE9OU0VfTE9HX0xFTkdUSCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGdldFNjcmlwdEZvckF0b20gfSBmcm9tICcuLi9hdG9tcyc7XG5pbXBvcnQgeyB1dGlsLCB0aW1pbmcgfSBmcm9tICdAYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IHsgcmV0cnlJbnRlcnZhbCB9IGZyb20gJ2FzeW5jYm94JztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cblxuLyogSG93IG1hbnkgbWlsbGlzZWNvbmRzIHRvIHdhaXQgZm9yIHdlYmtpdCB0byByZXR1cm4gYSByZXNwb25zZSBiZWZvcmUgdGltaW5nIG91dCAqL1xuY29uc3QgUlBDX1JFU1BPTlNFX1RJTUVPVVRfTVMgPSA1MDAwO1xuXG4vKipcbiAqIEV4ZWN1dGUgYSBTZWxlbml1bSBhdG9tIGluIFNhZmFyaVxuICogQHBhcmFtIHtzdHJpbmd9IGF0b20gTmFtZSBvZiBTZWxlbml1bSBhdG9tIChzZWUgYXRvbXMvIGRpcmVjdG9yeSlcbiAqIEBwYXJhbSB7QXJyYXk8Kj59IGFyZ3MgQXJndW1lbnRzIHBhc3NlZCB0byB0aGUgYXRvbVxuICogQHBhcmFtIHtBcnJheTxzdHJpbmc+fSBmcmFtZXNcbiAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSByZXN1bHQgcmVjZWl2ZWQgZnJvbSB0aGUgYXRvbVxuICovXG5hc3luYyBmdW5jdGlvbiBleGVjdXRlQXRvbSAoYXRvbSwgYXJncywgZnJhbWVzKSB7XG4gIGlmICghdGhpcy5ycGNDbGllbnQuaXNDb25uZWN0ZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlbW90ZSBkZWJ1Z2dlciBpcyBub3QgY29ubmVjdGVkJyk7XG4gIH1cblxuICBsb2cuZGVidWcoYEV4ZWN1dGluZyBhdG9tICcke2F0b219JyB3aXRoICdhcmdzPSR7SlNPTi5zdHJpbmdpZnkoYXJncyl9OyBmcmFtZXM9JHtmcmFtZXN9J2ApO1xuICBjb25zdCBzY3JpcHQgPSBhd2FpdCBnZXRTY3JpcHRGb3JBdG9tKGF0b20sIGFyZ3MsIGZyYW1lcyk7XG4gIGNvbnN0IHZhbHVlID0gYXdhaXQgdGhpcy5leGVjdXRlKHNjcmlwdCwgdHJ1ZSk7XG4gIGxvZy5kZWJ1ZyhgUmVjZWl2ZWQgcmVzdWx0IGZvciBhdG9tICcke2F0b219JyBleGVjdXRpb246ICR7Xy50cnVuY2F0ZShzaW1wbGVTdHJpbmdpZnkodmFsdWUpLCB7bGVuZ3RoOiBSRVNQT05TRV9MT0dfTEVOR1RIfSl9YCk7XG4gIHJldHVybiB2YWx1ZTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZXhlY3V0ZUF0b21Bc3luYyAoYXRvbSwgYXJncywgZnJhbWVzKSB7XG4gIC8vIGhlbHBlciB0byBzZW5kIGRpcmVjdGx5IHRvIHRoZSB3ZWIgaW5zcGVjdG9yXG4gIGNvbnN0IGV2YWx1YXRlID0gYXN5bmMgKG1ldGhvZCwgb3B0cykgPT4gYXdhaXQgdGhpcy5ycGNDbGllbnQuc2VuZChtZXRob2QsIE9iamVjdC5hc3NpZ24oe1xuICAgIGFwcElkS2V5OiB0aGlzLmFwcElkS2V5LFxuICAgIHBhZ2VJZEtleTogdGhpcy5wYWdlSWRLZXksXG4gICAgcmV0dXJuQnlWYWx1ZTogZmFsc2UsXG4gIH0sIG9wdHMpKTtcblxuICAvLyBmaXJzdCBjcmVhdGUgYSBQcm9taXNlIG9uIHRoZSBwYWdlLCBzYXZpbmcgdGhlIHJlc29sdmUvcmVqZWN0IGZ1bmN0aW9uc1xuICAvLyBhcyBwcm9wZXJ0aWVzXG4gIGNvbnN0IHByb21pc2VOYW1lID0gYGFwcGl1bUFzeW5jRXhlY3V0ZVByb21pc2Uke3V0aWwudXVpZFY0KCkucmVwbGFjZSgvLS9nLCAnJyl9YDtcbiAgY29uc3Qgc2NyaXB0ID1cbiAgICBgdmFyIHJlcywgcmVqO1xuICAgIHdpbmRvdy4ke3Byb21pc2VOYW1lfSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgIHJlcyA9IHJlc29sdmU7XG4gICAgICByZWogPSByZWplY3Q7XG4gICAgfSk7XG4gICAgd2luZG93LiR7cHJvbWlzZU5hbWV9LnJlc29sdmUgPSByZXM7XG4gICAgd2luZG93LiR7cHJvbWlzZU5hbWV9LnJlamVjdCA9IHJlajtcbiAgICB3aW5kb3cuJHtwcm9taXNlTmFtZX07YDtcbiAgY29uc3Qgb2JqID0gYXdhaXQgZXZhbHVhdGUoJ1J1bnRpbWUuZXZhbHVhdGUnLCB7XG4gICAgZXhwcmVzc2lvbjogc2NyaXB0LFxuICB9KTtcbiAgY29uc3QgcHJvbWlzZU9iamVjdElkID0gb2JqLnJlc3VsdC5vYmplY3RJZDtcblxuICAvLyBleGVjdXRlIHRoZSBhdG9tLCBjYWxsaW5nIGJhY2sgdG8gdGhlIHJlc29sdmUgZnVuY3Rpb25cbiAgY29uc3QgYXN5bmNDYWxsQmFjayA9XG4gICAgYGZ1bmN0aW9uIChyZXMpIHtcbiAgICAgIHdpbmRvdy4ke3Byb21pc2VOYW1lfS5yZXNvbHZlKHJlcyk7XG4gICAgICB3aW5kb3cuJHtwcm9taXNlTmFtZX1WYWx1ZSA9IHJlcztcbiAgICB9YDtcbiAgYXdhaXQgdGhpcy5leGVjdXRlKGF3YWl0IGdldFNjcmlwdEZvckF0b20oYXRvbSwgYXJncywgZnJhbWVzLCBhc3luY0NhbGxCYWNrKSk7XG5cbiAgLy8gd2FpdCBmb3IgdGhlIHByb21pc2UgdG8gYmUgcmVzb2x2ZWRcbiAgbGV0IHJlcztcbiAgY29uc3Qgc3ViY29tbWFuZFRpbWVvdXQgPSAxMDAwOyAvLyB0aW1lb3V0IG9uIGluZGl2aWR1YWwgY29tbWFuZHNcbiAgdHJ5IHtcbiAgICByZXMgPSBhd2FpdCBldmFsdWF0ZSgnUnVudGltZS5hd2FpdFByb21pc2UnLCB7XG4gICAgICBwcm9taXNlT2JqZWN0SWQsXG4gICAgICByZXR1cm5CeVZhbHVlOiB0cnVlLFxuICAgICAgZ2VuZXJhdGVQcmV2aWV3OiB0cnVlLFxuICAgICAgc2F2ZVJlc3VsdDogdHJ1ZSxcbiAgICB9KTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgaWYgKCFlcnIubWVzc2FnZS5pbmNsdWRlcyhgJ1J1bnRpbWUuYXdhaXRQcm9taXNlJyB3YXMgbm90IGZvdW5kYCkpIHtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gICAgLy8gYXdhaXRQcm9taXNlIGlzIG5vdCBhbHdheXMgYXZhaWxhYmxlLCBzbyBzaW11bGF0ZSBpdCB3aXRoIHBvbGxcbiAgICBjb25zdCByZXRyeVdhaXQgPSAxMDA7XG4gICAgY29uc3QgdGltZW91dCA9IChhcmdzLmxlbmd0aCA+PSAzKSA/IGFyZ3NbMl0gOiBSUENfUkVTUE9OU0VfVElNRU9VVF9NUztcbiAgICAvLyBpZiB0aGUgdGltZW91dCBtYXRoIHR1cm5zIHVwIDAgcmV0cmllcywgbWFrZSBzdXJlIGl0IGhhcHBlbnMgb25jZVxuICAgIGNvbnN0IHJldHJpZXMgPSBwYXJzZUludCh0aW1lb3V0IC8gcmV0cnlXYWl0LCAxMCkgfHwgMTtcbiAgICBjb25zdCB0aW1lciA9IG5ldyB0aW1pbmcuVGltZXIoKS5zdGFydCgpO1xuICAgIGxvZy5kZWJ1ZyhgV2FpdGluZyB1cCB0byAke3RpbWVvdXR9bXMgZm9yIGFzeW5jIGV4ZWN1dGUgdG8gZmluaXNoYCk7XG4gICAgcmVzID0gYXdhaXQgcmV0cnlJbnRlcnZhbChyZXRyaWVzLCByZXRyeVdhaXQsIGFzeW5jICgpID0+IHtcbiAgICAgIC8vIHRoZSBhdG9tIF93aWxsXyByZXR1cm4sIGVpdGhlciBiZWNhdXNlIGl0IGZpbmlzaGVkIG9yIGFuIGVycm9yXG4gICAgICAvLyBpbmNsdWRpbmcgYSB0aW1lb3V0IGVycm9yXG4gICAgICBjb25zdCBoYXNWYWx1ZSA9IGF3YWl0IGV2YWx1YXRlKCdSdW50aW1lLmV2YWx1YXRlJywge1xuICAgICAgICBleHByZXNzaW9uOiBgd2luZG93Lmhhc093blByb3BlcnR5KCcke3Byb21pc2VOYW1lfVZhbHVlJyk7YCxcbiAgICAgICAgcmV0dXJuQnlWYWx1ZTogdHJ1ZSxcbiAgICAgIH0pO1xuICAgICAgaWYgKGhhc1ZhbHVlKSB7XG4gICAgICAgIC8vIHdlIG9ubHkgcHV0IHRoZSBwcm9wZXJ0eSBvbiBgd2luZG93YCB3aGVuIHRoZSBjYWxsYmFjayBpcyBjYWxsZWQsXG4gICAgICAgIC8vIHNvIGlmIGl0IGlzIHRoZXJlLCBldmVyeXRoaW5nIGlzIGRvbmVcbiAgICAgICAgcmV0dXJuIGF3YWl0IGV2YWx1YXRlKCdSdW50aW1lLmV2YWx1YXRlJywge1xuICAgICAgICAgIGV4cHJlc3Npb246IGB3aW5kb3cuJHtwcm9taXNlTmFtZX1WYWx1ZTtgLFxuICAgICAgICAgIHJldHVybkJ5VmFsdWU6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgLy8gdGhyb3cgYSBUaW1lb3V0RXJyb3IsIG9yIGVsc2UgaXQgbmVlZHMgdG8gYmUgY2F1Z2h0IGFuZCByZS10aHJvd25cbiAgICAgIHRocm93IG5ldyBlcnJvcnMuVGltZW91dEVycm9yKGBUaW1lZCBvdXQgd2FpdGluZyBmb3IgYXN5bmNocm9ub3VzIHNjcmlwdCBgICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGByZXN1bHQgYWZ0ZXIgJHt0aW1lci5nZXREdXJhdGlvbigpLmFzTWlsbGlTZWNvbmRzLnRvRml4ZWQoMCl9bXMnKSk7YCk7XG4gICAgfSk7XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIHRyeSB0byBnZXQgcmlkIG9mIHRoZSBwcm9taXNlXG4gICAgICBhd2FpdCB0aGlzLmV4ZWN1dGVBdG9tKCdleGVjdXRlX3NjcmlwdCcsIFtgZGVsZXRlIHdpbmRvdy4ke3Byb21pc2VOYW1lfTtgLCBbbnVsbCwgbnVsbF0sIHN1YmNvbW1hbmRUaW1lb3V0XSwgZnJhbWVzKTtcbiAgICB9IGNhdGNoIChpZ24pIHt9XG4gIH1cbiAgcmV0dXJuIGNvbnZlcnRSZXN1bHQocmVzKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZXhlY3V0ZSAoY29tbWFuZCwgb3ZlcnJpZGUpIHtcbiAgLy8gaWYgdGhlIHBhZ2UgaXMgbm90IGxvYWRlZCB5ZXQsIHdhaXQgZm9yIGl0XG4gIGlmICh0aGlzLnBhZ2VMb2FkaW5nICYmICFvdmVycmlkZSkge1xuICAgIGxvZy5kZWJ1ZygnVHJ5aW5nIHRvIGV4ZWN1dGUgYnV0IHBhZ2UgaXMgbm90IGxvYWRlZC4nKTtcbiAgICBhd2FpdCB0aGlzLndhaXRGb3JEb20oKTtcbiAgfVxuXG4gIGNoZWNrUGFyYW1zKHthcHBJZEtleTogdGhpcy5hcHBJZEtleSwgcGFnZUlkS2V5OiB0aGlzLnBhZ2VJZEtleX0pO1xuXG4gIGlmICh0aGlzLmdhcmJhZ2VDb2xsZWN0T25FeGVjdXRlKSB7XG4gICAgYXdhaXQgdGhpcy5nYXJiYWdlQ29sbGVjdCgpO1xuICB9XG5cbiAgbG9nLmRlYnVnKGBTZW5kaW5nIGphdmFzY3JpcHQgY29tbWFuZDogJyR7Xy50cnVuY2F0ZShjb21tYW5kLCB7bGVuZ3RoOiA1MH0pfSdgKTtcbiAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5ycGNDbGllbnQuc2VuZCgnUnVudGltZS5ldmFsdWF0ZScsIHtcbiAgICBleHByZXNzaW9uOiBjb21tYW5kLFxuICAgIHJldHVybkJ5VmFsdWU6IHRydWUsXG4gICAgYXBwSWRLZXk6IHRoaXMuYXBwSWRLZXksXG4gICAgcGFnZUlkS2V5OiB0aGlzLnBhZ2VJZEtleSxcbiAgfSk7XG5cbiAgcmV0dXJuIGNvbnZlcnRSZXN1bHQocmVzKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gY2FsbEZ1bmN0aW9uIChvYmplY3RJZCwgZm4sIGFyZ3MpIHtcbiAgY2hlY2tQYXJhbXMoe2FwcElkS2V5OiB0aGlzLmFwcElkS2V5LCBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5fSk7XG5cbiAgaWYgKHRoaXMuZ2FyYmFnZUNvbGxlY3RPbkV4ZWN1dGUpIHtcbiAgICBhd2FpdCB0aGlzLmdhcmJhZ2VDb2xsZWN0KCk7XG4gIH1cblxuICBsb2cuZGVidWcoJ0NhbGxpbmcgamF2YXNjcmlwdCBmdW5jdGlvbicpO1xuICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZW5kKCdSdW50aW1lLmNhbGxGdW5jdGlvbk9uJywge1xuICAgIG9iamVjdElkLFxuICAgIGZ1bmN0aW9uRGVjbGFyYXRpb246IGZuLFxuICAgIGFyZ3VtZW50czogYXJncyxcbiAgICByZXR1cm5CeVZhbHVlOiB0cnVlLFxuICAgIGFwcElkS2V5OiB0aGlzLmFwcElkS2V5LFxuICAgIHBhZ2VJZEtleTogdGhpcy5wYWdlSWRLZXksXG4gIH0pO1xuXG4gIHJldHVybiBjb252ZXJ0UmVzdWx0KHJlcyk7XG59XG5cblxuZXhwb3J0IGRlZmF1bHQgeyBleGVjdXRlQXRvbSwgZXhlY3V0ZUF0b21Bc3luYywgZXhlY3V0ZSwgY2FsbEZ1bmN0aW9uIH07XG4iXSwiZmlsZSI6ImxpYi9taXhpbnMvZXhlY3V0ZS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLiJ9
|
|
@@ -5,13 +5,14 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
+
exports.default = void 0;
|
|
8
9
|
Object.defineProperty(exports, "events", {
|
|
9
10
|
enumerable: true,
|
|
10
11
|
get: function () {
|
|
11
12
|
return _events.default;
|
|
12
13
|
}
|
|
13
14
|
});
|
|
14
|
-
exports.
|
|
15
|
+
exports.mixins = void 0;
|
|
15
16
|
|
|
16
17
|
require("source-map-support/register");
|
|
17
18
|
|
|
@@ -31,4 +32,4 @@ var _default = mixins;
|
|
|
31
32
|
exports.default = _default;require('source-map-support').install();
|
|
32
33
|
|
|
33
34
|
|
|
34
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9taXhpbnMvaW5kZXguanMiXSwibmFtZXMiOlsibWl4aW5zIiwiT2JqZWN0IiwiYXNzaWduIiwiY29ubmVjdCIsImV2ZW50cyIsImV4ZWN1dGUiLCJuYXZpZ2F0ZSIsIm1lc3NhZ2VIYW5kbGVycyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0EsTUFBTUEsTUFBTSxHQUFHQyxNQUFNLENBQUNDLE1BQVAsQ0FBYyxFQUFkLEVBQ2JDLGdCQURhLEVBQ0pDLGVBREksRUFDSUMsZ0JBREosRUFDYUMsaUJBRGIsRUFDdUJDLHdCQUR2QixDQUFmOztlQU1lUCxNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNvbm5lY3QgZnJvbSAnLi9jb25uZWN0JztcbmltcG9ydCBldmVudHMgZnJvbSAnLi9ldmVudHMnO1xuaW1wb3J0IGV4ZWN1dGUgZnJvbSAnLi9leGVjdXRlJztcbmltcG9ydCBuYXZpZ2F0ZSBmcm9tICcuL25hdmlnYXRlJztcbmltcG9ydCBtZXNzYWdlSGFuZGxlcnMgZnJvbSAnLi9tZXNzYWdlLWhhbmRsZXJzJztcblxuXG5jb25zdCBtaXhpbnMgPSBPYmplY3QuYXNzaWduKHt9LFxuICBjb25uZWN0LCBldmVudHMsIGV4ZWN1dGUsIG5hdmlnYXRlLCBtZXNzYWdlSGFuZGxlcnNcbik7XG5cblxuZXhwb3J0IHsgbWl4aW5zLCBldmVudHMgfTtcbmV4cG9ydCBkZWZhdWx0IG1peGlucztcbiJdLCJmaWxlIjoibGliL21peGlucy9pbmRleC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLiJ9
|
|
@@ -15,7 +15,7 @@ var _utils = require("../utils");
|
|
|
15
15
|
|
|
16
16
|
var _events = _interopRequireDefault(require("./events"));
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _support = require("@appium/support");
|
|
19
19
|
|
|
20
20
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
21
21
|
|
|
@@ -33,7 +33,7 @@ async function pageLoad(startPageLoadTimer, pageLoadVerifyHook = _lodash.default
|
|
|
33
33
|
if (!_lodash.default.isFunction((_startPageLoadTimer = startPageLoadTimer) === null || _startPageLoadTimer === void 0 ? void 0 : _startPageLoadTimer.getDuration)) {
|
|
34
34
|
_logger.default.debug(`Page load timer not a timer. Creating new timer`);
|
|
35
35
|
|
|
36
|
-
startPageLoadTimer = new
|
|
36
|
+
startPageLoadTimer = new _support.timing.Timer().start();
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
_logger.default.debug('Page loaded, verifying whether ready');
|
|
@@ -41,7 +41,7 @@ async function pageLoad(startPageLoadTimer, pageLoadVerifyHook = _lodash.default
|
|
|
41
41
|
this.pageLoading = true;
|
|
42
42
|
|
|
43
43
|
const verify = async () => {
|
|
44
|
-
this.pageLoadDelay =
|
|
44
|
+
this.pageLoadDelay = _support.util.cancellableDelay(timeoutMs);
|
|
45
45
|
|
|
46
46
|
try {
|
|
47
47
|
await this.pageLoadDelay;
|
|
@@ -154,7 +154,7 @@ async function navToUrl(url, pageLoadVerifyHook) {
|
|
|
154
154
|
}
|
|
155
155
|
|
|
156
156
|
await waitForFramePromise;
|
|
157
|
-
await this.waitForDom(new
|
|
157
|
+
await this.waitForDom(new _support.timing.Timer().start(), pageLoadVerifyHook);
|
|
158
158
|
await this.rpcClient.send('Console.enable', {
|
|
159
159
|
appIdKey: this.appIdKey,
|
|
160
160
|
pageIdKey: this.pageIdKey
|
|
@@ -169,7 +169,7 @@ async function waitForFrameNavigated() {
|
|
|
169
169
|
return await new _bluebird.default(async resolve => {
|
|
170
170
|
_logger.default.debug('Waiting for frame navigated message...');
|
|
171
171
|
|
|
172
|
-
const start = new
|
|
172
|
+
const start = new _support.timing.Timer().start();
|
|
173
173
|
|
|
174
174
|
navEventListener = (err, value) => {
|
|
175
175
|
_logger.default.debug(`Frame navigated in ${start.getDuration().asMilliSeconds.toFixed(0)}ms from: ${value}`);
|
|
@@ -191,7 +191,7 @@ async function waitForFrameNavigated() {
|
|
|
191
191
|
|
|
192
192
|
if (!this.useNewSafari || this.pageLoadMs >= 0) {
|
|
193
193
|
const timeout = this.useNewSafari ? this.pageLoadMs : 500;
|
|
194
|
-
this.navigationDelay =
|
|
194
|
+
this.navigationDelay = _support.util.cancellableDelay(timeout);
|
|
195
195
|
|
|
196
196
|
try {
|
|
197
197
|
await this.navigationDelay;
|
|
@@ -218,4 +218,4 @@ var _default = {
|
|
|
218
218
|
exports.default = _default;require('source-map-support').install();
|
|
219
219
|
|
|
220
220
|
|
|
221
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9taXhpbnMvbmF2aWdhdGUuanMiXSwibmFtZXMiOlsiZnJhbWVEZXRhY2hlZCIsImVtaXQiLCJldmVudHMiLCJFVkVOVF9GUkFNRVNfREVUQUNIRUQiLCJwYWdlTG9hZCIsInN0YXJ0UGFnZUxvYWRUaW1lciIsInBhZ2VMb2FkVmVyaWZ5SG9vayIsIl8iLCJub29wIiwidGltZW91dE1zIiwiaXNGdW5jdGlvbiIsImdldER1cmF0aW9uIiwibG9nIiwiZGVidWciLCJ0aW1pbmciLCJUaW1lciIsInN0YXJ0IiwicGFnZUxvYWRpbmciLCJ2ZXJpZnkiLCJwYWdlTG9hZERlbGF5IiwidXRpbCIsImNhbmNlbGxhYmxlRGVsYXkiLCJlcnIiLCJCIiwiQ2FuY2VsbGF0aW9uRXJyb3IiLCJhcHBJZEtleSIsImVsYXBzZWRNcyIsImFzTWlsbGlTZWNvbmRzIiwiY2hlY2tQYWdlSXNSZWFkeSIsInBhZ2VMb2FkTXMiLCJ0b0ZpeGVkIiwiY2FuY2VsUGFnZUxvYWQiLCJjYW5jZWwiLCJwYWdlVW5sb2FkIiwid2FpdEZvckRvbSIsInJlYWR5Q21kIiwicmVhZHlTdGF0ZSIsInJlc29sdmUiLCJleGVjdXRlIiwidGltZW91dCIsInBhZ2VSZWFkeVRpbWVvdXQiLCJUaW1lb3V0RXJyb3IiLCJuYXZUb1VybCIsInVybCIsInBhZ2VJZEtleSIsIl9uYXZpZ2F0aW5nVG9QYWdlIiwid2FpdEZvckZyYW1lUHJvbWlzZSIsIndhaXRGb3JGcmFtZU5hdmlnYXRlZCIsInJwY0NsaWVudCIsInNlbmQiLCJ1c2VOZXdTYWZhcmkiLCJkZWxheSIsIm5hdkV2ZW50TGlzdGVuZXIiLCJ2YWx1ZSIsImFsbG93TmF2aWdhdGlvbldpdGhvdXRSZWxvYWQiLCJuYXZpZ2F0aW9uRGVsYXkiLCJvbmNlIiwiZmluYWxseSIsIm9mZiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQSxTQUFTQSxhQUFULEdBQTBCO0FBQ3hCLE9B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QyxLQUFLRixZQUFOLElBQXNCLEtBQUtyQixVQUFMLElBQW1CLENBQTdDLEVBQWdEO0FBRTlDLFlBQU1VLE9BQU8sR0FBRyxLQUFLVyxZQUFMLEdBQW9CLEtBQUtyQixVQUF6QixHQUFzQyxHQUF0RDtBQUNBLFdBQUswQixlQUFMLEdBQXVCbkMsb0JBQUtDLGdCQUFMLENBQXNCa0IsT0FBdEIsQ0FBdkI7O0FBQ0EsVUFBSTtBQUNGLGNBQU0sS0FBS2dCLGVBQVg7QUFDQUgsUUFBQUEsZ0JBQWdCLENBQUMsSUFBRCxFQUFRLEdBQUViLE9BQVEsWUFBbEIsQ0FBaEI7QUFDRCxPQUhELENBR0UsT0FBT2pCLEdBQVAsRUFBWSxDQUliO0FBQ0Y7QUFDRixHQXJDWSxFQXFDVm1DLE9BckNVLENBcUNGLE1BQU07QUFDZixRQUFJTCxnQkFBSixFQUFzQjtBQUNwQixXQUFLSixTQUFMLENBQWVVLEdBQWYsQ0FBbUIscUJBQW5CLEVBQTBDTixnQkFBMUM7QUFDRDtBQUNGLEdBekNZLENBQWI7QUEwQ0Q7O2VBR2M7QUFBRXBELEVBQUFBLGFBQUY7QUFBaUJJLEVBQUFBLFFBQWpCO0FBQTJCMkIsRUFBQUEsY0FBM0I7QUFBMkNFLEVBQUFBLFVBQTNDO0FBQXVEQyxFQUFBQSxVQUF2RDtBQUFtRU4sRUFBQUEsZ0JBQW5FO0FBQXFGYyxFQUFBQSxRQUFyRjtBQUErRkssRUFBQUE7QUFBL0YsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBsb2cgZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCB7IGNoZWNrUGFyYW1zIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IGV2ZW50cyBmcm9tICcuL2V2ZW50cyc7XG5pbXBvcnQgeyB0aW1pbmcsIHV0aWwgfSBmcm9tICdhcHBpdW0tc3VwcG9ydCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IEIgZnJvbSAnYmx1ZWJpcmQnO1xuXG5cbmZ1bmN0aW9uIGZyYW1lRGV0YWNoZWQgKCkge1xuICB0aGlzLmVtaXQoZXZlbnRzLkVWRU5UX0ZSQU1FU19ERVRBQ0hFRCk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHBhZ2VMb2FkIChzdGFydFBhZ2VMb2FkVGltZXIsIHBhZ2VMb2FkVmVyaWZ5SG9vayA9IF8ubm9vcCkge1xuICBjb25zdCB0aW1lb3V0TXMgPSA1MDA7XG4gIGlmICghXy5pc0Z1bmN0aW9uKHN0YXJ0UGFnZUxvYWRUaW1lcj8uZ2V0RHVyYXRpb24pKSB7XG4gICAgbG9nLmRlYnVnKGBQYWdlIGxvYWQgdGltZXIgbm90IGEgdGltZXIuIENyZWF0aW5nIG5ldyB0aW1lcmApO1xuICAgIHN0YXJ0UGFnZUxvYWRUaW1lciA9IG5ldyB0aW1pbmcuVGltZXIoKS5zdGFydCgpO1xuICB9XG5cbiAgbG9nLmRlYnVnKCdQYWdlIGxvYWRlZCwgdmVyaWZ5aW5nIHdoZXRoZXIgcmVhZHknKTtcbiAgdGhpcy5wYWdlTG9hZGluZyA9IHRydWU7XG5cbiAgY29uc3QgdmVyaWZ5ID0gYXN5bmMgKCkgPT4ge1xuICAgIHRoaXMucGFnZUxvYWREZWxheSA9IHV0aWwuY2FuY2VsbGFibGVEZWxheSh0aW1lb3V0TXMpO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnBhZ2VMb2FkRGVsYXk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBpZiAoZXJyIGluc3RhbmNlb2YgQi5DYW5jZWxsYXRpb25FcnJvcikge1xuICAgICAgICAvLyBpZiB0aGUgcHJvbWlzZSBoYXMgYmVlbiBjYW5jZWxsZWRcbiAgICAgICAgLy8gd2Ugd2FudCB0byBza2lwIGNoZWNraW5nIHRoZSByZWFkaW5lc3NcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHdlIGNhbiBnZXQgdGhpcyBjYWxsZWQgaW4gdGhlIG1pZGRsZSBvZiB0cnlpbmcgdG8gZmluZCBhIG5ldyBhcHBcbiAgICBpZiAoIXRoaXMuYXBwSWRLZXkpIHtcbiAgICAgIGxvZy5kZWJ1ZygnTm90IGNvbm5lY3RlZCB0byBhbiBhcHBsaWNhdGlvbi4gSWdub3JpbmcgcGFnZSBsb2FkJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKF8uaXNGdW5jdGlvbihwYWdlTG9hZFZlcmlmeUhvb2spKSB7XG4gICAgICBhd2FpdCBwYWdlTG9hZFZlcmlmeUhvb2soKTtcbiAgICB9XG5cbiAgICAvLyBpZiB3ZSBhcmUgcmVhZHksIG9yIHdlJ3ZlIHNwZW5kIHRvbyBtdWNoIHRpbWUgb24gdGhpc1xuICAgIGNvbnN0IGVsYXBzZWRNcyA9IHN0YXJ0UGFnZUxvYWRUaW1lci5nZXREdXJhdGlvbigpLmFzTWlsbGlTZWNvbmRzO1xuICAgIGlmIChhd2FpdCB0aGlzLmNoZWNrUGFnZUlzUmVhZHkoKSB8fCAodGhpcy5wYWdlTG9hZE1zID4gMCAmJiBlbGFwc2VkTXMgPiB0aGlzLnBhZ2VMb2FkTXMpKSB7XG4gICAgICBsb2cuZGVidWcoJ1BhZ2UgaXMgcmVhZHknKTtcbiAgICAgIHRoaXMucGFnZUxvYWRpbmcgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nLmRlYnVnKCdQYWdlIHdhcyBub3QgcmVhZHksIHJldHJ5aW5nJyk7XG4gICAgICBhd2FpdCB2ZXJpZnkoKTtcbiAgICB9XG4gIH07XG4gIHRyeSB7XG4gICAgYXdhaXQgdmVyaWZ5KCk7XG4gIH0gZmluYWxseSB7XG4gICAgbG9nLmRlYnVnKGBQYWdlIGxvYWQgY29tcGxldGVkIGluICR7c3RhcnRQYWdlTG9hZFRpbWVyLmdldER1cmF0aW9uKCkuYXNNaWxsaVNlY29uZHMudG9GaXhlZCgwKX1tc2ApO1xuICAgIHRoaXMucGFnZUxvYWRpbmcgPSBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjYW5jZWxQYWdlTG9hZCAoKSB7XG4gIGxvZy5kZWJ1ZygnVW5yZWdpc3RlcmluZyBmcm9tIHBhZ2UgcmVhZGluZXNzIG5vdGlmaWNhdGlvbnMnKTtcbiAgdGhpcy5wYWdlTG9hZGluZyA9IGZhbHNlO1xuICBpZiAodGhpcy5wYWdlTG9hZERlbGF5KSB7XG4gICAgdGhpcy5wYWdlTG9hZERlbGF5LmNhbmNlbCgpO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHBhZ2VVbmxvYWQgKCkge1xuICBsb2cuZGVidWcoJ1BhZ2UgdW5sb2FkaW5nJyk7XG4gIGF3YWl0IHRoaXMud2FpdEZvckRvbSgpO1xufVxuXG5hc3luYyBmdW5jdGlvbiB3YWl0Rm9yRG9tIChzdGFydFBhZ2VMb2FkVGltZXIsIHBhZ2VMb2FkVmVyaWZ5SG9vaykge1xuICBsb2cuZGVidWcoJ1dhaXRpbmcgZm9yIGRvbS4uLicpO1xuICBhd2FpdCB0aGlzLnBhZ2VMb2FkKHN0YXJ0UGFnZUxvYWRUaW1lciwgcGFnZUxvYWRWZXJpZnlIb29rKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gY2hlY2tQYWdlSXNSZWFkeSAoKSB7XG4gIGNoZWNrUGFyYW1zKHthcHBJZEtleTogdGhpcy5hcHBJZEtleX0pO1xuXG4gIGxvZy5kZWJ1ZygnQ2hlY2tpbmcgZG9jdW1lbnQgcmVhZHlTdGF0ZScpO1xuICBjb25zdCByZWFkeUNtZCA9ICdkb2N1bWVudC5yZWFkeVN0YXRlOyc7XG4gIGxldCByZWFkeVN0YXRlID0gJ2xvYWRpbmcnO1xuICB0cnkge1xuICAgIHJlYWR5U3RhdGUgPSBhd2FpdCBCLnJlc29sdmUodGhpcy5leGVjdXRlKHJlYWR5Q21kLCB0cnVlKSkudGltZW91dCh0aGlzLnBhZ2VSZWFkeVRpbWVvdXQpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBpZiAoIShlcnIgaW5zdGFuY2VvZiBCLlRpbWVvdXRFcnJvcikpIHtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gICAgbG9nLmRlYnVnKGBQYWdlIHJlYWRpbmVzcyBjaGVjayB0aW1lZCBvdXQgYWZ0ZXIgJHt0aGlzLnBhZ2VSZWFkeVRpbWVvdXR9bXNgKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgbG9nLmRlYnVnKGBEb2N1bWVudCByZWFkeVN0YXRlIGlzICcke3JlYWR5U3RhdGV9J2ApO1xuXG4gIHJldHVybiByZWFkeVN0YXRlID09PSAnY29tcGxldGUnO1xufVxuXG5hc3luYyBmdW5jdGlvbiBuYXZUb1VybCAodXJsLCBwYWdlTG9hZFZlcmlmeUhvb2spIHtcbiAgY2hlY2tQYXJhbXMoe2FwcElkS2V5OiB0aGlzLmFwcElkS2V5LCBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5fSk7XG5cbiAgdGhpcy5fbmF2aWdhdGluZ1RvUGFnZSA9IHRydWU7XG5cbiAgdHJ5IHtcbiAgICBsb2cuZGVidWcoYE5hdmlnYXRpbmcgdG8gbmV3IFVSTDogJyR7dXJsfSdgKTtcblxuICAgIC8vIGJlZ2luIGxpc3RlbmluZyBmb3IgZnJhbWUgbmF2aWdhdGlvbiBldmVudCwgd2hpY2ggd2lsbCBiZSB3YWl0ZWQgZm9yIGxhdGVyXG4gICAgY29uc3Qgd2FpdEZvckZyYW1lUHJvbWlzZSA9IHRoaXMud2FpdEZvckZyYW1lTmF2aWdhdGVkKCk7XG5cbiAgICBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZW5kKCdQYWdlLm5hdmlnYXRlJywge1xuICAgICAgdXJsLFxuICAgICAgYXBwSWRLZXk6IHRoaXMuYXBwSWRLZXksXG4gICAgICBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5LFxuICAgIH0pO1xuXG4gICAgaWYgKCF0aGlzLnVzZU5ld1NhZmFyaSkge1xuICAgICAgLy8gYSBzbWFsbCBwYXVzZSBmb3IgdGhlIGJyb3dzZXIgdG8gY2F0Y2ggdXBcbiAgICAgIGF3YWl0IEIuZGVsYXkoMTAwMCk7XG4gICAgfVxuXG4gICAgLy8gd2FpdCB1bnRpbCB0aGUgcGFnZSBoYXMgYmVlbiBuYXZpZ2F0ZWRcbiAgICBhd2FpdCB3YWl0Rm9yRnJhbWVQcm9taXNlO1xuXG4gICAgYXdhaXQgdGhpcy53YWl0Rm9yRG9tKG5ldyB0aW1pbmcuVGltZXIoKS5zdGFydCgpLCBwYWdlTG9hZFZlcmlmeUhvb2spO1xuXG4gICAgLy8gZW5hYmxlIGNvbnNvbGUgbG9nZ2luZywgc28gd2UgZ2V0IHRoZSBldmVudHMgKG90aGVyd2lzZSB3ZSBvbmx5XG4gICAgLy8gZ2V0IG5vdGlmaWVkIHdoZW4gbmF2aWdhdGluZyB0byBhIGxvY2FsIHBhZ2VcbiAgICBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZW5kKCdDb25zb2xlLmVuYWJsZScsIHtcbiAgICAgIGFwcElkS2V5OiB0aGlzLmFwcElkS2V5LFxuICAgICAgcGFnZUlkS2V5OiB0aGlzLnBhZ2VJZEtleSxcbiAgICB9KTtcbiAgfSBmaW5hbGx5IHtcbiAgICB0aGlzLl9uYXZpZ2F0aW5nVG9QYWdlID0gZmFsc2U7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gd2FpdEZvckZyYW1lTmF2aWdhdGVkICgpIHtcbiAgbGV0IG5hdkV2ZW50TGlzdGVuZXI7XG4gIHJldHVybiBhd2FpdCBuZXcgQihhc3luYyAocmVzb2x2ZSkgPT4ge1xuICAgIGxvZy5kZWJ1ZygnV2FpdGluZyBmb3IgZnJhbWUgbmF2aWdhdGVkIG1lc3NhZ2UuLi4nKTtcbiAgICBjb25zdCBzdGFydCA9IG5ldyB0aW1pbmcuVGltZXIoKS5zdGFydCgpO1xuXG4gICAgLy8gYWRkIGEgaGFuZGxlciBmb3IgdGhlIGBQYWdlLmZyYW1lTmF2aWdhdGVkYCBtZXNzYWdlXG4gICAgLy8gZnJvbSB0aGUgcmVtb3RlIGRlYnVnZ2VyXG4gICAgbmF2RXZlbnRMaXN0ZW5lciA9IChlcnIsIHZhbHVlKSA9PiB7XG4gICAgICBsb2cuZGVidWcoYEZyYW1lIG5hdmlnYXRlZCBpbiAke3N0YXJ0LmdldER1cmF0aW9uKCkuYXNNaWxsaVNlY29uZHMudG9GaXhlZCgwKX1tcyBmcm9tOiAke3ZhbHVlfWApO1xuICAgICAgaWYgKCF0aGlzLmFsbG93TmF2aWdhdGlvbldpdGhvdXRSZWxvYWQgJiYgIXRoaXMucGFnZUxvYWRpbmcpIHtcbiAgICAgICAgcmVzb2x2ZSh2YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsb2cuZGVidWcoJ0ZyYW1lIG5hdmlnYXRlZCBidXQgd2Ugd2VyZSB3YXJuZWQgYWJvdXQgaXQsIG5vdCAnICtcbiAgICAgICAgICAgICAgICAgICdjb25zaWRlcmluZyBwYWdlIHN0YXRlIHVubG9hZGVkJyk7XG4gICAgICAgIHRoaXMuYWxsb3dOYXZpZ2F0aW9uV2l0aG91dFJlbG9hZCA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMubmF2aWdhdGlvbkRlbGF5KSB7XG4gICAgICAgIHRoaXMubmF2aWdhdGlvbkRlbGF5LmNhbmNlbCgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB0aGlzLnJwY0NsaWVudC5vbmNlKCdQYWdlLmZyYW1lTmF2aWdhdGVkJywgbmF2RXZlbnRMaXN0ZW5lcik7XG5cbiAgICAvLyB0aW1lb3V0LCBpbiBjYXNlIHJlbW90ZSBkZWJ1Z2dlciBkb2Vzbid0IHJlc3BvbmQsXG4gICAgLy8gb3IgdGFrZXMgYSBsb25nIHRpbWVcbiAgICBpZiAoIXRoaXMudXNlTmV3U2FmYXJpIHx8IHRoaXMucGFnZUxvYWRNcyA+PSAwKSB7XG4gICAgICAvLyB1c2UgcGFnZUxvYWRNcywgb3IgYSBzbWFsbCBhbW91bnQgb2YgdGltZVxuICAgICAgY29uc3QgdGltZW91dCA9IHRoaXMudXNlTmV3U2FmYXJpID8gdGhpcy5wYWdlTG9hZE1zIDogNTAwO1xuICAgICAgdGhpcy5uYXZpZ2F0aW9uRGVsYXkgPSB1dGlsLmNhbmNlbGxhYmxlRGVsYXkodGltZW91dCk7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCB0aGlzLm5hdmlnYXRpb25EZWxheTtcbiAgICAgICAgbmF2RXZlbnRMaXN0ZW5lcihudWxsLCBgJHt0aW1lb3V0fW1zIHRpbWVvdXRgKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAvLyBub3RoaW5nIHRvIGRvOiB3ZSBvbmx5IGdldCBoZXJlIGlmIHRoZSByZW1vdGUgZGVidWdnZXJcbiAgICAgICAgLy8gYWxyZWFkeSBub3RpZmllZCBvZiBmcmFtZSBuYXZpZ2F0aW9uLCBhbmQgdGhlIGRlbGF5XG4gICAgICAgIC8vIHdhcyBjYW5jZWxsZWRcbiAgICAgIH1cbiAgICB9XG4gIH0pLmZpbmFsbHkoKCkgPT4ge1xuICAgIGlmIChuYXZFdmVudExpc3RlbmVyKSB7XG4gICAgICB0aGlzLnJwY0NsaWVudC5vZmYoJ1BhZ2UuZnJhbWVOYXZpZ2F0ZWQnLCBuYXZFdmVudExpc3RlbmVyKTtcbiAgICB9XG4gIH0pO1xufVxuXG5cbmV4cG9ydCBkZWZhdWx0IHsgZnJhbWVEZXRhY2hlZCwgcGFnZUxvYWQsIGNhbmNlbFBhZ2VMb2FkLCBwYWdlVW5sb2FkLCB3YWl0Rm9yRG9tLCBjaGVja1BhZ2VJc1JlYWR5LCBuYXZUb1VybCwgd2FpdEZvckZyYW1lTmF2aWdhdGVkIH07XG4iXSwiZmlsZSI6ImxpYi9taXhpbnMvbmF2aWdhdGUuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4ifQ==
|
|
221
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9taXhpbnMvbmF2aWdhdGUuanMiXSwibmFtZXMiOlsiZnJhbWVEZXRhY2hlZCIsImVtaXQiLCJldmVudHMiLCJFVkVOVF9GUkFNRVNfREVUQUNIRUQiLCJwYWdlTG9hZCIsInN0YXJ0UGFnZUxvYWRUaW1lciIsInBhZ2VMb2FkVmVyaWZ5SG9vayIsIl8iLCJub29wIiwidGltZW91dE1zIiwiaXNGdW5jdGlvbiIsImdldER1cmF0aW9uIiwibG9nIiwiZGVidWciLCJ0aW1pbmciLCJUaW1lciIsInN0YXJ0IiwicGFnZUxvYWRpbmciLCJ2ZXJpZnkiLCJwYWdlTG9hZERlbGF5IiwidXRpbCIsImNhbmNlbGxhYmxlRGVsYXkiLCJlcnIiLCJCIiwiQ2FuY2VsbGF0aW9uRXJyb3IiLCJhcHBJZEtleSIsImVsYXBzZWRNcyIsImFzTWlsbGlTZWNvbmRzIiwiY2hlY2tQYWdlSXNSZWFkeSIsInBhZ2VMb2FkTXMiLCJ0b0ZpeGVkIiwiY2FuY2VsUGFnZUxvYWQiLCJjYW5jZWwiLCJwYWdlVW5sb2FkIiwid2FpdEZvckRvbSIsInJlYWR5Q21kIiwicmVhZHlTdGF0ZSIsInJlc29sdmUiLCJleGVjdXRlIiwidGltZW91dCIsInBhZ2VSZWFkeVRpbWVvdXQiLCJUaW1lb3V0RXJyb3IiLCJuYXZUb1VybCIsInVybCIsInBhZ2VJZEtleSIsIl9uYXZpZ2F0aW5nVG9QYWdlIiwid2FpdEZvckZyYW1lUHJvbWlzZSIsIndhaXRGb3JGcmFtZU5hdmlnYXRlZCIsInJwY0NsaWVudCIsInNlbmQiLCJ1c2VOZXdTYWZhcmkiLCJkZWxheSIsIm5hdkV2ZW50TGlzdGVuZXIiLCJ2YWx1ZSIsImFsbG93TmF2aWdhdGlvbldpdGhvdXRSZWxvYWQiLCJuYXZpZ2F0aW9uRGVsYXkiLCJvbmNlIiwiZmluYWxseSIsIm9mZiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQSxTQUFTQSxhQUFULEdBQTBCO0FBQ3hCLE9B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LEtBQUtGLFlBQU4sSUFBc0IsS0FBS3JCLFVBQUwsSUFBbUIsQ0FBN0MsRUFBZ0Q7QUFFOUMsWUFBTVUsT0FBTyxHQUFHLEtBQUtXLFlBQUwsR0FBb0IsS0FBS3JCLFVBQXpCLEdBQXNDLEdBQXREO0FBQ0EsV0FBSzBCLGVBQUwsR0FBdUJuQyxjQUFLQyxnQkFBTCxDQUFzQmtCLE9BQXRCLENBQXZCOztBQUNBLFVBQUk7QUFDRixjQUFNLEtBQUtnQixlQUFYO0FBQ0FILFFBQUFBLGdCQUFnQixDQUFDLElBQUQsRUFBUSxHQUFFYixPQUFRLFlBQWxCLENBQWhCO0FBQ0QsT0FIRCxDQUdFLE9BQU9qQixHQUFQLEVBQVksQ0FJYjtBQUNGO0FBQ0YsR0FyQ1ksRUFxQ1ZtQyxPQXJDVSxDQXFDRixNQUFNO0FBQ2YsUUFBSUwsZ0JBQUosRUFBc0I7QUFDcEIsV0FBS0osU0FBTCxDQUFlVSxHQUFmLENBQW1CLHFCQUFuQixFQUEwQ04sZ0JBQTFDO0FBQ0Q7QUFDRixHQXpDWSxDQUFiO0FBMENEOztlQUdjO0FBQUVwRCxFQUFBQSxhQUFGO0FBQWlCSSxFQUFBQSxRQUFqQjtBQUEyQjJCLEVBQUFBLGNBQTNCO0FBQTJDRSxFQUFBQSxVQUEzQztBQUF1REMsRUFBQUEsVUFBdkQ7QUFBbUVOLEVBQUFBLGdCQUFuRTtBQUFxRmMsRUFBQUEsUUFBckY7QUFBK0ZLLEVBQUFBO0FBQS9GLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbG9nIGZyb20gJy4uL2xvZ2dlcic7XG5pbXBvcnQgeyBjaGVja1BhcmFtcyB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCBldmVudHMgZnJvbSAnLi9ldmVudHMnO1xuaW1wb3J0IHsgdGltaW5nLCB1dGlsIH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgQiBmcm9tICdibHVlYmlyZCc7XG5cblxuZnVuY3Rpb24gZnJhbWVEZXRhY2hlZCAoKSB7XG4gIHRoaXMuZW1pdChldmVudHMuRVZFTlRfRlJBTUVTX0RFVEFDSEVEKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcGFnZUxvYWQgKHN0YXJ0UGFnZUxvYWRUaW1lciwgcGFnZUxvYWRWZXJpZnlIb29rID0gXy5ub29wKSB7XG4gIGNvbnN0IHRpbWVvdXRNcyA9IDUwMDtcbiAgaWYgKCFfLmlzRnVuY3Rpb24oc3RhcnRQYWdlTG9hZFRpbWVyPy5nZXREdXJhdGlvbikpIHtcbiAgICBsb2cuZGVidWcoYFBhZ2UgbG9hZCB0aW1lciBub3QgYSB0aW1lci4gQ3JlYXRpbmcgbmV3IHRpbWVyYCk7XG4gICAgc3RhcnRQYWdlTG9hZFRpbWVyID0gbmV3IHRpbWluZy5UaW1lcigpLnN0YXJ0KCk7XG4gIH1cblxuICBsb2cuZGVidWcoJ1BhZ2UgbG9hZGVkLCB2ZXJpZnlpbmcgd2hldGhlciByZWFkeScpO1xuICB0aGlzLnBhZ2VMb2FkaW5nID0gdHJ1ZTtcblxuICBjb25zdCB2ZXJpZnkgPSBhc3luYyAoKSA9PiB7XG4gICAgdGhpcy5wYWdlTG9hZERlbGF5ID0gdXRpbC5jYW5jZWxsYWJsZURlbGF5KHRpbWVvdXRNcyk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMucGFnZUxvYWREZWxheTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBCLkNhbmNlbGxhdGlvbkVycm9yKSB7XG4gICAgICAgIC8vIGlmIHRoZSBwcm9taXNlIGhhcyBiZWVuIGNhbmNlbGxlZFxuICAgICAgICAvLyB3ZSB3YW50IHRvIHNraXAgY2hlY2tpbmcgdGhlIHJlYWRpbmVzc1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gd2UgY2FuIGdldCB0aGlzIGNhbGxlZCBpbiB0aGUgbWlkZGxlIG9mIHRyeWluZyB0byBmaW5kIGEgbmV3IGFwcFxuICAgIGlmICghdGhpcy5hcHBJZEtleSkge1xuICAgICAgbG9nLmRlYnVnKCdOb3QgY29ubmVjdGVkIHRvIGFuIGFwcGxpY2F0aW9uLiBJZ25vcmluZyBwYWdlIGxvYWQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoXy5pc0Z1bmN0aW9uKHBhZ2VMb2FkVmVyaWZ5SG9vaykpIHtcbiAgICAgIGF3YWl0IHBhZ2VMb2FkVmVyaWZ5SG9vaygpO1xuICAgIH1cblxuICAgIC8vIGlmIHdlIGFyZSByZWFkeSwgb3Igd2UndmUgc3BlbmQgdG9vIG11Y2ggdGltZSBvbiB0aGlzXG4gICAgY29uc3QgZWxhcHNlZE1zID0gc3RhcnRQYWdlTG9hZFRpbWVyLmdldER1cmF0aW9uKCkuYXNNaWxsaVNlY29uZHM7XG4gICAgaWYgKGF3YWl0IHRoaXMuY2hlY2tQYWdlSXNSZWFkeSgpIHx8ICh0aGlzLnBhZ2VMb2FkTXMgPiAwICYmIGVsYXBzZWRNcyA+IHRoaXMucGFnZUxvYWRNcykpIHtcbiAgICAgIGxvZy5kZWJ1ZygnUGFnZSBpcyByZWFkeScpO1xuICAgICAgdGhpcy5wYWdlTG9hZGluZyA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2cuZGVidWcoJ1BhZ2Ugd2FzIG5vdCByZWFkeSwgcmV0cnlpbmcnKTtcbiAgICAgIGF3YWl0IHZlcmlmeSgpO1xuICAgIH1cbiAgfTtcbiAgdHJ5IHtcbiAgICBhd2FpdCB2ZXJpZnkoKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBsb2cuZGVidWcoYFBhZ2UgbG9hZCBjb21wbGV0ZWQgaW4gJHtzdGFydFBhZ2VMb2FkVGltZXIuZ2V0RHVyYXRpb24oKS5hc01pbGxpU2Vjb25kcy50b0ZpeGVkKDApfW1zYCk7XG4gICAgdGhpcy5wYWdlTG9hZGluZyA9IGZhbHNlO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNhbmNlbFBhZ2VMb2FkICgpIHtcbiAgbG9nLmRlYnVnKCdVbnJlZ2lzdGVyaW5nIGZyb20gcGFnZSByZWFkaW5lc3Mgbm90aWZpY2F0aW9ucycpO1xuICB0aGlzLnBhZ2VMb2FkaW5nID0gZmFsc2U7XG4gIGlmICh0aGlzLnBhZ2VMb2FkRGVsYXkpIHtcbiAgICB0aGlzLnBhZ2VMb2FkRGVsYXkuY2FuY2VsKCk7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gcGFnZVVubG9hZCAoKSB7XG4gIGxvZy5kZWJ1ZygnUGFnZSB1bmxvYWRpbmcnKTtcbiAgYXdhaXQgdGhpcy53YWl0Rm9yRG9tKCk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHdhaXRGb3JEb20gKHN0YXJ0UGFnZUxvYWRUaW1lciwgcGFnZUxvYWRWZXJpZnlIb29rKSB7XG4gIGxvZy5kZWJ1ZygnV2FpdGluZyBmb3IgZG9tLi4uJyk7XG4gIGF3YWl0IHRoaXMucGFnZUxvYWQoc3RhcnRQYWdlTG9hZFRpbWVyLCBwYWdlTG9hZFZlcmlmeUhvb2spO1xufVxuXG5hc3luYyBmdW5jdGlvbiBjaGVja1BhZ2VJc1JlYWR5ICgpIHtcbiAgY2hlY2tQYXJhbXMoe2FwcElkS2V5OiB0aGlzLmFwcElkS2V5fSk7XG5cbiAgbG9nLmRlYnVnKCdDaGVja2luZyBkb2N1bWVudCByZWFkeVN0YXRlJyk7XG4gIGNvbnN0IHJlYWR5Q21kID0gJ2RvY3VtZW50LnJlYWR5U3RhdGU7JztcbiAgbGV0IHJlYWR5U3RhdGUgPSAnbG9hZGluZyc7XG4gIHRyeSB7XG4gICAgcmVhZHlTdGF0ZSA9IGF3YWl0IEIucmVzb2x2ZSh0aGlzLmV4ZWN1dGUocmVhZHlDbWQsIHRydWUpKS50aW1lb3V0KHRoaXMucGFnZVJlYWR5VGltZW91dCk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGlmICghKGVyciBpbnN0YW5jZW9mIEIuVGltZW91dEVycm9yKSkge1xuICAgICAgdGhyb3cgZXJyO1xuICAgIH1cbiAgICBsb2cuZGVidWcoYFBhZ2UgcmVhZGluZXNzIGNoZWNrIHRpbWVkIG91dCBhZnRlciAke3RoaXMucGFnZVJlYWR5VGltZW91dH1tc2ApO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBsb2cuZGVidWcoYERvY3VtZW50IHJlYWR5U3RhdGUgaXMgJyR7cmVhZHlTdGF0ZX0nYCk7XG5cbiAgcmV0dXJuIHJlYWR5U3RhdGUgPT09ICdjb21wbGV0ZSc7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIG5hdlRvVXJsICh1cmwsIHBhZ2VMb2FkVmVyaWZ5SG9vaykge1xuICBjaGVja1BhcmFtcyh7YXBwSWRLZXk6IHRoaXMuYXBwSWRLZXksIHBhZ2VJZEtleTogdGhpcy5wYWdlSWRLZXl9KTtcblxuICB0aGlzLl9uYXZpZ2F0aW5nVG9QYWdlID0gdHJ1ZTtcblxuICB0cnkge1xuICAgIGxvZy5kZWJ1ZyhgTmF2aWdhdGluZyB0byBuZXcgVVJMOiAnJHt1cmx9J2ApO1xuXG4gICAgLy8gYmVnaW4gbGlzdGVuaW5nIGZvciBmcmFtZSBuYXZpZ2F0aW9uIGV2ZW50LCB3aGljaCB3aWxsIGJlIHdhaXRlZCBmb3IgbGF0ZXJcbiAgICBjb25zdCB3YWl0Rm9yRnJhbWVQcm9taXNlID0gdGhpcy53YWl0Rm9yRnJhbWVOYXZpZ2F0ZWQoKTtcblxuICAgIGF3YWl0IHRoaXMucnBjQ2xpZW50LnNlbmQoJ1BhZ2UubmF2aWdhdGUnLCB7XG4gICAgICB1cmwsXG4gICAgICBhcHBJZEtleTogdGhpcy5hcHBJZEtleSxcbiAgICAgIHBhZ2VJZEtleTogdGhpcy5wYWdlSWRLZXksXG4gICAgfSk7XG5cbiAgICBpZiAoIXRoaXMudXNlTmV3U2FmYXJpKSB7XG4gICAgICAvLyBhIHNtYWxsIHBhdXNlIGZvciB0aGUgYnJvd3NlciB0byBjYXRjaCB1cFxuICAgICAgYXdhaXQgQi5kZWxheSgxMDAwKTtcbiAgICB9XG5cbiAgICAvLyB3YWl0IHVudGlsIHRoZSBwYWdlIGhhcyBiZWVuIG5hdmlnYXRlZFxuICAgIGF3YWl0IHdhaXRGb3JGcmFtZVByb21pc2U7XG5cbiAgICBhd2FpdCB0aGlzLndhaXRGb3JEb20obmV3IHRpbWluZy5UaW1lcigpLnN0YXJ0KCksIHBhZ2VMb2FkVmVyaWZ5SG9vayk7XG5cbiAgICAvLyBlbmFibGUgY29uc29sZSBsb2dnaW5nLCBzbyB3ZSBnZXQgdGhlIGV2ZW50cyAob3RoZXJ3aXNlIHdlIG9ubHlcbiAgICAvLyBnZXQgbm90aWZpZWQgd2hlbiBuYXZpZ2F0aW5nIHRvIGEgbG9jYWwgcGFnZVxuICAgIGF3YWl0IHRoaXMucnBjQ2xpZW50LnNlbmQoJ0NvbnNvbGUuZW5hYmxlJywge1xuICAgICAgYXBwSWRLZXk6IHRoaXMuYXBwSWRLZXksXG4gICAgICBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5LFxuICAgIH0pO1xuICB9IGZpbmFsbHkge1xuICAgIHRoaXMuX25hdmlnYXRpbmdUb1BhZ2UgPSBmYWxzZTtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiB3YWl0Rm9yRnJhbWVOYXZpZ2F0ZWQgKCkge1xuICBsZXQgbmF2RXZlbnRMaXN0ZW5lcjtcbiAgcmV0dXJuIGF3YWl0IG5ldyBCKGFzeW5jIChyZXNvbHZlKSA9PiB7XG4gICAgbG9nLmRlYnVnKCdXYWl0aW5nIGZvciBmcmFtZSBuYXZpZ2F0ZWQgbWVzc2FnZS4uLicpO1xuICAgIGNvbnN0IHN0YXJ0ID0gbmV3IHRpbWluZy5UaW1lcigpLnN0YXJ0KCk7XG5cbiAgICAvLyBhZGQgYSBoYW5kbGVyIGZvciB0aGUgYFBhZ2UuZnJhbWVOYXZpZ2F0ZWRgIG1lc3NhZ2VcbiAgICAvLyBmcm9tIHRoZSByZW1vdGUgZGVidWdnZXJcbiAgICBuYXZFdmVudExpc3RlbmVyID0gKGVyciwgdmFsdWUpID0+IHtcbiAgICAgIGxvZy5kZWJ1ZyhgRnJhbWUgbmF2aWdhdGVkIGluICR7c3RhcnQuZ2V0RHVyYXRpb24oKS5hc01pbGxpU2Vjb25kcy50b0ZpeGVkKDApfW1zIGZyb206ICR7dmFsdWV9YCk7XG4gICAgICBpZiAoIXRoaXMuYWxsb3dOYXZpZ2F0aW9uV2l0aG91dFJlbG9hZCAmJiAhdGhpcy5wYWdlTG9hZGluZykge1xuICAgICAgICByZXNvbHZlKHZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvZy5kZWJ1ZygnRnJhbWUgbmF2aWdhdGVkIGJ1dCB3ZSB3ZXJlIHdhcm5lZCBhYm91dCBpdCwgbm90ICcgK1xuICAgICAgICAgICAgICAgICAgJ2NvbnNpZGVyaW5nIHBhZ2Ugc3RhdGUgdW5sb2FkZWQnKTtcbiAgICAgICAgdGhpcy5hbGxvd05hdmlnYXRpb25XaXRob3V0UmVsb2FkID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5uYXZpZ2F0aW9uRGVsYXkpIHtcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uRGVsYXkuY2FuY2VsKCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHRoaXMucnBjQ2xpZW50Lm9uY2UoJ1BhZ2UuZnJhbWVOYXZpZ2F0ZWQnLCBuYXZFdmVudExpc3RlbmVyKTtcblxuICAgIC8vIHRpbWVvdXQsIGluIGNhc2UgcmVtb3RlIGRlYnVnZ2VyIGRvZXNuJ3QgcmVzcG9uZCxcbiAgICAvLyBvciB0YWtlcyBhIGxvbmcgdGltZVxuICAgIGlmICghdGhpcy51c2VOZXdTYWZhcmkgfHwgdGhpcy5wYWdlTG9hZE1zID49IDApIHtcbiAgICAgIC8vIHVzZSBwYWdlTG9hZE1zLCBvciBhIHNtYWxsIGFtb3VudCBvZiB0aW1lXG4gICAgICBjb25zdCB0aW1lb3V0ID0gdGhpcy51c2VOZXdTYWZhcmkgPyB0aGlzLnBhZ2VMb2FkTXMgOiA1MDA7XG4gICAgICB0aGlzLm5hdmlnYXRpb25EZWxheSA9IHV0aWwuY2FuY2VsbGFibGVEZWxheSh0aW1lb3V0KTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IHRoaXMubmF2aWdhdGlvbkRlbGF5O1xuICAgICAgICBuYXZFdmVudExpc3RlbmVyKG51bGwsIGAke3RpbWVvdXR9bXMgdGltZW91dGApO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIC8vIG5vdGhpbmcgdG8gZG86IHdlIG9ubHkgZ2V0IGhlcmUgaWYgdGhlIHJlbW90ZSBkZWJ1Z2dlclxuICAgICAgICAvLyBhbHJlYWR5IG5vdGlmaWVkIG9mIGZyYW1lIG5hdmlnYXRpb24sIGFuZCB0aGUgZGVsYXlcbiAgICAgICAgLy8gd2FzIGNhbmNlbGxlZFxuICAgICAgfVxuICAgIH1cbiAgfSkuZmluYWxseSgoKSA9PiB7XG4gICAgaWYgKG5hdkV2ZW50TGlzdGVuZXIpIHtcbiAgICAgIHRoaXMucnBjQ2xpZW50Lm9mZignUGFnZS5mcmFtZU5hdmlnYXRlZCcsIG5hdkV2ZW50TGlzdGVuZXIpO1xuICAgIH1cbiAgfSk7XG59XG5cblxuZXhwb3J0IGRlZmF1bHQgeyBmcmFtZURldGFjaGVkLCBwYWdlTG9hZCwgY2FuY2VsUGFnZUxvYWQsIHBhZ2VVbmxvYWQsIHdhaXRGb3JEb20sIGNoZWNrUGFnZUlzUmVhZHksIG5hdlRvVXJsLCB3YWl0Rm9yRnJhbWVOYXZpZ2F0ZWQgfTtcbiJdLCJmaWxlIjoibGliL21peGlucy9uYXZpZ2F0ZS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLiJ9
|
|
@@ -32,6 +32,7 @@ class RemoteDebuggerRealDevice extends _remoteDebugger.default {
|
|
|
32
32
|
logAllCommunication: this.logAllCommunication,
|
|
33
33
|
logAllCommunicationHexDump: this.logAllCommunicationHexDump,
|
|
34
34
|
socketChunkSize: this.socketChunkSize,
|
|
35
|
+
webInspectorMaxFrameLength: this.webInspectorMaxFrameLength,
|
|
35
36
|
udid: this.udid
|
|
36
37
|
});
|
|
37
38
|
}
|
|
@@ -41,4 +42,4 @@ class RemoteDebuggerRealDevice extends _remoteDebugger.default {
|
|
|
41
42
|
exports.default = RemoteDebuggerRealDevice;require('source-map-support').install();
|
|
42
43
|
|
|
43
44
|
|
|
44
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9yZW1vdGUtZGVidWdnZXItcmVhbC1kZXZpY2UuanMiXSwibmFtZXMiOlsiUmVtb3RlRGVidWdnZXJSZWFsRGV2aWNlIiwiUmVtb3RlRGVidWdnZXIiLCJjb25zdHJ1Y3RvciIsIm9wdHMiLCJ1ZGlkIiwiX3NraXBwZWRBcHBzIiwiaW5pdFJwY0NsaWVudCIsInJwY0NsaWVudCIsIlJwY0NsaWVudFJlYWxEZXZpY2UiLCJidW5kbGVJZCIsInBsYXRmb3JtVmVyc2lvbiIsImlzU2FmYXJpIiwiaG9zdCIsInBvcnQiLCJzb2NrZXRQYXRoIiwibWVzc2FnZVByb3h5IiwicmVtb3RlRGVidWdQcm94eSIsImxvZ0FsbENvbW11bmljYXRpb24iLCJsb2dBbGxDb21tdW5pY2F0aW9uSGV4RHVtcCIsInNvY2tldENodW5rU2l6ZSIsIndlYkluc3BlY3Rvck1heEZyYW1lTGVuZ3RoIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUdlLE1BQU1BLHdCQUFOLFNBQXVDQyx1QkFBdkMsQ0FBc0Q7QUFDbkVDLEVBQUFBLFdBQVcsQ0FBRUMsSUFBSSxHQUFHLEVBQVQsRUFBYTtBQUN0QixVQUFNQSxJQUFOO0FBRUEsU0FBS0MsSUFBTCxHQUFZRCxJQUFJLENBQUNDLElBQWpCO0FBRUEsU0FBS0MsWUFBTCxHQUFvQixDQUFDLFdBQUQsQ0FBcEI7QUFDRDs7QUFFREMsRUFBQUEsYUFBYSxHQUFJO0FBQ2YsU0FBS0MsU0FBTCxHQUFpQixJQUFJQyx3QkFBSixDQUF3QjtBQUN2Q0MsTUFBQUEsUUFBUSxFQUFFLEtBQUtBLFFBRHdCO0FBRXZDQyxNQUFBQSxlQUFlLEVBQUUsS0FBS0EsZUFGaUI7QUFHdkNDLE1BQUFBLFFBQVEsRUFBRSxLQUFLQSxRQUh3QjtBQUl2Q0MsTUFBQUEsSUFBSSxFQUFFLEtBQUtBLElBSjRCO0FBS3ZDQyxNQUFBQSxJQUFJLEVBQUUsS0FBS0EsSUFMNEI7QUFNdkNDLE1BQUFBLFVBQVUsRUFBRSxLQUFLQSxVQU5zQjtBQU92Q0MsTUFBQUEsWUFBWSxFQUFFLEtBQUtDLGdCQVBvQjtBQVF2Q0MsTUFBQUEsbUJBQW1CLEVBQUUsS0FBS0EsbUJBUmE7QUFTdkNDLE1BQUFBLDBCQUEwQixFQUFFLEtBQUtBLDBCQVRNO0FBVXZDQyxNQUFBQSxlQUFlLEVBQUUsS0FBS0EsZUFWaUI7QUFXdkNDLE1BQUFBLDBCQUEwQixFQUFFLEtBQUtBLDBCQVhNO0FBWXZDaEIsTUFBQUEsSUFBSSxFQUFFLEtBQUtBO0FBWjRCLEtBQXhCLENBQWpCO0FBY0Q7O0FBeEJrRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZW1vdGVEZWJ1Z2dlciBmcm9tICcuL3JlbW90ZS1kZWJ1Z2dlcic7XG5pbXBvcnQgeyBScGNDbGllbnRSZWFsRGV2aWNlIH0gZnJvbSAnLi9ycGMnO1xuXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlbW90ZURlYnVnZ2VyUmVhbERldmljZSBleHRlbmRzIFJlbW90ZURlYnVnZ2VyIHtcbiAgY29uc3RydWN0b3IgKG9wdHMgPSB7fSkge1xuICAgIHN1cGVyKG9wdHMpO1xuXG4gICAgdGhpcy51ZGlkID0gb3B0cy51ZGlkO1xuXG4gICAgdGhpcy5fc2tpcHBlZEFwcHMgPSBbJ2xvY2tkb3duZCddO1xuICB9XG5cbiAgaW5pdFJwY0NsaWVudCAoKSB7XG4gICAgdGhpcy5ycGNDbGllbnQgPSBuZXcgUnBjQ2xpZW50UmVhbERldmljZSh7XG4gICAgICBidW5kbGVJZDogdGhpcy5idW5kbGVJZCxcbiAgICAgIHBsYXRmb3JtVmVyc2lvbjogdGhpcy5wbGF0Zm9ybVZlcnNpb24sXG4gICAgICBpc1NhZmFyaTogdGhpcy5pc1NhZmFyaSxcbiAgICAgIGhvc3Q6IHRoaXMuaG9zdCxcbiAgICAgIHBvcnQ6IHRoaXMucG9ydCxcbiAgICAgIHNvY2tldFBhdGg6IHRoaXMuc29ja2V0UGF0aCxcbiAgICAgIG1lc3NhZ2VQcm94eTogdGhpcy5yZW1vdGVEZWJ1Z1Byb3h5LFxuICAgICAgbG9nQWxsQ29tbXVuaWNhdGlvbjogdGhpcy5sb2dBbGxDb21tdW5pY2F0aW9uLFxuICAgICAgbG9nQWxsQ29tbXVuaWNhdGlvbkhleER1bXA6IHRoaXMubG9nQWxsQ29tbXVuaWNhdGlvbkhleER1bXAsXG4gICAgICBzb2NrZXRDaHVua1NpemU6IHRoaXMuc29ja2V0Q2h1bmtTaXplLFxuICAgICAgd2ViSW5zcGVjdG9yTWF4RnJhbWVMZW5ndGg6IHRoaXMud2ViSW5zcGVjdG9yTWF4RnJhbWVMZW5ndGgsXG4gICAgICB1ZGlkOiB0aGlzLnVkaWRcbiAgICB9KTtcbiAgfVxufVxuIl0sImZpbGUiOiJsaWIvcmVtb3RlLWRlYnVnZ2VyLXJlYWwtZGV2aWNlLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uIn0=
|