@aws-cdk-testing/cli-integ 3.33.2 → 3.34.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.
Files changed (99) hide show
  1. package/lib/aws.d.ts +2 -0
  2. package/lib/aws.js +4 -1
  3. package/lib/cli/query-github.js +35 -2
  4. package/lib/cli/run-suite.js +53 -4
  5. package/lib/cli/stage-distribution.js +37 -4
  6. package/lib/cli/test-root.js +35 -2
  7. package/lib/corking.js +35 -2
  8. package/lib/emf.d.ts +35 -0
  9. package/lib/emf.js +56 -0
  10. package/lib/files.js +37 -4
  11. package/lib/github.js +35 -2
  12. package/lib/integ-test.js +36 -3
  13. package/lib/npm.js +35 -2
  14. package/lib/package-sources/cli-npm-source.js +37 -4
  15. package/lib/package-sources/cli-repo-source.js +36 -3
  16. package/lib/package-sources/find-root.js +35 -2
  17. package/lib/package-sources/library-globalinstall-source.js +36 -3
  18. package/lib/package-sources/library-preinstalled-source.js +35 -2
  19. package/lib/package-sources/repo-tools/npm.js +36 -3
  20. package/lib/process.js +36 -3
  21. package/lib/proxy.js +38 -5
  22. package/lib/resources.js +35 -2
  23. package/lib/shell.js +37 -4
  24. package/lib/staging/maven.js +35 -2
  25. package/lib/staging/npm.js +35 -2
  26. package/lib/staging/parallel-shell.js +5 -2
  27. package/lib/staging/pypi.js +35 -2
  28. package/lib/staging/usage-dir.js +36 -3
  29. package/lib/with-cdk-app.js +42 -6
  30. package/lib/with-sam.js +37 -4
  31. package/lib/with-temporary-directory.js +37 -4
  32. package/lib/xpmutex.js +36 -3
  33. package/lib/yarn.js +35 -2
  34. package/npm-shrinkwrap.json +49 -3
  35. package/package.json +3 -2
  36. package/resources/cdk-apps/app/app.js +23 -0
  37. package/tests/cli-integ-tests/bootstrap/cdk-bootstrap-a-customized-template-vendor-will-not-overwrite-the-default-template.integtest.js +37 -4
  38. package/tests/cli-integ-tests/bootstrap/cdk-bootstrap-can-deploy-with-session-tags-on-the-deploy.integtest.js +35 -2
  39. package/tests/cli-integ-tests/bootstrap/cdk-bootstrap-can-deploy-without-execution-role-and-with-session-tags-on-deploy-role.integtest.js +35 -2
  40. package/tests/cli-integ-tests/bootstrap/cdk-bootstrap-can-dump-the-template.integtest.js +36 -3
  41. package/tests/cli-integ-tests/bootstrap/cdk-bootstrap-can-remove-custompermissionsboundary.integtest.js +5 -2
  42. package/tests/cli-integ-tests/cdk-assets/asset_helpers.js +35 -2
  43. package/tests/cli-integ-tests/cdk-assets/cdk-assets-can-read-lib-output.integtest.js +35 -2
  44. package/tests/cli-integ-tests/cdk-assets/cdk-assets-docker-credential.integtest.js +36 -3
  45. package/tests/cli-integ-tests/cdk-assets/cdk-assets-uses-profile.integtest.js +35 -2
  46. package/tests/cli-integ-tests/cdk-assets/smoketest.integtest.js +35 -2
  47. package/tests/cli-integ-tests/context/cdk-context-setting.integtest.js +35 -2
  48. package/tests/cli-integ-tests/deploy/cdk---exclusively-selects-only-selected-stack.integtest.js +35 -2
  49. package/tests/cli-integ-tests/deploy/cdk-deploy-outputs-file-written-on-no-change-deploy.integtest.js +35 -2
  50. package/tests/cli-integ-tests/deploy/cdk-deploy-wildcard-with-outputs.integtest.js +35 -2
  51. package/tests/cli-integ-tests/deploy/cdk-deploy-with-import-existing-resources-true.integtest.js +35 -2
  52. package/tests/cli-integ-tests/deploy/cdk-generating-and-loading-assembly.integtest.js +36 -3
  53. package/tests/cli-integ-tests/destroy/cdk-destroy-interactive.integtest.js +6 -2
  54. package/tests/cli-integ-tests/diff/cdk-cdk-diff---method-change-set-detects-ssm-parameter-driven-changes.integtest.d.ts +1 -0
  55. package/tests/cli-integ-tests/diff/cdk-cdk-diff---method-change-set-detects-ssm-parameter-driven-changes.integtest.js +51 -0
  56. package/tests/cli-integ-tests/diff/cdk-cdk-diff---method-change-set-surfaces-change-set-only-changes-alongside-template-changes.integtest.d.ts +1 -0
  57. package/tests/cli-integ-tests/diff/cdk-cdk-diff---method-change-set-surfaces-change-set-only-changes-alongside-template-changes.integtest.js +45 -0
  58. package/tests/cli-integ-tests/diff/cdk-enablediffnofail.integtest.js +35 -2
  59. package/tests/cli-integ-tests/hotswap/cdk-hotswap-deployment-caches-template.integtest.js +36 -3
  60. package/tests/cli-integ-tests/hotswap/cdk-hotswap-deployment-supports-appsync-apis-with-many-functions.integtest.js +35 -2
  61. package/tests/cli-integ-tests/hotswap/cdk-hotswap-ecs-deployment-respects-properties-override.integtest.js +35 -2
  62. package/tests/cli-integ-tests/import/cdk-test-resource-import-with-construct-that-requires-bundling.integtest.js +35 -2
  63. package/tests/cli-integ-tests/import/cdk-test-resource-import.integtest.js +35 -2
  64. package/tests/cli-integ-tests/list/cdk-cdk-ls-ci-no-synth-time-on-stdout.integtest.js +6 -6
  65. package/tests/cli-integ-tests/migrate/cdk-migrate-generates-migrate.json.integtest.js +35 -2
  66. package/tests/cli-integ-tests/migrate/cdk-test-migrate-deployment-for-app-with-localfile-source-in-migrate.json.integtest.js +35 -2
  67. package/tests/cli-integ-tests/migrate/testcase.js +35 -2
  68. package/tests/cli-integ-tests/notices/cdk-cdk-notices-are-displayed-correctly.integtest.js +35 -2
  69. package/tests/cli-integ-tests/orphan/cdk-orphan-detaches-resource.integtest.js +35 -2
  70. package/tests/cli-integ-tests/proxy/cdk-requests-go-through-a-proxy-when-configured.integtest.js +35 -2
  71. package/tests/cli-integ-tests/proxy/proxy.integtest.js +36 -3
  72. package/tests/cli-integ-tests/refactor/cdk-refactor-with-ambiguities-execution.integtest.js +37 -4
  73. package/tests/cli-integ-tests/synth/cdk-can-still-load-old-assemblies.integtest.js +36 -3
  74. package/tests/cli-integ-tests/synth/cdk-cdk-synth-bundled-functions-as-expected.integtest.js +35 -2
  75. package/tests/cli-integ-tests/synth/cdk-synth---quiet-can-be-specified-in-cdk.json.integtest.js +35 -2
  76. package/tests/cli-integ-tests/watch/cdk-watch-detects-file-changes-with-directory-scoped-glob.integtest.js +37 -4
  77. package/tests/cli-integ-tests/watch/cdk-watch-detects-file-changes-with-glob-patterns-negative.integtest.js +37 -4
  78. package/tests/cli-integ-tests/watch/cdk-watch-detects-file-changes-with-glob-patterns.integtest.js +37 -4
  79. package/tests/init-javascript/init-javascript.integtest.js +36 -3
  80. package/tests/init-python/init-python.integtest.js +35 -2
  81. package/tests/init-typescript-app/init-typescript-app.integtest.js +35 -2
  82. package/tests/init-typescript-lib/use-lib-as-bundled-dependency.integtest.js +36 -3
  83. package/tests/telemetry-integ-tests/cdk-deploy-sequential-errors.js +36 -3
  84. package/tests/telemetry-integ-tests/cdk-deploy-telemetry.integtest.js +36 -3
  85. package/tests/telemetry-integ-tests/cdk-hotswap-telemetry.integtest.js +36 -3
  86. package/tests/telemetry-integ-tests/cdk-invalid-command-telemetry.integtest.js +36 -3
  87. package/tests/telemetry-integ-tests/cdk-synth-guessagent.integtest.js +36 -3
  88. package/tests/telemetry-integ-tests/cdk-synth-telemetry-with-errors.integtest.js +36 -3
  89. package/tests/telemetry-integ-tests/cdk-synth-telemetry-with-synth-exception.integtest.js +36 -3
  90. package/tests/telemetry-integ-tests/cdk-synth-telemetry.integtest.js +36 -3
  91. package/tests/telemetry-integ-tests/cli-telemetry/cdk-cli-telemetry-adds-context-value.integtest.js +35 -2
  92. package/tests/telemetry-integ-tests/cli-telemetry/cdk-cli-telemetry-reads-perf-counters.integtest.js +36 -3
  93. package/tests/telemetry-integ-tests/cli-telemetry/cdk-cli-telemetry-reports-status.integtest.js +35 -2
  94. package/tests/tool-integrations/amplify.integtest.js +35 -2
  95. package/tests/toolkit-lib-integ-tests/toolkit-can-cdk-deploy.integtest.js +35 -2
  96. package/tests/toolkit-lib-integ-tests/toolkit-deploy-stack-with-multiple-docker-assets.integtest.js +35 -2
  97. package/tests/toolkit-lib-integ-tests/toolkit-helpers.js +36 -3
  98. package/tests/toolkit-lib-integ-tests/toolkit-watch-glob-negative.integtest.js +35 -2
  99. package/tests/toolkit-lib-integ-tests/toolkit-watch-glob.integtest.js +37 -4
@@ -1,6 +1,39 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const path = require("path");
36
+ const path = __importStar(require("path"));
4
37
  // eslint-disable-next-line no-console
5
38
  console.log(path.resolve(__dirname, '..', '..'));
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1yb290LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVzdC1yb290LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsNkJBQTZCO0FBQzdCLHNDQUFzQztBQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG5jb25zb2xlLmxvZyhwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4nLCAnLi4nKSk7XG4iXX0=
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1yb290LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVzdC1yb290LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkNBQTZCO0FBQzdCLHNDQUFzQztBQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG5jb25zb2xlLmxvZyhwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4nLCAnLi4nKSk7XG4iXX0=
package/lib/corking.js CHANGED
@@ -1,10 +1,43 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.MemoryStream = void 0;
4
37
  /**
5
38
  * Routines for corking stdout and stderr
6
39
  */
7
- const stream = require("stream");
40
+ const stream = __importStar(require("stream"));
8
41
  class MemoryStream extends stream.Writable {
9
42
  parts = new Array();
10
43
  _write(chunk, _encoding, callback) {
@@ -29,4 +62,4 @@ class MemoryStream extends stream.Writable {
29
62
  }
30
63
  }
31
64
  exports.MemoryStream = MemoryStream;
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ya2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvcmtpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0dBRUc7QUFDSCxpQ0FBaUM7QUFFakMsTUFBYSxZQUFhLFNBQVEsTUFBTSxDQUFDLFFBQVE7SUFDdkMsS0FBSyxHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7SUFFN0IsTUFBTSxDQUFDLEtBQWEsRUFBRSxTQUFpQixFQUFFLFFBQXdDO1FBQ3RGLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLFFBQVEsRUFBRSxDQUFDO0lBQ2IsQ0FBQztJQUVNLE1BQU07UUFDWCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBMkI7UUFDOUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixPQUFPLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBQ0QsT0FBTztJQUNULENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEMsQ0FBQztDQUNGO0FBM0JELG9DQTJCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUm91dGluZXMgZm9yIGNvcmtpbmcgc3Rkb3V0IGFuZCBzdGRlcnJcbiAqL1xuaW1wb3J0ICogYXMgc3RyZWFtIGZyb20gJ3N0cmVhbSc7XG5cbmV4cG9ydCBjbGFzcyBNZW1vcnlTdHJlYW0gZXh0ZW5kcyBzdHJlYW0uV3JpdGFibGUge1xuICBwcml2YXRlIHBhcnRzID0gbmV3IEFycmF5PEJ1ZmZlcj4oKTtcblxuICBwdWJsaWMgX3dyaXRlKGNodW5rOiBCdWZmZXIsIF9lbmNvZGluZzogc3RyaW5nLCBjYWxsYmFjazogKGVycm9yPzogRXJyb3IgfCBudWxsKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5wYXJ0cy5wdXNoKGNodW5rKTtcbiAgICBjYWxsYmFjaygpO1xuICB9XG5cbiAgcHVibGljIGJ1ZmZlcigpIHtcbiAgICByZXR1cm4gQnVmZmVyLmNvbmNhdCh0aGlzLnBhcnRzKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcigpIHtcbiAgICB0aGlzLnBhcnRzLnNwbGljZSgwLCB0aGlzLnBhcnRzLmxlbmd0aCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZmx1c2hUbyhzdHJtOiBOb2RlSlMuV3JpdGFibGVTdHJlYW0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBmbHVzaGVkID0gc3RybS53cml0ZSh0aGlzLmJ1ZmZlcigpKTtcbiAgICBpZiAoIWZsdXNoZWQpIHtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZShvayA9PiBzdHJtLm9uY2UoJ2RyYWluJywgb2spKTtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHVibGljIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLmJ1ZmZlcigpLnRvU3RyaW5nKCk7XG4gIH1cbn1cbiJdfQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ya2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvcmtpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0dBRUc7QUFDSCwrQ0FBaUM7QUFFakMsTUFBYSxZQUFhLFNBQVEsTUFBTSxDQUFDLFFBQVE7SUFDdkMsS0FBSyxHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7SUFFN0IsTUFBTSxDQUFDLEtBQWEsRUFBRSxTQUFpQixFQUFFLFFBQXdDO1FBQ3RGLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLFFBQVEsRUFBRSxDQUFDO0lBQ2IsQ0FBQztJQUVNLE1BQU07UUFDWCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBMkI7UUFDOUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixPQUFPLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBQ0QsT0FBTztJQUNULENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEMsQ0FBQztDQUNGO0FBM0JELG9DQTJCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUm91dGluZXMgZm9yIGNvcmtpbmcgc3Rkb3V0IGFuZCBzdGRlcnJcbiAqL1xuaW1wb3J0ICogYXMgc3RyZWFtIGZyb20gJ3N0cmVhbSc7XG5cbmV4cG9ydCBjbGFzcyBNZW1vcnlTdHJlYW0gZXh0ZW5kcyBzdHJlYW0uV3JpdGFibGUge1xuICBwcml2YXRlIHBhcnRzID0gbmV3IEFycmF5PEJ1ZmZlcj4oKTtcblxuICBwdWJsaWMgX3dyaXRlKGNodW5rOiBCdWZmZXIsIF9lbmNvZGluZzogc3RyaW5nLCBjYWxsYmFjazogKGVycm9yPzogRXJyb3IgfCBudWxsKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5wYXJ0cy5wdXNoKGNodW5rKTtcbiAgICBjYWxsYmFjaygpO1xuICB9XG5cbiAgcHVibGljIGJ1ZmZlcigpIHtcbiAgICByZXR1cm4gQnVmZmVyLmNvbmNhdCh0aGlzLnBhcnRzKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcigpIHtcbiAgICB0aGlzLnBhcnRzLnNwbGljZSgwLCB0aGlzLnBhcnRzLmxlbmd0aCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZmx1c2hUbyhzdHJtOiBOb2RlSlMuV3JpdGFibGVTdHJlYW0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBmbHVzaGVkID0gc3RybS53cml0ZSh0aGlzLmJ1ZmZlcigpKTtcbiAgICBpZiAoIWZsdXNoZWQpIHtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZShvayA9PiBzdHJtLm9uY2UoJ2RyYWluJywgb2spKTtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHVibGljIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLmJ1ZmZlcigpLnRvU3RyaW5nKCk7XG4gIH1cbn1cbiJdfQ==
package/lib/emf.d.ts ADDED
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Emit an EMF event with the versions of the CLI, library, toolkit-lib and cdk-assets that were used to run the tests.
3
+ *
4
+ * The version numbers are first scalarized so that they can be graphed, and the CodeBuild Project Name is used as
5
+ * a dimension to keep different test runs in the same account separate.
6
+ *
7
+ * The way EMF works, if CloudWatch sees a log message like this it will
8
+ * automatically emit metric data from these fields.
9
+ */
10
+ export declare function emitVersionsEmf(versions: Versions): void;
11
+ export declare function createVersionsEmf(versions: Versions): {
12
+ _aws: {
13
+ Timestamp: number;
14
+ CloudWatchMetrics: {
15
+ Namespace: string;
16
+ Dimensions: string[][];
17
+ Metrics: {
18
+ Name: string;
19
+ }[];
20
+ }[];
21
+ };
22
+ ProjectName: string;
23
+ CliVersion: number;
24
+ LibraryVersion: number;
25
+ ToolkitLibVersion: number;
26
+ CdkAssetsVersion: number;
27
+ TestsVersion: number;
28
+ };
29
+ export interface Versions {
30
+ readonly cli: string;
31
+ readonly library: string;
32
+ readonly toolkitLib: string;
33
+ readonly cdkAssets: string;
34
+ readonly tests: string;
35
+ }
package/lib/emf.js ADDED
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.emitVersionsEmf = emitVersionsEmf;
4
+ exports.createVersionsEmf = createVersionsEmf;
5
+ /**
6
+ * Emit an EMF event with the versions of the CLI, library, toolkit-lib and cdk-assets that were used to run the tests.
7
+ *
8
+ * The version numbers are first scalarized so that they can be graphed, and the CodeBuild Project Name is used as
9
+ * a dimension to keep different test runs in the same account separate.
10
+ *
11
+ * The way EMF works, if CloudWatch sees a log message like this it will
12
+ * automatically emit metric data from these fields.
13
+ */
14
+ function emitVersionsEmf(versions) {
15
+ // eslint-disable-next-line no-console
16
+ console.log(JSON.stringify(createVersionsEmf(versions)));
17
+ }
18
+ function createVersionsEmf(versions) {
19
+ const emf = {
20
+ _aws: {
21
+ Timestamp: Date.now(),
22
+ CloudWatchMetrics: [{
23
+ Namespace: 'CDK/CLIInteg',
24
+ Dimensions: [['ProjectName']],
25
+ Metrics: [
26
+ { Name: 'CliVersion' },
27
+ { Name: 'LibraryVersion' },
28
+ { Name: 'ToolkitLibVersion' },
29
+ { Name: 'CdkAssetsVersion' },
30
+ { Name: 'TestsVersion' },
31
+ ],
32
+ }],
33
+ },
34
+ // Dimensions
35
+ ProjectName: process.env.CODEBUILD_BUILD_ID?.split(':')[0] ?? 'unknown',
36
+ // Metrics
37
+ CliVersion: scalarizeVersion(versions.cli),
38
+ LibraryVersion: scalarizeVersion(versions.library),
39
+ ToolkitLibVersion: scalarizeVersion(versions.toolkitLib),
40
+ CdkAssetsVersion: scalarizeVersion(versions.cdkAssets),
41
+ TestsVersion: scalarizeVersion(versions.tests),
42
+ };
43
+ return emf;
44
+ function scalarizeVersion(version) {
45
+ const parts = version.match(/(\d+)\.(\d+)\.(\d+)/);
46
+ if (!parts) {
47
+ return 0;
48
+ }
49
+ const vs = parts.slice(1).map(p => parseInt(p, 10));
50
+ // This gives 4 digits for the minor version (necessary for the CLI), and 1 digit for the patch version
51
+ return vs[0] * 100000
52
+ + (vs[1] % 10000) * 10
53
+ + vs[2] % 10;
54
+ }
55
+ }
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1mLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZW1mLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBU0EsMENBR0M7QUFFRCw4Q0F5Q0M7QUF2REQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFnQixlQUFlLENBQUMsUUFBa0I7SUFDaEQsc0NBQXNDO0lBQ3RDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0QsQ0FBQztBQUVELFNBQWdCLGlCQUFpQixDQUFDLFFBQWtCO0lBQ2xELE1BQU0sR0FBRyxHQUFHO1FBQ1YsSUFBSSxFQUFFO1lBQ0osU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDckIsaUJBQWlCLEVBQUUsQ0FBQztvQkFDbEIsU0FBUyxFQUFFLGNBQWM7b0JBQ3pCLFVBQVUsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7b0JBQzdCLE9BQU8sRUFBRTt3QkFDUCxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUU7d0JBQ3RCLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO3dCQUMxQixFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRTt3QkFDN0IsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUU7d0JBQzVCLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRTtxQkFDekI7aUJBQ0YsQ0FBQztTQUNIO1FBQ0QsYUFBYTtRQUNiLFdBQVcsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTO1FBQ3ZFLFVBQVU7UUFDVixVQUFVLEVBQUUsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUMxQyxjQUFjLEVBQUUsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUNsRCxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1FBQ3hELGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7UUFDdEQsWUFBWSxFQUFFLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7S0FDL0MsQ0FBQztJQUVGLE9BQU8sR0FBRyxDQUFDO0lBRVgsU0FBUyxnQkFBZ0IsQ0FBQyxPQUFlO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPLENBQUMsQ0FBQztRQUNYLENBQUM7UUFFRCxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVwRCx1R0FBdUc7UUFDdkcsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTTtjQUNqQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFO2NBQ3BCLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDakIsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEVtaXQgYW4gRU1GIGV2ZW50IHdpdGggdGhlIHZlcnNpb25zIG9mIHRoZSBDTEksIGxpYnJhcnksIHRvb2xraXQtbGliIGFuZCBjZGstYXNzZXRzIHRoYXQgd2VyZSB1c2VkIHRvIHJ1biB0aGUgdGVzdHMuXG4gKlxuICogVGhlIHZlcnNpb24gbnVtYmVycyBhcmUgZmlyc3Qgc2NhbGFyaXplZCBzbyB0aGF0IHRoZXkgY2FuIGJlIGdyYXBoZWQsIGFuZCB0aGUgQ29kZUJ1aWxkIFByb2plY3QgTmFtZSBpcyB1c2VkIGFzXG4gKiBhIGRpbWVuc2lvbiB0byBrZWVwIGRpZmZlcmVudCB0ZXN0IHJ1bnMgaW4gdGhlIHNhbWUgYWNjb3VudCBzZXBhcmF0ZS5cbiAqXG4gKiBUaGUgd2F5IEVNRiB3b3JrcywgaWYgQ2xvdWRXYXRjaCBzZWVzIGEgbG9nIG1lc3NhZ2UgbGlrZSB0aGlzIGl0IHdpbGxcbiAqIGF1dG9tYXRpY2FsbHkgZW1pdCBtZXRyaWMgZGF0YSBmcm9tIHRoZXNlIGZpZWxkcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVtaXRWZXJzaW9uc0VtZih2ZXJzaW9uczogVmVyc2lvbnMpIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoY3JlYXRlVmVyc2lvbnNFbWYodmVyc2lvbnMpKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVWZXJzaW9uc0VtZih2ZXJzaW9uczogVmVyc2lvbnMpIHtcbiAgY29uc3QgZW1mID0ge1xuICAgIF9hd3M6IHtcbiAgICAgIFRpbWVzdGFtcDogRGF0ZS5ub3coKSxcbiAgICAgIENsb3VkV2F0Y2hNZXRyaWNzOiBbe1xuICAgICAgICBOYW1lc3BhY2U6ICdDREsvQ0xJSW50ZWcnLFxuICAgICAgICBEaW1lbnNpb25zOiBbWydQcm9qZWN0TmFtZSddXSxcbiAgICAgICAgTWV0cmljczogW1xuICAgICAgICAgIHsgTmFtZTogJ0NsaVZlcnNpb24nIH0sXG4gICAgICAgICAgeyBOYW1lOiAnTGlicmFyeVZlcnNpb24nIH0sXG4gICAgICAgICAgeyBOYW1lOiAnVG9vbGtpdExpYlZlcnNpb24nIH0sXG4gICAgICAgICAgeyBOYW1lOiAnQ2RrQXNzZXRzVmVyc2lvbicgfSxcbiAgICAgICAgICB7IE5hbWU6ICdUZXN0c1ZlcnNpb24nIH0sXG4gICAgICAgIF0sXG4gICAgICB9XSxcbiAgICB9LFxuICAgIC8vIERpbWVuc2lvbnNcbiAgICBQcm9qZWN0TmFtZTogcHJvY2Vzcy5lbnYuQ09ERUJVSUxEX0JVSUxEX0lEPy5zcGxpdCgnOicpWzBdID8/ICd1bmtub3duJyxcbiAgICAvLyBNZXRyaWNzXG4gICAgQ2xpVmVyc2lvbjogc2NhbGFyaXplVmVyc2lvbih2ZXJzaW9ucy5jbGkpLFxuICAgIExpYnJhcnlWZXJzaW9uOiBzY2FsYXJpemVWZXJzaW9uKHZlcnNpb25zLmxpYnJhcnkpLFxuICAgIFRvb2xraXRMaWJWZXJzaW9uOiBzY2FsYXJpemVWZXJzaW9uKHZlcnNpb25zLnRvb2xraXRMaWIpLFxuICAgIENka0Fzc2V0c1ZlcnNpb246IHNjYWxhcml6ZVZlcnNpb24odmVyc2lvbnMuY2RrQXNzZXRzKSxcbiAgICBUZXN0c1ZlcnNpb246IHNjYWxhcml6ZVZlcnNpb24odmVyc2lvbnMudGVzdHMpLFxuICB9O1xuXG4gIHJldHVybiBlbWY7XG5cbiAgZnVuY3Rpb24gc2NhbGFyaXplVmVyc2lvbih2ZXJzaW9uOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGNvbnN0IHBhcnRzID0gdmVyc2lvbi5tYXRjaCgvKFxcZCspXFwuKFxcZCspXFwuKFxcZCspLyk7XG4gICAgaWYgKCFwYXJ0cykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgY29uc3QgdnMgPSBwYXJ0cy5zbGljZSgxKS5tYXAocCA9PiBwYXJzZUludChwLCAxMCkpO1xuXG4gICAgLy8gVGhpcyBnaXZlcyA0IGRpZ2l0cyBmb3IgdGhlIG1pbm9yIHZlcnNpb24gKG5lY2Vzc2FyeSBmb3IgdGhlIENMSSksIGFuZCAxIGRpZ2l0IGZvciB0aGUgcGF0Y2ggdmVyc2lvblxuICAgIHJldHVybiB2c1swXSAqIDEwMDAwMFxuICAgICAgKyAodnNbMV0gJSAxMDAwMCkgKiAxMFxuICAgICAgKyB2c1syXSAlIDEwO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyc2lvbnMge1xuICByZWFkb25seSBjbGk6IHN0cmluZztcbiAgcmVhZG9ubHkgbGlicmFyeTogc3RyaW5nO1xuICByZWFkb25seSB0b29sa2l0TGliOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNka0Fzc2V0czogc3RyaW5nO1xuICByZWFkb25seSB0ZXN0czogc3RyaW5nO1xufVxuIl19
package/lib/files.js CHANGED
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.rmFile = rmFile;
4
37
  exports.addToFile = addToFile;
@@ -9,9 +42,9 @@ exports.homeDir = homeDir;
9
42
  exports.loadLines = loadLines;
10
43
  exports.writeLines = writeLines;
11
44
  exports.updateIniKey = updateIniKey;
12
- const os = require("os");
13
- const path = require("path");
14
- const fs = require("fs-extra");
45
+ const os = __importStar(require("os"));
46
+ const path = __importStar(require("path"));
47
+ const fs = __importStar(require("fs-extra"));
15
48
  async function rmFile(filename) {
16
49
  if (await fs.pathExists(filename)) {
17
50
  await fs.unlink(filename);
@@ -76,4 +109,4 @@ function updateIniKey(lines, key, value) {
76
109
  lines.push(prefix + value);
77
110
  }
78
111
  }
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJmaWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUlBLHdCQUlDO0FBRUQsOEJBUUM7QUFFRCw4QkFHQztBQUVELHNEQUlDO0FBRUQsd0JBY0M7QUFLRCwwQkFFQztBQUVELDhCQUVDO0FBRUQsZ0NBR0M7QUFLRCxvQ0FhQztBQS9FRCx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLCtCQUErQjtBQUV4QixLQUFLLFVBQVUsTUFBTSxDQUFDLFFBQWdCO0lBQzNDLElBQUksTUFBTSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDbEMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVCLENBQUM7QUFDSCxDQUFDO0FBRU0sS0FBSyxVQUFVLFNBQVMsQ0FBQyxRQUFnQixFQUFFLElBQVk7SUFDNUQsSUFBSSxRQUFRLEdBQUcsTUFBTSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN2RyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQzdCLFFBQVEsSUFBSSxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUNELFFBQVEsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBRXhCLE1BQU0sU0FBUyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRU0sS0FBSyxVQUFVLFNBQVMsQ0FBQyxRQUFnQixFQUFFLFFBQWdCO0lBQ2hFLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDeEMsTUFBTSxF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QUNILENBQUM7SUFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBybUZpbGUoZmlsZW5hbWU6IHN0cmluZykge1xuICBpZiAoYXdhaXQgZnMucGF0aEV4aXN0cyhmaWxlbmFtZSkpIHtcbiAgICBhd2FpdCBmcy51bmxpbmsoZmlsZW5hbWUpO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhZGRUb0ZpbGUoZmlsZW5hbWU6IHN0cmluZywgbGluZTogc3RyaW5nKSB7XG4gIGxldCBjb250ZW50cyA9IGF3YWl0IGZzLnBhdGhFeGlzdHMoZmlsZW5hbWUpID8gYXdhaXQgZnMucmVhZEZpbGUoZmlsZW5hbWUsIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSkgOiAnJztcbiAgaWYgKCFjb250ZW50cy5lbmRzV2l0aCgnXFxuJykpIHtcbiAgICBjb250ZW50cyArPSAnXFxuJztcbiAgfVxuICBjb250ZW50cyArPSBsaW5lICsgJ1xcbic7XG5cbiAgYXdhaXQgd3JpdGVGaWxlKGZpbGVuYW1lLCBjb250ZW50cyk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3cml0ZUZpbGUoZmlsZW5hbWU6IHN0cmluZywgY29udGVudHM6IHN0cmluZykge1xuICBhd2FpdCBmcy5ta2RpcnAocGF0aC5kaXJuYW1lKGZpbGVuYW1lKSk7XG4gIGF3YWl0IGZzLndyaXRlRmlsZShmaWxlbmFtZSwgY29udGVudHMsIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjb3B5RGlyZWN0b3J5Q29udGVudHMoZGlyOiBzdHJpbmcsIHRhcmdldDogc3RyaW5nKSB7XG4gIGZvciAoY29uc3QgZmlsZSBvZiBhd2FpdCBmcy5yZWFkZGlyKHBhdGguam9pbihkaXIpLCB7IGVuY29kaW5nOiAndXRmLTgnIH0pKSB7XG4gICAgYXdhaXQgZnMuY29weUZpbGUocGF0aC5qb2luKGRpciwgZmlsZSksIHBhdGguam9pbih0YXJnZXQsIGZpbGUpKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZFVwKG5hbWU6IHN0cmluZywgZGlyZWN0b3J5OiBzdHJpbmcgPSBwcm9jZXNzLmN3ZCgpKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgYWJzb2x1dGVEaXJlY3RvcnkgPSBwYXRoLnJlc29sdmUoZGlyZWN0b3J5KTtcblxuICBjb25zdCBmaWxlID0gcGF0aC5qb2luKGRpcmVjdG9yeSwgbmFtZSk7XG4gIGlmIChmcy5leGlzdHNTeW5jKGZpbGUpKSB7XG4gICAgcmV0dXJuIGZpbGU7XG4gIH1cblxuICBjb25zdCB7IHJvb3QgfSA9IHBhdGgucGFyc2UoYWJzb2x1dGVEaXJlY3RvcnkpO1xuICBpZiAoYWJzb2x1dGVEaXJlY3RvcnkgPT0gcm9vdCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4gZmluZFVwKG5hbWUsIHBhdGguZGlybmFtZShhYnNvbHV0ZURpcmVjdG9yeSkpO1xufVxuXG4vKipcbiAqIERvY2tlci1zYWZlIGhvbWUgZGlyZWN0b3J5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBob21lRGlyKCkge1xuICByZXR1cm4gb3MudXNlckluZm8oKS5ob21lZGlyID8/IG9zLmhvbWVkaXIoKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWRMaW5lcyhmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICByZXR1cm4gYXdhaXQgZnMucGF0aEV4aXN0cyhmaWxlbmFtZSkgPyAoYXdhaXQgZnMucmVhZEZpbGUoZmlsZW5hbWUsIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSkpLnRyaW0oKS5zcGxpdCgnXFxuJykgOiBbXTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdyaXRlTGluZXMoZmlsZW5hbWU6IHN0cmluZywgbGluZXM6IHN0cmluZ1tdKSB7XG4gIC8vIE11c3QgZW5kIGluIGEgbmV3bGluZSBvciBvdXIgYmFzaCBzY3JpcHQgd29uJ3QgcmVhZCBpdCBwcm9wZXJseVxuICBhd2FpdCBmcy53cml0ZUZpbGUoZmlsZW5hbWUsIGxpbmVzLmpvaW4oJ1xcbicpICsgJ1xcbicsIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSk7XG59XG5cbi8qKlxuICogVXBkYXRlIGEgc3BhY2VsZXNzIGluaSBmaWxlIGluIHBsYWNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVJbmlLZXkobGluZXM6IHN0cmluZ1tdLCBrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICBjb25zdCBwcmVmaXggPSBgJHtrZXl9PWA7XG4gIGxldCBmb3VuZCA9IGZhbHNlO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGxpbmVzLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKGxpbmVzW2ldLnN0YXJ0c1dpdGgocHJlZml4KSkge1xuICAgICAgbGluZXNbaV0gPSBwcmVmaXggKyB2YWx1ZTtcbiAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuICBpZiAoIWZvdW5kKSB7XG4gICAgbGluZXMucHVzaChwcmVmaXggKyB2YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJmaWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUlBLHdCQUlDO0FBRUQsOEJBUUM7QUFFRCw4QkFHQztBQUVELHNEQUlDO0FBRUQsd0JBY0M7QUFLRCwwQkFFQztBQUVELDhCQUVDO0FBRUQsZ0NBR0M7QUFLRCxvQ0FhQztBQS9FRCx1Q0FBeUI7QUFDekIsMkNBQTZCO0FBQzdCLDZDQUErQjtBQUV4QixLQUFLLFVBQVUsTUFBTSxDQUFDLFFBQWdCO0lBQzNDLElBQUksTUFBTSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDbEMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVCLENBQUM7QUFDSCxDQUFDO0FBRU0sS0FBSyxVQUFVLFNBQVMsQ0FBQyxRQUFnQixFQUFFLElBQVk7SUFDNUQsSUFBSSxRQUFRLEdBQUcsTUFBTSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN2RyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQzdCLFFBQVEsSUFBSSxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUNELFFBQVEsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBRXhCLE1BQU0sU0FBUyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRU0sS0FBSyxVQUFVLFNBQVMsQ0FBQyxRQUFnQixFQUFFLFFBQWdCO0lBQ2hFLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFD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RyxJQUFJLENBQUM7WUFDYixNQUFNO1FBQ1IsQ0FBQztJQUNILENBQUM7SUFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBybUZpbGUoZmlsZW5hbWU6IHN0cmluZykge1xuICBpZiAoYXdhaXQgZnMucGF0aEV4aXN0cyhmaWxlbmFtZSkpIHtcbiAgICBhd2FpdCBmcy51bmxpbmsoZmlsZW5hbWUpO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhZGRUb0ZpbGUoZmlsZW5hbWU6IHN0cmluZywgbGluZTogc3RyaW5nKSB7XG4gIGxldCBjb250ZW50cyA9IGF3YWl0IGZzLnBhdGhFeGlzdHMoZmlsZW5hbWUpID8gYXdhaXQgZnMucmVhZEZpbGUoZmlsZW5hbWUsIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSkgOiAnJztcbiAgaWYgKCFjb250ZW50cy5lbmRzV2l0aCgnXFxuJykpIHtcbiAgICBjb250ZW50cyArPSAnXFxuJztcbiAgfVxuICBjb250ZW50cyArPSBsaW5lICsgJ1xcbic7XG5cbiAgYXdhaXQgd3JpdGVGaWxlKGZpbGVuYW1lLCBjb250ZW50cyk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3cml0ZUZpbGUoZmlsZW5hbWU6IHN0cmluZywgY29udGVudHM6IHN0cmluZykge1xuICBhd2FpdCBmcy5ta2RpcnAocGF0aC5kaXJuYW1lKGZpbGVuYW1lKSk7XG4gIGF3YWl0IGZzLndyaXRlRmlsZShmaWxlbmFtZSwgY29udGVudHMsIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjb3B5RGlyZWN0b3J5Q29udGVudHMoZGlyOiBzdHJpbmcsIHRhcmdldDogc3RyaW5nKSB7XG4gIGZvciAoY29uc3QgZmlsZSBvZiBhd2FpdCBmcy5yZWFkZGlyKHBhdGguam9pbihkaXIpLCB7IGVuY29kaW5nOiAndXRmLTgnIH0pKSB7XG4gICAgYXdhaXQgZnMuY29weUZpbGUocGF0aC5qb2luKGRpciwgZmlsZSksIHBhdGguam9pbih0YXJnZXQsIGZpbGUpKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZFVwKG5hbWU6IHN0cmluZywgZGlyZWN0b3J5OiBzdHJpbmcgPSBwcm9jZXNzLmN3ZCgpKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgYWJzb2x1dGVEaXJlY3RvcnkgPSBwYXRoLnJlc29sdmUoZGlyZWN0b3J5KTtcblxuICBjb25zdCBmaWxlID0gcGF0aC5qb2luKGRpcmVjdG9yeSwgbmFtZSk7XG4gIGlmIChmcy5leGlzdHNTeW5jKGZpbGUpKSB7XG4gICAgcmV0dXJuIGZpbGU7XG4gIH1cblxuICBjb25zdCB7IHJvb3QgfSA9IHBhdGgucGFyc2UoYWJzb2x1dGVEaXJlY3RvcnkpO1xuICBpZiAoYWJzb2x1dGVEaXJlY3RvcnkgPT0gcm9vdCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4gZmluZFVwKG5hbWUsIHBhdGguZGlybmFtZShhYnNvbHV0ZURpcmVjdG9yeSkpO1xufVxuXG4vKipcbiAqIERvY2tlci1zYWZlIGhvbWUgZGlyZWN0b3J5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBob21lRGlyKCkge1xuICByZXR1cm4gb3MudXNlckluZm8oKS5ob21lZGlyID8/IG9zLmhvbWVkaXIoKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWRMaW5lcyhmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICByZXR1cm4gYXdhaXQgZnMucGF0aEV4aXN0cyhmaWxlbmFtZSkgPyAoYXdhaXQgZnMucmVhZEZpbGUoZmlsZW5hbWUsIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSkpLnRyaW0oKS5zcGxpdCgnXFxuJykgOiBbXTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdyaXRlTGluZXMoZmlsZW5hbWU6IHN0cmluZywgbGluZXM6IHN0cmluZ1tdKSB7XG4gIC8vIE11c3QgZW5kIGluIGEgbmV3bGluZSBvciBvdXIgYmFzaCBzY3JpcHQgd29uJ3QgcmVhZCBpdCBwcm9wZXJseVxuICBhd2FpdCBmcy53cml0ZUZpbGUoZmlsZW5hbWUsIGxpbmVzLmpvaW4oJ1xcbicpICsgJ1xcbicsIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSk7XG59XG5cbi8qKlxuICogVXBkYXRlIGEgc3BhY2VsZXNzIGluaSBmaWxlIGluIHBsYWNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVJbmlLZXkobGluZXM6IHN0cmluZ1tdLCBrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICBjb25zdCBwcmVmaXggPSBgJHtrZXl9PWA7XG4gIGxldCBmb3VuZCA9IGZhbHNlO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGxpbmVzLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKGxpbmVzW2ldLnN0YXJ0c1dpdGgocHJlZml4KSkge1xuICAgICAgbGluZXNbaV0gPSBwcmVmaXggKyB2YWx1ZTtcbiAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuICBpZiAoIWZvdW5kKSB7XG4gICAgbGluZXMucHVzaChwcmVmaXggKyB2YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
package/lib/github.js CHANGED
@@ -1,8 +1,41 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.fetchPreviousVersion = fetchPreviousVersion;
4
37
  const rest_1 = require("@octokit/rest");
5
- const semver = require("semver");
38
+ const semver = __importStar(require("semver"));
6
39
  async function fetchPreviousVersion(token, options) {
7
40
  const github = new rest_1.Octokit({ auth: token });
8
41
  const releases = await github.repos.listReleases({
@@ -38,4 +71,4 @@ async function fetchPreviousVersion(token, options) {
38
71
  }
39
72
  throw new Error(`Unable to find previous version given ${JSON.stringify(options)}`);
40
73
  }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZ2l0aHViLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0Esb0RBMkNDO0FBOUNELHdDQUF3QztBQUN4QyxpQ0FBaUM7QUFFMUIsS0FBSyxVQUFVLG9CQUFvQixDQUFDLEtBQWEsRUFBRSxPQUd6RDtJQUNDLE1BQU0sTUFBTSxHQUFHLElBQUksY0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDNUMsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUMvQyxLQUFLLEVBQUUsS0FBSztRQUNaLElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUMsQ0FBQztJQUVILGlFQUFpRTtJQUNqRSxxRUFBcUU7SUFDckUsOEJBQThCO0lBQzlCLElBQUksaUJBQWlCLEdBQUcsU0FBUyxDQUFDO0lBQ2xDLEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BDLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixTQUFTO1FBQ1gsQ0FBQztRQUVELDBCQUEwQjtRQUMxQixJQUFJLENBQUMsT0FBTyxFQUFFLFlBQVksSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUNoRCxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBRUQsSUFBSSxPQUFPLEVBQUUsWUFBWSxJQUFJLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNqRixPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBRUQsSUFBSSxPQUFPLEVBQUUsT0FBTyxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDeEgsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztRQUVELGlFQUFpRTtRQUNqRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN2QixpQkFBaUIsR0FBRyxPQUFPLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFDRCxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDdEIsT0FBTyxpQkFBaUIsQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9jdG9raXQgfSBmcm9tICdAb2N0b2tpdC9yZXN0JztcbmltcG9ydCAqIGFzIHNlbXZlciBmcm9tICdzZW12ZXInO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmV0Y2hQcmV2aW91c1ZlcnNpb24odG9rZW46IHN0cmluZywgb3B0aW9ucz86IHtcbiAgcHJpb3JUbz86IHN0cmluZztcbiAgbWFqb3JWZXJzaW9uPzogc3RyaW5nO1xufSkge1xuICBjb25zdCBnaXRodWIgPSBuZXcgT2N0b2tpdCh7IGF1dGg6IHRva2VuIH0pO1xuICBjb25zdCByZWxlYXNlcyA9IGF3YWl0IGdpdGh1Yi5yZXBvcy5saXN0UmVsZWFzZXMoe1xuICAgIG93bmVyOiAnYXdzJyxcbiAgICByZXBvOiAnYXdzLWNkaycsXG4gIH0pO1xuXG4gIC8vIHRoaXMgcmV0dXJucyBhIGxpc3QgaW4gZGVzY2VuZGluZyBvcmRlciwgbmV3ZXN0IHJlbGVhc2VzIGZpcnN0XG4gIC8vIG9wdHMgZm9yIHNhbWUgbWFqb3IgdmVyc2lvbiB3aGVyZSBwb3NzaWJsZSwgZmFsbGluZyBiYWNrIG90aGVyd2lzZVxuICAvLyB0byBwcmV2aW91cyBtYWpvciB2ZXJzaW9ucy5cbiAgbGV0IHByZXZpb3VzTVZSZWxlYXNlID0gdW5kZWZpbmVkO1xuICBmb3IgKGNvbnN0IHJlbGVhc2Ugb2YgcmVsZWFzZXMuZGF0YSkge1xuICAgIGNvbnN0IHZlcnNpb24gPSByZWxlYXNlLm5hbWU/LnJlcGxhY2UoJ3YnLCAnJyk7XG4gICAgaWYgKCF2ZXJzaW9uKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICAvLyBBbnkgb2xkIHZlcnNpb24gaXMgZmluZVxuICAgIGlmICghb3B0aW9ucz8ubWFqb3JWZXJzaW9uICYmICFvcHRpb25zPy5wcmlvclRvKSB7XG4gICAgICByZXR1cm4gdmVyc2lvbjtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucz8ubWFqb3JWZXJzaW9uICYmIGAke3NlbXZlci5tYWpvcih2ZXJzaW9uKX1gID09PSBvcHRpb25zLm1ham9yVmVyc2lvbikge1xuICAgICAgcmV0dXJuIHZlcnNpb247XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnM/LnByaW9yVG8gJiYgc2VtdmVyLmx0KHZlcnNpb24sIG9wdGlvbnM/LnByaW9yVG8pICYmIHNlbXZlci5tYWpvcih2ZXJzaW9uKSA9PT0gc2VtdmVyLm1ham9yKG9wdGlvbnMucHJpb3JUbykpIHtcbiAgICAgIHJldHVybiB2ZXJzaW9uO1xuICAgIH1cblxuICAgIC8vIE90aGVyd2lzZSByZXR1cm4gdGhlIG1vc3QgcmVjZW50IHZlcnNpb24gdGhhdCBkaWRuJ3QgbWF0Y2ggYW55XG4gICAgaWYgKCFwcmV2aW91c01WUmVsZWFzZSkge1xuICAgICAgcHJldmlvdXNNVlJlbGVhc2UgPSB2ZXJzaW9uO1xuICAgIH1cbiAgfVxuICBpZiAocHJldmlvdXNNVlJlbGVhc2UpIHtcbiAgICByZXR1cm4gcHJldmlvdXNNVlJlbGVhc2U7XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBmaW5kIHByZXZpb3VzIHZlcnNpb24gZ2l2ZW4gJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX1gKTtcbn1cbiJdfQ==
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZ2l0aHViLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0Esb0RBMkNDO0FBOUNELHdDQUF3QztBQUN4QywrQ0FBaUM7QUFFMUIsS0FBSyxVQUFVLG9CQUFvQixDQUFDLEtBQWEsRUFBRSxPQUd6RDtJQUNDLE1BQU0sTUFBTSxHQUFHLElBQUksY0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDNUMsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUMvQyxLQUFLLEVBQUUsS0FBSztRQUNaLElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUMsQ0FBQztJQUVILGlFQUFpRTtJQUNqRSxxRUFBcUU7SUFDckUsOEJBQThCO0lBQzlCLElBQUksaUJBQWlCLEdBQUcsU0FBUyxDQUFDO0lBQ2xDLEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BDLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixTQUFTO1FBQ1gsQ0FBQztRQUVELDBCQUEwQjtRQUMxQixJQUFJLENBQUMsT0FBTyxFQUFFLFlBQVksSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUNoRCxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBRUQsSUFBSSxPQUFPLEVBQUUsWUFBWSxJQUFJLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNqRixPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBRUQsSUFBSSxPQUFPLEVBQUUsT0FBTyxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDeEgsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztRQUVELGlFQUFpRTtRQUNqRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN2QixpQkFBaUIsR0FBRyxPQUFPLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFDRCxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDdEIsT0FBTyxpQkFBaUIsQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9jdG9raXQgfSBmcm9tICdAb2N0b2tpdC9yZXN0JztcbmltcG9ydCAqIGFzIHNlbXZlciBmcm9tICdzZW12ZXInO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmV0Y2hQcmV2aW91c1ZlcnNpb24odG9rZW46IHN0cmluZywgb3B0aW9ucz86IHtcbiAgcHJpb3JUbz86IHN0cmluZztcbiAgbWFqb3JWZXJzaW9uPzogc3RyaW5nO1xufSkge1xuICBjb25zdCBnaXRodWIgPSBuZXcgT2N0b2tpdCh7IGF1dGg6IHRva2VuIH0pO1xuICBjb25zdCByZWxlYXNlcyA9IGF3YWl0IGdpdGh1Yi5yZXBvcy5saXN0UmVsZWFzZXMoe1xuICAgIG93bmVyOiAnYXdzJyxcbiAgICByZXBvOiAnYXdzLWNkaycsXG4gIH0pO1xuXG4gIC8vIHRoaXMgcmV0dXJucyBhIGxpc3QgaW4gZGVzY2VuZGluZyBvcmRlciwgbmV3ZXN0IHJlbGVhc2VzIGZpcnN0XG4gIC8vIG9wdHMgZm9yIHNhbWUgbWFqb3IgdmVyc2lvbiB3aGVyZSBwb3NzaWJsZSwgZmFsbGluZyBiYWNrIG90aGVyd2lzZVxuICAvLyB0byBwcmV2aW91cyBtYWpvciB2ZXJzaW9ucy5cbiAgbGV0IHByZXZpb3VzTVZSZWxlYXNlID0gdW5kZWZpbmVkO1xuICBmb3IgKGNvbnN0IHJlbGVhc2Ugb2YgcmVsZWFzZXMuZGF0YSkge1xuICAgIGNvbnN0IHZlcnNpb24gPSByZWxlYXNlLm5hbWU/LnJlcGxhY2UoJ3YnLCAnJyk7XG4gICAgaWYgKCF2ZXJzaW9uKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICAvLyBBbnkgb2xkIHZlcnNpb24gaXMgZmluZVxuICAgIGlmICghb3B0aW9ucz8ubWFqb3JWZXJzaW9uICYmICFvcHRpb25zPy5wcmlvclRvKSB7XG4gICAgICByZXR1cm4gdmVyc2lvbjtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucz8ubWFqb3JWZXJzaW9uICYmIGAke3NlbXZlci5tYWpvcih2ZXJzaW9uKX1gID09PSBvcHRpb25zLm1ham9yVmVyc2lvbikge1xuICAgICAgcmV0dXJuIHZlcnNpb247XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnM/LnByaW9yVG8gJiYgc2VtdmVyLmx0KHZlcnNpb24sIG9wdGlvbnM/LnByaW9yVG8pICYmIHNlbXZlci5tYWpvcih2ZXJzaW9uKSA9PT0gc2VtdmVyLm1ham9yKG9wdGlvbnMucHJpb3JUbykpIHtcbiAgICAgIHJldHVybiB2ZXJzaW9uO1xuICAgIH1cblxuICAgIC8vIE90aGVyd2lzZSByZXR1cm4gdGhlIG1vc3QgcmVjZW50IHZlcnNpb24gdGhhdCBkaWRuJ3QgbWF0Y2ggYW55XG4gICAgaWYgKCFwcmV2aW91c01WUmVsZWFzZSkge1xuICAgICAgcHJldmlvdXNNVlJlbGVhc2UgPSB2ZXJzaW9uO1xuICAgIH1cbiAgfVxuICBpZiAocHJldmlvdXNNVlJlbGVhc2UpIHtcbiAgICByZXR1cm4gcHJldmlvdXNNVlJlbGVhc2U7XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBmaW5kIHByZXZpb3VzIHZlcnNpb24gZ2l2ZW4gJHtKU09OLnN0cmluZ2lmeShvcHRpb25zKX1gKTtcbn1cbiJdfQ==
package/lib/integ-test.js CHANGED
@@ -1,9 +1,42 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.integTest = integTest;
4
37
  exports.randomString = randomString;
5
- const fs = require("fs");
6
- const path = require("path");
38
+ const fs = __importStar(require("fs"));
39
+ const path = __importStar(require("path"));
7
40
  const corking_1 = require("./corking");
8
41
  const SKIP_TESTS = [
9
42
  ...readSkipFile(path.join(__dirname, '..', 'skip-tests.txt')),
@@ -203,4 +236,4 @@ function readSkipFile(filePath) {
203
236
  return [];
204
237
  }
205
238
  }
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWctdGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImludGVnLXRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFnQ0EsOEJBZ0dDO0FBa0JELG9DQUdDO0FBckpELHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsdUNBQXlDO0FBRXpDLE1BQU0sVUFBVSxHQUFHO0lBQ2pCLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdELEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUM7SUFDdEQsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztDQUN2RCxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztLQUNqQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFFeEMsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQzFCLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHNCQUFzQixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM3RSxDQUFDO0FBRUQsc0ZBQXNGO0FBQ3RGLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxLQUFLLE1BQU0sQ0FBQztBQUVuRCxzRUFBc0U7QUFDdEUsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDO0FBVW5COztHQUVHO0FBQ0gsU0FBZ0IsU0FBUyxDQUN2QixJQUFZLEVBQ1osUUFBaUQsRUFDakQsYUFBc0I7SUFFdEIsTUFBTSxNQUFN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UUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IE1lbW9yeVN0cmVhbSB9IGZyb20gJy4vY29ya2luZyc7XG5cbmNvbnN0IFNLSVBfVEVTVFMgPSBbXG4gIC4uLnJlYWRTa2lwRmlsZShwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4nLCAnc2tpcC10ZXN0cy50eHQnKSksXG4gIC4uLnJlYWRTa2lwRmlsZShwcm9jZXNzLmVudi5DREtfSU5URUdfU0tJUF9URVNUU19GSUxFKSxcbiAgLi4uKHByb2Nlc3MuZW52LkNES19JTlRFR19TS0lQX1RFU1RTID8/ICcnKS5zcGxpdCgnLCcpLFxuXS5tYXAoeCA9PiB4LnRyaW0oKSlcbiAgLmZpbHRlcih4ID0+IHggJiYgIXguc3RhcnRzV2l0aCgnIycpKTtcblxuaWYgKFNLSVBfVEVTVFMubGVuZ3RoID4gMCkge1xuICBwcm9jZXNzLnN0ZGVyci53cml0ZShg4oS577iPIFNraXBwaW5nIHRlc3RzOiAke0pTT04uc3RyaW5naWZ5KFNLSVBfVEVTVFMpfVxcbmApO1xufVxuXG4vLyBXaGV0aGVyIHdlIHdhbnQgdG8gc3RvcCBhZnRlciB0aGUgZmlyc3QgZmFpbHVyZSwgZm9yIHF1aWNrZXIgZGVidWdnaW5nIChob3BlZnVsbHkpLlxuY29uc3QgRkFJTF9GQVNUID0gcHJvY2Vzcy5lbnYuRkFJTF9GQVNUID09PSAndHJ1ZSc7XG5cbi8vIEtlZXAgdHJhY2sgb2Ygd2hldGhlciB0aGUgc3VpdGUgaGFzIGZhaWxlZC4gSWYgc28sIHdlIHN0b3AgcnVubmluZy5cbmxldCBmYWlsZWQgPSBmYWxzZTtcblxuZXhwb3J0IGludGVyZmFjZSBUZXN0Q29udGV4dCB7XG4gIHJlYWRvbmx5IHJhbmRvbVN0cmluZzogc3RyaW5nO1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG91dHB1dDogTm9kZUpTLldyaXRhYmxlU3RyZWFtO1xuICBsb2coczogc3RyaW5nKTogdm9pZDtcbiAgcmVwb3J0V2FpdFRpbWUobXM6IG51bWJlcik6IHZvaWQ7XG59XG5cbi8qKlxuICogQSB3cmFwcGVyIGZvciBqZXN0J3MgJ3Rlc3QnIHdoaWNoIHRha2VzIHJlZ3Jlc3Npb24tZGlzYWJsZWQgdGVzdHMgaW50byBhY2NvdW50IGFuZCBwcmludHMgYSBiYW5uZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGludGVnVGVzdChcbiAgbmFtZTogc3RyaW5nLFxuICBjYWxsYmFjazogKGNvbnRleHQ6IFRlc3RDb250ZXh0KSA9PiBQcm9taXNlPHZvaWQ+LFxuICB0aW1lb3V0TWlsbGlzPzogbnVtYmVyLFxuKTogdm9pZCB7XG4gIGNvbnN0IHJ1bm5lciA9IHNob3VsZFNraXAobmFtZSkgPyB0ZXN0LnNraXAgOiB0ZXN0O1xuXG4gIGplc3QucmV0cnlUaW1lcyhwYXJzZUludChwcm9jZXNzLmVudi5KRVNUX1JFVFJZX1RJTUVTID8/ICcwJykpO1xuXG4gIHJ1bm5lcihuYW1lLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb3V0cHV0ID0gbmV3IE1lbW9yeVN0cmVhbSgpO1xuXG4gICAgb3V0cHV0LndyaXRlKCc9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XFxuJyk7XG4gICAgb3V0cHV0LndyaXRlKGAke25hbWV9XFxuYCk7XG4gICAgb3V0cHV0LndyaXRlKCc9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XFxuJyk7XG5cbiAgICBjb25zdCBzdGFydCA9IERhdGUubm93KCk7XG4gICAgbGV0IHdhaXRUaW1lID0gMDtcblxuICAgIHByb2Nlc3Muc3RkZXJyLndyaXRlKGBbSU5URUcgVEVTVDo6JHtuYW1lfV0gU3RhcnRpbmcgKHBpZCAke3Byb2Nlc3MucGlkfSkuLi5cXG5gKTtcbiAgICBtYXliZVByaW50TWVtb3J5VXNhZ2UobmFtZSk7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChGQUlMX0ZBU1QgJiYgZmFpbGVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRkFJTF9GQVNUIHJlcXVlc3RlZCBhbmQgY3VycmVudGx5IGZhaWxpbmcuIFN0b3BwaW5nIHRlc3QgZWFybHkuJyk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJldCA9IGF3YWl0IGNhbGxiYWNrKHtcbiAgICAgICAgb3V0cHV0LFxuICAgICAgICByYW5kb21TdHJpbmc6IHJhbmRvbVN0cmluZygpLFxuICAgICAgICBuYW1lLFxuICAgICAgICBsb2coczogc3RyaW5nKSB7XG4gICAgICAgICAgb3V0cHV0LndyaXRlKGAke3N9XFxuYCk7XG4gICAgICAgIH0sXG4gICAgICAgIHJlcG9ydFdhaXRUaW1lKG4pIHtcbiAgICAgICAgICB3YWl0VGltZSArPSBuO1xuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIGF3YWl0IHdyaXRlTG9nKG5hbWUsIHtcbiAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgb3V0cHV0OiBvdXRwdXQudG9TdHJpbmcoKSxcbiAgICAgICAgdG90YWxEdXJhdGlvbjogRGF0ZS5ub3coKSAtIHN0YXJ0LFxuICAgICAgICB3YWl0VGltZSxcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gcmV0O1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgLy8gUHJpbnQgdGhlIGJ1ZmZlcmVkIG91dHB1dCwgb25seSBpZiB0aGUgdGVzdCBmYWlscy5cbiAgICAgIGZhaWxlZCA9IHRydWU7XG5cbiAgICAgIG91dHB1dC53cml0ZShlLm1lc3NhZ2UpO1xuICAgICAgb3V0cHV0LndyaXRlKGUuc3RhY2spO1xuXG4gICAgICBhd2FpdCB3cml0ZUxvZyhuYW1lLCB7XG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICBvdXRwdXQ6IG91dHB1dC50b1N0cmluZygpLFxuICAgICAgICB0b3RhbER1cmF0aW9uOiBEYXRlLm5vdygpIC0gc3RhcnQsXG4gICAgICAgIHdhaXRUaW1lLFxuICAgICAgfSk7XG4gICAgICBwcm9jZXNzLnN0ZGVyci53cml0ZShgW0lOVEVHIFRFU1Q6OiR7bmFtZX1dIEZhaWxlZDogJHtlfVxcbmApO1xuXG4gICAgICBjb25zdCBpc0dpdEh1YiA9ICEhcHJvY2Vzcy5lbnYuR0lUSFVCX1JVTl9JRDtcblxuICAgICAgaWYgKGlzR2l0SHViKSB7XG4gICAgICAgIC8vIEdpdEh1YiBBY3Rpb25zIGNvbXBhdGlibGUgb3V0cHV0IGZvcm1hdHRpbmdcbiAgICAgICAgLy8gaHR0cHM6Ly9kb2NzLmdpdGh1Yi5jb20vZW4vYWN0aW9ucy93cml0aW5nLXdvcmtmbG93cy9jaG9vc2luZy13aGF0LXlvdXItd29ya2Zsb3ctZG9lcy93b3JrZmxvdy1jb21tYW5kcy1mb3ItZ2l0aHViLWFjdGlvbnMjc2V0dGluZy1hbi1lcnJvci1tZXNzYWdlXG4gICAgICAgIGxldCB3cml0dGVuID0gcHJvY2Vzcy5zdGRlcnIud3JpdGUoYDo6ZXJyb3IgdGl0bGU9RmFpbGVkICR7bmFtZX06OiR7ZS5tZXNzYWdlfVxcbmApO1xuICAgICAgICBpZiAoIXdyaXR0ZW4pIHtcbiAgICAgICAgICAvLyBXYWl0IGZvciBkcmFpblxuICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChvaykgPT4gcHJvY2Vzcy5zdGRlcnIub25jZSgnZHJhaW4nLCBvaykpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUHJpbnQgb3V0cHV0IG9ubHkgaWYgdGhlIHRlc3QgZmFpbHMuIFVzZSAnY29uc29sZS5sb2cnIHNvIHRoZSBvdXRwdXQgaXMgYnVmZmVyZWQgYnlcbiAgICAgICAgLy8gamVzdCBhbmQgcHJpbnRzIHdpdGhvdXQgYSBzdGFjayB0cmFjZSAoaWYgdmVyYm9zZTogZmFsc2UpLlxuICAgICAgICB3cml0dGVuID0gcHJvY2Vzcy5zdGRvdXQud3JpdGUoW1xuICAgICAgICAgIGA6Omdyb3VwOjpGYWlsdXJlIGRldGFpbHM6ICR7bmFtZX0gKGNsaWNrIHRvIGV4cGFuZClcXG5gLFxuICAgICAgICAgIGAke291dHB1dC5idWZmZXIoKS50b1N0cmluZygpfVxcbmAsXG4gICAgICAgICAgJzo6ZW5kZ3JvdXA6OlxcbicsXG4gICAgICAgIF0uam9pbignJykpO1xuICAgICAgICBpZiAoIXdyaXR0ZW4pIHtcbiAgICAgICAgICAvLyBXYWl0IGZvciBkcmFpblxuICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChvaykgPT4gcHJvY2Vzcy5zdGRvdXQub25jZSgnZHJhaW4nLCBvaykpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBVc2UgJ2NvbnNvbGUubG9nJyBzbyB0aGUgb3V0cHV0IGlzIGJ1ZmZlcmVkIGJ5XG4gICAgICAgIC8vIGplc3QgYW5kIHByaW50cyB3aXRob3V0IGEgc3RhY2sgdHJhY2UgKGlmIHZlcmJvc2U6IGZhbHNlKS5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgY29uc29sZS5sb2cob3V0cHV0LmJ1ZmZlcigpLnRvU3RyaW5nKCkpO1xuICAgICAgfVxuICAgICAgdGhyb3cgZTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgY29uc3QgZHVyYXRpb24gPSBEYXRlLm5vdygpIC0gc3RhcnQ7XG4gICAgICBwcm9jZXNzLnN0ZGVyci53cml0ZShgW0lOVEVHIFRFU1Q6OiR7bmFtZX1dIERvbmUgKCR7aHVtYW5UaW1lKGR1cmF0aW9uKX0pLlxcbmApO1xuICAgICAgbWF5YmVQcmludE1lbW9yeVVzYWdlKG5hbWUpO1xuICAgIH1cbiAgfSwgdGltZW91dE1pbGxpcyk7XG59XG5cbmZ1bmN0aW9uIHNob3VsZFNraXAodGVzdE5hbWU6IHN0cmluZykge1xuICByZXR1cm4gU0tJUF9URVNUUy5pbmNsdWRlcyh0ZXN0TmFtZSk7XG59XG5cbmZ1bmN0aW9uIG1heWJlUHJpbnRNZW1vcnlVc2FnZSh0ZXN0TmFtZTogc3RyaW5nKSB7XG4gIGlmIChwcm9jZXNzLmVudi5JTlRFR19NRU1PUllfREVCVUcgIT09ICd0cnVlJykge1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBtZW1vcnlVc2FnZSA9IHByb2Nlc3MubWVtb3J5VXNhZ2UoKSBhcyBhbnk7XG4gIGNvbnN0IHJlcG9ydDogYW55ID0ge307XG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKG1lbW9yeVVzYWdlKSkge1xuICAgIHJlcG9ydFtrZXldID0gYCR7TWF0aC5yb3VuZCh2YWx1ZSBhcyBudW1iZXIgLyAxMDI0IC8gMTAyNCl9IE1CYDtcbiAgfVxuICBwcm9jZXNzLnN0ZGVyci53cml0ZShgW0lOVEVHIFRFU1Q6OiR7dGVzdE5hbWV9XSBNZW1vcnkgVXNhZ2U6ICR7SlNPTi5zdHJpbmdpZnkocmVwb3J0KX1gKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJhbmRvbVN0cmluZygpIHtcbiAgLy8gQ3JhenlcbiAgcmV0dXJuIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnJlcGxhY2UoL1teYS16MC05XSsvZywgJycpO1xufVxuXG4vKipcbiAqIFdyaXRlIGxvZyBmaWxlc1xuICpcbiAqIFdyaXRlIGEgdGV4dCBsb2cgdG8gYCR7SU5URUdfTE9HU30vW0ZBSUxFRC1dZGVzY3JpcHRpb24tb2YtdGVzdC50eHRgLCBhbmQgYSBzaW5nbGVcbiAqIGxpbmUgb2YgYSBNYXJrZG93biB0YWJsZSB0byBgJHtJTlRFR19MT0dTfS9tZC8xLWRlc2NyaXB0aW9uLW9mLXRlc3QubWRgLlxuICpcbiAqIFRoZSBsYXR0ZXIgYXJlIGRlc2lnbmVkIHRvIGJlIGdsb2JjYXR0ZWQgdG8gJEdJVEhVQl9TVEVQX1NVTU1BUlkgYWZ0ZXIgdGVzdHNcbiAqICh3ZSBkb24ndCB3cml0ZSB0aGVyZSBkaXJlY3RseSB0byBhdm9pZCBjb25jdXJyZW5jeSBpc3N1ZXMgd2l0aCBtdWx0aXBsZSBwcm9jZXNzZXNcbiAqIHJlYWRpbmcgYW5kIG11dGF0aW5nIHRoZSBzYW1lIGZpbGUpLlxuICpcbiAqIFdlIGRvIHVzZSBgYXRvbWljV3JpdGVgIHRvIHdyaXRlIGZpbGVzIC0tIGl0J3Mgb25seSBuZWNlc3NhcnkgZm9yIHRoZSBoZWFkZXIgZmlsZSxcbiAqIHdoaWNoIGdldHMgb3ZlcndyaXR0ZW4gYnkgZXZlcnkgdGVzdCwganVzdCB0byBtYWtlIHN1cmUgaXQgcHJvcGVybHkgZXhpc3RzIChzaG91bGRuJ3RcbiAqIGVuZCB1cCBlbXB0eSBvciB3aXRoIGludGVybGVhdmVkIGNvbnRlbnRzKS4gVGhlIG90aGVyIHdyaXRlcyBhcmUgbm90XG4gKiBjb250ZW5kZWQgYW5kIGRvbid0IG5lZWQgdG8gYmUgYXRvbWljLCBidXQgdGhlIGZ1bmN0aW9uIGlzIGp1c3QgZXJnb25vbWljIHRvIHVzZS5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gd3JpdGVMb2codGVzdE5hbWU6IHN0cmluZywgcmVzdWx0OiB7XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIG91dHB1dDogc3RyaW5nO1xuICB0b3RhbER1cmF0aW9uOiBudW1iZXI7XG4gIHdhaXRUaW1lOiBudW1iZXI7XG59KSB7XG4gIGlmIChwcm9jZXNzLmVudi5JTlRFR19MT0dTKSB7XG4gICAgLy8gV3JpdGUgdGhlIGxvZyBmaWxlXG4gICAgY29uc3Qgc2x1ZyA9IHNsdWdpZnkodGVzdE5hbWUpO1xuICAgIGNvbnN0IGxvZ0ZpbGVOYW1lID0gYCR7cHJvY2Vzcy5lbnYuSU5URUdfTE9HU30vJHtyZXN1bHQuc3VjY2VzcyA/ICcnIDogJ0ZBSUxFRC0nfSR7c2x1Z30udHh0YDtcbiAgICBhd2FpdCBhdG9taWNXcml0ZShsb2dGaWxlTmFtZSwgcmVzdWx0Lm91dHB1dCk7XG5cbiAgICAvLyBXcml0ZSBhIHJvdyBmb3IgdGhlIG1hcmtkb3duIHRhYmxlXG4gICAgLy8gU29ydCBmYWlsdXJlcyBiZWZvcmUgc3VjY2Vzc2VzLCBhbmQgdGhlIHRhYmxlIGhlYWRlciBiZWZvcmUgYWxsXG4gICAgY29uc3QgbWRGaWxlTmFtZSA9IGAke3Byb2Nlc3MuZW52LklOVEVHX0xPR1N9L21kLyR7cmVzdWx0LnN1Y2Nlc3MgPyAnMicgOiAnMSd9LSR7c2x1Z30ubWRgO1xuICAgIGNvbnN0IGNvbHVtbnM6IEFycmF5PFtzdHJpbmcsIHN0cmluZ10+ID0gW1xuICAgICAgWydSZXN1bHQnLCByZXN1bHQuc3VjY2VzcyA/ICdwYXNzIOKchScgOiAnZmFpbCDinYwnXSxcbiAgICAgIFsnVGVzdCBOYW1lJywgdGVzdE5hbWVdLFxuICAgICAgWydUZXN0IER1cmF0aW9uJywgaHVtYW5UaW1lKHJlc3VsdC50b3RhbER1cmF0aW9uIC0gcmVzdWx0LndhaXRUaW1lKV0sXG4gICAgICBbJ1dhaXQgVGltZScsIHJlc3VsdC53YWl0VGltZSA+IDAgPyBodW1hblRpbWUocmVzdWx0LndhaXRUaW1lKSA6ICctJ10sXG4gICAgXTtcbiAgICBhd2FpdCBhdG9taWNXcml0ZShgJHtwcm9jZXNzLmVudi5JTlRFR19MT0dTfS9tZC8wLWhlYWRlci5tZGAsIFtcbiAgICAgIGB8ICR7Y29sdW1ucy5tYXAoKFtjb2wsIF92YWxdKSA9PiBjb2wpLmpvaW4oJyB8ICcpfSB8YCxcbiAgICAgIGB8ICR7Y29sdW1ucy5tYXAoKCkgPT4gJy0tLS0tLS0tLS0tJykuam9pbignIHwgJyl9IHxgLFxuICAgIF0ubWFwKHggPT4gYCR7eH1cXG5gKS5qb2luKCcnKSk7XG4gICAgYXdhaXQgYXRvbWljV3JpdGUobWRGaWxlTmFtZSxcbiAgICAgIGB8ICR7Y29sdW1ucy5tYXAoKFtfY29sLCB2YWxdKSA9PiB2YWwpLmpvaW4oJyB8ICcpfSB8XFxuYCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaHVtYW5UaW1lKGRlbHRhOiBudW1iZXIpIHtcbiAgY29uc3QgY29tcG9uZW50cyA9IFtdO1xuXG4gIGNvbnN0IFMgPSAxMDAwO1xuICBjb25zdCBNID0gNjAgKiBTO1xuICBjb25zdCBIID0gNjAgKiBNO1xuXG4gIGNvbnN0IGhvdXJzID0gTWF0aC5mbG9vcihkZWx0YSAvIEgpO1xuICBpZiAoaG91cnMgPiAwKSB7XG4gICAgY29tcG9uZW50cy5wdXNoKGAke2hvdXJzfWhgKTtcbiAgICBkZWx0YSAtPSBob3VycyAqIEg7XG4gIH1cbiAgY29uc3QgbWludXRlcyA9IE1hdGguZmxvb3IoZGVsdGEgLyBNKTtcbiAgaWYgKG1pbnV0ZXMgPiAwKSB7XG4gICAgY29tcG9uZW50cy5wdXNoKGAke21pbnV0ZXN9bWApO1xuICAgIGRlbHRhIC09IG1pbnV0ZXMgKiBNO1xuICB9XG4gIGNvbnN0IHNlY29uZHMgPSBNYXRoLmZsb29yKGRlbHRhIC8gUyk7XG4gIGlmIChzZWNvbmRzID4gMCkge1xuICAgIGNvbXBvbmVudHMucHVzaChgJHtzZWNvbmRzfXNgKTtcbiAgICBkZWx0YSAtPSBzZWNvbmRzICogUztcbiAgfVxuICBjb21wb25lbnRzLnB1c2goYCR7ZGVsdGF9bXNgKTtcblxuICAvLyBSZXRhaW4gdGhlIDIgbW9zdCBzaWduaWZpY2FudCBjb21wb25lbnRzXG4gIHJldHVybiBjb21wb25lbnRzLnNsaWNlKDAsIDIpLmpvaW4oJycpO1xufVxuXG5mdW5jdGlvbiBzbHVnaWZ5KHg6IHN0cmluZykge1xuICByZXR1cm4geC5yZXBsYWNlKC9bXmEtekEtWjAtOV8sXSsvZywgJy0nKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gYXRvbWljV3JpdGUoZmlsZU5hbWU6IHN0cmluZywgY29udGVudHM6IHN0cmluZykge1xuICBhd2FpdCBmcy5wcm9taXNlcy5ta2RpcihwYXRoLmRpcm5hbWUoZmlsZU5hbWUpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICBjb25zdCB0bXAgPSBgJHtmaWxlTmFtZX0uJHtwcm9jZXNzLnBpZH1gO1xuICBhd2FpdCBmcy5wcm9taXNlcy53cml0ZUZpbGUodG1wLCBjb250ZW50cyk7XG4gIGF3YWl0IGZzLnByb21pc2VzLnJlbmFtZSh0bXAsIGZpbGVOYW1lKTtcbn1cblxuZnVuY3Rpb24gcmVhZFNraXBGaWxlKGZpbGVQYXRoPzogc3RyaW5nKTogc3RyaW5nW10ge1xuICBpZiAoIWZpbGVQYXRoKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIHRyeSB7XG4gICAgcmV0dXJuIGZzLnJlYWRGaWxlU3luYyhmaWxlUGF0aCwgeyBlbmNvZGluZzogJ3V0Zi04JyB9KS5zcGxpdCgnXFxuJyk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBbXTtcbiAgfVxufVxuIl19
239
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWctdGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImludGVnLXRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQ0EsOEJBZ0dDO0FBa0JELG9DQUdDO0FBckpELHVDQUF5QjtBQUN6QiwyQ0FBNkI7QUFDN0IsdUNBQXlDO0FBRXpDLE1BQU0sVUFBVSxHQUFHO0lBQ2pCLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdELEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUM7SUFDdEQsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztDQUN2RCxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztLQUNqQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFFeEMsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQzFCLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHNCQUFzQixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM3RSxDQUFDO0FBRUQsc0ZBQXNGO0FBQ3RGLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxLQUFLLE1BQU0sQ0FBQztBQUVuRCxzRUFBc0U7QUFDdEUsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDO0FBVW5COztHQUVHO0FBQ0gsU0FBZ0IsU0FBUyxDQUN2QixJQUFZLEVBQ1os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QUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IE1lbW9yeVN0cmVhbSB9IGZyb20gJy4vY29ya2luZyc7XG5cbmNvbnN0IFNLSVBfVEVTVFMgPSBbXG4gIC4uLnJlYWRTa2lwRmlsZShwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4nLCAnc2tpcC10ZXN0cy50eHQnKSksXG4gIC4uLnJlYWRTa2lwRmlsZShwcm9jZXNzLmVudi5DREtfSU5URUdfU0tJUF9URVNUU19GSUxFKSxcbiAgLi4uKHByb2Nlc3MuZW52LkNES19JTlRFR19TS0lQX1RFU1RTID8/ICcnKS5zcGxpdCgnLCcpLFxuXS5tYXAoeCA9PiB4LnRyaW0oKSlcbiAgLmZpbHRlcih4ID0+IHggJiYgIXguc3RhcnRzV2l0aCgnIycpKTtcblxuaWYgKFNLSVBfVEVTVFMubGVuZ3RoID4gMCkge1xuICBwcm9jZXNzLnN0ZGVyci53cml0ZShg4oS577iPIFNraXBwaW5nIHRlc3RzOiAke0pTT04uc3RyaW5naWZ5KFNLSVBfVEVTVFMpfVxcbmApO1xufVxuXG4vLyBXaGV0aGVyIHdlIHdhbnQgdG8gc3RvcCBhZnRlciB0aGUgZmlyc3QgZmFpbHVyZSwgZm9yIHF1aWNrZXIgZGVidWdnaW5nIChob3BlZnVsbHkpLlxuY29uc3QgRkFJTF9GQVNUID0gcHJvY2Vzcy5lbnYuRkFJTF9GQVNUID09PSAndHJ1ZSc7XG5cbi8vIEtlZXAgdHJhY2sgb2Ygd2hldGhlciB0aGUgc3VpdGUgaGFzIGZhaWxlZC4gSWYgc28sIHdlIHN0b3AgcnVubmluZy5cbmxldCBmYWlsZWQgPSBmYWxzZTtcblxuZXhwb3J0IGludGVyZmFjZSBUZXN0Q29udGV4dCB7XG4gIHJlYWRvbmx5IHJhbmRvbVN0cmluZzogc3RyaW5nO1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG91dHB1dDogTm9kZUpTLldyaXRhYmxlU3RyZWFtO1xuICBsb2coczogc3RyaW5nKTogdm9pZDtcbiAgcmVwb3J0V2FpdFRpbWUobXM6IG51bWJlcik6IHZvaWQ7XG59XG5cbi8qKlxuICogQSB3cmFwcGVyIGZvciBqZXN0J3MgJ3Rlc3QnIHdoaWNoIHRha2VzIHJlZ3Jlc3Npb24tZGlzYWJsZWQgdGVzdHMgaW50byBhY2NvdW50IGFuZCBwcmludHMgYSBiYW5uZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGludGVnVGVzdChcbiAgbmFtZTogc3RyaW5nLFxuICBjYWxsYmFjazogKGNvbnRleHQ6IFRlc3RDb250ZXh0KSA9PiBQcm9taXNlPHZvaWQ+LFxuICB0aW1lb3V0TWlsbGlzPzogbnVtYmVyLFxuKTogdm9pZCB7XG4gIGNvbnN0IHJ1bm5lciA9IHNob3VsZFNraXAobmFtZSkgPyB0ZXN0LnNraXAgOiB0ZXN0O1xuXG4gIGplc3QucmV0cnlUaW1lcyhwYXJzZUludChwcm9jZXNzLmVudi5KRVNUX1JFVFJZX1RJTUVTID8/ICcwJykpO1xuXG4gIHJ1bm5lcihuYW1lLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb3V0cHV0ID0gbmV3IE1lbW9yeVN0cmVhbSgpO1xuXG4gICAgb3V0cHV0LndyaXRlKCc9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XFxuJyk7XG4gICAgb3V0cHV0LndyaXRlKGAke25hbWV9XFxuYCk7XG4gICAgb3V0cHV0LndyaXRlKCc9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XFxuJyk7XG5cbiAgICBjb25zdCBzdGFydCA9IERhdGUubm93KCk7XG4gICAgbGV0IHdhaXRUaW1lID0gMDtcblxuICAgIHByb2Nlc3Muc3RkZXJyLndyaXRlKGBbSU5URUcgVEVTVDo6JHtuYW1lfV0gU3RhcnRpbmcgKHBpZCAke3Byb2Nlc3MucGlkfSkuLi5cXG5gKTtcbiAgICBtYXliZVByaW50TWVtb3J5VXNhZ2UobmFtZSk7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChGQUlMX0ZBU1QgJiYgZmFpbGVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRkFJTF9GQVNUIHJlcXVlc3RlZCBhbmQgY3VycmVudGx5IGZhaWxpbmcuIFN0b3BwaW5nIHRlc3QgZWFybHkuJyk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJldCA9IGF3YWl0IGNhbGxiYWNrKHtcbiAgICAgICAgb3V0cHV0LFxuICAgICAgICByYW5kb21TdHJpbmc6IHJhbmRvbVN0cmluZygpLFxuICAgICAgICBuYW1lLFxuICAgICAgICBsb2coczogc3RyaW5nKSB7XG4gICAgICAgICAgb3V0cHV0LndyaXRlKGAke3N9XFxuYCk7XG4gICAgICAgIH0sXG4gICAgICAgIHJlcG9ydFdhaXRUaW1lKG4pIHtcbiAgICAgICAgICB3YWl0VGltZSArPSBuO1xuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIGF3YWl0IHdyaXRlTG9nKG5hbWUsIHtcbiAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgb3V0cHV0OiBvdXRwdXQudG9TdHJpbmcoKSxcbiAgICAgICAgdG90YWxEdXJhdGlvbjogRGF0ZS5ub3coKSAtIHN0YXJ0LFxuICAgICAgICB3YWl0VGltZSxcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gcmV0O1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgLy8gUHJpbnQgdGhlIGJ1ZmZlcmVkIG91dHB1dCwgb25seSBpZiB0aGUgdGVzdCBmYWlscy5cbiAgICAgIGZhaWxlZCA9IHRydWU7XG5cbiAgICAgIG91dHB1dC53cml0ZShlLm1lc3NhZ2UpO1xuICAgICAgb3V0cHV0LndyaXRlKGUuc3RhY2spO1xuXG4gICAgICBhd2FpdCB3cml0ZUxvZyhuYW1lLCB7XG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICBvdXRwdXQ6IG91dHB1dC50b1N0cmluZygpLFxuICAgICAgICB0b3RhbER1cmF0aW9uOiBEYXRlLm5vdygpIC0gc3RhcnQsXG4gICAgICAgIHdhaXRUaW1lLFxuICAgICAgfSk7XG4gICAgICBwcm9jZXNzLnN0ZGVyci53cml0ZShgW0lOVEVHIFRFU1Q6OiR7bmFtZX1dIEZhaWxlZDogJHtlfVxcbmApO1xuXG4gICAgICBjb25zdCBpc0dpdEh1YiA9ICEhcHJvY2Vzcy5lbnYuR0lUSFVCX1JVTl9JRDtcblxuICAgICAgaWYgKGlzR2l0SHViKSB7XG4gICAgICAgIC8vIEdpdEh1YiBBY3Rpb25zIGNvbXBhdGlibGUgb3V0cHV0IGZvcm1hdHRpbmdcbiAgICAgICAgLy8gaHR0cHM6Ly9kb2NzLmdpdGh1Yi5jb20vZW4vYWN0aW9ucy93cml0aW5nLXdvcmtmbG93cy9jaG9vc2luZy13aGF0LXlvdXItd29ya2Zsb3ctZG9lcy93b3JrZmxvdy1jb21tYW5kcy1mb3ItZ2l0aHViLWFjdGlvbnMjc2V0dGluZy1hbi1lcnJvci1tZXNzYWdlXG4gICAgICAgIGxldCB3cml0dGVuID0gcHJvY2Vzcy5zdGRlcnIud3JpdGUoYDo6ZXJyb3IgdGl0bGU9RmFpbGVkICR7bmFtZX06OiR7ZS5tZXNzYWdlfVxcbmApO1xuICAgICAgICBpZiAoIXdyaXR0ZW4pIHtcbiAgICAgICAgICAvLyBXYWl0IGZvciBkcmFpblxuICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChvaykgPT4gcHJvY2Vzcy5zdGRlcnIub25jZSgnZHJhaW4nLCBvaykpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUHJpbnQgb3V0cHV0IG9ubHkgaWYgdGhlIHRlc3QgZmFpbHMuIFVzZSAnY29uc29sZS5sb2cnIHNvIHRoZSBvdXRwdXQgaXMgYnVmZmVyZWQgYnlcbiAgICAgICAgLy8gamVzdCBhbmQgcHJpbnRzIHdpdGhvdXQgYSBzdGFjayB0cmFjZSAoaWYgdmVyYm9zZTogZmFsc2UpLlxuICAgICAgICB3cml0dGVuID0gcHJvY2Vzcy5zdGRvdXQud3JpdGUoW1xuICAgICAgICAgIGA6Omdyb3VwOjpGYWlsdXJlIGRldGFpbHM6ICR7bmFtZX0gKGNsaWNrIHRvIGV4cGFuZClcXG5gLFxuICAgICAgICAgIGAke291dHB1dC5idWZmZXIoKS50b1N0cmluZygpfVxcbmAsXG4gICAgICAgICAgJzo6ZW5kZ3JvdXA6OlxcbicsXG4gICAgICAgIF0uam9pbignJykpO1xuICAgICAgICBpZiAoIXdyaXR0ZW4pIHtcbiAgICAgICAgICAvLyBXYWl0IGZvciBkcmFpblxuICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChvaykgPT4gcHJvY2Vzcy5zdGRvdXQub25jZSgnZHJhaW4nLCBvaykpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBVc2UgJ2NvbnNvbGUubG9nJyBzbyB0aGUgb3V0cHV0IGlzIGJ1ZmZlcmVkIGJ5XG4gICAgICAgIC8vIGplc3QgYW5kIHByaW50cyB3aXRob3V0IGEgc3RhY2sgdHJhY2UgKGlmIHZlcmJvc2U6IGZhbHNlKS5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgY29uc29sZS5sb2cob3V0cHV0LmJ1ZmZlcigpLnRvU3RyaW5nKCkpO1xuICAgICAgfVxuICAgICAgdGhyb3cgZTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgY29uc3QgZHVyYXRpb24gPSBEYXRlLm5vdygpIC0gc3RhcnQ7XG4gICAgICBwcm9jZXNzLnN0ZGVyci53cml0ZShgW0lOVEVHIFRFU1Q6OiR7bmFtZX1dIERvbmUgKCR7aHVtYW5UaW1lKGR1cmF0aW9uKX0pLlxcbmApO1xuICAgICAgbWF5YmVQcmludE1lbW9yeVVzYWdlKG5hbWUpO1xuICAgIH1cbiAgfSwgdGltZW91dE1pbGxpcyk7XG59XG5cbmZ1bmN0aW9uIHNob3VsZFNraXAodGVzdE5hbWU6IHN0cmluZykge1xuICByZXR1cm4gU0tJUF9URVNUUy5pbmNsdWRlcyh0ZXN0TmFtZSk7XG59XG5cbmZ1bmN0aW9uIG1heWJlUHJpbnRNZW1vcnlVc2FnZSh0ZXN0TmFtZTogc3RyaW5nKSB7XG4gIGlmIChwcm9jZXNzLmVudi5JTlRFR19NRU1PUllfREVCVUcgIT09ICd0cnVlJykge1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBtZW1vcnlVc2FnZSA9IHByb2Nlc3MubWVtb3J5VXNhZ2UoKSBhcyBhbnk7XG4gIGNvbnN0IHJlcG9ydDogYW55ID0ge307XG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKG1lbW9yeVVzYWdlKSkge1xuICAgIHJlcG9ydFtrZXldID0gYCR7TWF0aC5yb3VuZCh2YWx1ZSBhcyBudW1iZXIgLyAxMDI0IC8gMTAyNCl9IE1CYDtcbiAgfVxuICBwcm9jZXNzLnN0ZGVyci53cml0ZShgW0lOVEVHIFRFU1Q6OiR7dGVzdE5hbWV9XSBNZW1vcnkgVXNhZ2U6ICR7SlNPTi5zdHJpbmdpZnkocmVwb3J0KX1gKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJhbmRvbVN0cmluZygpIHtcbiAgLy8gQ3JhenlcbiAgcmV0dXJuIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnJlcGxhY2UoL1teYS16MC05XSsvZywgJycpO1xufVxuXG4vKipcbiAqIFdyaXRlIGxvZyBmaWxlc1xuICpcbiAqIFdyaXRlIGEgdGV4dCBsb2cgdG8gYCR7SU5URUdfTE9HU30vW0ZBSUxFRC1dZGVzY3JpcHRpb24tb2YtdGVzdC50eHRgLCBhbmQgYSBzaW5nbGVcbiAqIGxpbmUgb2YgYSBNYXJrZG93biB0YWJsZSB0byBgJHtJTlRFR19MT0dTfS9tZC8xLWRlc2NyaXB0aW9uLW9mLXRlc3QubWRgLlxuICpcbiAqIFRoZSBsYXR0ZXIgYXJlIGRlc2lnbmVkIHRvIGJlIGdsb2JjYXR0ZWQgdG8gJEdJVEhVQl9TVEVQX1NVTU1BUlkgYWZ0ZXIgdGVzdHNcbiAqICh3ZSBkb24ndCB3cml0ZSB0aGVyZSBkaXJlY3RseSB0byBhdm9pZCBjb25jdXJyZW5jeSBpc3N1ZXMgd2l0aCBtdWx0aXBsZSBwcm9jZXNzZXNcbiAqIHJlYWRpbmcgYW5kIG11dGF0aW5nIHRoZSBzYW1lIGZpbGUpLlxuICpcbiAqIFdlIGRvIHVzZSBgYXRvbWljV3JpdGVgIHRvIHdyaXRlIGZpbGVzIC0tIGl0J3Mgb25seSBuZWNlc3NhcnkgZm9yIHRoZSBoZWFkZXIgZmlsZSxcbiAqIHdoaWNoIGdldHMgb3ZlcndyaXR0ZW4gYnkgZXZlcnkgdGVzdCwganVzdCB0byBtYWtlIHN1cmUgaXQgcHJvcGVybHkgZXhpc3RzIChzaG91bGRuJ3RcbiAqIGVuZCB1cCBlbXB0eSBvciB3aXRoIGludGVybGVhdmVkIGNvbnRlbnRzKS4gVGhlIG90aGVyIHdyaXRlcyBhcmUgbm90XG4gKiBjb250ZW5kZWQgYW5kIGRvbid0IG5lZWQgdG8gYmUgYXRvbWljLCBidXQgdGhlIGZ1bmN0aW9uIGlzIGp1c3QgZXJnb25vbWljIHRvIHVzZS5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gd3JpdGVMb2codGVzdE5hbWU6IHN0cmluZywgcmVzdWx0OiB7XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIG91dHB1dDogc3RyaW5nO1xuICB0b3RhbER1cmF0aW9uOiBudW1iZXI7XG4gIHdhaXRUaW1lOiBudW1iZXI7XG59KSB7XG4gIGlmIChwcm9jZXNzLmVudi5JTlRFR19MT0dTKSB7XG4gICAgLy8gV3JpdGUgdGhlIGxvZyBmaWxlXG4gICAgY29uc3Qgc2x1ZyA9IHNsdWdpZnkodGVzdE5hbWUpO1xuICAgIGNvbnN0IGxvZ0ZpbGVOYW1lID0gYCR7cHJvY2Vzcy5lbnYuSU5URUdfTE9HU30vJHtyZXN1bHQuc3VjY2VzcyA/ICcnIDogJ0ZBSUxFRC0nfSR7c2x1Z30udHh0YDtcbiAgICBhd2FpdCBhdG9taWNXcml0ZShsb2dGaWxlTmFtZSwgcmVzdWx0Lm91dHB1dCk7XG5cbiAgICAvLyBXcml0ZSBhIHJvdyBmb3IgdGhlIG1hcmtkb3duIHRhYmxlXG4gICAgLy8gU29ydCBmYWlsdXJlcyBiZWZvcmUgc3VjY2Vzc2VzLCBhbmQgdGhlIHRhYmxlIGhlYWRlciBiZWZvcmUgYWxsXG4gICAgY29uc3QgbWRGaWxlTmFtZSA9IGAke3Byb2Nlc3MuZW52LklOVEVHX0xPR1N9L21kLyR7cmVzdWx0LnN1Y2Nlc3MgPyAnMicgOiAnMSd9LSR7c2x1Z30ubWRgO1xuICAgIGNvbnN0IGNvbHVtbnM6IEFycmF5PFtzdHJpbmcsIHN0cmluZ10+ID0gW1xuICAgICAgWydSZXN1bHQnLCByZXN1bHQuc3VjY2VzcyA/ICdwYXNzIOKchScgOiAnZmFpbCDinYwnXSxcbiAgICAgIFsnVGVzdCBOYW1lJywgdGVzdE5hbWVdLFxuICAgICAgWydUZXN0IER1cmF0aW9uJywgaHVtYW5UaW1lKHJlc3VsdC50b3RhbER1cmF0aW9uIC0gcmVzdWx0LndhaXRUaW1lKV0sXG4gICAgICBbJ1dhaXQgVGltZScsIHJlc3VsdC53YWl0VGltZSA+IDAgPyBodW1hblRpbWUocmVzdWx0LndhaXRUaW1lKSA6ICctJ10sXG4gICAgXTtcbiAgICBhd2FpdCBhdG9taWNXcml0ZShgJHtwcm9jZXNzLmVudi5JTlRFR19MT0dTfS9tZC8wLWhlYWRlci5tZGAsIFtcbiAgICAgIGB8ICR7Y29sdW1ucy5tYXAoKFtjb2wsIF92YWxdKSA9PiBjb2wpLmpvaW4oJyB8ICcpfSB8YCxcbiAgICAgIGB8ICR7Y29sdW1ucy5tYXAoKCkgPT4gJy0tLS0tLS0tLS0tJykuam9pbignIHwgJyl9IHxgLFxuICAgIF0ubWFwKHggPT4gYCR7eH1cXG5gKS5qb2luKCcnKSk7XG4gICAgYXdhaXQgYXRvbWljV3JpdGUobWRGaWxlTmFtZSxcbiAgICAgIGB8ICR7Y29sdW1ucy5tYXAoKFtfY29sLCB2YWxdKSA9PiB2YWwpLmpvaW4oJyB8ICcpfSB8XFxuYCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaHVtYW5UaW1lKGRlbHRhOiBudW1iZXIpIHtcbiAgY29uc3QgY29tcG9uZW50cyA9IFtdO1xuXG4gIGNvbnN0IFMgPSAxMDAwO1xuICBjb25zdCBNID0gNjAgKiBTO1xuICBjb25zdCBIID0gNjAgKiBNO1xuXG4gIGNvbnN0IGhvdXJzID0gTWF0aC5mbG9vcihkZWx0YSAvIEgpO1xuICBpZiAoaG91cnMgPiAwKSB7XG4gICAgY29tcG9uZW50cy5wdXNoKGAke2hvdXJzfWhgKTtcbiAgICBkZWx0YSAtPSBob3VycyAqIEg7XG4gIH1cbiAgY29uc3QgbWludXRlcyA9IE1hdGguZmxvb3IoZGVsdGEgLyBNKTtcbiAgaWYgKG1pbnV0ZXMgPiAwKSB7XG4gICAgY29tcG9uZW50cy5wdXNoKGAke21pbnV0ZXN9bWApO1xuICAgIGRlbHRhIC09IG1pbnV0ZXMgKiBNO1xuICB9XG4gIGNvbnN0IHNlY29uZHMgPSBNYXRoLmZsb29yKGRlbHRhIC8gUyk7XG4gIGlmIChzZWNvbmRzID4gMCkge1xuICAgIGNvbXBvbmVudHMucHVzaChgJHtzZWNvbmRzfXNgKTtcbiAgICBkZWx0YSAtPSBzZWNvbmRzICogUztcbiAgfVxuICBjb21wb25lbnRzLnB1c2goYCR7ZGVsdGF9bXNgKTtcblxuICAvLyBSZXRhaW4gdGhlIDIgbW9zdCBzaWduaWZpY2FudCBjb21wb25lbnRzXG4gIHJldHVybiBjb21wb25lbnRzLnNsaWNlKDAsIDIpLmpvaW4oJycpO1xufVxuXG5mdW5jdGlvbiBzbHVnaWZ5KHg6IHN0cmluZykge1xuICByZXR1cm4geC5yZXBsYWNlKC9bXmEtekEtWjAtOV8sXSsvZywgJy0nKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gYXRvbWljV3JpdGUoZmlsZU5hbWU6IHN0cmluZywgY29udGVudHM6IHN0cmluZykge1xuICBhd2FpdCBmcy5wcm9taXNlcy5ta2RpcihwYXRoLmRpcm5hbWUoZmlsZU5hbWUpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICBjb25zdCB0bXAgPSBgJHtmaWxlTmFtZX0uJHtwcm9jZXNzLnBpZH1gO1xuICBhd2FpdCBmcy5wcm9taXNlcy53cml0ZUZpbGUodG1wLCBjb250ZW50cyk7XG4gIGF3YWl0IGZzLnByb21pc2VzLnJlbmFtZSh0bXAsIGZpbGVOYW1lKTtcbn1cblxuZnVuY3Rpb24gcmVhZFNraXBGaWxlKGZpbGVQYXRoPzogc3RyaW5nKTogc3RyaW5nW10ge1xuICBpZiAoIWZpbGVQYXRoKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIHRyeSB7XG4gICAgcmV0dXJuIGZzLnJlYWRGaWxlU3luYyhmaWxlUGF0aCwgeyBlbmNvZGluZzogJ3V0Zi04JyB9KS5zcGxpdCgnXFxuJyk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBbXTtcbiAgfVxufVxuIl19
package/lib/npm.js CHANGED
@@ -1,11 +1,44 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.npmMostRecentMatching = npmMostRecentMatching;
4
37
  exports.npmQueryInstalledVersion = npmQueryInstalledVersion;
5
38
  exports.typescriptVersionsSync = typescriptVersionsSync;
6
39
  exports.typescriptVersionsYoungerThanDaysSync = typescriptVersionsYoungerThanDaysSync;
7
40
  const child_process_1 = require("child_process");
8
- const semver = require("semver");
41
+ const semver = __importStar(require("semver"));
9
42
  const shell_1 = require("./shell");
10
43
  const MINIMUM_VERSION = '3.9';
11
44
  async function npmMostRecentMatching(packageName, range) {
@@ -67,4 +100,4 @@ function typescriptVersionsYoungerThanDaysSync(days, versions) {
67
100
  function reQuote(str) {
68
101
  return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
69
102
  }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibnBtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBTUEsc0RBbUJDO0FBRUQsNERBU0M7QUFLRCx3REFLQztBQUtELHNGQW1CQztBQXRFRCxpREFBMEM7QUFDMUMsaUNBQWlDO0FBQ2pDLG1DQUFnQztBQUVoQyxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUM7QUFFdkIsS0FBSyxVQUFVLHFCQUFxQixDQUFDLFdBQW1CLEVBQUUsS0FBYTtJQUM1RSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBQSxhQUFLLEVBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsV0FBVyxJQUFJLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsRUFBRTtRQUMxSSxJQUFJLEVBQUUsT0FBTztRQUNiLGFBQWEsRUFBRSxLQUFLO0tBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBRUosSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUMvQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLFdBQVcsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxrRkFBa0Y7SUFDbEYsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsRUFB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QyxDQUFDO1FBQ25ELE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFTLE9BQU8sQ0FBQyxHQUFXO0lBQzFCLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNwRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc3Bhd25TeW5jIH0gZnJvbSAnY2hpbGRfcHJvY2Vzcyc7XG5pbXBvcnQgKiBhcyBzZW12ZXIgZnJvbSAnc2VtdmVyJztcbmltcG9ydCB7IHNoZWxsIH0gZnJvbSAnLi9zaGVsbCc7XG5cbmNvbnN0IE1JTklNVU1fVkVSU0lPTiA9ICczLjknO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbnBtTW9zdFJlY2VudE1hdGNoaW5nKHBhY2thZ2VOYW1lOiBzdHJpbmcsIHJhbmdlOiBzdHJpbmcpIHtcbiAgY29uc3Qgb3V0cHV0ID0gSlNPTi5wYXJzZShhd2FpdCBzaGVsbChbJ25vZGUnLCByZXF1aXJlLnJlc29sdmUoJ25wbScpLCAnLS1zaWxlbnQnLCAndmlldycsIGAke3BhY2thZ2VOYW1lfUAke3JhbmdlfWAsICd2ZXJzaW9uJywgJy0tanNvbiddLCB7XG4gICAgc2hvdzogJ2Vycm9yJyxcbiAgICBjYXB0dXJlU3RkZXJyOiBmYWxzZSxcbiAgfSkpO1xuXG4gIGlmICh0eXBlb2Ygb3V0cHV0ID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBvdXRwdXQ7XG4gIH1cbiAgaWYgKCFBcnJheS5pc0FycmF5KG91dHB1dCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIGFycmF5IGZyb20gbnBtLCBnb3Q6ICR7SlNPTi5zdHJpbmdpZnkob3V0cHV0KX1gKTtcbiAgfVxuICBpZiAob3V0cHV0Lmxlbmd0aCA9PT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRm91bmQgbm8gcGFja2FnZSBtYXRjaGluZyAke3BhY2thZ2VOYW1lfUAke3JhbmdlfWApO1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlIGFuIGFycmF5IHRoYXQgbWF5IG9yIG1heSBub3QgYmUgc29ydGVkLiBTb3J0IGl0IHRoZW4gZ2V0IHRoZSB0b3Agb25lLlxuICBvdXRwdXQuc29ydCgoYTogc3RyaW5nLCBiOiBzdHJpbmcpID0+IHNlbXZlci5jb21wYXJlKGEsIGIpKTtcbiAgcmV0dXJuIG91dHB1dFtvdXRwdXQubGVuZ3RoIC0gMV07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBucG1RdWVyeUluc3RhbGxlZFZlcnNpb24ocGFja2FnZU5hbWU6IHN0cmluZywgZGlyOiBzdHJpbmcpIHtcbiAgY29uc3QgcmVwb3J0U3RyID0gYXdhaXQgc2hlbGwoWydub2RlJywgcmVxdWlyZS5yZXNvbHZlKCducG0nKSwgJ2xpc3QnLCAnLS1qc29uJywgJy0tZGVwdGgnLCAnMCcsIHBhY2thZ2VOYW1lXSwge1xuICAgIGN3ZDogZGlyLFxuICAgIHNob3c6ICdlcnJvcicsXG4gICAgY2FwdHVyZVN0ZGVycjogZmFsc2UsXG4gICAgb3V0cHV0czogW3Byb2Nlc3Muc3RkZXJyXSxcbiAgfSk7XG4gIGNvbnN0IHJlcG9ydCA9IEpTT04ucGFyc2UocmVwb3J0U3RyKTtcbiAgcmV0dXJuIHJlcG9ydC5kZXBlbmRlbmNpZXNbcGFja2FnZU5hbWVdLnZlcnNpb247XG59XG5cbi8qKlxuICogVXNlIE5QTSBwcmVpbnN0YWxsZWQgb24gdGhlIG1hY2hpbmUgdG8gbG9vayB1cCBhIGxpc3Qgb2YgVHlwZVNjcmlwdCB2ZXJzaW9uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdHlwZXNjcmlwdFZlcnNpb25zU3luYygpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IHsgc3Rkb3V0IH0gPSBzcGF3blN5bmMoJ25wbScsIFsnLS1zaWxlbnQnLCAndmlldycsIGB0eXBlc2NyaXB0QD49JHtNSU5JTVVNX1ZFUlNJT059YCwgJ3ZlcnNpb24nLCAnLS1qc29uJ10sIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSk7XG5cbiAgY29uc3QgdmVyc2lvbnM6IHN0cmluZ1tdID0gSlNPTi5wYXJzZShzdGRvdXQpO1xuICByZXR1cm4gQXJyYXkuZnJvbShuZXcgU2V0KHZlcnNpb25zLm1hcCh2ID0+IHYuc3BsaXQoJy4nKS5zbGljZSgwLCAyKS5qb2luKCcuJykpKSk7XG59XG5cbi8qKlxuICogVXNlIE5QTSBwcmVpbnN0YWxsZWQgb24gdGhlIG1hY2hpbmUgdG8gcXVlcnkgcHVibGlzaCB0aW1lcyBvZiB2ZXJzaW9uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdHlwZXNjcmlwdFZlcnNpb25zWW91bmdlclRoYW5EYXlzU3luYyhkYXlzOiBudW1iZXIsIHZlcnNpb25zOiBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgY29uc3QgeyBzdGRvdXQgfSA9IHNwYXduU3luYygnbnBtJywgWyctLXNpbGVudCcsICd2aWV3JywgJ3R5cGVzY3JpcHQnLCAndGltZScsICctLWpzb24nXSwgeyBlbmNvZGluZzogJ3V0Zi04JyB9KTtcbiAgY29uc3QgdmVyc2lvblRzTWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0gSlNPTi5wYXJzZShzdGRvdXQpO1xuXG4gIGNvbnN0IGN1dG9mZkRhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpIC0gKGRheXMgKiAyNCAqIDM2MDAgKiAxMDAwKSk7XG4gIGNvbnN0IGN1dG9mZkRhdGVTID0gY3V0b2ZmRGF0ZS50b0lTT1N0cmluZygpO1xuXG4gIGNvbnN0IHJlY2VudFZlcnNpb25zID0gT2JqZWN0LmVudHJpZXModmVyc2lvblRzTWFwKVxuICAgIC5maWx0ZXIoKFtfLCBkYXRlU10pID0+IGRhdGVTID4gY3V0b2ZmRGF0ZVMpXG4gICAgLm1hcCgoW3ZdKSA9PiB2KTtcblxuICAvLyBJbnB1dCB2ZXJzaW9ucyBhcmUgb2YgdGhlIGZvcm0gMy45LCA1LjIsIGV0Yy5cbiAgLy8gQWN0dWFsIHZlcnNpb25zIGFyZSBvZiB0aGUgZm9ybSBgMy45LjE1YCwgYDUuMy4wLWRldi4yMDUxMTMxMWAuXG4gIC8vIFJldHVybiBvbmx5IDItZGlnaXQgdmVyc2lvbnMgZm9yIHdoaWNoIHRoZXJlIGlzIGEgbm9uLXByZXJlbGVhc2UgdmVyc2lvbiBpbiB0aGUgc2V0IG9mIHJlY2VudFZlcnNpb25zXG4gIC8vIFNvIGEgMi1kaWdpdCB2ZXJzaW9ucyB0aGF0IGlzIGZvbGxvd2VkIGJ5IGAuPGRpZ2l0cz5gIHVudGlsIHRoZSBlbmQgb2YgdGhlIHN0cmluZy5cbiAgcmV0dXJuIHZlcnNpb25zLmZpbHRlcigodHdvVikgPT4ge1xuICAgIGNvbnN0IHJlID0gbmV3IFJlZ0V4cChgXiR7cmVRdW90ZSh0d29WKX1cXFxcLlxcXFxkKyRgKTtcbiAgICByZXR1cm4gcmVjZW50VmVyc2lvbnMuc29tZShmdWxsViA9PiBmdWxsVi5tYXRjaChyZSkpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gcmVRdW90ZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBzdHIucmVwbGFjZSgvWy4qKz9eJHt9KCl8W1xcXVxcXFxdL2csICdcXFxcJCYnKTtcbn1cbiJdfQ==
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibnBtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTUEsc0RBbUJDO0FBRUQsNERBU0M7QUFLRCx3REFLQztBQUtELHNGQW1CQztBQXRFRCxpREFBMEM7QUFDMUMsK0NBQWlDO0FBQ2pDLG1DQUFnQztBQUVoQyxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUM7QUFFdkIsS0FBSyxVQUFVLHFCQUFxQixDQUFDLFdBQW1CLEVBQUUsS0FBYTtJQUM1RSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBQSxhQUFLLEVBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsV0FBVyxJQUFJLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsRUFBRTtRQUMxSSxJQUFJLEVBQUUsT0FBTztRQUNiLGFBQWEsRUFBRSxLQUFLO0tBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBRUosSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUMvQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLFdBQVcsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxrRkFBa0Y7SUFDbEYsTUFBTSxDQUFDLElBQUks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SUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25ELE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFTLE9BQU8sQ0FBQyxHQUFXO0lBQzFCLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNwRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc3Bhd25TeW5jIH0gZnJvbSAnY2hpbGRfcHJvY2Vzcyc7XG5pbXBvcnQgKiBhcyBzZW12ZXIgZnJvbSAnc2VtdmVyJztcbmltcG9ydCB7IHNoZWxsIH0gZnJvbSAnLi9zaGVsbCc7XG5cbmNvbnN0IE1JTklNVU1fVkVSU0lPTiA9ICczLjknO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbnBtTW9zdFJlY2VudE1hdGNoaW5nKHBhY2thZ2VOYW1lOiBzdHJpbmcsIHJhbmdlOiBzdHJpbmcpIHtcbiAgY29uc3Qgb3V0cHV0ID0gSlNPTi5wYXJzZShhd2FpdCBzaGVsbChbJ25vZGUnLCByZXF1aXJlLnJlc29sdmUoJ25wbScpLCAnLS1zaWxlbnQnLCAndmlldycsIGAke3BhY2thZ2VOYW1lfUAke3JhbmdlfWAsICd2ZXJzaW9uJywgJy0tanNvbiddLCB7XG4gICAgc2hvdzogJ2Vycm9yJyxcbiAgICBjYXB0dXJlU3RkZXJyOiBmYWxzZSxcbiAgfSkpO1xuXG4gIGlmICh0eXBlb2Ygb3V0cHV0ID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBvdXRwdXQ7XG4gIH1cbiAgaWYgKCFBcnJheS5pc0FycmF5KG91dHB1dCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIGFycmF5IGZyb20gbnBtLCBnb3Q6ICR7SlNPTi5zdHJpbmdpZnkob3V0cHV0KX1gKTtcbiAgfVxuICBpZiAob3V0cHV0Lmxlbmd0aCA9PT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRm91bmQgbm8gcGFja2FnZSBtYXRjaGluZyAke3BhY2thZ2VOYW1lfUAke3JhbmdlfWApO1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlIGFuIGFycmF5IHRoYXQgbWF5IG9yIG1heSBub3QgYmUgc29ydGVkLiBTb3J0IGl0IHRoZW4gZ2V0IHRoZSB0b3Agb25lLlxuICBvdXRwdXQuc29ydCgoYTogc3RyaW5nLCBiOiBzdHJpbmcpID0+IHNlbXZlci5jb21wYXJlKGEsIGIpKTtcbiAgcmV0dXJuIG91dHB1dFtvdXRwdXQubGVuZ3RoIC0gMV07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBucG1RdWVyeUluc3RhbGxlZFZlcnNpb24ocGFja2FnZU5hbWU6IHN0cmluZywgZGlyOiBzdHJpbmcpIHtcbiAgY29uc3QgcmVwb3J0U3RyID0gYXdhaXQgc2hlbGwoWydub2RlJywgcmVxdWlyZS5yZXNvbHZlKCducG0nKSwgJ2xpc3QnLCAnLS1qc29uJywgJy0tZGVwdGgnLCAnMCcsIHBhY2thZ2VOYW1lXSwge1xuICAgIGN3ZDogZGlyLFxuICAgIHNob3c6ICdlcnJvcicsXG4gICAgY2FwdHVyZVN0ZGVycjogZmFsc2UsXG4gICAgb3V0cHV0czogW3Byb2Nlc3Muc3RkZXJyXSxcbiAgfSk7XG4gIGNvbnN0IHJlcG9ydCA9IEpTT04ucGFyc2UocmVwb3J0U3RyKTtcbiAgcmV0dXJuIHJlcG9ydC5kZXBlbmRlbmNpZXNbcGFja2FnZU5hbWVdLnZlcnNpb247XG59XG5cbi8qKlxuICogVXNlIE5QTSBwcmVpbnN0YWxsZWQgb24gdGhlIG1hY2hpbmUgdG8gbG9vayB1cCBhIGxpc3Qgb2YgVHlwZVNjcmlwdCB2ZXJzaW9uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdHlwZXNjcmlwdFZlcnNpb25zU3luYygpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IHsgc3Rkb3V0IH0gPSBzcGF3blN5bmMoJ25wbScsIFsnLS1zaWxlbnQnLCAndmlldycsIGB0eXBlc2NyaXB0QD49JHtNSU5JTVVNX1ZFUlNJT059YCwgJ3ZlcnNpb24nLCAnLS1qc29uJ10sIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSk7XG5cbiAgY29uc3QgdmVyc2lvbnM6IHN0cmluZ1tdID0gSlNPTi5wYXJzZShzdGRvdXQpO1xuICByZXR1cm4gQXJyYXkuZnJvbShuZXcgU2V0KHZlcnNpb25zLm1hcCh2ID0+IHYuc3BsaXQoJy4nKS5zbGljZSgwLCAyKS5qb2luKCcuJykpKSk7XG59XG5cbi8qKlxuICogVXNlIE5QTSBwcmVpbnN0YWxsZWQgb24gdGhlIG1hY2hpbmUgdG8gcXVlcnkgcHVibGlzaCB0aW1lcyBvZiB2ZXJzaW9uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdHlwZXNjcmlwdFZlcnNpb25zWW91bmdlclRoYW5EYXlzU3luYyhkYXlzOiBudW1iZXIsIHZlcnNpb25zOiBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgY29uc3QgeyBzdGRvdXQgfSA9IHNwYXduU3luYygnbnBtJywgWyctLXNpbGVudCcsICd2aWV3JywgJ3R5cGVzY3JpcHQnLCAndGltZScsICctLWpzb24nXSwgeyBlbmNvZGluZzogJ3V0Zi04JyB9KTtcbiAgY29uc3QgdmVyc2lvblRzTWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0gSlNPTi5wYXJzZShzdGRvdXQpO1xuXG4gIGNvbnN0IGN1dG9mZkRhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpIC0gKGRheXMgKiAyNCAqIDM2MDAgKiAxMDAwKSk7XG4gIGNvbnN0IGN1dG9mZkRhdGVTID0gY3V0b2ZmRGF0ZS50b0lTT1N0cmluZygpO1xuXG4gIGNvbnN0IHJlY2VudFZlcnNpb25zID0gT2JqZWN0LmVudHJpZXModmVyc2lvblRzTWFwKVxuICAgIC5maWx0ZXIoKFtfLCBkYXRlU10pID0+IGRhdGVTID4gY3V0b2ZmRGF0ZVMpXG4gICAgLm1hcCgoW3ZdKSA9PiB2KTtcblxuICAvLyBJbnB1dCB2ZXJzaW9ucyBhcmUgb2YgdGhlIGZvcm0gMy45LCA1LjIsIGV0Yy5cbiAgLy8gQWN0dWFsIHZlcnNpb25zIGFyZSBvZiB0aGUgZm9ybSBgMy45LjE1YCwgYDUuMy4wLWRldi4yMDUxMTMxMWAuXG4gIC8vIFJldHVybiBvbmx5IDItZGlnaXQgdmVyc2lvbnMgZm9yIHdoaWNoIHRoZXJlIGlzIGEgbm9uLXByZXJlbGVhc2UgdmVyc2lvbiBpbiB0aGUgc2V0IG9mIHJlY2VudFZlcnNpb25zXG4gIC8vIFNvIGEgMi1kaWdpdCB2ZXJzaW9ucyB0aGF0IGlzIGZvbGxvd2VkIGJ5IGAuPGRpZ2l0cz5gIHVudGlsIHRoZSBlbmQgb2YgdGhlIHN0cmluZy5cbiAgcmV0dXJuIHZlcnNpb25zLmZpbHRlcigodHdvVikgPT4ge1xuICAgIGNvbnN0IHJlID0gbmV3IFJlZ0V4cChgXiR7cmVRdW90ZSh0d29WKX1cXFxcLlxcXFxkKyRgKTtcbiAgICByZXR1cm4gcmVjZW50VmVyc2lvbnMuc29tZShmdWxsViA9PiBmdWxsVi5tYXRjaChyZSkpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gcmVRdW90ZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBzdHIucmVwbGFjZSgvWy4qKz9eJHt9KCl8W1xcXVxcXFxdL2csICdcXFxcJCYnKTtcbn1cbiJdfQ==