aws-cdk 2.34.2 → 2.35.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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "aws-cdk",
3
3
  "description": "CDK Toolkit, the command line tool for CDK apps",
4
- "version": "2.34.2",
4
+ "version": "2.35.0",
5
5
  "bin": {
6
6
  "cdk": "bin/cdk"
7
7
  },
@@ -59,7 +59,7 @@
59
59
  },
60
60
  "license": "Apache-2.0",
61
61
  "devDependencies": {
62
- "@aws-cdk/core": "2.34.2",
62
+ "@aws-cdk/core": "2.35.0",
63
63
  "@octokit/rest": "^18.12.0",
64
64
  "@types/archiver": "^5.3.1",
65
65
  "@types/fs-extra": "^8.1.2",
@@ -67,7 +67,7 @@
67
67
  "@types/jest": "^27.5.2",
68
68
  "@types/minimatch": "^3.0.5",
69
69
  "@types/mockery": "^1.4.30",
70
- "@types/node": "^10.17.60",
70
+ "@types/node": "^14.18.23",
71
71
  "@types/promptly": "^3.0.2",
72
72
  "@types/semver": "^7.3.10",
73
73
  "@types/sinon": "^9.0.11",
@@ -76,28 +76,28 @@
76
76
  "@types/wrap-ansi": "^3.0.0",
77
77
  "@types/yargs": "^15.0.14",
78
78
  "aws-sdk-mock": "5.6.0",
79
- "@aws-cdk/cdk-build-tools": "2.34.2",
79
+ "@aws-cdk/cdk-build-tools": "2.35.0",
80
80
  "jest": "^27.5.1",
81
81
  "madge": "^5.0.1",
82
82
  "constructs": "^10.0.0",
83
83
  "make-runnable": "^1.3.10",
84
84
  "mockery": "^2.1.0",
85
85
  "nock": "^13.2.9",
86
- "@aws-cdk/pkglint": "2.34.2",
86
+ "@aws-cdk/pkglint": "2.35.0",
87
87
  "sinon": "^9.2.4",
88
88
  "ts-jest": "^27.1.5",
89
89
  "ts-mock-imports": "^1.3.8",
90
90
  "xml-js": "^1.6.11",
91
91
  "axios": "^0.27.2",
92
- "@aws-cdk/cloud-assembly-schema": "2.34.2",
93
- "@aws-cdk/cloudformation-diff": "2.34.2",
94
- "@aws-cdk/cx-api": "2.34.2",
95
- "@aws-cdk/region-info": "2.34.2",
96
- "@jsii/check-node": "1.63.0",
92
+ "@aws-cdk/cloud-assembly-schema": "2.35.0",
93
+ "@aws-cdk/cloudformation-diff": "2.35.0",
94
+ "@aws-cdk/cx-api": "2.35.0",
95
+ "@aws-cdk/region-info": "2.35.0",
96
+ "@jsii/check-node": "1.63.2",
97
97
  "archiver": "^5.3.1",
98
98
  "aws-sdk": "^2.1093.0",
99
99
  "camelcase": "^6.3.0",
100
- "cdk-assets": "2.34.2",
100
+ "cdk-assets": "2.35.0",
101
101
  "chokidar": "^3.5.3",
102
102
  "chalk": "^4",
103
103
  "decamelize": "^5.0.1",
@@ -51,4 +51,4 @@ describe('Rewritable Block Tests', () => {
51
51
  expect(JSON.stringify(output)).toEqual(JSON.stringify([`\u001b[${expectedEmptyLines}A`]));
52
52
  });
53
53
  });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZGlzcGxheS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMkRBQWdFO0FBQ2hFLDBEQUE2QztBQUc3QyxRQUFRLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxFQUFFO0lBQ3RDLElBQUksS0FBc0IsQ0FBQztJQUMzQixVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ2QsS0FBSyxHQUFHLElBQUkseUJBQWUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQzNCLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLG1GQUFtRixFQUFFLEdBQUcsRUFBRTtRQUM3RixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sTUFBTSxHQUFHLHlCQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUNyQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU8sQ0FBQyxDQUFDO0lBQy9DLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLDJGQUEyRixFQUFFLEdBQUcsRUFBRTtRQUNyRyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sTUFBTSxHQUFHLHlCQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUNyQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsOEVBQThFLEVBQUUsR0FBRyxFQUFFO1FBQ3hGLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDdkUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO1FBQ2hDLE1BQU0sTUFBTSxHQUFHLHlCQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUNyQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMseUNBQXlDLEVBQUUsR0FBRyxFQUFFO1FBQ25ELE1BQU0sTUFBTSxHQUFHLHlCQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUNyQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCO0lBQ3pELENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLDhDQUE4QyxFQUFFLEdBQUcsRUFBRTtRQUN4RCx5QkFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFDdEIsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQyxDQUFDO1FBQ0gseUJBQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFO1lBQ3RCLHVCQUF1QjtZQUN2QixLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkUsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLE1BQU0sR0FBRyx5QkFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFDckMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQztRQUM3QixNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxrQkFBa0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVGLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXdyaXRhYmxlQmxvY2sgfSBmcm9tICcuLi8uLi8uLi9saWIvYXBpL3V0aWwvZGlzcGxheSc7XG5pbXBvcnQgeyBzdGRlcnIgfSBmcm9tICcuLi9jb25zb2xlLWxpc3RlbmVyJztcblxuXG5kZXNjcmliZSgnUmV3cml0YWJsZSBCbG9jayBUZXN0cycsICgpID0+IHtcbiAgbGV0IGJsb2NrOiBSZXdyaXRhYmxlQmxvY2s7XG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGJsb2NrID0gbmV3IFJld3JpdGFibGVCbG9jayhwcm9jZXNzLnN0ZGVycik7XG4gICAgcHJvY2Vzcy5zdGRlcnIucm93cyA9IDgwO1xuICB9KTtcblxuICB0ZXN0KCdkaXNwbGF5TGluZXMgd3JpdGVzIG1heGltdW0gbGluZXMgYmFzZWQgb24gcm93cyBpZiB0aGVyZSBhcmUgbW9yZSBsaW5lcyB0aGFuIHJvd3MnLCAoKSA9PiB7XG4gICAgY29uc3QgbGluZXMgPSBBcnJheS5mcm9tKEFycmF5KDEwMCkua2V5cygpKS5tYXAobGluZSA9PiBsaW5lLnRvU3RyaW5nKCkpO1xuICAgIGNvbnN0IG91dHB1dCA9IHN0ZGVyci5pbnNwZWN0U3luYygoKSA9PiB7XG4gICAgICBibG9jay5kaXNwbGF5TGluZXMobGluZXMpO1xuICAgIH0pO1xuXG4gICAgZXhwZWN0KG91dHB1dC5sZW5ndGgpLnRvRXF1YWwoYmxvY2suaGVpZ2h0ISk7XG4gIH0pO1xuXG4gIHRlc3QoJ2Rpc3BsYXlMaW5lcyB3cml0ZXMgbWF4aW11bSBsaW5lcyBiYXNlZCBvbiBsaW5lcyBsZW5ndGggaWYgdGhlcmUgYXJlIGxlc3MgbGluZXMgdGhhbiByb3dzJywgKCkgPT4ge1xuICAgIGNvbnN0IGxpbmVzID0gQXJyYXkuZnJvbShBcnJheSg0NSkua2V5cygpKS5tYXAobGluZSA9PiBsaW5lLnRvU3RyaW5nKCkpO1xuICAgIGNvbnN0IG91dHB1dCA9IHN0ZGVyci5pbnNwZWN0U3luYygoKSA9PiB7XG4gICAgICBibG9jay5kaXNwbGF5TGluZXMobGluZXMpO1xuICAgIH0pO1xuXG4gICAgZXhwZWN0KG91dHB1dC5sZW5ndGgpLnRvRXF1YWwoNDYpO1xuICB9KTtcblxuICB0ZXN0KCdkaXNwbGF5TGluZXMgd3JpdGVzIG1heGltdW0gbGluZXMgYmFzZWQgb24gbGluZXMgbGVuZ3RoIGlmIHJvd3MgaXMgdW5kZWZpbmVkJywgKCkgPT4ge1xuICAgIGNvbnN0IGxpbmVzID0gQXJyYXkuZnJvbShBcnJheSg1KS5rZXlzKCkpLm1hcChsaW5lID0+IGxpbmUudG9TdHJpbmcoKSk7XG4gICAgcHJvY2Vzcy5zdGRlcnIucm93cyA9IHVuZGVmaW5lZDtcbiAgICBjb25zdCBvdXRwdXQgPSBzdGRlcnIuaW5zcGVjdFN5bmMoKCkgPT4ge1xuICAgICAgYmxvY2suZGlzcGxheUxpbmVzKGxpbmVzKTtcbiAgICB9KTtcblxuICAgIGV4cGVjdChvdXRwdXQubGVuZ3RoKS50b0VxdWFsKDYpO1xuICB9KTtcblxuICB0ZXN0KCdkaXNwbGF5IGFjY291bnRzIGZvciBuZXdsaW5lcyBpbiBvdXRwdXQnLCAoKSA9PiB7XG4gICAgY29uc3Qgb3V0cHV0ID0gc3RkZXJyLmluc3BlY3RTeW5jKCgpID0+IHtcbiAgICAgIGJsb2NrLmRpc3BsYXlMaW5lcyhbJ2JlZm9yZVxcbmFmdGVyJ10pO1xuICAgIH0pO1xuICAgIGV4cGVjdChvdXRwdXQubGVuZ3RoKS50b0VxdWFsKDMpOyAvLyBjdXJzb3J1cCArIDIgbGluZXNcbiAgfSk7XG5cbiAgdGVzdCgncmVtb3ZlRW1wdHlMaW5lcyBvbmx5IHJlbW92ZXMgdHJhaWxpbmcgbGluZXMnLCAoKSA9PiB7XG4gICAgc3RkZXJyLmluc3BlY3RTeW5jKCgpID0+IHtcbiAgICAgIGJsb2NrLmRpc3BsYXlMaW5lcyhBcnJheS5mcm9tKEFycmF5KDUpLmtleXMoKSkubWFwKHggPT4gYCR7eH1gKSk7XG4gICAgfSk7XG4gICAgc3RkZXJyLmluc3BlY3RTeW5jKCgpID0+IHtcbiAgICAgIC8vIExlYXZlcyAzIGVtcHR5IGxpbmVzXG4gICAgICBibG9jay5kaXNwbGF5TGluZXMoQXJyYXkuZnJvbShBcnJheSgyKS5rZXlzKCkpLm1hcCh4ID0+IGAke3h9YCkpO1xuICAgIH0pO1xuXG4gICAgY29uc3Qgb3V0cHV0ID0gc3RkZXJyLmluc3BlY3RTeW5jKCgpID0+IHtcbiAgICAgIGJsb2NrLnJlbW92ZUVtcHR5TGluZXMoKTtcbiAgICB9KTtcbiAgICBjb25zdCBleHBlY3RlZEVtcHR5TGluZXMgPSAzO1xuICAgIGV4cGVjdChKU09OLnN0cmluZ2lmeShvdXRwdXQpKS50b0VxdWFsKEpTT04uc3RyaW5naWZ5KFtgXFx1MDAxYlske2V4cGVjdGVkRW1wdHlMaW5lc31BYF0pKTtcbiAgfSk7XG59KTsiXX0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZGlzcGxheS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMkRBQWdFO0FBQ2hFLDBEQUE2QztBQUc3QyxRQUFRLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxFQUFFO0lBQ3RDLElBQUksS0FBc0IsQ0FBQztJQUMzQixVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ2QsS0FBSyxHQUFHLElBQUkseUJBQWUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQzNCLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLG1GQUFtRixFQUFFLEdBQUcsRUFBRTtRQUM3RixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sTUFBTSxHQUFHLHlCQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUNyQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU8sQ0FBQyxDQUFDO0lBQy9DLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLDJGQUEyRixFQUFFLEdBQUcsRUFBRTtRQUNyRyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sTUFBTSxHQUFHLHlCQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUNyQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsOEVBQThFLEVBQUUsR0FBRyxFQUFFO1FBQ3hGLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDdkUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsU0FBZ0IsQ0FBQztRQUN2QyxNQUFNLE1BQU0sR0FBRyx5QkFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFDckMsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLHlDQUF5QyxFQUFFLEdBQUcsRUFBRTtRQUNuRCxNQUFNLE1BQU0sR0FBRyx5QkFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFDckMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQjtJQUN6RCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyw4Q0FBOEMsRUFBRSxHQUFHLEVBQUU7UUFDeEQseUJBQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFO1lBQ3RCLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNuRSxDQUFDLENBQUMsQ0FBQztRQUNILHlCQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUN0Qix1QkFBdUI7WUFDdkIsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxNQUFNLEdBQUcseUJBQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFO1lBQ3JDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLENBQUM7UUFDN0IsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQVUsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmV3cml0YWJsZUJsb2NrIH0gZnJvbSAnLi4vLi4vLi4vbGliL2FwaS91dGlsL2Rpc3BsYXknO1xuaW1wb3J0IHsgc3RkZXJyIH0gZnJvbSAnLi4vY29uc29sZS1saXN0ZW5lcic7XG5cblxuZGVzY3JpYmUoJ1Jld3JpdGFibGUgQmxvY2sgVGVzdHMnLCAoKSA9PiB7XG4gIGxldCBibG9jazogUmV3cml0YWJsZUJsb2NrO1xuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBibG9jayA9IG5ldyBSZXdyaXRhYmxlQmxvY2socHJvY2Vzcy5zdGRlcnIpO1xuICAgIHByb2Nlc3Muc3RkZXJyLnJvd3MgPSA4MDtcbiAgfSk7XG5cbiAgdGVzdCgnZGlzcGxheUxpbmVzIHdyaXRlcyBtYXhpbXVtIGxpbmVzIGJhc2VkIG9uIHJvd3MgaWYgdGhlcmUgYXJlIG1vcmUgbGluZXMgdGhhbiByb3dzJywgKCkgPT4ge1xuICAgIGNvbnN0IGxpbmVzID0gQXJyYXkuZnJvbShBcnJheSgxMDApLmtleXMoKSkubWFwKGxpbmUgPT4gbGluZS50b1N0cmluZygpKTtcbiAgICBjb25zdCBvdXRwdXQgPSBzdGRlcnIuaW5zcGVjdFN5bmMoKCkgPT4ge1xuICAgICAgYmxvY2suZGlzcGxheUxpbmVzKGxpbmVzKTtcbiAgICB9KTtcblxuICAgIGV4cGVjdChvdXRwdXQubGVuZ3RoKS50b0VxdWFsKGJsb2NrLmhlaWdodCEpO1xuICB9KTtcblxuICB0ZXN0KCdkaXNwbGF5TGluZXMgd3JpdGVzIG1heGltdW0gbGluZXMgYmFzZWQgb24gbGluZXMgbGVuZ3RoIGlmIHRoZXJlIGFyZSBsZXNzIGxpbmVzIHRoYW4gcm93cycsICgpID0+IHtcbiAgICBjb25zdCBsaW5lcyA9IEFycmF5LmZyb20oQXJyYXkoNDUpLmtleXMoKSkubWFwKGxpbmUgPT4gbGluZS50b1N0cmluZygpKTtcbiAgICBjb25zdCBvdXRwdXQgPSBzdGRlcnIuaW5zcGVjdFN5bmMoKCkgPT4ge1xuICAgICAgYmxvY2suZGlzcGxheUxpbmVzKGxpbmVzKTtcbiAgICB9KTtcblxuICAgIGV4cGVjdChvdXRwdXQubGVuZ3RoKS50b0VxdWFsKDQ2KTtcbiAgfSk7XG5cbiAgdGVzdCgnZGlzcGxheUxpbmVzIHdyaXRlcyBtYXhpbXVtIGxpbmVzIGJhc2VkIG9uIGxpbmVzIGxlbmd0aCBpZiByb3dzIGlzIHVuZGVmaW5lZCcsICgpID0+IHtcbiAgICBjb25zdCBsaW5lcyA9IEFycmF5LmZyb20oQXJyYXkoNSkua2V5cygpKS5tYXAobGluZSA9PiBsaW5lLnRvU3RyaW5nKCkpO1xuICAgIHByb2Nlc3Muc3RkZXJyLnJvd3MgPSB1bmRlZmluZWQgYXMgYW55O1xuICAgIGNvbnN0IG91dHB1dCA9IHN0ZGVyci5pbnNwZWN0U3luYygoKSA9PiB7XG4gICAgICBibG9jay5kaXNwbGF5TGluZXMobGluZXMpO1xuICAgIH0pO1xuXG4gICAgZXhwZWN0KG91dHB1dC5sZW5ndGgpLnRvRXF1YWwoNik7XG4gIH0pO1xuXG4gIHRlc3QoJ2Rpc3BsYXkgYWNjb3VudHMgZm9yIG5ld2xpbmVzIGluIG91dHB1dCcsICgpID0+IHtcbiAgICBjb25zdCBvdXRwdXQgPSBzdGRlcnIuaW5zcGVjdFN5bmMoKCkgPT4ge1xuICAgICAgYmxvY2suZGlzcGxheUxpbmVzKFsnYmVmb3JlXFxuYWZ0ZXInXSk7XG4gICAgfSk7XG4gICAgZXhwZWN0KG91dHB1dC5sZW5ndGgpLnRvRXF1YWwoMyk7IC8vIGN1cnNvcnVwICsgMiBsaW5lc1xuICB9KTtcblxuICB0ZXN0KCdyZW1vdmVFbXB0eUxpbmVzIG9ubHkgcmVtb3ZlcyB0cmFpbGluZyBsaW5lcycsICgpID0+IHtcbiAgICBzdGRlcnIuaW5zcGVjdFN5bmMoKCkgPT4ge1xuICAgICAgYmxvY2suZGlzcGxheUxpbmVzKEFycmF5LmZyb20oQXJyYXkoNSkua2V5cygpKS5tYXAoeCA9PiBgJHt4fWApKTtcbiAgICB9KTtcbiAgICBzdGRlcnIuaW5zcGVjdFN5bmMoKCkgPT4ge1xuICAgICAgLy8gTGVhdmVzIDMgZW1wdHkgbGluZXNcbiAgICAgIGJsb2NrLmRpc3BsYXlMaW5lcyhBcnJheS5mcm9tKEFycmF5KDIpLmtleXMoKSkubWFwKHggPT4gYCR7eH1gKSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBvdXRwdXQgPSBzdGRlcnIuaW5zcGVjdFN5bmMoKCkgPT4ge1xuICAgICAgYmxvY2sucmVtb3ZlRW1wdHlMaW5lcygpO1xuICAgIH0pO1xuICAgIGNvbnN0IGV4cGVjdGVkRW1wdHlMaW5lcyA9IDM7XG4gICAgZXhwZWN0KEpTT04uc3RyaW5naWZ5KG91dHB1dCkpLnRvRXF1YWwoSlNPTi5zdHJpbmdpZnkoW2BcXHUwMDFiWyR7ZXhwZWN0ZWRFbXB0eUxpbmVzfUFgXSkpO1xuICB9KTtcbn0pO1xuIl19
package/test/diff.test.js CHANGED
@@ -211,18 +211,19 @@ describe('nested stacks', () => {
211
211
  stream: buffer,
212
212
  });
213
213
  // THEN
214
- const plainTextOutput = buffer.data.replace(/\x1B\[[0-?]*[ -/]*[@-~]/g, '');
214
+ const plainTextOutput = buffer.data.replace(/\x1B\[[0-?]*[ -/]*[@-~]/g, '')
215
+ .replace(/[ \t]+$/mg, '');
215
216
  expect(plainTextOutput.trim()).toEqual(`Stack Parent
216
217
  Resources
217
- [~] AWS::CloudFormation::Stack AdditionChild
218
+ [~] AWS::CloudFormation::Stack AdditionChild
218
219
  └─ [~] Resources
219
220
  └─ [~] .SomeResource:
220
221
  └─ [+] Added: .Properties
221
- [~] AWS::CloudFormation::Stack DeletionChild
222
+ [~] AWS::CloudFormation::Stack DeletionChild
222
223
  └─ [~] Resources
223
224
  └─ [~] .SomeResource:
224
225
  └─ [-] Removed: .Properties
225
- [~] AWS::CloudFormation::Stack ChangedChild
226
+ [~] AWS::CloudFormation::Stack ChangedChild
226
227
  └─ [~] Resources
227
228
  └─ [~] .SomeResource:
228
229
  └─ [~] .Properties:
@@ -250,4 +251,4 @@ class StringWritable extends stream_1.Writable {
250
251
  callback();
251
252
  }
252
253
  }
253
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZi50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZGlmZi50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbUNBQWtDO0FBQ2xDLG1EQUFrRTtBQUNsRSwyREFBMkQ7QUFFM0Qsc0ZBQWtGO0FBQ2xGLG9EQUFnRDtBQUNoRCxpQ0FBK0Q7QUFFL0QsSUFBSSxlQUFvQyxDQUFDO0FBQ3pDLElBQUksY0FBc0QsQ0FBQztBQUMzRCxJQUFJLE9BQW1CLENBQUM7QUFFeEIsUUFBUSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsRUFBRTtJQUNqQyxVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ2QsZUFBZSxHQUFHLElBQUksMEJBQW1CLENBQUM7WUFDeEMsTUFBTSxFQUFFLENBQUM7b0JBQ1AsU0FBUyxFQUFFLEdBQUc7b0JBQ2QsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRTtpQkFDNUI7Z0JBQ0Q7b0JBQ0UsU0FBUyxFQUFFLEdBQUc7b0JBQ2QsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDO29CQUNkLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUU7aUJBQzVCO2dCQUNEO29CQUNFLFNBQVMsRUFBRSxHQUFHO29CQUNkLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQztvQkFDZCxRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFO29CQUMzQixRQUFRLEVBQUU7d0JBQ1IsV0FBVyxFQUFFOzRCQUNYO2dDQUNFLElBQUksRUFBRSxRQUFRLENBQUMseUJBQXlCLENBQUMsS0FBSztnQ0FDOUMsSUFBSSxFQUFFLGtCQUFrQjs2QkFDekI7eUJBQ0Y7cUJBQ0Y7aUJBQ0Y7Z0JBQ0Q7b0JBQ0UsU0FBUyxFQUFFLEdBQUc7b0JBQ2QsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRTtpQkFDNUIsQ0FBQztTQUNILENBQUMsQ0FBQztRQUVILGNBQWMsR0FBRyx1QkFBZ0IsQ0FBQyxzREFBeUIsQ0FB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QUMsZUFBZSxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFVLEVBQUUsUUFBZ0IsRUFBRSxRQUE2QztRQUN2RixJQUFJLFFBQVEsS0FBSyxRQUFRLEVBQUU7WUFDekIsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3BDO1FBQ0QsSUFBSSxDQUFDLElBQUksSUFBSSxLQUFLLENBQUM7UUFDbkIsUUFBUSxFQUFFLENBQUM7SUFDYixDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQXdDO1FBQ3BELElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNqQyxRQUFRLEVBQUUsQ0FBQztJQUNiLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdyaXRhYmxlIH0gZnJvbSAnc3RyZWFtJztcbmltcG9ydCB7IE5vZGVTdHJpbmdEZWNvZGVyLCBTdHJpbmdEZWNvZGVyIH0gZnJvbSAnc3RyaW5nX2RlY29kZXInO1xuaW1wb3J0ICogYXMgY3hzY2hlbWEgZnJvbSAnQGF3cy1jZGsvY2xvdWQtYXNzZW1ibHktc2NoZW1hJztcbmltcG9ydCB7IENsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdCB9IGZyb20gJ0Bhd3MtY2RrL2N4LWFwaSc7XG5pbXBvcnQgeyBDbG91ZEZvcm1hdGlvbkRlcGxveW1lbnRzIH0gZnJvbSAnLi4vbGliL2FwaS9jbG91ZGZvcm1hdGlvbi1kZXBsb3ltZW50cyc7XG5pbXBvcnQgeyBDZGtUb29sa2l0IH0gZnJvbSAnLi4vbGliL2Nkay10b29sa2l0JztcbmltcG9ydCB7IGluc3RhbmNlTW9ja0Zyb20sIE1vY2tDbG91ZEV4ZWN1dGFibGUgfSBmcm9tICcuL3V0aWwnO1xuXG5sZXQgY2xvdWRFeGVjdXRhYmxlOiBNb2NrQ2xvdWRFeGVjdXRhYmxlO1xubGV0IGNsb3VkRm9ybWF0aW9uOiBqZXN0Lk1vY2tlZDxDbG91ZEZvcm1hdGlvbkRlcGxveW1lbnRzPjtcbmxldCB0b29sa2l0OiBDZGtUb29sa2l0O1xuXG5kZXNjcmliZSgnbm9uLW5lc3RlZCBzdGFja3MnLCAoKSA9PiB7XG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGNsb3VkRXhlY3V0YWJsZSA9IG5ldyBNb2NrQ2xvdWRFeGVjdXRhYmxlKHtcbiAgICAgIHN0YWNrczogW3tcbiAgICAgICAgc3RhY2tOYW1lOiAnQScsXG4gICAgICAgIHRlbXBsYXRlOiB7IHJlc291cmNlOiAnQScgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHN0YWNrTmFtZTogJ0InLFxuICAgICAgICBkZXBlbmRzOiBbJ0EnXSxcbiAgICAgICAgdGVtcGxhdGU6IHsgcmVzb3VyY2U6ICdCJyB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc3RhY2tOYW1lOiAnQycsXG4gICAgICAgIGRlcGVuZHM6IFsnQSddLFxuICAgICAgICB0ZW1wbGF0ZTogeyByZXNvdXJjZTogJ0MnIH0sXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgJy9yZXNvdXJjZSc6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogY3hzY2hlbWEuQXJ0aWZhY3RNZXRhZGF0YUVudHJ5VHlwZS5FUlJPUixcbiAgICAgICAgICAgICAgZGF0YTogJ3RoaXMgaXMgYW4gZXJyb3InLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc3RhY2tOYW1lOiAnRCcsXG4gICAgICAgIHRlbXBsYXRlOiB7IHJlc291cmNlOiAnRCcgfSxcbiAgICAgIH1dLFxuICAgIH0pO1xuXG4gICAgY2xvdWRGb3JtYXRpb24gPSBpbnN0YW5jZU1vY2tGcm9tKENsb3VkRm9ybWF0aW9uRGVwbG95bWVudHMpO1xuXG4gICAgdG9vbGtpdCA9IG5ldyBDZGtUb29sa2l0KHtcbiAgICAgIGNsb3VkRXhlY3V0YWJsZSxcbiAgICAgIGNsb3VkRm9ybWF0aW9uLFxuICAgICAgY29uZmlndXJhdGlvbjogY2xvdWRFeGVjdXRhYmxlLmNvbmZpZ3VyYXRpb24sXG4gICAgICBzZGtQcm92aWRlcjogY2xvdWRFeGVjdXRhYmxlLnNka1Byb3ZpZGVyLFxuICAgIH0pO1xuXG4gICAgLy8gRGVmYXVsdCBpbXBsZW1lbnRhdGlvbnNcbiAgICBjbG91ZEZvcm1hdGlvbi5yZWFkQ3VycmVudFRlbXBsYXRlV2l0aE5lc3RlZFN0YWNrcy5tb2NrSW1wbGVtZW50YXRpb24oKHN0YWNrQXJ0aWZhY3Q6IENsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdCkgPT4ge1xuICAgICAgaWYgKHN0YWNrQXJ0aWZhY3Quc3RhY2tOYW1lID09PSAnRCcpIHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IHJlc291cmNlOiAnRCcgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHt9KTtcbiAgICB9KTtcbiAgICBjbG91ZEZvcm1hdGlvbi5kZXBsb3lTdGFjay5tb2NrSW1wbGVtZW50YXRpb24oKG9wdGlvbnMpID0+IFByb21pc2UucmVzb2x2ZSh7XG4gICAgICBub09wOiB0cnVlLFxuICAgICAgb3V0cHV0czoge30sXG4gICAgICBzdGFja0FybjogJycsXG4gICAgICBzdGFja0FydGlmYWN0OiBvcHRpb25zLnN0YWNrLFxuICAgIH0pKTtcbiAgfSk7XG5cbiAgdGVzdCgnZGlmZiBjYW4gZGlmZiBtdWx0aXBsZSBzdGFja3MnLCBhc3luYyAoKSA9PiB7XG4gICAgLy8gR0lWRU5cbiAgICBjb25zdCBidWZmZXIgPSBuZXcgU3RyaW5nV3JpdGFibGUoKTtcblxuICAgIC8vIFdIRU5cbiAgICBjb25zdCBleGl0Q29kZSA9IGF3YWl0IHRvb2xraXQuZGlmZih7XG4gICAgICBzdGFja05hbWVzOiBbJ0InXSxcbiAgICAgIHN0cmVhbTogYnVmZmVyLFxuICAgIH0pO1xuXG4gICAgLy8gVEhFTlxuICAgIGNvbnN0IHBsYWluVGV4dE91dHB1dCA9IGJ1ZmZlci5kYXRhLnJlcGxhY2UoL1xceDFCXFxbWzAtP10qWyAtL10qW0Atfl0vZywgJycpO1xuICAgIGV4cGVjdChwbGFpblRleHRPdXRwdXQpLnRvQ29udGFpbignU3RhY2sgQScpO1xuICAgIGV4cGVjdChwbGFpblRleHRPdXRwdXQpLnRvQ29udGFpbignU3RhY2sgQicpO1xuXG4gICAgZXhwZWN0KGV4aXRDb2RlKS50b0JlKDApO1xuICB9KTtcblxuICB0ZXN0KCdleGl0cyB3aXRoIDEgd2l0aCBkaWZmcyBhbmQgZmFpbCBzZXQgdG8gdHJ1ZScsIGFzeW5jICgpID0+IHtcbiAgICAvLyBHSVZFTlxuICAgIGNvbnN0IGJ1ZmZlciA9IG5ldyBTdHJpbmdXcml0YWJsZSgpO1xuXG4gICAgLy8gV0hFTlxuICAgIGNvbnN0IGV4aXRDb2RlID0gYXdhaXQgdG9vbGtpdC5kaWZmKHtcbiAgICAgIHN0YWNrTmFtZXM6IFsnQSddLFxuICAgICAgc3RyZWFtOiBidWZmZXIsXG4gICAgICBmYWlsOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgLy8gVEhFTlxuICAgIGV4cGVjdChleGl0Q29kZSkudG9CZSgxKTtcbiAgfSk7XG5cbiAgdGVzdCgndGhyb3dzIGFuIGVycm9yIGlmIG5vIHZhbGlkIHN0YWNrIG5hbWVzIGdpdmVuJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGJ1ZmZlciA9IG5ldyBTdHJpbmdXcml0YWJsZSgpO1xuXG4gICAgLy8gV0hFTlxuICAgIGF3YWl0IGV4cGVjdCgoKSA9PiB0b29sa2l0LmRpZmYoe1xuICAgICAgc3RhY2tOYW1lczogWydYJywgJ1knLCAnWiddLFxuICAgICAgc3RyZWFtOiBidWZmZXIsXG4gICAgfSkpLnJlamVjdHMudG9UaHJvdygnTm8gc3RhY2tzIG1hdGNoIHRoZSBuYW1lKHMpIFgsWSxaJyk7XG4gIH0pO1xuXG4gIHRlc3QoJ2V4aXRzIHdpdGggMSB3aXRoIGRpZmYgaW4gZmlyc3Qgc3RhY2ssIGJ1dCBub3QgaW4gc2Vjb25kIHN0YWNrIGFuZCBmYWlsIHNldCB0byB0cnVlJywgYXN5bmMgKCkgPT4ge1xuICAgIC8vIEdJVkVOXG4gICAgY29uc3QgYnVmZmVyID0gbmV3IFN0cmluZ1dyaXRhYmxlKCk7XG5cbiAgICAvLyBXSEVOXG4gICAgY29uc3QgZXhpdENvZGUgPSBhd2FpdCB0b29sa2l0LmRpZmYoe1xuICAgICAgc3RhY2tOYW1lczogWydBJywgJ0QnXSxcbiAgICAgIHN0cmVhbTogYnVmZmVyLFxuICAgICAgZmFpbDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIFRIRU5cbiAgICBleHBlY3QoZXhpdENvZGUpLnRvQmUoMSk7XG4gIH0pO1xuXG4gIHRlc3QoJ3Rocm93cyBhbiBlcnJvciBkdXJpbmcgZGlmZnMgb24gc3RhY2sgd2l0aCBlcnJvciBtZXRhZGF0YScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBidWZmZXIgPSBuZXcgU3RyaW5nV3JpdGFibGUoKTtcblxuICAgIC8vIFdIRU5cbiAgICBhd2FpdCBleHBlY3QoKCkgPT4gdG9vbGtpdC5kaWZmKHtcbiAgICAgIHN0YWNrTmFtZXM6IFsnQyddLFxuICAgICAgc3RyZWFtOiBidWZmZXIsXG4gICAgfSkpLnJlamVjdHMudG9UaHJvdygvRm91bmQgZXJyb3JzLyk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKCduZXN0ZWQgc3RhY2tzJywgKCkgPT4ge1xuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBjbG91ZEV4ZWN1dGFibGUgPSBuZXcgTW9ja0Nsb3VkRXhlY3V0YWJsZSh7XG4gICAgICBzdGFja3M6IFt7XG4gICAgICAgIHN0YWNrTmFtZTogJ1BhcmVudCcsXG4gICAgICAgIHRlbXBsYXRlOiB7IH0sXG4gICAgICB9XSxcbiAgICB9KTtcblxuICAgIGNsb3VkRm9ybWF0aW9uID0gaW5zdGFuY2VNb2NrRnJvbShDbG91ZEZvcm1hdGlvbkRlcGxveW1lbnRzKTtcblxuICAgIHRvb2xraXQgPSBuZXcgQ2RrVG9vbGtpdCh7XG4gICAgICBjbG91ZEV4ZWN1dGFibGUsXG4gICAgICBjbG91ZEZvcm1hdGlvbixcbiAgICAgIGNvbmZpZ3VyYXRpb246IGNsb3VkRXhlY3V0YWJsZS5jb25maWd1cmF0aW9uLFxuICAgICAgc2RrUHJvdmlkZXI6IGNsb3VkRXhlY3V0YWJsZS5zZGtQcm92aWRlcixcbiAgICB9KTtcblxuICAgIGNsb3VkRm9ybWF0aW9uLnJlYWRDdXJyZW50VGVtcGxhdGVXaXRoTmVzdGVkU3RhY2tzLm1vY2tJbXBsZW1lbnRhdGlvbigoc3RhY2tBcnRpZmFjdDogQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0KSA9PiB7XG4gICAgICBpZiAoc3RhY2tBcnRpZmFjdC5zdGFja05hbWUgPT09ICdQYXJlbnQnKSB7XG4gICAgICAgIHN0YWNrQXJ0aWZhY3QudGVtcGxhdGUuUmVzb3VyY2VzID0ge1xuICAgICAgICAgIEFkZGl0aW9uQ2hpbGQ6IHtcbiAgICAgICAgICAgIFR5cGU6ICdBV1M6OkNsb3VkRm9ybWF0aW9uOjpTdGFjaycsXG4gICAgICAgICAgICBSZXNvdXJjZXM6IHtcbiAgICAgICAgICAgICAgU29tZVJlc291cmNlOiB7XG4gICAgICAgICAgICAgICAgVHlwZTogJ0FXUzo6U29tZXRoaW5nJyxcbiAgICAgICAgICAgICAgICBQcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgICBQcm9wOiAnYWRkZWQtdmFsdWUnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgRGVsZXRpb25DaGlsZDoge1xuICAgICAgICAgICAgVHlwZTogJ0FXUzo6Q2xvdWRGb3JtYXRpb246OlN0YWNrJyxcbiAgICAgICAgICAgIFJlc291cmNlczoge1xuICAgICAgICAgICAgICBTb21lUmVzb3VyY2U6IHtcbiAgICAgICAgICAgICAgICBUeXBlOiAnQVdTOjpTb21ldGhpbmcnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIENoYW5nZWRDaGlsZDoge1xuICAgICAgICAgICAgVHlwZTogJ0FXUzo6Q2xvdWRGb3JtYXRpb246OlN0YWNrJyxcbiAgICAgICAgICAgIFJlc291cmNlczoge1xuICAgICAgICAgICAgICBTb21lUmVzb3VyY2U6IHtcbiAgICAgICAgICAgICAgICBUeXBlOiAnQVdTOjpTb21ldGhpbmcnLFxuICAgICAgICAgICAgICAgIFByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgIFByb3A6ICduZXctdmFsdWUnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICAgIFJlc291cmNlczoge1xuICAgICAgICAgICAgQWRkaXRpb25DaGlsZDoge1xuICAgICAgICAgICAgICBUeXBlOiAnQVdTOjpDbG91ZEZvcm1hdGlvbjo6U3RhY2snLFxuICAgICAgICAgICAgICBSZXNvdXJjZXM6IHtcbiAgICAgICAgICAgICAgICBTb21lUmVzb3VyY2U6IHtcbiAgICAgICAgICAgICAgICAgIFR5cGU6ICdBV1M6OlNvbWV0aGluZycsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBEZWxldGlvbkNoaWxkOiB7XG4gICAgICAgICAgICAgIFR5cGU6ICdBV1M6OkNsb3VkRm9ybWF0aW9uOjpTdGFjaycsXG4gICAgICAgICAgICAgIFJlc291cmNlczoge1xuICAgICAgICAgICAgICAgIFNvbWVSZXNvdXJjZToge1xuICAgICAgICAgICAgICAgICAgVHlwZTogJ0FXUzo6U29tZXRoaW5nJyxcbiAgICAgICAgICAgICAgICAgIFByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgUHJvcDogJ3ZhbHVlLXRvLWJlLXJlbW92ZWQnLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIENoYW5nZWRDaGlsZDoge1xuICAgICAgICAgICAgICBUeXBlOiAnQVdTOjpDbG91ZEZvcm1hdGlvbjo6U3RhY2snLFxuICAgICAgICAgICAgICBSZXNvdXJjZXM6IHtcbiAgICAgICAgICAgICAgICBTb21lUmVzb3VyY2U6IHtcbiAgICAgICAgICAgICAgICAgIFR5cGU6ICdBV1M6OlNvbWV0aGluZycsXG4gICAgICAgICAgICAgICAgICBQcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgICAgIFByb3A6ICdvbGQtdmFsdWUnLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe30pO1xuICAgIH0pO1xuICB9KTtcblxuICB0ZXN0KCdkaWZmIGNhbiBkaWZmIG5lc3RlZCBzdGFja3MnLCBhc3luYyAoKSA9PiB7XG4gICAgLy8gR0lWRU5cbiAgICBjb25zdCBidWZmZXIgPSBuZXcgU3RyaW5nV3JpdGFibGUoKTtcblxuICAgIC8vIFdIRU5cbiAgICBjb25zdCBleGl0Q29kZSA9IGF3YWl0IHRvb2xraXQuZGlmZih7XG4gICAgICBzdGFja05hbWVzOiBbJ1BhcmVudCddLFxuICAgICAgc3RyZWFtOiBidWZmZXIsXG4gICAgfSk7XG5cbiAgICAvLyBUSEVOXG4gICAgY29uc3QgcGxhaW5UZXh0T3V0cHV0ID0gYnVmZmVyLmRhdGEucmVwbGFjZSgvXFx4MUJcXFtbMC0/XSpbIC0vXSpbQC1+XS9nLCAnJyk7XG4gICAgZXhwZWN0KHBsYWluVGV4dE91dHB1dC50cmltKCkpLnRvRXF1YWwoYFN0YWNrIFBhcmVudFxuUmVzb3VyY2VzXG5bfl0gQVdTOjpDbG91ZEZvcm1hdGlvbjo6U3RhY2sgQWRkaXRpb25DaGlsZCBcbiDilJTilIAgW35dIFJlc291cmNlc1xuICAgICDilJTilIAgW35dIC5Tb21lUmVzb3VyY2U6XG4gICAgICAgICDilJTilIAgWytdIEFkZGVkOiAuUHJvcGVydGllc1xuW35dIEFXUzo6Q2xvdWRGb3JtYXRpb246OlN0YWNrIERlbGV0aW9uQ2hpbGQgXG4g4pSU4pSAIFt+XSBSZXNvdXJjZXNcbiAgICAg4pSU4pSAIFt+XSAuU29tZVJlc291cmNlOlxuICAgICAgICAg4pSU4pSAIFstXSBSZW1vdmVkOiAuUHJvcGVydGllc1xuW35dIEFXUzo6Q2xvdWRGb3JtYXRpb246OlN0YWNrIENoYW5nZWRDaGlsZCBcbiDilJTilIAgW35dIFJlc291cmNlc1xuICAgICDilJTilIAgW35dIC5Tb21lUmVzb3VyY2U6XG4gICAgICAgICDilJTilIAgW35dIC5Qcm9wZXJ0aWVzOlxuICAgICAgICAgICAgIOKUlOKUgCBbfl0gLlByb3A6XG4gICAgICAgICAgICAgICAgIOKUnOKUgCBbLV0gb2xkLXZhbHVlXG4gICAgICAgICAgICAgICAgIOKUlOKUgCBbK10gbmV3LXZhbHVlYCk7XG5cbiAgICBleHBlY3QoZXhpdENvZGUpLnRvQmUoMCk7XG4gIH0pO1xufSk7XG5cbmNsYXNzIFN0cmluZ1dyaXRhYmxlIGV4dGVuZHMgV3JpdGFibGUge1xuICBwdWJsaWMgZGF0YTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZWNvZGVyOiBOb2RlU3RyaW5nRGVjb2RlcjtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBhbnkgPSB7fSkge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgIHRoaXMuX2RlY29kZXIgPSBuZXcgU3RyaW5nRGVjb2RlcihvcHRpb25zICYmIG9wdGlvbnMuZGVmYXVsdEVuY29kaW5nKTtcbiAgICB0aGlzLmRhdGEgPSAnJztcbiAgfVxuXG4gIHB1YmxpYyBfd3JpdGUoY2h1bms6IGFueSwgZW5jb2Rpbmc6IHN0cmluZywgY2FsbGJhY2s6IChlcnJvcj86IEVycm9yIHwgdW5kZWZpbmVkKSA9PiB2b2lkKSB7XG4gICAgaWYgKGVuY29kaW5nID09PSAnYnVmZmVyJykge1xuICAgICAgY2h1bmsgPSB0aGlzLl9kZWNvZGVyLndyaXRlKGNodW5rKTtcbiAgICB9XG4gICAgdGhpcy5kYXRhICs9IGNodW5rO1xuICAgIGNhbGxiYWNrKCk7XG4gIH1cblxuICBwdWJsaWMgX2ZpbmFsKGNhbGxiYWNrOiAoZXJyb3I/OiBFcnJvciB8IG51bGwpID0+IHZvaWQpIHtcbiAgICB0aGlzLmRhdGEgKz0gdGhpcy5fZGVjb2Rlci5lbmQoKTtcbiAgICBjYWxsYmFjaygpO1xuICB9XG59XG4iXX0=
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZi50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZGlmZi50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbUNBQWtDO0FBQ2xDLG1EQUErQztBQUMvQywyREFBMkQ7QUFFM0Qsc0ZBQWtGO0FBQ2xGLG9EQUFnRDtBQUNoRCxpQ0FBK0Q7QUFFL0QsSUFBSSxlQUFvQyxDQUFDO0FBQ3pDLElBQUksY0FBc0QsQ0FBQztBQUMzRCxJQUFJLE9BQW1CLENBQUM7QUFFeEIsUUFBUSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsRUFBRTtJQUNqQyxVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ2QsZUFBZSxHQUFHLElBQUksMEJBQW1CLENBQUM7WUFDeEMsTUFBTSxFQUFFLENBQUM7b0JBQ1AsU0FBUyxFQUFFLEdBQUc7b0JBQ2QsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRTtpQkFDNUI7Z0JBQ0Q7b0JBQ0UsU0FBUyxFQUFFLEdBQUc7b0JBQ2QsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDO29CQUNkLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUU7aUJBQzVCO2dCQUNEO29CQUNFLFNBQVMsRUFBRSxHQUFHO29CQUNkLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQztvQkFDZCxRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFO29CQUMzQixRQUFRLEVBQUU7d0JBQ1IsV0FBVyxFQUFFOzRCQUNYO2dDQUNFLElBQUksRUFBRSxRQUFRLENBQUMseUJBQXlCLENBQUMsS0FBSztnQ0FDOUMsSUFBSSxFQUFFLGtCQUFrQjs2QkFDekI7eUJBQ0Y7cUJBQ0Y7aUJBQ0Y7Z0JBQ0Q7b0JBQ0UsU0FBUyxFQUFFLEdBQUc7b0JBQ2QsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRTtpQkFDNUIsQ0FBQztTQUNILENBQUMsQ0FBQztRQUVILGNBQWMsR0FBRyx1QkFBZ0IsQ0FBQyxzREFBeUIsQ0FB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QUcsSUFBSSw4QkFBYSxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFVLEVBQUUsUUFBZ0IsRUFBRSxRQUE2QztRQUN2RixJQUFJLFFBQVEsS0FBSyxRQUFRLEVBQUU7WUFDekIsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3BDO1FBQ0QsSUFBSSxDQUFDLElBQUksSUFBSSxLQUFLLENBQUM7UUFDbkIsUUFBUSxFQUFFLENBQUM7SUFDYixDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQXdDO1FBQ3BELElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNqQyxRQUFRLEVBQUUsQ0FBQztJQUNiLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdyaXRhYmxlIH0gZnJvbSAnc3RyZWFtJztcbmltcG9ydCB7IFN0cmluZ0RlY29kZXIgfSBmcm9tICdzdHJpbmdfZGVjb2Rlcic7XG5pbXBvcnQgKiBhcyBjeHNjaGVtYSBmcm9tICdAYXdzLWNkay9jbG91ZC1hc3NlbWJseS1zY2hlbWEnO1xuaW1wb3J0IHsgQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0IH0gZnJvbSAnQGF3cy1jZGsvY3gtYXBpJztcbmltcG9ydCB7IENsb3VkRm9ybWF0aW9uRGVwbG95bWVudHMgfSBmcm9tICcuLi9saWIvYXBpL2Nsb3VkZm9ybWF0aW9uLWRlcGxveW1lbnRzJztcbmltcG9ydCB7IENka1Rvb2xraXQgfSBmcm9tICcuLi9saWIvY2RrLXRvb2xraXQnO1xuaW1wb3J0IHsgaW5zdGFuY2VNb2NrRnJvbSwgTW9ja0Nsb3VkRXhlY3V0YWJsZSB9IGZyb20gJy4vdXRpbCc7XG5cbmxldCBjbG91ZEV4ZWN1dGFibGU6IE1vY2tDbG91ZEV4ZWN1dGFibGU7XG5sZXQgY2xvdWRGb3JtYXRpb246IGplc3QuTW9ja2VkPENsb3VkRm9ybWF0aW9uRGVwbG95bWVudHM+O1xubGV0IHRvb2xraXQ6IENka1Rvb2xraXQ7XG5cbmRlc2NyaWJlKCdub24tbmVzdGVkIHN0YWNrcycsICgpID0+IHtcbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgY2xvdWRFeGVjdXRhYmxlID0gbmV3IE1vY2tDbG91ZEV4ZWN1dGFibGUoe1xuICAgICAgc3RhY2tzOiBbe1xuICAgICAgICBzdGFja05hbWU6ICdBJyxcbiAgICAgICAgdGVtcGxhdGU6IHsgcmVzb3VyY2U6ICdBJyB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc3RhY2tOYW1lOiAnQicsXG4gICAgICAgIGRlcGVuZHM6IFsnQSddLFxuICAgICAgICB0ZW1wbGF0ZTogeyByZXNvdXJjZTogJ0InIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzdGFja05hbWU6ICdDJyxcbiAgICAgICAgZGVwZW5kczogWydBJ10sXG4gICAgICAgIHRlbXBsYXRlOiB7IHJlc291cmNlOiAnQycgfSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAnL3Jlc291cmNlJzogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiBjeHNjaGVtYS5BcnRpZmFjdE1ldGFkYXRhRW50cnlUeXBlLkVSUk9SLFxuICAgICAgICAgICAgICBkYXRhOiAndGhpcyBpcyBhbiBlcnJvcicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzdGFja05hbWU6ICdEJyxcbiAgICAgICAgdGVtcGxhdGU6IHsgcmVzb3VyY2U6ICdEJyB9LFxuICAgICAgfV0sXG4gICAgfSk7XG5cbiAgICBjbG91ZEZvcm1hdGlvbiA9IGluc3RhbmNlTW9ja0Zyb20oQ2xvdWRGb3JtYXRpb25EZXBsb3ltZW50cyk7XG5cbiAgICB0b29sa2l0ID0gbmV3IENka1Rvb2xraXQoe1xuICAgICAgY2xvdWRFeGVjdXRhYmxlLFxuICAgICAgY2xvdWRGb3JtYXRpb24sXG4gICAgICBjb25maWd1cmF0aW9uOiBjbG91ZEV4ZWN1dGFibGUuY29uZmlndXJhdGlvbixcbiAgICAgIHNka1Byb3ZpZGVyOiBjbG91ZEV4ZWN1dGFibGUuc2RrUHJvdmlkZXIsXG4gICAgfSk7XG5cbiAgICAvLyBEZWZhdWx0IGltcGxlbWVudGF0aW9uc1xuICAgIGNsb3VkRm9ybWF0aW9uLnJlYWRDdXJyZW50VGVtcGxhdGVXaXRoTmVzdGVkU3RhY2tzLm1vY2tJbXBsZW1lbnRhdGlvbigoc3RhY2tBcnRpZmFjdDogQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0KSA9PiB7XG4gICAgICBpZiAoc3RhY2tBcnRpZmFjdC5zdGFja05hbWUgPT09ICdEJykge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgcmVzb3VyY2U6ICdEJyB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe30pO1xuICAgIH0pO1xuICAgIGNsb3VkRm9ybWF0aW9uLmRlcGxveVN0YWNrLm1vY2tJbXBsZW1lbnRhdGlvbigob3B0aW9ucykgPT4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgIG5vT3A6IHRydWUsXG4gICAgICBvdXRwdXRzOiB7fSxcbiAgICAgIHN0YWNrQXJuOiAnJyxcbiAgICAgIHN0YWNrQXJ0aWZhY3Q6IG9wdGlvbnMuc3RhY2ssXG4gICAgfSkpO1xuICB9KTtcblxuICB0ZXN0KCdkaWZmIGNhbiBkaWZmIG11bHRpcGxlIHN0YWNrcycsIGFzeW5jICgpID0+IHtcbiAgICAvLyBHSVZFTlxuICAgIGNvbnN0IGJ1ZmZlciA9IG5ldyBTdHJpbmdXcml0YWJsZSgpO1xuXG4gICAgLy8gV0hFTlxuICAgIGNvbnN0IGV4aXRDb2RlID0gYXdhaXQgdG9vbGtpdC5kaWZmKHtcbiAgICAgIHN0YWNrTmFtZXM6IFsnQiddLFxuICAgICAgc3RyZWFtOiBidWZmZXIsXG4gICAgfSk7XG5cbiAgICAvLyBUSEVOXG4gICAgY29uc3QgcGxhaW5UZXh0T3V0cHV0ID0gYnVmZmVyLmRhdGEucmVwbGFjZSgvXFx4MUJcXFtbMC0/XSpbIC0vXSpbQC1+XS9nLCAnJyk7XG4gICAgZXhwZWN0KHBsYWluVGV4dE91dHB1dCkudG9Db250YWluKCdTdGFjayBBJyk7XG4gICAgZXhwZWN0KHBsYWluVGV4dE91dHB1dCkudG9Db250YWluKCdTdGFjayBCJyk7XG5cbiAgICBleHBlY3QoZXhpdENvZGUpLnRvQmUoMCk7XG4gIH0pO1xuXG4gIHRlc3QoJ2V4aXRzIHdpdGggMSB3aXRoIGRpZmZzIGFuZCBmYWlsIHNldCB0byB0cnVlJywgYXN5bmMgKCkgPT4ge1xuICAgIC8vIEdJVkVOXG4gICAgY29uc3QgYnVmZmVyID0gbmV3IFN0cmluZ1dyaXRhYmxlKCk7XG5cbiAgICAvLyBXSEVOXG4gICAgY29uc3QgZXhpdENvZGUgPSBhd2FpdCB0b29sa2l0LmRpZmYoe1xuICAgICAgc3RhY2tOYW1lczogWydBJ10sXG4gICAgICBzdHJlYW06IGJ1ZmZlcixcbiAgICAgIGZhaWw6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBUSEVOXG4gICAgZXhwZWN0KGV4aXRDb2RlKS50b0JlKDEpO1xuICB9KTtcblxuICB0ZXN0KCd0aHJvd3MgYW4gZXJyb3IgaWYgbm8gdmFsaWQgc3RhY2sgbmFtZXMgZ2l2ZW4nLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgYnVmZmVyID0gbmV3IFN0cmluZ1dyaXRhYmxlKCk7XG5cbiAgICAvLyBXSEVOXG4gICAgYXdhaXQgZXhwZWN0KCgpID0+IHRvb2xraXQuZGlmZih7XG4gICAgICBzdGFja05hbWVzOiBbJ1gnLCAnWScsICdaJ10sXG4gICAgICBzdHJlYW06IGJ1ZmZlcixcbiAgICB9KSkucmVqZWN0cy50b1Rocm93KCdObyBzdGFja3MgbWF0Y2ggdGhlIG5hbWUocykgWCxZLFonKTtcbiAgfSk7XG5cbiAgdGVzdCgnZXhpdHMgd2l0aCAxIHdpdGggZGlmZiBpbiBmaXJzdCBzdGFjaywgYnV0IG5vdCBpbiBzZWNvbmQgc3RhY2sgYW5kIGZhaWwgc2V0IHRvIHRydWUnLCBhc3luYyAoKSA9PiB7XG4gICAgLy8gR0lWRU5cbiAgICBjb25zdCBidWZmZXIgPSBuZXcgU3RyaW5nV3JpdGFibGUoKTtcblxuICAgIC8vIFdIRU5cbiAgICBjb25zdCBleGl0Q29kZSA9IGF3YWl0IHRvb2xraXQuZGlmZih7XG4gICAgICBzdGFja05hbWVzOiBbJ0EnLCAnRCddLFxuICAgICAgc3RyZWFtOiBidWZmZXIsXG4gICAgICBmYWlsOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgLy8gVEhFTlxuICAgIGV4cGVjdChleGl0Q29kZSkudG9CZSgxKTtcbiAgfSk7XG5cbiAgdGVzdCgndGhyb3dzIGFuIGVycm9yIGR1cmluZyBkaWZmcyBvbiBzdGFjayB3aXRoIGVycm9yIG1ldGFkYXRhJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGJ1ZmZlciA9IG5ldyBTdHJpbmdXcml0YWJsZSgpO1xuXG4gICAgLy8gV0hFTlxuICAgIGF3YWl0IGV4cGVjdCgoKSA9PiB0b29sa2l0LmRpZmYoe1xuICAgICAgc3RhY2tOYW1lczogWydDJ10sXG4gICAgICBzdHJlYW06IGJ1ZmZlcixcbiAgICB9KSkucmVqZWN0cy50b1Rocm93KC9Gb3VuZCBlcnJvcnMvKTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ25lc3RlZCBzdGFja3MnLCAoKSA9PiB7XG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGNsb3VkRXhlY3V0YWJsZSA9IG5ldyBNb2NrQ2xvdWRFeGVjdXRhYmxlKHtcbiAgICAgIHN0YWNrczogW3tcbiAgICAgICAgc3RhY2tOYW1lOiAnUGFyZW50JyxcbiAgICAgICAgdGVtcGxhdGU6IHsgfSxcbiAgICAgIH1dLFxuICAgIH0pO1xuXG4gICAgY2xvdWRGb3JtYXRpb24gPSBpbnN0YW5jZU1vY2tGcm9tKENsb3VkRm9ybWF0aW9uRGVwbG95bWVudHMpO1xuXG4gICAgdG9vbGtpdCA9IG5ldyBDZGtUb29sa2l0KHtcbiAgICAgIGNsb3VkRXhlY3V0YWJsZSxcbiAgICAgIGNsb3VkRm9ybWF0aW9uLFxuICAgICAgY29uZmlndXJhdGlvbjogY2xvdWRFeGVjdXRhYmxlLmNvbmZpZ3VyYXRpb24sXG4gICAgICBzZGtQcm92aWRlcjogY2xvdWRFeGVjdXRhYmxlLnNka1Byb3ZpZGVyLFxuICAgIH0pO1xuXG4gICAgY2xvdWRGb3JtYXRpb24ucmVhZEN1cnJlbnRUZW1wbGF0ZVdpdGhOZXN0ZWRTdGFja3MubW9ja0ltcGxlbWVudGF0aW9uKChzdGFja0FydGlmYWN0OiBDbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3QpID0+IHtcbiAgICAgIGlmIChzdGFja0FydGlmYWN0LnN0YWNrTmFtZSA9PT0gJ1BhcmVudCcpIHtcbiAgICAgICAgc3RhY2tBcnRpZmFjdC50ZW1wbGF0ZS5SZXNvdXJjZXMgPSB7XG4gICAgICAgICAgQWRkaXRpb25DaGlsZDoge1xuICAgICAgICAgICAgVHlwZTogJ0FXUzo6Q2xvdWRGb3JtYXRpb246OlN0YWNrJyxcbiAgICAgICAgICAgIFJlc291cmNlczoge1xuICAgICAgICAgICAgICBTb21lUmVzb3VyY2U6IHtcbiAgICAgICAgICAgICAgICBUeXBlOiAnQVdTOjpTb21ldGhpbmcnLFxuICAgICAgICAgICAgICAgIFByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgIFByb3A6ICdhZGRlZC12YWx1ZScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBEZWxldGlvbkNoaWxkOiB7XG4gICAgICAgICAgICBUeXBlOiAnQVdTOjpDbG91ZEZvcm1hdGlvbjo6U3RhY2snLFxuICAgICAgICAgICAgUmVzb3VyY2VzOiB7XG4gICAgICAgICAgICAgIFNvbWVSZXNvdXJjZToge1xuICAgICAgICAgICAgICAgIFR5cGU6ICdBV1M6OlNvbWV0aGluZycsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgQ2hhbmdlZENoaWxkOiB7XG4gICAgICAgICAgICBUeXBlOiAnQVdTOjpDbG91ZEZvcm1hdGlvbjo6U3RhY2snLFxuICAgICAgICAgICAgUmVzb3VyY2VzOiB7XG4gICAgICAgICAgICAgIFNvbWVSZXNvdXJjZToge1xuICAgICAgICAgICAgICAgIFR5cGU6ICdBV1M6OlNvbWV0aGluZycsXG4gICAgICAgICAgICAgICAgUHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgICAgUHJvcDogJ25ldy12YWx1ZScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAgICAgUmVzb3VyY2VzOiB7XG4gICAgICAgICAgICBBZGRpdGlvbkNoaWxkOiB7XG4gICAgICAgICAgICAgIFR5cGU6ICdBV1M6OkNsb3VkRm9ybWF0aW9uOjpTdGFjaycsXG4gICAgICAgICAgICAgIFJlc291cmNlczoge1xuICAgICAgICAgICAgICAgIFNvbWVSZXNvdXJjZToge1xuICAgICAgICAgICAgICAgICAgVHlwZTogJ0FXUzo6U29tZXRoaW5nJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIERlbGV0aW9uQ2hpbGQ6IHtcbiAgICAgICAgICAgICAgVHlwZTogJ0FXUzo6Q2xvdWRGb3JtYXRpb246OlN0YWNrJyxcbiAgICAgICAgICAgICAgUmVzb3VyY2VzOiB7XG4gICAgICAgICAgICAgICAgU29tZVJlc291cmNlOiB7XG4gICAgICAgICAgICAgICAgICBUeXBlOiAnQVdTOjpTb21ldGhpbmcnLFxuICAgICAgICAgICAgICAgICAgUHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgICAgICBQcm9wOiAndmFsdWUtdG8tYmUtcmVtb3ZlZCcsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgQ2hhbmdlZENoaWxkOiB7XG4gICAgICAgICAgICAgIFR5cGU6ICdBV1M6OkNsb3VkRm9ybWF0aW9uOjpTdGFjaycsXG4gICAgICAgICAgICAgIFJlc291cmNlczoge1xuICAgICAgICAgICAgICAgIFNvbWVSZXNvdXJjZToge1xuICAgICAgICAgICAgICAgICAgVHlwZTogJ0FXUzo6U29tZXRoaW5nJyxcbiAgICAgICAgICAgICAgICAgIFByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgUHJvcDogJ29sZC12YWx1ZScsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7fSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIHRlc3QoJ2RpZmYgY2FuIGRpZmYgbmVzdGVkIHN0YWNrcycsIGFzeW5jICgpID0+IHtcbiAgICAvLyBHSVZFTlxuICAgIGNvbnN0IGJ1ZmZlciA9IG5ldyBTdHJpbmdXcml0YWJsZSgpO1xuXG4gICAgLy8gV0hFTlxuICAgIGNvbnN0IGV4aXRDb2RlID0gYXdhaXQgdG9vbGtpdC5kaWZmKHtcbiAgICAgIHN0YWNrTmFtZXM6IFsnUGFyZW50J10sXG4gICAgICBzdHJlYW06IGJ1ZmZlcixcbiAgICB9KTtcblxuICAgIC8vIFRIRU5cbiAgICBjb25zdCBwbGFpblRleHRPdXRwdXQgPSBidWZmZXIuZGF0YS5yZXBsYWNlKC9cXHgxQlxcW1swLT9dKlsgLS9dKltALX5dL2csICcnKVxuICAgICAgLnJlcGxhY2UoL1sgXFx0XSskL21nLCAnJyk7XG4gICAgZXhwZWN0KHBsYWluVGV4dE91dHB1dC50cmltKCkpLnRvRXF1YWwoYFN0YWNrIFBhcmVudFxuUmVzb3VyY2VzXG5bfl0gQVdTOjpDbG91ZEZvcm1hdGlvbjo6U3RhY2sgQWRkaXRpb25DaGlsZFxuIOKUlOKUgCBbfl0gUmVzb3VyY2VzXG4gICAgIOKUlOKUgCBbfl0gLlNvbWVSZXNvdXJjZTpcbiAgICAgICAgIOKUlOKUgCBbK10gQWRkZWQ6IC5Qcm9wZXJ0aWVzXG5bfl0gQVdTOjpDbG91ZEZvcm1hdGlvbjo6U3RhY2sgRGVsZXRpb25DaGlsZFxuIOKUlOKUgCBbfl0gUmVzb3VyY2VzXG4gICAgIOKUlOKUgCBbfl0gLlNvbWVSZXNvdXJjZTpcbiAgICAgICAgIOKUlOKUgCBbLV0gUmVtb3ZlZDogLlByb3BlcnRpZXNcblt+XSBBV1M6OkNsb3VkRm9ybWF0aW9uOjpTdGFjayBDaGFuZ2VkQ2hpbGRcbiDilJTilIAgW35dIFJlc291cmNlc1xuICAgICDilJTilIAgW35dIC5Tb21lUmVzb3VyY2U6XG4gICAgICAgICDilJTilIAgW35dIC5Qcm9wZXJ0aWVzOlxuICAgICAgICAgICAgIOKUlOKUgCBbfl0gLlByb3A6XG4gICAgICAgICAgICAgICAgIOKUnOKUgCBbLV0gb2xkLXZhbHVlXG4gICAgICAgICAgICAgICAgIOKUlOKUgCBbK10gbmV3LXZhbHVlYCk7XG5cbiAgICBleHBlY3QoZXhpdENvZGUpLnRvQmUoMCk7XG4gIH0pO1xufSk7XG5cbmNsYXNzIFN0cmluZ1dyaXRhYmxlIGV4dGVuZHMgV3JpdGFibGUge1xuICBwdWJsaWMgZGF0YTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZWNvZGVyOiBTdHJpbmdEZWNvZGVyO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IGFueSA9IHt9KSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG4gICAgdGhpcy5fZGVjb2RlciA9IG5ldyBTdHJpbmdEZWNvZGVyKG9wdGlvbnMgJiYgb3B0aW9ucy5kZWZhdWx0RW5jb2RpbmcpO1xuICAgIHRoaXMuZGF0YSA9ICcnO1xuICB9XG5cbiAgcHVibGljIF93cml0ZShjaHVuazogYW55LCBlbmNvZGluZzogc3RyaW5nLCBjYWxsYmFjazogKGVycm9yPzogRXJyb3IgfCB1bmRlZmluZWQpID0+IHZvaWQpIHtcbiAgICBpZiAoZW5jb2RpbmcgPT09ICdidWZmZXInKSB7XG4gICAgICBjaHVuayA9IHRoaXMuX2RlY29kZXIud3JpdGUoY2h1bmspO1xuICAgIH1cbiAgICB0aGlzLmRhdGEgKz0gY2h1bms7XG4gICAgY2FsbGJhY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBfZmluYWwoY2FsbGJhY2s6IChlcnJvcj86IEVycm9yIHwgbnVsbCkgPT4gdm9pZCkge1xuICAgIHRoaXMuZGF0YSArPSB0aGlzLl9kZWNvZGVyLmVuZCgpO1xuICAgIGNhbGxiYWNrKCk7XG4gIH1cbn1cbiJdfQ==
@@ -73,9 +73,8 @@ test('Skip version check if environment variable is set', async () => {
73
73
  expect(printStub.called).toEqual(false);
74
74
  });
75
75
  describe('version message', () => {
76
- let previousIsTty;
76
+ const previousIsTty = process.stdout.isTTY;
77
77
  beforeAll(() => {
78
- previousIsTty = process.stdout.isTTY;
79
78
  process.stdout.isTTY = true;
80
79
  });
81
80
  afterAll(() => {
@@ -113,4 +112,4 @@ describe('version message', () => {
113
112
  expect(printSpy).not.toHaveBeenCalledWith(expect.stringContaining('Information about upgrading from 99.x to 100.x'));
114
113
  });
115
114
  });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidmVyc2lvbi50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsNkJBQTZCO0FBQzdCLG1DQUFtRDtBQUNuRCwrQkFBaUM7QUFDakMsK0JBQStCO0FBQy9CLCtCQUErQjtBQUMvQiwwQ0FBMEM7QUFDMUMsdUNBQXVDO0FBQ3ZDLDRDQUErRjtBQUUvRixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQU0sQ0FBQyxDQUFDO0FBRXhCLE1BQU0sVUFBVSxHQUFHLGdCQUFTLENBQUMsbUJBQVcsQ0FBQyxDQUFDO0FBRTFDLFNBQVMsT0FBTztJQUNkLE9BQU8sZ0JBQWdCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7QUFDN0QsQ0FBQztBQUVELFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtJQUNmLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNoQixJQUFJLEVBQUUsQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLDhDQUE4QyxFQUFFLEdBQUcsRUFBRTtJQUN4RCxNQUFNLFNBQVMsR0FBRyxPQUFPLEVBQUUsQ0FBQztJQUM1QixLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQy9GLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLHlCQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDdkUsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMsd0RBQXdELEVBQUUsS0FBSyxJQUFJLEVBQUU7SUFDeEUsTUFBTSxLQUFLLEdBQUcsSUFBSSx5QkFBZSxD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QkFBb0IsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsMklBQTJJLENBQUMsQ0FBQyxDQUFDO0lBQzlNLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLCtEQUErRCxFQUFFLEtBQUssSUFBRyxFQUFFO1FBQzlFLG9FQUFvRTtRQUNwRSxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUM7UUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUseUJBQXlCLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4RSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUU5Qyx1Q0FBdUM7UUFDdkMsTUFBTSwrQkFBcUIsQ0FBQyxjQUFjLEVBQUUsSUFBSSx5QkFBZSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFL0UsMkNBQTJDO1FBQzNDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUMxRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDLENBQUM7SUFDdkgsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBzZXRUaW1lb3V0IGFzIF9zZXRUaW1lb3V0IH0gZnJvbSAndGltZXJzJztcbmltcG9ydCB7IHByb21pc2lmeSB9IGZyb20gJ3V0aWwnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMtZXh0cmEnO1xuaW1wb3J0ICogYXMgc2lub24gZnJvbSAnc2lub24nO1xuaW1wb3J0ICogYXMgbG9nZ2luZyBmcm9tICcuLi9saWIvbG9nZ2luZyc7XG5pbXBvcnQgKiBhcyBucG0gZnJvbSAnLi4vbGliL3V0aWwvbnBtJztcbmltcG9ydCB7IGxhdGVzdFZlcnNpb25JZkhpZ2hlciwgVmVyc2lvbkNoZWNrVFRMLCBkaXNwbGF5VmVyc2lvbk1lc3NhZ2UgfSBmcm9tICcuLi9saWIvdmVyc2lvbic7XG5cbmplc3Quc2V0VGltZW91dCgxMF8wMDApO1xuXG5jb25zdCBzZXRUaW1lb3V0ID0gcHJvbWlzaWZ5KF9zZXRUaW1lb3V0KTtcblxuZnVuY3Rpb24gdG1wZmlsZSgpOiBzdHJpbmcge1xuICByZXR1cm4gYC90bXAvdmVyc2lvbi0ke01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwMDAwKX1gO1xufVxuXG5hZnRlckVhY2goZG9uZSA9PiB7XG4gIHNpbm9uLnJlc3RvcmUoKTtcbiAgZG9uZSgpO1xufSk7XG5cbnRlc3QoJ2luaXRpYWxpemF0aW9uIGZhaWxzIG9uIHVud3JpdGFibGUgZGlyZWN0b3J5JywgKCkgPT4ge1xuICBjb25zdCBjYWNoZUZpbGUgPSB0bXBmaWxlKCk7XG4gIHNpbm9uLnN0dWIoZnMsICdta2RpcnNTeW5jJykud2l0aEFyZ3MocGF0aC5kaXJuYW1lKGNhY2hlRmlsZSkpLnRocm93cygnQ2Fubm90IG1ha2UgZGlyZWN0b3J5Jyk7XG4gIGV4cGVjdCgoKSA9PiBuZXcgVmVyc2lvbkNoZWNrVFRMKGNhY2hlRmlsZSkpLnRvVGhyb3coL25vdCB3cml0YWJsZS8pO1xufSk7XG5cbnRlc3QoJ2NhY2hlIGZpbGUgcmVzcG9uZHMgY29ycmVjdGx5IHdoZW4gZmlsZSBpcyBub3QgcHJlc2VudCcsIGFzeW5jICgpID0+IHtcbiAgY29uc3QgY2FjaGUgPSBuZXcgVmVyc2lvbkNoZWNrVFRMKHRtcGZpbGUoKSwgMSk7XG4gIGV4cGVjdChhd2FpdCBjYWNoZS5oYXNFeHBpcmVkKCkpLnRvQmVUcnV0aHkoKTtcbn0pO1xuXG50ZXN0KCdjYWNoZSBmaWxlIGhvbm91cnMgdGhlIHNwZWNpZmllZCBUVEwnLCBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IGNhY2hlID0gbmV3IFZlcnNpb25DaGVja1RUTCh0bXBmaWxlKCksIDEpO1xuICBhd2FpdCBjYWNoZS51cGRhdGUoKTtcbiAgZXhwZWN0KGF3YWl0IGNhY2hlLmhhc0V4cGlyZWQoKSkudG9CZUZhbHN5KCk7XG4gIGF3YWl0IHNldFRpbWVvdXQoMTAwMSk7IC8vIEp1c3QgYWJvdmUgMSBzZWMgaW4gbXNcbiAgZXhwZWN0KGF3YWl0IGNhY2hlLmhhc0V4cGlyZWQoKSkudG9CZVRydXRoeSgpO1xufSk7XG5cbnRlc3QoJ1NraXAgdmVyc2lvbiBjaGVjayBpZiBjYWNoZSBoYXMgbm90IGV4cGlyZWQnLCBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IGNhY2hlID0gbmV3IFZlcnNpb25DaGVja1RUTCh0bXBmaWxlKCksIDEwMCk7XG4gIGF3YWl0IGNhY2hlLnVwZGF0ZSgpO1xuICBleHBlY3QoYXdhaXQgbGF0ZXN0VmVyc2lvbklmSGlnaGVyKCcwLjAuMCcsIGNhY2hlKSkudG9CZU51bGwoKTtcbn0pO1xuXG50ZXN0KCdSZXR1cm4gbGF0ZXIgdmVyc2lvbiB3aGVuIGV4aXN0cyAmIHNraXAgcmVjZW50IHJlLWNoZWNrJywgYXN5bmMgKCkgPT4ge1xuICBjb25zdCBjYWNoZSA9IG5ldyBWZXJzaW9uQ2hlY2tUVEwodG1wZmlsZSgpLCAxMDApO1xuICBjb25zdCByZXN1bHQgPSBhd2FpdCBsYXRlc3RWZXJzaW9uSWZIaWdoZXIoJzAuMC4wJywgY2FjaGUpO1xuICBleHBlY3QocmVzdWx0KS5ub3QudG9CZU51bGwoKTtcbiAgZXhwZWN0KChyZXN1bHQgYXMgc3RyaW5nKS5sZW5ndGgpLnRvQmVHcmVhdGVyVGhhbigwKTtcblxuICBjb25zdCByZXN1bHQyID0gYXdhaXQgbGF0ZXN0VmVyc2lvbklmSGlnaGVyKCcwLjAuMCcsIGNhY2hlKTtcbiAgZXhwZWN0KHJlc3VsdDIpLnRvQmVOdWxsKCk7XG59KTtcblxudGVzdCgnUmV0dXJuIG51bGwgaWYgdmVyc2lvbiBpcyBoaWdoZXIgdGhhbiBucG0nLCBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IGNhY2hlID0gbmV3IFZlcnNpb25DaGVja1RUTCh0bXBmaWxlKCksIDEwMCk7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGxhdGVzdFZlcnNpb25JZkhpZ2hlcignMTAwLjEwMC4xMDAnLCBjYWNoZSk7XG4gIGV4cGVjdChyZXN1bHQpLnRvQmVOdWxsKCk7XG59KTtcblxudGVzdCgnVmVyc2lvbiBzcGVjaWZpZWQgaXMgc3RvcmVkIGluIHRoZSBUVEwgZmlsZScsIGFzeW5jICgpID0+IHtcbiAgY29uc3QgY2FjaGVGaWxlID0gdG1wZmlsZSgpO1xuICBjb25zdCBjYWNoZSA9IG5ldyBWZXJzaW9uQ2hlY2tUVEwoY2FjaGVGaWxlLCAxKTtcbiAgYXdhaXQgY2FjaGUudXBkYXRlKCcxLjEuMScpO1xuICBjb25zdCBzdG9yZWRWZXJzaW9uID0gZnMucmVhZEZpbGVTeW5jKGNhY2hlRmlsZSwgJ3V0ZjgnKTtcbiAgZXhwZWN0KHN0b3JlZFZlcnNpb24pLnRvQmUoJzEuMS4xJyk7XG59KTtcblxudGVzdCgnTm8gVmVyc2lvbiBzcGVjaWZpZWQgZm9yIHN0b3JhZ2UgaW4gdGhlIFRUTCBmaWxlJywgYXN5bmMgKCkgPT4ge1xuICBjb25zdCBjYWNoZUZpbGUgPSB0bXBmaWxlKCk7XG4gIGNvbnN0IGNhY2hlID0gbmV3IFZlcnNpb25DaGVja1RUTChjYWNoZUZpbGUsIDEpO1xuICBhd2FpdCBjYWNoZS51cGRhdGUoKTtcbiAgY29uc3Qgc3RvcmVkVmVyc2lvbiA9IGZzLnJlYWRGaWxlU3luYyhjYWNoZUZpbGUsICd1dGY4Jyk7XG4gIGV4cGVjdChzdG9yZWRWZXJzaW9uKS50b0JlKCcnKTtcbn0pO1xuXG50ZXN0KCdTa2lwIHZlcnNpb24gY2hlY2sgaWYgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgc2V0JywgYXN5bmMgKCkgPT4ge1xuICBzaW5vbi5zdHViKHByb2Nlc3MsICdzdGRvdXQnKS52YWx1ZSh7IC4uLnByb2Nlc3Muc3Rkb3V0LCBpc1RUWTogdHJ1ZSB9KTtcbiAgc2lub24uc3R1Yihwcm9jZXNzLCAnZW52JykudmFsdWUoeyAuLi5wcm9jZXNzLmVudiwgQ0RLX0RJU0FCTEVfVkVSU0lPTl9DSEVDSzogJzEnIH0pO1xuICBjb25zdCBwcmludFN0dWIgPSBzaW5vbi5zdHViKGxvZ2dpbmcsICdwcmludCcpO1xuICBhd2FpdCBkaXNwbGF5VmVyc2lvbk1lc3NhZ2UoKTtcbiAgZXhwZWN0KHByaW50U3R1Yi5jYWxsZWQpLnRvRXF1YWwoZmFsc2UpO1xufSk7XG5cbmRlc2NyaWJlKCd2ZXJzaW9uIG1lc3NhZ2UnLCAoKSA9PiB7XG4gIGxldCBwcmV2aW91c0lzVHR5OiB0cnVlIHwgdW5kZWZpbmVkO1xuICBiZWZvcmVBbGwoKCkgPT4ge1xuICAgIHByZXZpb3VzSXNUdHkgPSBwcm9jZXNzLnN0ZG91dC5pc1RUWTtcbiAgICBwcm9jZXNzLnN0ZG91dC5pc1RUWSA9IHRydWU7XG4gIH0pO1xuXG4gIGFmdGVyQWxsKCgpID0+IHtcbiAgICBwcm9jZXNzLnN0ZG91dC5pc1RUWSA9IHByZXZpb3VzSXNUdHk7XG4gIH0pO1xuXG4gIHRlc3QoJ1ByaW50cyBhIG1lc3NhZ2Ugd2hlbiBhIG5ldyB2ZXJzaW9uIGlzIGF2YWlsYWJsZScsIGFzeW5jICgpID0+IHtcbiAgICAvLyBHaXZlbiB0aGUgY3VycmVudCB2ZXJzaW9uIGlzIDEuMC4wIGFuZCB0aGUgbGF0ZXN0IHZlcnNpb24gaXMgMS4xLjBcbiAgICBjb25zdCBjdXJyZW50VmVyc2lvbiA9ICcxLjAuMCc7XG4gICAgamVzdC5zcHlPbihucG0sICdnZXRMYXRlc3RWZXJzaW9uRnJvbU5wbScpLm1vY2tSZXNvbHZlZFZhbHVlKCcxLjEuMCcpO1xuICAgIGNvbnN0IHByaW50U3B5ID0gamVzdC5zcHlPbihsb2dnaW5nLCAncHJpbnQnKTtcblxuICAgIC8vIFdoZW4gZGlzcGxheVZlcnNpb25NZXNzYWdlIGlzIGNhbGxlZFxuICAgIGF3YWl0IGRpc3BsYXlWZXJzaW9uTWVzc2FnZShjdXJyZW50VmVyc2lvbiwgbmV3IFZlcnNpb25DaGVja1RUTCh0bXBmaWxlKCksIDApKTtcblxuICAgIC8vIFRoZW4gdGhlIG5ldyB2ZXJzaW9uIG1lc3NhZ2UgaXMgcHJpbnRlZCB0byBzdGRvdXRcbiAgICBleHBlY3QocHJpbnRTcHkpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGV4cGVjdC5zdHJpbmdDb250YWluaW5nKCcxLjEuMCcpKTtcbiAgfSk7XG5cbiAgdGVzdCgnSW5jbHVkZXMgbWFqb3IgdXBncmFkZSBkb2N1bWVudGF0aW9uIHdoZW4gYXZhaWxhYmxlJywgYXN5bmMoKSA9PiB7XG4gICAgLy8gR2l2ZW4gdGhlIGN1cnJlbnQgdmVyc2lvbiBpcyAxLjAuMCBhbmQgdGhlIGxhdGVzdCB2ZXJzaW9uIGlzIDIuMC4wXG4gICAgY29uc3QgY3VycmVudFZlcnNpb24gPSAnMS4wLjAnO1xuICAgIGplc3Quc3B5T24obnBtLCAnZ2V0TGF0ZXN0VmVyc2lvbkZyb21OcG0nKS5tb2NrUmVzb2x2ZWRWYWx1ZSgnMi4wLjAnKTtcbiAgICBjb25zdCBwcmludFNweSA9IGplc3Quc3B5T24obG9nZ2luZywgJ3ByaW50Jyk7XG5cbiAgICAvLyBXaGVuIGRpc3BsYXlWZXJzaW9uTWVzc2FnZSBpcyBjYWxsZWRcbiAgICBhd2FpdCBkaXNwbGF5VmVyc2lvbk1lc3NhZ2UoY3VycmVudFZlcnNpb24sIG5ldyBWZXJzaW9uQ2hlY2tUVEwodG1wZmlsZSgpLCAwKSk7XG5cbiAgICAvLyBUaGVuIHRoZSBWMSAtPiBWMiBkb2N1bWVudGF0aW9uIGlzIHByaW50ZWRcbiAgICBleHBlY3QocHJpbnRTcHkpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGV4cGVjdC5zdHJpbmdDb250YWluaW5nKCdJbmZvcm1hdGlvbiBhYm91dCB1cGdyYWRpbmcgZnJvbSB2ZXJzaW9uIDEueCB0byB2ZXJzaW9uIDIueCBpcyBhdmFpbGFibGUgaGVyZTogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Nkay92Mi9ndWlkZS9taWdyYXRpbmctdjIuaHRtbCcpKTtcbiAgfSk7XG5cbiAgdGVzdCgnRG9lcyBub3QgaW5jbHVkZSBtYWpvciB1cGdyYWRlIGRvY3VtZW50YXRpb24gd2hlbiB1bmF2YWlsYWJsZScsIGFzeW5jKCkgPT4ge1xuICAgIC8vIEdpdmVuIGN1cnJlbnQgdmVyc2lvbiBpcyA5OS4wLjAgYW5kIHRoZSBsYXRlc3QgdmVyc2lvbiBpcyAxMDAuMC4wXG4gICAgY29uc3QgY3VycmVudFZlcnNpb24gPSAnOTkuMC4wJztcbiAgICBqZXN0LnNweU9uKG5wbSwgJ2dldExhdGVzdFZlcnNpb25Gcm9tTnBtJykubW9ja1Jlc29sdmVkVmFsdWUoJzEwMC4wLjAnKTtcbiAgICBjb25zdCBwcmludFNweSA9IGplc3Quc3B5T24obG9nZ2luZywgJ3ByaW50Jyk7XG5cbiAgICAvLyBXaGVuIGRpc3BsYXlWZXJzaW9uTWVzc2FnZSBpcyBjYWxsZWRcbiAgICBhd2FpdCBkaXNwbGF5VmVyc2lvbk1lc3NhZ2UoY3VycmVudFZlcnNpb24sIG5ldyBWZXJzaW9uQ2hlY2tUVEwodG1wZmlsZSgpLCAwKSk7XG5cbiAgICAvLyBUaGVuIG5vIHVwZ3JhZGUgZG9jdW1lbnRhdGlvbiBpcyBwcmludGVkXG4gICAgZXhwZWN0KHByaW50U3B5KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChleHBlY3Quc3RyaW5nQ29udGFpbmluZygnMTAwLjAuMCcpKTtcbiAgICBleHBlY3QocHJpbnRTcHkpLm5vdC50b0hhdmVCZWVuQ2FsbGVkV2l0aChleHBlY3Quc3RyaW5nQ29udGFpbmluZygnSW5mb3JtYXRpb24gYWJvdXQgdXBncmFkaW5nIGZyb20gOTkueCB0byAxMDAueCcpKTtcbiAgfSk7XG59KTtcbiJdfQ==
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidmVyc2lvbi50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsNkJBQTZCO0FBQzdCLG1DQUFtRDtBQUNuRCwrQkFBaUM7QUFDakMsK0JBQStCO0FBQy9CLCtCQUErQjtBQUMvQiwwQ0FBMEM7QUFDMUMsdUNBQXVDO0FBQ3ZDLDRDQUErRjtBQUUvRixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQU0sQ0FBQyxDQUFDO0FBRXhCLE1BQU0sVUFBVSxHQUFHLGdCQUFTLENBQUMsbUJBQVcsQ0FBQyxDQUFDO0FBRTFDLFNBQVMsT0FBTztJQUNkLE9BQU8sZ0JBQWdCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7QUFDN0QsQ0FBQztBQUVELFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtJQUNmLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNoQixJQUFJLEVBQUUsQ0FBQztBQUNULENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLDhDQUE4QyxFQUFFLEdBQUcsRUFBRTtJQUN4RCxNQUFNLFNBQVMsR0FBRyxPQUFPLEVBQUUsQ0FBQztJQUM1QixLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQy9GLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLHlCQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDdkUsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMsd0RBQXdELEVBQUUsS0FBSyxJQUFJLEVBQUU7SUFDeEUsTUFBTSxLQUFLLEdBQUcsSUFBSSx5QkFBZSxD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QUFDLGdCQUFnQixDQUFDLDJJQUEySSxDQUFDLENBQUMsQ0FBQztJQUM5TSxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQywrREFBK0QsRUFBRSxLQUFLLElBQUcsRUFBRTtRQUM5RSxvRUFBb0U7UUFDcEUsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLHlCQUF5QixDQUFDLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFOUMsdUNBQXVDO1FBQ3ZDLE1BQU0sK0JBQXFCLENBQUMsY0FBYyxFQUFFLElBQUkseUJBQWUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRS9FLDJDQUEyQztRQUMzQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDMUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsZ0RBQWdELENBQUMsQ0FBQyxDQUFDO0lBQ3ZILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgc2V0VGltZW91dCBhcyBfc2V0VGltZW91dCB9IGZyb20gJ3RpbWVycyc7XG5pbXBvcnQgeyBwcm9taXNpZnkgfSBmcm9tICd1dGlsJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCAqIGFzIHNpbm9uIGZyb20gJ3Npbm9uJztcbmltcG9ydCAqIGFzIGxvZ2dpbmcgZnJvbSAnLi4vbGliL2xvZ2dpbmcnO1xuaW1wb3J0ICogYXMgbnBtIGZyb20gJy4uL2xpYi91dGlsL25wbSc7XG5pbXBvcnQgeyBsYXRlc3RWZXJzaW9uSWZIaWdoZXIsIFZlcnNpb25DaGVja1RUTCwgZGlzcGxheVZlcnNpb25NZXNzYWdlIH0gZnJvbSAnLi4vbGliL3ZlcnNpb24nO1xuXG5qZXN0LnNldFRpbWVvdXQoMTBfMDAwKTtcblxuY29uc3Qgc2V0VGltZW91dCA9IHByb21pc2lmeShfc2V0VGltZW91dCk7XG5cbmZ1bmN0aW9uIHRtcGZpbGUoKTogc3RyaW5nIHtcbiAgcmV0dXJuIGAvdG1wL3ZlcnNpb24tJHtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxMDAwMCl9YDtcbn1cblxuYWZ0ZXJFYWNoKGRvbmUgPT4ge1xuICBzaW5vbi5yZXN0b3JlKCk7XG4gIGRvbmUoKTtcbn0pO1xuXG50ZXN0KCdpbml0aWFsaXphdGlvbiBmYWlscyBvbiB1bndyaXRhYmxlIGRpcmVjdG9yeScsICgpID0+IHtcbiAgY29uc3QgY2FjaGVGaWxlID0gdG1wZmlsZSgpO1xuICBzaW5vbi5zdHViKGZzLCAnbWtkaXJzU3luYycpLndpdGhBcmdzKHBhdGguZGlybmFtZShjYWNoZUZpbGUpKS50aHJvd3MoJ0Nhbm5vdCBtYWtlIGRpcmVjdG9yeScpO1xuICBleHBlY3QoKCkgPT4gbmV3IFZlcnNpb25DaGVja1RUTChjYWNoZUZpbGUpKS50b1Rocm93KC9ub3Qgd3JpdGFibGUvKTtcbn0pO1xuXG50ZXN0KCdjYWNoZSBmaWxlIHJlc3BvbmRzIGNvcnJlY3RseSB3aGVuIGZpbGUgaXMgbm90IHByZXNlbnQnLCBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IGNhY2hlID0gbmV3IFZlcnNpb25DaGVja1RUTCh0bXBmaWxlKCksIDEpO1xuICBleHBlY3QoYXdhaXQgY2FjaGUuaGFzRXhwaXJlZCgpKS50b0JlVHJ1dGh5KCk7XG59KTtcblxudGVzdCgnY2FjaGUgZmlsZSBob25vdXJzIHRoZSBzcGVjaWZpZWQgVFRMJywgYXN5bmMgKCkgPT4ge1xuICBjb25zdCBjYWNoZSA9IG5ldyBWZXJzaW9uQ2hlY2tUVEwodG1wZmlsZSgpLCAxKTtcbiAgYXdhaXQgY2FjaGUudXBkYXRlKCk7XG4gIGV4cGVjdChhd2FpdCBjYWNoZS5oYXNFeHBpcmVkKCkpLnRvQmVGYWxzeSgpO1xuICBhd2FpdCBzZXRUaW1lb3V0KDEwMDEpOyAvLyBKdXN0IGFib3ZlIDEgc2VjIGluIG1zXG4gIGV4cGVjdChhd2FpdCBjYWNoZS5oYXNFeHBpcmVkKCkpLnRvQmVUcnV0aHkoKTtcbn0pO1xuXG50ZXN0KCdTa2lwIHZlcnNpb24gY2hlY2sgaWYgY2FjaGUgaGFzIG5vdCBleHBpcmVkJywgYXN5bmMgKCkgPT4ge1xuICBjb25zdCBjYWNoZSA9IG5ldyBWZXJzaW9uQ2hlY2tUVEwodG1wZmlsZSgpLCAxMDApO1xuICBhd2FpdCBjYWNoZS51cGRhdGUoKTtcbiAgZXhwZWN0KGF3YWl0IGxhdGVzdFZlcnNpb25JZkhpZ2hlcignMC4wLjAnLCBjYWNoZSkpLnRvQmVOdWxsKCk7XG59KTtcblxudGVzdCgnUmV0dXJuIGxhdGVyIHZlcnNpb24gd2hlbiBleGlzdHMgJiBza2lwIHJlY2VudCByZS1jaGVjaycsIGFzeW5jICgpID0+IHtcbiAgY29uc3QgY2FjaGUgPSBuZXcgVmVyc2lvbkNoZWNrVFRMKHRtcGZpbGUoKSwgMTAwKTtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgbGF0ZXN0VmVyc2lvbklmSGlnaGVyKCcwLjAuMCcsIGNhY2hlKTtcbiAgZXhwZWN0KHJlc3VsdCkubm90LnRvQmVOdWxsKCk7XG4gIGV4cGVjdCgocmVzdWx0IGFzIHN0cmluZykubGVuZ3RoKS50b0JlR3JlYXRlclRoYW4oMCk7XG5cbiAgY29uc3QgcmVzdWx0MiA9IGF3YWl0IGxhdGVzdFZlcnNpb25JZkhpZ2hlcignMC4wLjAnLCBjYWNoZSk7XG4gIGV4cGVjdChyZXN1bHQyKS50b0JlTnVsbCgpO1xufSk7XG5cbnRlc3QoJ1JldHVybiBudWxsIGlmIHZlcnNpb24gaXMgaGlnaGVyIHRoYW4gbnBtJywgYXN5bmMgKCkgPT4ge1xuICBjb25zdCBjYWNoZSA9IG5ldyBWZXJzaW9uQ2hlY2tUVEwodG1wZmlsZSgpLCAxMDApO1xuICBjb25zdCByZXN1bHQgPSBhd2FpdCBsYXRlc3RWZXJzaW9uSWZIaWdoZXIoJzEwMC4xMDAuMTAwJywgY2FjaGUpO1xuICBleHBlY3QocmVzdWx0KS50b0JlTnVsbCgpO1xufSk7XG5cbnRlc3QoJ1ZlcnNpb24gc3BlY2lmaWVkIGlzIHN0b3JlZCBpbiB0aGUgVFRMIGZpbGUnLCBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IGNhY2hlRmlsZSA9IHRtcGZpbGUoKTtcbiAgY29uc3QgY2FjaGUgPSBuZXcgVmVyc2lvbkNoZWNrVFRMKGNhY2hlRmlsZSwgMSk7XG4gIGF3YWl0IGNhY2hlLnVwZGF0ZSgnMS4xLjEnKTtcbiAgY29uc3Qgc3RvcmVkVmVyc2lvbiA9IGZzLnJlYWRGaWxlU3luYyhjYWNoZUZpbGUsICd1dGY4Jyk7XG4gIGV4cGVjdChzdG9yZWRWZXJzaW9uKS50b0JlKCcxLjEuMScpO1xufSk7XG5cbnRlc3QoJ05vIFZlcnNpb24gc3BlY2lmaWVkIGZvciBzdG9yYWdlIGluIHRoZSBUVEwgZmlsZScsIGFzeW5jICgpID0+IHtcbiAgY29uc3QgY2FjaGVGaWxlID0gdG1wZmlsZSgpO1xuICBjb25zdCBjYWNoZSA9IG5ldyBWZXJzaW9uQ2hlY2tUVEwoY2FjaGVGaWxlLCAxKTtcbiAgYXdhaXQgY2FjaGUudXBkYXRlKCk7XG4gIGNvbnN0IHN0b3JlZFZlcnNpb24gPSBmcy5yZWFkRmlsZVN5bmMoY2FjaGVGaWxlLCAndXRmOCcpO1xuICBleHBlY3Qoc3RvcmVkVmVyc2lvbikudG9CZSgnJyk7XG59KTtcblxudGVzdCgnU2tpcCB2ZXJzaW9uIGNoZWNrIGlmIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHNldCcsIGFzeW5jICgpID0+IHtcbiAgc2lub24uc3R1Yihwcm9jZXNzLCAnc3Rkb3V0JykudmFsdWUoeyAuLi5wcm9jZXNzLnN0ZG91dCwgaXNUVFk6IHRydWUgfSk7XG4gIHNpbm9uLnN0dWIocHJvY2VzcywgJ2VudicpLnZhbHVlKHsgLi4ucHJvY2Vzcy5lbnYsIENES19ESVNBQkxFX1ZFUlNJT05fQ0hFQ0s6ICcxJyB9KTtcbiAgY29uc3QgcHJpbnRTdHViID0gc2lub24uc3R1Yihsb2dnaW5nLCAncHJpbnQnKTtcbiAgYXdhaXQgZGlzcGxheVZlcnNpb25NZXNzYWdlKCk7XG4gIGV4cGVjdChwcmludFN0dWIuY2FsbGVkKS50b0VxdWFsKGZhbHNlKTtcbn0pO1xuXG5kZXNjcmliZSgndmVyc2lvbiBtZXNzYWdlJywgKCkgPT4ge1xuICBjb25zdCBwcmV2aW91c0lzVHR5ID0gcHJvY2Vzcy5zdGRvdXQuaXNUVFk7XG4gIGJlZm9yZUFsbCgoKSA9PiB7XG4gICAgcHJvY2Vzcy5zdGRvdXQuaXNUVFkgPSB0cnVlO1xuICB9KTtcblxuICBhZnRlckFsbCgoKSA9PiB7XG4gICAgcHJvY2Vzcy5zdGRvdXQuaXNUVFkgPSBwcmV2aW91c0lzVHR5O1xuICB9KTtcblxuICB0ZXN0KCdQcmludHMgYSBtZXNzYWdlIHdoZW4gYSBuZXcgdmVyc2lvbiBpcyBhdmFpbGFibGUnLCBhc3luYyAoKSA9PiB7XG4gICAgLy8gR2l2ZW4gdGhlIGN1cnJlbnQgdmVyc2lvbiBpcyAxLjAuMCBhbmQgdGhlIGxhdGVzdCB2ZXJzaW9uIGlzIDEuMS4wXG4gICAgY29uc3QgY3VycmVudFZlcnNpb24gPSAnMS4wLjAnO1xuICAgIGplc3Quc3B5T24obnBtLCAnZ2V0TGF0ZXN0VmVyc2lvbkZyb21OcG0nKS5tb2NrUmVzb2x2ZWRWYWx1ZSgnMS4xLjAnKTtcbiAgICBjb25zdCBwcmludFNweSA9IGplc3Quc3B5T24obG9nZ2luZywgJ3ByaW50Jyk7XG5cbiAgICAvLyBXaGVuIGRpc3BsYXlWZXJzaW9uTWVzc2FnZSBpcyBjYWxsZWRcbiAgICBhd2FpdCBkaXNwbGF5VmVyc2lvbk1lc3NhZ2UoY3VycmVudFZlcnNpb24sIG5ldyBWZXJzaW9uQ2hlY2tUVEwodG1wZmlsZSgpLCAwKSk7XG5cbiAgICAvLyBUaGVuIHRoZSBuZXcgdmVyc2lvbiBtZXNzYWdlIGlzIHByaW50ZWQgdG8gc3Rkb3V0XG4gICAgZXhwZWN0KHByaW50U3B5KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChleHBlY3Quc3RyaW5nQ29udGFpbmluZygnMS4xLjAnKSk7XG4gIH0pO1xuXG4gIHRlc3QoJ0luY2x1ZGVzIG1ham9yIHVwZ3JhZGUgZG9jdW1lbnRhdGlvbiB3aGVuIGF2YWlsYWJsZScsIGFzeW5jKCkgPT4ge1xuICAgIC8vIEdpdmVuIHRoZSBjdXJyZW50IHZlcnNpb24gaXMgMS4wLjAgYW5kIHRoZSBsYXRlc3QgdmVyc2lvbiBpcyAyLjAuMFxuICAgIGNvbnN0IGN1cnJlbnRWZXJzaW9uID0gJzEuMC4wJztcbiAgICBqZXN0LnNweU9uKG5wbSwgJ2dldExhdGVzdFZlcnNpb25Gcm9tTnBtJykubW9ja1Jlc29sdmVkVmFsdWUoJzIuMC4wJyk7XG4gICAgY29uc3QgcHJpbnRTcHkgPSBqZXN0LnNweU9uKGxvZ2dpbmcsICdwcmludCcpO1xuXG4gICAgLy8gV2hlbiBkaXNwbGF5VmVyc2lvbk1lc3NhZ2UgaXMgY2FsbGVkXG4gICAgYXdhaXQgZGlzcGxheVZlcnNpb25NZXNzYWdlKGN1cnJlbnRWZXJzaW9uLCBuZXcgVmVyc2lvbkNoZWNrVFRMKHRtcGZpbGUoKSwgMCkpO1xuXG4gICAgLy8gVGhlbiB0aGUgVjEgLT4gVjIgZG9jdW1lbnRhdGlvbiBpcyBwcmludGVkXG4gICAgZXhwZWN0KHByaW50U3B5KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChleHBlY3Quc3RyaW5nQ29udGFpbmluZygnSW5mb3JtYXRpb24gYWJvdXQgdXBncmFkaW5nIGZyb20gdmVyc2lvbiAxLnggdG8gdmVyc2lvbiAyLnggaXMgYXZhaWxhYmxlIGhlcmU6IGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jZGsvdjIvZ3VpZGUvbWlncmF0aW5nLXYyLmh0bWwnKSk7XG4gIH0pO1xuXG4gIHRlc3QoJ0RvZXMgbm90IGluY2x1ZGUgbWFqb3IgdXBncmFkZSBkb2N1bWVudGF0aW9uIHdoZW4gdW5hdmFpbGFibGUnLCBhc3luYygpID0+IHtcbiAgICAvLyBHaXZlbiBjdXJyZW50IHZlcnNpb24gaXMgOTkuMC4wIGFuZCB0aGUgbGF0ZXN0IHZlcnNpb24gaXMgMTAwLjAuMFxuICAgIGNvbnN0IGN1cnJlbnRWZXJzaW9uID0gJzk5LjAuMCc7XG4gICAgamVzdC5zcHlPbihucG0sICdnZXRMYXRlc3RWZXJzaW9uRnJvbU5wbScpLm1vY2tSZXNvbHZlZFZhbHVlKCcxMDAuMC4wJyk7XG4gICAgY29uc3QgcHJpbnRTcHkgPSBqZXN0LnNweU9uKGxvZ2dpbmcsICdwcmludCcpO1xuXG4gICAgLy8gV2hlbiBkaXNwbGF5VmVyc2lvbk1lc3NhZ2UgaXMgY2FsbGVkXG4gICAgYXdhaXQgZGlzcGxheVZlcnNpb25NZXNzYWdlKGN1cnJlbnRWZXJzaW9uLCBuZXcgVmVyc2lvbkNoZWNrVFRMKHRtcGZpbGUoKSwgMCkpO1xuXG4gICAgLy8gVGhlbiBubyB1cGdyYWRlIGRvY3VtZW50YXRpb24gaXMgcHJpbnRlZFxuICAgIGV4cGVjdChwcmludFNweSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoZXhwZWN0LnN0cmluZ0NvbnRhaW5pbmcoJzEwMC4wLjAnKSk7XG4gICAgZXhwZWN0KHByaW50U3B5KS5ub3QudG9IYXZlQmVlbkNhbGxlZFdpdGgoZXhwZWN0LnN0cmluZ0NvbnRhaW5pbmcoJ0luZm9ybWF0aW9uIGFib3V0IHVwZ3JhZGluZyBmcm9tIDk5LnggdG8gMTAwLngnKSk7XG4gIH0pO1xufSk7XG4iXX0=