aws-delivlib 13.3.3 → 13.4.2

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 (65) hide show
  1. package/.gitattributes +22 -20
  2. package/cdk.out/{asset.663163693e04179c71265b44a325be7e6b8c4e90b081883a1b3f3393de2546ea → asset.7820644cf1fdec7cec290ed6fdd561e35f4015d4dcf03a20f8035dda3c0ac88a}/watcher-handler.d.ts +0 -0
  3. package/cdk.out/asset.7820644cf1fdec7cec290ed6fdd561e35f4015d4dcf03a20f8035dda3c0ac88a/watcher-handler.js +108 -0
  4. package/cdk.out/{asset.663163693e04179c71265b44a325be7e6b8c4e90b081883a1b3f3393de2546ea → asset.7820644cf1fdec7cec290ed6fdd561e35f4015d4dcf03a20f8035dda3c0ac88a}/watcher-handler.ts +0 -0
  5. package/cdk.out/asset.dc2e98009b027861f34e56eebb81faa5a3951ed9da80ce4a903a45de04268238/index.js +16465 -0
  6. package/cdk.out/cdk.out +1 -1
  7. package/cdk.out/delivlib-test.assets.json +9 -9
  8. package/cdk.out/delivlib-test.template.json +3 -3
  9. package/cdk.out/manifest.json +1840 -1840
  10. package/cdk.out/tree.json +412 -412
  11. package/lib/__tests__/build-spec.test.js +21 -2
  12. package/lib/__tests__/bump.test.js +21 -2
  13. package/lib/__tests__/canary.test.js +22 -3
  14. package/lib/__tests__/change-control-lambda/disable-transition.test.js +2 -1
  15. package/lib/__tests__/change-control-lambda/handler.test.js +23 -3
  16. package/lib/__tests__/chime-notifier.test.js +4 -3
  17. package/lib/__tests__/code-signing-cert.test.js +21 -2
  18. package/lib/__tests__/integ.delivlib.js +21 -2
  19. package/lib/__tests__/open-pgp-key-pair.test.js +21 -2
  20. package/lib/__tests__/pipeline.test.js +22 -3
  21. package/lib/__tests__/pr.test.js +21 -2
  22. package/lib/__tests__/publishing.test.js +38 -2
  23. package/lib/__tests__/registry-sync/ecr-mirror.test.js +21 -2
  24. package/lib/__tests__/registry-sync/mirror-source.test.js +21 -2
  25. package/lib/__tests__/shellable.test.js +22 -3
  26. package/lib/__tests__/test-stack.js +22 -3
  27. package/lib/change-control-lambda/disable-transition.js +21 -2
  28. package/lib/change-control-lambda/index.js +21 -2
  29. package/lib/change-controller.js +21 -2
  30. package/lib/chime-notifier/chime-notifier.js +22 -12
  31. package/lib/chime-notifier/chime-notifier.ts +1 -11
  32. package/lib/chime-notifier/{notifier-handler.d.ts → handler/notifier-handler.d.ts} +0 -0
  33. package/lib/chime-notifier/handler/notifier-handler.js +110 -0
  34. package/lib/chime-notifier/{notifier-handler.ts → handler/notifier-handler.ts} +4 -4
  35. package/lib/code-signing/certificate-signing-request.js +21 -2
  36. package/lib/code-signing/code-signing-certificate.js +21 -2
  37. package/lib/code-signing/private-key.js +21 -2
  38. package/lib/custom-resource-handlers/src/_cloud-formation.js +22 -3
  39. package/lib/custom-resource-handlers/src/_exec.js +22 -3
  40. package/lib/custom-resource-handlers/src/_rmrf.js +23 -4
  41. package/lib/custom-resource-handlers/src/certificate-signing-request.js +26 -7
  42. package/lib/custom-resource-handlers/src/certificate-signing-request.tsbuildinfo +1 -1
  43. package/lib/custom-resource-handlers/src/pgp-secret.js +27 -8
  44. package/lib/custom-resource-handlers/src/pgp-secret.tsbuildinfo +1 -1
  45. package/lib/custom-resource-handlers/src/private-key.js +26 -7
  46. package/lib/custom-resource-handlers/src/private-key.tsbuildinfo +1 -1
  47. package/lib/open-pgp-key-pair.js +21 -2
  48. package/lib/pipeline-notifications/chime.js +21 -2
  49. package/lib/pipeline-notifications/slack.js +21 -2
  50. package/lib/pipeline-watcher/handler/watcher-handler.js +21 -2
  51. package/lib/pipeline-watcher/watcher.js +21 -2
  52. package/lib/pipeline.d.ts +20 -6
  53. package/lib/pipeline.js +35 -10
  54. package/lib/pipeline.ts +34 -14
  55. package/lib/publishing/s3/publish.sh +2 -1
  56. package/lib/publishing.js +22 -3
  57. package/lib/pull-request/bump.js +21 -2
  58. package/lib/pull-request/merge-back.js +22 -3
  59. package/lib/pull-request/pr.js +21 -2
  60. package/lib/shellable.js +22 -3
  61. package/lib/util.js +23 -4
  62. package/package.json +36 -37
  63. package/cdk.out/asset.663163693e04179c71265b44a325be7e6b8c4e90b081883a1b3f3393de2546ea/watcher-handler.js +0 -89
  64. package/cdk.out/asset.d81bf2d4c389ecd69472cf4b27599e1ffbe0c1543104f45d035834e863f64ca7/index.js +0 -14129
  65. package/lib/chime-notifier/notifier-handler.js +0 -91
@@ -1,8 +1,26 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
2
21
  Object.defineProperty(exports, "__esModule", { value: true });
3
22
  exports.ChimeNotifier = void 0;
4
- const fs = require("fs");
5
- const path = require("path");
23
+ const path = __importStar(require("path"));
6
24
  const monocdk_1 = require("monocdk");
7
25
  /**
8
26
  * Send a message to a Chime room when a pipeline fails
@@ -18,7 +36,7 @@ class ChimeNotifier extends monocdk_1.Construct {
18
36
  const notifierLambda = new monocdk_1.aws_lambda.SingletonFunction(this, 'Default', {
19
37
  handler: 'index.handler',
20
38
  uuid: '0f4a3ee0-692e-4249-932f-a46a833886d8',
21
- code: monocdk_1.aws_lambda.Code.inline(stripComments(fs.readFileSync(path.join(__dirname, 'notifier-handler.js')).toString('utf8'))),
39
+ code: monocdk_1.aws_lambda.Code.fromAsset(path.join(__dirname, 'handler')),
22
40
  runtime: monocdk_1.aws_lambda.Runtime.NODEJS_12_X,
23
41
  timeout: monocdk_1.Duration.minutes(5),
24
42
  });
@@ -46,12 +64,4 @@ class ChimeNotifier extends monocdk_1.Construct {
46
64
  }
47
65
  }
48
66
  exports.ChimeNotifier = ChimeNotifier;
49
- /**
50
- * Strip comments from JS source code to keep its size small enough for inline code.
51
- *
52
- * At least get rid of the giant TypeScript source map.
53
- */
54
- function stripComments(x) {
55
- return x.replace(/\/\/.*$/g, '').replace(/\/\*.*\*\//gs, '');
56
- }
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpbWUtbm90aWZpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjaGltZS1ub3RpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLHFDQU9pQjtBQWlDakI7O0dBRUc7QUFDSCxNQUFhLGFBQWMsU0FBUSxtQkFBUztJQUMxQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXlCOztRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sT0FBTyxHQUFHLE1BQUEsS0FBSyxDQUFDLE9BQU8sbUNBQUksOEhBQThILENBQUM7UUFFaEssSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDaEMsK0ZBQStGO1lBQy9GLDhCQUE4QjtZQUM5QixNQUFNLGNBQWMsR0FBRyxJQUFJLG9CQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtnQkFDbkUsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLElBQUksRUFBRSxzQ0FBc0M7Z0JBQzVDLElBQUksRUFBRSxvQkFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUscUJBQXFCLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUN0SCxPQUFPLEVBQUUsb0JBQU0sQ0FBQyxPQUFPLENBQUMsV0FBVztnQkFDbkMsT0FBTyxFQUFFLGtCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQzthQUM3QixDQUFDLENBQUM7WUFFSCxjQUFjLENBQUMsZUFBZSxDQUFDLElBQUksaUJBQUcsQ0FBQyxlQUFlLENBQUM7Z0JBQ3JELE9BQU8sRUFBRSxDQUFDLG1DQUFtQyxFQUFFLG1DQUFtQyxDQUFDO2dCQUNuRixTQUFTLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQzthQUN4QyxDQUFDLENBQUMsQ0FBQztZQUVKLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLGdCQUFnQixFQUFFO2dCQUM5RCxNQUFNLEVBQUUsSUFBSSw0QkFBYyxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUU7b0JBQ3hELEtBQUssRUFBRSxvQkFBTSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUM7d0JBQ3ZDLGlCQUFpQjt3QkFDakIsT0FBTzt3QkFDUCxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7d0JBQzlCLDJCQUEyQjt3QkFDM0IsTUFBTSxFQUFFLG9CQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7cUJBQy9DLENBQUM7aUJBQ0gsQ0FBQztnQkFDRixZQUFZLEVBQUU7b0JBQ1osTUFBTSxFQUFFO3dCQUNOLEtBQUssRUFBRSxDQUFDLFFBQVEsQ0FBQztxQkFDbEI7aUJBQ0Y7YUFDRixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7Q0FDRjtBQXhDRCxzQ0F3Q0M7QUFFRDs7OztHQUlHO0FBQ0gsU0FBUyxhQUFhLENBQUMsQ0FBUztJQUM5QixPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDL0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQge1xuICBDb25zdHJ1Y3QsIER1cmF0aW9uLFxuICBhd3NfY29kZXBpcGVsaW5lIGFzIGNwaXBlbGluZSxcbiAgYXdzX2lhbSBhcyBpYW0sXG4gIGF3c19sYW1iZGEgYXMgbGFtYmRhLFxuICBhd3NfZXZlbnRzIGFzIGV2ZW50cyxcbiAgYXdzX2V2ZW50c190YXJnZXRzIGFzIGV2ZW50c190YXJnZXRzLFxufSBmcm9tICdtb25vY2RrJztcblxuZXhwb3J0IGludGVyZmFjZSBDaGltZU5vdGlmaWVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBDaGltZSB3ZWJob29rIFVSTHMgdG8gc2VuZCB0b1xuICAgKi9cbiAgcmVhZG9ubHkgd2ViaG9va1VybHM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSB0byBzZW5kIHRvIHRoZSBjaGFubmVscy5cbiAgICpcbiAgICogQ2FuIHVzZSB0aGUgZm9sbG93aW5nIHBsYWNlaG9sZGVyczpcbiAgICpcbiAgICogLSAkUElQRUxJTkU6IHRoZSBuYW1lIG9mIHRoZSBwaXBlbGluZVxuICAgKiAtICRSRVZJU0lPTjogZGVzY3JpcHRpb24gb2YgdGhlIGZhaWxpbmcgcmV2aXNpb25cbiAgICogLSAkQUNUSU9OOiBuYW1lIG9mIGZhaWxpbmcgYWN0aW9uXG4gICAqIC0gJFVSTDogbGluayB0byBmYWlsaW5nIGFjdGlvbiBkZXRhaWxzXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQSBkZWZhdWx0IG1lc3NhZ2VcbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYSBDaGltZU5vdGlmaWVyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hpbWVOb3RpZmllclByb3BzIGV4dGVuZHMgQ2hpbWVOb3RpZmllck9wdGlvbnMge1xuICAvKipcbiAgICogQ29kZSBQaXBlbGluZSB0byBsaXN0ZW4gdG9cbiAgICovXG4gIHJlYWRvbmx5IHBpcGVsaW5lOiBjcGlwZWxpbmUuSVBpcGVsaW5lO1xufVxuXG4vKipcbiAqIFNlbmQgYSBtZXNzYWdlIHRvIGEgQ2hpbWUgcm9vbSB3aGVuIGEgcGlwZWxpbmUgZmFpbHNcbiAqL1xuZXhwb3J0IGNsYXNzIENoaW1lTm90aWZpZXIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ2hpbWVOb3RpZmllclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IG1lc3NhZ2UgPSBwcm9wcy5tZXNzYWdlID8/ICcvbWQgQEFsbCBQaXBlbGluZSAqKiRQSVBFTElORSoqIGZhaWxlZCBpbiBhY3Rpb24gKiokQUNUSU9OKiouIExhdGVzdCBjaGFuZ2U6XFxuYGBgXFxuJFJFVklTSU9OXFxuYGBgXFxuKFtGYWlsdXJlIGRldGFpbHNdKCRVUkwpKSc7XG5cbiAgICBpZiAocHJvcHMud2ViaG9va1VybHMubGVuZ3RoID4gMCkge1xuICAgICAgLy8gUmV1c2UgdGhlIHNhbWUgTGFtYmRhIGNvZGUgZm9yIGFsbCBwaXBlbGluZXMsIHdlIHdpbGwgbW92ZSB0aGUgTGFtYmRhIHBhcmFtZXRlcml6YXRpb25zIGludG9cbiAgICAgIC8vIHRoZSBDbG91ZFdhdGNoIEV2ZW50IElucHV0LlxuICAgICAgY29uc3Qgbm90aWZpZXJMYW1iZGEgPSBuZXcgbGFtYmRhLlNpbmdsZXRvbkZ1bmN0aW9uKHRoaXMsICdEZWZhdWx0Jywge1xuICAgICAgICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXG4gICAgICAgIHV1aWQ6ICcwZjRhM2VlMC02OTJlLTQyNDktOTMyZi1hNDZhODMzODg2ZDgnLFxuICAgICAgICBjb2RlOiBsYW1iZGEuQ29kZS5pbmxpbmUoc3RyaXBDb21tZW50cyhmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKF9fZGlybmFtZSwgJ25vdGlmaWVyLWhhbmRsZXIuanMnKSkudG9TdHJpbmcoJ3V0ZjgnKSkpLFxuICAgICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfMTJfWCxcbiAgICAgICAgdGltZW91dDogRHVyYXRpb24ubWludXRlcyg1KSxcbiAgICAgIH0pO1xuXG4gICAgICBub3RpZmllckxhbWJkYS5hZGRUb1JvbGVQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbJ2NvZGVwaXBlbGluZTpHZXRQaXBlbGluZUV4ZWN1dGlvbicsICdjb2RlcGlwZWxpbmU6TGlzdEFjdGlvbkV4ZWN1dGlvbnMnXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbcHJvcHMucGlwZWxpbmUucGlwZWxpbmVBcm5dLFxuICAgICAgfSkpO1xuXG4gICAgICBwcm9wcy5waXBlbGluZS5vblN0YXRlQ2hhbmdlKGAke3RoaXMubm9kZS5wYXRofS1DaGltZU5vdGlmaWVyYCwge1xuICAgICAgICB0YXJnZXQ6IG5ldyBldmVudHNfdGFyZ2V0cy5MYW1iZGFGdW5jdGlvbihub3RpZmllckxhbWJkYSwge1xuICAgICAgICAgIGV2ZW50OiBldmVudHMuUnVsZVRhcmdldElucHV0LmZyb21PYmplY3Qoe1xuICAgICAgICAgICAgLy8gQWRkIHBhcmFtZXRlcnNcbiAgICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgICAgICB3ZWJob29rVXJsczogcHJvcHMud2ViaG9va1VybHMsXG4gICAgICAgICAgICAvLyBDb3B5IG92ZXIgXCJkZXRhaWxcIiBmaWVsZFxuICAgICAgICAgICAgZGV0YWlsOiBldmVudHMuRXZlbnRGaWVsZC5mcm9tUGF0aCgnJC5kZXRhaWwnKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSksXG4gICAgICAgIGV2ZW50UGF0dGVybjoge1xuICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgc3RhdGU6IFsnRkFJTEVEJ10sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFN0cmlwIGNvbW1lbnRzIGZyb20gSlMgc291cmNlIGNvZGUgdG8ga2VlcCBpdHMgc2l6ZSBzbWFsbCBlbm91Z2ggZm9yIGlubGluZSBjb2RlLlxuICpcbiAqIEF0IGxlYXN0IGdldCByaWQgb2YgdGhlIGdpYW50IFR5cGVTY3JpcHQgc291cmNlIG1hcC5cbiAqL1xuZnVuY3Rpb24gc3RyaXBDb21tZW50cyh4OiBzdHJpbmcpIHtcbiAgcmV0dXJuIHgucmVwbGFjZSgvXFwvXFwvLiokL2csICcnKS5yZXBsYWNlKC9cXC9cXCouKlxcKlxcLy9ncywgJycpO1xufVxuIl19
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpbWUtbm90aWZpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjaGltZS1ub3RpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkNBQTZCO0FBQzdCLHFDQU9pQjtBQWlDakI7O0dBRUc7QUFDSCxNQUFhLGFBQWMsU0FBUSxtQkFBUztJQUMxQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXlCOztRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sT0FBTyxHQUFHLE1BQUEsS0FBSyxDQUFDLE9BQU8sbUNBQUksOEhBQThILENBQUM7UUFFaEssSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDaEMsK0ZBQStGO1lBQy9GLDhCQUE4QjtZQUM5QixNQUFNLGNBQWMsR0FBRyxJQUFJLG9CQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtnQkFDbkUsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLElBQUksRUFBRSxzQ0FBc0M7Z0JBQzVDLElBQUksRUFBRSxvQkFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQzVELE9BQU8sRUFBRSxvQkFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXO2dCQUNuQyxPQUFPLEVBQUUsa0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQzdCLENBQUMsQ0FBQztZQUVILGNBQWMsQ0FBQyxlQUFlLENBQUMsSUFBSSxpQkFBRyxDQUFDLGVBQWUsQ0FBQztnQkFDckQsT0FBTyxFQUFFLENBQUMsbUNBQW1DLEVBQUUsbUNBQW1DLENBQUM7Z0JBQ25GLFNBQVMsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO2FBQ3hDLENBQUMsQ0FBQyxDQUFDO1lBRUosS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksZ0JBQWdCLEVBQUU7Z0JBQzlELE1BQU0sRUFBRSxJQUFJLDRCQUFjLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRTtvQkFDeEQsS0FBSyxFQUFFLG9CQUFNLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQzt3QkFDdkMsaUJBQWlCO3dCQUNqQixPQUFPO3dCQUNQLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVzt3QkFDOUIsMkJBQTJCO3dCQUMzQixNQUFNLEVBQUUsb0JBQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztxQkFDL0MsQ0FBQztpQkFDSCxDQUFDO2dCQUNGLFlBQVksRUFBRTtvQkFDWixNQUFNLEVBQUU7d0JBQ04sS0FBSyxFQUFFLENBQUMsUUFBUSxDQUFDO3FCQUNsQjtpQkFDRjthQUNGLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztDQUNGO0FBeENELHNDQXdDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQge1xuICBDb25zdHJ1Y3QsIER1cmF0aW9uLFxuICBhd3NfY29kZXBpcGVsaW5lIGFzIGNwaXBlbGluZSxcbiAgYXdzX2lhbSBhcyBpYW0sXG4gIGF3c19sYW1iZGEgYXMgbGFtYmRhLFxuICBhd3NfZXZlbnRzIGFzIGV2ZW50cyxcbiAgYXdzX2V2ZW50c190YXJnZXRzIGFzIGV2ZW50c190YXJnZXRzLFxufSBmcm9tICdtb25vY2RrJztcblxuZXhwb3J0IGludGVyZmFjZSBDaGltZU5vdGlmaWVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBDaGltZSB3ZWJob29rIFVSTHMgdG8gc2VuZCB0b1xuICAgKi9cbiAgcmVhZG9ubHkgd2ViaG9va1VybHM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSB0byBzZW5kIHRvIHRoZSBjaGFubmVscy5cbiAgICpcbiAgICogQ2FuIHVzZSB0aGUgZm9sbG93aW5nIHBsYWNlaG9sZGVyczpcbiAgICpcbiAgICogLSAkUElQRUxJTkU6IHRoZSBuYW1lIG9mIHRoZSBwaXBlbGluZVxuICAgKiAtICRSRVZJU0lPTjogZGVzY3JpcHRpb24gb2YgdGhlIGZhaWxpbmcgcmV2aXNpb25cbiAgICogLSAkQUNUSU9OOiBuYW1lIG9mIGZhaWxpbmcgYWN0aW9uXG4gICAqIC0gJFVSTDogbGluayB0byBmYWlsaW5nIGFjdGlvbiBkZXRhaWxzXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQSBkZWZhdWx0IG1lc3NhZ2VcbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYSBDaGltZU5vdGlmaWVyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hpbWVOb3RpZmllclByb3BzIGV4dGVuZHMgQ2hpbWVOb3RpZmllck9wdGlvbnMge1xuICAvKipcbiAgICogQ29kZSBQaXBlbGluZSB0byBsaXN0ZW4gdG9cbiAgICovXG4gIHJlYWRvbmx5IHBpcGVsaW5lOiBjcGlwZWxpbmUuSVBpcGVsaW5lO1xufVxuXG4vKipcbiAqIFNlbmQgYSBtZXNzYWdlIHRvIGEgQ2hpbWUgcm9vbSB3aGVuIGEgcGlwZWxpbmUgZmFpbHNcbiAqL1xuZXhwb3J0IGNsYXNzIENoaW1lTm90aWZpZXIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ2hpbWVOb3RpZmllclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IG1lc3NhZ2UgPSBwcm9wcy5tZXNzYWdlID8/ICcvbWQgQEFsbCBQaXBlbGluZSAqKiRQSVBFTElORSoqIGZhaWxlZCBpbiBhY3Rpb24gKiokQUNUSU9OKiouIExhdGVzdCBjaGFuZ2U6XFxuYGBgXFxuJFJFVklTSU9OXFxuYGBgXFxuKFtGYWlsdXJlIGRldGFpbHNdKCRVUkwpKSc7XG5cbiAgICBpZiAocHJvcHMud2ViaG9va1VybHMubGVuZ3RoID4gMCkge1xuICAgICAgLy8gUmV1c2UgdGhlIHNhbWUgTGFtYmRhIGNvZGUgZm9yIGFsbCBwaXBlbGluZXMsIHdlIHdpbGwgbW92ZSB0aGUgTGFtYmRhIHBhcmFtZXRlcml6YXRpb25zIGludG9cbiAgICAgIC8vIHRoZSBDbG91ZFdhdGNoIEV2ZW50IElucHV0LlxuICAgICAgY29uc3Qgbm90aWZpZXJMYW1iZGEgPSBuZXcgbGFtYmRhLlNpbmdsZXRvbkZ1bmN0aW9uKHRoaXMsICdEZWZhdWx0Jywge1xuICAgICAgICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXG4gICAgICAgIHV1aWQ6ICcwZjRhM2VlMC02OTJlLTQyNDktOTMyZi1hNDZhODMzODg2ZDgnLFxuICAgICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJ2hhbmRsZXInKSksXG4gICAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18xMl9YLFxuICAgICAgICB0aW1lb3V0OiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgfSk7XG5cbiAgICAgIG5vdGlmaWVyTGFtYmRhLmFkZFRvUm9sZVBvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFsnY29kZXBpcGVsaW5lOkdldFBpcGVsaW5lRXhlY3V0aW9uJywgJ2NvZGVwaXBlbGluZTpMaXN0QWN0aW9uRXhlY3V0aW9ucyddLFxuICAgICAgICByZXNvdXJjZXM6IFtwcm9wcy5waXBlbGluZS5waXBlbGluZUFybl0sXG4gICAgICB9KSk7XG5cbiAgICAgIHByb3BzLnBpcGVsaW5lLm9uU3RhdGVDaGFuZ2UoYCR7dGhpcy5ub2RlLnBhdGh9LUNoaW1lTm90aWZpZXJgLCB7XG4gICAgICAgIHRhcmdldDogbmV3IGV2ZW50c190YXJnZXRzLkxhbWJkYUZ1bmN0aW9uKG5vdGlmaWVyTGFtYmRhLCB7XG4gICAgICAgICAgZXZlbnQ6IGV2ZW50cy5SdWxlVGFyZ2V0SW5wdXQuZnJvbU9iamVjdCh7XG4gICAgICAgICAgICAvLyBBZGQgcGFyYW1ldGVyc1xuICAgICAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgICAgIHdlYmhvb2tVcmxzOiBwcm9wcy53ZWJob29rVXJscyxcbiAgICAgICAgICAgIC8vIENvcHkgb3ZlciBcImRldGFpbFwiIGZpZWxkXG4gICAgICAgICAgICBkZXRhaWw6IGV2ZW50cy5FdmVudEZpZWxkLmZyb21QYXRoKCckLmRldGFpbCcpLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9KSxcbiAgICAgICAgZXZlbnRQYXR0ZXJuOiB7XG4gICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICBzdGF0ZTogWydGQUlMRUQnXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,4 +1,3 @@
1
- import * as fs from 'fs';
2
1
  import * as path from 'path';
3
2
  import {
4
3
  Construct, Duration,
@@ -55,7 +54,7 @@ export class ChimeNotifier extends Construct {
55
54
  const notifierLambda = new lambda.SingletonFunction(this, 'Default', {
56
55
  handler: 'index.handler',
57
56
  uuid: '0f4a3ee0-692e-4249-932f-a46a833886d8',
58
- code: lambda.Code.inline(stripComments(fs.readFileSync(path.join(__dirname, 'notifier-handler.js')).toString('utf8'))),
57
+ code: lambda.Code.fromAsset(path.join(__dirname, 'handler')),
59
58
  runtime: lambda.Runtime.NODEJS_12_X,
60
59
  timeout: Duration.minutes(5),
61
60
  });
@@ -84,12 +83,3 @@ export class ChimeNotifier extends Construct {
84
83
  }
85
84
  }
86
85
  }
87
-
88
- /**
89
- * Strip comments from JS source code to keep its size small enough for inline code.
90
- *
91
- * At least get rid of the giant TypeScript source map.
92
- */
93
- function stripComments(x: string) {
94
- return x.replace(/\/\/.*$/g, '').replace(/\/\*.*\*\//gs, '');
95
- }
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.handler = exports.codePipeline = void 0;
23
+ const https = __importStar(require("https"));
24
+ // eslint-disable-next-line import/no-extraneous-dependencies
25
+ const AWS = __importStar(require("aws-sdk"));
26
+ // export for tests
27
+ exports.codePipeline = new AWS.CodePipeline();
28
+ /**
29
+ * Lambda handler for the codepipeline state change events
30
+ *
31
+ * {
32
+ * "version": "0",
33
+ * "id": event_Id,
34
+ * "detail-type": "CodePipeline Pipeline Execution State Change",
35
+ * "source": "aws.codepipeline",
36
+ * "account": Pipeline_Account,
37
+ * "time": TimeStamp,
38
+ * "region": "us-east-1",
39
+ * "resources": [
40
+ * "arn:aws:codepipeline:us-east-1:account_ID:myPipeline"
41
+ * ],
42
+ * "detail": {
43
+ * "pipeline": "myPipeline",
44
+ * "version": "1",
45
+ * "state": "STARTED",
46
+ * "execution-id": execution_Id
47
+ * }
48
+ * }
49
+ */
50
+ async function handler(event) {
51
+ var _a, _b, _c, _d, _e, _f, _g;
52
+ // Log the event so we can have a look in CloudWatch logs
53
+ process.stdout.write(`${JSON.stringify(event)}\n`);
54
+ const webhookUrls = event.webhookUrls || [];
55
+ if (webhookUrls.length === 0) {
56
+ throw new Error("Expected event field 'webhookUrls'");
57
+ }
58
+ const messageTemplate = event.message;
59
+ if (!messageTemplate) {
60
+ throw new Error("Expected event field 'message'");
61
+ }
62
+ const details = event.detail || {};
63
+ const pipelineName = details.pipeline;
64
+ const pipelineExecutionId = details['execution-id'];
65
+ if (!pipelineName || !pipelineExecutionId) {
66
+ process.stderr.write('Malformed event!\n');
67
+ return;
68
+ }
69
+ // Describe the revision that caused the pipeline to fail
70
+ const response = await exports.codePipeline.getPipelineExecution({ pipelineName, pipelineExecutionId }).promise();
71
+ process.stdout.write(`${JSON.stringify(response)}\n`);
72
+ const firstArtifact = ((_b = (_a = response.pipelineExecution) === null || _a === void 0 ? void 0 : _a.artifactRevisions) !== null && _b !== void 0 ? _b : [])[0];
73
+ const revisionSummary = (_d = (_c = firstArtifact === null || firstArtifact === void 0 ? void 0 : firstArtifact.revisionSummary) !== null && _c !== void 0 ? _c : firstArtifact === null || firstArtifact === void 0 ? void 0 : firstArtifact.revisionId) !== null && _d !== void 0 ? _d : `execution ${pipelineExecutionId}`;
74
+ // Find the action that caused the pipeline to fail (no pagination for now)
75
+ const actionResponse = await exports.codePipeline.listActionExecutions({ pipelineName, filter: { pipelineExecutionId } }).promise();
76
+ process.stdout.write(`${JSON.stringify(actionResponse)}\n`);
77
+ const failingActionDetails = (_e = actionResponse.actionExecutionDetails) === null || _e === void 0 ? void 0 : _e.find(d => d.status === 'Failed');
78
+ const failingAction = (failingActionDetails === null || failingActionDetails === void 0 ? void 0 : failingActionDetails.actionName) || 'UNKNOWN';
79
+ const failureUrl = ((_g = (_f = failingActionDetails === null || failingActionDetails === void 0 ? void 0 : failingActionDetails.output) === null || _f === void 0 ? void 0 : _f.executionResult) === null || _g === void 0 ? void 0 : _g.externalExecutionUrl) || '???';
80
+ const message = messageTemplate
81
+ .replace(/\$PIPELINE/g, pipelineName)
82
+ .replace(/\$REVISION/g, revisionSummary)
83
+ .replace(/\$ACTION/g, failingAction)
84
+ .replace(/\$URL/g, failureUrl);
85
+ // Post the failure to all given Chime webhook URLs
86
+ await Promise.all(webhookUrls.map(url => sendChimeNotification(url, message)));
87
+ }
88
+ exports.handler = handler;
89
+ async function sendChimeNotification(url, message) {
90
+ return new Promise((ok, ko) => {
91
+ const req = https.request(url, {
92
+ method: 'POST',
93
+ headers: {
94
+ 'Content-Type': 'application/json',
95
+ },
96
+ }, (res) => {
97
+ if (res.statusCode !== 200) {
98
+ ko(new Error(`Server responded with ${res.statusCode}: ${JSON.stringify(res.headers)}`));
99
+ }
100
+ res.setEncoding('utf8');
101
+ res.on('data', () => { });
102
+ res.on('error', ko);
103
+ res.on('end', ok);
104
+ });
105
+ req.on('error', ko);
106
+ req.write(JSON.stringify({ Content: message }));
107
+ req.end();
108
+ });
109
+ }
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpZXItaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm5vdGlmaWVyLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQUErQjtBQUMvQiw2REFBNkQ7QUFDN0QsNkNBQStCO0FBRy9CLG1CQUFtQjtBQUNOLFFBQUEsWUFBWSxHQUFHLElBQUksR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0FBRW5EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFDSSxLQUFLLFVBQVUsT0FBTyxDQUFDLEtBQVU7O0lBQ3RDLHlEQUF5RDtJQUN6RCxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRW5ELE1BQU0sV0FBVyxHQUFhLEtBQUssQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO0lBQ3RELElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7S0FBRTtJQUV4RixNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBQ3RDLElBQUksQ0FBQyxlQUFlLEVBQUU7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7S0FBRTtJQUU1RSxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUNuQyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ3RDLE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRXBELElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtRQUN6QyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzNDLE9BQU87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QUFHLEVBQUUsR0FBa0MsQ0FBQyxDQUFDLENBQUM7WUFDekQsR0FBRyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDcEIsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwQixHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNaLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGh0dHBzIGZyb20gJ2h0dHBzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcbmltcG9ydCAqIGFzIEFXUyBmcm9tICdhd3Mtc2RrJztcblxuXG4vLyBleHBvcnQgZm9yIHRlc3RzXG5leHBvcnQgY29uc3QgY29kZVBpcGVsaW5lID0gbmV3IEFXUy5Db2RlUGlwZWxpbmUoKTtcblxuLyoqXG4gKiBMYW1iZGEgaGFuZGxlciBmb3IgdGhlIGNvZGVwaXBlbGluZSBzdGF0ZSBjaGFuZ2UgZXZlbnRzXG4gKlxuICoge1xuICogICAgIFwidmVyc2lvblwiOiBcIjBcIixcbiAqICAgICBcImlkXCI6IGV2ZW50X0lkLFxuICogICAgIFwiZGV0YWlsLXR5cGVcIjogXCJDb2RlUGlwZWxpbmUgUGlwZWxpbmUgRXhlY3V0aW9uIFN0YXRlIENoYW5nZVwiLFxuICogICAgIFwic291cmNlXCI6IFwiYXdzLmNvZGVwaXBlbGluZVwiLFxuICogICAgIFwiYWNjb3VudFwiOiBQaXBlbGluZV9BY2NvdW50LFxuICogICAgIFwidGltZVwiOiBUaW1lU3RhbXAsXG4gKiAgICAgXCJyZWdpb25cIjogXCJ1cy1lYXN0LTFcIixcbiAqICAgICBcInJlc291cmNlc1wiOiBbXG4gKiAgICAgICAgIFwiYXJuOmF3czpjb2RlcGlwZWxpbmU6dXMtZWFzdC0xOmFjY291bnRfSUQ6bXlQaXBlbGluZVwiXG4gKiAgICAgXSxcbiAqICAgICBcImRldGFpbFwiOiB7XG4gKiAgICAgICAgIFwicGlwZWxpbmVcIjogXCJteVBpcGVsaW5lXCIsXG4gKiAgICAgICAgIFwidmVyc2lvblwiOiBcIjFcIixcbiAqICAgICAgICAgXCJzdGF0ZVwiOiBcIlNUQVJURURcIixcbiAqICAgICAgICAgXCJleGVjdXRpb24taWRcIjogZXhlY3V0aW9uX0lkXG4gKiAgICAgfVxuICogfVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlcihldmVudDogYW55KSB7XG4gIC8vIExvZyB0aGUgZXZlbnQgc28gd2UgY2FuIGhhdmUgYSBsb29rIGluIENsb3VkV2F0Y2ggbG9nc1xuICBwcm9jZXNzLnN0ZG91dC53cml0ZShgJHtKU09OLnN0cmluZ2lmeShldmVudCl9XFxuYCk7XG5cbiAgY29uc3Qgd2ViaG9va1VybHM6IHN0cmluZ1tdID0gZXZlbnQud2ViaG9va1VybHMgfHwgW107XG4gIGlmICh3ZWJob29rVXJscy5sZW5ndGggPT09IDApIHsgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgZXZlbnQgZmllbGQgJ3dlYmhvb2tVcmxzJ1wiKTsgfVxuXG4gIGNvbnN0IG1lc3NhZ2VUZW1wbGF0ZSA9IGV2ZW50Lm1lc3NhZ2U7XG4gIGlmICghbWVzc2FnZVRlbXBsYXRlKSB7IHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIGV2ZW50IGZpZWxkICdtZXNzYWdlJ1wiKTsgfVxuXG4gIGNvbnN0IGRldGFpbHMgPSBldmVudC5kZXRhaWwgfHwge307XG4gIGNvbnN0IHBpcGVsaW5lTmFtZSA9IGRldGFpbHMucGlwZWxpbmU7XG4gIGNvbnN0IHBpcGVsaW5lRXhlY3V0aW9uSWQgPSBkZXRhaWxzWydleGVjdXRpb24taWQnXTtcblxuICBpZiAoIXBpcGVsaW5lTmFtZSB8fCAhcGlwZWxpbmVFeGVjdXRpb25JZCkge1xuICAgIHByb2Nlc3Muc3RkZXJyLndyaXRlKCdNYWxmb3JtZWQgZXZlbnQhXFxuJyk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gRGVzY3JpYmUgdGhlIHJldmlzaW9uIHRoYXQgY2F1c2VkIHRoZSBwaXBlbGluZSB0byBmYWlsXG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY29kZVBpcGVsaW5lLmdldFBpcGVsaW5lRXhlY3V0aW9uKHsgcGlwZWxpbmVOYW1lLCBwaXBlbGluZUV4ZWN1dGlvbklkIH0pLnByb21pc2UoKTtcbiAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoYCR7SlNPTi5zdHJpbmdpZnkocmVzcG9uc2UpfVxcbmApO1xuICBjb25zdCBmaXJzdEFydGlmYWN0OiBBV1MuQ29kZVBpcGVsaW5lLkFydGlmYWN0UmV2aXNpb24gfCB1bmRlZmluZWQgPSAocmVzcG9uc2UucGlwZWxpbmVFeGVjdXRpb24/LmFydGlmYWN0UmV2aXNpb25zID8/IFtdKVswXTtcbiAgY29uc3QgcmV2aXNpb25TdW1tYXJ5ID0gZmlyc3RBcnRpZmFjdD8ucmV2aXNpb25TdW1tYXJ5ID8/IGZpcnN0QXJ0aWZhY3Q/LnJldmlzaW9uSWQgPz8gYGV4ZWN1dGlvbiAke3BpcGVsaW5lRXhlY3V0aW9uSWR9YDtcblxuICAvLyBGaW5kIHRoZSBhY3Rpb24gdGhhdCBjYXVzZWQgdGhlIHBpcGVsaW5lIHRvIGZhaWwgKG5vIHBhZ2luYXRpb24gZm9yIG5vdylcbiAgY29uc3QgYWN0aW9uUmVzcG9uc2UgPSBhd2FpdCBjb2RlUGlwZWxpbmUubGlzdEFjdGlvbkV4ZWN1dGlvbnMoeyBwaXBlbGluZU5hbWUsIGZpbHRlcjogeyBwaXBlbGluZUV4ZWN1dGlvbklkIH0gfSkucHJvbWlzZSgpO1xuICBwcm9jZXNzLnN0ZG91dC53cml0ZShgJHtKU09OLnN0cmluZ2lmeShhY3Rpb25SZXNwb25zZSl9XFxuYCk7XG4gIGNvbnN0IGZhaWxpbmdBY3Rpb25EZXRhaWxzID0gYWN0aW9uUmVzcG9uc2UuYWN0aW9uRXhlY3V0aW9uRGV0YWlscz8uZmluZChkID0+IGQuc3RhdHVzID09PSAnRmFpbGVkJyk7XG4gIGNvbnN0IGZhaWxpbmdBY3Rpb24gPSBmYWlsaW5nQWN0aW9uRGV0YWlscz8uYWN0aW9uTmFtZSB8fCAnVU5LTk9XTic7XG4gIGNvbnN0IGZhaWx1cmVVcmwgPSBmYWlsaW5nQWN0aW9uRGV0YWlscz8ub3V0cHV0Py5leGVjdXRpb25SZXN1bHQ/LmV4dGVybmFsRXhlY3V0aW9uVXJsIHx8ICc/Pz8nO1xuXG4gIGNvbnN0IG1lc3NhZ2UgPSBtZXNzYWdlVGVtcGxhdGVcbiAgICAucmVwbGFjZSgvXFwkUElQRUxJTkUvZywgcGlwZWxpbmVOYW1lKVxuICAgIC5yZXBsYWNlKC9cXCRSRVZJU0lPTi9nLCByZXZpc2lvblN1bW1hcnkpXG4gICAgLnJlcGxhY2UoL1xcJEFDVElPTi9nLCBmYWlsaW5nQWN0aW9uKVxuICAgIC5yZXBsYWNlKC9cXCRVUkwvZywgZmFpbHVyZVVybCk7XG5cbiAgLy8gUG9zdCB0aGUgZmFpbHVyZSB0byBhbGwgZ2l2ZW4gQ2hpbWUgd2ViaG9vayBVUkxzXG4gIGF3YWl0IFByb21pc2UuYWxsKHdlYmhvb2tVcmxzLm1hcCh1cmwgPT4gc2VuZENoaW1lTm90aWZpY2F0aW9uKHVybCwgbWVzc2FnZSkpKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc2VuZENoaW1lTm90aWZpY2F0aW9uKHVybDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChvaywga28pID0+IHtcbiAgICBjb25zdCByZXEgPSBodHRwcy5yZXF1ZXN0KHVybCwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICB9LFxuICAgIH0sIChyZXMpID0+IHtcbiAgICAgIGlmIChyZXMuc3RhdHVzQ29kZSAhPT0gMjAwKSB7XG4gICAgICAgIGtvKG5ldyBFcnJvcihgU2VydmVyIHJlc3BvbmRlZCB3aXRoICR7cmVzLnN0YXR1c0NvZGV9OiAke0pTT04uc3RyaW5naWZ5KHJlcy5oZWFkZXJzKX1gKSk7XG4gICAgICB9XG5cbiAgICAgIHJlcy5zZXRFbmNvZGluZygndXRmOCcpO1xuICAgICAgcmVzLm9uKCdkYXRhJywgKCkgPT4geyAvKiBnb2JibGUgZ29iYmxlIGFuZCBpZ25vcmUgKi8gfSk7XG4gICAgICByZXMub24oJ2Vycm9yJywga28pO1xuICAgICAgcmVzLm9uKCdlbmQnLCBvayk7XG4gICAgfSk7XG5cbiAgICByZXEub24oJ2Vycm9yJywga28pO1xuICAgIHJlcS53cml0ZShKU09OLnN0cmluZ2lmeSh7IENvbnRlbnQ6IG1lc3NhZ2UgfSkpO1xuICAgIHJlcS5lbmQoKTtcbiAgfSk7XG59XG4iXX0=
@@ -56,9 +56,9 @@ export async function handler(event: any) {
56
56
  // Find the action that caused the pipeline to fail (no pagination for now)
57
57
  const actionResponse = await codePipeline.listActionExecutions({ pipelineName, filter: { pipelineExecutionId } }).promise();
58
58
  process.stdout.write(`${JSON.stringify(actionResponse)}\n`);
59
- const failingActionDetails = (actionResponse.actionExecutionDetails || []).find(d => d.status === 'Failed');
60
- const failingAction = failingActionDetails?.actionName ?? 'UNKNOWN';
61
- const failureUrl = failingActionDetails?.output?.executionResult?.externalExecutionUrl ?? '???';
59
+ const failingActionDetails = actionResponse.actionExecutionDetails?.find(d => d.status === 'Failed');
60
+ const failingAction = failingActionDetails?.actionName || 'UNKNOWN';
61
+ const failureUrl = failingActionDetails?.output?.executionResult?.externalExecutionUrl || '???';
62
62
 
63
63
  const message = messageTemplate
64
64
  .replace(/\$PIPELINE/g, pipelineName)
@@ -92,4 +92,4 @@ async function sendChimeNotification(url: string, message: string) {
92
92
  req.write(JSON.stringify({ Content: message }));
93
93
  req.end();
94
94
  });
95
- }
95
+ }
@@ -1,7 +1,26 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
2
21
  Object.defineProperty(exports, "__esModule", { value: true });
3
22
  exports.CertificateSigningRequest = void 0;
4
- const path = require("path");
23
+ const path = __importStar(require("path"));
5
24
  const monocdk_1 = require("monocdk");
6
25
  const util_1 = require("../util");
7
26
  /**
@@ -59,4 +78,4 @@ class CertificateSigningRequest extends monocdk_1.Construct {
59
78
  }
60
79
  }
61
80
  exports.CertificateSigningRequest = CertificateSigningRequest;
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VydGlmaWNhdGUtc2lnbmluZy1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2VydGlmaWNhdGUtc2lnbmluZy1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUE2QjtBQUM3QixxQ0FJaUI7QUFDakIsa0NBQThDO0FBMkI5Qzs7Ozs7OztHQU9HO0FBQ0gsTUFBYSx5QkFBMEIsU0FBUSxtQkFBUztJQVF0RCxZQUFZLE1BQWlCLEVBQUUsRUFBVSxFQUFFLEtBQXFDO1FBQzlFLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFbEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLDBCQUEwQixFQUFFLEtBQUssRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO1FBQ3JILE1BQU0sY0FBYyxHQUFHLElBQUksb0JBQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUU7WUFDM0UsSUFBSSxFQUFFLHNDQUFzQztZQUM1QyxhQUFhLEVBQUUsV0FBVztZQUMxQixXQUFXLEVBQUUsd0VBQXdFO1lBQ3JGLE9BQU8sRUFBRSxvQkFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXO1lBQ25DLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLElBQUksRUFBRSxJQUFJLG9CQUFNLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQztZQUN4QyxPQUFPLEVBQUUsa0JBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQzlCLHFEQUFxRDtZQUNyRCxNQUFNLEVBQUUsQ0FBQyxJQUFJLG9CQUFNLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRTtvQkFDeEQsSUFBSSxFQUFFLG9CQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsMEJBQTBCLEVBQUUsUUFBUSxFQUFFLHVCQUF1QixDQUFDLENBQUM7aUJBQ3ZILENBQUMsQ0FBQztTQUNKLENBQUMsQ0FBQztRQUVILE1BQU0sR0FBRyxHQUFHLElBQUksNEJBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUNuRCxRQUFRLEVBQUUsNEJBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDO1lBQzNELFlBQVksRUFBRSxtQ0FBbUM7WUFDakQsVUFBVSxFQUFFO2dCQUNWLGVBQWUsRUFBRSxJQUFBLDBCQUFtQixFQUFDLFlBQVksQ0FBQztnQkFDbEQsY0FBYztnQkFDZCxrQkFBa0IsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLFNBQVM7Z0JBQzlDLHFCQUFxQjtnQkFDckIsWUFBWSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsVUFBVTtnQkFDakMsU0FBUyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTztnQkFDM0IsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxlQUFlO2dCQUMzQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxRQUFRO2dCQUM3QixrQkFBa0IsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLGdCQUFnQjtnQkFDN0Msd0JBQXdCLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxzQkFBc0I7Z0JBQ3pELGNBQWMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLFlBQVk7Z0JBQ3JDLFlBQVk7Z0JBQ1osZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixJQUFJLEVBQUU7Z0JBQzlDLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTthQUN6QjtTQUNGLENBQUMsQ0FBQztRQUNILElBQUksY0FBYyxDQUFDLElBQUksRUFBRTtZQUN2QiwyREFBMkQ7WUFDM0QsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVDLEtBQUssQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzNEO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakYsQ0FBQztDQUNGO0FBdkRELDhEQXVEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQge1xuICBDb25zdHJ1Y3QsIER1cmF0aW9uLFxuICBhd3NfY2xvdWRmb3JtYXRpb24gYXMgY2ZuLFxuICBhd3NfbGFtYmRhIGFzIGxhbWJkYSxcbn0gZnJvbSAnbW9ub2Nkayc7XG5pbXBvcnQgeyBoYXNoRmlsZU9yRGlyZWN0b3J5IH0gZnJvbSAnLi4vdXRpbCc7XG5pbXBvcnQgeyBSc2FQcml2YXRlS2V5U2VjcmV0IH0gZnJvbSAnLi9wcml2YXRlLWtleSc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0UHJvcHMge1xuICAvKipcbiAgICogVGhlIFJTQSBQcml2YXRlIEtleSB0byB1c2UgZm9yIHRoaXMgQ1NSLlxuICAgKi9cbiAgcHJpdmF0ZUtleTogUnNhUHJpdmF0ZUtleVNlY3JldDtcbiAgLyoqXG4gICAqIFRoZSBEaXN0aW5ndWlzaGVkIE5hbWUgZm9yIHRoaXMgQ1NSLlxuICAgKi9cbiAgZG46IERpc3Rpbmd1aXNoZWROYW1lO1xuICAvKipcbiAgICogVGhlIGtleSB1c2FnZSByZXF1ZXN0cyBmb3IgdGhpcyBDU1IuXG4gICAqXG4gICAqIEBleGFtcGxlIGNyaXRpY2FsLGRpZ2l0YWxTaWduYXR1cmVcbiAgICovXG4gIGtleVVzYWdlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgZXh0ZW5kZWQga2V5IHVzYWdlIHJlcXVlc3RzIGZvciB0aGlzIENTUi5cbiAgICpcbiAgICogQGV4YW1wbGUgY3JpdGljYWwsY29kZVNpZ25pbmdcbiAgICovXG4gIGV4dGVuZGVkS2V5VXNhZ2U/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIENlcnRpZmljYXRlIFNpZ25pbmcgUmVxdWVzdCAoQ1NSKSwgd2hpY2ggd2lsbCBhbGxvdyBhIENlcnRpZmljYXRlIEF1dGhvcml0eSB0byBwcm92aWRlIGEgc2lnbmVkIGNlcnRpZmljYXRlXG4gKiB0aGF0IHVzZXMgdGhlIHNwZWNpZmllZCBSU0EgUHJpdmF0ZSBLZXkuIEEgQ1NSIGRvY3VtZW50IGNhbiB1c3VhbGx5IGJlIHNoYXJlZCBwdWJsaWNseSwgaG93ZXZlciBpdCBtdXN0IGJlIG5vdGVkIHRoYXRcbiAqIHRoZSBpbmZvcm1hdGlvbiBwcm92aWRlZCBpbiB0aGUgYGBkbmBgIGZpZWxkcywgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHB1YmxpYyBrZXkgYW5kIHRoZSBpbnRlbmRlZCBsZXkgdXNhZ2Ugd2lsbCBiZVxuICogcmVhZGFibGUgYnkgYW55b25lIHdobyBjYW4gYWNjZXNzIHRoZSBDU1IuXG4gKlxuICogQHNlZSBodHRwczovL3d3dy5vcGVuc3NsLm9yZy9kb2NzL21hbm1hc3Rlci9tYW4xL3JlcS5odG1sXG4gKi9cbmV4cG9ydCBjbGFzcyBDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFRoZSBQRU0tZW5jb2RlZCBDU1IgZG9jdW1lbnQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcGVtUmVxdWVzdDogc3RyaW5nO1xuXG4gIHB1YmxpYyByZWFkb25seSBzZWxmU2lnbmVkUGVtQ2VydGlmaWNhdGU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihwYXJlbnQ6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IENlcnRpZmljYXRlU2lnbmluZ1JlcXVlc3RQcm9wcykge1xuICAgIHN1cGVyKHBhcmVudCwgaWQpO1xuXG4gICAgY29uc3QgY29kZUxvY2F0aW9uID0gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4uJywgJ2N1c3RvbS1yZXNvdXJjZS1oYW5kbGVycycsICdiaW4nLCAnY2VydGlmaWNhdGUtc2lnbmluZy1yZXF1ZXN0Jyk7XG4gICAgY29uc3QgY3VzdG9tUmVzb3VyY2UgPSBuZXcgbGFtYmRhLlNpbmdsZXRvbkZ1bmN0aW9uKHRoaXMsICdSZXNvdXJjZUhhbmRsZXInLCB7XG4gICAgICB1dWlkOiAnNTQxRjY3ODItNkRDRi00OUE3LThDNUEtNjc3MTVBREQ5RTRDJyxcbiAgICAgIGxhbWJkYVB1cnBvc2U6ICdDcmVhdGVDU1InLFxuICAgICAgZGVzY3JpcHRpb246ICdDcmVhdGVzIGEgQ2VydGlmaWNhdGUgU2lnbmluZyBSZXF1ZXN0IGRvY3VtZW50IGZvciBhbiB4NTA5IGNlcnRpZmljYXRlJyxcbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18xMl9YLFxuICAgICAgaGFuZGxlcjogJ2luZGV4LmhhbmRsZXInLFxuICAgICAgY29kZTogbmV3IGxhbWJkYS5Bc3NldENvZGUoY29kZUxvY2F0aW9uKSxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHMoMzAwKSxcbiAgICAgIC8vIGFkZCB0aGUgbGF5ZXIgdGhhdCBjb250YWlucyB0aGUgT3BlblNTTCBDTEkgYmluYXJ5XG4gICAgICBsYXllcnM6IFtuZXcgbGFtYmRhLkxheWVyVmVyc2lvbih0aGlzLCAnT3BlblNzbENsaUxheWVyJywge1xuICAgICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uJywgJ2N1c3RvbS1yZXNvdXJjZS1oYW5kbGVycycsICdsYXllcnMnLCAnb3BlbnNzbC1jbGktbGF5ZXIuemlwJykpLFxuICAgICAgfSldLFxuICAgIH0pO1xuXG4gICAgY29uc3QgY3NyID0gbmV3IGNmbi5DdXN0b21SZXNvdXJjZSh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBwcm92aWRlcjogY2ZuLkN1c3RvbVJlc291cmNlUHJvdmlkZXIubGFtYmRhKGN1c3RvbVJlc291cmNlKSxcbiAgICAgIHJlc291cmNlVHlwZTogJ0N1c3RvbTo6Q2VydGlmaWNhdGVTaWduaW5nUmVxdWVzdCcsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIHJlc291cmNlVmVyc2lvbjogaGFzaEZpbGVPckRpcmVjdG9yeShjb2RlTG9jYXRpb24pLFxuICAgICAgICAvLyBQcml2YXRlIGtleVxuICAgICAgICBwcml2YXRlS2V5U2VjcmV0SWQ6IHByb3BzLnByaXZhdGVLZXkuc2VjcmV0QXJuLFxuICAgICAgICAvLyBEaXN0aW5ndWlzaGVkIG5hbWVcbiAgICAgICAgZG5Db21tb25OYW1lOiBwcm9wcy5kbi5jb21tb25OYW1lLFxuICAgICAgICBkbkNvdW50cnk6IHByb3BzLmRuLmNvdW50cnksXG4gICAgICAgIGRuU3RhdGVPclByb3ZpbmNlOiBwcm9wcy5kbi5zdGF0ZU9yUHJvdmluY2UsXG4gICAgICAgIGRuTG9jYWxpdHk6IHByb3BzLmRuLmxvY2FsaXR5LFxuICAgICAgICBkbk9yZ2FuaXphdGlvbk5hbWU6IHByb3BzLmRuLm9yZ2FuaXphdGlvbk5hbWUsXG4gICAgICAgIGRuT3JnYW5pemF0aW9uYWxVbml0TmFtZTogcHJvcHMuZG4ub3JnYW5pemF0aW9uYWxVbml0TmFtZSxcbiAgICAgICAgZG5FbWFpbEFkZHJlc3M6IHByb3BzLmRuLmVtYWlsQWRkcmVzcyxcbiAgICAgICAgLy8gS2V5IFVzYWdlXG4gICAgICAgIGV4dGVuZGVkS2V5VXNhZ2U6IHByb3BzLmV4dGVuZGVkS2V5VXNhZ2UgfHwgJycsXG4gICAgICAgIGtleVVzYWdlOiBwcm9wcy5rZXlVc2FnZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgaWYgKGN1c3RvbVJlc291cmNlLnJvbGUpIHtcbiAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgcGVybWlzc2lvbnMgYXJlIGFsbCBnb29kIGJlZm9yZSBwcm9jZWVkaW5nXG4gICAgICBjc3Iubm9kZS5hZGREZXBlbmRlbmN5KGN1c3RvbVJlc291cmNlLnJvbGUpO1xuICAgICAgcHJvcHMucHJpdmF0ZUtleS5ncmFudEdldFNlY3JldFZhbHVlKGN1c3RvbVJlc291cmNlLnJvbGUpO1xuICAgIH1cblxuICAgIHRoaXMucGVtUmVxdWVzdCA9IGNzci5nZXRBdHQoJ0NTUicpLnRvU3RyaW5nKCk7XG4gICAgdGhpcy5zZWxmU2lnbmVkUGVtQ2VydGlmaWNhdGUgPSBjc3IuZ2V0QXR0KCdTZWxmU2lnbmVkQ2VydGlmaWNhdGUnKS50b1N0cmluZygpO1xuICB9XG59XG5cbi8qKlxuICogRmllbGRzIHRoYXQgY29tcG9zZSB0aGUgZGlzdGluZ3Vpc2hlZCBuYW1lIG9mIGEgY2VydGlmaWNhdGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXN0aW5ndWlzaGVkTmFtZSB7XG4gIC8qKiBUaGUgQ29tbW9uIE5hbWUgKENOKSAqL1xuICBjb21tb25OYW1lOiBzdHJpbmc7XG4gIC8qKiBUaGUgZW1haWwgYWRkcmVzcyAoZW1haWxBZGRyZXNzKSAqL1xuICBlbWFpbEFkZHJlc3M6IHN0cmluZztcblxuICAvKiogVGhlIENvdW50cnkgKEMpICovXG4gIGNvdW50cnk6IHN0cmluZztcbiAgLyoqIFRoZSBTdGF0ZSBvciBQcm92aW5jZSAoU1QpICovXG4gIHN0YXRlT3JQcm92aW5jZTogc3RyaW5nO1xuICAvKiogVGhlIGxvY2FsaXR5IChMKSAqL1xuICBsb2NhbGl0eTogc3RyaW5nO1xuXG4gIC8qKiBUaGUgb3JnYW5pemF0aW9uIG5hbWUgKE8pICovXG4gIG9yZ2FuaXphdGlvbk5hbWU6IHN0cmluZztcbiAgLyoqIFRoZSBvcmdhbml6YXRpb25hbCB1bml0IG5hbWUgKE9VKSAqL1xuICBvcmdhbml6YXRpb25hbFVuaXROYW1lOiBzdHJpbmc7XG59XG4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VydGlmaWNhdGUtc2lnbmluZy1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2VydGlmaWNhdGUtc2lnbmluZy1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBNkI7QUFDN0IscUNBSWlCO0FBQ2pCLGtDQUE4QztBQTJCOUM7Ozs7Ozs7R0FPRztBQUNILE1BQWEseUJBQTBCLFNBQVEsbUJBQVM7SUFRdEQsWUFBWSxNQUFpQixFQUFFLEVBQVUsRUFBRSxLQUFxQztRQUM5RSxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWxCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSwwQkFBMEIsRUFBRSxLQUFLLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztRQUNySCxNQUFNLGNBQWMsR0FBRyxJQUFJLG9CQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1lBQzNFLElBQUksRUFBRSxzQ0FBc0M7WUFDNUMsYUFBYSxFQUFFLFdBQVc7WUFDMUIsV0FBVyxFQUFFLHdFQUF3RTtZQUNyRixPQUFPLEVBQUUsb0JBQU0sQ0FBQyxPQUFPLENBQUMsV0FBVztZQUNuQyxPQUFPLEVBQUUsZUFBZTtZQUN4QixJQUFJLEVBQUUsSUFBSSxvQkFBTSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7WUFDeEMsT0FBTyxFQUFFLGtCQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUM5QixxREFBcUQ7WUFDckQsTUFBTSxFQUFFLENBQUMsSUFBSSxvQkFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUU7b0JBQ3hELElBQUksRUFBRSxvQkFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLDBCQUEwQixFQUFFLFFBQVEsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO2lCQUN2SCxDQUFDLENBQUM7U0FDSixDQUFDLENBQUM7UUFFSCxNQUFNLEdBQUcsR0FBRyxJQUFJLDRCQUFHLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDbkQsUUFBUSxFQUFFLDRCQUFHLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQztZQUMzRCxZQUFZLEVBQUUsbUNBQW1DO1lBQ2pELFVBQVUsRUFBRTtnQkFDVixlQUFlLEVBQUUsSUFBQSwwQkFBbUIsRUFBQyxZQUFZLENBQUM7Z0JBQ2xELGNBQWM7Z0JBQ2Qsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTO2dCQUM5QyxxQkFBcUI7Z0JBQ3JCLFlBQVksRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLFVBQVU7Z0JBQ2pDLFNBQVMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLE9BQU87Z0JBQzNCLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsZUFBZTtnQkFDM0MsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsUUFBUTtnQkFDN0Isa0JBQWtCLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0I7Z0JBQzdDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsc0JBQXNCO2dCQUN6RCxjQUFjLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxZQUFZO2dCQUNyQyxZQUFZO2dCQUNaLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFO2dCQUM5QyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7YUFDekI7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLGNBQWMsQ0FBQyxJQUFJLEVBQUU7WUFDdkIsMkRBQTJEO1lBQzNELEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1QyxLQUFLLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMzRDtRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pGLENBQUM7Q0FDRjtBQXZERCw4REF1REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHtcbiAgQ29uc3RydWN0LCBEdXJhdGlvbixcbiAgYXdzX2Nsb3VkZm9ybWF0aW9uIGFzIGNmbixcbiAgYXdzX2xhbWJkYSBhcyBsYW1iZGEsXG59IGZyb20gJ21vbm9jZGsnO1xuaW1wb3J0IHsgaGFzaEZpbGVPckRpcmVjdG9yeSB9IGZyb20gJy4uL3V0aWwnO1xuaW1wb3J0IHsgUnNhUHJpdmF0ZUtleVNlY3JldCB9IGZyb20gJy4vcHJpdmF0ZS1rZXknO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VydGlmaWNhdGVTaWduaW5nUmVxdWVzdFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBSU0EgUHJpdmF0ZSBLZXkgdG8gdXNlIGZvciB0aGlzIENTUi5cbiAgICovXG4gIHByaXZhdGVLZXk6IFJzYVByaXZhdGVLZXlTZWNyZXQ7XG4gIC8qKlxuICAgKiBUaGUgRGlzdGluZ3Vpc2hlZCBOYW1lIGZvciB0aGlzIENTUi5cbiAgICovXG4gIGRuOiBEaXN0aW5ndWlzaGVkTmFtZTtcbiAgLyoqXG4gICAqIFRoZSBrZXkgdXNhZ2UgcmVxdWVzdHMgZm9yIHRoaXMgQ1NSLlxuICAgKlxuICAgKiBAZXhhbXBsZSBjcml0aWNhbCxkaWdpdGFsU2lnbmF0dXJlXG4gICAqL1xuICBrZXlVc2FnZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGV4dGVuZGVkIGtleSB1c2FnZSByZXF1ZXN0cyBmb3IgdGhpcyBDU1IuXG4gICAqXG4gICAqIEBleGFtcGxlIGNyaXRpY2FsLGNvZGVTaWduaW5nXG4gICAqL1xuICBleHRlbmRlZEtleVVzYWdlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBDZXJ0aWZpY2F0ZSBTaWduaW5nIFJlcXVlc3QgKENTUiksIHdoaWNoIHdpbGwgYWxsb3cgYSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgdG8gcHJvdmlkZSBhIHNpZ25lZCBjZXJ0aWZpY2F0ZVxuICogdGhhdCB1c2VzIHRoZSBzcGVjaWZpZWQgUlNBIFByaXZhdGUgS2V5LiBBIENTUiBkb2N1bWVudCBjYW4gdXN1YWxseSBiZSBzaGFyZWQgcHVibGljbHksIGhvd2V2ZXIgaXQgbXVzdCBiZSBub3RlZCB0aGF0XG4gKiB0aGUgaW5mb3JtYXRpb24gcHJvdmlkZWQgaW4gdGhlIGBgZG5gYCBmaWVsZHMsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBwdWJsaWMga2V5IGFuZCB0aGUgaW50ZW5kZWQgbGV5IHVzYWdlIHdpbGwgYmVcbiAqIHJlYWRhYmxlIGJ5IGFueW9uZSB3aG8gY2FuIGFjY2VzcyB0aGUgQ1NSLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly93d3cub3BlbnNzbC5vcmcvZG9jcy9tYW5tYXN0ZXIvbWFuMS9yZXEuaHRtbFxuICovXG5leHBvcnQgY2xhc3MgQ2VydGlmaWNhdGVTaWduaW5nUmVxdWVzdCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBUaGUgUEVNLWVuY29kZWQgQ1NSIGRvY3VtZW50LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHBlbVJlcXVlc3Q6IHN0cmluZztcblxuICBwdWJsaWMgcmVhZG9ubHkgc2VsZlNpZ25lZFBlbUNlcnRpZmljYXRlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocGFyZW50OiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0UHJvcHMpIHtcbiAgICBzdXBlcihwYXJlbnQsIGlkKTtcblxuICAgIGNvbnN0IGNvZGVMb2NhdGlvbiA9IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLicsICdjdXN0b20tcmVzb3VyY2UtaGFuZGxlcnMnLCAnYmluJywgJ2NlcnRpZmljYXRlLXNpZ25pbmctcmVxdWVzdCcpO1xuICAgIGNvbnN0IGN1c3RvbVJlc291cmNlID0gbmV3IGxhbWJkYS5TaW5nbGV0b25GdW5jdGlvbih0aGlzLCAnUmVzb3VyY2VIYW5kbGVyJywge1xuICAgICAgdXVpZDogJzU0MUY2NzgyLTZEQ0YtNDlBNy04QzVBLTY3NzE1QUREOUU0QycsXG4gICAgICBsYW1iZGFQdXJwb3NlOiAnQ3JlYXRlQ1NSJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQ3JlYXRlcyBhIENlcnRpZmljYXRlIFNpZ25pbmcgUmVxdWVzdCBkb2N1bWVudCBmb3IgYW4geDUwOSBjZXJ0aWZpY2F0ZScsXG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfMTJfWCxcbiAgICAgIGhhbmRsZXI6ICdpbmRleC5oYW5kbGVyJyxcbiAgICAgIGNvZGU6IG5ldyBsYW1iZGEuQXNzZXRDb2RlKGNvZGVMb2NhdGlvbiksXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDMwMCksXG4gICAgICAvLyBhZGQgdGhlIGxheWVyIHRoYXQgY29udGFpbnMgdGhlIE9wZW5TU0wgQ0xJIGJpbmFyeVxuICAgICAgbGF5ZXJzOiBbbmV3IGxhbWJkYS5MYXllclZlcnNpb24odGhpcywgJ09wZW5Tc2xDbGlMYXllcicsIHtcbiAgICAgICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbUFzc2V0KHBhdGguam9pbihfX2Rpcm5hbWUsICcuLicsICdjdXN0b20tcmVzb3VyY2UtaGFuZGxlcnMnLCAnbGF5ZXJzJywgJ29wZW5zc2wtY2xpLWxheWVyLnppcCcpKSxcbiAgICAgIH0pXSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGNzciA9IG5ldyBjZm4uQ3VzdG9tUmVzb3VyY2UodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgcHJvdmlkZXI6IGNmbi5DdXN0b21SZXNvdXJjZVByb3ZpZGVyLmxhbWJkYShjdXN0b21SZXNvdXJjZSksXG4gICAgICByZXNvdXJjZVR5cGU6ICdDdXN0b206OkNlcnRpZmljYXRlU2lnbmluZ1JlcXVlc3QnLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICByZXNvdXJjZVZlcnNpb246IGhhc2hGaWxlT3JEaXJlY3RvcnkoY29kZUxvY2F0aW9uKSxcbiAgICAgICAgLy8gUHJpdmF0ZSBrZXlcbiAgICAgICAgcHJpdmF0ZUtleVNlY3JldElkOiBwcm9wcy5wcml2YXRlS2V5LnNlY3JldEFybixcbiAgICAgICAgLy8gRGlzdGluZ3Vpc2hlZCBuYW1lXG4gICAgICAgIGRuQ29tbW9uTmFtZTogcHJvcHMuZG4uY29tbW9uTmFtZSxcbiAgICAgICAgZG5Db3VudHJ5OiBwcm9wcy5kbi5jb3VudHJ5LFxuICAgICAgICBkblN0YXRlT3JQcm92aW5jZTogcHJvcHMuZG4uc3RhdGVPclByb3ZpbmNlLFxuICAgICAgICBkbkxvY2FsaXR5OiBwcm9wcy5kbi5sb2NhbGl0eSxcbiAgICAgICAgZG5Pcmdhbml6YXRpb25OYW1lOiBwcm9wcy5kbi5vcmdhbml6YXRpb25OYW1lLFxuICAgICAgICBkbk9yZ2FuaXphdGlvbmFsVW5pdE5hbWU6IHByb3BzLmRuLm9yZ2FuaXphdGlvbmFsVW5pdE5hbWUsXG4gICAgICAgIGRuRW1haWxBZGRyZXNzOiBwcm9wcy5kbi5lbWFpbEFkZHJlc3MsXG4gICAgICAgIC8vIEtleSBVc2FnZVxuICAgICAgICBleHRlbmRlZEtleVVzYWdlOiBwcm9wcy5leHRlbmRlZEtleVVzYWdlIHx8ICcnLFxuICAgICAgICBrZXlVc2FnZTogcHJvcHMua2V5VXNhZ2UsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIGlmIChjdXN0b21SZXNvdXJjZS5yb2xlKSB7XG4gICAgICAvLyBNYWtlIHN1cmUgdGhlIHBlcm1pc3Npb25zIGFyZSBhbGwgZ29vZCBiZWZvcmUgcHJvY2VlZGluZ1xuICAgICAgY3NyLm5vZGUuYWRkRGVwZW5kZW5jeShjdXN0b21SZXNvdXJjZS5yb2xlKTtcbiAgICAgIHByb3BzLnByaXZhdGVLZXkuZ3JhbnRHZXRTZWNyZXRWYWx1ZShjdXN0b21SZXNvdXJjZS5yb2xlKTtcbiAgICB9XG5cbiAgICB0aGlzLnBlbVJlcXVlc3QgPSBjc3IuZ2V0QXR0KCdDU1InKS50b1N0cmluZygpO1xuICAgIHRoaXMuc2VsZlNpZ25lZFBlbUNlcnRpZmljYXRlID0gY3NyLmdldEF0dCgnU2VsZlNpZ25lZENlcnRpZmljYXRlJykudG9TdHJpbmcoKTtcbiAgfVxufVxuXG4vKipcbiAqIEZpZWxkcyB0aGF0IGNvbXBvc2UgdGhlIGRpc3Rpbmd1aXNoZWQgbmFtZSBvZiBhIGNlcnRpZmljYXRlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzdGluZ3Vpc2hlZE5hbWUge1xuICAvKiogVGhlIENvbW1vbiBOYW1lIChDTikgKi9cbiAgY29tbW9uTmFtZTogc3RyaW5nO1xuICAvKiogVGhlIGVtYWlsIGFkZHJlc3MgKGVtYWlsQWRkcmVzcykgKi9cbiAgZW1haWxBZGRyZXNzOiBzdHJpbmc7XG5cbiAgLyoqIFRoZSBDb3VudHJ5IChDKSAqL1xuICBjb3VudHJ5OiBzdHJpbmc7XG4gIC8qKiBUaGUgU3RhdGUgb3IgUHJvdmluY2UgKFNUKSAqL1xuICBzdGF0ZU9yUHJvdmluY2U6IHN0cmluZztcbiAgLyoqIFRoZSBsb2NhbGl0eSAoTCkgKi9cbiAgbG9jYWxpdHk6IHN0cmluZztcblxuICAvKiogVGhlIG9yZ2FuaXphdGlvbiBuYW1lIChPKSAqL1xuICBvcmdhbml6YXRpb25OYW1lOiBzdHJpbmc7XG4gIC8qKiBUaGUgb3JnYW5pemF0aW9uYWwgdW5pdCBuYW1lIChPVSkgKi9cbiAgb3JnYW5pemF0aW9uYWxVbml0TmFtZTogc3RyaW5nO1xufVxuIl19
@@ -1,8 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
2
21
  Object.defineProperty(exports, "__esModule", { value: true });
3
22
  exports.CodeSigningCertificate = void 0;
4
23
  const monocdk_1 = require("monocdk");
5
- const permissions = require("../permissions");
24
+ const permissions = __importStar(require("../permissions"));
6
25
  const private_key_1 = require("./private-key");
7
26
  /**
8
27
  * A Code-Signing certificate, that will use a private key that is generated by a Lambda function. The Certificate will
@@ -77,4 +96,4 @@ class CodeSigningCertificate extends monocdk_1.Construct {
77
96
  }
78
97
  }
79
98
  exports.CodeSigningCertificate = CodeSigningCertificate;
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1zaWduaW5nLWNlcnRpZmljYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29kZS1zaWduaW5nLWNlcnRpZmljYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFDQU1pQjtBQUVqQiw4Q0FBOEM7QUFFOUMsK0NBQW9EO0FBbUVwRDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQWEsc0JBQXVCLFNBQVEsbUJBQVM7SUFXbkQsWUFBWSxNQUFpQixFQUFFLEVBQVUsRUFBRSxLQUFrQzs7UUFDM0UsS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVsQixtR0FBbUc7UUFDbkcsTUFBTSxLQUFLLEdBQUcsZUFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixNQUFNLFFBQVEsR0FBRyxNQUFBLEtBQUssQ0FBQyxRQUFRLG1DQUFJLEdBQUcsS0FBSyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUV4RyxNQUFNLFVBQVUsR0FBRyxJQUFJLGlDQUFtQixDQUFDLElBQUksRUFBRSxlQUFlLEVBQUU7WUFDaEUsYUFBYSxFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLHVCQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyx1QkFBYSxDQUFDLE1BQU07WUFDOUYsV0FBVyxFQUFFLGtFQUFrRTtZQUMvRSxPQUFPLEVBQUUsS0FBSyxDQUFDLFVBQVUsSUFBSSxJQUFJO1lBQ2pDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxtQkFBbUI7WUFDOUMsVUFBVSxFQUFFLEdBQUcsUUFBUSxnQkFBZ0I7U0FDeEMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsR0FBRyw0QkFBYyxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQy9FLGFBQWEsRUFBRSxLQUFLLENBQUMsbUJBQW1CO1lBQ3hDLFNBQVMsRUFBRSxVQUFVLENBQUMsU0FBUztTQUNoQyxDQUFDLENBQUM7UUFFSCxJQUFJLFdBQVcsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDO1FBRXZDLElBQUksQ0FBQyxXQUFXLElBQUksS0FBSyxDQUFDLDhCQUE4QixFQUFFO1lBQ3hELE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQywyQkFBMkIsRUFDN0UsS0FBSyxDQUFDLGlCQUFpQixFQUN2QiwyQkFBMkIsRUFDM0Isc0JBQXNCLENBQUMsQ0FBQztZQUUxQixJQUFJLG1CQUFTLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtnQkFDekIsV0FBVyxFQUFFLDBFQUEwRTtnQkFDdkYsS0FBSyxFQUFFLEdBQUcsQ0FBQyxVQUFVO2FBQ3RCLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ2hCLFdBQVcsR0FBRyxHQUFHLENBQUMsd0JBQXdCLENBQUM7YUFDNUM7U0FDRjtRQUVELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxpQkFBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3pELFdBQVcsRUFBRSwwREFBMEQsVUFBVSxDQUFDLFNBQVMsR0FBRztZQUM5RixhQUFhLEVBQUUsSUFBSSxRQUFRLGNBQWM7WUFDekMsV0FBVyxFQUFFLFdBQVk7U0FDMUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFlBQVksQ0FBQyxTQUEwQjtRQUM1QyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQUUsT0FBTztTQUFFO1FBRTNCLFdBQVcsQ0FBQyxlQUFlLENBQUM7WUFDMUIsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE1BQU07WUFDN0UsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUztTQUNyQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRWQsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLGlCQUFHLENBQUMsZUFBZSxDQUFDO1lBQzVDLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO1lBQzdCLFNBQVMsRUFBRSxDQUFDLGVBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO29CQUNuQyw0RkFBNEY7b0JBQzVGLE9BQU8sRUFBRSxLQUFLO29CQUNkLFFBQVEsRUFBRSxZQUFZLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFO2lCQUNyRCxDQUFDLENBQUM7U0FDSixDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7Q0FDRjtBQTdFRCx3REE2RUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb25zdHJ1Y3QsIENmbk91dHB1dCwgSUNvbnN0cnVjdCwgUmVtb3ZhbFBvbGljeSwgU3RhY2ssXG4gIGF3c19pYW0gYXMgaWFtLFxuICBhd3Nfa21zIGFzIGttcyxcbiAgYXdzX3NlY3JldHNtYW5hZ2VyIGFzIHNlY3JldHNNYW5hZ2VyLFxuICBhd3Nfc3NtIGFzIHNzbSxcbn0gZnJvbSAnbW9ub2Nkayc7XG5pbXBvcnQgeyBJQ3JlZGVudGlhbFBhaXIgfSBmcm9tICcuLi9jcmVkZW50aWFsLXBhaXInO1xuaW1wb3J0ICogYXMgcGVybWlzc2lvbnMgZnJvbSAnLi4vcGVybWlzc2lvbnMnO1xuaW1wb3J0IHsgRGlzdGluZ3Vpc2hlZE5hbWUgfSBmcm9tICcuL2NlcnRpZmljYXRlLXNpZ25pbmctcmVxdWVzdCc7XG5pbXBvcnQgeyBSc2FQcml2YXRlS2V5U2VjcmV0IH0gZnJvbSAnLi9wcml2YXRlLWtleSc7XG5cblxuZXhwb3J0IHsgRGlzdGluZ3Vpc2hlZE5hbWUgfSBmcm9tICcuL2NlcnRpZmljYXRlLXNpZ25pbmctcmVxdWVzdCc7XG5cbmludGVyZmFjZSBDb2RlU2lnbmluZ0NlcnRpZmljYXRlUHJvcHMge1xuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBiaXRzIHRvIGNvbXBvc2UgdGhlIG1vZHVsdXMgb2YgdGhlIGdlbmVyYXRlZCBwcml2YXRlIGtleSBmb3IgdGhpcyBjZXJ0aWZpY2F0ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgMjA0OFxuICAgKi9cbiAgcnNhS2V5U2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIEtNUyBDTUsgdG8gdXNlIGZvciBlbmNyeXB0aW5nIHRoZSBQcml2YXRlIEtleSBzZWNyZXQuXG4gICAqIEBkZWZhdWx0IEEgbmV3IEtNUyBrZXkgd2lsbCBiZSBhbGxvY2F0ZWQgZm9yIHlvdVxuICAgKi9cbiAgc2VjcmV0RW5jcnlwdGlvbktleT86IGttcy5JS2V5O1xuXG4gIC8qKlxuICAgKiBUaGUgUEVNLWVuY29kZWQgY2VydGlmaWNhdGUgdGhhdCB3YXMgc2lnbmVkIGJ5IHRoZSByZWxldmFudCBhdXRob3JpdHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IElmIGEgY2VydGlmaWNhdGUgaXMgbm90IHByb3ZpZGVkLCBhIHNlbGYtc2lnbmVkIGNlcnRpZmljYXRlIHdpbGxcbiAgICogYmUgZ2VuZXJhdGVkIGFuZCBhIENTUiAoY2VydGlmaWNhdGUgc2lnbmluZyByZXF1ZXN0KSB3aWxsIGJ5IGF2YWlsYWJsZSBpblxuICAgKiB0aGUgc3RhY2sgb3V0cHV0LlxuICAgKi9cbiAgcGVtQ2VydGlmaWNhdGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYSBDU1Igc2hvdWxkIGJlIGdlbmVyYXRlZCwgZXZlbiBpZiB0aGUgY2VydGlmaWNhdGUgaXMgcHJvdmlkZWQuXG4gICAqIFRoaXMgY2FuIGJlIHVzZWZ1bCBpZiBvbmUgd2FudHMgdG8gcmVuZXcgYSBjZXJ0aWZpY2F0ZSB0aGF0IGlzIGNsb3NlIHRvXG4gICAqIGV4cGlyeSB3aXRob3V0IGdlbmVyYXRpbmcgYSBuZXcgcHJpdmF0ZSBrZXkgKGZvciBleGFtcGxlLCB0byBhdm9pZCBicmVha2luZ1xuICAgKiBjbGllbnRzIHRoYXQgbWFrZSB1c2Ugb2YgY2VydGlmaWNhdGUgcGlubmluZykuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBmb3JjZUNlcnRpZmljYXRlU2lnbmluZ1JlcXVlc3Q/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGVuIGVuYWJsZWQsIHRoZSBQcml2YXRlIEtleSBzZWNyZXQgd2lsbCBoYXZlIGEgRGVsZXRpb25Qb2xpY3kgb2ZcbiAgICogXCJSRVRBSU5cIiwgbWFraW5nIHN1cmUgdGhlIFByaXZhdGUgS2V5IGlzIG5vdCBpbmFkdmVydGVudGx5IGRlc3Ryb3llZC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmV0YWluUHJpdmF0ZUtleT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBEaXN0aW5ndWlzaGVkIE5hbWUgZm9yIHRoaXMgQ1NSLlxuICAgKi9cbiAgZGlzdGluZ3Vpc2hlZE5hbWU6IERpc3Rpbmd1aXNoZWROYW1lO1xuXG4gIC8qKlxuICAgKiBCYXNlIG5hbWVzIGZvciB0aGUgcHJpdmF0ZSBrZXkgYW5kIG91dHB1dCBTU00gcGFyYW1ldGVyXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQXV0b21hdGljYWxseSBnZW5lcmF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IGJhc2VOYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb2RlU2lnbmluZ0NlcnRpZmljYXRlIGV4dGVuZHMgSUNvbnN0cnVjdCwgSUNyZWRlbnRpYWxQYWlyIHtcbiAgLyoqXG4gICAqIEdyYW50IHRoZSBJQU0gcHJpbmNpcGFsIHBlcm1pc3Npb25zIHRvIHJlYWQgdGhlIHByaXZhdGUga2V5IGFuZFxuICAgKiBjZXJ0aWZpY2F0ZS5cbiAgICovXG4gIGdyYW50RGVjcnlwdChwcmluY2lwYWw/OiBpYW0uSVByaW5jaXBhbCk6IHZvaWQ7XG59XG5cbi8qKlxuICogQSBDb2RlLVNpZ25pbmcgY2VydGlmaWNhdGUsIHRoYXQgd2lsbCB1c2UgYSBwcml2YXRlIGtleSB0aGF0IGlzIGdlbmVyYXRlZCBieSBhIExhbWJkYSBmdW5jdGlvbi4gVGhlIENlcnRpZmljYXRlIHdpbGxcbiAqIG5vdCBiZSB1c2FibGUgdW50aWwgdGhlIGBgcGVtQ2VydGlmaWNhdGVgYCB2YWx1ZSBoYXMgYmVlbiBwcm92aWRlZC4gQSB0eXBpY2FsIHdvcmtmbG93IHRvIHVzZSB0aGlzIENvbnN0cnVjdCB3b3VsZCBiZTpcbiAqXG4gKiAxLiBBZGQgYW4gaW5zdGFuY2Ugb2YgdGhlIGNvbnN0cnVjdCB0byB5b3VyIGFwcCwgd2l0aG91dCBwcm92aWRpbmcgdGhlIGBgcGVtQ2VydGlmaWNhdGVgYCBwcm9wZXJ0eVxuICogMi4gRGVwbG95IHRoZSBzdGFjayB0byBwcm92aXNpb24gYSBQcml2YXRlIEtleSBhbmQgb2J0YWluIHRoZSBDU1IgKHlvdSBjYW4gc3VyZmFjZSBpdCB1c2luZyBhIE91dHB1dCwgZm9yIGV4YW1wbGUpXG4gKiAzLiBTdWJtaXQgdGhlIENTUiB0byB5b3VyIENlcnRpZmljYXRlIEF1dGhvcml0eSBvZiBjaG9pY2UuXG4gKiA0LiBQb3B1bGF0ZSB0aGUgYGBwZW1DZXJ0aWZpY2F0ZWBgIHByb3BlcnR5IHdpdGggdGhlIFBFTS1lbmNvZGVkIGNlcnRpZmljYXRlIHByb3ZpZGVkIGJ5IHlvdXIgQ0Egb2YgY29pY2UuXG4gKiA1LiBSZS1kZXBsb3kgdGhlIHN0YWNrIHNvIG1ha2UgdGhlIGNlcnRpZmljYXRlIHVzYWJsZVxuICpcbiAqIEluIG9yZGVyIHRvIHJlbmV3IHRoZSBjZXJ0aWZpY2F0ZSwgaWYgeW91IGRvIG5vdCB3aXNoIHRvIHJldGFpbiB0aGUgc2FtZSBwcml2YXRlIGtleSAoeW91ciBjbGllbnRzIGRvIG5vdCByZWx5IG9uXG4gKiBwdWJsaWMga2V5IHBpbm5pbmcpLCBzaW1wbHkgYWRkIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBjb25zdHJ1Y3QgdG8geW91ciBhcHAgYW5kIGZvbGxvdyB0aGUgcHJvY2VzcyBsaXN0ZWQgYWJvdmUuIElmXG4gKiB5b3Ugd2lzaCB0byByZXRhaW4gdGhlIHByaXZhdGUga2V5LCB5b3UgY2FuIHNldCBgYGZvcmNlQ2VydGlmaWNhdGVTaWduaW5nUmVxdWVzdGBgIHRvIGBgdHJ1ZWBgIGluIG9yZGVyIHRvIG9idGFpbiBhXG4gKiBuZXcgQ1NSIGRvY3VtZW50LlxuICovXG5leHBvcnQgY2xhc3MgQ29kZVNpZ25pbmdDZXJ0aWZpY2F0ZSBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElDb2RlU2lnbmluZ0NlcnRpZmljYXRlIHtcbiAgLyoqXG4gICAqIFRoZSBBV1MgU2VjcmV0cyBNYW5hZ2VyIHNlY3JldCB0aGF0IGhvbGRzIHRoZSBwcml2YXRlIGtleSBmb3IgdGhpcyBDU0NcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjcmVkZW50aWFsOiBzZWNyZXRzTWFuYWdlci5JU2VjcmV0O1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIFNTTSBQYXJhbWV0ZXIgdGhhdCBob2xkcyB0aGUgY2VydGlmaWNhdGUgZm9yIHRoaXMgQ1NDLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHByaW5jaXBhbDogc3NtLklTdHJpbmdQYXJhbWV0ZXI7XG5cbiAgY29uc3RydWN0b3IocGFyZW50OiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBDb2RlU2lnbmluZ0NlcnRpZmljYXRlUHJvcHMpIHtcbiAgICBzdXBlcihwYXJlbnQsIGlkKTtcblxuICAgIC8vIFRoZSBjb25zdHJ1Y3QgcGF0aCBvZiB0aGlzIGNvbnN0cnVjdCB3aXRoIHJlc3BlY3QgdG8gdGhlIGNvbnRhaW5pbmcgc3RhY2ssIHdpdGhvdXQgYW55IGxlYWRpbmcgL1xuICAgIGNvbnN0IHN0YWNrID0gU3RhY2sub2YodGhpcyk7XG4gICAgY29uc3QgYmFzZU5hbWUgPSBwcm9wcy5iYXNlTmFtZSA/PyBgJHtzdGFjay5zdGFja05hbWV9JHt0aGlzLm5vZGUucGF0aC5zdWJzdHIoc3RhY2subm9kZS5wYXRoLmxlbmd0aCl9YDtcblxuICAgIGNvbnN0IHByaXZhdGVLZXkgPSBuZXcgUnNhUHJpdmF0ZUtleVNlY3JldCh0aGlzLCAnUlNBUHJpdmF0ZUtleScsIHtcbiAgICAgIHJlbW92YWxQb2xpY3k6IHByb3BzLnJldGFpblByaXZhdGVLZXkgPT09IGZhbHNlID8gUmVtb3ZhbFBvbGljeS5ERVNUUk9ZIDogUmVtb3ZhbFBvbGljeS5SRVRBSU4sXG4gICAgICBkZXNjcmlwdGlvbjogJ1RoZSBQRU0tZW5jb2RlZCBwcml2YXRlIGtleSBvZiB0aGUgeDUwOSBDb2RlLVNpZ25pbmcgQ2VydGlmaWNhdGUnLFxuICAgICAga2V5U2l6ZTogcHJvcHMucnNhS2V5U2l6ZSB8fCAyMDQ4LFxuICAgICAgc2VjcmV0RW5jcnlwdGlvbktleTogcHJvcHMuc2VjcmV0RW5jcnlwdGlvbktleSxcbiAgICAgIHNlY3JldE5hbWU6IGAke2Jhc2VOYW1lfS9SU0FQcml2YXRlS2V5YCxcbiAgICB9KTtcblxuICAgIHRoaXMuY3JlZGVudGlhbCA9IHNlY3JldHNNYW5hZ2VyLlNlY3JldC5mcm9tU2VjcmV0QXR0cmlidXRlcyh0aGlzLCAnQ3JlZGVudGlhbCcsIHtcbiAgICAgIGVuY3J5cHRpb25LZXk6IHByb3BzLnNlY3JldEVuY3J5cHRpb25LZXksXG4gICAgICBzZWNyZXRBcm46IHByaXZhdGVLZXkuc2VjcmV0QXJuLFxuICAgIH0pO1xuXG4gICAgbGV0IGNlcnRpZmljYXRlID0gcHJvcHMucGVtQ2VydGlmaWNhdGU7XG5cbiAgICBpZiAoIWNlcnRpZmljYXRlIHx8IHByb3BzLmZvcmNlQ2VydGlmaWNhdGVTaWduaW5nUmVxdWVzdCkge1xuICAgICAgY29uc3QgY3NyID0gcHJpdmF0ZUtleS5uZXdDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0KCdDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0JyxcbiAgICAgICAgcHJvcHMuZGlzdGluZ3Vpc2hlZE5hbWUsXG4gICAgICAgICdjcml0aWNhbCxkaWdpdGFsU2lnbmF0dXJlJyxcbiAgICAgICAgJ2NyaXRpY2FsLGNvZGVTaWduaW5nJyk7XG5cbiAgICAgIG5ldyBDZm5PdXRwdXQodGhpcywgJ0NTUicsIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdBIFBFTS1lbmNvZGVkIENlcnRpZmljYXRlIFNpZ25pbmcgUmVxdWVzdCBmb3IgYSBDb2RlLVNpZ25pbmcgQ2VydGlmaWNhdGUnLFxuICAgICAgICB2YWx1ZTogY3NyLnBlbVJlcXVlc3QsXG4gICAgICB9KTtcblxuICAgICAgaWYgKCFjZXJ0aWZpY2F0ZSkge1xuICAgICAgICBjZXJ0aWZpY2F0ZSA9IGNzci5zZWxmU2lnbmVkUGVtQ2VydGlmaWNhdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5wcmluY2lwYWwgPSBuZXcgc3NtLlN0cmluZ1BhcmFtZXRlcih0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogYEEgUEVNLWVuY29kZWQgQ29kZS1TaWduaW5nIENlcnRpZmljYXRlIChwcml2YXRlIGtleSBpbiAke3ByaXZhdGVLZXkuc2VjcmV0QXJufSlgLFxuICAgICAgcGFyYW1ldGVyTmFtZTogYC8ke2Jhc2VOYW1lfS9DZXJ0aWZpY2F0ZWAsXG4gICAgICBzdHJpbmdWYWx1ZTogY2VydGlmaWNhdGUhLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50IHRoZSBJQU0gcHJpbmNpcGFsIHBlcm1pc3Npb25zIHRvIHJlYWQgdGhlIHByaXZhdGUga2V5IGFuZFxuICAgKiBjZXJ0aWZpY2F0ZS5cbiAgICovXG4gIHB1YmxpYyBncmFudERlY3J5cHQocHJpbmNpcGFsPzogaWFtLklQcmluY2lwYWwpIHtcbiAgICBpZiAoIXByaW5jaXBhbCkgeyByZXR1cm47IH1cblxuICAgIHBlcm1pc3Npb25zLmdyYW50U2VjcmV0UmVhZCh7XG4gICAgICBrZXlBcm46IHRoaXMuY3JlZGVudGlhbC5lbmNyeXB0aW9uS2V5ICYmIHRoaXMuY3JlZGVudGlhbC5lbmNyeXB0aW9uS2V5LmtleUFybixcbiAgICAgIHNlY3JldEFybjogdGhpcy5jcmVkZW50aWFsLnNlY3JldEFybixcbiAgICB9LCBwcmluY2lwYWwpO1xuXG4gICAgcHJpbmNpcGFsLmFkZFRvUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGFjdGlvbnM6IFsnc3NtOkdldFBhcmFtZXRlciddLFxuICAgICAgcmVzb3VyY2VzOiBbU3RhY2sub2YodGhpcykuZm9ybWF0QXJuKHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBpcyBhIHdvcmthcm91bmQgdW50aWwgaHR0cHM6Ly9naXRodWIuY29tL2F3c2xhYnMvYXdzLWNkay9wdWxsLzE3MjYgaXMgcmVsZWFzZWRcbiAgICAgICAgc2VydmljZTogJ3NzbScsXG4gICAgICAgIHJlc291cmNlOiBgcGFyYW1ldGVyJHt0aGlzLnByaW5jaXBhbC5wYXJhbWV0ZXJOYW1lfWAsXG4gICAgICB9KV0sXG4gICAgfSkpO1xuICB9XG59XG4iXX0=
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1zaWduaW5nLWNlcnRpZmljYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29kZS1zaWduaW5nLWNlcnRpZmljYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxQ0FNaUI7QUFFakIsNERBQThDO0FBRTlDLCtDQUFvRDtBQW1FcEQ7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxNQUFhLHNCQUF1QixTQUFRLG1CQUFTO0lBV25ELFlBQVksTUFBaUIsRUFBRSxFQUFVLEVBQUUsS0FBa0M7O1FBQzNFLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFbEIsbUdBQW1HO1FBQ25HLE1BQU0sS0FBSyxHQUFHLGVBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsTUFBTSxRQUFRLEdBQUcsTUFBQSxLQUFLLENBQUMsUUFBUSxtQ0FBSSxHQUFHLEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFFeEcsTUFBTSxVQUFVLEdBQUcsSUFBSSxpQ0FBbUIsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFO1lBQ2hFLGFBQWEsRUFBRSxLQUFLLENBQUMsZ0JBQWdCLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyx1QkFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsdUJBQWEsQ0FBQyxNQUFNO1lBQzlGLFdBQVcsRUFBRSxrRUFBa0U7WUFDL0UsT0FBTyxFQUFFLEtBQUssQ0FBQyxVQUFVLElBQUksSUFBSTtZQUNqQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsbUJBQW1CO1lBQzlDLFVBQVUsRUFBRSxHQUFHLFFBQVEsZ0JBQWdCO1NBQ3hDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLEdBQUcsNEJBQWMsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUMvRSxhQUFhLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtZQUN4QyxTQUFTLEVBQUUsVUFBVSxDQUFDLFNBQVM7U0FDaEMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxXQUFXLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQztRQUV2QyxJQUFJLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsRUFBRTtZQUN4RCxNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsNEJBQTRCLENBQUMsMkJBQTJCLEVBQzdFLEtBQUssQ0FBQyxpQkFBaUIsRUFDdkIsMkJBQTJCLEVBQzNCLHNCQUFzQixDQUFDLENBQUM7WUFFMUIsSUFBSSxtQkFBUyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7Z0JBQ3pCLFdBQVcsRUFBRSwwRUFBMEU7Z0JBQ3ZGLEtBQUssRUFBRSxHQUFHLENBQUMsVUFBVTthQUN0QixDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNoQixXQUFXLEdBQUcsR0FBRyxDQUFDLHdCQUF3QixDQUFDO2FBQzVDO1NBQ0Y7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksaUJBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUN6RCxXQUFXLEVBQUUsMERBQTBELFVBQVUsQ0FBQyxTQUFTLEdBQUc7WUFDOUYsYUFBYSxFQUFFLElBQUksUUFBUSxjQUFjO1lBQ3pDLFdBQVcsRUFBRSxXQUFZO1NBQzFCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSSxZQUFZLENBQUMsU0FBMEI7UUFDNUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUFFLE9BQU87U0FBRTtRQUUzQixXQUFXLENBQUMsZUFBZSxDQUFDO1lBQzFCLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxNQUFNO1lBQzdFLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVM7U0FDckMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUVkLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxpQkFBRyxDQUFDLGVBQWUsQ0FBQztZQUM1QyxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztZQUM3QixTQUFTLEVBQUUsQ0FBQyxlQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQztvQkFDbkMsNEZBQTRGO29CQUM1RixPQUFPLEVBQUUsS0FBSztvQkFDZCxRQUFRLEVBQUUsWUFBWSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRTtpQkFDckQsQ0FBQyxDQUFDO1NBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0NBQ0Y7QUE3RUQsd0RBNkVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29uc3RydWN0LCBDZm5PdXRwdXQsIElDb25zdHJ1Y3QsIFJlbW92YWxQb2xpY3ksIFN0YWNrLFxuICBhd3NfaWFtIGFzIGlhbSxcbiAgYXdzX2ttcyBhcyBrbXMsXG4gIGF3c19zZWNyZXRzbWFuYWdlciBhcyBzZWNyZXRzTWFuYWdlcixcbiAgYXdzX3NzbSBhcyBzc20sXG59IGZyb20gJ21vbm9jZGsnO1xuaW1wb3J0IHsgSUNyZWRlbnRpYWxQYWlyIH0gZnJvbSAnLi4vY3JlZGVudGlhbC1wYWlyJztcbmltcG9ydCAqIGFzIHBlcm1pc3Npb25zIGZyb20gJy4uL3Blcm1pc3Npb25zJztcbmltcG9ydCB7IERpc3Rpbmd1aXNoZWROYW1lIH0gZnJvbSAnLi9jZXJ0aWZpY2F0ZS1zaWduaW5nLXJlcXVlc3QnO1xuaW1wb3J0IHsgUnNhUHJpdmF0ZUtleVNlY3JldCB9IGZyb20gJy4vcHJpdmF0ZS1rZXknO1xuXG5cbmV4cG9ydCB7IERpc3Rpbmd1aXNoZWROYW1lIH0gZnJvbSAnLi9jZXJ0aWZpY2F0ZS1zaWduaW5nLXJlcXVlc3QnO1xuXG5pbnRlcmZhY2UgQ29kZVNpZ25pbmdDZXJ0aWZpY2F0ZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgYml0cyB0byBjb21wb3NlIHRoZSBtb2R1bHVzIG9mIHRoZSBnZW5lcmF0ZWQgcHJpdmF0ZSBrZXkgZm9yIHRoaXMgY2VydGlmaWNhdGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IDIwNDhcbiAgICovXG4gIHJzYUtleVNpemU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBLTVMgQ01LIHRvIHVzZSBmb3IgZW5jcnlwdGluZyB0aGUgUHJpdmF0ZSBLZXkgc2VjcmV0LlxuICAgKiBAZGVmYXVsdCBBIG5ldyBLTVMga2V5IHdpbGwgYmUgYWxsb2NhdGVkIGZvciB5b3VcbiAgICovXG4gIHNlY3JldEVuY3J5cHRpb25LZXk/OiBrbXMuSUtleTtcblxuICAvKipcbiAgICogVGhlIFBFTS1lbmNvZGVkIGNlcnRpZmljYXRlIHRoYXQgd2FzIHNpZ25lZCBieSB0aGUgcmVsZXZhbnQgYXV0aG9yaXR5LlxuICAgKlxuICAgKiBAZGVmYXVsdCBJZiBhIGNlcnRpZmljYXRlIGlzIG5vdCBwcm92aWRlZCwgYSBzZWxmLXNpZ25lZCBjZXJ0aWZpY2F0ZSB3aWxsXG4gICAqIGJlIGdlbmVyYXRlZCBhbmQgYSBDU1IgKGNlcnRpZmljYXRlIHNpZ25pbmcgcmVxdWVzdCkgd2lsbCBieSBhdmFpbGFibGUgaW5cbiAgICogdGhlIHN0YWNrIG91dHB1dC5cbiAgICovXG4gIHBlbUNlcnRpZmljYXRlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGEgQ1NSIHNob3VsZCBiZSBnZW5lcmF0ZWQsIGV2ZW4gaWYgdGhlIGNlcnRpZmljYXRlIGlzIHByb3ZpZGVkLlxuICAgKiBUaGlzIGNhbiBiZSB1c2VmdWwgaWYgb25lIHdhbnRzIHRvIHJlbmV3IGEgY2VydGlmaWNhdGUgdGhhdCBpcyBjbG9zZSB0b1xuICAgKiBleHBpcnkgd2l0aG91dCBnZW5lcmF0aW5nIGEgbmV3IHByaXZhdGUga2V5IChmb3IgZXhhbXBsZSwgdG8gYXZvaWQgYnJlYWtpbmdcbiAgICogY2xpZW50cyB0aGF0IG1ha2UgdXNlIG9mIGNlcnRpZmljYXRlIHBpbm5pbmcpLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgZm9yY2VDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hlbiBlbmFibGVkLCB0aGUgUHJpdmF0ZSBLZXkgc2VjcmV0IHdpbGwgaGF2ZSBhIERlbGV0aW9uUG9saWN5IG9mXG4gICAqIFwiUkVUQUlOXCIsIG1ha2luZyBzdXJlIHRoZSBQcml2YXRlIEtleSBpcyBub3QgaW5hZHZlcnRlbnRseSBkZXN0cm95ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJldGFpblByaXZhdGVLZXk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgRGlzdGluZ3Vpc2hlZCBOYW1lIGZvciB0aGlzIENTUi5cbiAgICovXG4gIGRpc3Rpbmd1aXNoZWROYW1lOiBEaXN0aW5ndWlzaGVkTmFtZTtcblxuICAvKipcbiAgICogQmFzZSBuYW1lcyBmb3IgdGhlIHByaXZhdGUga2V5IGFuZCBvdXRwdXQgU1NNIHBhcmFtZXRlclxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkXG4gICAqL1xuICByZWFkb25seSBiYXNlTmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29kZVNpZ25pbmdDZXJ0aWZpY2F0ZSBleHRlbmRzIElDb25zdHJ1Y3QsIElDcmVkZW50aWFsUGFpciB7XG4gIC8qKlxuICAgKiBHcmFudCB0aGUgSUFNIHByaW5jaXBhbCBwZXJtaXNzaW9ucyB0byByZWFkIHRoZSBwcml2YXRlIGtleSBhbmRcbiAgICogY2VydGlmaWNhdGUuXG4gICAqL1xuICBncmFudERlY3J5cHQocHJpbmNpcGFsPzogaWFtLklQcmluY2lwYWwpOiB2b2lkO1xufVxuXG4vKipcbiAqIEEgQ29kZS1TaWduaW5nIGNlcnRpZmljYXRlLCB0aGF0IHdpbGwgdXNlIGEgcHJpdmF0ZSBrZXkgdGhhdCBpcyBnZW5lcmF0ZWQgYnkgYSBMYW1iZGEgZnVuY3Rpb24uIFRoZSBDZXJ0aWZpY2F0ZSB3aWxsXG4gKiBub3QgYmUgdXNhYmxlIHVudGlsIHRoZSBgYHBlbUNlcnRpZmljYXRlYGAgdmFsdWUgaGFzIGJlZW4gcHJvdmlkZWQuIEEgdHlwaWNhbCB3b3JrZmxvdyB0byB1c2UgdGhpcyBDb25zdHJ1Y3Qgd291bGQgYmU6XG4gKlxuICogMS4gQWRkIGFuIGluc3RhbmNlIG9mIHRoZSBjb25zdHJ1Y3QgdG8geW91ciBhcHAsIHdpdGhvdXQgcHJvdmlkaW5nIHRoZSBgYHBlbUNlcnRpZmljYXRlYGAgcHJvcGVydHlcbiAqIDIuIERlcGxveSB0aGUgc3RhY2sgdG8gcHJvdmlzaW9uIGEgUHJpdmF0ZSBLZXkgYW5kIG9idGFpbiB0aGUgQ1NSICh5b3UgY2FuIHN1cmZhY2UgaXQgdXNpbmcgYSBPdXRwdXQsIGZvciBleGFtcGxlKVxuICogMy4gU3VibWl0IHRoZSBDU1IgdG8geW91ciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgb2YgY2hvaWNlLlxuICogNC4gUG9wdWxhdGUgdGhlIGBgcGVtQ2VydGlmaWNhdGVgYCBwcm9wZXJ0eSB3aXRoIHRoZSBQRU0tZW5jb2RlZCBjZXJ0aWZpY2F0ZSBwcm92aWRlZCBieSB5b3VyIENBIG9mIGNvaWNlLlxuICogNS4gUmUtZGVwbG95IHRoZSBzdGFjayBzbyBtYWtlIHRoZSBjZXJ0aWZpY2F0ZSB1c2FibGVcbiAqXG4gKiBJbiBvcmRlciB0byByZW5ldyB0aGUgY2VydGlmaWNhdGUsIGlmIHlvdSBkbyBub3Qgd2lzaCB0byByZXRhaW4gdGhlIHNhbWUgcHJpdmF0ZSBrZXkgKHlvdXIgY2xpZW50cyBkbyBub3QgcmVseSBvblxuICogcHVibGljIGtleSBwaW5uaW5nKSwgc2ltcGx5IGFkZCBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgY29uc3RydWN0IHRvIHlvdXIgYXBwIGFuZCBmb2xsb3cgdGhlIHByb2Nlc3MgbGlzdGVkIGFib3ZlLiBJZlxuICogeW91IHdpc2ggdG8gcmV0YWluIHRoZSBwcml2YXRlIGtleSwgeW91IGNhbiBzZXQgYGBmb3JjZUNlcnRpZmljYXRlU2lnbmluZ1JlcXVlc3RgYCB0byBgYHRydWVgYCBpbiBvcmRlciB0byBvYnRhaW4gYVxuICogbmV3IENTUiBkb2N1bWVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIENvZGVTaWduaW5nQ2VydGlmaWNhdGUgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJQ29kZVNpZ25pbmdDZXJ0aWZpY2F0ZSB7XG4gIC8qKlxuICAgKiBUaGUgQVdTIFNlY3JldHMgTWFuYWdlciBzZWNyZXQgdGhhdCBob2xkcyB0aGUgcHJpdmF0ZSBrZXkgZm9yIHRoaXMgQ1NDXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY3JlZGVudGlhbDogc2VjcmV0c01hbmFnZXIuSVNlY3JldDtcblxuICAvKipcbiAgICogVGhlIEFXUyBTU00gUGFyYW1ldGVyIHRoYXQgaG9sZHMgdGhlIGNlcnRpZmljYXRlIGZvciB0aGlzIENTQy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwcmluY2lwYWw6IHNzbS5JU3RyaW5nUGFyYW1ldGVyO1xuXG4gIGNvbnN0cnVjdG9yKHBhcmVudDogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ29kZVNpZ25pbmdDZXJ0aWZpY2F0ZVByb3BzKSB7XG4gICAgc3VwZXIocGFyZW50LCBpZCk7XG5cbiAgICAvLyBUaGUgY29uc3RydWN0IHBhdGggb2YgdGhpcyBjb25zdHJ1Y3Qgd2l0aCByZXNwZWN0IHRvIHRoZSBjb250YWluaW5nIHN0YWNrLCB3aXRob3V0IGFueSBsZWFkaW5nIC9cbiAgICBjb25zdCBzdGFjayA9IFN0YWNrLm9mKHRoaXMpO1xuICAgIGNvbnN0IGJhc2VOYW1lID0gcHJvcHMuYmFzZU5hbWUgPz8gYCR7c3RhY2suc3RhY2tOYW1lfSR7dGhpcy5ub2RlLnBhdGguc3Vic3RyKHN0YWNrLm5vZGUucGF0aC5sZW5ndGgpfWA7XG5cbiAgICBjb25zdCBwcml2YXRlS2V5ID0gbmV3IFJzYVByaXZhdGVLZXlTZWNyZXQodGhpcywgJ1JTQVByaXZhdGVLZXknLCB7XG4gICAgICByZW1vdmFsUG9saWN5OiBwcm9wcy5yZXRhaW5Qcml2YXRlS2V5ID09PSBmYWxzZSA/IFJlbW92YWxQb2xpY3kuREVTVFJPWSA6IFJlbW92YWxQb2xpY3kuUkVUQUlOLFxuICAgICAgZGVzY3JpcHRpb246ICdUaGUgUEVNLWVuY29kZWQgcHJpdmF0ZSBrZXkgb2YgdGhlIHg1MDkgQ29kZS1TaWduaW5nIENlcnRpZmljYXRlJyxcbiAgICAgIGtleVNpemU6IHByb3BzLnJzYUtleVNpemUgfHwgMjA0OCxcbiAgICAgIHNlY3JldEVuY3J5cHRpb25LZXk6IHByb3BzLnNlY3JldEVuY3J5cHRpb25LZXksXG4gICAgICBzZWNyZXROYW1lOiBgJHtiYXNlTmFtZX0vUlNBUHJpdmF0ZUtleWAsXG4gICAgfSk7XG5cbiAgICB0aGlzLmNyZWRlbnRpYWwgPSBzZWNyZXRzTWFuYWdlci5TZWNyZXQuZnJvbVNlY3JldEF0dHJpYnV0ZXModGhpcywgJ0NyZWRlbnRpYWwnLCB7XG4gICAgICBlbmNyeXB0aW9uS2V5OiBwcm9wcy5zZWNyZXRFbmNyeXB0aW9uS2V5LFxuICAgICAgc2VjcmV0QXJuOiBwcml2YXRlS2V5LnNlY3JldEFybixcbiAgICB9KTtcblxuICAgIGxldCBjZXJ0aWZpY2F0ZSA9IHByb3BzLnBlbUNlcnRpZmljYXRlO1xuXG4gICAgaWYgKCFjZXJ0aWZpY2F0ZSB8fCBwcm9wcy5mb3JjZUNlcnRpZmljYXRlU2lnbmluZ1JlcXVlc3QpIHtcbiAgICAgIGNvbnN0IGNzciA9IHByaXZhdGVLZXkubmV3Q2VydGlmaWNhdGVTaWduaW5nUmVxdWVzdCgnQ2VydGlmaWNhdGVTaWduaW5nUmVxdWVzdCcsXG4gICAgICAgIHByb3BzLmRpc3Rpbmd1aXNoZWROYW1lLFxuICAgICAgICAnY3JpdGljYWwsZGlnaXRhbFNpZ25hdHVyZScsXG4gICAgICAgICdjcml0aWNhbCxjb2RlU2lnbmluZycpO1xuXG4gICAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsICdDU1InLCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnQSBQRU0tZW5jb2RlZCBDZXJ0aWZpY2F0ZSBTaWduaW5nIFJlcXVlc3QgZm9yIGEgQ29kZS1TaWduaW5nIENlcnRpZmljYXRlJyxcbiAgICAgICAgdmFsdWU6IGNzci5wZW1SZXF1ZXN0LFxuICAgICAgfSk7XG5cbiAgICAgIGlmICghY2VydGlmaWNhdGUpIHtcbiAgICAgICAgY2VydGlmaWNhdGUgPSBjc3Iuc2VsZlNpZ25lZFBlbUNlcnRpZmljYXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucHJpbmNpcGFsID0gbmV3IHNzbS5TdHJpbmdQYXJhbWV0ZXIodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgZGVzY3JpcHRpb246IGBBIFBFTS1lbmNvZGVkIENvZGUtU2lnbmluZyBDZXJ0aWZpY2F0ZSAocHJpdmF0ZSBrZXkgaW4gJHtwcml2YXRlS2V5LnNlY3JldEFybn0pYCxcbiAgICAgIHBhcmFtZXRlck5hbWU6IGAvJHtiYXNlTmFtZX0vQ2VydGlmaWNhdGVgLFxuICAgICAgc3RyaW5nVmFsdWU6IGNlcnRpZmljYXRlISxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudCB0aGUgSUFNIHByaW5jaXBhbCBwZXJtaXNzaW9ucyB0byByZWFkIHRoZSBwcml2YXRlIGtleSBhbmRcbiAgICogY2VydGlmaWNhdGUuXG4gICAqL1xuICBwdWJsaWMgZ3JhbnREZWNyeXB0KHByaW5jaXBhbD86IGlhbS5JUHJpbmNpcGFsKSB7XG4gICAgaWYgKCFwcmluY2lwYWwpIHsgcmV0dXJuOyB9XG5cbiAgICBwZXJtaXNzaW9ucy5ncmFudFNlY3JldFJlYWQoe1xuICAgICAga2V5QXJuOiB0aGlzLmNyZWRlbnRpYWwuZW5jcnlwdGlvbktleSAmJiB0aGlzLmNyZWRlbnRpYWwuZW5jcnlwdGlvbktleS5rZXlBcm4sXG4gICAgICBzZWNyZXRBcm46IHRoaXMuY3JlZGVudGlhbC5zZWNyZXRBcm4sXG4gICAgfSwgcHJpbmNpcGFsKTtcblxuICAgIHByaW5jaXBhbC5hZGRUb1BvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBhY3Rpb25zOiBbJ3NzbTpHZXRQYXJhbWV0ZXInXSxcbiAgICAgIHJlc291cmNlczogW1N0YWNrLm9mKHRoaXMpLmZvcm1hdEFybih7XG4gICAgICAgIC8vIFRPRE86IFRoaXMgaXMgYSB3b3JrYXJvdW5kIHVudGlsIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3NsYWJzL2F3cy1jZGsvcHVsbC8xNzI2IGlzIHJlbGVhc2VkXG4gICAgICAgIHNlcnZpY2U6ICdzc20nLFxuICAgICAgICByZXNvdXJjZTogYHBhcmFtZXRlciR7dGhpcy5wcmluY2lwYWwucGFyYW1ldGVyTmFtZX1gLFxuICAgICAgfSldLFxuICAgIH0pKTtcbiAgfVxufVxuIl19
@@ -1,7 +1,26 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
2
21
  Object.defineProperty(exports, "__esModule", { value: true });
3
22
  exports.RsaPrivateKeySecret = void 0;
4
- const path = require("path");
23
+ const path = __importStar(require("path"));
5
24
  const monocdk_1 = require("monocdk");
6
25
  const util_1 = require("../util");
7
26
  const certificate_signing_request_1 = require("./certificate-signing-request");
@@ -155,4 +174,4 @@ class RsaPrivateKeySecret extends monocdk_1.Construct {
155
174
  }
156
175
  }
157
176
  exports.RsaPrivateKeySecret = RsaPrivateKeySecret;
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZS1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwcml2YXRlLWtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBNkI7QUFDN0IscUNBTWlCO0FBQ2pCLGtDQUE4QztBQUM5QywrRUFBNkY7QUFxQzdGOzs7O0dBSUc7QUFDSCxNQUFhLG1CQUFvQixTQUFRLG1CQUFTO0lBU2hELFlBQVksTUFBaUIsRUFBRSxFQUFVLEVBQUUsS0FBK0I7UUFDeEUsS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVsQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsMEJBQTBCLEVBQUUsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3JHLE1BQU0sY0FBYyxHQUFHLElBQUksb0JBQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUU7WUFDM0UsYUFBYSxFQUFFLGdCQUFnQjtZQUMvQixJQUFJLEVBQUUsc0NBQXNDO1lBQzVDLFdBQVcsRUFBRSxtRUFBbUU7WUFDaEYsT0FBTyxFQUFFLG9CQUFNLENBQUMsT0FBTyxDQUFDLFdBQVc7WUFDbkMsT0FBTyxFQUFFLGVBQWU7WUFDeEIsSUFBSSxFQUFFLElBQUksb0JBQU0sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDO1lBQ3hDLE9BQU8sRUFBRSxrQkFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDOUIscURBQXFEO1lBQ3JELE1BQU0sRUFBRSxDQUFDLElBQUksb0JBQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFO29CQUN4RCxJQUFJLEVBQUUsb0JBQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSwwQkFBMEIsRUFBRSxRQUFRLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztpQkFDdkgsQ0FB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RSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7Z0JBQ3BDLFVBQVUsRUFBRTtvQkFDVixZQUFZLEVBQUU7d0JBQ1osZ0JBQWdCLEVBQUUsa0JBQWtCLGVBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxnQkFBZ0I7cUJBQzFFO29CQUNELE9BQU8sRUFBRTt3QkFDUCxpQ0FBaUMsRUFBRSxJQUFJLENBQUMsYUFBYTtxQkFDdEQ7aUJBQ0Y7YUFDRixDQUFDLENBQUMsQ0FBQztZQUNKLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxpQkFBRyxDQUFDLGVBQWUsQ0FBQztnQkFDMUMsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO2dCQUN4QixTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztnQkFDbEMsVUFBVSxFQUFFO29CQUNWLFlBQVksRUFBRTt3QkFDWixnQkFBZ0IsRUFBRSxrQkFBa0IsZUFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLGdCQUFnQjtxQkFDMUU7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULGlDQUFpQyxFQUFFLElBQUksQ0FBQyxTQUFTO3FCQUNsRDtpQkFDRjthQUNGLENBQUMsQ0FBQyxDQUFDO1NBQ0w7SUFDSCxDQUFDO0NBQ0Y7QUE5SkQsa0RBOEpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7XG4gIENvbnN0cnVjdCwgRHVyYXRpb24sIFJlbW92YWxQb2xpY3ksIFN0YWNrLFxuICBhd3NfY2xvdWRmb3JtYXRpb24gYXMgY2ZuLFxuICBhd3NfaWFtIGFzIGlhbSxcbiAgYXdzX2ttcyBhcyBrbXMsXG4gIGF3c19sYW1iZGEgYXMgbGFtYmRhLFxufSBmcm9tICdtb25vY2RrJztcbmltcG9ydCB7IGhhc2hGaWxlT3JEaXJlY3RvcnkgfSBmcm9tICcuLi91dGlsJztcbmltcG9ydCB7IENlcnRpZmljYXRlU2lnbmluZ1JlcXVlc3QsIERpc3Rpbmd1aXNoZWROYW1lIH0gZnJvbSAnLi9jZXJ0aWZpY2F0ZS1zaWduaW5nLXJlcXVlc3QnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgUnNhUHJpdmF0ZUtleVNlY3JldFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBtb2R1bHVzIHNpemUgb2YgdGhlIFJTQSBrZXkgdGhhdCB3aWxsIGJlIGdlbmVyYXRlZC5cbiAgICpcbiAgICogVGhlIE5JU1QgcHVibGlzaGVzIGEgZG9jdW1lbnQgdGhhdCBwcm92aWRlcyBndWlkYW5jZSBvbiBob3cgdG8gc2VsZWN0IGFuIGFwcHJvcHJpYXRlIGtleSBzaXplOlxuICAgKiBAc2VlIGh0dHBzOi8vY3NyYy5uaXN0Lmdvdi9wdWJsaWNhdGlvbnMvZGV0YWlsL3NwLzgwMC01Ny1wYXJ0LTEvcmV2LTQvZmluYWxcbiAgICovXG4gIGtleVNpemU6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIEFXUyBTZWNyZXRzIE1hbmFnZXIgZW50aXR5IHRoYXQgd2lsbCBiZSBjcmVhdGVkIHRvIGhvbGQgdGhlIHByaXZhdGUga2V5LlxuICAgKi9cbiAgc2VjcmV0TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVzY3JpcHRpb24gdG8gYXR0YWNoIHRvIHRoZSBBV1MgU2VjcmV0cyBNYW5hZ2VyIGVudGl0eSB0aGF0IHdpbGwgaG9sZCB0aGUgcHJpdmF0ZSBrZXkuXG4gICAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEtNUyBrZXkgdG8gYmUgdXNlZCBmb3IgZW5jcnlwdGluZyB0aGUgQVdTIFNlY3JldHMgTWFuYWdlciBlbnRpdHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRoZSBkZWZhdWx0IEtNUyBrZXkgd2lsbCBiZSB1c2VkIGluIGFjY29yZGFuY2Ugd2l0aCBBV1MgU2VjcmV0cyBNYW5hZ2VyIGRlZmF1bHQgYmVoYXZpb3IuXG4gICAqL1xuICBzZWNyZXRFbmNyeXB0aW9uS2V5Pzoga21zLklLZXk7XG5cbiAgLyoqXG4gICAqIFRoZSBkZWxldGlvbiBwb2xpY3kgdG8gYXBwbHkgb24gdGhlIFByaXZhdGUgS2V5IHNlY3JldC5cbiAgICpcbiAgICogQGRlZmF1bHQgUmV0YWluXG4gICAqL1xuICByZW1vdmFsUG9saWN5PzogUmVtb3ZhbFBvbGljeTtcbn1cblxuLyoqXG4gKiBBbiBPcGVuU1NMLWdlbmVyYXRlZCBSU0EgUHJpdmF0ZSBLZXkuIEl0IGNhbiBmb3IgZXhhbXBsZSBiZSB1c2VkIHRvIG9idGFpbiBhIENlcnRpZmljYXRlIHNpZ25lZCBieSBhIENlcnRpZmljYXRlXG4gKiBBdXRob3JpdHkgdGhyb3VnaCB0aGUgdXNlIG9mIHRoZSBgYENlcnRpZmljYXRlU2lnbmluZ1JlcXVlc3RgYCBjb25zdHJ1Y3QgKG9yIHZpYSB0aGVcbiAqIGBgI25ld0NlcnRpZmljYXRlU2lnbmluZ1JlcXVlc3RgYCkgbWV0aG9kLlxuICovXG5leHBvcnQgY2xhc3MgUnNhUHJpdmF0ZUtleVNlY3JldCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBzZWNyZXQgdGhhdCBob2xkcyB0aGUgcHJpdmF0ZSBrZXkuXG4gICAqL1xuICBwdWJsaWMgc2VjcmV0QXJuOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBzZWNyZXRBcm5MaWtlOiBzdHJpbmc7XG4gIHByaXZhdGUgbWFzdGVyS2V5Pzoga21zLklLZXk7XG5cbiAgY29uc3RydWN0b3IocGFyZW50OiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSc2FQcml2YXRlS2V5U2VjcmV0UHJvcHMpIHtcbiAgICBzdXBlcihwYXJlbnQsIGlkKTtcblxuICAgIGNvbnN0IGNvZGVMb2NhdGlvbiA9IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLicsICdjdXN0b20tcmVzb3VyY2UtaGFuZGxlcnMnLCAnYmluJywgJ3ByaXZhdGUta2V5Jyk7XG4gICAgY29uc3QgY3VzdG9tUmVzb3VyY2UgPSBuZXcgbGFtYmRhLlNpbmdsZXRvbkZ1bmN0aW9uKHRoaXMsICdSZXNvdXJjZUhhbmRsZXInLCB7XG4gICAgICBsYW1iZGFQdXJwb3NlOiAnUlNBUHJpdmF0ZS1LZXknLFxuICAgICAgdXVpZDogJzcyRkQzMjdELTM4MTMtNDYzMi05MzQwLTI4RUM0MzdBQTQ4NicsXG4gICAgICBkZXNjcmlwdGlvbjogJ0dlbmVyYXRlcyBhbiBSU0EgUHJpdmF0ZSBLZXkgYW5kIHN0b3JlcyBpdCBpbiBBV1MgU2VjcmV0cyBNYW5hZ2VyJyxcbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18xMl9YLFxuICAgICAgaGFuZGxlcjogJ2luZGV4LmhhbmRsZXInLFxuICAgICAgY29kZTogbmV3IGxhbWJkYS5Bc3NldENvZGUoY29kZUxvY2F0aW9uKSxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHMoMzAwKSxcbiAgICAgIC8vIGFkZCB0aGUgbGF5ZXIgdGhhdCBjb250YWlucyB0aGUgT3BlblNTTCBDTEkgYmluYXJ5XG4gICAgICBsYXllcnM6IFtuZXcgbGFtYmRhLkxheWVyVmVyc2lvbih0aGlzLCAnT3BlblNzbENsaUxheWVyJywge1xuICAgICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uJywgJ2N1c3RvbS1yZXNvdXJjZS1oYW5kbGVycycsICdsYXllcnMnLCAnb3BlbnNzbC1jbGktbGF5ZXIuemlwJykpLFxuICAgICAgfSldLFxuICAgIH0pO1xuXG4gICAgdGhpcy5zZWNyZXRBcm5MaWtlID0gU3RhY2sub2YodGhpcykuZm9ybWF0QXJuKHtcbiAgICAgIHNlcnZpY2U6ICdzZWNyZXRzbWFuYWdlcicsXG4gICAgICByZXNvdXJjZTogJ3NlY3JldCcsXG4gICAgICBzZXA6ICc6JyxcbiAgICAgIC8vIFRoZSBBUk4gb2YgYSBzZWNyZXQgaGFzIFwiLVwiIGZvbGxvd2VkIGJ5IDYgcmFuZG9tIGNoYXJhY3RlcnMgYXBwZW5kZWQgYXQgdGhlIGVuZFxuICAgICAgcmVzb3VyY2VOYW1lOiBgJHtwcm9wcy5zZWNyZXROYW1lfS0/Pz8/Pz9gLFxuICAgIH0pO1xuICAgIGN1c3RvbVJlc291cmNlLmFkZFRvUm9sZVBvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBhY3Rpb25zOiBbXG4gICAgICAgICdzZWNyZXRzbWFuYWdlcjpDcmVhdGVTZWNyZXQnLFxuICAgICAgICAnc2VjcmV0c21hbmFnZXI6RGVsZXRlU2VjcmV0JyxcbiAgICAgICAgJ3NlY3JldHNtYW5hZ2VyOlVwZGF0ZVNlY3JldCcsXG4gICAgICBdLFxuICAgICAgcmVzb3VyY2VzOiBbdGhpcy5zZWNyZXRBcm5MaWtlXSxcbiAgICB9KSk7XG5cbiAgICBpZiAocHJvcHMuc2VjcmV0RW5jcnlwdGlvbktleSkge1xuICAgICAgcHJvcHMuc2VjcmV0RW5jcnlwdGlvbktleS5hZGRUb1Jlc291cmNlUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgLy8gZGVzY3JpcHRpb246IGBBbGxvdyB1c2UgdmlhIEFXUyBTZWNyZXRzIE1hbmFnZXIgYnkgQ3VzdG9tUmVzb3VyY2UgaGFuZGxlciAke2N1c3RvbVJlc291cmNlLmZ1bmN0aW9uTmFtZX1gLFxuICAgICAgICBwcmluY2lwYWxzOiBbbmV3IGlhbS5Bcm5QcmluY2lwYWwoY3VzdG9tUmVzb3VyY2Uucm9sZSEucm9sZUFybildLFxuICAgICAgICBhY3Rpb25zOiBbJ2ttczpEZWNyeXB0JywgJ2ttczpHZW5lcmF0ZURhdGFLZXknXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgICAgY29uZGl0aW9uczoge1xuICAgICAgICAgIFN0cmluZ0VxdWFsczoge1xuICAgICAgICAgICAgJ2ttczpWaWFTZXJ2aWNlJzogYHNlY3JldHNtYW5hZ2VyLiR7U3RhY2sub2YodGhpcykucmVnaW9ufS5hbWF6b25hd3MuY29tYCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIEFybkxpa2U6IHtcbiAgICAgICAgICAgICdrbXM6RW5jcnlwdGlvbkNvbnRleHQ6U2VjcmV0QVJOJzogdGhpcy5zZWNyZXRBcm5MaWtlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfVxuXG4gICAgY29uc3QgcHJpdmF0ZUtleSA9IG5ldyBjZm4uQ3VzdG9tUmVzb3VyY2UodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgcHJvdmlkZXI6IGNmbi5DdXN0b21SZXNvdXJjZVByb3ZpZGVyLmxhbWJkYShjdXN0b21SZXNvdXJjZSksXG4gICAgICByZXNvdXJjZVR5cGU6ICdDdXN0b206OlJzYVByaXZhdGVLZXlTZWNyZXQnLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICByZXNvdXJjZVZlcnNpb246IGhhc2hGaWxlT3JEaXJlY3RvcnkoY29kZUxvY2F0aW9uKSxcbiAgICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgICAgICBrZXlTaXplOiBwcm9wcy5rZXlTaXplLFxuICAgICAgICBzZWNyZXROYW1lOiBwcm9wcy5zZWNyZXROYW1lLFxuICAgICAgICBrbXNLZXlJZDogcHJvcHMuc2VjcmV0RW5jcnlwdGlvbktleSAmJiBwcm9wcy5zZWNyZXRFbmNyeXB0aW9uS2V5LmtleUFybixcbiAgICAgIH0sXG4gICAgICByZW1vdmFsUG9saWN5OiBwcm9wcy5yZW1vdmFsUG9saWN5IHx8IFJlbW92YWxQb2xpY3kuUkVUQUlOLFxuICAgIH0pO1xuICAgIGlmIChjdXN0b21SZXNvdXJjZS5yb2xlKSB7XG4gICAgICBwcml2YXRlS2V5Lm5vZGUuYWRkRGVwZW5kZW5jeShjdXN0b21SZXNvdXJjZS5yb2xlKTtcbiAgICAgIGlmIChwcm9wcy5zZWNyZXRFbmNyeXB0aW9uS2V5KSB7XG4gICAgICAgIC8vIE1vZGVsaW5nIGFzIGEgc2VwYXJhdGUgUG9saWN5IHRvIGV2YWRlIGEgZGVwZW5kZW5jeSBjeWNsZSAoUm9sZSAtPiBLZXkgLT4gUm9sZSksIGFzIHRoZSBLZXkgcmVmZXJzIHRvIHRoZVxuICAgICAgICAvLyByb2xlIGluIGl0J3MgcmVzb3VyY2UgcG9saWN5LlxuICAgICAgICBwcml2YXRlS2V5Lm5vZGUuYWRkRGVwZW5kZW5jeShuZXcgaWFtLlBvbGljeSh0aGlzLCAnR3JhbnRMYW1iZGFSb2xlS2V5QWNjZXNzJywge1xuICAgICAgICAgIHJvbGVzOiBbY3VzdG9tUmVzb3VyY2Uucm9sZV0sXG4gICAgICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICAvLyBkZXNjcmlwdGlvbjogYEFXU1NlY3JldHNNYW5hZ2VyJHtwcm9wcy5zZWNyZXROYW1lLnJlcGxhY2UoL1teMC05QS1aYS16XS9nLCAnJyl9Q01LYCxcbiAgICAgICAgICAgICAgYWN0aW9uczogWydrbXM6RGVjcnlwdCcsICdrbXM6R2VuZXJhdGVEYXRhS2V5J10sXG4gICAgICAgICAgICAgIHJlc291cmNlczogW3Byb3BzLnNlY3JldEVuY3J5cHRpb25LZXkua2V5QXJuXSxcbiAgICAgICAgICAgICAgY29uZGl0aW9uczoge1xuICAgICAgICAgICAgICAgIFN0cmluZ0VxdWFsczoge1xuICAgICAgICAgICAgICAgICAgJ2ttczpWaWFTZXJ2aWNlJzogYHNlY3JldHNtYW5hZ2VyLiR7U3RhY2sub2YodGhpcykucmVnaW9ufS5hbWF6b25hd3MuY29tYCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFN0cmluZ0xpa2U6IHsgJ2ttczpFbmNyeXB0aW9uQ29udGV4dDpTZWNyZXRBUk4nOiBbdGhpcy5zZWNyZXRBcm5MaWtlLCAnUmVxdWVzdFRvVmFsaWRhdGVLZXlBY2Nlc3MnXSB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMubWFzdGVyS2V5ID0gcHJvcHMuc2VjcmV0RW5jcnlwdGlvbktleTtcbiAgICB0aGlzLnNlY3JldEFybiA9IHByaXZhdGVLZXkuZ2V0QXR0KCdTZWNyZXRBcm4nKS50b1N0cmluZygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgQ1NSIHJlc291cmNlIHVzaW5nIHRoaXMgcHJpdmF0ZSBrZXkuXG4gICAqXG4gICAqIEBwYXJhbSBpZCAgICAgICAgICAgICAgIHRoZSBJRCBvZiB0aGUgY29uc3RydWN0IGluIHRoZSBjb25zdHJ1Y3QgdHJlZS5cbiAgICogQHBhcmFtIGRuICAgICAgICAgICAgICAgdGhlIGRpc3Rpbmd1aXNoZWQgbmFtZSB0byByZWNvcmQgb24gdGhlIENTUi5cbiAgICogQHBhcmFtIGtleVVzYWdlICAgICAgICAgdGhlIGludGVuZGVkIGtleSB1c2FnZSAoZm9yIGV4YW1wbGU6IFwiY3JpdGljYWwsZGlnaXRhbFNpZ25hdHVyZVwiKVxuICAgKiBAcGFyYW0gZXh0ZW5kZWRLZXlVc2FnZSB0aGUgaW5kZW5kZWQgZXh0ZW5kZWQga2V5IHVzYWdlLCBpZiBhbnkgKGZvciBleGFtcGxlOiBcImNyaXRpY2FsLGRpZ2l0YWxTaWduYXR1cmVcIilcbiAgICpcbiAgICogQHJldHVybnMgYSBuZXcgYGBDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0YGAgaW5zdGFuY2UgdGhhdCBjYW4gYmUgdXNlZCB0byBhY2Nlc3MgdGhlIGFjdHVhbCBDU1IgZG9jdW1lbnQuXG4gICAqL1xuICBwdWJsaWMgbmV3Q2VydGlmaWNhdGVTaWduaW5nUmVxdWVzdChpZDogc3RyaW5nLCBkbjogRGlzdGluZ3Vpc2hlZE5hbWUsIGtleVVzYWdlOiBzdHJpbmcsIGV4dGVuZGVkS2V5VXNhZ2U/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IENlcnRpZmljYXRlU2lnbmluZ1JlcXVlc3QodGhpcywgaWQsIHtcbiAgICAgIHByaXZhdGVLZXk6IHRoaXMsXG4gICAgICBkbixcbiAgICAgIGtleVVzYWdlLFxuICAgICAgZXh0ZW5kZWRLZXlVc2FnZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvd3MgYSBnaXZlbiBJQU0gUm9sZSB0byByZWFkIHRoZSBzZWNyZXQgdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSBncmFudGVlIHRoZSBwcmluY2lwYWwgdG8gd2hpY2ggcGVybWlzc2lvbnMgc2hvdWxkIGJlIGdyYW50ZWQuXG4gICAqL1xuICBwdWJsaWMgZ3JhbnRHZXRTZWNyZXRWYWx1ZShncmFudGVlOiBpYW0uSVByaW5jaXBhbCk6IHZvaWQge1xuICAgIGdyYW50ZWUuYWRkVG9Qb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgYWN0aW9uczogWydzZWNyZXRzbWFuYWdlcjpHZXRTZWNyZXRWYWx1ZSddLFxuICAgICAgcmVzb3VyY2VzOiBbdGhpcy5zZWNyZXRBcm5dLFxuICAgIH0pKTtcbiAgICBpZiAodGhpcy5tYXN0ZXJLZXkpIHtcbiAgICAgIC8vIEFkZCBhIGtleSBncmFudCBzaW5jZSB3ZSdyZSB1c2luZyBhIENNS1xuICAgICAgdGhpcy5tYXN0ZXJLZXkuYWRkVG9SZXNvdXJjZVBvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFsna21zOkRlY3J5cHQnXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgICAgcHJpbmNpcGFsczogW2dyYW50ZWUuZ3JhbnRQcmluY2lwYWxdLFxuICAgICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgICAgU3RyaW5nRXF1YWxzOiB7XG4gICAgICAgICAgICAna21zOlZpYVNlcnZpY2UnOiBgc2VjcmV0c21hbmFnZXIuJHtTdGFjay5vZih0aGlzKS5yZWdpb259LmFtYXpvbmF3cy5jb21gLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgQXJuTGlrZToge1xuICAgICAgICAgICAgJ2ttczpFbmNyeXB0aW9uQ29udGV4dDpTZWNyZXRBUk4nOiB0aGlzLnNlY3JldEFybkxpa2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICAgIGdyYW50ZWUuYWRkVG9Qb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbJ2ttczpEZWNyeXB0J10sXG4gICAgICAgIHJlc291cmNlczogW3RoaXMubWFzdGVyS2V5LmtleUFybl0sXG4gICAgICAgIGNvbmRpdGlvbnM6IHtcbiAgICAgICAgICBTdHJpbmdFcXVhbHM6IHtcbiAgICAgICAgICAgICdrbXM6VmlhU2VydmljZSc6IGBzZWNyZXRzbWFuYWdlci4ke1N0YWNrLm9mKHRoaXMpLnJlZ2lvbn0uYW1hem9uYXdzLmNvbWAsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBBcm5FcXVhbHM6IHtcbiAgICAgICAgICAgICdrbXM6RW5jcnlwdGlvbkNvbnRleHQ6U2VjcmV0QVJOJzogdGhpcy5zZWNyZXRBcm4sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZS1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwcml2YXRlLWtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkNBQTZCO0FBQzdCLHFDQU1pQjtBQUNqQixrQ0FBOEM7QUFDOUMsK0VBQTZGO0FBcUM3Rjs7OztHQUlHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSxtQkFBUztJQVNoRCxZQUFZLE1BQWlCLEVBQUUsRUFBVSxFQUFFLEtBQStCO1FBQ3hFLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFbEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLDBCQUEwQixFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNyRyxNQUFNLGNBQWMsR0FBRyxJQUFJLG9CQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1lBQzNFLGFBQWEsRUFBRSxnQkFBZ0I7WUFDL0IsSUFBSSxFQUFFLHNDQUFzQztZQUM1QyxXQUFXLEVBQUUsbUVBQW1FO1lBQ2hGLE9BQU8sRUFBRSxvQkFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXO1lBQ25DLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLElBQUksRUFBRSxJQUFJLG9CQUFNLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQztZQUN4QyxPQUFPLEVBQUUsa0JBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQzlCLHFEQUFxRDtZQUNyRCxNQUFNLEVBQUUsQ0FBQyxJQUFJLG9CQUFNLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRTtvQkFDeEQsSUFBSSxFQUFFLG9CQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsMEJBQTBCLEVBQUUsUUFBUSxFQUFFLHVCQUF1QixD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QUFDO2dCQUNoQixVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO2dCQUNwQyxVQUFVLEVBQUU7b0JBQ1YsWUFBWSxFQUFFO3dCQUNaLGdCQUFnQixFQUFFLGtCQUFrQixlQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sZ0JBQWdCO3FCQUMxRTtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsaUNBQWlDLEVBQUUsSUFBSSxDQUFDLGFBQWE7cUJBQ3REO2lCQUNGO2FBQ0YsQ0FBQyxDQUFDLENBQUM7WUFDSixPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksaUJBQUcsQ0FBQyxlQUFlLENBQUM7Z0JBQzFDLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztnQkFDeEIsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7Z0JBQ2xDLFVBQVUsRUFBRTtvQkFDVixZQUFZLEVBQUU7d0JBQ1osZ0JBQWdCLEVBQUUsa0JBQWtCLGVBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxnQkFBZ0I7cUJBQzFFO29CQUNELFNBQVMsRUFBRTt3QkFDVCxpQ0FBaUMsRUFBRSxJQUFJLENBQUMsU0FBUztxQkFDbEQ7aUJBQ0Y7YUFDRixDQUFDLENBQUMsQ0FBQztTQUNMO0lBQ0gsQ0FBQztDQUNGO0FBOUpELGtEQThKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQge1xuICBDb25zdHJ1Y3QsIER1cmF0aW9uLCBSZW1vdmFsUG9saWN5LCBTdGFjayxcbiAgYXdzX2Nsb3VkZm9ybWF0aW9uIGFzIGNmbixcbiAgYXdzX2lhbSBhcyBpYW0sXG4gIGF3c19rbXMgYXMga21zLFxuICBhd3NfbGFtYmRhIGFzIGxhbWJkYSxcbn0gZnJvbSAnbW9ub2Nkayc7XG5pbXBvcnQgeyBoYXNoRmlsZU9yRGlyZWN0b3J5IH0gZnJvbSAnLi4vdXRpbCc7XG5pbXBvcnQgeyBDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0LCBEaXN0aW5ndWlzaGVkTmFtZSB9IGZyb20gJy4vY2VydGlmaWNhdGUtc2lnbmluZy1yZXF1ZXN0JztcblxuXG5leHBvcnQgaW50ZXJmYWNlIFJzYVByaXZhdGVLZXlTZWNyZXRQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbW9kdWx1cyBzaXplIG9mIHRoZSBSU0Ega2V5IHRoYXQgd2lsbCBiZSBnZW5lcmF0ZWQuXG4gICAqXG4gICAqIFRoZSBOSVNUIHB1Ymxpc2hlcyBhIGRvY3VtZW50IHRoYXQgcHJvdmlkZXMgZ3VpZGFuY2Ugb24gaG93IHRvIHNlbGVjdCBhbiBhcHByb3ByaWF0ZSBrZXkgc2l6ZTpcbiAgICogQHNlZSBodHRwczovL2NzcmMubmlzdC5nb3YvcHVibGljYXRpb25zL2RldGFpbC9zcC84MDAtNTctcGFydC0xL3Jldi00L2ZpbmFsXG4gICAqL1xuICBrZXlTaXplOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBBV1MgU2VjcmV0cyBNYW5hZ2VyIGVudGl0eSB0aGF0IHdpbGwgYmUgY3JlYXRlZCB0byBob2xkIHRoZSBwcml2YXRlIGtleS5cbiAgICovXG4gIHNlY3JldE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRlc2NyaXB0aW9uIHRvIGF0dGFjaCB0byB0aGUgQVdTIFNlY3JldHMgTWFuYWdlciBlbnRpdHkgdGhhdCB3aWxsIGhvbGQgdGhlIHByaXZhdGUga2V5LlxuICAgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBLTVMga2V5IHRvIGJlIHVzZWQgZm9yIGVuY3J5cHRpbmcgdGhlIEFXUyBTZWNyZXRzIE1hbmFnZXIgZW50aXR5LlxuICAgKlxuICAgKiBAZGVmYXVsdCB0aGUgZGVmYXVsdCBLTVMga2V5IHdpbGwgYmUgdXNlZCBpbiBhY2NvcmRhbmNlIHdpdGggQVdTIFNlY3JldHMgTWFuYWdlciBkZWZhdWx0IGJlaGF2aW9yLlxuICAgKi9cbiAgc2VjcmV0RW5jcnlwdGlvbktleT86IGttcy5JS2V5O1xuXG4gIC8qKlxuICAgKiBUaGUgZGVsZXRpb24gcG9saWN5IHRvIGFwcGx5IG9uIHRoZSBQcml2YXRlIEtleSBzZWNyZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IFJldGFpblxuICAgKi9cbiAgcmVtb3ZhbFBvbGljeT86IFJlbW92YWxQb2xpY3k7XG59XG5cbi8qKlxuICogQW4gT3BlblNTTC1nZW5lcmF0ZWQgUlNBIFByaXZhdGUgS2V5LiBJdCBjYW4gZm9yIGV4YW1wbGUgYmUgdXNlZCB0byBvYnRhaW4gYSBDZXJ0aWZpY2F0ZSBzaWduZWQgYnkgYSBDZXJ0aWZpY2F0ZVxuICogQXV0aG9yaXR5IHRocm91Z2ggdGhlIHVzZSBvZiB0aGUgYGBDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0YGAgY29uc3RydWN0IChvciB2aWEgdGhlXG4gKiBgYCNuZXdDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0YGApIG1ldGhvZC5cbiAqL1xuZXhwb3J0IGNsYXNzIFJzYVByaXZhdGVLZXlTZWNyZXQgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgc2VjcmV0IHRoYXQgaG9sZHMgdGhlIHByaXZhdGUga2V5LlxuICAgKi9cbiAgcHVibGljIHNlY3JldEFybjogc3RyaW5nO1xuXG4gIHByaXZhdGUgc2VjcmV0QXJuTGlrZTogc3RyaW5nO1xuICBwcml2YXRlIG1hc3RlcktleT86IGttcy5JS2V5O1xuXG4gIGNvbnN0cnVjdG9yKHBhcmVudDogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUnNhUHJpdmF0ZUtleVNlY3JldFByb3BzKSB7XG4gICAgc3VwZXIocGFyZW50LCBpZCk7XG5cbiAgICBjb25zdCBjb2RlTG9jYXRpb24gPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4nLCAnY3VzdG9tLXJlc291cmNlLWhhbmRsZXJzJywgJ2JpbicsICdwcml2YXRlLWtleScpO1xuICAgIGNvbnN0IGN1c3RvbVJlc291cmNlID0gbmV3IGxhbWJkYS5TaW5nbGV0b25GdW5jdGlvbih0aGlzLCAnUmVzb3VyY2VIYW5kbGVyJywge1xuICAgICAgbGFtYmRhUHVycG9zZTogJ1JTQVByaXZhdGUtS2V5JyxcbiAgICAgIHV1aWQ6ICc3MkZEMzI3RC0zODEzLTQ2MzItOTM0MC0yOEVDNDM3QUE0ODYnLFxuICAgICAgZGVzY3JpcHRpb246ICdHZW5lcmF0ZXMgYW4gUlNBIFByaXZhdGUgS2V5IGFuZCBzdG9yZXMgaXQgaW4gQVdTIFNlY3JldHMgTWFuYWdlcicsXG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfMTJfWCxcbiAgICAgIGhhbmRsZXI6ICdpbmRleC5oYW5kbGVyJyxcbiAgICAgIGNvZGU6IG5ldyBsYW1iZGEuQXNzZXRDb2RlKGNvZGVMb2NhdGlvbiksXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDMwMCksXG4gICAgICAvLyBhZGQgdGhlIGxheWVyIHRoYXQgY29udGFpbnMgdGhlIE9wZW5TU0wgQ0xJIGJpbmFyeVxuICAgICAgbGF5ZXJzOiBbbmV3IGxhbWJkYS5MYXllclZlcnNpb24odGhpcywgJ09wZW5Tc2xDbGlMYXllcicsIHtcbiAgICAgICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbUFzc2V0KHBhdGguam9pbihfX2Rpcm5hbWUsICcuLicsICdjdXN0b20tcmVzb3VyY2UtaGFuZGxlcnMnLCAnbGF5ZXJzJywgJ29wZW5zc2wtY2xpLWxheWVyLnppcCcpKSxcbiAgICAgIH0pXSxcbiAgICB9KTtcblxuICAgIHRoaXMuc2VjcmV0QXJuTGlrZSA9IFN0YWNrLm9mKHRoaXMpLmZvcm1hdEFybih7XG4gICAgICBzZXJ2aWNlOiAnc2VjcmV0c21hbmFnZXInLFxuICAgICAgcmVzb3VyY2U6ICdzZWNyZXQnLFxuICAgICAgc2VwOiAnOicsXG4gICAgICAvLyBUaGUgQVJOIG9mIGEgc2VjcmV0IGhhcyBcIi1cIiBmb2xsb3dlZCBieSA2IHJhbmRvbSBjaGFyYWN0ZXJzIGFwcGVuZGVkIGF0IHRoZSBlbmRcbiAgICAgIHJlc291cmNlTmFtZTogYCR7cHJvcHMuc2VjcmV0TmFtZX0tPz8/Pz8/YCxcbiAgICB9KTtcbiAgICBjdXN0b21SZXNvdXJjZS5hZGRUb1JvbGVQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgYWN0aW9uczogW1xuICAgICAgICAnc2VjcmV0c21hbmFnZXI6Q3JlYXRlU2VjcmV0JyxcbiAgICAgICAgJ3NlY3JldHNtYW5hZ2VyOkRlbGV0ZVNlY3JldCcsXG4gICAgICAgICdzZWNyZXRzbWFuYWdlcjpVcGRhdGVTZWNyZXQnLFxuICAgICAgXSxcbiAgICAgIHJlc291cmNlczogW3RoaXMuc2VjcmV0QXJuTGlrZV0sXG4gICAgfSkpO1xuXG4gICAgaWYgKHByb3BzLnNlY3JldEVuY3J5cHRpb25LZXkpIHtcbiAgICAgIHByb3BzLnNlY3JldEVuY3J5cHRpb25LZXkuYWRkVG9SZXNvdXJjZVBvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIC8vIGRlc2NyaXB0aW9uOiBgQWxsb3cgdXNlIHZpYSBBV1MgU2VjcmV0cyBNYW5hZ2VyIGJ5IEN1c3RvbVJlc291cmNlIGhhbmRsZXIgJHtjdXN0b21SZXNvdXJjZS5mdW5jdGlvbk5hbWV9YCxcbiAgICAgICAgcHJpbmNpcGFsczogW25ldyBpYW0uQXJuUHJpbmNpcGFsKGN1c3RvbVJlc291cmNlLnJvbGUhLnJvbGVBcm4pXSxcbiAgICAgICAgYWN0aW9uczogWydrbXM6RGVjcnlwdCcsICdrbXM6R2VuZXJhdGVEYXRhS2V5J10sXG4gICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICAgIGNvbmRpdGlvbnM6IHtcbiAgICAgICAgICBTdHJpbmdFcXVhbHM6IHtcbiAgICAgICAgICAgICdrbXM6VmlhU2VydmljZSc6IGBzZWNyZXRzbWFuYWdlci4ke1N0YWNrLm9mKHRoaXMpLnJlZ2lvbn0uYW1hem9uYXdzLmNvbWAsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBBcm5MaWtlOiB7XG4gICAgICAgICAgICAna21zOkVuY3J5cHRpb25Db250ZXh0OlNlY3JldEFSTic6IHRoaXMuc2VjcmV0QXJuTGlrZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH1cblxuICAgIGNvbnN0IHByaXZhdGVLZXkgPSBuZXcgY2ZuLkN1c3RvbVJlc291cmNlKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIHByb3ZpZGVyOiBjZm4uQ3VzdG9tUmVzb3VyY2VQcm92aWRlci5sYW1iZGEoY3VzdG9tUmVzb3VyY2UpLFxuICAgICAgcmVzb3VyY2VUeXBlOiAnQ3VzdG9tOjpSc2FQcml2YXRlS2V5U2VjcmV0JyxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgcmVzb3VyY2VWZXJzaW9uOiBoYXNoRmlsZU9yRGlyZWN0b3J5KGNvZGVMb2NhdGlvbiksXG4gICAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgICAga2V5U2l6ZTogcHJvcHMua2V5U2l6ZSxcbiAgICAgICAgc2VjcmV0TmFtZTogcHJvcHMuc2VjcmV0TmFtZSxcbiAgICAgICAga21zS2V5SWQ6IHByb3BzLnNlY3JldEVuY3J5cHRpb25LZXkgJiYgcHJvcHMuc2VjcmV0RW5jcnlwdGlvbktleS5rZXlBcm4sXG4gICAgICB9LFxuICAgICAgcmVtb3ZhbFBvbGljeTogcHJvcHMucmVtb3ZhbFBvbGljeSB8fCBSZW1vdmFsUG9saWN5LlJFVEFJTixcbiAgICB9KTtcbiAgICBpZiAoY3VzdG9tUmVzb3VyY2Uucm9sZSkge1xuICAgICAgcHJpdmF0ZUtleS5ub2RlLmFkZERlcGVuZGVuY3koY3VzdG9tUmVzb3VyY2Uucm9sZSk7XG4gICAgICBpZiAocHJvcHMuc2VjcmV0RW5jcnlwdGlvbktleSkge1xuICAgICAgICAvLyBNb2RlbGluZyBhcyBhIHNlcGFyYXRlIFBvbGljeSB0byBldmFkZSBhIGRlcGVuZGVuY3kgY3ljbGUgKFJvbGUgLT4gS2V5IC0+IFJvbGUpLCBhcyB0aGUgS2V5IHJlZmVycyB0byB0aGVcbiAgICAgICAgLy8gcm9sZSBpbiBpdCdzIHJlc291cmNlIHBvbGljeS5cbiAgICAgICAgcHJpdmF0ZUtleS5ub2RlLmFkZERlcGVuZGVuY3kobmV3IGlhbS5Qb2xpY3kodGhpcywgJ0dyYW50TGFtYmRhUm9sZUtleUFjY2VzcycsIHtcbiAgICAgICAgICByb2xlczogW2N1c3RvbVJlc291cmNlLnJvbGVdLFxuICAgICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgLy8gZGVzY3JpcHRpb246IGBBV1NTZWNyZXRzTWFuYWdlciR7cHJvcHMuc2VjcmV0TmFtZS5yZXBsYWNlKC9bXjAtOUEtWmEtel0vZywgJycpfUNNS2AsXG4gICAgICAgICAgICAgIGFjdGlvbnM6IFsna21zOkRlY3J5cHQnLCAna21zOkdlbmVyYXRlRGF0YUtleSddLFxuICAgICAgICAgICAgICByZXNvdXJjZXM6IFtwcm9wcy5zZWNyZXRFbmNyeXB0aW9uS2V5LmtleUFybl0sXG4gICAgICAgICAgICAgIGNvbmRpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBTdHJpbmdFcXVhbHM6IHtcbiAgICAgICAgICAgICAgICAgICdrbXM6VmlhU2VydmljZSc6IGBzZWNyZXRzbWFuYWdlci4ke1N0YWNrLm9mKHRoaXMpLnJlZ2lvbn0uYW1hem9uYXdzLmNvbWAsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBTdHJpbmdMaWtlOiB7ICdrbXM6RW5jcnlwdGlvbkNvbnRleHQ6U2VjcmV0QVJOJzogW3RoaXMuc2VjcmV0QXJuTGlrZSwgJ1JlcXVlc3RUb1ZhbGlkYXRlS2V5QWNjZXNzJ10gfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLm1hc3RlcktleSA9IHByb3BzLnNlY3JldEVuY3J5cHRpb25LZXk7XG4gICAgdGhpcy5zZWNyZXRBcm4gPSBwcml2YXRlS2V5LmdldEF0dCgnU2VjcmV0QXJuJykudG9TdHJpbmcoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IENTUiByZXNvdXJjZSB1c2luZyB0aGlzIHByaXZhdGUga2V5LlxuICAgKlxuICAgKiBAcGFyYW0gaWQgICAgICAgICAgICAgICB0aGUgSUQgb2YgdGhlIGNvbnN0cnVjdCBpbiB0aGUgY29uc3RydWN0IHRyZWUuXG4gICAqIEBwYXJhbSBkbiAgICAgICAgICAgICAgIHRoZSBkaXN0aW5ndWlzaGVkIG5hbWUgdG8gcmVjb3JkIG9uIHRoZSBDU1IuXG4gICAqIEBwYXJhbSBrZXlVc2FnZSAgICAgICAgIHRoZSBpbnRlbmRlZCBrZXkgdXNhZ2UgKGZvciBleGFtcGxlOiBcImNyaXRpY2FsLGRpZ2l0YWxTaWduYXR1cmVcIilcbiAgICogQHBhcmFtIGV4dGVuZGVkS2V5VXNhZ2UgdGhlIGluZGVuZGVkIGV4dGVuZGVkIGtleSB1c2FnZSwgaWYgYW55IChmb3IgZXhhbXBsZTogXCJjcml0aWNhbCxkaWdpdGFsU2lnbmF0dXJlXCIpXG4gICAqXG4gICAqIEByZXR1cm5zIGEgbmV3IGBgQ2VydGlmaWNhdGVTaWduaW5nUmVxdWVzdGBgIGluc3RhbmNlIHRoYXQgY2FuIGJlIHVzZWQgdG8gYWNjZXNzIHRoZSBhY3R1YWwgQ1NSIGRvY3VtZW50LlxuICAgKi9cbiAgcHVibGljIG5ld0NlcnRpZmljYXRlU2lnbmluZ1JlcXVlc3QoaWQ6IHN0cmluZywgZG46IERpc3Rpbmd1aXNoZWROYW1lLCBrZXlVc2FnZTogc3RyaW5nLCBleHRlbmRlZEtleVVzYWdlPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0KHRoaXMsIGlkLCB7XG4gICAgICBwcml2YXRlS2V5OiB0aGlzLFxuICAgICAgZG4sXG4gICAgICBrZXlVc2FnZSxcbiAgICAgIGV4dGVuZGVkS2V5VXNhZ2UsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWxsb3dzIGEgZ2l2ZW4gSUFNIFJvbGUgdG8gcmVhZCB0aGUgc2VjcmV0IHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gZ3JhbnRlZSB0aGUgcHJpbmNpcGFsIHRvIHdoaWNoIHBlcm1pc3Npb25zIHNob3VsZCBiZSBncmFudGVkLlxuICAgKi9cbiAgcHVibGljIGdyYW50R2V0U2VjcmV0VmFsdWUoZ3JhbnRlZTogaWFtLklQcmluY2lwYWwpOiB2b2lkIHtcbiAgICBncmFudGVlLmFkZFRvUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGFjdGlvbnM6IFsnc2VjcmV0c21hbmFnZXI6R2V0U2VjcmV0VmFsdWUnXSxcbiAgICAgIHJlc291cmNlczogW3RoaXMuc2VjcmV0QXJuXSxcbiAgICB9KSk7XG4gICAgaWYgKHRoaXMubWFzdGVyS2V5KSB7XG4gICAgICAvLyBBZGQgYSBrZXkgZ3JhbnQgc2luY2Ugd2UncmUgdXNpbmcgYSBDTUtcbiAgICAgIHRoaXMubWFzdGVyS2V5LmFkZFRvUmVzb3VyY2VQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbJ2ttczpEZWNyeXB0J10sXG4gICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICAgIHByaW5jaXBhbHM6IFtncmFudGVlLmdyYW50UHJpbmNpcGFsXSxcbiAgICAgICAgY29uZGl0aW9uczoge1xuICAgICAgICAgIFN0cmluZ0VxdWFsczoge1xuICAgICAgICAgICAgJ2ttczpWaWFTZXJ2aWNlJzogYHNlY3JldHNtYW5hZ2VyLiR7U3RhY2sub2YodGhpcykucmVnaW9ufS5hbWF6b25hd3MuY29tYCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIEFybkxpa2U6IHtcbiAgICAgICAgICAgICdrbXM6RW5jcnlwdGlvbkNvbnRleHQ6U2VjcmV0QVJOJzogdGhpcy5zZWNyZXRBcm5MaWtlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgICBncmFudGVlLmFkZFRvUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogWydrbXM6RGVjcnlwdCddLFxuICAgICAgICByZXNvdXJjZXM6IFt0aGlzLm1hc3RlcktleS5rZXlBcm5dLFxuICAgICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgICAgU3RyaW5nRXF1YWxzOiB7XG4gICAgICAgICAgICAna21zOlZpYVNlcnZpY2UnOiBgc2VjcmV0c21hbmFnZXIuJHtTdGFjay5vZih0aGlzKS5yZWdpb259LmFtYXpvbmF3cy5jb21gLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgQXJuRXF1YWxzOiB7XG4gICAgICAgICAgICAna21zOkVuY3J5cHRpb25Db250ZXh0OlNlY3JldEFSTic6IHRoaXMuc2VjcmV0QXJuLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,8 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
2
21
  Object.defineProperty(exports, "__esModule", { value: true });
3
22
  exports.validateProperties = exports.RequestType = exports.Status = exports.sendResponse = exports.customResourceHandler = void 0;
4
- const https = require("https");
5
- const url = require("url");
23
+ const https = __importStar(require("https"));
24
+ const url = __importStar(require("url"));
6
25
  /**
7
26
  * Implements a Lambda CloudFormation custom resource handler.
8
27
  *
@@ -106,4 +125,4 @@ function validateProperties(props, validProps) {
106
125
  return props;
107
126
  }
108
127
  exports.validateProperties = validateProperties;
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2Nsb3VkLWZvcm1hdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIl9jbG91ZC1mb3JtYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQStCO0FBQy9CLDJCQUEyQjtBQU0zQjs7Ozs7O0dBTUc7QUFDSCxTQUFnQixxQkFBcUIsQ0FBQyxXQUE0QjtJQUNoRSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDOUIsSUFBSTtZQUNGLHNDQUFzQztZQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUVyRCxNQUFNLFVBQVUsR0FBRyxNQUFNLFdBQVcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFFckQsc0NBQXNDO1lBQ3RDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUV6RCxNQUFNLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUMvRTtRQUFDLE9BQU8sQ0FBTSxFQUFFO1lBQ2Ysc0NBQXNDO1lBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakIsTUFBTSxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzNGO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQWxCRCxzREFrQkM7QUFhRDs7R0FFRztBQUNILFNBQWdCLFlBQVksQ0FBQyxLQUFZLEVBQ3ZDLE1BQWMsRUFDZCxxQkFBNkIsS0FBSyxDQUFDLGtCQUFrQixJ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QUMsQ0FBQyxRQUFRLElBQUksVUFBVSxDQUFDLEVBQUU7WUFDN0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUNyRDtLQUNGO0lBQ0QsS0FBSyxNQUFNLFFBQVEsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1FBQzlDLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLEVBQUU7WUFDaEQsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUMzRDtLQUNGO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBakJELGdEQWlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGh0dHBzIGZyb20gJ2h0dHBzJztcbmltcG9ydCAqIGFzIHVybCBmcm9tICd1cmwnO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJy4vX2xhbWJkYSc7XG5cbmV4cG9ydCB0eXBlIExhbWJkYUhhbmRsZXIgPSAoZXZlbnQ6IEV2ZW50LCBjb250ZXh0OiBsYW1iZGEuQ29udGV4dCkgPT4gUHJvbWlzZTx2b2lkPjtcbmV4cG9ydCB0eXBlIFJlc291cmNlSGFuZGxlciA9IChldmVudDogRXZlbnQsIGNvbnRleHQ6IGxhbWJkYS5Db250ZXh0KSA9PiBQcm9taXNlPFJlc291cmNlQXR0cmlidXRlcz47XG5cbi8qKlxuICogSW1wbGVtZW50cyBhIExhbWJkYSBDbG91ZEZvcm1hdGlvbiBjdXN0b20gcmVzb3VyY2UgaGFuZGxlci5cbiAqXG4gKiBAcGFyYW0gaGFuZGxlRXZlbnQgIHRoZSBoYW5kbGVyIGZ1bmN0aW9uIHRoYXQgY3JlYXRlcywgdXBkYXRlcyBhbmQgZGVsZXRlcyB0aGUgcmVzb3VyY2UuXG4gKiBAcGFyYW0gcmVmQXR0cmlidXRlIHRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUgaG9saW5kZyB0aGUgUGh5c2ljYWwgSUQgb2YgdGhlIHJlc291cmNlLlxuICogQHJldHVybnMgYSBoYW5kbGVyIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3VzdG9tUmVzb3VyY2VIYW5kbGVyKGhhbmRsZUV2ZW50OiBSZXNvdXJjZUhhbmRsZXIpOiBMYW1iZGFIYW5kbGVyIHtcbiAgcmV0dXJuIGFzeW5jIChldmVudCwgY29udGV4dCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgY29uc29sZS5sb2coYElucHV0IGV2ZW50OiAke0pTT04uc3RyaW5naWZ5KGV2ZW50KX1gKTtcblxuICAgICAgY29uc3QgYXR0cmlidXRlcyA9IGF3YWl0IGhhbmRsZUV2ZW50KGV2ZW50LCBjb250ZXh0KTtcblxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgIGNvbnNvbGUubG9nKGBBdHRyaWJ1dGVzOiAke0pTT04uc3RyaW5naWZ5KGF0dHJpYnV0ZXMpfWApO1xuXG4gICAgICBhd2FpdCBleHBvcnRzLnNlbmRSZXNwb25zZShldmVudCwgU3RhdHVzLlNVQ0NFU1MsIGF0dHJpYnV0ZXMuUmVmLCBhdHRyaWJ1dGVzKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgYXdhaXQgZXhwb3J0cy5zZW5kUmVzcG9uc2UoZXZlbnQsIFN0YXR1cy5GQUlMRUQsIGV2ZW50LlBoeXNpY2FsUmVzb3VyY2VJZCwge30sIGUubWVzc2FnZSk7XG4gICAgfVxuICB9O1xufVxuXG4vKipcbiAqIEdlbmVyYWwgc2hhcGUgb2YgY3VzdG9tIHJlc291cmNlIGF0dHJpYnV0ZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VBdHRyaWJ1dGVzIHtcbiAgLyoqIFRoZSBwaHlzaWNhbCByZWZlcmVuY2UgdG8gdGhpcyByZXNvdXJjZSBpbnN0YW5jZS4gKi9cbiAgUmVmOiBzdHJpbmc7XG5cbiAgLyoqIE90aGVyIGF0dHJpYnV0ZXMgb2YgdGhlIHJlc291cmNlLiAqL1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9jcnBnLXJlZi1yZXNwb25zZXMuaHRtbFxuICovXG5leHBvcnQgZnVuY3Rpb24gc2VuZFJlc3BvbnNlKGV2ZW50OiBFdmVudCxcbiAgc3RhdHVzOiBTdGF0dXMsXG4gIHBoeXNpY2FsUmVzb3VyY2VJZDogc3RyaW5nID0gZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkIHx8IGV2ZW50LkxvZ2ljYWxSZXNvdXJjZUlkLFxuICBkYXRhOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfCB1bmRlZmluZWQgfSxcbiAgcmVhc29uPzogc3RyaW5nKSB7XG4gIGNvbnN0IHJlc3BvbnNlQm9keSA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICBEYXRhOiBkYXRhLFxuICAgIExvZ2ljYWxSZXNvdXJjZUlkOiBldmVudC5Mb2dpY2FsUmVzb3VyY2VJZCxcbiAgICBQaHlzaWNhbFJlc291cmNlSWQ6IHBoeXNpY2FsUmVzb3VyY2VJZCxcbiAgICBSZWFzb246IHJlYXNvbixcbiAgICBSZXF1ZXN0SWQ6IGV2ZW50LlJlcXVlc3RJZCxcbiAgICBTdGFja0lkOiBldmVudC5TdGFja0lkLFxuICAgIFN0YXR1czogc3RhdHVzLFxuICB9LCBudWxsLCAyKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICBjb25zb2xlLmxvZyhgUmVzcG9uc2UgYm9keTogJHtyZXNwb25zZUJvZHl9YCk7XG5cbiAgY29uc3QgcGFyc2VkVXJsID0gdXJsLnBhcnNlKGV2ZW50LlJlc3BvbnNlVVJMKTtcbiAgY29uc3Qgb3B0aW9uczogaHR0cHMuUmVxdWVzdE9wdGlvbnMgPSB7XG4gICAgaGVhZGVyczoge1xuICAgICAgJ2NvbnRlbnQtbGVuZ3RoJzogcmVzcG9uc2VCb2R5Lmxlbmd0aCxcbiAgICAgICdjb250ZW50LXR5cGUnOiAnJyxcbiAgICB9LFxuICAgIGhvc3RuYW1lOiBwYXJzZWRVcmwuaG9zdG5hbWUsXG4gICAgbWV0aG9kOiAnUFVUJyxcbiAgICBwYXRoOiBwYXJzZWRVcmwucGF0aCxcbiAgICBwb3J0OiBwYXJzZWRVcmwucG9ydCB8fCA0NDMsXG4gIH07XG5cbiAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChvaywga28pID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgIGNvbnNvbGUubG9nKCdTZW5kaW5nIHJlc3BvbnNlLi4uJyk7XG5cbiAgICBjb25zdCByZXEgPSBodHRwcy5yZXF1ZXN0KG9wdGlvbnMsIHJlc3AgPT4ge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgIGNvbnNvbGUubG9nKGBSZWNlaXZlZCBIVFRQICR7cmVzcC5zdGF0dXNDb2RlfSAoJHtyZXNwLnN0YXR1c01lc3NhZ2V9KWApO1xuICAgICAgaWYgKHJlc3Auc3RhdHVzQ29kZSA9PT0gMjAwKSB7XG4gICAgICAgIHJldHVybiBvaygpO1xuICAgICAgfVxuICAgICAga28obmV3IEVycm9yKGBVbmV4cGVjdGVkIGVycm9yIHNlbmRpbmcgcmVzb3Buc2UgdG8gQ2xvdWRGb3JtYXRpb246IEhUVFAgJHtyZXNwLnN0YXR1c0NvZGV9ICgke3Jlc3Auc3RhdHVzTWVzc2FnZX0pYCkpO1xuICAgIH0pO1xuXG4gICAgcmVxLm9uY2UoJ2Vycm9yJywga28pO1xuICAgIHJlcS53cml0ZShyZXNwb25zZUJvZHkpO1xuXG4gICAgcmVxLmVuZCgpO1xuICB9KTtcbn1cblxuZXhwb3J0IGVudW0gU3RhdHVzIHtcbiAgU1VDQ0VTUyA9ICdTVUNDRVNTJyxcbiAgRkFJTEVEID0gJ0ZBSUxFRCcsXG59XG5cbmV4cG9ydCBlbnVtIFJlcXVlc3RUeXBlIHtcbiAgQ1JFQVRFID0gJ0NyZWF0ZScsXG4gIFVQREFURSA9ICdVcGRhdGUnLFxuICBERUxFVEUgPSAnRGVsZXRlJyxcbn1cblxuLyoqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvY3JwZy1yZWYtcmVxdWVzdHMuaHRtbCAqL1xuZXhwb3J0IHR5cGUgRXZlbnQgPSBDcmVhdGVFdmVudCB8IFVwZGF0ZUV2ZW50IHwgRGVsZXRlRXZlbnQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xvdWRGb3JtYXRpb25FdmVudEJhc2Uge1xuICByZWFkb25seSBSZXF1ZXN0VHlwZTogUmVxdWVzdFR5cGU7XG4gIHJlYWRvbmx5IFJlc3BvbnNlVVJMOiBzdHJpbmc7XG4gIHJlYWRvbmx5IFN0YWNrSWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgUmVxdWVzdElkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IFJlc291cmNlVHlwZTogc3RyaW5nO1xuICByZWFkb25seSBMb2dpY2FsUmVzb3VyY2VJZDogc3RyaW5nO1xuICByZWFkb25seSBSZXNvdXJjZVByb3BlcnRpZXM6IHsgW25hbWU6IHN0cmluZ106IGFueSB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUV2ZW50IGV4dGVuZHMgQ2xvdWRGb3JtYXRpb25FdmVudEJhc2Uge1xuICByZWFkb25seSBSZXF1ZXN0VHlwZTogUmVxdWVzdFR5cGUuQ1JFQVRFO1xuICByZWFkb25seSBQaHlzaWNhbFJlc291cmNlSWQ6IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVFdmVudCBleHRlbmRzIENsb3VkRm9ybWF0aW9uRXZlbnRCYXNlIHtcbiAgcmVhZG9ubHkgUmVxdWVzdFR5cGU6IFJlcXVlc3RUeXBlLlVQREFURTtcbiAgcmVhZG9ubHkgUGh5c2ljYWxSZXNvdXJjZUlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IE9sZFJlc291cmNlUHJvcGVydGllczogeyBbbmFtZTogc3RyaW5nXTogYW55IH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZXRlRXZlbnQgZXh0ZW5kcyBDbG91ZEZvcm1hdGlvbkV2ZW50QmFzZSB7XG4gIHJlYWRvbmx5IFJlcXVlc3RUeXBlOiBSZXF1ZXN0VHlwZS5ERUxFVEU7XG4gIHJlYWRvbmx5IFBoeXNpY2FsUmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlcyB0aGF0IGFsbCByZXF1aXJlZCBwcm9wZXJ0aWVzIGFyZSBwcmVzZW50LCBhbmQgdGhhdCBubyBleHRyYW5lb3VzIHByb3BlcnRpZXMgYXJlIHByb3ZpZGVkLlxuICpcbiAqIEBwYXJhbSBwcm9wcyAgICAgIHRoZSBwcm9wZXJ0aWVzIHRvIGJlIHZhbGlkYXRlZC5cbiAqIEBwYXJhbSB2YWxpZFByb3BzIGEgbWFwcGluZyBvZiB2YWxpZCBwcm9wZXJ0eSBuYW1lcyB0byBhIGJvb2xlYW4gaW5zdHJ1Y3Rpbmcgd2hldGhlciB0aGUgcHJvcGVydHkgaXMgcmVxdWlyZWQgb3Igbm90LlxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVQcm9wZXJ0aWVzKHByb3BzOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSwgdmFsaWRQcm9wczogeyBbbmFtZTogc3RyaW5nXTogYm9vbGVhbiB9KSB7XG4gIC8vIFNlcnZpY2VUb2tlbiBpcyBhbHdheXMgYWNjZXB0ZWQgKHRlY2huaWNhbGx5IHJlcXVpcmVkLCBidXQgd2UgZG9uJ3QgY2FyZSBhYm91dCBpdCBpbnRlcm5hbGx5LCB1bmxlc3MgdGhlIGNhbGxlciBzYWlkIHdlIGRvKVxuICB2YWxpZFByb3BzLlNlcnZpY2VUb2tlbiA9IHZhbGlkUHJvcHMuU2VydmljZVRva2VuIHx8IGZhbHNlO1xuICAvLyBSZXNvdXJjZVZlcnNpb24gaXMgaW5qZWN0ZWQgYnkgdGhlIExhbWJkYSBoYW5kbGVyLCBhbmQgaXMgcGVybWl0dGVkIGJ1dCBub3QgcmVxdWlyZWQsIHVubGVzcyB0aGUgY2FsbGVyIHNhaWQgaXQgaXMuXG4gIHZhbGlkUHJvcHMuUmVzb3VyY2VWZXJzaW9uID0gdmFsaWRQcm9wcy5SZXNvdXJjZVZlcnNpb24gfHwgZmFsc2U7XG5cbiAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBPYmplY3Qua2V5cyhwcm9wcykpIHtcbiAgICBpZiAoIShwcm9wZXJ0eSBpbiB2YWxpZFByb3BzKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIHByb3BlcnR5OiAke3Byb3BlcnR5fWApO1xuICAgIH1cbiAgfVxuICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIE9iamVjdC5rZXlzKHZhbGlkUHJvcHMpKSB7XG4gICAgaWYgKHZhbGlkUHJvcHNbcHJvcGVydHldICYmICEocHJvcGVydHkgaW4gcHJvcHMpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgcmVxdWlyZWQgcHJvcGVydHk6ICR7cHJvcGVydHl9YCk7XG4gICAgfVxuICB9XG4gIHJldHVybiBwcm9wcztcbn1cbiJdfQ==
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2Nsb3VkLWZvcm1hdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIl9jbG91ZC1mb3JtYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQUErQjtBQUMvQix5Q0FBMkI7QUFNM0I7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IscUJBQXFCLENBQUMsV0FBNEI7SUFDaEUsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQzlCLElBQUk7WUFDRixzQ0FBc0M7WUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFckQsTUFBTSxVQUFVLEdBQUcsTUFBTSxXQUFXLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRXJELHNDQUFzQztZQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFekQsTUFBTSxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDL0U7UUFBQyxPQUFPLENBQU0sRUFBRTtZQUNmLHNDQUFzQztZQUN0QyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLE1BQU0sT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMzRjtJQUNILENBQUMsQ0FBQztBQUNKLENBQUM7QUFsQkQsc0RBa0JDO0FBYUQ7O0dBRUc7QUFDSCxTQUFnQixZQUFZLENBQUMsS0FBWSxFQUN2QyxNQUFjLEVBQ2QscUJBQTZC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LEVBQUU7UUFDekMsSUFBSSxDQUFDLENBQUMsUUFBUSxJQUFJLFVBQVUsQ0FBQyxFQUFFO1lBQzdCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDckQ7S0FDRjtJQUNELEtBQUssTUFBTSxRQUFRLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtRQUM5QyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxFQUFFO1lBQ2hELE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDM0Q7S0FDRjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQWpCRCxnREFpQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBodHRwcyBmcm9tICdodHRwcyc7XG5pbXBvcnQgKiBhcyB1cmwgZnJvbSAndXJsJztcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tICcuL19sYW1iZGEnO1xuXG5leHBvcnQgdHlwZSBMYW1iZGFIYW5kbGVyID0gKGV2ZW50OiBFdmVudCwgY29udGV4dDogbGFtYmRhLkNvbnRleHQpID0+IFByb21pc2U8dm9pZD47XG5leHBvcnQgdHlwZSBSZXNvdXJjZUhhbmRsZXIgPSAoZXZlbnQ6IEV2ZW50LCBjb250ZXh0OiBsYW1iZGEuQ29udGV4dCkgPT4gUHJvbWlzZTxSZXNvdXJjZUF0dHJpYnV0ZXM+O1xuXG4vKipcbiAqIEltcGxlbWVudHMgYSBMYW1iZGEgQ2xvdWRGb3JtYXRpb24gY3VzdG9tIHJlc291cmNlIGhhbmRsZXIuXG4gKlxuICogQHBhcmFtIGhhbmRsZUV2ZW50ICB0aGUgaGFuZGxlciBmdW5jdGlvbiB0aGF0IGNyZWF0ZXMsIHVwZGF0ZXMgYW5kIGRlbGV0ZXMgdGhlIHJlc291cmNlLlxuICogQHBhcmFtIHJlZkF0dHJpYnV0ZSB0aGUgbmFtZSBvZiB0aGUgYXR0cmlidXRlIGhvbGluZGcgdGhlIFBoeXNpY2FsIElEIG9mIHRoZSByZXNvdXJjZS5cbiAqIEByZXR1cm5zIGEgaGFuZGxlciBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGN1c3RvbVJlc291cmNlSGFuZGxlcihoYW5kbGVFdmVudDogUmVzb3VyY2VIYW5kbGVyKTogTGFtYmRhSGFuZGxlciB7XG4gIHJldHVybiBhc3luYyAoZXZlbnQsIGNvbnRleHQpID0+IHtcbiAgICB0cnkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgIGNvbnNvbGUubG9nKGBJbnB1dCBldmVudDogJHtKU09OLnN0cmluZ2lmeShldmVudCl9YCk7XG5cbiAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBhd2FpdCBoYW5kbGVFdmVudChldmVudCwgY29udGV4dCk7XG5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmxvZyhgQXR0cmlidXRlczogJHtKU09OLnN0cmluZ2lmeShhdHRyaWJ1dGVzKX1gKTtcblxuICAgICAgYXdhaXQgZXhwb3J0cy5zZW5kUmVzcG9uc2UoZXZlbnQsIFN0YXR1cy5TVUNDRVNTLCBhdHRyaWJ1dGVzLlJlZiwgYXR0cmlidXRlcyk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgIGF3YWl0IGV4cG9ydHMuc2VuZFJlc3BvbnNlKGV2ZW50LCBTdGF0dXMuRkFJTEVELCBldmVudC5QaHlzaWNhbFJlc291cmNlSWQsIHt9LCBlLm1lc3NhZ2UpO1xuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBHZW5lcmFsIHNoYXBlIG9mIGN1c3RvbSByZXNvdXJjZSBhdHRyaWJ1dGVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlQXR0cmlidXRlcyB7XG4gIC8qKiBUaGUgcGh5c2ljYWwgcmVmZXJlbmNlIHRvIHRoaXMgcmVzb3VyY2UgaW5zdGFuY2UuICovXG4gIFJlZjogc3RyaW5nO1xuXG4gIC8qKiBPdGhlciBhdHRyaWJ1dGVzIG9mIHRoZSByZXNvdXJjZS4gKi9cbiAgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvY3JwZy1yZWYtcmVzcG9uc2VzLmh0bWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlbmRSZXNwb25zZShldmVudDogRXZlbnQsXG4gIHN0YXR1czogU3RhdHVzLFxuICBwaHlzaWNhbFJlc291cmNlSWQ6IHN0cmluZyA9IGV2ZW50LlBoeXNpY2FsUmVzb3VyY2VJZCB8fCBldmVudC5Mb2dpY2FsUmVzb3VyY2VJZCxcbiAgZGF0YTogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIHwgdW5kZWZpbmVkIH0sXG4gIHJlYXNvbj86IHN0cmluZykge1xuICBjb25zdCByZXNwb25zZUJvZHkgPSBKU09OLnN0cmluZ2lmeSh7XG4gICAgRGF0YTogZGF0YSxcbiAgICBMb2dpY2FsUmVzb3VyY2VJZDogZXZlbnQuTG9naWNhbFJlc291cmNlSWQsXG4gICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBwaHlzaWNhbFJlc291cmNlSWQsXG4gICAgUmVhc29uOiByZWFzb24sXG4gICAgUmVxdWVzdElkOiBldmVudC5SZXF1ZXN0SWQsXG4gICAgU3RhY2tJZDogZXZlbnQuU3RhY2tJZCxcbiAgICBTdGF0dXM6IHN0YXR1cyxcbiAgfSwgbnVsbCwgMik7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgY29uc29sZS5sb2coYFJlc3BvbnNlIGJvZHk6ICR7cmVzcG9uc2VCb2R5fWApO1xuXG4gIGNvbnN0IHBhcnNlZFVybCA9IHVybC5wYXJzZShldmVudC5SZXNwb25zZVVSTCk7XG4gIGNvbnN0IG9wdGlvbnM6IGh0dHBzLlJlcXVlc3RPcHRpb25zID0ge1xuICAgIGhlYWRlcnM6IHtcbiAgICAgICdjb250ZW50LWxlbmd0aCc6IHJlc3BvbnNlQm9keS5sZW5ndGgsXG4gICAgICAnY29udGVudC10eXBlJzogJycsXG4gICAgfSxcbiAgICBob3N0bmFtZTogcGFyc2VkVXJsLmhvc3RuYW1lLFxuICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgcGF0aDogcGFyc2VkVXJsLnBhdGgsXG4gICAgcG9ydDogcGFyc2VkVXJsLnBvcnQgfHwgNDQzLFxuICB9O1xuXG4gIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigob2ssIGtvKSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICBjb25zb2xlLmxvZygnU2VuZGluZyByZXNwb25zZS4uLicpO1xuXG4gICAgY29uc3QgcmVxID0gaHR0cHMucmVxdWVzdChvcHRpb25zLCByZXNwID0+IHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmxvZyhgUmVjZWl2ZWQgSFRUUCAke3Jlc3Auc3RhdHVzQ29kZX0gKCR7cmVzcC5zdGF0dXNNZXNzYWdlfSlgKTtcbiAgICAgIGlmIChyZXNwLnN0YXR1c0NvZGUgPT09IDIwMCkge1xuICAgICAgICByZXR1cm4gb2soKTtcbiAgICAgIH1cbiAgICAgIGtvKG5ldyBFcnJvcihgVW5leHBlY3RlZCBlcnJvciBzZW5kaW5nIHJlc29wbnNlIHRvIENsb3VkRm9ybWF0aW9uOiBIVFRQICR7cmVzcC5zdGF0dXNDb2RlfSAoJHtyZXNwLnN0YXR1c01lc3NhZ2V9KWApKTtcbiAgICB9KTtcblxuICAgIHJlcS5vbmNlKCdlcnJvcicsIGtvKTtcbiAgICByZXEud3JpdGUocmVzcG9uc2VCb2R5KTtcblxuICAgIHJlcS5lbmQoKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBlbnVtIFN0YXR1cyB7XG4gIFNVQ0NFU1MgPSAnU1VDQ0VTUycsXG4gIEZBSUxFRCA9ICdGQUlMRUQnLFxufVxuXG5leHBvcnQgZW51bSBSZXF1ZXN0VHlwZSB7XG4gIENSRUFURSA9ICdDcmVhdGUnLFxuICBVUERBVEUgPSAnVXBkYXRlJyxcbiAgREVMRVRFID0gJ0RlbGV0ZScsXG59XG5cbi8qKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2NycGctcmVmLXJlcXVlc3RzLmh0bWwgKi9cbmV4cG9ydCB0eXBlIEV2ZW50ID0gQ3JlYXRlRXZlbnQgfCBVcGRhdGVFdmVudCB8IERlbGV0ZUV2ZW50O1xuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRm9ybWF0aW9uRXZlbnRCYXNlIHtcbiAgcmVhZG9ubHkgUmVxdWVzdFR5cGU6IFJlcXVlc3RUeXBlO1xuICByZWFkb25seSBSZXNwb25zZVVSTDogc3RyaW5nO1xuICByZWFkb25seSBTdGFja0lkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IFJlcXVlc3RJZDogc3RyaW5nO1xuICByZWFkb25seSBSZXNvdXJjZVR5cGU6IHN0cmluZztcbiAgcmVhZG9ubHkgTG9naWNhbFJlc291cmNlSWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgUmVzb3VyY2VQcm9wZXJ0aWVzOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVFdmVudCBleHRlbmRzIENsb3VkRm9ybWF0aW9uRXZlbnRCYXNlIHtcbiAgcmVhZG9ubHkgUmVxdWVzdFR5cGU6IFJlcXVlc3RUeXBlLkNSRUFURTtcbiAgcmVhZG9ubHkgUGh5c2ljYWxSZXNvdXJjZUlkOiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlRXZlbnQgZXh0ZW5kcyBDbG91ZEZvcm1hdGlvbkV2ZW50QmFzZSB7XG4gIHJlYWRvbmx5IFJlcXVlc3RUeXBlOiBSZXF1ZXN0VHlwZS5VUERBVEU7XG4gIHJlYWRvbmx5IFBoeXNpY2FsUmVzb3VyY2VJZDogc3RyaW5nO1xuICByZWFkb25seSBPbGRSZXNvdXJjZVByb3BlcnRpZXM6IHsgW25hbWU6IHN0cmluZ106IGFueSB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlbGV0ZUV2ZW50IGV4dGVuZHMgQ2xvdWRGb3JtYXRpb25FdmVudEJhc2Uge1xuICByZWFkb25seSBSZXF1ZXN0VHlwZTogUmVxdWVzdFR5cGUuREVMRVRFO1xuICByZWFkb25seSBQaHlzaWNhbFJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgdGhhdCBhbGwgcmVxdWlyZWQgcHJvcGVydGllcyBhcmUgcHJlc2VudCwgYW5kIHRoYXQgbm8gZXh0cmFuZW91cyBwcm9wZXJ0aWVzIGFyZSBwcm92aWRlZC5cbiAqXG4gKiBAcGFyYW0gcHJvcHMgICAgICB0aGUgcHJvcGVydGllcyB0byBiZSB2YWxpZGF0ZWQuXG4gKiBAcGFyYW0gdmFsaWRQcm9wcyBhIG1hcHBpbmcgb2YgdmFsaWQgcHJvcGVydHkgbmFtZXMgdG8gYSBib29sZWFuIGluc3RydWN0aW5nIHdoZXRoZXIgdGhlIHByb3BlcnR5IGlzIHJlcXVpcmVkIG9yIG5vdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlUHJvcGVydGllcyhwcm9wczogeyBbbmFtZTogc3RyaW5nXTogYW55IH0sIHZhbGlkUHJvcHM6IHsgW25hbWU6IHN0cmluZ106IGJvb2xlYW4gfSkge1xuICAvLyBTZXJ2aWNlVG9rZW4gaXMgYWx3YXlzIGFjY2VwdGVkICh0ZWNobmljYWxseSByZXF1aXJlZCwgYnV0IHdlIGRvbid0IGNhcmUgYWJvdXQgaXQgaW50ZXJuYWxseSwgdW5sZXNzIHRoZSBjYWxsZXIgc2FpZCB3ZSBkbylcbiAgdmFsaWRQcm9wcy5TZXJ2aWNlVG9rZW4gPSB2YWxpZFByb3BzLlNlcnZpY2VUb2tlbiB8fCBmYWxzZTtcbiAgLy8gUmVzb3VyY2VWZXJzaW9uIGlzIGluamVjdGVkIGJ5IHRoZSBMYW1iZGEgaGFuZGxlciwgYW5kIGlzIHBlcm1pdHRlZCBidXQgbm90IHJlcXVpcmVkLCB1bmxlc3MgdGhlIGNhbGxlciBzYWlkIGl0IGlzLlxuICB2YWxpZFByb3BzLlJlc291cmNlVmVyc2lvbiA9IHZhbGlkUHJvcHMuUmVzb3VyY2VWZXJzaW9uIHx8IGZhbHNlO1xuXG4gIGZvciAoY29uc3QgcHJvcGVydHkgb2YgT2JqZWN0LmtleXMocHJvcHMpKSB7XG4gICAgaWYgKCEocHJvcGVydHkgaW4gdmFsaWRQcm9wcykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBwcm9wZXJ0eTogJHtwcm9wZXJ0eX1gKTtcbiAgICB9XG4gIH1cbiAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBPYmplY3Qua2V5cyh2YWxpZFByb3BzKSkge1xuICAgIGlmICh2YWxpZFByb3BzW3Byb3BlcnR5XSAmJiAhKHByb3BlcnR5IGluIHByb3BzKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNaXNzaW5nIHJlcXVpcmVkIHByb3BlcnR5OiAke3Byb3BlcnR5fWApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcHJvcHM7XG59XG4iXX0=