testcafe 2.1.1-alpha.2 → 2.2.0-rc.1

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.
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.addErrors = exports.addWarnings = void 0;
7
+ const add_rendered_warning_1 = __importDefault(require("../../notifications/add-rendered-warning"));
8
+ function addWarnings(callsiteSet, message, testRun) {
9
+ callsiteSet.forEach(callsite => {
10
+ (0, add_rendered_warning_1.default)(testRun.warningLog, message, callsite);
11
+ callsiteSet.delete(callsite);
12
+ });
13
+ }
14
+ exports.addWarnings = addWarnings;
15
+ function addErrors(callsiteSet, ErrorClass, errList) {
16
+ callsiteSet.forEach(callsite => {
17
+ errList.addError(new ErrorClass(callsite));
18
+ callsiteSet.delete(callsite);
19
+ });
20
+ }
21
+ exports.addErrors = addErrors;
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3Rlc3QtY29udHJvbGxlci9hZGQtbWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxvR0FBMEU7QUFJMUUsU0FBZ0IsV0FBVyxDQUFFLFdBQXFDLEVBQUUsT0FBZSxFQUFFLE9BQWdCO0lBQ2pHLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDM0IsSUFBQSw4QkFBa0IsRUFBQyxPQUFPLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMxRCxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUxELGtDQUtDO0FBRUQsU0FBZ0IsU0FBUyxDQUFFLFdBQXFDLEVBQUUsVUFBZSxFQUFFLE9BQTBCO0lBQ3pHLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDM0IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzNDLFdBQVcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBTEQsOEJBS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYWRkUmVuZGVyZWRXYXJuaW5nIGZyb20gJy4uLy4uL25vdGlmaWNhdGlvbnMvYWRkLXJlbmRlcmVkLXdhcm5pbmcnO1xuaW1wb3J0IFRlc3RSdW4gZnJvbSAnLi4vLi4vdGVzdC1ydW4nO1xuaW1wb3J0IFRlc3RDYWZlRXJyb3JMaXN0IGZyb20gJy4uLy4uL2Vycm9ycy9lcnJvci1saXN0JztcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFdhcm5pbmdzIChjYWxsc2l0ZVNldDogU2V0PFJlY29yZDxzdHJpbmcsIGFueT4+LCBtZXNzYWdlOiBzdHJpbmcsIHRlc3RSdW46IFRlc3RSdW4pOiB2b2lkIHtcbiAgICBjYWxsc2l0ZVNldC5mb3JFYWNoKGNhbGxzaXRlID0+IHtcbiAgICAgICAgYWRkUmVuZGVyZWRXYXJuaW5nKHRlc3RSdW4ud2FybmluZ0xvZywgbWVzc2FnZSwgY2FsbHNpdGUpO1xuICAgICAgICBjYWxsc2l0ZVNldC5kZWxldGUoY2FsbHNpdGUpO1xuICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkRXJyb3JzIChjYWxsc2l0ZVNldDogU2V0PFJlY29yZDxzdHJpbmcsIGFueT4+LCBFcnJvckNsYXNzOiBhbnksIGVyckxpc3Q6IFRlc3RDYWZlRXJyb3JMaXN0KTogdm9pZCB7XG4gICAgY2FsbHNpdGVTZXQuZm9yRWFjaChjYWxsc2l0ZSA9PiB7XG4gICAgICAgIGVyckxpc3QuYWRkRXJyb3IobmV3IEVycm9yQ2xhc3MoY2FsbHNpdGUpKTtcbiAgICAgICAgY2FsbHNpdGVTZXQuZGVsZXRlKGNhbGxzaXRlKTtcbiAgICB9KTtcbn1cbiJdfQ==
@@ -28,7 +28,7 @@ class Assertion {
28
28
  options = assertionArgs.message;
29
29
  message = void 0;
30
30
  }
31
- return this._testController._enqueueCommand(command, {
31
+ return this._testController.enqueueCommand(command, {
32
32
  assertionType: command.methodName,
33
33
  actual: this._actual,
34
34
  expected: assertionArgs.expected,
@@ -104,4 +104,4 @@ class Assertion {
104
104
  }
105
105
  exports.default = Assertion;
106
106
  module.exports = exports.default;
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS90ZXN0LWNvbnRyb2xsZXIvYXNzZXJ0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaUVBa0IyQztBQUMzQyxvREFBd0U7QUFJeEUsd0RBQTRFO0FBQzVFLG9HQUFrRTtBQUNsRSwwRkFBa0U7QUFTbEUsTUFBcUIsU0FBUztJQUsxQixZQUFvQixNQUFlLEVBQUUsY0FBOEIsRUFBRSxRQUF3QjtRQUN6RixJQUFJLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQztRQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFXLE1BQU0sQ0FBQztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFTLFFBQVEsQ0FBQztJQUNwQyxDQUFDO0lBRU0sSUFBSTtRQUNQLE1BQU0sSUFBSSwwQ0FBK0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLGlCQUFpQixDQUFFLE9BQWdDLEVBQUUsYUFBNEI7UUFDckYsSUFBSSxPQUFPLEdBQUcsYUFBYSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkMsSUFBSSxPQUFPLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUVwQyw2RUFBNkU7UUFDN0UsaUVBQWlFO1FBQ2pFLDRHQUE0RztRQUM1RyxrREFBa0Q7UUFDbEQsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUU7WUFDN0IsT0FBTyxHQUFHLGFBQWEsQ0FBQyxPQUEyQixDQUFDO1lBQ3BELE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQztTQUNwQjtRQUVELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFO1lBQ2pELGFBQWEsRUFBRSxPQUFPLENBQUMsVUFBVTtZQUNqQyxNQUFNLEVBQVMsSUFBSSxDQUFDLE9BQU87WUFDM0IsUUFBUSxFQUFPLGFBQWEsQ0FBQyxRQUFRO1lBQ3JDLFNBQVMsRUFBTSxh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QUFFLElBQXNCO1FBQzlHLDhEQUE4RDtRQUM5RCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQ0FBc0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBRU0sQ0FBQyxxQ0FBeUIsQ0FBQyxVQUFVLENBQUMsQ0FBRSxLQUFhLEVBQUUsTUFBYyxFQUFFLE9BQWUsRUFBRSxJQUFzQjtRQUNqSCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxxQ0FBeUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNwSCxDQUFDO0lBRU0sQ0FBQyxpQ0FBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBRSxRQUFpQixFQUFFLE9BQWUsRUFBRSxJQUFzQjtRQUNqRyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQ0FBcUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRU0sQ0FBQyxvQ0FBd0IsQ0FBQyxVQUFVLENBQUMsQ0FBRSxRQUFpQixFQUFFLE9BQWUsRUFBRSxJQUFzQjtRQUNwRyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxvQ0FBd0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN6RixDQUFDO0NBQ0o7QUF2SEQsNEJBdUhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBc3NlcnRpb25Db21tYW5kLFxuICAgIENvbnRhaW5zQXNzZXJ0aW9uQ29tbWFuZCxcbiAgICBFcWxBc3NlcnRpb25Db21tYW5kLFxuICAgIEd0QXNzZXJ0aW9uQ29tbWFuZCxcbiAgICBHdGVBc3NlcnRpb25Db21tYW5kLFxuICAgIEx0QXNzZXJ0aW9uQ29tbWFuZCxcbiAgICBMdGVBc3NlcnRpb25Db21tYW5kLFxuICAgIE1hdGNoQXNzZXJ0aW9uQ29tbWFuZCxcbiAgICBOb3RDb250YWluc0Fzc2VydGlvbkNvbW1hbmQsXG4gICAgTm90RXFsQXNzZXJ0aW9uQ29tbWFuZCxcbiAgICBOb3RNYXRjaEFzc2VydGlvbkNvbW1hbmQsXG4gICAgTm90T2tBc3NlcnRpb25Db21tYW5kLFxuICAgIE5vdFR5cGVPZkFzc2VydGlvbkNvbW1hbmQsXG4gICAgTm90V2l0aGluQXNzZXJ0aW9uQ29tbWFuZCxcbiAgICBPa0Fzc2VydGlvbkNvbW1hbmQsXG4gICAgVHlwZU9mQXNzZXJ0aW9uQ29tbWFuZCxcbiAgICBXaXRoaW5Bc3NlcnRpb25Db21tYW5kLFxufSBmcm9tICcuLi8uLi90ZXN0LXJ1bi9jb21tYW5kcy9hc3NlcnRpb24nO1xuaW1wb3J0IHsgQXNzZXJ0aW9uV2l0aG91dE1ldGhvZENhbGxFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycy90ZXN0LXJ1bic7XG5pbXBvcnQgVGVzdENvbnRyb2xsZXIgZnJvbSAnLi9pbmRleCc7XG5pbXBvcnQgeyBDYWxsc2l0ZVJlY29yZCB9IGZyb20gJ2NhbGxzaXRlLXJlY29yZCc7XG5pbXBvcnQgeyBBc3NlcnRpb25PcHRpb25zIH0gZnJvbSAnLi4vLi4vdGVzdC1ydW4vY29tbWFuZHMvb3B0aW9ucyc7XG5pbXBvcnQgeyBpc0NsaWVudEZ1bmN0aW9uLCBpc1NlbGVjdG9yIH0gZnJvbSAnLi4vLi4vY2xpZW50LWZ1bmN0aW9ucy90eXBlcyc7XG5pbXBvcnQgYWRkV2FybmluZyBmcm9tICcuLi8uLi9ub3RpZmljYXRpb25zL2FkZC1yZW5kZXJlZC13YXJuaW5nJztcbmltcG9ydCBXQVJOSU5HX01FU1NBR0UgZnJvbSAnLi4vLi4vbm90aWZpY2F0aW9ucy93YXJuaW5nLW1lc3NhZ2UnO1xuXG5pbnRlcmZhY2UgQXNzZXJ0aW9uQXJncyB7XG4gICAgb3B0czogQXNzZXJ0aW9uT3B0aW9ucztcbiAgICBtZXNzYWdlPzogc3RyaW5nIHwgQXNzZXJ0aW9uT3B0aW9ucztcbiAgICBleHBlY3RlZD86IHVua25vd247XG4gICAgZXhwZWN0ZWQyPzogdW5rbm93bjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXNzZXJ0aW9uIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF90ZXN0Q29udHJvbGxlcjogVGVzdENvbnRyb2xsZXI7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfYWN0dWFsOiB1bmtub3duO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NhbGxzaXRlOiBDYWxsc2l0ZVJlY29yZDtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvciAoYWN0dWFsOiB1bmtub3duLCB0ZXN0Q29udHJvbGxlcjogVGVzdENvbnRyb2xsZXIsIGNhbGxzaXRlOiBDYWxsc2l0ZVJlY29yZCkge1xuICAgICAgICB0aGlzLl90ZXN0Q29udHJvbGxlciA9IHRlc3RDb250cm9sbGVyO1xuICAgICAgICB0aGlzLl9hY3R1YWwgICAgICAgICA9IGFjdHVhbDtcbiAgICAgICAgdGhpcy5fY2FsbHNpdGUgICAgICAgPSBjYWxsc2l0ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdGhlbiAoKTogbmV2ZXIge1xuICAgICAgICB0aHJvdyBuZXcgQXNzZXJ0aW9uV2l0aG91dE1ldGhvZENhbGxFcnJvcih0aGlzLl9jYWxsc2l0ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZW5xdWV1ZUFzc2VydGlvbiAoY29tbWFuZDogdHlwZW9mIEFzc2VydGlvbkNvbW1hbmQsIGFzc2VydGlvbkFyZ3M6IEFzc2VydGlvbkFyZ3MpOiAoKSA9PiBQcm9taXNlPHVua25vd24+IHtcbiAgICAgICAgbGV0IG9wdGlvbnMgPSBhc3NlcnRpb25BcmdzLm9wdHMgfHwge307XG4gICAgICAgIGxldCBtZXNzYWdlID0gYXNzZXJ0aW9uQXJncy5tZXNzYWdlO1xuXG4gICAgICAgIC8vIE5PVEU6IEFzc2VydGlvbiBvcHRpb25zIHNob3VsZCBiZSBzcGVjaWZpZWQgYWZ0ZXIgdGhlICdtZXNzYWdlJyBwYXJhbWV0ZXIuXG4gICAgICAgIC8vIGF3YWl0IHQuZXhwZWN0KDQyKS5lcWwoNDMsICd3cm9uZyB2YWx1ZScsIHsgdGltZW91dDogMTAwMDAgfSk7XG4gICAgICAgIC8vIEluIGNhc2Ugb2YgZW1wdHkgYXNzZXJ0aW9uIG1lc3NhZ2Ugd2UgYWxsb3dpbmcgdG8gc3BlY2lmeSBhc3NlcnRpb24gb3B0aW9uIGluIHBsYWNlIG9mIGFzc2VydGlvbiBtZXNzYWdlLlxuICAgICAgICAvLyBhd2FpdCB0LmV4cGVjdCg0MikuZXFsKDQzLCB7IHRpbWVvdXQ6IDEwMDAwIH0pO1xuICAgICAgICBpZiAodHlwZW9mIG1lc3NhZ2UgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICBvcHRpb25zID0gYXNzZXJ0aW9uQXJncy5tZXNzYWdlIGFzIEFzc2VydGlvbk9wdGlvbnM7XG4gICAgICAgICAgICBtZXNzYWdlID0gdm9pZCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX3Rlc3RDb250cm9sbGVyLl9lbnF1ZXVlQ29tbWFuZChjb21tYW5kLCB7XG4gICAgICAgICAgICBhc3NlcnRpb25UeXBlOiBjb21tYW5kLm1ldGhvZE5hbWUsXG4gICAgICAgICAgICBhY3R1YWw6ICAgICAgICB0aGlzLl9hY3R1YWwsXG4gICAgICAgICAgICBleHBlY3RlZDogICAgICBhc3NlcnRpb25BcmdzLmV4cGVjdGVkLFxuICAgICAgICAgICAgZXhwZWN0ZWQyOiAgICAgYXNzZXJ0aW9uQXJncy5leHBlY3RlZDIsXG4gICAgICAgICAgICBtZXNzYWdlOiAgICAgICBtZXNzYWdlLFxuICAgICAgICAgICAgb3B0aW9uczogICAgICAgeyB0aW1lb3V0OiBvcHRpb25zLnRpbWVvdXQsIGFsbG93VW5hd2FpdGVkUHJvbWlzZTogb3B0aW9ucy5hbGxvd1VuYXdhaXRlZFByb21pc2UgfSxcbiAgICAgICAgfSwgdGhpcy5fY2hlY2tGb3JXYXJuaW5ncy5iaW5kKHRoaXMpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jaGVja0Zvcldhcm5pbmdzICh0ZXN0Q29udHJvbGxlcjogVGVzdENvbnRyb2xsZXIsIGFzc2VydGlvbkNvbW1hbmQ6IEFzc2VydGlvbkNvbW1hbmQsIGNhbGxzaXRlOiBDYWxsc2l0ZVJlY29yZCk6IHZvaWQge1xuICAgICAgICB0ZXN0Q29udHJvbGxlci5jaGVja0ZvckV4Y2Vzc2l2ZUF3YWl0cyhjYWxsc2l0ZSwgYXNzZXJ0aW9uQ29tbWFuZCk7XG5cbiAgICAgICAgaWYgKGlzQ2xpZW50RnVuY3Rpb24oYXNzZXJ0aW9uQ29tbWFuZC5hY3R1YWwpKSB7XG4gICAgICAgICAgICBhZGRXYXJuaW5nKHRlc3RDb250cm9sbGVyLndhcm5pbmdMb2csIHtcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiAgV0FSTklOR19NRVNTQUdFLmFzc2VydGVkQ2xpZW50RnVuY3Rpb25JbnN0YW5jZSxcbiAgICAgICAgICAgICAgICBhY3Rpb25JZDogYXNzZXJ0aW9uQ29tbWFuZC5hY3Rpb25JZCxcbiAgICAgICAgICAgIH0sIGNhbGxzaXRlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpc1NlbGVjdG9yKGFzc2VydGlvbkNvbW1hbmQuYWN0dWFsKSkge1xuICAgICAgICAgICAgYWRkV2FybmluZyh0ZXN0Q29udHJvbGxlci53YXJuaW5nTG9nLCB7XG4gICAgICAgICAgICAgICAgbWVzc2FnZTogIFdBUk5JTkdfTUVTU0FHRS5hc3NlcnRlZFNlbGVjdG9ySW5zdGFuY2UsXG4gICAgICAgICAgICAgICAgYWN0aW9uSWQ6IGFzc2VydGlvbkNvbW1hbmQuYWN0aW9uSWQsXG4gICAgICAgICAgICB9LCBjYWxsc2l0ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgW0VxbEFzc2VydGlvbkNvbW1hbmQubWV0aG9kTmFtZV0gKGV4cGVjdGVkOiB1bmtub3duLCBtZXNzYWdlOiBzdHJpbmcsIG9wdHM6IEFzc2VydGlvbk9wdGlvbnMpOiAoKSA9PiBQcm9taXNlPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VucXVldWVBc3NlcnRpb24oRXFsQXNzZXJ0aW9uQ29tbWFuZCwgeyBleHBlY3RlZCwgbWVzc2FnZSwgb3B0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgW05vdEVxbEFzc2VydGlvbkNvbW1hbmQubWV0aG9kTmFtZV0gKGV4cGVjdGVkOiB1bmtub3duLCBtZXNzYWdlOiBzdHJpbmcsIG9wdHM6IEFzc2VydGlvbk9wdGlvbnMpOiAoKSA9PiBQcm9taXNlPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VucXVldWVBc3NlcnRpb24oTm90RXFsQXNzZXJ0aW9uQ29tbWFuZCwgeyBleHBlY3RlZCwgbWVzc2FnZSwgb3B0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgW09rQXNzZXJ0aW9uQ29tbWFuZC5tZXRob2ROYW1lXSAobWVzc2FnZTogc3RyaW5nLCBvcHRzOiBBc3NlcnRpb25PcHRpb25zKTogKCkgPT4gUHJvbWlzZTx1bmtub3duPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbnF1ZXVlQXNzZXJ0aW9uKE9rQXNzZXJ0aW9uQ29tbWFuZCwgeyBtZXNzYWdlLCBvcHRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBbTm90T2tBc3NlcnRpb25Db21tYW5kLm1ldGhvZE5hbWVdIChtZXNzYWdlOiBzdHJpbmcsIG9wdHM6IEFzc2VydGlvbk9wdGlvbnMpOiAoKSA9PiBQcm9taXNlPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VucXVldWVBc3NlcnRpb24oTm90T2tBc3NlcnRpb25Db21tYW5kLCB7IG1lc3NhZ2UsIG9wdHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIFtDb250YWluc0Fzc2VydGlvbkNvbW1hbmQubWV0aG9kTmFtZV0gKGV4cGVjdGVkOiB1bmtub3duLCBtZXNzYWdlOiBzdHJpbmcsIG9wdHM6IEFzc2VydGlvbk9wdGlvbnMpOiAoKSA9PiBQcm9taXNlPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VucXVldWVBc3NlcnRpb24oQ29udGFpbnNBc3NlcnRpb25Db21tYW5kLCB7IGV4cGVjdGVkLCBtZXNzYWdlLCBvcHRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBbTm90Q29udGFpbnNBc3NlcnRpb25Db21tYW5kLm1ldGhvZE5hbWVdIChleHBlY3RlZDogdW5rbm93biwgbWVzc2FnZTogc3RyaW5nLCBvcHRzOiBBc3NlcnRpb25PcHRpb25zKTogKCkgPT4gUHJvbWlzZTx1bmtub3duPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbnF1ZXVlQXNzZXJ0aW9uKE5vdENvbnRhaW5zQXNzZXJ0aW9uQ29tbWFuZCwgeyBleHBlY3RlZCwgbWVzc2FnZSwgb3B0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgW1R5cGVPZkFzc2VydGlvbkNvbW1hbmQubWV0aG9kTmFtZV0gKGV4cGVjdGVkOiB1bmtub3duLCBtZXNzYWdlOiBzdHJpbmcsIG9wdHM6IEFzc2VydGlvbk9wdGlvbnMpOiAoKSA9PiBQcm9taXNlPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VucXVldWVBc3NlcnRpb24oVHlwZU9mQXNzZXJ0aW9uQ29tbWFuZCwgeyBleHBlY3RlZCwgbWVzc2FnZSwgb3B0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgW05vdFR5cGVPZkFzc2VydGlvbkNvbW1hbmQubWV0aG9kTmFtZV0gKGV4cGVjdGVkOiB1bmtub3duLCBtZXNzYWdlOiBzdHJpbmcsIG9wdHM6IEFzc2VydGlvbk9wdGlvbnMpOiAoKSA9PiBQcm9taXNlPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VucXVldWVBc3NlcnRpb24oTm90VHlwZU9mQXNzZXJ0aW9uQ29tbWFuZCwgeyBleHBlY3RlZCwgbWVzc2FnZSwgb3B0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgW0d0QXNzZXJ0aW9uQ29tbWFuZC5tZXRob2ROYW1lXSAoZXhwZWN0ZWQ6IHVua25vd24sIG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihHdEFzc2VydGlvbkNvbW1hbmQsIHsgZXhwZWN0ZWQsIG1lc3NhZ2UsIG9wdHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIFtHdGVBc3NlcnRpb25Db21tYW5kLm1ldGhvZE5hbWVdIChleHBlY3RlZDogdW5rbm93biwgbWVzc2FnZTogc3RyaW5nLCBvcHRzOiBBc3NlcnRpb25PcHRpb25zKTogKCkgPT4gUHJvbWlzZTx1bmtub3duPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbnF1ZXVlQXNzZXJ0aW9uKEd0ZUFzc2VydGlvbkNvbW1hbmQsIHsgZXhwZWN0ZWQsIG1lc3NhZ2UsIG9wdHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIFtMdEFzc2VydGlvbkNvbW1hbmQubWV0aG9kTmFtZV0gKGV4cGVjdGVkOiB1bmtub3duLCBtZXNzYWdlOiBzdHJpbmcsIG9wdHM6IEFzc2VydGlvbk9wdGlvbnMpOiAoKSA9PiBQcm9taXNlPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VucXVldWVBc3NlcnRpb24oTHRBc3NlcnRpb25Db21tYW5kLCB7IGV4cGVjdGVkLCBtZXNzYWdlLCBvcHRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBbTHRlQXNzZXJ0aW9uQ29tbWFuZC5tZXRob2ROYW1lXSAoZXhwZWN0ZWQ6IHVua25vd24sIG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihMdGVBc3NlcnRpb25Db21tYW5kLCB7IGV4cGVjdGVkLCBtZXNzYWdlLCBvcHRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBbV2l0aGluQXNzZXJ0aW9uQ29tbWFuZC5tZXRob2ROYW1lXSAoc3RhcnQ6IG51bWJlciwgZmluaXNoOiBudW1iZXIsIG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICAvLyBOT1RFOiBgd2l0aGluYCBpcyBub3QgYXZhaWxhYmxlIGluIENoYWkgYGFzc2VydGAgaW50ZXJmYWNlLlxuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihXaXRoaW5Bc3NlcnRpb25Db21tYW5kLCB7IGV4cGVjdGVkOiBzdGFydCwgZXhwZWN0ZWQyOiBmaW5pc2gsIG1lc3NhZ2UsIG9wdHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIFtOb3RXaXRoaW5Bc3NlcnRpb25Db21tYW5kLm1ldGhvZE5hbWVdIChzdGFydDogbnVtYmVyLCBmaW5pc2g6IG51bWJlciwgbWVzc2FnZTogc3RyaW5nLCBvcHRzOiBBc3NlcnRpb25PcHRpb25zKTogKCkgPT4gUHJvbWlzZTx1bmtub3duPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbnF1ZXVlQXNzZXJ0aW9uKE5vdFdpdGhpbkFzc2VydGlvbkNvbW1hbmQsIHsgZXhwZWN0ZWQ6IHN0YXJ0LCBleHBlY3RlZDI6IGZpbmlzaCwgbWVzc2FnZSwgb3B0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgW01hdGNoQXNzZXJ0aW9uQ29tbWFuZC5tZXRob2ROYW1lXSAoZXhwZWN0ZWQ6IHVua25vd24sIG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihNYXRjaEFzc2VydGlvbkNvbW1hbmQsIHsgZXhwZWN0ZWQsIG1lc3NhZ2UsIG9wdHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIFtOb3RNYXRjaEFzc2VydGlvbkNvbW1hbmQubWV0aG9kTmFtZV0gKGV4cGVjdGVkOiB1bmtub3duLCBtZXNzYWdlOiBzdHJpbmcsIG9wdHM6IEFzc2VydGlvbk9wdGlvbnMpOiAoKSA9PiBQcm9taXNlPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VucXVldWVBc3NlcnRpb24oTm90TWF0Y2hBc3NlcnRpb25Db21tYW5kLCB7IGV4cGVjdGVkLCBtZXNzYWdlLCBvcHRzIH0pO1xuICAgIH1cbn1cbiJdfQ==
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS90ZXN0LWNvbnRyb2xsZXIvYXNzZXJ0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaUVBa0IyQztBQUMzQyxvREFBd0U7QUFJeEUsd0RBQTRFO0FBQzVFLG9HQUFrRTtBQUNsRSwwRkFBa0U7QUFTbEUsTUFBcUIsU0FBUztJQUsxQixZQUFvQixNQUFlLEVBQUUsY0FBOEIsRUFBRSxRQUF3QjtRQUN6RixJQUFJLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQztRQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFXLE1BQU0sQ0FBQztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFTLFFBQVEsQ0FBQztJQUNwQyxDQUFDO0lBRU0sSUFBSTtRQUNQLE1BQU0sSUFBSSwwQ0FBK0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLGlCQUFpQixDQUFFLE9BQWdDLEVBQUUsYUFBNEI7UUFDckYsSUFBSSxPQUFPLEdBQUcsYUFBYSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkMsSUFBSSxPQUFPLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUVwQyw2RUFBNkU7UUFDN0UsaUVBQWlFO1FBQ2pFLDRHQUE0RztRQUM1RyxrREFBa0Q7UUFDbEQsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUU7WUFDN0IsT0FBTyxHQUFHLGFBQWEsQ0FBQyxPQUEyQixDQUFDO1lBQ3BELE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQztTQUNwQjtRQUVELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFO1lBQ2hELGFBQWEsRUFBRSxPQUFPLENBQUMsVUFBVTtZQUNqQyxNQUFNLEVBQVMsSUFBSSxDQUFDLE9BQU87WUFDM0IsUUFBUSxFQUFPLGFBQWEsQ0FBQyxRQUFRO1lBQ3JDLFNBQVMsRUFBTSxh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QUFFLElBQXNCO1FBQzlHLDhEQUE4RDtRQUM5RCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQ0FBc0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBRU0sQ0FBQyxxQ0FBeUIsQ0FBQyxVQUFVLENBQUMsQ0FBRSxLQUFhLEVBQUUsTUFBYyxFQUFFLE9BQWUsRUFBRSxJQUFzQjtRQUNqSCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxxQ0FBeUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNwSCxDQUFDO0lBRU0sQ0FBQyxpQ0FBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBRSxRQUFpQixFQUFFLE9BQWUsRUFBRSxJQUFzQjtRQUNqRyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQ0FBcUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRU0sQ0FBQyxvQ0FBd0IsQ0FBQyxVQUFVLENBQUMsQ0FBRSxRQUFpQixFQUFFLE9BQWUsRUFBRSxJQUFzQjtRQUNwRyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxvQ0FBd0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN6RixDQUFDO0NBQ0o7QUF2SEQsNEJBdUhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBc3NlcnRpb25Db21tYW5kLFxuICAgIENvbnRhaW5zQXNzZXJ0aW9uQ29tbWFuZCxcbiAgICBFcWxBc3NlcnRpb25Db21tYW5kLFxuICAgIEd0QXNzZXJ0aW9uQ29tbWFuZCxcbiAgICBHdGVBc3NlcnRpb25Db21tYW5kLFxuICAgIEx0QXNzZXJ0aW9uQ29tbWFuZCxcbiAgICBMdGVBc3NlcnRpb25Db21tYW5kLFxuICAgIE1hdGNoQXNzZXJ0aW9uQ29tbWFuZCxcbiAgICBOb3RDb250YWluc0Fzc2VydGlvbkNvbW1hbmQsXG4gICAgTm90RXFsQXNzZXJ0aW9uQ29tbWFuZCxcbiAgICBOb3RNYXRjaEFzc2VydGlvbkNvbW1hbmQsXG4gICAgTm90T2tBc3NlcnRpb25Db21tYW5kLFxuICAgIE5vdFR5cGVPZkFzc2VydGlvbkNvbW1hbmQsXG4gICAgTm90V2l0aGluQXNzZXJ0aW9uQ29tbWFuZCxcbiAgICBPa0Fzc2VydGlvbkNvbW1hbmQsXG4gICAgVHlwZU9mQXNzZXJ0aW9uQ29tbWFuZCxcbiAgICBXaXRoaW5Bc3NlcnRpb25Db21tYW5kLFxufSBmcm9tICcuLi8uLi90ZXN0LXJ1bi9jb21tYW5kcy9hc3NlcnRpb24nO1xuaW1wb3J0IHsgQXNzZXJ0aW9uV2l0aG91dE1ldGhvZENhbGxFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycy90ZXN0LXJ1bic7XG5pbXBvcnQgVGVzdENvbnRyb2xsZXIgZnJvbSAnLi9pbmRleCc7XG5pbXBvcnQgeyBDYWxsc2l0ZVJlY29yZCB9IGZyb20gJ2NhbGxzaXRlLXJlY29yZCc7XG5pbXBvcnQgeyBBc3NlcnRpb25PcHRpb25zIH0gZnJvbSAnLi4vLi4vdGVzdC1ydW4vY29tbWFuZHMvb3B0aW9ucyc7XG5pbXBvcnQgeyBpc0NsaWVudEZ1bmN0aW9uLCBpc1NlbGVjdG9yIH0gZnJvbSAnLi4vLi4vY2xpZW50LWZ1bmN0aW9ucy90eXBlcyc7XG5pbXBvcnQgYWRkV2FybmluZyBmcm9tICcuLi8uLi9ub3RpZmljYXRpb25zL2FkZC1yZW5kZXJlZC13YXJuaW5nJztcbmltcG9ydCBXQVJOSU5HX01FU1NBR0UgZnJvbSAnLi4vLi4vbm90aWZpY2F0aW9ucy93YXJuaW5nLW1lc3NhZ2UnO1xuXG5pbnRlcmZhY2UgQXNzZXJ0aW9uQXJncyB7XG4gICAgb3B0czogQXNzZXJ0aW9uT3B0aW9ucztcbiAgICBtZXNzYWdlPzogc3RyaW5nIHwgQXNzZXJ0aW9uT3B0aW9ucztcbiAgICBleHBlY3RlZD86IHVua25vd247XG4gICAgZXhwZWN0ZWQyPzogdW5rbm93bjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXNzZXJ0aW9uIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF90ZXN0Q29udHJvbGxlcjogVGVzdENvbnRyb2xsZXI7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfYWN0dWFsOiB1bmtub3duO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NhbGxzaXRlOiBDYWxsc2l0ZVJlY29yZDtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvciAoYWN0dWFsOiB1bmtub3duLCB0ZXN0Q29udHJvbGxlcjogVGVzdENvbnRyb2xsZXIsIGNhbGxzaXRlOiBDYWxsc2l0ZVJlY29yZCkge1xuICAgICAgICB0aGlzLl90ZXN0Q29udHJvbGxlciA9IHRlc3RDb250cm9sbGVyO1xuICAgICAgICB0aGlzLl9hY3R1YWwgICAgICAgICA9IGFjdHVhbDtcbiAgICAgICAgdGhpcy5fY2FsbHNpdGUgICAgICAgPSBjYWxsc2l0ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdGhlbiAoKTogbmV2ZXIge1xuICAgICAgICB0aHJvdyBuZXcgQXNzZXJ0aW9uV2l0aG91dE1ldGhvZENhbGxFcnJvcih0aGlzLl9jYWxsc2l0ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZW5xdWV1ZUFzc2VydGlvbiAoY29tbWFuZDogdHlwZW9mIEFzc2VydGlvbkNvbW1hbmQsIGFzc2VydGlvbkFyZ3M6IEFzc2VydGlvbkFyZ3MpOiAoKSA9PiBQcm9taXNlPHVua25vd24+IHtcbiAgICAgICAgbGV0IG9wdGlvbnMgPSBhc3NlcnRpb25BcmdzLm9wdHMgfHwge307XG4gICAgICAgIGxldCBtZXNzYWdlID0gYXNzZXJ0aW9uQXJncy5tZXNzYWdlO1xuXG4gICAgICAgIC8vIE5PVEU6IEFzc2VydGlvbiBvcHRpb25zIHNob3VsZCBiZSBzcGVjaWZpZWQgYWZ0ZXIgdGhlICdtZXNzYWdlJyBwYXJhbWV0ZXIuXG4gICAgICAgIC8vIGF3YWl0IHQuZXhwZWN0KDQyKS5lcWwoNDMsICd3cm9uZyB2YWx1ZScsIHsgdGltZW91dDogMTAwMDAgfSk7XG4gICAgICAgIC8vIEluIGNhc2Ugb2YgZW1wdHkgYXNzZXJ0aW9uIG1lc3NhZ2Ugd2UgYWxsb3dpbmcgdG8gc3BlY2lmeSBhc3NlcnRpb24gb3B0aW9uIGluIHBsYWNlIG9mIGFzc2VydGlvbiBtZXNzYWdlLlxuICAgICAgICAvLyBhd2FpdCB0LmV4cGVjdCg0MikuZXFsKDQzLCB7IHRpbWVvdXQ6IDEwMDAwIH0pO1xuICAgICAgICBpZiAodHlwZW9mIG1lc3NhZ2UgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICBvcHRpb25zID0gYXNzZXJ0aW9uQXJncy5tZXNzYWdlIGFzIEFzc2VydGlvbk9wdGlvbnM7XG4gICAgICAgICAgICBtZXNzYWdlID0gdm9pZCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX3Rlc3RDb250cm9sbGVyLmVucXVldWVDb21tYW5kKGNvbW1hbmQsIHtcbiAgICAgICAgICAgIGFzc2VydGlvblR5cGU6IGNvbW1hbmQubWV0aG9kTmFtZSxcbiAgICAgICAgICAgIGFjdHVhbDogICAgICAgIHRoaXMuX2FjdHVhbCxcbiAgICAgICAgICAgIGV4cGVjdGVkOiAgICAgIGFzc2VydGlvbkFyZ3MuZXhwZWN0ZWQsXG4gICAgICAgICAgICBleHBlY3RlZDI6ICAgICBhc3NlcnRpb25BcmdzLmV4cGVjdGVkMixcbiAgICAgICAgICAgIG1lc3NhZ2U6ICAgICAgIG1lc3NhZ2UsXG4gICAgICAgICAgICBvcHRpb25zOiAgICAgICB7IHRpbWVvdXQ6IG9wdGlvbnMudGltZW91dCwgYWxsb3dVbmF3YWl0ZWRQcm9taXNlOiBvcHRpb25zLmFsbG93VW5hd2FpdGVkUHJvbWlzZSB9LFxuICAgICAgICB9LCB0aGlzLl9jaGVja0Zvcldhcm5pbmdzLmJpbmQodGhpcykpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NoZWNrRm9yV2FybmluZ3MgKHRlc3RDb250cm9sbGVyOiBUZXN0Q29udHJvbGxlciwgYXNzZXJ0aW9uQ29tbWFuZDogQXNzZXJ0aW9uQ29tbWFuZCwgY2FsbHNpdGU6IENhbGxzaXRlUmVjb3JkKTogdm9pZCB7XG4gICAgICAgIHRlc3RDb250cm9sbGVyLmNoZWNrRm9yRXhjZXNzaXZlQXdhaXRzKGNhbGxzaXRlLCBhc3NlcnRpb25Db21tYW5kKTtcblxuICAgICAgICBpZiAoaXNDbGllbnRGdW5jdGlvbihhc3NlcnRpb25Db21tYW5kLmFjdHVhbCkpIHtcbiAgICAgICAgICAgIGFkZFdhcm5pbmcodGVzdENvbnRyb2xsZXIud2FybmluZ0xvZywge1xuICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICBXQVJOSU5HX01FU1NBR0UuYXNzZXJ0ZWRDbGllbnRGdW5jdGlvbkluc3RhbmNlLFxuICAgICAgICAgICAgICAgIGFjdGlvbklkOiBhc3NlcnRpb25Db21tYW5kLmFjdGlvbklkLFxuICAgICAgICAgICAgfSwgY2FsbHNpdGUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzU2VsZWN0b3IoYXNzZXJ0aW9uQ29tbWFuZC5hY3R1YWwpKSB7XG4gICAgICAgICAgICBhZGRXYXJuaW5nKHRlc3RDb250cm9sbGVyLndhcm5pbmdMb2csIHtcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiAgV0FSTklOR19NRVNTQUdFLmFzc2VydGVkU2VsZWN0b3JJbnN0YW5jZSxcbiAgICAgICAgICAgICAgICBhY3Rpb25JZDogYXNzZXJ0aW9uQ29tbWFuZC5hY3Rpb25JZCxcbiAgICAgICAgICAgIH0sIGNhbGxzaXRlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBbRXFsQXNzZXJ0aW9uQ29tbWFuZC5tZXRob2ROYW1lXSAoZXhwZWN0ZWQ6IHVua25vd24sIG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihFcWxBc3NlcnRpb25Db21tYW5kLCB7IGV4cGVjdGVkLCBtZXNzYWdlLCBvcHRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBbTm90RXFsQXNzZXJ0aW9uQ29tbWFuZC5tZXRob2ROYW1lXSAoZXhwZWN0ZWQ6IHVua25vd24sIG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihOb3RFcWxBc3NlcnRpb25Db21tYW5kLCB7IGV4cGVjdGVkLCBtZXNzYWdlLCBvcHRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBbT2tBc3NlcnRpb25Db21tYW5kLm1ldGhvZE5hbWVdIChtZXNzYWdlOiBzdHJpbmcsIG9wdHM6IEFzc2VydGlvbk9wdGlvbnMpOiAoKSA9PiBQcm9taXNlPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VucXVldWVBc3NlcnRpb24oT2tBc3NlcnRpb25Db21tYW5kLCB7IG1lc3NhZ2UsIG9wdHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIFtOb3RPa0Fzc2VydGlvbkNvbW1hbmQubWV0aG9kTmFtZV0gKG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihOb3RPa0Fzc2VydGlvbkNvbW1hbmQsIHsgbWVzc2FnZSwgb3B0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgW0NvbnRhaW5zQXNzZXJ0aW9uQ29tbWFuZC5tZXRob2ROYW1lXSAoZXhwZWN0ZWQ6IHVua25vd24sIG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihDb250YWluc0Fzc2VydGlvbkNvbW1hbmQsIHsgZXhwZWN0ZWQsIG1lc3NhZ2UsIG9wdHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIFtOb3RDb250YWluc0Fzc2VydGlvbkNvbW1hbmQubWV0aG9kTmFtZV0gKGV4cGVjdGVkOiB1bmtub3duLCBtZXNzYWdlOiBzdHJpbmcsIG9wdHM6IEFzc2VydGlvbk9wdGlvbnMpOiAoKSA9PiBQcm9taXNlPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VucXVldWVBc3NlcnRpb24oTm90Q29udGFpbnNBc3NlcnRpb25Db21tYW5kLCB7IGV4cGVjdGVkLCBtZXNzYWdlLCBvcHRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBbVHlwZU9mQXNzZXJ0aW9uQ29tbWFuZC5tZXRob2ROYW1lXSAoZXhwZWN0ZWQ6IHVua25vd24sIG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihUeXBlT2ZBc3NlcnRpb25Db21tYW5kLCB7IGV4cGVjdGVkLCBtZXNzYWdlLCBvcHRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBbTm90VHlwZU9mQXNzZXJ0aW9uQ29tbWFuZC5tZXRob2ROYW1lXSAoZXhwZWN0ZWQ6IHVua25vd24sIG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihOb3RUeXBlT2ZBc3NlcnRpb25Db21tYW5kLCB7IGV4cGVjdGVkLCBtZXNzYWdlLCBvcHRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBbR3RBc3NlcnRpb25Db21tYW5kLm1ldGhvZE5hbWVdIChleHBlY3RlZDogdW5rbm93biwgbWVzc2FnZTogc3RyaW5nLCBvcHRzOiBBc3NlcnRpb25PcHRpb25zKTogKCkgPT4gUHJvbWlzZTx1bmtub3duPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbnF1ZXVlQXNzZXJ0aW9uKEd0QXNzZXJ0aW9uQ29tbWFuZCwgeyBleHBlY3RlZCwgbWVzc2FnZSwgb3B0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgW0d0ZUFzc2VydGlvbkNvbW1hbmQubWV0aG9kTmFtZV0gKGV4cGVjdGVkOiB1bmtub3duLCBtZXNzYWdlOiBzdHJpbmcsIG9wdHM6IEFzc2VydGlvbk9wdGlvbnMpOiAoKSA9PiBQcm9taXNlPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VucXVldWVBc3NlcnRpb24oR3RlQXNzZXJ0aW9uQ29tbWFuZCwgeyBleHBlY3RlZCwgbWVzc2FnZSwgb3B0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgW0x0QXNzZXJ0aW9uQ29tbWFuZC5tZXRob2ROYW1lXSAoZXhwZWN0ZWQ6IHVua25vd24sIG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihMdEFzc2VydGlvbkNvbW1hbmQsIHsgZXhwZWN0ZWQsIG1lc3NhZ2UsIG9wdHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIFtMdGVBc3NlcnRpb25Db21tYW5kLm1ldGhvZE5hbWVdIChleHBlY3RlZDogdW5rbm93biwgbWVzc2FnZTogc3RyaW5nLCBvcHRzOiBBc3NlcnRpb25PcHRpb25zKTogKCkgPT4gUHJvbWlzZTx1bmtub3duPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbnF1ZXVlQXNzZXJ0aW9uKEx0ZUFzc2VydGlvbkNvbW1hbmQsIHsgZXhwZWN0ZWQsIG1lc3NhZ2UsIG9wdHMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIFtXaXRoaW5Bc3NlcnRpb25Db21tYW5kLm1ldGhvZE5hbWVdIChzdGFydDogbnVtYmVyLCBmaW5pc2g6IG51bWJlciwgbWVzc2FnZTogc3RyaW5nLCBvcHRzOiBBc3NlcnRpb25PcHRpb25zKTogKCkgPT4gUHJvbWlzZTx1bmtub3duPiB7XG4gICAgICAgIC8vIE5PVEU6IGB3aXRoaW5gIGlzIG5vdCBhdmFpbGFibGUgaW4gQ2hhaSBgYXNzZXJ0YCBpbnRlcmZhY2UuXG4gICAgICAgIHJldHVybiB0aGlzLl9lbnF1ZXVlQXNzZXJ0aW9uKFdpdGhpbkFzc2VydGlvbkNvbW1hbmQsIHsgZXhwZWN0ZWQ6IHN0YXJ0LCBleHBlY3RlZDI6IGZpbmlzaCwgbWVzc2FnZSwgb3B0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgW05vdFdpdGhpbkFzc2VydGlvbkNvbW1hbmQubWV0aG9kTmFtZV0gKHN0YXJ0OiBudW1iZXIsIGZpbmlzaDogbnVtYmVyLCBtZXNzYWdlOiBzdHJpbmcsIG9wdHM6IEFzc2VydGlvbk9wdGlvbnMpOiAoKSA9PiBQcm9taXNlPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VucXVldWVBc3NlcnRpb24oTm90V2l0aGluQXNzZXJ0aW9uQ29tbWFuZCwgeyBleHBlY3RlZDogc3RhcnQsIGV4cGVjdGVkMjogZmluaXNoLCBtZXNzYWdlLCBvcHRzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBbTWF0Y2hBc3NlcnRpb25Db21tYW5kLm1ldGhvZE5hbWVdIChleHBlY3RlZDogdW5rbm93biwgbWVzc2FnZTogc3RyaW5nLCBvcHRzOiBBc3NlcnRpb25PcHRpb25zKTogKCkgPT4gUHJvbWlzZTx1bmtub3duPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbnF1ZXVlQXNzZXJ0aW9uKE1hdGNoQXNzZXJ0aW9uQ29tbWFuZCwgeyBleHBlY3RlZCwgbWVzc2FnZSwgb3B0cyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgW05vdE1hdGNoQXNzZXJ0aW9uQ29tbWFuZC5tZXRob2ROYW1lXSAoZXhwZWN0ZWQ6IHVua25vd24sIG1lc3NhZ2U6IHN0cmluZywgb3B0czogQXNzZXJ0aW9uT3B0aW9ucyk6ICgpID0+IFByb21pc2U8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5xdWV1ZUFzc2VydGlvbihOb3RNYXRjaEFzc2VydGlvbkNvbW1hbmQsIHsgZXhwZWN0ZWQsIG1lc3NhZ2UsIG9wdHMgfSk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const get_callsite_1 = require("../../errors/get-callsite");
7
+ const actions_1 = require("../../test-run/commands/actions");
8
+ const delegated_api_1 = require("../../utils/delegated-api");
9
+ const delegated_api_2 = __importDefault(require("./delegated-api"));
10
+ class CustomActions {
11
+ constructor(testController, customActions) {
12
+ this._testController = testController;
13
+ this._customActions = customActions || {};
14
+ this._registerCustomActions();
15
+ }
16
+ _registerCustomActions() {
17
+ Object.entries(this._customActions).forEach(([name, fn]) => {
18
+ // @ts-ignore
19
+ this[(0, delegated_api_2.default)(name)] = (...args) => {
20
+ const callsite = (0, get_callsite_1.getCallsiteForMethod)(name) || void 0;
21
+ return this._testController.enqueueCommand(actions_1.RunCustomActionCommand, { fn, args, name }, this._validateCommand, callsite);
22
+ };
23
+ });
24
+ this._delegateAPI(this._customActions);
25
+ }
26
+ _validateCommand() {
27
+ return true;
28
+ }
29
+ _delegateAPI(actions) {
30
+ const customActionsList = Object.entries(actions).map(([name]) => {
31
+ return {
32
+ srcProp: (0, delegated_api_2.default)(name),
33
+ apiProp: name,
34
+ accessor: '',
35
+ };
36
+ });
37
+ (0, delegated_api_1.delegateAPI)(this, customActionsList, { useCurrentCtxAsHandler: true });
38
+ }
39
+ }
40
+ exports.default = CustomActions;
41
+ module.exports = exports.default;
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3Rlc3QtY29udHJvbGxlci9jdXN0b20tYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDREQUFpRTtBQUNqRSw2REFBeUU7QUFDekUsNkRBQXdEO0FBR3hELG9FQUEyQztBQUUzQyxNQUFxQixhQUFhO0lBSTlCLFlBQWEsY0FBOEIsRUFBRSxhQUFtQztRQUM1RSxJQUFJLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQztRQUN0QyxJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsSUFBSSxFQUFFLENBQUM7UUFFMUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELHNCQUFzQjtRQUNsQixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFFLElBQUksRUFBRSxFQUFFLENBQUUsRUFBRSxFQUFFO1lBQ3pELGFBQWE7WUFDYixJQUFJLENBQUMsSUFBQSx1QkFBWSxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFO2dCQUNuQyxNQUFNLFFBQVEsR0FBRyxJQUFBLG1DQUFvQixFQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDO2dCQUV0RCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLGdDQUFzQixFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDNUgsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELFlBQVksQ0FBRSxPQUE2QjtRQUN2QyxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQzdELE9BQU87Z0JBQ0gsT0FBTyxFQUFHLElBQUEsdUJBQVksRUFBQyxJQUFJLENBQUM7Z0JBQzVCLE9BQU8sRUFBRyxJQUFJO2dCQUNkLFFBQVEsRUFBRSxFQUFFO2FBQ2YsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBQSwyQkFBVyxFQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRSxFQUFFLHNCQUFzQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0UsQ0FBQztDQUNKO0FBdkNELGdDQXVDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldENhbGxzaXRlRm9yTWV0aG9kIH0gZnJvbSAnLi4vLi4vZXJyb3JzL2dldC1jYWxsc2l0ZSc7XG5pbXBvcnQgeyBSdW5DdXN0b21BY3Rpb25Db21tYW5kIH0gZnJvbSAnLi4vLi4vdGVzdC1ydW4vY29tbWFuZHMvYWN0aW9ucyc7XG5pbXBvcnQgeyBkZWxlZ2F0ZUFQSSB9IGZyb20gJy4uLy4uL3V0aWxzL2RlbGVnYXRlZC1hcGknO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb24vaW50ZXJmYWNlcyc7XG5pbXBvcnQgVGVzdENvbnRyb2xsZXIgZnJvbSAnLi9pbmRleCc7XG5pbXBvcnQgZGVsZWdhdGVkQVBJIGZyb20gJy4vZGVsZWdhdGVkLWFwaSc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEN1c3RvbUFjdGlvbnMge1xuICAgIHByaXZhdGUgX3Rlc3RDb250cm9sbGVyOiBUZXN0Q29udHJvbGxlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jdXN0b21BY3Rpb25zOiBEaWN0aW9uYXJ5PEZ1bmN0aW9uPjtcblxuICAgIGNvbnN0cnVjdG9yICh0ZXN0Q29udHJvbGxlcjogVGVzdENvbnRyb2xsZXIsIGN1c3RvbUFjdGlvbnM6IERpY3Rpb25hcnk8RnVuY3Rpb24+KSB7XG4gICAgICAgIHRoaXMuX3Rlc3RDb250cm9sbGVyID0gdGVzdENvbnRyb2xsZXI7XG4gICAgICAgIHRoaXMuX2N1c3RvbUFjdGlvbnMgPSBjdXN0b21BY3Rpb25zIHx8IHt9O1xuXG4gICAgICAgIHRoaXMuX3JlZ2lzdGVyQ3VzdG9tQWN0aW9ucygpO1xuICAgIH1cblxuICAgIF9yZWdpc3RlckN1c3RvbUFjdGlvbnMgKCk6IHZvaWQge1xuICAgICAgICBPYmplY3QuZW50cmllcyh0aGlzLl9jdXN0b21BY3Rpb25zKS5mb3JFYWNoKChbIG5hbWUsIGZuIF0pID0+IHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIHRoaXNbZGVsZWdhdGVkQVBJKG5hbWUpXSA9ICguLi5hcmdzKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2FsbHNpdGUgPSBnZXRDYWxsc2l0ZUZvck1ldGhvZChuYW1lKSB8fCB2b2lkIDA7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fdGVzdENvbnRyb2xsZXIuZW5xdWV1ZUNvbW1hbmQoUnVuQ3VzdG9tQWN0aW9uQ29tbWFuZCwgeyBmbiwgYXJncywgbmFtZSB9LCB0aGlzLl92YWxpZGF0ZUNvbW1hbmQsIGNhbGxzaXRlKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX2RlbGVnYXRlQVBJKHRoaXMuX2N1c3RvbUFjdGlvbnMpO1xuICAgIH1cblxuICAgIF92YWxpZGF0ZUNvbW1hbmQgKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBfZGVsZWdhdGVBUEkgKGFjdGlvbnM6IERpY3Rpb25hcnk8RnVuY3Rpb24+KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGN1c3RvbUFjdGlvbnNMaXN0ID0gT2JqZWN0LmVudHJpZXMoYWN0aW9ucykubWFwKChbbmFtZV0pID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgc3JjUHJvcDogIGRlbGVnYXRlZEFQSShuYW1lKSxcbiAgICAgICAgICAgICAgICBhcGlQcm9wOiAgbmFtZSxcbiAgICAgICAgICAgICAgICBhY2Nlc3NvcjogJycsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcblxuICAgICAgICBkZWxlZ2F0ZUFQSSh0aGlzLCBjdXN0b21BY3Rpb25zTGlzdCwgeyB1c2VDdXJyZW50Q3R4QXNIYW5kbGVyOiB0cnVlIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function delegatedAPI(methodName, accessor = '') {
4
+ return `_${methodName}$${accessor}`;
5
+ }
6
+ exports.default = delegatedAPI;
7
+ module.exports = exports.default;
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGVkLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvdGVzdC1jb250cm9sbGVyL2RlbGVnYXRlZC1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxTQUF3QixZQUFZLENBQUUsVUFBa0IsRUFBRSxRQUFRLEdBQUcsRUFBRTtJQUNuRSxPQUFPLElBQUssVUFBVyxJQUFLLFFBQVMsRUFBRSxDQUFDO0FBQzVDLENBQUM7QUFGRCwrQkFFQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGRlbGVnYXRlZEFQSSAobWV0aG9kTmFtZTogc3RyaW5nLCBhY2Nlc3NvciA9ICcnKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYF8keyBtZXRob2ROYW1lIH0kJHsgYWNjZXNzb3IgfWA7XG59XG4iXX0=