cloudstructs 0.5.4 → 0.5.5

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 (160) hide show
  1. package/.jsii +3 -3
  2. package/lib/codecommit-mirror/index.d.ts +0 -1
  3. package/lib/codecommit-mirror/index.js +5 -6
  4. package/lib/ecs-service-roller/index.d.ts +0 -1
  5. package/lib/ecs-service-roller/index.js +5 -6
  6. package/lib/email-receiver/index.d.ts +0 -1
  7. package/lib/email-receiver/receiver.d.ts +0 -1
  8. package/lib/email-receiver/receiver.js +1 -1
  9. package/lib/email-receiver/s3-function.d.ts +0 -1
  10. package/lib/email-receiver/s3.lambda.d.ts +0 -1
  11. package/lib/email-receiver/whitelist-function.d.ts +0 -1
  12. package/lib/email-receiver/whitelist.lambda.d.ts +0 -1
  13. package/lib/index.d.ts +0 -1
  14. package/lib/saml-identity-provider/index.d.ts +0 -1
  15. package/lib/saml-identity-provider/index.js +4 -5
  16. package/lib/slack-app/index.d.ts +0 -1
  17. package/lib/slack-app/manifest.d.ts +0 -1
  18. package/lib/slack-app/manifest.js +33 -35
  19. package/lib/slack-app/provider-function.d.ts +0 -1
  20. package/lib/slack-app/provider.d.ts +0 -1
  21. package/lib/slack-app/provider.js +2 -3
  22. package/lib/slack-app/provider.lambda.d.ts +0 -1
  23. package/lib/slack-app/provider.lambda.js +3 -4
  24. package/lib/slack-app/slack-app.d.ts +0 -1
  25. package/lib/slack-app/slack-app.js +4 -5
  26. package/lib/slack-events/events-function.d.ts +0 -1
  27. package/lib/slack-events/events.lambda.d.ts +0 -1
  28. package/lib/slack-events/index.d.ts +0 -1
  29. package/lib/slack-events/index.js +1 -1
  30. package/lib/slack-events/signature.d.ts +0 -1
  31. package/lib/slack-textract/detect-function.d.ts +0 -1
  32. package/lib/slack-textract/detect.lambda.d.ts +0 -1
  33. package/lib/slack-textract/index.d.ts +0 -1
  34. package/lib/slack-textract/index.js +1 -1
  35. package/lib/state-machine-cr-provider/index.d.ts +0 -1
  36. package/lib/state-machine-cr-provider/index.js +3 -4
  37. package/lib/state-machine-cr-provider/runtime/http.d.ts +0 -1
  38. package/lib/state-machine-cr-provider/runtime/http.js +3 -4
  39. package/lib/state-machine-cr-provider/runtime/index.d.ts +0 -1
  40. package/lib/state-machine-cr-provider/runtime/index.js +5 -7
  41. package/lib/static-website/index.d.ts +0 -1
  42. package/lib/static-website/index.js +3 -4
  43. package/lib/static-website/origin-request-function.d.ts +0 -1
  44. package/lib/static-website/origin-request.edge-lambda.d.ts +0 -1
  45. package/lib/toolkit-cleaner/clean-images-function.d.ts +0 -1
  46. package/lib/toolkit-cleaner/clean-images.lambda.d.ts +0 -1
  47. package/lib/toolkit-cleaner/clean-images.lambda.js +3 -4
  48. package/lib/toolkit-cleaner/clean-objects-function.d.ts +0 -1
  49. package/lib/toolkit-cleaner/clean-objects.lambda.d.ts +0 -1
  50. package/lib/toolkit-cleaner/clean-objects.lambda.js +3 -4
  51. package/lib/toolkit-cleaner/extract-template-hashes-function.d.ts +0 -1
  52. package/lib/toolkit-cleaner/extract-template-hashes.lambda.d.ts +0 -1
  53. package/lib/toolkit-cleaner/get-stack-names-function.d.ts +0 -1
  54. package/lib/toolkit-cleaner/get-stack-names.lambda.d.ts +0 -1
  55. package/lib/toolkit-cleaner/get-stack-names.lambda.js +2 -3
  56. package/lib/toolkit-cleaner/index.d.ts +0 -1
  57. package/lib/toolkit-cleaner/index.js +4 -5
  58. package/lib/url-shortener/index.d.ts +0 -1
  59. package/lib/url-shortener/index.js +4 -5
  60. package/lib/url-shortener/redirect-function.d.ts +0 -1
  61. package/lib/url-shortener/redirect.edge-lambda.d.ts +0 -1
  62. package/lib/url-shortener/redirect.edge-lambda.js +2 -3
  63. package/lib/url-shortener/shortener-function.d.ts +0 -1
  64. package/lib/url-shortener/shortener.lambda.d.ts +0 -1
  65. package/lib/url-shortener/shortener.lambda.js +3 -4
  66. package/node_modules/@slack/logger/node_modules/@types/node/README.md +1 -1
  67. package/node_modules/@slack/logger/node_modules/@types/node/fs/promises.d.ts +25 -1
  68. package/node_modules/@slack/logger/node_modules/@types/node/fs.d.ts +9 -2
  69. package/node_modules/@slack/logger/node_modules/@types/node/package.json +3 -3
  70. package/node_modules/@slack/logger/node_modules/@types/node/process.d.ts +12 -11
  71. package/node_modules/@slack/logger/node_modules/@types/node/stream.d.ts +13 -0
  72. package/node_modules/@slack/logger/node_modules/@types/node/timers.d.ts +2 -2
  73. package/node_modules/@slack/logger/node_modules/@types/node/tls.d.ts +1 -1
  74. package/node_modules/@slack/web-api/node_modules/@types/node/README.md +1 -1
  75. package/node_modules/@slack/web-api/node_modules/@types/node/fs/promises.d.ts +25 -1
  76. package/node_modules/@slack/web-api/node_modules/@types/node/fs.d.ts +9 -2
  77. package/node_modules/@slack/web-api/node_modules/@types/node/package.json +3 -3
  78. package/node_modules/@slack/web-api/node_modules/@types/node/process.d.ts +12 -11
  79. package/node_modules/@slack/web-api/node_modules/@types/node/stream.d.ts +13 -0
  80. package/node_modules/@slack/web-api/node_modules/@types/node/timers.d.ts +2 -2
  81. package/node_modules/@slack/web-api/node_modules/@types/node/tls.d.ts +1 -1
  82. package/node_modules/@types/cacheable-request/node_modules/@types/node/README.md +1 -1
  83. package/node_modules/@types/cacheable-request/node_modules/@types/node/fs/promises.d.ts +25 -1
  84. package/node_modules/@types/cacheable-request/node_modules/@types/node/fs.d.ts +9 -2
  85. package/node_modules/@types/cacheable-request/node_modules/@types/node/package.json +3 -3
  86. package/node_modules/@types/cacheable-request/node_modules/@types/node/process.d.ts +12 -11
  87. package/node_modules/@types/cacheable-request/node_modules/@types/node/stream.d.ts +13 -0
  88. package/node_modules/@types/cacheable-request/node_modules/@types/node/timers.d.ts +2 -2
  89. package/node_modules/@types/cacheable-request/node_modules/@types/node/tls.d.ts +1 -1
  90. package/node_modules/@types/is-stream/node_modules/@types/node/README.md +1 -1
  91. package/node_modules/@types/is-stream/node_modules/@types/node/fs/promises.d.ts +25 -1
  92. package/node_modules/@types/is-stream/node_modules/@types/node/fs.d.ts +9 -2
  93. package/node_modules/@types/is-stream/node_modules/@types/node/package.json +3 -3
  94. package/node_modules/@types/is-stream/node_modules/@types/node/process.d.ts +12 -11
  95. package/node_modules/@types/is-stream/node_modules/@types/node/stream.d.ts +13 -0
  96. package/node_modules/@types/is-stream/node_modules/@types/node/timers.d.ts +2 -2
  97. package/node_modules/@types/is-stream/node_modules/@types/node/tls.d.ts +1 -1
  98. package/node_modules/@types/keyv/node_modules/@types/node/README.md +1 -1
  99. package/node_modules/@types/keyv/node_modules/@types/node/fs/promises.d.ts +25 -1
  100. package/node_modules/@types/keyv/node_modules/@types/node/fs.d.ts +9 -2
  101. package/node_modules/@types/keyv/node_modules/@types/node/package.json +3 -3
  102. package/node_modules/@types/keyv/node_modules/@types/node/process.d.ts +12 -11
  103. package/node_modules/@types/keyv/node_modules/@types/node/stream.d.ts +13 -0
  104. package/node_modules/@types/keyv/node_modules/@types/node/timers.d.ts +2 -2
  105. package/node_modules/@types/keyv/node_modules/@types/node/tls.d.ts +1 -1
  106. package/node_modules/@types/responselike/node_modules/@types/node/README.md +1 -1
  107. package/node_modules/@types/responselike/node_modules/@types/node/fs/promises.d.ts +25 -1
  108. package/node_modules/@types/responselike/node_modules/@types/node/fs.d.ts +9 -2
  109. package/node_modules/@types/responselike/node_modules/@types/node/package.json +3 -3
  110. package/node_modules/@types/responselike/node_modules/@types/node/process.d.ts +12 -11
  111. package/node_modules/@types/responselike/node_modules/@types/node/stream.d.ts +13 -0
  112. package/node_modules/@types/responselike/node_modules/@types/node/timers.d.ts +2 -2
  113. package/node_modules/@types/responselike/node_modules/@types/node/tls.d.ts +1 -1
  114. package/package.json +10 -10
  115. package/changelog.md +0 -7
  116. package/lib/codecommit-mirror/index.d.ts.map +0 -1
  117. package/lib/ecs-service-roller/index.d.ts.map +0 -1
  118. package/lib/email-receiver/index.d.ts.map +0 -1
  119. package/lib/email-receiver/receiver.d.ts.map +0 -1
  120. package/lib/email-receiver/s3-function.d.ts.map +0 -1
  121. package/lib/email-receiver/s3.lambda.d.ts.map +0 -1
  122. package/lib/email-receiver/whitelist-function.d.ts.map +0 -1
  123. package/lib/email-receiver/whitelist.lambda.d.ts.map +0 -1
  124. package/lib/index.d.ts.map +0 -1
  125. package/lib/saml-identity-provider/index.d.ts.map +0 -1
  126. package/lib/slack-app/index.d.ts.map +0 -1
  127. package/lib/slack-app/manifest.d.ts.map +0 -1
  128. package/lib/slack-app/provider-function.d.ts.map +0 -1
  129. package/lib/slack-app/provider.d.ts.map +0 -1
  130. package/lib/slack-app/provider.lambda.d.ts.map +0 -1
  131. package/lib/slack-app/slack-app.d.ts.map +0 -1
  132. package/lib/slack-events/events-function.d.ts.map +0 -1
  133. package/lib/slack-events/events.lambda.d.ts.map +0 -1
  134. package/lib/slack-events/index.d.ts.map +0 -1
  135. package/lib/slack-events/signature.d.ts.map +0 -1
  136. package/lib/slack-textract/detect-function.d.ts.map +0 -1
  137. package/lib/slack-textract/detect.lambda.d.ts.map +0 -1
  138. package/lib/slack-textract/index.d.ts.map +0 -1
  139. package/lib/state-machine-cr-provider/index.d.ts.map +0 -1
  140. package/lib/state-machine-cr-provider/runtime/http.d.ts.map +0 -1
  141. package/lib/state-machine-cr-provider/runtime/index.d.ts.map +0 -1
  142. package/lib/static-website/index.d.ts.map +0 -1
  143. package/lib/static-website/origin-request-function.d.ts.map +0 -1
  144. package/lib/static-website/origin-request.edge-lambda.d.ts.map +0 -1
  145. package/lib/toolkit-cleaner/clean-images-function.d.ts.map +0 -1
  146. package/lib/toolkit-cleaner/clean-images.lambda.d.ts.map +0 -1
  147. package/lib/toolkit-cleaner/clean-objects-function.d.ts.map +0 -1
  148. package/lib/toolkit-cleaner/clean-objects.lambda.d.ts.map +0 -1
  149. package/lib/toolkit-cleaner/extract-template-hashes-function.d.ts.map +0 -1
  150. package/lib/toolkit-cleaner/extract-template-hashes.lambda.d.ts.map +0 -1
  151. package/lib/toolkit-cleaner/get-stack-names-function.d.ts.map +0 -1
  152. package/lib/toolkit-cleaner/get-stack-names.lambda.d.ts.map +0 -1
  153. package/lib/toolkit-cleaner/index.d.ts.map +0 -1
  154. package/lib/url-shortener/index.d.ts.map +0 -1
  155. package/lib/url-shortener/redirect-function.d.ts.map +0 -1
  156. package/lib/url-shortener/redirect.edge-lambda.d.ts.map +0 -1
  157. package/lib/url-shortener/shortener-function.d.ts.map +0 -1
  158. package/lib/url-shortener/shortener.lambda.d.ts.map +0 -1
  159. package/releasetag.txt +0 -1
  160. package/version.txt +0 -1
package/.jsii CHANGED
@@ -2844,7 +2844,7 @@
2844
2844
  "stability": "stable"
2845
2845
  },
2846
2846
  "homepage": "https://github.com/jogold/cloudstructs.git",
2847
- "jsiiVersion": "1.59.0 (build eb02c92)",
2847
+ "jsiiVersion": "1.60.1 (build 2799dc8)",
2848
2848
  "keywords": [
2849
2849
  "cdk"
2850
2850
  ],
@@ -6175,6 +6175,6 @@
6175
6175
  "symbolId": "src/url-shortener/index:UrlShortenerProps"
6176
6176
  }
6177
6177
  },
6178
- "version": "0.5.4",
6179
- "fingerprint": "YUGT8HlwMU2dsyoUgIdnEfk8bgQ+ZZE8vEWi1kFi9u4="
6178
+ "version": "0.5.5",
6179
+ "fingerprint": "gThLEkATUaNIbQXkq9Xt3pRCei9lCsR6yfPAJ3vlHyI="
6180
6180
  }
@@ -66,4 +66,3 @@ export declare abstract class CodeCommitMirrorSourceRepository {
66
66
  export declare class CodeCommitMirror extends Construct {
67
67
  constructor(scope: Construct, id: string, props: CodeCommitMirrorProps);
68
68
  }
69
- //# sourceMappingURL=index.d.ts.map
@@ -41,13 +41,12 @@ class CodeCommitMirrorSourceRepository {
41
41
  }
42
42
  exports.CodeCommitMirrorSourceRepository = CodeCommitMirrorSourceRepository;
43
43
  _a = JSII_RTTI_SYMBOL_1;
44
- CodeCommitMirrorSourceRepository[_a] = { fqn: "cloudstructs.CodeCommitMirrorSourceRepository", version: "0.5.4" };
44
+ CodeCommitMirrorSourceRepository[_a] = { fqn: "cloudstructs.CodeCommitMirrorSourceRepository", version: "0.5.5" };
45
45
  /**
46
46
  * Mirror a repository to AWS CodeCommit on schedule
47
47
  */
48
48
  class CodeCommitMirror extends constructs_1.Construct {
49
49
  constructor(scope, id, props) {
50
- var _c, _d;
51
50
  super(scope, id);
52
51
  const destination = new codecommit.Repository(this, 'Repository', {
53
52
  repositoryName: props.repository.name,
@@ -76,7 +75,7 @@ class CodeCommitMirror extends constructs_1.Construct {
76
75
  resources: [destination.repositoryArn],
77
76
  }));
78
77
  const rule = new events.Rule(this, 'Rule', {
79
- schedule: (_c = props.schedule) !== null && _c !== void 0 ? _c : events.Schedule.cron({
78
+ schedule: props.schedule ?? events.Schedule.cron({
80
79
  minute: '0',
81
80
  hour: '0',
82
81
  }),
@@ -84,11 +83,11 @@ class CodeCommitMirror extends constructs_1.Construct {
84
83
  rule.addTarget(new targets.EcsTask({
85
84
  cluster: props.cluster,
86
85
  taskDefinition,
87
- subnetSelection: (_d = props.subnetSelection) !== null && _d !== void 0 ? _d : { subnetType: ec2.SubnetType.PUBLIC },
86
+ subnetSelection: props.subnetSelection ?? { subnetType: ec2.SubnetType.PUBLIC },
88
87
  }));
89
88
  }
90
89
  }
91
90
  exports.CodeCommitMirror = CodeCommitMirror;
92
91
  _b = JSII_RTTI_SYMBOL_1;
93
- CodeCommitMirror[_b] = { fqn: "cloudstructs.CodeCommitMirror", version: "0.5.4" };
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29kZWNvbW1pdC1taXJyb3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2QkFBNkI7QUFDN0IseURBQXlEO0FBQ3pELDJDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0MsaURBQWlEO0FBQ2pELDBEQUEwRDtBQUMxRCwyQ0FBMkM7QUFDM0MsNkNBQTZDO0FBQzdDLDJDQUF1QztBQStCdkM7O0dBRUc7QUFDSCxNQUFzQixnQ0FBZ0M7SUFDcEQ7O09BRUc7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQWEsRUFBRSxJQUFZO1FBQzlDLE9BQU87WUFDTCxJQUFJO1lBQ0osWUFBWSxFQUFFLHNCQUFzQixLQUFLLElBQUksSUFBSSxFQUFFO1NBQ3BELENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFZLEVBQUUsR0FBZTtRQUNqRCxPQUFPO1lBQ0wsSUFBSTtZQUNKLFNBQVMsRUFBRSxHQUFHO1NBQ2YsQ0FBQztJQUNKLENBQUM7O0FBdkJILDRFQTJDQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGdCQUFpQixTQUFRLHNCQUFTO0lBQzdDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNEI7O1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxXQUFXLEdBQUcsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDaEUsY0FBYyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSTtZQUNyQyxXQUFXLEVBQUUsYUFBYSxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRTtTQUNsRCxDQUFDLENBQUM7UUFFSCxNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUU3RSxjQUFjLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRTtZQUN2QyxLQUFLLEVBQUUsR0FBRyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDOUcsT0FBTyxFQUFFLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQztnQkFDNUIsWUFBWSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSTtnQkFDbkMsWUFBWSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVTthQUM1QyxDQUFDO1lBQ0YsV0FBVyxFQUFFO2dCQUNYLElBQUksRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUk7Z0JBQzNCLFdBQVcsRUFBRSxXQUFXLENBQUMscUJBQXFCO2dCQUM5QyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsWUFBWTtvQkFDOUIsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFO29CQUMzQyxDQUFDLENBQUMsRUFBRTthQUNQO1lBQ0QsT0FBTyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUztnQkFDakMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFO2dCQUN4QyxDQUFDLENBQUMsU0FBUztTQUNkLENBQUMsQ0FBQztRQUVILGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7WUFDekQsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUM7WUFDL0IsU0FBUyxFQUFFLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztTQUN2QyxDQUFDLENBQUMsQ0FBQztRQUVKLE1BQU0sSUFBSSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ3pDLFFBQVEsUUFBRSxLQUFLLENBQUMsUUFBUSxtQ0FBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztnQkFDL0MsTUFBTSxFQUFFLEdBQUc7Z0JBQ1gsSUFBSSxFQUFFLEdBQUc7YUFDVixDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDakMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3RCLGNBQWM7WUFDZCxlQUFlLFFBQUUsS0FBSyxDQUFDLGVBQWUsbUNBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUU7U0FDaEYsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDOztBQTlDSCw0Q0ErQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgY29kZWNvbW1pdCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWNvbW1pdCc7XG5pbXBvcnQgKiBhcyBlYzIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgKiBhcyBlY3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjcyc7XG5pbXBvcnQgKiBhcyBldmVudHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cyc7XG5pbXBvcnQgKiBhcyB0YXJnZXRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMtdGFyZ2V0cyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgQ29kZUNvbW1pdE1pcnJvclxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVDb21taXRNaXJyb3JQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgc291cmNlIHJlcG9zaXRvcnlcbiAgICovXG4gIHJlYWRvbmx5IHJlcG9zaXRvcnk6IENvZGVDb21taXRNaXJyb3JTb3VyY2VSZXBvc2l0b3J5O1xuXG4gIC8qKlxuICAgKiBUaGUgRUNTIGNsdXN0ZXIgd2hlcmUgdG8gcnVuIHRoZSBtaXJyb3Jpbmcgb3BlcmF0aW9uXG4gICAqL1xuICByZWFkb25seSBjbHVzdGVyOiBlY3MuSUNsdXN0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBzY2hlZHVsZSBmb3IgdGhlIG1pcnJvcmluZyBvcGVyYXRpb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSBldmVyeWRheSBhdCBtaWRuaWdodFxuICAgKi9cbiAgcmVhZG9ubHkgc2NoZWR1bGU/OiBldmVudHMuU2NoZWR1bGU7XG5cbiAgLyoqXG4gICAqIFdoZXJlIHRvIHJ1biB0aGUgbWlycm9yaW5nIEZhcmdhdGUgdGFza3NcbiAgICpcbiAgICogQGRlZmF1bHQgLSBwdWJsaWMgc3VibmV0c1xuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0U2VsZWN0aW9uPzogZWMyLlN1Ym5ldFNlbGVjdGlvbjtcbn1cblxuLyoqXG4gKiBBIHNvdXJjZSByZXBvc2l0b3J5IGZvciBBV1MgQ29kZUNvbW1pdCBtaXJyb3JpbmdcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvZGVDb21taXRNaXJyb3JTb3VyY2VSZXBvc2l0b3J5IHtcbiAgLyoqXG4gICAqIFB1YmxpYyBHaXRIdWIgcmVwb3NpdG9yeVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnaXRIdWIob3duZXI6IHN0cmluZywgbmFtZTogc3RyaW5nKTogQ29kZUNvbW1pdE1pcnJvclNvdXJjZVJlcG9zaXRvcnkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lLFxuICAgICAgcGxhaW5UZXh0VXJsOiBgaHR0cHM6Ly9naXRodWIuY29tLyR7b3duZXJ9LyR7bmFtZX1gLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUHJpdmF0ZSByZXBvc2l0b3J5IHdpdGggSFRUUFMgY2xvbmUgVVJMIHN0b3JlZCBpbiBhIEFXUyBTZWNyZXRzIE1hbmFnZXIgc2VjcmV0IG9yXG4gICAqIGEgQVdTIFN5c3RlbXMgTWFuYWdlciBzZWN1cmUgc3RyaW5nIHBhcmFtZXRlci5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgdGhlIHJlcG9zaXRvcnkgbmFtZVxuICAgKiBAcGFyYW0gdXJsIHRoZSBzZWNyZXQgY29udGFpbmluZyB0aGUgSFRUUFMgY2xvbmUgVVJMXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHByaXZhdGUobmFtZTogc3RyaW5nLCB1cmw6IGVjcy5TZWNyZXQpOiBDb2RlQ29tbWl0TWlycm9yU291cmNlUmVwb3NpdG9yeSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWUsXG4gICAgICBzZWNyZXRVcmw6IHVybCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSByZXBvc2l0b3J5XG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKiBUaGUgSFRUUFMgY2xvbmUgVVJMIGluIHBsYWluIHRleHQsIHVzZWQgZm9yIGEgcHVibGljIHJlcG9zaXRvcnkgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHBsYWluVGV4dFVybD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEhUVFBTIGNsb25lIFVSTCBpZiB0aGUgcmVwb3NpdG9yeSBpcyBwcml2YXRlLlxuICAgKlxuICAgKiBUaGUgc2VjcmV0IHNob3VsZCBjb250YWluIHRoZSB1c2VybmFtZSBhbmQvb3IgdG9rZW4uXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBodHRwczovL1RPS0VOQGdpdGh1Yi5jb20vb3duZXIvbmFtZWBcbiAgICogYGh0dHBzOi8vVVNFUk5BTUU6VE9LRU5AYml0YnVja2V0Lm9yZy9vd25lci9uYW1lLmdpdGBcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBzZWNyZXRVcmw/OiBlY3MuU2VjcmV0O1xufVxuXG4vKipcbiAqIE1pcnJvciBhIHJlcG9zaXRvcnkgdG8gQVdTIENvZGVDb21taXQgb24gc2NoZWR1bGVcbiAqL1xuZXhwb3J0IGNsYXNzIENvZGVDb21taXRNaXJyb3IgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ29kZUNvbW1pdE1pcnJvclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGRlc3RpbmF0aW9uID0gbmV3IGNvZGVjb21taXQuUmVwb3NpdG9yeSh0aGlzLCAnUmVwb3NpdG9yeScsIHtcbiAgICAgIHJlcG9zaXRvcnlOYW1lOiBwcm9wcy5yZXBvc2l0b3J5Lm5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogYE1pcnJvciBvZiAke3Byb3BzLnJlcG9zaXRvcnkubmFtZX1gLFxuICAgIH0pO1xuXG4gICAgY29uc3QgdGFza0RlZmluaXRpb24gPSBuZXcgZWNzLkZhcmdhdGVUYXNrRGVmaW5pdGlvbih0aGlzLCAnVGFza0RlZmluaXRpb24nKTtcblxuICAgIHRhc2tEZWZpbml0aW9uLmFkZENvbnRhaW5lcignQ29udGFpbmVyJywge1xuICAgICAgaW1hZ2U6IGVjcy5Db250YWluZXJJbWFnZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uJywgJy4uJywgJ2Fzc2V0cycsICdjb2RlY29tbWl0LW1pcnJvcicsICdkb2NrZXInKSksXG4gICAgICBsb2dnaW5nOiBuZXcgZWNzLkF3c0xvZ0RyaXZlcih7XG4gICAgICAgIHN0cmVhbVByZWZpeDogcHJvcHMucmVwb3NpdG9yeS5uYW1lLFxuICAgICAgICBsb2dSZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5UV09fTU9OVEhTLFxuICAgICAgfSksXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBOQU1FOiBwcm9wcy5yZXBvc2l0b3J5Lm5hbWUsXG4gICAgICAgIERFU1RJTkFUSU9OOiBkZXN0aW5hdGlvbi5yZXBvc2l0b3J5Q2xvbmVVcmxHcmMsXG4gICAgICAgIC4uLnByb3BzLnJlcG9zaXRvcnkucGxhaW5UZXh0VXJsXG4gICAgICAgICAgPyB7IFNPVVJDRTogcHJvcHMucmVwb3NpdG9yeS5wbGFpblRleHRVcmwgfVxuICAgICAgICAgIDoge30sXG4gICAgICB9LFxuICAgICAgc2VjcmV0czogcHJvcHMucmVwb3NpdG9yeS5zZWNyZXRVcmxcbiAgICAgICAgPyB7IFNPVVJDRTogcHJvcHMucmVwb3NpdG9yeS5zZWNyZXRVcmwgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9KTtcblxuICAgIHRhc2tEZWZpbml0aW9uLmFkZFRvVGFza1JvbGVQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgYWN0aW9uczogWydjb2RlY29tbWl0OkdpdFB1c2gnXSxcbiAgICAgIHJlc291cmNlczogW2Rlc3RpbmF0aW9uLnJlcG9zaXRvcnlBcm5dLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IHJ1bGUgPSBuZXcgZXZlbnRzLlJ1bGUodGhpcywgJ1J1bGUnLCB7XG4gICAgICBzY2hlZHVsZTogcHJvcHMuc2NoZWR1bGUgPz8gZXZlbnRzLlNjaGVkdWxlLmNyb24oe1xuICAgICAgICBtaW51dGU6ICcwJyxcbiAgICAgICAgaG91cjogJzAnLFxuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICBydWxlLmFkZFRhcmdldChuZXcgdGFyZ2V0cy5FY3NUYXNrKHtcbiAgICAgIGNsdXN0ZXI6IHByb3BzLmNsdXN0ZXIsXG4gICAgICB0YXNrRGVmaW5pdGlvbixcbiAgICAgIHN1Ym5ldFNlbGVjdGlvbjogcHJvcHMuc3VibmV0U2VsZWN0aW9uID8/IHsgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFVCTElDIH0sXG4gICAgfSkpO1xuICB9XG59XG4iXX0=
92
+ CodeCommitMirror[_b] = { fqn: "cloudstructs.CodeCommitMirror", version: "0.5.5" };
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29kZWNvbW1pdC1taXJyb3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2QkFBNkI7QUFDN0IseURBQXlEO0FBQ3pELDJDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0MsaURBQWlEO0FBQ2pELDBEQUEwRDtBQUMxRCwyQ0FBMkM7QUFDM0MsNkNBQTZDO0FBQzdDLDJDQUF1QztBQStCdkM7O0dBRUc7QUFDSCxNQUFzQixnQ0FBZ0M7SUFDcEQ7O09BRUc7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQWEsRUFBRSxJQUFZO1FBQzlDLE9BQU87WUFDTCxJQUFJO1lBQ0osWUFBWSxFQUFFLHNCQUFzQixLQUFLLElBQUksSUFBSSxFQUFFO1NBQ3BELENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFZLEVBQUUsR0FBZTtRQUNqRCxPQUFPO1lBQ0wsSUFBSTtZQUNKLFNBQVMsRUFBRSxHQUFHO1NBQ2YsQ0FBQztJQUNKLENBQUM7O0FBdkJILDRFQTJDQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGdCQUFpQixTQUFRLHNCQUFTO0lBQzdDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNEI7UUFDcEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFdBQVcsR0FBRyxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUNoRSxjQUFjLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJO1lBQ3JDLFdBQVcsRUFBRSxhQUFhLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFO1NBQ2xELENBQUMsQ0FBQztRQUVILE1BQU0sY0FBYyxHQUFHLElBQUksR0FBRyxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTdFLGNBQWMsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFO1lBQ3ZDLEtBQUssRUFBRSxHQUFHLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUM5RyxPQUFPLEVBQUUsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDO2dCQUM1QixZQUFZLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJO2dCQUNuQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVO2FBQzVDLENBQUM7WUFDRixXQUFXLEVBQUU7Z0JBQ1gsSUFBSSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSTtnQkFDM0IsV0FBVyxFQUFFLFdBQVcsQ0FBQyxxQkFBcUI7Z0JBQzlDLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxZQUFZO29CQUM5QixDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUU7b0JBQzNDLENBQUMsQ0FBQyxFQUFFO2FBQ1A7WUFDRCxPQUFPLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTO2dCQUNqQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUU7Z0JBQ3hDLENBQUMsQ0FBQyxTQUFTO1NBQ2QsQ0FBQyxDQUFDO1FBRUgsY0FBYyxDQUFDLG1CQUFtQixDQUFDLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztZQUN6RCxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztZQUMvQixTQUFTLEVBQUUsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDO1NBQ3ZDLENBQUMsQ0FBQyxDQUFDO1FBRUosTUFBTSxJQUFJLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDekMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQy9DLE1BQU0sRUFBRSxHQUFHO2dCQUNYLElBQUksRUFBRSxHQUFHO2FBQ1YsQ0FBQztTQUNILENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ2pDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztZQUN0QixjQUFjO1lBQ2QsZUFBZSxFQUFFLEtBQUssQ0FBQyxlQUFlLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUU7U0FDaEYsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDOztBQTlDSCw0Q0ErQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgY29kZWNvbW1pdCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWNvbW1pdCc7XG5pbXBvcnQgKiBhcyBlYzIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgKiBhcyBlY3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjcyc7XG5pbXBvcnQgKiBhcyBldmVudHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cyc7XG5pbXBvcnQgKiBhcyB0YXJnZXRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMtdGFyZ2V0cyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgQ29kZUNvbW1pdE1pcnJvclxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVDb21taXRNaXJyb3JQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgc291cmNlIHJlcG9zaXRvcnlcbiAgICovXG4gIHJlYWRvbmx5IHJlcG9zaXRvcnk6IENvZGVDb21taXRNaXJyb3JTb3VyY2VSZXBvc2l0b3J5O1xuXG4gIC8qKlxuICAgKiBUaGUgRUNTIGNsdXN0ZXIgd2hlcmUgdG8gcnVuIHRoZSBtaXJyb3Jpbmcgb3BlcmF0aW9uXG4gICAqL1xuICByZWFkb25seSBjbHVzdGVyOiBlY3MuSUNsdXN0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBzY2hlZHVsZSBmb3IgdGhlIG1pcnJvcmluZyBvcGVyYXRpb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSBldmVyeWRheSBhdCBtaWRuaWdodFxuICAgKi9cbiAgcmVhZG9ubHkgc2NoZWR1bGU/OiBldmVudHMuU2NoZWR1bGU7XG5cbiAgLyoqXG4gICAqIFdoZXJlIHRvIHJ1biB0aGUgbWlycm9yaW5nIEZhcmdhdGUgdGFza3NcbiAgICpcbiAgICogQGRlZmF1bHQgLSBwdWJsaWMgc3VibmV0c1xuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0U2VsZWN0aW9uPzogZWMyLlN1Ym5ldFNlbGVjdGlvbjtcbn1cblxuLyoqXG4gKiBBIHNvdXJjZSByZXBvc2l0b3J5IGZvciBBV1MgQ29kZUNvbW1pdCBtaXJyb3JpbmdcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvZGVDb21taXRNaXJyb3JTb3VyY2VSZXBvc2l0b3J5IHtcbiAgLyoqXG4gICAqIFB1YmxpYyBHaXRIdWIgcmVwb3NpdG9yeVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnaXRIdWIob3duZXI6IHN0cmluZywgbmFtZTogc3RyaW5nKTogQ29kZUNvbW1pdE1pcnJvclNvdXJjZVJlcG9zaXRvcnkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lLFxuICAgICAgcGxhaW5UZXh0VXJsOiBgaHR0cHM6Ly9naXRodWIuY29tLyR7b3duZXJ9LyR7bmFtZX1gLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUHJpdmF0ZSByZXBvc2l0b3J5IHdpdGggSFRUUFMgY2xvbmUgVVJMIHN0b3JlZCBpbiBhIEFXUyBTZWNyZXRzIE1hbmFnZXIgc2VjcmV0IG9yXG4gICAqIGEgQVdTIFN5c3RlbXMgTWFuYWdlciBzZWN1cmUgc3RyaW5nIHBhcmFtZXRlci5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgdGhlIHJlcG9zaXRvcnkgbmFtZVxuICAgKiBAcGFyYW0gdXJsIHRoZSBzZWNyZXQgY29udGFpbmluZyB0aGUgSFRUUFMgY2xvbmUgVVJMXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHByaXZhdGUobmFtZTogc3RyaW5nLCB1cmw6IGVjcy5TZWNyZXQpOiBDb2RlQ29tbWl0TWlycm9yU291cmNlUmVwb3NpdG9yeSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWUsXG4gICAgICBzZWNyZXRVcmw6IHVybCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSByZXBvc2l0b3J5XG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKiBUaGUgSFRUUFMgY2xvbmUgVVJMIGluIHBsYWluIHRleHQsIHVzZWQgZm9yIGEgcHVibGljIHJlcG9zaXRvcnkgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHBsYWluVGV4dFVybD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEhUVFBTIGNsb25lIFVSTCBpZiB0aGUgcmVwb3NpdG9yeSBpcyBwcml2YXRlLlxuICAgKlxuICAgKiBUaGUgc2VjcmV0IHNob3VsZCBjb250YWluIHRoZSB1c2VybmFtZSBhbmQvb3IgdG9rZW4uXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBodHRwczovL1RPS0VOQGdpdGh1Yi5jb20vb3duZXIvbmFtZWBcbiAgICogYGh0dHBzOi8vVVNFUk5BTUU6VE9LRU5AYml0YnVja2V0Lm9yZy9vd25lci9uYW1lLmdpdGBcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBzZWNyZXRVcmw/OiBlY3MuU2VjcmV0O1xufVxuXG4vKipcbiAqIE1pcnJvciBhIHJlcG9zaXRvcnkgdG8gQVdTIENvZGVDb21taXQgb24gc2NoZWR1bGVcbiAqL1xuZXhwb3J0IGNsYXNzIENvZGVDb21taXRNaXJyb3IgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ29kZUNvbW1pdE1pcnJvclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGRlc3RpbmF0aW9uID0gbmV3IGNvZGVjb21taXQuUmVwb3NpdG9yeSh0aGlzLCAnUmVwb3NpdG9yeScsIHtcbiAgICAgIHJlcG9zaXRvcnlOYW1lOiBwcm9wcy5yZXBvc2l0b3J5Lm5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogYE1pcnJvciBvZiAke3Byb3BzLnJlcG9zaXRvcnkubmFtZX1gLFxuICAgIH0pO1xuXG4gICAgY29uc3QgdGFza0RlZmluaXRpb24gPSBuZXcgZWNzLkZhcmdhdGVUYXNrRGVmaW5pdGlvbih0aGlzLCAnVGFza0RlZmluaXRpb24nKTtcblxuICAgIHRhc2tEZWZpbml0aW9uLmFkZENvbnRhaW5lcignQ29udGFpbmVyJywge1xuICAgICAgaW1hZ2U6IGVjcy5Db250YWluZXJJbWFnZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uJywgJy4uJywgJ2Fzc2V0cycsICdjb2RlY29tbWl0LW1pcnJvcicsICdkb2NrZXInKSksXG4gICAgICBsb2dnaW5nOiBuZXcgZWNzLkF3c0xvZ0RyaXZlcih7XG4gICAgICAgIHN0cmVhbVByZWZpeDogcHJvcHMucmVwb3NpdG9yeS5uYW1lLFxuICAgICAgICBsb2dSZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5UV09fTU9OVEhTLFxuICAgICAgfSksXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBOQU1FOiBwcm9wcy5yZXBvc2l0b3J5Lm5hbWUsXG4gICAgICAgIERFU1RJTkFUSU9OOiBkZXN0aW5hdGlvbi5yZXBvc2l0b3J5Q2xvbmVVcmxHcmMsXG4gICAgICAgIC4uLnByb3BzLnJlcG9zaXRvcnkucGxhaW5UZXh0VXJsXG4gICAgICAgICAgPyB7IFNPVVJDRTogcHJvcHMucmVwb3NpdG9yeS5wbGFpblRleHRVcmwgfVxuICAgICAgICAgIDoge30sXG4gICAgICB9LFxuICAgICAgc2VjcmV0czogcHJvcHMucmVwb3NpdG9yeS5zZWNyZXRVcmxcbiAgICAgICAgPyB7IFNPVVJDRTogcHJvcHMucmVwb3NpdG9yeS5zZWNyZXRVcmwgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9KTtcblxuICAgIHRhc2tEZWZpbml0aW9uLmFkZFRvVGFza1JvbGVQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgYWN0aW9uczogWydjb2RlY29tbWl0OkdpdFB1c2gnXSxcbiAgICAgIHJlc291cmNlczogW2Rlc3RpbmF0aW9uLnJlcG9zaXRvcnlBcm5dLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IHJ1bGUgPSBuZXcgZXZlbnRzLlJ1bGUodGhpcywgJ1J1bGUnLCB7XG4gICAgICBzY2hlZHVsZTogcHJvcHMuc2NoZWR1bGUgPz8gZXZlbnRzLlNjaGVkdWxlLmNyb24oe1xuICAgICAgICBtaW51dGU6ICcwJyxcbiAgICAgICAgaG91cjogJzAnLFxuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICBydWxlLmFkZFRhcmdldChuZXcgdGFyZ2V0cy5FY3NUYXNrKHtcbiAgICAgIGNsdXN0ZXI6IHByb3BzLmNsdXN0ZXIsXG4gICAgICB0YXNrRGVmaW5pdGlvbixcbiAgICAgIHN1Ym5ldFNlbGVjdGlvbjogcHJvcHMuc3VibmV0U2VsZWN0aW9uID8/IHsgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFVCTElDIH0sXG4gICAgfSkpO1xuICB9XG59XG4iXX0=
@@ -51,4 +51,3 @@ export declare abstract class RollTrigger {
51
51
  export declare class EcsServiceRoller extends Construct {
52
52
  constructor(scope: Construct, id: string, props: EcsServiceRollerProps);
53
53
  }
54
- //# sourceMappingURL=index.d.ts.map
@@ -27,16 +27,15 @@ class RollTrigger {
27
27
  }
28
28
  exports.RollTrigger = RollTrigger;
29
29
  _a = JSII_RTTI_SYMBOL_1;
30
- RollTrigger[_a] = { fqn: "cloudstructs.RollTrigger", version: "0.5.4" };
30
+ RollTrigger[_a] = { fqn: "cloudstructs.RollTrigger", version: "0.5.5" };
31
31
  /**
32
32
  * Roll your ECS service tasks on schedule or with a rule
33
33
  */
34
34
  class EcsServiceRoller extends constructs_1.Construct {
35
35
  constructor(scope, id, props) {
36
- var _c, _d, _e, _f;
37
36
  super(scope, id);
38
- const rule = (_d = (_c = props.trigger) === null || _c === void 0 ? void 0 : _c.rule) !== null && _d !== void 0 ? _d : new events.Rule(this, 'Rule', {
39
- schedule: (_f = (_e = props.trigger) === null || _e === void 0 ? void 0 : _e.schedule) !== null && _f !== void 0 ? _f : events.Schedule.cron({
37
+ const rule = props.trigger?.rule ?? new events.Rule(this, 'Rule', {
38
+ schedule: props.trigger?.schedule ?? events.Schedule.cron({
40
39
  minute: '0',
41
40
  hour: '0',
42
41
  }),
@@ -64,5 +63,5 @@ class EcsServiceRoller extends constructs_1.Construct {
64
63
  }
65
64
  exports.EcsServiceRoller = EcsServiceRoller;
66
65
  _b = JSII_RTTI_SYMBOL_1;
67
- EcsServiceRoller[_b] = { fqn: "cloudstructs.EcsServiceRoller", version: "0.5.4" };
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZWNzLXNlcnZpY2Utcm9sbGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQW9DO0FBRXBDLGlEQUFpRDtBQUNqRCwwREFBMEQ7QUFDMUQsMkNBQTJDO0FBQzNDLDJDQUF1QztBQXdCdkM7O0dBRUc7QUFDSCxNQUFzQixXQUFXO0lBQy9COztPQUVHO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUF5QjtRQUNsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFpQjtRQUN0QyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDbEIsQ0FBQzs7QUFiSCxrQ0E0QkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxnQkFBaUIsU0FBUSxzQkFBUztJQUM3QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTRCOztRQUNwRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sSUFBSSxlQUFHLEtBQUssQ0FBQyxPQUFPLDBDQUFFLElBQUksbUNBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDaEUsUUFBUSxjQUFFLEtBQUssQ0FBQyxPQUFPLDBDQUFFLFFBQVEsbUNBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQ3hELE1BQU0sRUFBRSxHQUFHO2dCQUNYLElBQUksRUFBRSxHQUFHO2FBQ1YsQ0FBQztTQUNILENBQUMsQ0FBQztRQUdILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ2hDLE9BQU8sRUFBRSxLQUFLO1lBQ2QsTUFBTSxFQUFFLGVBQWU7WUFDdkIsVUFBVSxFQUFFO2dCQUNWLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVc7Z0JBQ2xDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVc7Z0JBQ2xDLGtCQUFrQixFQUFFLElBQUk7YUFDTztZQUNqQyx1R0FBdUc7WUFDdkcsdUVBQXVFO1lBQ3ZFLGVBQWUsRUFBRSxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7Z0JBQ3ZDLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO2dCQUM5QixTQUFTLEVBQUUsQ0FBQyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7d0JBQ25DLE9BQU8sRUFBRSxLQUFLO3dCQUNkLFFBQVEsRUFBRSxTQUFTO3dCQUNuQixZQUFZLEVBQUUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRTtxQkFDMUUsQ0FBQyxDQUFDO2FBQ0osQ0FBQztTQUNILENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQzs7QUEvQkgsNENBZ0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBlY3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjcyc7XG5pbXBvcnQgKiBhcyBldmVudHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cyc7XG5pbXBvcnQgKiBhcyB0YXJnZXRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMtdGFyZ2V0cyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhIEVjc1NlcnZpY2VSb2xsZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFY3NTZXJ2aWNlUm9sbGVyUHJvcHMge1xuICAvKipcbiAgICogVGhlIEVDUyBjbHVzdGVyIHdoZXJlIHRoZSBzZXJ2aWNlcyBydW5cbiAgICovXG4gIHJlYWRvbmx5IGNsdXN0ZXI6IGVjcy5JQ2x1c3RlcjtcblxuICAvKipcbiAgICogVGhlIEVDUyBzZXJ2aWNlIGZvciB3aGljaCB0YXNrcyBzaG91bGQgYmUgcm9sbGVkXG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlOiBlY3MuSVNlcnZpY2U7XG5cbiAgLyoqXG4gICAqIFRoZSBydWxlIG9yIHNjaGVkdWxlIHRoYXQgc2hvdWxkIHRyaWdnZXIgYSByb2xsXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gcm9sbCBldmVyeWRheSBhdCBtaWRuaWdodFxuICAgKi9cbiAgcmVhZG9ubHkgdHJpZ2dlcj86IFJvbGxUcmlnZ2VyO1xufVxuXG4vKipcbiAqIFRoZSBydWxlIG9yIHNjaGVkdWxlIHRoYXQgc2hvdWxkIHRyaWdnZXIgYSByb2xsXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSb2xsVHJpZ2dlciB7XG4gIC8qKlxuICAgKiBTY2hlZHVsZSB0aGF0IHNob3VsZCB0cmlnZ2VyIGEgcm9sbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tU2NoZWR1bGUoc2NoZWR1bGU6IGV2ZW50cy5TY2hlZHVsZSk6IFJvbGxUcmlnZ2VyIHtcbiAgICByZXR1cm4geyBzY2hlZHVsZSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJ1bGUgdGhhdCBzaG91bGQgdHJpZ2dlciBhIHJvbGxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVJ1bGUocnVsZTogZXZlbnRzLlJ1bGUpOiBSb2xsVHJpZ2dlciB7XG4gICAgcmV0dXJuIHsgcnVsZSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJvbGwgc2NoZWR1bGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSByb2xsIGV2ZXJ5ZGF5IGF0IG1pZG5pZ2h0XG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgc2NoZWR1bGU/OiBldmVudHMuU2NoZWR1bGU7XG5cbiAgLyoqXG4gICAqIFJvbGwgcnVsZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHJvbGwgZXZlcnlkYXkgYXQgbWlkbmlnaHRcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBydWxlPzogZXZlbnRzLlJ1bGU7XG59XG5cbi8qKlxuICogUm9sbCB5b3VyIEVDUyBzZXJ2aWNlIHRhc2tzIG9uIHNjaGVkdWxlIG9yIHdpdGggYSBydWxlXG4gKi9cbmV4cG9ydCBjbGFzcyBFY3NTZXJ2aWNlUm9sbGVyIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEVjc1NlcnZpY2VSb2xsZXJQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBydWxlID0gcHJvcHMudHJpZ2dlcj8ucnVsZSA/PyBuZXcgZXZlbnRzLlJ1bGUodGhpcywgJ1J1bGUnLCB7XG4gICAgICBzY2hlZHVsZTogcHJvcHMudHJpZ2dlcj8uc2NoZWR1bGUgPz8gZXZlbnRzLlNjaGVkdWxlLmNyb24oe1xuICAgICAgICBtaW51dGU6ICcwJyxcbiAgICAgICAgaG91cjogJzAnLFxuICAgICAgfSksXG4gICAgfSk7XG5cblxuICAgIHJ1bGUuYWRkVGFyZ2V0KG5ldyB0YXJnZXRzLkF3c0FwaSh7XG4gICAgICBzZXJ2aWNlOiAnRUNTJyxcbiAgICAgIGFjdGlvbjogJ3VwZGF0ZVNlcnZpY2UnLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICBzZXJ2aWNlOiBwcm9wcy5zZXJ2aWNlLnNlcnZpY2VOYW1lLFxuICAgICAgICBjbHVzdGVyOiBwcm9wcy5jbHVzdGVyLmNsdXN0ZXJOYW1lLFxuICAgICAgICBmb3JjZU5ld0RlcGxveW1lbnQ6IHRydWUsXG4gICAgICB9IGFzIEFXUy5FQ1MuVXBkYXRlU2VydmljZVJlcXVlc3QsXG4gICAgICAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uRUNTL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9lY3Mtc3VwcG9ydGVkLWlhbS1hY3Rpb25zLXJlc291cmNlcy5odG1sXG4gICAgICAvLyBhcm46YXdzOmVjczo8cmVnaW9uPjo8YWNjb3VudD46c2VydmljZS88Y2x1c3Rlci1uYW1lPi88c2VydmljZS1uYW1lPlxuICAgICAgcG9saWN5U3RhdGVtZW50OiBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFsnZWNzOlVwZGF0ZVNlcnZpY2UnXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbU3RhY2sub2YodGhpcykuZm9ybWF0QXJuKHtcbiAgICAgICAgICBzZXJ2aWNlOiAnZWNzJyxcbiAgICAgICAgICByZXNvdXJjZTogJ3NlcnZpY2UnLFxuICAgICAgICAgIHJlc291cmNlTmFtZTogYCR7cHJvcHMuY2x1c3Rlci5jbHVzdGVyTmFtZX0vJHtwcm9wcy5zZXJ2aWNlLnNlcnZpY2VOYW1lfWAsXG4gICAgICAgIH0pXSxcbiAgICAgIH0pLFxuICAgIH0pKTtcbiAgfVxufVxuIl19
66
+ EcsServiceRoller[_b] = { fqn: "cloudstructs.EcsServiceRoller", version: "0.5.5" };
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZWNzLXNlcnZpY2Utcm9sbGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQW9DO0FBRXBDLGlEQUFpRDtBQUNqRCwwREFBMEQ7QUFDMUQsMkNBQTJDO0FBQzNDLDJDQUF1QztBQXdCdkM7O0dBRUc7QUFDSCxNQUFzQixXQUFXO0lBQy9COztPQUVHO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUF5QjtRQUNsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFpQjtRQUN0QyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDbEIsQ0FBQzs7QUFiSCxrQ0E0QkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxnQkFBaUIsU0FBUSxzQkFBUztJQUM3QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTRCO1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDaEUsUUFBUSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUN4RCxNQUFNLEVBQUUsR0FBRztnQkFDWCxJQUFJLEVBQUUsR0FBRzthQUNWLENBQUM7U0FDSCxDQUFDLENBQUM7UUFHSCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUNoQyxPQUFPLEVBQUUsS0FBSztZQUNkLE1BQU0sRUFBRSxlQUFlO1lBQ3ZCLFVBQVUsRUFBRTtnQkFDVixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXO2dCQUNsQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXO2dCQUNsQyxrQkFBa0IsRUFBRSxJQUFJO2FBQ087WUFDakMsdUdBQXVHO1lBQ3ZHLHVFQUF1RTtZQUN2RSxlQUFlLEVBQUUsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO2dCQUN2QyxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDOUIsU0FBUyxFQUFFLENBQUMsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO3dCQUNuQyxPQUFPLEVBQUUsS0FBSzt3QkFDZCxRQUFRLEVBQUUsU0FBUzt3QkFDbkIsWUFBWSxFQUFFLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUU7cUJBQzFFLENBQUMsQ0FBQzthQUNKLENBQUM7U0FDSCxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7O0FBL0JILDRDQWdDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgZWNzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lY3MnO1xuaW1wb3J0ICogYXMgZXZlbnRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMnO1xuaW1wb3J0ICogYXMgdGFyZ2V0cyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZXZlbnRzLXRhcmdldHMnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYSBFY3NTZXJ2aWNlUm9sbGVyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWNzU2VydmljZVJvbGxlclByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBFQ1MgY2x1c3RlciB3aGVyZSB0aGUgc2VydmljZXMgcnVuXG4gICAqL1xuICByZWFkb25seSBjbHVzdGVyOiBlY3MuSUNsdXN0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBFQ1Mgc2VydmljZSBmb3Igd2hpY2ggdGFza3Mgc2hvdWxkIGJlIHJvbGxlZFxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZTogZWNzLklTZXJ2aWNlO1xuXG4gIC8qKlxuICAgKiBUaGUgcnVsZSBvciBzY2hlZHVsZSB0aGF0IHNob3VsZCB0cmlnZ2VyIGEgcm9sbFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHJvbGwgZXZlcnlkYXkgYXQgbWlkbmlnaHRcbiAgICovXG4gIHJlYWRvbmx5IHRyaWdnZXI/OiBSb2xsVHJpZ2dlcjtcbn1cblxuLyoqXG4gKiBUaGUgcnVsZSBvciBzY2hlZHVsZSB0aGF0IHNob3VsZCB0cmlnZ2VyIGEgcm9sbFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUm9sbFRyaWdnZXIge1xuICAvKipcbiAgICogU2NoZWR1bGUgdGhhdCBzaG91bGQgdHJpZ2dlciBhIHJvbGxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVNjaGVkdWxlKHNjaGVkdWxlOiBldmVudHMuU2NoZWR1bGUpOiBSb2xsVHJpZ2dlciB7XG4gICAgcmV0dXJuIHsgc2NoZWR1bGUgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSdWxlIHRoYXQgc2hvdWxkIHRyaWdnZXIgYSByb2xsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21SdWxlKHJ1bGU6IGV2ZW50cy5SdWxlKTogUm9sbFRyaWdnZXIge1xuICAgIHJldHVybiB7IHJ1bGUgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSb2xsIHNjaGVkdWxlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gcm9sbCBldmVyeWRheSBhdCBtaWRuaWdodFxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHNjaGVkdWxlPzogZXZlbnRzLlNjaGVkdWxlO1xuXG4gIC8qKlxuICAgKiBSb2xsIHJ1bGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSByb2xsIGV2ZXJ5ZGF5IGF0IG1pZG5pZ2h0XG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgcnVsZT86IGV2ZW50cy5SdWxlO1xufVxuXG4vKipcbiAqIFJvbGwgeW91ciBFQ1Mgc2VydmljZSB0YXNrcyBvbiBzY2hlZHVsZSBvciB3aXRoIGEgcnVsZVxuICovXG5leHBvcnQgY2xhc3MgRWNzU2VydmljZVJvbGxlciBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBFY3NTZXJ2aWNlUm9sbGVyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgcnVsZSA9IHByb3BzLnRyaWdnZXI/LnJ1bGUgPz8gbmV3IGV2ZW50cy5SdWxlKHRoaXMsICdSdWxlJywge1xuICAgICAgc2NoZWR1bGU6IHByb3BzLnRyaWdnZXI/LnNjaGVkdWxlID8/IGV2ZW50cy5TY2hlZHVsZS5jcm9uKHtcbiAgICAgICAgbWludXRlOiAnMCcsXG4gICAgICAgIGhvdXI6ICcwJyxcbiAgICAgIH0pLFxuICAgIH0pO1xuXG5cbiAgICBydWxlLmFkZFRhcmdldChuZXcgdGFyZ2V0cy5Bd3NBcGkoe1xuICAgICAgc2VydmljZTogJ0VDUycsXG4gICAgICBhY3Rpb246ICd1cGRhdGVTZXJ2aWNlJyxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgc2VydmljZTogcHJvcHMuc2VydmljZS5zZXJ2aWNlTmFtZSxcbiAgICAgICAgY2x1c3RlcjogcHJvcHMuY2x1c3Rlci5jbHVzdGVyTmFtZSxcbiAgICAgICAgZm9yY2VOZXdEZXBsb3ltZW50OiB0cnVlLFxuICAgICAgfSBhcyBBV1MuRUNTLlVwZGF0ZVNlcnZpY2VSZXF1ZXN0LFxuICAgICAgLy8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkVDUy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvZWNzLXN1cHBvcnRlZC1pYW0tYWN0aW9ucy1yZXNvdXJjZXMuaHRtbFxuICAgICAgLy8gYXJuOmF3czplY3M6PHJlZ2lvbj46PGFjY291bnQ+OnNlcnZpY2UvPGNsdXN0ZXItbmFtZT4vPHNlcnZpY2UtbmFtZT5cbiAgICAgIHBvbGljeVN0YXRlbWVudDogbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbJ2VjczpVcGRhdGVTZXJ2aWNlJ10sXG4gICAgICAgIHJlc291cmNlczogW1N0YWNrLm9mKHRoaXMpLmZvcm1hdEFybih7XG4gICAgICAgICAgc2VydmljZTogJ2VjcycsXG4gICAgICAgICAgcmVzb3VyY2U6ICdzZXJ2aWNlJyxcbiAgICAgICAgICByZXNvdXJjZU5hbWU6IGAke3Byb3BzLmNsdXN0ZXIuY2x1c3Rlck5hbWV9LyR7cHJvcHMuc2VydmljZS5zZXJ2aWNlTmFtZX1gLFxuICAgICAgICB9KV0sXG4gICAgICB9KSxcbiAgICB9KSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1 @@
1
1
  export * from './receiver';
2
- //# sourceMappingURL=index.d.ts.map
@@ -38,4 +38,3 @@ export interface EmailReceiverProps {
38
38
  export declare class EmailReceiver extends Construct {
39
39
  constructor(scope: Construct, id: string, props: EmailReceiverProps);
40
40
  }
41
- //# sourceMappingURL=receiver.d.ts.map
@@ -61,5 +61,5 @@ class EmailReceiver extends constructs_1.Construct {
61
61
  }
62
62
  exports.EmailReceiver = EmailReceiver;
63
63
  _a = JSII_RTTI_SYMBOL_1;
64
- EmailReceiver[_a] = { fqn: "cloudstructs.EmailReceiver", version: "0.5.4" };
64
+ EmailReceiver[_a] = { fqn: "cloudstructs.EmailReceiver", version: "0.5.5" };
65
65
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjZWl2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZW1haWwtcmVjZWl2ZXIvcmVjZWl2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBdUM7QUFFdkMsb0VBQW9FO0FBQ3BFLDZDQUE2QztBQUM3Qyx5Q0FBeUM7QUFDekMsMkNBQTJDO0FBQzNDLHVEQUF1RDtBQUN2RCwyQ0FBMkM7QUFDM0MsbUVBQW1FO0FBQ25FLDJDQUF1QztBQUN2QywrQ0FBMkM7QUFDM0MsNkRBQXlEO0FBcUN6RDs7O0dBR0c7QUFDSCxNQUFhLGFBQWMsU0FBUSxzQkFBUztJQUMxQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXlCO1FBQ2pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxXQUFXLEdBQUcsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUU7WUFDM0QsT0FBTyxFQUFFLEtBQUssQ0FBQyxjQUFjO1lBQzdCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtZQUM1QixLQUFLLEVBQUUsS0FBSyxDQUFDLFNBQVM7U0FDdkIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxNQUFNLEdBQUcsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDM0MsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLFNBQVM7WUFDakQsVUFBVSxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVO1lBQzFDLGNBQWMsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLHNCQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDbkQsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxpQkFBaUI7UUFFbkQsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUUzQyxVQUFVO1FBQ1YsSUFBSSxLQUFLLENBQUMsZUFBZSxFQUFFO1lBQ3pCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxzQ0FBaUIsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUNoRSxXQUFXLEVBQUU7b0JBQ1gsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGVBQWU7aUJBQ3hDO2dCQUNELFlBQVksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVM7YUFDM0MsQ0FBQyxDQUFDO1lBRUgsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0JBQ3ZDLFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLGNBQWMsRUFBRSxPQUFPLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCO2FBQzlELENBQUMsQ0FBQyxDQUFDO1NBQ0w7UUFFRCxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxNQUFNO1lBQ04sS0FBSztTQUNOLENBQUMsQ0FBQyxDQUFDO1FBRUosTUFBTSxTQUFTLEdBQUcsSUFBSSx3QkFBVSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUU7WUFDM0MsWUFBWSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUztZQUMxQyxTQUFTLEVBQUUsSUFBSSxZQUFZLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtnQkFDNUQsWUFBWSxFQUFFLElBQUk7YUFDbkIsQ0FBQztTQUNILENBQUMsQ0FBQztRQUVILEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxhQUFhLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7SUFDbkYsQ0FBQzs7QUEvQ0gsc0NBZ0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgKiBhcyBkZXN0aW5hdGlvbnMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYS1kZXN0aW5hdGlvbnMnO1xuaW1wb3J0ICogYXMgbG9ncyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0ICogYXMgc2VzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zZXMnO1xuaW1wb3J0ICogYXMgYWN0aW9ucyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc2VzLWFjdGlvbnMnO1xuaW1wb3J0ICogYXMgc25zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zbnMnO1xuaW1wb3J0ICogYXMgc3Vic2NyaXB0aW9ucyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc25zLXN1YnNjcmlwdGlvbnMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBTM0Z1bmN0aW9uIH0gZnJvbSAnLi9zMy1mdW5jdGlvbic7XG5pbXBvcnQgeyBXaGl0ZWxpc3RGdW5jdGlvbiB9IGZyb20gJy4vd2hpdGVsaXN0LWZ1bmN0aW9uJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhbiBFbWFpbFJlY2VpdmVyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW1haWxSZWNlaXZlclByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBTRVMgcmVjZWlwdCBydWxlIHNldCB3aGVyZSBhIHJlY2VpcHQgcnVsZSB3aWxsIGJlIGFkZGVkXG4gICAqL1xuICByZWFkb25seSByZWNlaXB0UnVsZVNldDogc2VzLklSZWNlaXB0UnVsZVNldDtcblxuICAvKipcbiAgICogVGhlIHJlY2lwaWVudHMgZm9yIHdoaWNoIGVtYWlscyBzaG91bGQgYmUgcmVjZWl2ZWRcbiAgICovXG4gIHJlYWRvbmx5IHJlY2lwaWVudHM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBIExhbWJkYSBmdW5jdGlvbiB0byBpbnZva2UgYWZ0ZXIgdGhlIG1lc3NhZ2UgaXMgc2F2ZWQgdG8gUzMuIFRoZSBMYW1iZGFcbiAgICogZnVuY3Rpb24gd2lsbCBiZSBpbnZva2VkIHdpdGggYSBTRVNNZXNzYWdlIGFzIGV2ZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb246IGxhbWJkYS5JRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIEEgcmVndWxhciBleHByZXNzaW9uIHRvIHdoaXRlbGlzdCBzb3VyY2UgZW1haWwgYWRkcmVzc2VzXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gd2hpdGVsaXN0aW5nIG9mIHNvdXJjZSBlbWFpbCBhZGRyZXNzZXNcbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZVdoaXRlbGlzdD86IHN0cmluZztcblxuICAvKipcbiAgICogQW4gZXhpc3RpbmcgcnVsZSBhZnRlciB3aGljaCB0aGUgbmV3IHJ1bGUgd2lsbCBiZSBwbGFjZWQgaW4gdGhlIHJ1bGUgc2V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFRoZSBuZXcgcnVsZSBpcyBpbnNlcnRlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBydWxlIGxpc3QuXG4gICAqL1xuICByZWFkb25seSBhZnRlclJ1bGU/OiBzZXMuSVJlY2VpcHRSdWxlO1xufVxuXG4vKipcbiAqIFJlY2VpdmUgZW1haWxzIHRocm91Z2ggU0VTLCBzYXZlIHRoZW0gdG8gUzMgYW5kIGludm9rZXMgYVxuICogTGFtYmRhIGZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBFbWFpbFJlY2VpdmVyIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEVtYWlsUmVjZWl2ZXJQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCByZWNlaXB0UnVsZSA9IG5ldyBzZXMuUmVjZWlwdFJ1bGUodGhpcywgJ1JlY2VpcHRSdWxlJywge1xuICAgICAgcnVsZVNldDogcHJvcHMucmVjZWlwdFJ1bGVTZXQsXG4gICAgICByZWNpcGllbnRzOiBwcm9wcy5yZWNpcGllbnRzLFxuICAgICAgYWZ0ZXI6IHByb3BzLmFmdGVyUnVsZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGJ1Y2tldCA9IG5ldyBzMy5CdWNrZXQodGhpcywgJ0J1Y2tldCcsIHtcbiAgICAgIGJsb2NrUHVibGljQWNjZXNzOiBzMy5CbG9ja1B1YmxpY0FjY2Vzcy5CTE9DS19BTEwsXG4gICAgICBlbmNyeXB0aW9uOiBzMy5CdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsXG4gICAgICBsaWZlY3ljbGVSdWxlczogW3sgZXhwaXJhdGlvbjogRHVyYXRpb24uZGF5cygxKSB9XSxcbiAgICB9KTtcbiAgICBidWNrZXQuZ3JhbnRSZWFkKHByb3BzLmZ1bmN0aW9uKTsgLy8gRG93bmxvYWQgZW1haWxcblxuICAgIGNvbnN0IHRvcGljID0gbmV3IHNucy5Ub3BpYyh0aGlzLCAnVG9waWMnKTtcblxuICAgIC8vIEFjdGlvbnNcbiAgICBpZiAocHJvcHMuc291cmNlV2hpdGVsaXN0KSB7XG4gICAgICBjb25zdCB3aGl0ZWxpc3RIYW5kbGVyID0gbmV3IFdoaXRlbGlzdEZ1bmN0aW9uKHRoaXMsICd3aGl0ZWxpc3QnLCB7XG4gICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgU09VUkNFX1dISVRFTElTVDogcHJvcHMuc291cmNlV2hpdGVsaXN0LFxuICAgICAgICB9LFxuICAgICAgICBsb2dSZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfTU9OVEgsXG4gICAgICB9KTtcblxuICAgICAgcmVjZWlwdFJ1bGUuYWRkQWN0aW9uKG5ldyBhY3Rpb25zLkxhbWJkYSh7XG4gICAgICAgIGZ1bmN0aW9uOiB3aGl0ZWxpc3RIYW5kbGVyLFxuICAgICAgICBpbnZvY2F0aW9uVHlwZTogYWN0aW9ucy5MYW1iZGFJbnZvY2F0aW9uVHlwZS5SRVFVRVNUX1JFU1BPTlNFLFxuICAgICAgfSkpO1xuICAgIH1cblxuICAgIHJlY2VpcHRSdWxlLmFkZEFjdGlvbihuZXcgYWN0aW9ucy5TMyh7XG4gICAgICBidWNrZXQsXG4gICAgICB0b3BpYyxcbiAgICB9KSk7XG5cbiAgICBjb25zdCBzM0hhbmRsZXIgPSBuZXcgUzNGdW5jdGlvbih0aGlzLCAnczMnLCB7XG4gICAgICBsb2dSZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfTU9OVEgsXG4gICAgICBvblN1Y2Nlc3M6IG5ldyBkZXN0aW5hdGlvbnMuTGFtYmRhRGVzdGluYXRpb24ocHJvcHMuZnVuY3Rpb24sIHtcbiAgICAgICAgcmVzcG9uc2VPbmx5OiB0cnVlLFxuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICB0b3BpYy5hZGRTdWJzY3JpcHRpb24obmV3IHN1YnNjcmlwdGlvbnMuTGFtYmRhU3Vic2NyaXB0aW9uKHMzSGFuZGxlcikpOyAvLyBOb3RpZnlcbiAgfVxufVxuIl19
@@ -11,4 +11,3 @@ export interface S3FunctionProps extends lambda.FunctionOptions {
11
11
  export declare class S3Function extends lambda.Function {
12
12
  constructor(scope: Construct, id: string, props?: S3FunctionProps);
13
13
  }
14
- //# sourceMappingURL=s3-function.d.ts.map
@@ -1,2 +1 @@
1
1
  export declare function handler(event: AWSLambda.SNSEvent): Promise<AWSLambda.SESMessage>;
2
- //# sourceMappingURL=s3.lambda.d.ts.map
@@ -11,4 +11,3 @@ export interface WhitelistFunctionProps extends lambda.FunctionOptions {
11
11
  export declare class WhitelistFunction extends lambda.Function {
12
12
  constructor(scope: Construct, id: string, props?: WhitelistFunctionProps);
13
13
  }
14
- //# sourceMappingURL=whitelist-function.d.ts.map
@@ -1,4 +1,3 @@
1
1
  export declare function handler(event: AWSLambda.SESEvent): Promise<{
2
2
  disposition: string;
3
3
  }>;
4
- //# sourceMappingURL=whitelist.lambda.d.ts.map
package/lib/index.d.ts CHANGED
@@ -9,4 +9,3 @@ export * from './saml-identity-provider';
9
9
  export * from './codecommit-mirror';
10
10
  export * from './slack-app';
11
11
  export * from './toolkit-cleaner';
12
- //# sourceMappingURL=index.d.ts.map
@@ -42,4 +42,3 @@ export declare class SamlIdentityProvider extends Construct {
42
42
  export declare class SamlFederatedPrincipal extends iam.FederatedPrincipal {
43
43
  constructor(identityProvider: SamlIdentityProvider);
44
44
  }
45
- //# sourceMappingURL=index.d.ts.map
@@ -14,9 +14,8 @@ const constructs_1 = require("constructs");
14
14
  */
15
15
  class SamlIdentityProvider extends constructs_1.Construct {
16
16
  constructor(scope, id, props) {
17
- var _c;
18
17
  super(scope, id);
19
- const name = (_c = props.name) !== null && _c !== void 0 ? _c : `${aws_cdk_lib_1.Names.uniqueId(this)}IdentityProvider`;
18
+ const name = props.name ?? `${aws_cdk_lib_1.Names.uniqueId(this)}IdentityProvider`;
20
19
  const arn = aws_cdk_lib_1.Stack.of(this).formatArn({
21
20
  service: 'iam',
22
21
  region: '',
@@ -66,7 +65,7 @@ class SamlIdentityProvider extends constructs_1.Construct {
66
65
  }
67
66
  exports.SamlIdentityProvider = SamlIdentityProvider;
68
67
  _a = JSII_RTTI_SYMBOL_1;
69
- SamlIdentityProvider[_a] = { fqn: "cloudstructs.SamlIdentityProvider", version: "0.5.4" };
68
+ SamlIdentityProvider[_a] = { fqn: "cloudstructs.SamlIdentityProvider", version: "0.5.5" };
70
69
  /**
71
70
  * Principal entity that represents a SAML federated identity provider.
72
71
  *
@@ -83,5 +82,5 @@ class SamlFederatedPrincipal extends iam.FederatedPrincipal {
83
82
  }
84
83
  exports.SamlFederatedPrincipal = SamlFederatedPrincipal;
85
84
  _b = JSII_RTTI_SYMBOL_1;
86
- SamlFederatedPrincipal[_b] = { fqn: "cloudstructs.SamlFederatedPrincipal", version: "0.5.4" };
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2FtbC1pZGVudGl0eS1wcm92aWRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0MsbURBQW1EO0FBRW5ELDJDQUF1QztBQTBCdkM7Ozs7R0FJRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsc0JBQVM7SUFNakQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFnQzs7UUFDeEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLElBQUksU0FBRyxLQUFLLENBQUMsSUFBSSxtQ0FBSSxHQUFHLG1CQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUVyRSxNQUFNLEdBQUcsR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDbkMsT0FBTyxFQUFFLEtBQUs7WUFDZCxNQUFNLEVBQUUsRUFBRTtZQUNWLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLFlBQVksRUFBRSxJQUFJO1NBQ25CLENBQUMsQ0FBQztRQUVILE1BQU0sR0FBRyxHQUFHLElBQUksRUFBRSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDckQsWUFBWSxFQUFFLDhCQUE4QjtZQUM1QyxRQUFRLEVBQUU7Z0JBQ1IsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsTUFBTSxFQUFFLG9CQUFvQjtnQkFDNUIsVUFBVSxFQUFFO29CQUNWLElBQUksRUFBRSxJQUFJO29CQUNWLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7aUJBQ1o7Z0JBQ2xDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUM7YUFDMUU7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsTUFBTSxFQUFFLG9CQUFvQjtnQkFDNUIsVUFBVSxFQUFFO29CQUNWLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLE1BQU0sRUFBRTtvQkFDOUQsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtpQkFDWjtnQkFDbEMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQzthQUMxRTtZQUNELFFBQVEsRUFBRTtnQkFDUixPQUFPLEVBQUUsS0FBSztnQkFDZCxNQUFNLEVBQUUsb0JBQW9CO2dCQUM1QixVQUFVLEVBQUU7b0JBQ1YsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDLDJCQUEyQixFQUFFLENBQUMsTUFBTSxFQUFFO2lCQUM5QjthQUNuQztZQUNELE1BQU0sRUFBRSxFQUFFLENBQUMsdUJBQXVCLENBQUMsY0FBYyxDQUFDO2dCQUNoRCxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7b0JBQ3RCLE9BQU8sRUFBRTt3QkFDUCx3QkFBd0I7d0JBQ3hCLHdCQUF3Qjt3QkFDeEIsd0JBQXdCO3FCQUN6QjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUM7aUJBQ2pCLENBQUM7YUFDSCxDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7O0FBMURILG9EQTJEQzs7O0FBRUQ7Ozs7R0FJRztBQUNILE1BQWEsc0JBQXVCLFNBQVEsR0FBRyxDQUFDLGtCQUFrQjtJQUNoRSxZQUFZLGdCQUFzQztRQUNoRCxLQUFLLENBQ0gsZ0JBQWdCLENBQUMsdUJBQXVCLEVBQ3hDO1lBQ0UsWUFBWSxFQUFFO2dCQUNaLFVBQVUsRUFBRSxvQ0FBb0M7YUFDakQ7U0FDRixFQUNELHdCQUF3QixDQUN6QixDQUFDO0lBQ0osQ0FBQzs7QUFYSCx3REFZQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5hbWVzLCBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGNyIGZyb20gJ2F3cy1jZGstbGliL2N1c3RvbS1yZXNvdXJjZXMnO1xuaW1wb3J0IHsgSUFNIH0gZnJvbSAnYXdzLXNkayc7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhIFNhbWxQcm92aWRlclxuICpcbiAqIEBkZXByZWNhdGVkIHVzZSBgU2FtbFByb3ZpZGVyUHJvcHNgIGZyb20gYGF3cy1jZGstbGliL2F3cy1pYW1gXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FtbElkZW50aXR5UHJvdmlkZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBBIG5hbWUgZm9yIHRoZSBTQU1MIGlkZW50aXR5IHByb3ZpZGVyXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGVyaXZlZCBmb3IgdGhlIG5vZGUncyB1bmlxdWUgaWRcbiAgICovXG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFuIFhNTCBkb2N1bWVudCBnZW5lcmF0ZWQgYnkgYW4gaWRlbnRpdHkgcHJvdmlkZXIgKElkUCkgdGhhdCBzdXBwb3J0cyBTQU1MIDIuMC5cbiAgICpcbiAgICogVGhlIGRvY3VtZW50IGluY2x1ZGVzIHRoZSBpc3N1ZXIncyBuYW1lLCBleHBpcmF0aW9uIGluZm9ybWF0aW9uLCBhbmQga2V5cyB0aGF0XG4gICAqIGNhbiBiZSB1c2VkIHRvIHZhbGlkYXRlIHRoZSBTQU1MIGF1dGhlbnRpY2F0aW9uIHJlc3BvbnNlIChhc3NlcnRpb25zKSB0aGF0IGFyZVxuICAgKiByZWNlaXZlZCBmcm9tIHRoZSBJZFAuIFlvdSBtdXN0IGdlbmVyYXRlIHRoZSBtZXRhZGF0YSBkb2N1bWVudCB1c2luZyB0aGUgaWRlbnRpdHlcbiAgICogbWFuYWdlbWVudCBzb2Z0d2FyZSB0aGF0IGlzIHVzZWQgYXMgeW91ciBvcmdhbml6YXRpb24ncyBJZFAuXG4gICAqL1xuICByZWFkb25seSBtZXRhZGF0YURvY3VtZW50OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgU0FNTCBpZGVudGl0eSBwcm92aWRlclxuICpcbiAqIEBkZXByZWNhdGVkIHVzZSBgU2FtbFByb3ZpZGVyYCBmcm9tIGBhd3MtY2RrLWxpYi9hd3MtaWFtYFxuICovXG5leHBvcnQgY2xhc3MgU2FtbElkZW50aXR5UHJvdmlkZXIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgU0FNTCBpZGVudGl0eSBwcm92aWRlclxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNhbWxJZGVudGl0eVByb3ZpZGVyQXJuOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFNhbWxJZGVudGl0eVByb3ZpZGVyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgbmFtZSA9IHByb3BzLm5hbWUgPz8gYCR7TmFtZXMudW5pcXVlSWQodGhpcyl9SWRlbnRpdHlQcm92aWRlcmA7XG5cbiAgICBjb25zdCBhcm4gPSBTdGFjay5vZih0aGlzKS5mb3JtYXRBcm4oe1xuICAgICAgc2VydmljZTogJ2lhbScsXG4gICAgICByZWdpb246ICcnLFxuICAgICAgcmVzb3VyY2U6ICdzYW1sLXByb3ZpZGVyJyxcbiAgICAgIHJlc291cmNlTmFtZTogbmFtZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGlkcCA9IG5ldyBjci5Bd3NDdXN0b21SZXNvdXJjZSh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICByZXNvdXJjZVR5cGU6ICdDdXN0b206OlNhbWxJZGVudGl0eVByb3ZpZGVyJyxcbiAgICAgIG9uQ3JlYXRlOiB7XG4gICAgICAgIHNlcnZpY2U6ICdJQU0nLFxuICAgICAgICBhY3Rpb246ICdjcmVhdGVTQU1MUHJvdmlkZXInLFxuICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgTmFtZTogbmFtZSxcbiAgICAgICAgICBTQU1MTWV0YWRhdGFEb2N1bWVudDogcHJvcHMubWV0YWRhdGFEb2N1bWVudCxcbiAgICAgICAgfSBhcyBJQU0uQ3JlYXRlU0FNTFByb3ZpZGVyUmVxdWVzdCxcbiAgICAgICAgcGh5c2ljYWxSZXNvdXJjZUlkOiBjci5QaHlzaWNhbFJlc291cmNlSWQuZnJvbVJlc3BvbnNlKCdTQU1MUHJvdmlkZXJBcm4nKSxcbiAgICAgIH0sXG4gICAgICBvblVwZGF0ZToge1xuICAgICAgICBzZXJ2aWNlOiAnSUFNJyxcbiAgICAgICAgYWN0aW9uOiAndXBkYXRlU0FNTFByb3ZpZGVyJyxcbiAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgIFNBTUxQcm92aWRlckFybjogbmV3IGNyLlBoeXNpY2FsUmVzb3VyY2VJZFJlZmVyZW5jZSgpLnRvSlNPTigpLFxuICAgICAgICAgIFNBTUxNZXRhZGF0YURvY3VtZW50OiBwcm9wcy5tZXRhZGF0YURvY3VtZW50LFxuICAgICAgICB9IGFzIElBTS5VcGRhdGVTQU1MUHJvdmlkZXJSZXF1ZXN0LFxuICAgICAgICBwaHlzaWNhbFJlc291cmNlSWQ6IGNyLlBoeXNpY2FsUmVzb3VyY2VJZC5mcm9tUmVzcG9uc2UoJ1NBTUxQcm92aWRlckFybicpLFxuICAgICAgfSxcbiAgICAgIG9uRGVsZXRlOiB7XG4gICAgICAgIHNlcnZpY2U6ICdJQU0nLFxuICAgICAgICBhY3Rpb246ICdkZWxldGVTQU1MUHJvdmlkZXInLFxuICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgU0FNTFByb3ZpZGVyQXJuOiBuZXcgY3IuUGh5c2ljYWxSZXNvdXJjZUlkUmVmZXJlbmNlKCkudG9KU09OKCksXG4gICAgICAgIH0gYXMgSUFNLkRlbGV0ZVNBTUxQcm92aWRlclJlcXVlc3QsXG4gICAgICB9LFxuICAgICAgcG9saWN5OiBjci5Bd3NDdXN0b21SZXNvdXJjZVBvbGljeS5mcm9tU3RhdGVtZW50cyhbXG4gICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAnaWFtOmNyZWF0ZVNBTUxQcm92aWRlcicsXG4gICAgICAgICAgICAnaWFtOnVwZGF0ZVNBTUxQcm92aWRlcicsXG4gICAgICAgICAgICAnaWFtOmRlbGV0ZVNBTUxQcm92aWRlcicsXG4gICAgICAgICAgXSxcbiAgICAgICAgICByZXNvdXJjZXM6IFthcm5dLFxuICAgICAgICB9KSxcbiAgICAgIF0pLFxuICAgIH0pO1xuXG4gICAgdGhpcy5zYW1sSWRlbnRpdHlQcm92aWRlckFybiA9IGlkcC5nZXRSZXNwb25zZUZpZWxkKCdTQU1MUHJvdmlkZXJBcm4nKTtcbiAgfVxufVxuXG4vKipcbiAqIFByaW5jaXBhbCBlbnRpdHkgdGhhdCByZXByZXNlbnRzIGEgU0FNTCBmZWRlcmF0ZWQgaWRlbnRpdHkgcHJvdmlkZXIuXG4gKlxuICogQGRlcHJlY2F0ZWQgdXNlIGBTYW1sUHJpbmNpcGFsYCBmcm9tIGBhd3MtY2RrLWxpYi9hd3MtaWFtYFxuICovXG5leHBvcnQgY2xhc3MgU2FtbEZlZGVyYXRlZFByaW5jaXBhbCBleHRlbmRzIGlhbS5GZWRlcmF0ZWRQcmluY2lwYWwge1xuICBjb25zdHJ1Y3RvcihpZGVudGl0eVByb3ZpZGVyOiBTYW1sSWRlbnRpdHlQcm92aWRlcikge1xuICAgIHN1cGVyKFxuICAgICAgaWRlbnRpdHlQcm92aWRlci5zYW1sSWRlbnRpdHlQcm92aWRlckFybixcbiAgICAgIHtcbiAgICAgICAgU3RyaW5nRXF1YWxzOiB7XG4gICAgICAgICAgJ1NBTUw6YXVkJzogJ2h0dHBzOi8vc2lnbmluLmF3cy5hbWF6b24uY29tL3NhbWwnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgICdzdHM6QXNzdW1lUm9sZVdpdGhTQU1MJyxcbiAgICApO1xuICB9XG59XG4iXX0=
85
+ SamlFederatedPrincipal[_b] = { fqn: "cloudstructs.SamlFederatedPrincipal", version: "0.5.5" };
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2FtbC1pZGVudGl0eS1wcm92aWRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0MsbURBQW1EO0FBRW5ELDJDQUF1QztBQTBCdkM7Ozs7R0FJRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsc0JBQVM7SUFNakQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFnQztRQUN4RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLElBQUksR0FBRyxtQkFBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFFckUsTUFBTSxHQUFHLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ25DLE9BQU8sRUFBRSxLQUFLO1lBQ2QsTUFBTSxFQUFFLEVBQUU7WUFDVixRQUFRLEVBQUUsZUFBZTtZQUN6QixZQUFZLEVBQUUsSUFBSTtTQUNuQixDQUFDLENBQUM7UUFFSCxNQUFNLEdBQUcsR0FBRyxJQUFJLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3JELFlBQVksRUFBRSw4QkFBOEI7WUFDNUMsUUFBUSxFQUFFO2dCQUNSLE9BQU8sRUFBRSxLQUFLO2dCQUNkLE1BQU0sRUFBRSxvQkFBb0I7Z0JBQzVCLFVBQVUsRUFBRTtvQkFDVixJQUFJLEVBQUUsSUFBSTtvQkFDVixvQkFBb0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO2lCQUNaO2dCQUNsQyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDO2FBQzFFO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLE9BQU8sRUFBRSxLQUFLO2dCQUNkLE1BQU0sRUFBRSxvQkFBb0I7Z0JBQzVCLFVBQVUsRUFBRTtvQkFDVixlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUMsMkJBQTJCLEVBQUUsQ0FBQyxNQUFNLEVBQUU7b0JBQzlELG9CQUFvQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7aUJBQ1o7Z0JBQ2xDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUM7YUFDMUU7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsTUFBTSxFQUFFLG9CQUFvQjtnQkFDNUIsVUFBVSxFQUFFO29CQUNWLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLE1BQU0sRUFBRTtpQkFDOUI7YUFDbkM7WUFDRCxNQUFNLEVBQUUsRUFBRSxDQUFDLHVCQUF1QixDQUFDLGNBQWMsQ0FBQztnQkFDaEQsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO29CQUN0QixPQUFPLEVBQUU7d0JBQ1Asd0JBQXdCO3dCQUN4Qix3QkFBd0I7d0JBQ3hCLHdCQUF3QjtxQkFDekI7b0JBQ0QsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO2lCQUNqQixDQUFDO2FBQ0gsQ0FBQztTQUNILENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyx1QkFBdUIsR0FBRyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN6RSxDQUFDOztBQTFESCxvREEyREM7OztBQUVEOzs7O0dBSUc7QUFDSCxNQUFhLHNCQUF1QixTQUFRLEdBQUcsQ0FBQyxrQkFBa0I7SUFDaEUsWUFBWSxnQkFBc0M7UUFDaEQsS0FBSyxDQUNILGdCQUFnQixDQUFDLHVCQUF1QixFQUN4QztZQUNFLFlBQVksRUFBRTtnQkFDWixVQUFVLEVBQUUsb0NBQW9DO2FBQ2pEO1NBQ0YsRUFDRCx3QkFBd0IsQ0FDekIsQ0FBQztJQUNKLENBQUM7O0FBWEgsd0RBWUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOYW1lcywgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBjciBmcm9tICdhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzJztcbmltcG9ydCB7IElBTSB9IGZyb20gJ2F3cy1zZGsnOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYSBTYW1sUHJvdmlkZXJcbiAqXG4gKiBAZGVwcmVjYXRlZCB1c2UgYFNhbWxQcm92aWRlclByb3BzYCBmcm9tIGBhd3MtY2RrLWxpYi9hd3MtaWFtYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhbWxJZGVudGl0eVByb3ZpZGVyUHJvcHMge1xuICAvKipcbiAgICogQSBuYW1lIGZvciB0aGUgU0FNTCBpZGVudGl0eSBwcm92aWRlclxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRlcml2ZWQgZm9yIHRoZSBub2RlJ3MgdW5pcXVlIGlkXG4gICAqL1xuICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbiBYTUwgZG9jdW1lbnQgZ2VuZXJhdGVkIGJ5IGFuIGlkZW50aXR5IHByb3ZpZGVyIChJZFApIHRoYXQgc3VwcG9ydHMgU0FNTCAyLjAuXG4gICAqXG4gICAqIFRoZSBkb2N1bWVudCBpbmNsdWRlcyB0aGUgaXNzdWVyJ3MgbmFtZSwgZXhwaXJhdGlvbiBpbmZvcm1hdGlvbiwgYW5kIGtleXMgdGhhdFxuICAgKiBjYW4gYmUgdXNlZCB0byB2YWxpZGF0ZSB0aGUgU0FNTCBhdXRoZW50aWNhdGlvbiByZXNwb25zZSAoYXNzZXJ0aW9ucykgdGhhdCBhcmVcbiAgICogcmVjZWl2ZWQgZnJvbSB0aGUgSWRQLiBZb3UgbXVzdCBnZW5lcmF0ZSB0aGUgbWV0YWRhdGEgZG9jdW1lbnQgdXNpbmcgdGhlIGlkZW50aXR5XG4gICAqIG1hbmFnZW1lbnQgc29mdHdhcmUgdGhhdCBpcyB1c2VkIGFzIHlvdXIgb3JnYW5pemF0aW9uJ3MgSWRQLlxuICAgKi9cbiAgcmVhZG9ubHkgbWV0YWRhdGFEb2N1bWVudDogc3RyaW5nO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIFNBTUwgaWRlbnRpdHkgcHJvdmlkZXJcbiAqXG4gKiBAZGVwcmVjYXRlZCB1c2UgYFNhbWxQcm92aWRlcmAgZnJvbSBgYXdzLWNkay1saWIvYXdzLWlhbWBcbiAqL1xuZXhwb3J0IGNsYXNzIFNhbWxJZGVudGl0eVByb3ZpZGVyIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIFNBTUwgaWRlbnRpdHkgcHJvdmlkZXJcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzYW1sSWRlbnRpdHlQcm92aWRlckFybjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTYW1sSWRlbnRpdHlQcm92aWRlclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IG5hbWUgPSBwcm9wcy5uYW1lID8/IGAke05hbWVzLnVuaXF1ZUlkKHRoaXMpfUlkZW50aXR5UHJvdmlkZXJgO1xuXG4gICAgY29uc3QgYXJuID0gU3RhY2sub2YodGhpcykuZm9ybWF0QXJuKHtcbiAgICAgIHNlcnZpY2U6ICdpYW0nLFxuICAgICAgcmVnaW9uOiAnJyxcbiAgICAgIHJlc291cmNlOiAnc2FtbC1wcm92aWRlcicsXG4gICAgICByZXNvdXJjZU5hbWU6IG5hbWUsXG4gICAgfSk7XG5cbiAgICBjb25zdCBpZHAgPSBuZXcgY3IuQXdzQ3VzdG9tUmVzb3VyY2UodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgcmVzb3VyY2VUeXBlOiAnQ3VzdG9tOjpTYW1sSWRlbnRpdHlQcm92aWRlcicsXG4gICAgICBvbkNyZWF0ZToge1xuICAgICAgICBzZXJ2aWNlOiAnSUFNJyxcbiAgICAgICAgYWN0aW9uOiAnY3JlYXRlU0FNTFByb3ZpZGVyJyxcbiAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgIE5hbWU6IG5hbWUsXG4gICAgICAgICAgU0FNTE1ldGFkYXRhRG9jdW1lbnQ6IHByb3BzLm1ldGFkYXRhRG9jdW1lbnQsXG4gICAgICAgIH0gYXMgSUFNLkNyZWF0ZVNBTUxQcm92aWRlclJlcXVlc3QsXG4gICAgICAgIHBoeXNpY2FsUmVzb3VyY2VJZDogY3IuUGh5c2ljYWxSZXNvdXJjZUlkLmZyb21SZXNwb25zZSgnU0FNTFByb3ZpZGVyQXJuJyksXG4gICAgICB9LFxuICAgICAgb25VcGRhdGU6IHtcbiAgICAgICAgc2VydmljZTogJ0lBTScsXG4gICAgICAgIGFjdGlvbjogJ3VwZGF0ZVNBTUxQcm92aWRlcicsXG4gICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICBTQU1MUHJvdmlkZXJBcm46IG5ldyBjci5QaHlzaWNhbFJlc291cmNlSWRSZWZlcmVuY2UoKS50b0pTT04oKSxcbiAgICAgICAgICBTQU1MTWV0YWRhdGFEb2N1bWVudDogcHJvcHMubWV0YWRhdGFEb2N1bWVudCxcbiAgICAgICAgfSBhcyBJQU0uVXBkYXRlU0FNTFByb3ZpZGVyUmVxdWVzdCxcbiAgICAgICAgcGh5c2ljYWxSZXNvdXJjZUlkOiBjci5QaHlzaWNhbFJlc291cmNlSWQuZnJvbVJlc3BvbnNlKCdTQU1MUHJvdmlkZXJBcm4nKSxcbiAgICAgIH0sXG4gICAgICBvbkRlbGV0ZToge1xuICAgICAgICBzZXJ2aWNlOiAnSUFNJyxcbiAgICAgICAgYWN0aW9uOiAnZGVsZXRlU0FNTFByb3ZpZGVyJyxcbiAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgIFNBTUxQcm92aWRlckFybjogbmV3IGNyLlBoeXNpY2FsUmVzb3VyY2VJZFJlZmVyZW5jZSgpLnRvSlNPTigpLFxuICAgICAgICB9IGFzIElBTS5EZWxldGVTQU1MUHJvdmlkZXJSZXF1ZXN0LFxuICAgICAgfSxcbiAgICAgIHBvbGljeTogY3IuQXdzQ3VzdG9tUmVzb3VyY2VQb2xpY3kuZnJvbVN0YXRlbWVudHMoW1xuICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgJ2lhbTpjcmVhdGVTQU1MUHJvdmlkZXInLFxuICAgICAgICAgICAgJ2lhbTp1cGRhdGVTQU1MUHJvdmlkZXInLFxuICAgICAgICAgICAgJ2lhbTpkZWxldGVTQU1MUHJvdmlkZXInLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbYXJuXSxcbiAgICAgICAgfSksXG4gICAgICBdKSxcbiAgICB9KTtcblxuICAgIHRoaXMuc2FtbElkZW50aXR5UHJvdmlkZXJBcm4gPSBpZHAuZ2V0UmVzcG9uc2VGaWVsZCgnU0FNTFByb3ZpZGVyQXJuJyk7XG4gIH1cbn1cblxuLyoqXG4gKiBQcmluY2lwYWwgZW50aXR5IHRoYXQgcmVwcmVzZW50cyBhIFNBTUwgZmVkZXJhdGVkIGlkZW50aXR5IHByb3ZpZGVyLlxuICpcbiAqIEBkZXByZWNhdGVkIHVzZSBgU2FtbFByaW5jaXBhbGAgZnJvbSBgYXdzLWNkay1saWIvYXdzLWlhbWBcbiAqL1xuZXhwb3J0IGNsYXNzIFNhbWxGZWRlcmF0ZWRQcmluY2lwYWwgZXh0ZW5kcyBpYW0uRmVkZXJhdGVkUHJpbmNpcGFsIHtcbiAgY29uc3RydWN0b3IoaWRlbnRpdHlQcm92aWRlcjogU2FtbElkZW50aXR5UHJvdmlkZXIpIHtcbiAgICBzdXBlcihcbiAgICAgIGlkZW50aXR5UHJvdmlkZXIuc2FtbElkZW50aXR5UHJvdmlkZXJBcm4sXG4gICAgICB7XG4gICAgICAgIFN0cmluZ0VxdWFsczoge1xuICAgICAgICAgICdTQU1MOmF1ZCc6ICdodHRwczovL3NpZ25pbi5hd3MuYW1hem9uLmNvbS9zYW1sJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICAnc3RzOkFzc3VtZVJvbGVXaXRoU0FNTCcsXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,3 +1,2 @@
1
1
  export * from './slack-app';
2
2
  export * from './manifest';
3
- //# sourceMappingURL=index.d.ts.map
@@ -399,4 +399,3 @@ export declare class SlackAppManifest {
399
399
  constructor(props: SlackAppManifestProps);
400
400
  render(construct: IConstruct): string;
401
401
  }
402
- //# sourceMappingURL=manifest.d.ts.map
@@ -34,45 +34,43 @@ var SlackAppManifestShortcutType;
34
34
  */
35
35
  class SlackAppManifest {
36
36
  constructor(props) {
37
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
38
37
  this.props = props;
39
38
  validateLength('app name', 35, props.name);
40
39
  validateLength('app description', 140, props.description);
41
40
  validateLength('app long description', 4000, props.longDescription);
42
41
  validateColor(props.backgroundColor);
43
- validateUrl((_b = props.eventSubscriptions) === null || _b === void 0 ? void 0 : _b.requestUrl);
44
- validateItems('bot events', 100, (_c = props.eventSubscriptions) === null || _c === void 0 ? void 0 : _c.botEvents);
45
- validateItems('users events', 100, (_d = props.eventSubscriptions) === null || _d === void 0 ? void 0 : _d.userEvents);
46
- validateUrl((_e = props.interactivity) === null || _e === void 0 ? void 0 : _e.requestUrl);
47
- validateUrl((_f = props.interactivity) === null || _f === void 0 ? void 0 : _f.messageMenuOptionsUrl);
48
- validateLength('bot display name', 80, (_g = props.botUser) === null || _g === void 0 ? void 0 : _g.displayName);
42
+ validateUrl(props.eventSubscriptions?.requestUrl);
43
+ validateItems('bot events', 100, props.eventSubscriptions?.botEvents);
44
+ validateItems('users events', 100, props.eventSubscriptions?.userEvents);
45
+ validateUrl(props.interactivity?.requestUrl);
46
+ validateUrl(props.interactivity?.messageMenuOptionsUrl);
47
+ validateLength('bot display name', 80, props.botUser?.displayName);
49
48
  validateItems('shortcuts', 5, props.shortcuts);
50
- (_h = props.shortcuts) === null || _h === void 0 ? void 0 : _h.forEach((shortcut) => {
49
+ props.shortcuts?.forEach((shortcut) => {
51
50
  validateLength('shortcut callback ID', 255, shortcut.callbackId);
52
51
  validateLength('shortcut description', 150, shortcut.description);
53
52
  });
54
53
  validateItems('slash commands', 5, props.slashCommands);
55
- (_j = props.slashCommands) === null || _j === void 0 ? void 0 : _j.forEach((command) => {
54
+ props.slashCommands?.forEach((command) => {
56
55
  validateLength('slash command', 32, command.command);
57
56
  validateLength('slash command description', 2000, command.description),
58
57
  validateUrl(command.url);
59
58
  validateLength('slash command use hint', 1000, command.usageHint);
60
59
  });
61
60
  validateItems('workflow steps', 10, props.workflowSteps);
62
- (_k = props.workflowSteps) === null || _k === void 0 ? void 0 : _k.forEach((step) => {
61
+ props.workflowSteps?.forEach((step) => {
63
62
  validateLength('workflow step name', 50, step.name);
64
63
  validateLength('workflow step callback ID', 50, step.callbackId);
65
64
  });
66
65
  validateItems('unfurls domains', 5, props.unfurlDomains);
67
- validateItems('OAuth redirect URLs', 1000, (_l = props.oauthConfig) === null || _l === void 0 ? void 0 : _l.redirectUrls);
68
- (_o = (_m = props.oauthConfig) === null || _m === void 0 ? void 0 : _m.redirectUrls) === null || _o === void 0 ? void 0 : _o.forEach((url) => {
66
+ validateItems('OAuth redirect URLs', 1000, props.oauthConfig?.redirectUrls);
67
+ props.oauthConfig?.redirectUrls?.forEach((url) => {
69
68
  validateUrl(url, false);
70
69
  });
71
- validateItems('bot scopes', 255, (_p = props.oauthConfig) === null || _p === void 0 ? void 0 : _p.botScopes);
72
- validateItems('user scopes', 255, (_q = props.oauthConfig) === null || _q === void 0 ? void 0 : _q.userScopes);
70
+ validateItems('bot scopes', 255, props.oauthConfig?.botScopes);
71
+ validateItems('user scopes', 255, props.oauthConfig?.userScopes);
73
72
  }
74
73
  render(construct) {
75
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
76
74
  const schema = {
77
75
  _metadata: {
78
76
  major_version: this.props.majorVersion,
@@ -82,20 +80,20 @@ class SlackAppManifest {
82
80
  name: this.props.name,
83
81
  description: this.props.description,
84
82
  long_description: this.props.longDescription,
85
- background_color: (_b = prefixWith('#', this.props.backgroundColor)) === null || _b === void 0 ? void 0 : _b.toLowerCase(),
83
+ background_color: prefixWith('#', this.props.backgroundColor)?.toLowerCase(),
86
84
  },
87
85
  settings: {
88
86
  allowed_ip_address_ranges: this.props.allowedIpAddressRanges,
89
87
  event_subscriptions: {
90
- request_url: (_c = this.props.eventSubscriptions) === null || _c === void 0 ? void 0 : _c.requestUrl,
91
- bot_events: (_d = this.props.eventSubscriptions) === null || _d === void 0 ? void 0 : _d.botEvents,
92
- user_events: (_e = this.props.eventSubscriptions) === null || _e === void 0 ? void 0 : _e.userEvents,
88
+ request_url: this.props.eventSubscriptions?.requestUrl,
89
+ bot_events: this.props.eventSubscriptions?.botEvents,
90
+ user_events: this.props.eventSubscriptions?.userEvents,
93
91
  },
94
92
  interactivity: this.props.interactivity
95
93
  ? {
96
- is_enabled: (_g = (_f = this.props.interactivity) === null || _f === void 0 ? void 0 : _f.enabled) !== null && _g !== void 0 ? _g : true,
97
- request_url: (_h = this.props.interactivity) === null || _h === void 0 ? void 0 : _h.requestUrl,
98
- message_menu_options_url: (_j = this.props.interactivity) === null || _j === void 0 ? void 0 : _j.messageMenuOptionsUrl,
94
+ is_enabled: this.props.interactivity?.enabled ?? true,
95
+ request_url: this.props.interactivity?.requestUrl,
96
+ message_menu_options_url: this.props.interactivity?.messageMenuOptionsUrl,
99
97
  }
100
98
  : undefined,
101
99
  org_deploy_enabled: this.props.orgDeploy,
@@ -103,40 +101,40 @@ class SlackAppManifest {
103
101
  },
104
102
  features: {
105
103
  app_home: {
106
- home_tab_enabled: (_k = this.props.appHome) === null || _k === void 0 ? void 0 : _k.homeTab,
107
- messages_tab_enabled: (_l = this.props.appHome) === null || _l === void 0 ? void 0 : _l.messagesTab,
108
- messages_tab_read_only_enabled: (_m = this.props.appHome) === null || _m === void 0 ? void 0 : _m.messagesTabReadOnly,
104
+ home_tab_enabled: this.props.appHome?.homeTab,
105
+ messages_tab_enabled: this.props.appHome?.messagesTab,
106
+ messages_tab_read_only_enabled: this.props.appHome?.messagesTabReadOnly,
109
107
  },
110
108
  bot_user: this.props.botUser
111
109
  ? {
112
- display_name: (_o = this.props.botUser) === null || _o === void 0 ? void 0 : _o.displayName,
113
- always_online: (_p = this.props.botUser) === null || _p === void 0 ? void 0 : _p.alwaysOnline,
110
+ display_name: this.props.botUser?.displayName,
111
+ always_online: this.props.botUser?.alwaysOnline,
114
112
  }
115
113
  : undefined,
116
- shortcuts: (_q = this.props.shortcuts) === null || _q === void 0 ? void 0 : _q.map((shortcut) => ({
114
+ shortcuts: this.props.shortcuts?.map((shortcut) => ({
117
115
  name: shortcut.name,
118
116
  type: shortcut.type,
119
117
  callback_id: shortcut.callbackId,
120
118
  description: shortcut.description,
121
119
  })),
122
- slash_commands: (_r = this.props.slashCommands) === null || _r === void 0 ? void 0 : _r.map((command) => ({
120
+ slash_commands: this.props.slashCommands?.map((command) => ({
123
121
  command: prefixWith('/', command.command),
124
122
  description: command.description,
125
123
  url: command.url,
126
124
  usage_hint: command.usageHint,
127
125
  should_escape: command.shouldEscape,
128
126
  })),
129
- workflow_steps: (_s = this.props.workflowSteps) === null || _s === void 0 ? void 0 : _s.map((step) => ({
127
+ workflow_steps: this.props.workflowSteps?.map((step) => ({
130
128
  name: step.name,
131
129
  callback_id: step.callbackId,
132
130
  })),
133
131
  unfurl_domains: this.props.unfurlDomains,
134
132
  },
135
133
  oauth_config: {
136
- redirect_urls: (_t = this.props.oauthConfig) === null || _t === void 0 ? void 0 : _t.redirectUrls,
134
+ redirect_urls: this.props.oauthConfig?.redirectUrls,
137
135
  scopes: {
138
- bot: (_u = this.props.oauthConfig) === null || _u === void 0 ? void 0 : _u.botScopes,
139
- users: (_v = this.props.oauthConfig) === null || _v === void 0 ? void 0 : _v.userScopes,
136
+ bot: this.props.oauthConfig?.botScopes,
137
+ users: this.props.oauthConfig?.userScopes,
140
138
  },
141
139
  },
142
140
  };
@@ -145,7 +143,7 @@ class SlackAppManifest {
145
143
  }
146
144
  exports.SlackAppManifest = SlackAppManifest;
147
145
  _a = JSII_RTTI_SYMBOL_1;
148
- SlackAppManifest[_a] = { fqn: "cloudstructs.SlackAppManifest", version: "0.5.4" };
146
+ SlackAppManifest[_a] = { fqn: "cloudstructs.SlackAppManifest", version: "0.5.5" };
149
147
  function prefixWith(prefix, string) {
150
148
  if (!string) {
151
149
  return undefined;
@@ -198,4 +196,4 @@ function removeUndefined(obj) {
198
196
  .reduce((a, [k, v]) => (v == null ? a : (a[k] = v, a)), {});
199
197
  return Object.keys(ret).length !== 0 ? ret : undefined;
200
198
  }
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuaWZlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2xhY2stYXBwL21hbmlmZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLDZDQUEyQztBQXNVM0M7Ozs7R0FJRztBQUNILElBQVksNEJBZVg7QUFmRCxXQUFZLDRCQUE0QjtJQUN0Qzs7OztPQUlHO0lBQ0gsbURBQW1CLENBQUE7SUFFbkI7Ozs7O09BS0c7SUFDSCxpREFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBZlcsNEJBQTRCLEdBQTVCLG9DQUE0QixLQUE1QixvQ0FBNEIsUUFldkM7QUErREEsQ0FBQztBQW1DRjs7OztHQUlHO0FBQ0gsTUFBYSxnQkFBZ0I7SUFDM0IsWUFBNkIsS0FBNEI7O1FBQTVCLFVBQUssR0FBTCxLQUFLLENBQXVCO1FBQ3ZELGNBQWMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxjQUFjLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMxRCxjQUFjLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNwRSxhQUFhLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRXJDLFdBQVcsT0FBQyxLQUFLLENBQUMsa0JBQWtCLDBDQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2xELGFBQWEsQ0FBQyxZQUFZLEVBQUUsR0FBRyxRQUFFLEtBQUssQ0FBQyxrQkFBa0IsMENBQUUsU0FBUyxDQUFDLENBQUM7UUFDdEUsYUFBYSxDQUFDLGNBQWMsRUFBRSxHQUFHLFFBQUUsS0FBSyxDQUFDLGtCQUFrQiwwQ0FBRSxVQUFVLENBQUMsQ0FBQztRQUV6RSxXQUFXLE9BQUMsS0FBSyxDQUFDLGFBQWEsMENBQUUsVUFBVSxDQUFDLENBQUM7UUFDN0MsV0FBVyxPQUFD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QU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMvRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDN0IsT0FBTyxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7S0FDM0M7SUFFRCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztTQUM1QixHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN6RSxNQUFNLENBQUMsQ0FBQyxDQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqRSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG5vZGVVcmwgZnJvbSAndXJsJztcbmltcG9ydCB7IFN0YWNrLCBUb2tlbiB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IElDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhIFNsYWNrIGFwcCBtYW5pZmVzdFxuICpcbiAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL3JlZmVyZW5jZS9tYW5pZmVzdHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTbGFja0FwcE1hbmlmZXN0UHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGFwcC5cbiAgICpcbiAgICogTWF4aW11bSBsZW5ndGggaXMgMzUgY2hhcmFjdGVycy5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogQSBzaG9ydCBkZXNjcmlwdGlvbiBvZiB0aGUgYXBwIGZvciBkaXNwbGF5IHRvIHVzZXJzLlxuICAgKlxuICAgKiBNYXhpbXVtIGxlbmd0aCBpcyAxNDAgY2hhcmFjdGVycy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBzaG9ydCBkZXNjcmlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgbG9uZ2VyIHZlcnNpb24gb2YgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBhcHAuXG4gICAqXG4gICAqIE1heGltdW0gbGVuZ3RoIGlzIDQwMDAgY2hhcmFjdGVycy5cbiAgICovXG4gIHJlYWRvbmx5IGxvbmdEZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQSBoZXggY29sb3IgdmFsdWUgdGhhdCBzcGVjaWZpZXMgdGhlIGJhY2tncm91bmQgY29sb3IgdXNlZCBvbiBob3ZlcmNhcmRzXG4gICAqIHRoYXQgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIGFwcC5cbiAgICpcbiAgICogQ2FuIGJlIDMtZGlnaXQgKCMwMDApIG9yIDYtZGlnaXQgKCMwMDAwMDApIGhleCB2YWx1ZXMgd2l0aCBvciB3aXRob3V0ICNcbiAgICovXG4gIHJlYWRvbmx5IGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG1ham9yIHZlcnNpb24gb2YgdGhlIG1hbmlmZXN0IHNjaGVtYSB0byB0YXJnZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZG8gbm90IHRhcmdldCBhIHNwZWNpZmljIG1ham9yIHZlcnNpb25cbiAgICovXG4gIHJlYWRvbmx5IG1ham9yVmVyc2lvbj86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG1pbm9yIHZlcnNpb24gb2YgdGhlIG1hbmlmZXN0IHNjaGVtYSB0byB0YXJnZXRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBkbyBub3QgdGFyZ2V0IGEgc3BlY2lmaWMgbWlub3IgdmVyc2lvblxuICAgKi9cbiAgcmVhZG9ubHkgbWlub3JWZXJzaW9uPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBbiBhcnJheSBvZiBJUCBhZGRyZXNzZXMgdGhhdCBjb25mb3JtIHRvIHRoZSBBbGxvd2VkIElQIFJhbmdlcyBmZWF0dXJlXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL2F1dGhlbnRpY2F0aW9uL2Jlc3QtcHJhY3RpY2VzI2lwX2FsbG93bGlzdGluZ1xuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dlZElwQWRkcmVzc1Jhbmdlcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBFdmVudHMgQVBJIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBhcHBcbiAgICpcbiAgICogQHNlZSBodHRwczovL2FwaS5zbGFjay5jb20vZXZlbnRzLWFwaVxuICAgKi9cbiAgcmVhZG9ubHkgZXZlbnRTdWJzY3JpcHRpb25zPzogU2xhY2tBcHBNYW5pZmVzdEV2ZW50U3Vic2NyaXB0aW9ucztcblxuICAvKipcbiAgICogSW50ZXJhY3Rpdml0eSBjb25maWd1cmF0aW9uIGZvciB0aGUgYXBwXG4gICAqL1xuICByZWFkb25seSBpbnRlcmFjdGl2aXR5PzogU2xhY2tBcHBNYW5pZmVzdEludGVyYWN0aXZpdHk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3JnLXdpZGUgZGVwbG95IGlzIGVuYWJsZWQuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL2VudGVycHJpc2UvYXBwc1xuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgb3JnRGVwbG95PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciBTb2NrZXQgTW9kZSBpcyBlbmFibGVkXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL2FwaXMvY29ubmVjdGlvbnMvc29ja2V0XG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzb2NrZXRNb2RlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQXBwIEhvbWUgY29uZmlndXJhdGlvblxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vYXBpLnNsYWNrLmNvbS9zdXJmYWNlcy90YWJzXG4gICAqL1xuICByZWFkb25seSBhcHBIb21lPzogU2xhY2tBcHBNYW5pZmVzdEFwcEhvbWU7XG5cbiAgLyoqXG4gICAqIEJvdCB1c2VyIGNvbmZpZ3VyYXRpb25cbiAgICpcbiAgICogQHNlZSBodHRwczovL2FwaS5zbGFjay5jb20vYm90LXVzZXJzXG4gICAqL1xuICByZWFkb25seSBib3RVc2VyPzogU2xhY2trQXBwTWFuaWZlc3RCb3RVc2VyO1xuXG4gIC8qKlxuICAgKiBTaG9ydGN1dHMgY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICogQSBtYXhpbXVtIG9mIDUgc2hvcnRjdXRzIGNhbiBiZSBpbmNsdWRlZC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2FwaS5zbGFjay5jb20vaW50ZXJhY3Rpdml0eS9zaG9ydGN1dHNcbiAgICovXG4gIHJlYWRvbmx5IHNob3J0Y3V0cz86IFNsYWNrQXBwTWFuaWZlc3RTaG9ydGN1dFtdO1xuXG4gIC8qKlxuICAgKiBTbGFzaCBjb21tYW5kcyBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBBIG1heGltdW0gb2YgNSBzbGFzaCBjb21tYW5kcyBjYW4gYmUgaW5jbHVkZWQuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL2ludGVyYWN0aXZpdHkvc2xhc2gtY29tbWFuZHNcbiAgICovXG4gIHJlYWRvbmx5IHNsYXNoQ29tbWFuZHM/OiBTbGFja0FwcE1hbmlmZXN0U2xhc2hDb21tYW5kW107XG5cbiAgLyoqXG4gICAqIFdvcmtmbG93IHN0ZXBzLlxuICAgKlxuICAgKiBBIG1heGltdW0gb2YgMTAgd29ya2Zsb3cgc3RlcHMgY2FuIGJlIGluY2x1ZGVkLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vYXBpLnNsYWNrLmNvbS93b3JrZmxvd3Mvc3RlcHNcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93U3RlcHM/OiBTbGFja0FwcE1hbmlmZXN0V29ya2Zsb3dTdGVwW107XG5cbiAgLyoqXG4gICAqIFZhbGlkIHVuZnVybCBkb21haW5zIHRvIHJlZ2lzdGVyLlxuICAgKlxuICAgKiBBIG1heGltdW0gb2YgNSB1bmZ1cmwgZG9tYWlucyBjYW4gYmUgaW5jbHVkZWQuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL3JlZmVyZW5jZS9tZXNzYWdpbmcvbGluay11bmZ1cmxpbmcjY29uZmlndXJpbmdfZG9tYWluc1xuICAgKi9cbiAgcmVhZG9ubHkgdW5mdXJsRG9tYWlucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBPQXV0aCBjb25maWd1cmF0aW9uIGZvciB0aGUgYXBwXG4gICAqL1xuICByZWFkb25seSBvYXV0aENvbmZpZz86IFNsYWNrQXBwTWFuaWZlc3RPYXV0aENvbmZpZztcbn1cblxuLyoqXG4gKiBTZXR0aW5ncyBzZWN0aW9uIG9mIHRoZSBhcHAgY29uZmlnIHBhZ2VzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2xhY2tBcHBNYW5pZmVzdFNldHRpbmdzIHtcbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIElQIGFkZHJlc3NlcyB0aGF0IGNvbmZvcm0gdG8gdGhlIEFsbG93ZWQgSVAgUmFuZ2VzIGZlYXR1cmVcbiAgICpcbiAgICogQHNlZSBodHRwczovL2FwaS5zbGFjay5jb20vYXV0aGVudGljYXRpb24vYmVzdC1wcmFjdGljZXMjaXBfYWxsb3dsaXN0aW5nXG4gICAqL1xuICByZWFkb25seSBhbGxvd2VkSXBBZGRyZXNzUmFuZ2VzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEV2ZW50cyBBUEkgY29uZmlndXJhdGlvbiBmb3IgdGhlIGFwcFxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vYXBpLnNsYWNrLmNvbS9ldmVudHMtYXBpXG4gICAqL1xuICByZWFkb25seSBldmVudFN1YnNjcmlwdGlvbnM/OiBTbGFja0FwcE1hbmlmZXN0RXZlbnRTdWJzY3JpcHRpb25zO1xuXG4gIC8qKlxuICAgKiBJbnRlcmFjdGl2aXR5IGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBhcHBcbiAgICovXG4gIHJlYWRvbmx5IGludGVyYWN0aXZpdHk/OiBTbGFja0FwcE1hbmlmZXN0SW50ZXJhY3Rpdml0eTtcblxuICAvKipcbiAgICogV2hldGhlciBvcmctd2lkZSBkZXBsb3kgaXMgZW5hYmxlZC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2FwaS5zbGFjay5jb20vZW50ZXJwcmlzZS9hcHBzXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBvcmdEZXBsb3k/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIFNvY2tldCBNb2RlIGlzIGVuYWJsZWRcbiAgICpcbiAgICogQHNlZSBodHRwczovL2FwaS5zbGFjay5jb20vYXBpcy9jb25uZWN0aW9ucy9zb2NrZXRcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHNvY2tldE1vZGU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEV2ZW50cyBBUEkgY29uZmlndXJhdGlvbiBmb3IgdGhlIGFwcFxuICpcbiAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL2V2ZW50cy1hcGlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTbGFja0FwcE1hbmlmZXN0RXZlbnRTdWJzY3JpcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBmdWxsIGh0dHBzIFVSTCB0aGF0IGFjdHMgYXMgdGhlIEV2ZW50cyBBUEkgcmVxdWVzdCBVUkxcbiAgICpcbiAgICogQHNlZSBodHRwczovL2FwaS5zbGFjay5jb20vZXZlbnRzLWFwaSN0aGUtZXZlbnRzLWFwaV9fc3Vic2NyaWJpbmctdG8tZXZlbnQtdHlwZXNfX2V2ZW50cy1hcGktcmVxdWVzdC11cmxzXG4gICAqL1xuICByZWFkb25seSByZXF1ZXN0VXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEV2ZW50IHR5cGVzIHlvdSB3YW50IHRoZSBhcHAgdG8gc3Vic2NyaWJlIHRvLlxuICAgKlxuICAgKiBBIG1heGltdW0gb2YgMTAwIGV2ZW50IHR5cGVzIGNhbiBiZSB1c2VkXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL2V2ZW50c1xuICAgKi9cbiAgcmVhZG9ubHkgYm90RXZlbnRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEV2ZW50IHR5cGVzIHlvdSB3YW50IHRoZSBhcHAgdG8gc3Vic2NyaWJlIHRvIG9uIGJlaGFsZiBvZiBhdXRob3JpemVkIHVzZXJzLlxuICAgKlxuICAgKiBBIG1heGltdW0gb2YgMTAwIGV2ZW50IHR5cGVzIGNhbiBiZSB1c2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgdXNlckV2ZW50cz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEludGVyYWN0aXZpdHkgY29uZmlndXJhdGlvbiBmb3IgdGhlIGFwcFxuICpcbiAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL2ludGVyYWN0aXZpdHkvaGFuZGxpbmcjc2V0dXBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTbGFja0FwcE1hbmlmZXN0SW50ZXJhY3Rpdml0eSB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCBpbnRlcmFjdGl2aXR5IGZlYXR1cmVzIGFyZSBlbmFibGVkXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgZnVsbCBodHRwcyBVUkwgdGhhdCBhY3RzIGFzIHRoZSBpbnRlcmFjdGl2ZSBSZXF1ZXN0IFVSTFxuICAgKi9cbiAgcmVhZG9ubHkgcmVxdWVzdFVybD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGZ1bGwgaHR0cHMgVVJMIHRoYXQgYWN0cyBhcyB0aCBpbnRlcmFjdGl2ZSBPcHRpb25zIExvYWQgVVJMXG4gICAqL1xuICByZWFkb25seSBtZXNzYWdlTWVudU9wdGlvbnNVcmw/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQXBwIEhvbWUgY29uZmlndXJhdGlvblxuICpcbiAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL3N1cmZhY2VzL3RhYnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTbGFja0FwcE1hbmlmZXN0QXBwSG9tZSB7XG4gIC8qKlxuICAgKiBXZXRoZXIgdGhlIEhvbWUgdGFiIGlzIGVuYWJsZWRcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGhvbWVUYWI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXZXRoZXIgdGhlIE1lc3NhZ2VzIGlzIGVuYWJsZWRcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2VzVGFiPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgdXNlcnMgY2FuIHNlbmQgbWVzc2FnZXMgdG8geW91ciBhcHAgaW4gdGhlXG4gICAqIE1lc3NhZ2VzIHRhYiBvZiB5b3VyIEFwcCBIb21lXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBtZXNzYWdlc1RhYlJlYWRPbmx5PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBCb3QgdXNlciBjb25maWd1cmF0aW9uXG4gKlxuICogQHNlZSBodHRwczovL2FwaS5zbGFjay5jb20vYm90LXVzZXJzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2xhY2trQXBwTWFuaWZlc3RCb3RVc2VyIHtcbiAgLyoqXG4gICAqIFRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIGJvdCB1c2VyLlxuICAgKlxuICAgKiBNYXhpbXVtIGxlbmd0aCBpcyA4MCBjaGFyYWN0ZXJzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzcGxheU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgYm90IHVzZXIgd2lsbCBhbHdheXMgYXBwZWFyIHRvIGJlIG9ubGluZVxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgYWx3YXlzT25saW5lPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBTaG9ydGN1dCBjb25maWd1cmF0aW9uXG4gKlxuICogQHNlZSBodHRwczovL2FwaS5zbGFjay5jb20vaW50ZXJhY3Rpdml0eS9zaG9ydGN1dHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTbGFja0FwcE1hbmlmZXN0U2hvcnRjdXQge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHNob3J0Y3V0XG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHNob3J0Y3V0XG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL2ludGVyYWN0aXZpdHkvc2hvcnRjdXRzXG4gICAqL1xuICByZWFkb25seSB0eXBlOiBTbGFja0FwcE1hbmlmZXN0U2hvcnRjdXRUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgY2FsbGJhY2sgSUQgb2YgdGhlIHNob3J0Y3V0LlxuICAgKlxuICAgKiBNYXhpbXVtIGxlbmd0aCBpcyAyNTUgY2hhcmFjdGVycy5cbiAgICovXG4gIHJlYWRvbmx5IGNhbGxiYWNrSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogQSBzaG9ydCBkZXNjcmlwdGlvbiBvZiB0aGUgc2hvcnRjdXRcbiAgICpcbiAgICogTWF4aW11bSBsZW5ndGggaXMgMTUwIGNoYXJhY3RlcnNcbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVHlwZSBvZiBzaG9ydGN1dHNcbiAqXG4gKiBAc2VlIGh0dHBzOi8vYXBpLnNsYWNrLmNvbS9pbnRlcmFjdGl2aXR5L3Nob3J0Y3V0c1xuICovXG5leHBvcnQgZW51bSBTbGFja0FwcE1hbmlmZXN0U2hvcnRjdXRUeXBlIHtcbiAgLyoqXG4gICAqIE1lc3NhZ2Ugc2hvcnRjdXRzIGFyZSBzaG93biB0byB1c2VycyBpbiB0aGUgY29udGV4dCBtZW51cyBvZiBtZXNzYWdlcyB3aXRoaW4gU2xhY2tcbiAgICpcbiAgICogQHNlZSBodHRwczovL2FwaS5zbGFjay5jb20vaW50ZXJhY3Rpdml0eS9zaG9ydGN1dHMvdXNpbmcjbWVzc2FnZV9zaG9ydGN1dHNcbiAgICovXG4gIE1FU1NBR0UgPSAnbWVzc2FnZScsXG5cbiAgLyoqXG4gICAqIEdsb2JhbCBzaG9ydGN1dHMgYXJlIGF2YWlsYWJsZSB0byB1c2VycyB2aWEgdGhlIHNob3J0Y3V0cyBidXR0b24gaW4gdGhlIGNvbXBvc2VyLFxuICAgKiBhbmQgd2hlbiB1c2luZyBzZWFyY2ggaW4gU2xhY2tcbiAgICpcbiAgICogQHNlZSBodHRwczovL2FwaS5zbGFjay5jb20vaW50ZXJhY3Rpdml0eS9zaG9ydGN1dHMvdXNpbmcjZ2xvYmFsX3Nob3J0Y3V0c1xuICAgKi9cbiAgR0xPQkFMID0gJ2dsb2JhbCcsXG59XG5cbi8qKlxuICogU2xhc2ggY29tbWFuZCBjb25maWd1cmF0aW9uXG4gKlxuICogQHNlZSBodHRwczovL2FwaS5zbGFjay5jb20vaW50ZXJhY3Rpdml0eS9zbGFzaC1jb21tYW5kc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFNsYWNrQXBwTWFuaWZlc3RTbGFzaENvbW1hbmQge1xuICAvKipcbiAgICogVGhlIGFjdHVhbCBzbGFzaCBjb21tYW5kLlxuICAgKlxuICAgKiBNYXhpbXVtIGxlbmd0aCBpcyAzMiBjaGFyYWN0ZXJzXG4gICAqL1xuICByZWFkb25seSBjb21tYW5kOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgc2xhc2ggY29tbWFuZC5cbiAgICpcbiAgICogTWF4aW11bSBsZW5ndGggaXMgMjAwMCBjaGFyYWN0ZXJzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGZ1bGwgaHR0cHMgVVJMIHRoYXQgYWN0cyBhcyB0aGUgc2xhc2ggY29tbWFuZCdzIHJlcXVlc3QgVVJMXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL2ludGVyYWN0aXZpdHkvc2xhc2gtY29tbWFuZHMjY3JlYXRpbmdfY29tbWFuZHNcbiAgICovXG4gIHJlYWRvbmx5IHVybD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNob3J0IHVzYWdlIGhpbnQgYWJvdXQgdGhlIHNsYXNoIGNvbW1hbmQgZm9yIHVzZXJzLlxuICAgKlxuICAgKiBNYXhpbXVtIGxlbmd0aCBpcyAxMDAwIGNoYXJhY3RlcnMuXG4gICAqL1xuICByZWFkb25seSB1c2FnZUhpbnQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgY2hhbm5lbHMsIHVzZXJzLCBhbmQgbGlua3MgdHlwZWQgd2l0aCB0aGUgc2xhc2ggY29tbWFuZCBzaG91bGQgYmUgZXNjYXBlZFxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkRXNjYXBlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBXb3JrZmxvdyBzdGVwXG4gKlxuICogQHNlZSBodHRwczovL2FwaS5zbGFjay5jb20vd29ya2Zsb3dzL3N0ZXBzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2xhY2tBcHBNYW5pZmVzdFdvcmtmbG93U3RlcCB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgd29ya2Zsb3cgc3RlcC5cbiAgICpcbiAgICogTWF4aW11bSBsZW5ndGggb2YgNTAgY2hhcmFjdGVycy5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNhbGxiYWNrIElEIG9mIHRoZSB3b3JrZmxvdyBzdGVwLlxuICAgKlxuICAgKiBNYXhpbXVtIGxlbmd0aCBvZiA1MCBjaGFyYWN0ZXJzLlxuICAgKi9cbiAgcmVhZG9ubHkgY2FsbGJhY2tJZDogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBPQXV0aCBjb25maWd1cmF0aW9uIGZvciB0aGUgYXBwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2xhY2tBcHBNYW5pZmVzdE9hdXRoQ29uZmlnIHtcbiAgLyoqXG4gICAqIE9BdXRoIHJlZGlyZWN0IFVSTHNcbiAgICpcbiAgICogQSBtYXhpbXVtIG9mIDEwMDAgcmVkaXJlY3QgVVJMcyBjYW4gYmUgaW5jbHVkZWQuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL2F1dGhlbnRpY2F0aW9uL29hdXRoLXYyI3JlZGlyZWN0X3VybHNcbiAgICovXG4gIHJlYWRvbmx5IHJlZGlyZWN0VXJscz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBCb3Qgc2NvcGVzIHRvIHJlcXVlc3QgdXBvbiBhcHAgaW5zdGFsbGF0aW9uLlxuICAgKlxuICAgKiBBIG1heGltdW0gb2YgMjU1IHNjb3BlcyBjYW4gYmUgaW5jbHVkZWQuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL3Njb3Blc1xuICAgKi9cbiAgcmVhZG9ubHkgYm90U2NvcGVzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFVzZXIgc2NvcGVzIHRvIHJlcXVlc3QgdXBvbiBhcHAgaW5zdGFsbGF0aW9uLlxuICAgKlxuICAgKiBBIG1heGltdW0gb2YgMjU1IHNjb3BlcyBjYW4gYmUgaW5jbHVkZWQuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL3Njb3Blc1xuICAgKi9cbiAgcmVhZG9ubHkgdXNlclNjb3Blcz86IHN0cmluZ1tdO1xufVxuXG5cbi8qKlxuICogQSBTbGFjayBhcHAgbWFuaWZlc3RcbiAqXG4gKiBAc2VlIGh0dHBzOi8vYXBpLnNsYWNrLmNvbS9yZWZlcmVuY2UvbWFuaWZlc3RzXG4gKi9cbmV4cG9ydCBjbGFzcyBTbGFja0FwcE1hbmlmZXN0IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwcm9wczogU2xhY2tBcHBNYW5pZmVzdFByb3BzKSB7XG4gICAgdmFsaWRhdGVMZW5ndGgoJ2FwcCBuYW1lJywgMzUsIHByb3BzLm5hbWUpO1xuICAgIHZhbGlkYXRlTGVuZ3RoKCdhcHAgZGVzY3JpcHRpb24nLCAxNDAsIHByb3BzLmRlc2NyaXB0aW9uKTtcbiAgICB2YWxpZGF0ZUxlbmd0aCgnYXBwIGxvbmcgZGVzY3JpcHRpb24nLCA0MDAwLCBwcm9wcy5sb25nRGVzY3JpcHRpb24pO1xuICAgIHZhbGlkYXRlQ29sb3IocHJvcHMuYmFja2dyb3VuZENvbG9yKTtcblxuICAgIHZhbGlkYXRlVXJsKHByb3BzLmV2ZW50U3Vic2NyaXB0aW9ucz8ucmVxdWVzdFVybCk7XG4gICAgdmFsaWRhdGVJdGVtcygnYm90IGV2ZW50cycsIDEwMCwgcHJvcHMuZXZlbnRTdWJzY3JpcHRpb25zPy5ib3RFdmVudHMpO1xuICAgIHZhbGlkYXRlSXRlbXMoJ3VzZXJzIGV2ZW50cycsIDEwMCwgcHJvcHMuZXZlbnRTdWJzY3JpcHRpb25zPy51c2VyRXZlbnRzKTtcblxuICAgIHZhbGlkYXRlVXJsKHByb3BzLmludGVyYWN0aXZpdHk/LnJlcXVlc3RVcmwpO1xuICAgIHZhbGlkYXRlVXJsKHByb3BzLmludGVyYWN0aXZpdHk/Lm1lc3NhZ2VNZW51T3B0aW9uc1VybCk7XG4gICAgdmFsaWRhdGVMZW5ndGgoJ2JvdCBkaXNwbGF5IG5hbWUnLCA4MCwgcHJvcHMuYm90VXNlcj8uZGlzcGxheU5hbWUpO1xuXG4gICAgdmFsaWRhdGVJdGVtcygnc2hvcnRjdXRzJywgNSwgcHJvcHMuc2hvcnRjdXRzKTtcbiAgICBwcm9wcy5zaG9ydGN1dHM/LmZvckVhY2goKHNob3J0Y3V0KSA9PiB7XG4gICAgICB2YWxpZGF0ZUxlbmd0aCgnc2hvcnRjdXQgY2FsbGJhY2sgSUQnLCAyNTUsIHNob3J0Y3V0LmNhbGxiYWNrSWQpO1xuICAgICAgdmFsaWRhdGVMZW5ndGgoJ3Nob3J0Y3V0IGRlc2NyaXB0aW9uJywgMTUwLCBzaG9ydGN1dC5kZXNjcmlwdGlvbik7XG4gICAgfSk7XG5cbiAgICB2YWxpZGF0ZUl0ZW1zKCdzbGFzaCBjb21tYW5kcycsIDUsIHByb3BzLnNsYXNoQ29tbWFuZHMpO1xuICAgIHByb3BzLnNsYXNoQ29tbWFuZHM/LmZvckVhY2goKGNvbW1hbmQpID0+IHtcbiAgICAgIHZhbGlkYXRlTGVuZ3RoKCdzbGFzaCBjb21tYW5kJywgMzIsIGNvbW1hbmQuY29tbWFuZCk7XG4gICAgICB2YWxpZGF0ZUxlbmd0aCgnc2xhc2ggY29tbWFuZCBkZXNjcmlwdGlvbicsIDIwMDAsIGNvbW1hbmQuZGVzY3JpcHRpb24pLFxuICAgICAgdmFsaWRhdGVVcmwoY29tbWFuZC51cmwpO1xuICAgICAgdmFsaWRhdGVMZW5ndGgoJ3NsYXNoIGNvbW1hbmQgdXNlIGhpbnQnLCAxMDAwLCBjb21tYW5kLnVzYWdlSGludCk7XG4gICAgfSk7XG5cbiAgICB2YWxpZGF0ZUl0ZW1zKCd3b3JrZmxvdyBzdGVwcycsIDEwLCBwcm9wcy53b3JrZmxvd1N0ZXBzKTtcbiAgICBwcm9wcy53b3JrZmxvd1N0ZXBzPy5mb3JFYWNoKChzdGVwKSA9PiB7XG4gICAgICB2YWxpZGF0ZUxlbmd0aCgnd29ya2Zsb3cgc3RlcCBuYW1lJywgNTAsIHN0ZXAubmFtZSk7XG4gICAgICB2YWxpZGF0ZUxlbmd0aCgnd29ya2Zsb3cgc3RlcCBjYWxsYmFjayBJRCcsIDUwLCBzdGVwLmNhbGxiYWNrSWQpO1xuICAgIH0pO1xuXG4gICAgdmFsaWRhdGVJdGVtcygndW5mdXJscyBkb21haW5zJywgNSwgcHJvcHMudW5mdXJsRG9tYWlucyk7XG5cbiAgICB2YWxpZGF0ZUl0ZW1zKCdPQXV0aCByZWRpcmVjdCBVUkxzJywgMTAwMCwgcHJvcHMub2F1dGhDb25maWc/LnJlZGlyZWN0VXJscyk7XG4gICAgcHJvcHMub2F1dGhDb25maWc/LnJlZGlyZWN0VXJscz8uZm9yRWFjaCgodXJsKSA9PiB7XG4gICAgICB2YWxpZGF0ZVVybCh1cmwsIGZhbHNlKTtcbiAgICB9KTtcbiAgICB2YWxpZGF0ZUl0ZW1zKCdib3Qgc2NvcGVzJywgMjU1LCBwcm9wcy5vYXV0aENvbmZpZz8uYm90U2NvcGVzKTtcbiAgICB2YWxpZGF0ZUl0ZW1zKCd1c2VyIHNjb3BlcycsIDI1NSwgcHJvcHMub2F1dGhDb25maWc/LnVzZXJTY29wZXMpO1xuICB9XG5cbiAgcHVibGljIHJlbmRlcihjb25zdHJ1Y3Q6IElDb25zdHJ1Y3QpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNjaGVtYTogU2xhY2tBcHBNYW5pZmVzdFNjaGVtYSA9IHtcbiAgICAgIF9tZXRhZGF0YToge1xuICAgICAgICBtYWpvcl92ZXJzaW9uOiB0aGlzLnByb3BzLm1ham9yVmVyc2lvbixcbiAgICAgICAgbWlub3JfdmVyc2lvbjogdGhpcy5wcm9wcy5taW5vclZlcnNpb24sXG4gICAgICB9LFxuICAgICAgZGlzcGxheV9pbmZvcm1hdGlvbjoge1xuICAgICAgICBuYW1lOiB0aGlzLnByb3BzLm5hbWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnByb3BzLmRlc2NyaXB0aW9uLFxuICAgICAgICBsb25nX2Rlc2NyaXB0aW9uOiB0aGlzLnByb3BzLmxvbmdEZXNjcmlwdGlvbixcbiAgICAgICAgYmFja2dyb3VuZF9jb2xvcjogcHJlZml4V2l0aCgnIycsIHRoaXMucHJvcHMuYmFja2dyb3VuZENvbG9yKT8udG9Mb3dlckNhc2UoKSxcbiAgICAgIH0sXG4gICAgICBzZXR0aW5nczoge1xuICAgICAgICBhbGxvd2VkX2lwX2FkZHJlc3NfcmFuZ2VzOiB0aGlzLnByb3BzLmFsbG93ZWRJcEFkZHJlc3NSYW5nZXMsXG4gICAgICAgIGV2ZW50X3N1YnNjcmlwdGlvbnM6IHtcbiAgICAgICAgICByZXF1ZXN0X3VybDogdGhpcy5wcm9wcy5ldmVudFN1YnNjcmlwdGlvbnM/LnJlcXVlc3RVcmwsXG4gICAgICAgICAgYm90X2V2ZW50czogdGhpcy5wcm9wcy5ldmVudFN1YnNjcmlwdGlvbnM/LmJvdEV2ZW50cyxcbiAgICAgICAgICB1c2VyX2V2ZW50czogdGhpcy5wcm9wcy5ldmVudFN1YnNjcmlwdGlvbnM/LnVzZXJFdmVudHMsXG4gICAgICAgIH0sXG4gICAgICAgIGludGVyYWN0aXZpdHk6IHRoaXMucHJvcHMuaW50ZXJhY3Rpdml0eVxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgaXNfZW5hYmxlZDogdGhpcy5wcm9wcy5pbnRlcmFjdGl2aXR5Py5lbmFibGVkID8/IHRydWUsXG4gICAgICAgICAgICByZXF1ZXN0X3VybDogdGhpcy5wcm9wcy5pbnRlcmFjdGl2aXR5Py5yZXF1ZXN0VXJsLFxuICAgICAgICAgICAgbWVzc2FnZV9tZW51X29wdGlvbnNfdXJsOiB0aGlzLnByb3BzLmludGVyYWN0aXZpdHk/Lm1lc3NhZ2VNZW51T3B0aW9uc1VybCxcbiAgICAgICAgICB9XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIG9yZ19kZXBsb3lfZW5hYmxlZDogdGhpcy5wcm9wcy5vcmdEZXBsb3ksXG4gICAgICAgIHNvY2tldF9tb2RlX2VuYWJsZWQ6IHRoaXMucHJvcHMuc29ja2V0TW9kZSxcbiAgICAgIH0sXG4gICAgICBmZWF0dXJlczoge1xuICAgICAgICBhcHBfaG9tZToge1xuICAgICAgICAgIGhvbWVfdGFiX2VuYWJsZWQ6IHRoaXMucHJvcHMuYXBwSG9tZT8uaG9tZVRhYixcbiAgICAgICAgICBtZXNzYWdlc190YWJfZW5hYmxlZDogdGhpcy5wcm9wcy5hcHBIb21lPy5tZXNzYWdlc1RhYixcbiAgICAgICAgICBtZXNzYWdlc190YWJfcmVhZF9vbmx5X2VuYWJsZWQ6IHRoaXMucHJvcHMuYXBwSG9tZT8ubWVzc2FnZXNUYWJSZWFkT25seSxcbiAgICAgICAgfSxcbiAgICAgICAgYm90X3VzZXI6IHRoaXMucHJvcHMuYm90VXNlclxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgZGlzcGxheV9uYW1lOiB0aGlzLnByb3BzLmJvdFVzZXI/LmRpc3BsYXlOYW1lLFxuICAgICAgICAgICAgYWx3YXlzX29ubGluZTogdGhpcy5wcm9wcy5ib3RVc2VyPy5hbHdheXNPbmxpbmUsXG4gICAgICAgICAgfVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICBzaG9ydGN1dHM6IHRoaXMucHJvcHMuc2hvcnRjdXRzPy5tYXAoKHNob3J0Y3V0KSA9PiAoe1xuICAgICAgICAgIG5hbWU6IHNob3J0Y3V0Lm5hbWUsXG4gICAgICAgICAgdHlwZTogc2hvcnRjdXQudHlwZSxcbiAgICAgICAgICBjYWxsYmFja19pZDogc2hvcnRjdXQuY2FsbGJhY2tJZCxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogc2hvcnRjdXQuZGVzY3JpcHRpb24sXG4gICAgICAgIH0pKSxcbiAgICAgICAgc2xhc2hfY29tbWFuZHM6IHRoaXMucHJvcHMuc2xhc2hDb21tYW5kcz8ubWFwKChjb21tYW5kKSA9PiAoe1xuICAgICAgICAgIGNvbW1hbmQ6IHByZWZpeFdpdGgoJy8nLCBjb21tYW5kLmNvbW1hbmQpLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBjb21tYW5kLmRlc2NyaXB0aW9uLFxuICAgICAgICAgIHVybDogY29tbWFuZC51cmwsXG4gICAgICAgICAgdXNhZ2VfaGludDogY29tbWFuZC51c2FnZUhpbnQsXG4gICAgICAgICAgc2hvdWxkX2VzY2FwZTogY29tbWFuZC5zaG91bGRFc2NhcGUsXG4gICAgICAgIH0pKSxcbiAgICAgICAgd29ya2Zsb3dfc3RlcHM6IHRoaXMucHJvcHMud29ya2Zsb3dTdGVwcz8ubWFwKChzdGVwKSA9PiAoe1xuICAgICAgICAgIG5hbWU6IHN0ZXAubmFtZSxcbiAgICAgICAgICBjYWxsYmFja19pZDogc3RlcC5jYWxsYmFja0lkLFxuICAgICAgICB9KSksXG4gICAgICAgIHVuZnVybF9kb21haW5zOiB0aGlzLnByb3BzLnVuZnVybERvbWFpbnMsXG4gICAgICB9LFxuICAgICAgb2F1dGhfY29uZmlnOiB7XG4gICAgICAgIHJlZGlyZWN0X3VybHM6IHRoaXMucHJvcHMub2F1dGhDb25maWc/LnJlZGlyZWN0VXJscyxcbiAgICAgICAgc2NvcGVzOiB7XG4gICAgICAgICAgYm90OiB0aGlzLnByb3BzLm9hdXRoQ29uZmlnPy5ib3RTY29wZXMsXG4gICAgICAgICAgdXNlcnM6IHRoaXMucHJvcHMub2F1dGhDb25maWc/LnVzZXJTY29wZXMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG5cbiAgICByZXR1cm4gU3RhY2sub2YoY29uc3RydWN0KS50b0pzb25TdHJpbmcocmVtb3ZlVW5kZWZpbmVkKHNjaGVtYSkpO1xuICB9XG59XG5cbmludGVyZmFjZSBTbGFja0FwcE1hbmlmZXN0U2NoZW1hIHtcbiAgX21ldGFkYXRhPzoge1xuICAgIG1ham9yX3ZlcnNpb24/OiBudW1iZXI7XG4gICAgbWlub3JfdmVyc2lvbj86IG51bWJlcjtcbiAgfTtcbiAgZGlzcGxheV9pbmZvcm1hdGlvbjoge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBsb25nX2Rlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGJhY2tncm91bmRfY29sb3I/OiBzdHJpbmc7XG4gIH07XG4gIHNldHRpbmdzPzoge1xuICAgIGFsbG93ZWRfaXBfYWRkcmVzc19yYW5nZXM/OiBzdHJpbmdbXTtcbiAgICBldmVudF9zdWJzY3JpcHRpb25zPzoge1xuICAgICAgcmVxdWVzdF91cmw/OiBzdHJpbmc7XG4gICAgICBib3RfZXZlbnRzPzogc3RyaW5nW107XG4gICAgICB1c2VyX2V2ZW50cz86IHN0cmluZ1tdO1xuICAgIH07XG4gICAgaW50ZXJhY3Rpdml0eT86IHtcbiAgICAgIGlzX2VuYWJsZWQ6IGJvb2xlYW47XG4gICAgICByZXF1ZXN0X3VybD86IHN0cmluZztcbiAgICAgIG1lc3NhZ2VfbWVudV9vcHRpb25zX3VybD86IHN0cmluZztcbiAgICB9O1xuICAgIG9yZ19kZXBsb3lfZW5hYmxlZD86IGJvb2xlYW47XG4gICAgc29ja2V0X21vZGVfZW5hYmxlZD86IGJvb2xlYW47XG4gIH07XG4gIGZlYXR1cmVzPzoge1xuICAgIGFwcF9ob21lPzoge1xuICAgICAgaG9tZV90YWJfZW5hYmxlZD86IGJvb2xlYW47XG4gICAgICBtZXNzYWdlc190YWJfZW5hYmxlZD86IGJvb2xlYW47XG4gICAgICBtZXNzYWdlc190YWJfcmVhZF9vbmx5X2VuYWJsZWQ/OiBib29sZWFuO1xuICAgIH07XG4gICAgYm90X3VzZXI/OiB7XG4gICAgICBkaXNwbGF5X25hbWU6IHN0cmluZztcbiAgICAgIGFsd2F5c19vbmxpbmU/OiBib29sZWFuO1xuICAgIH07XG4gICAgc2hvcnRjdXRzPzoge1xuICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgdHlwZTogc3RyaW5nO1xuICAgICAgY2FsbGJhY2tfaWQ6IHN0cmluZztcbiAgICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgfVtdO1xuICAgIHNsYXNoX2NvbW1hbmRzPzoge1xuICAgICAgY29tbWFuZDogc3RyaW5nO1xuICAgICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICAgIHVybD86IHN0cmluZztcbiAgICAgIHVzYWdlX2hpbnQ/OiBzdHJpbmc7XG4gICAgICBzaG91bGRfZXNjYXBlPzogYm9vbGVhbjtcbiAgICB9W107XG4gICAgd29ya2Zsb3dfc3RlcHM/OiB7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICBjYWxsYmFja19pZDogc3RyaW5nO1xuICAgIH1bXTtcbiAgICB1bmZ1cmxfZG9tYWlucz86IHN0cmluZ1tdO1xuICB9O1xuICBvYXV0aF9jb25maWc/OiB7XG4gICAgcmVkaXJlY3RfdXJscz86IHN0cmluZ1tdO1xuICAgIHNjb3Blcz86IHtcbiAgICAgIGJvdD86IHN0cmluZ1tdO1xuICAgICAgdXNlcnM/OiBzdHJpbmdbXTtcbiAgICB9O1xuICB9O1xufVxuXG5mdW5jdGlvbiBwcmVmaXhXaXRoPFQgZXh0ZW5kcyBzdHJpbmcgfCB1bmRlZmluZWQ+KHByZWZpeDogc3RyaW5nLCBzdHJpbmc6IFQpOiBUIHtcbiAgaWYgKCFzdHJpbmcpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkIGFzIFQ7XG4gIH1cblxuICBpZiAoc3RyaW5nLnN0YXJ0c1dpdGgocHJlZml4KSkge1xuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICByZXR1cm4gYCR7cHJlZml4fSR7c3RyaW5nfWAgYXMgVDtcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVMZW5ndGgoZGVzY3JpcHRpb246IHN0cmluZywgbWF4OiBudW1iZXIsIHhzPzogc3RyaW5nKTogdm9pZCB7XG4gIGlmICh4cyAmJiAhVG9rZW4uaXNVbnJlc29sdmVkKHhzKSAmJiB4cy5sZW5ndGggPiBtYXgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYE1heGltdW0gbGVuZ3RoIGZvciAke2Rlc2NyaXB0aW9ufSBpcyAke21heH0sIGdvdCAke3hzLmxlbmd0aH06ICR7eHN9YCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVJdGVtczxUPihkZXNjcmlwdGlvbjogc3RyaW5nLCBtYXg6IG51bWJlciwgeHM/OiBUW10pOiB2b2lkIHtcbiAgaWYgKHhzICYmICFUb2tlbi5pc1VucmVzb2x2ZWQoeHMpICYmIHhzLmxlbmd0aCA+IG1heCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgZm9yICR7ZGVzY3JpcHRpb259IGlzICR7bWF4fSwgZ290ICR7eHMubGVuZ3RofWApO1xuICB9XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ29sb3IoY29sb3I/OiBzdHJpbmcpOiB2b2lkIHtcbiAgaWYgKGNvbG9yICYmICFUb2tlbi5pc1VucmVzb2x2ZWQoY29sb3IpICYmICEvXiM/KFswLTlhLWZBLUZdezN9fFswLTlhLWZBLUZdezZ9KSQvLnRlc3QoY29sb3IpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGhleCBjb2xvcjogJHtjb2xvcn1gKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVVybCh1cmw/OiBzdHJpbmcsIGh0dHBzID0gdHJ1ZSk6IHZvaWQge1xuICBpZiAodXJsICYmICFUb2tlbi5pc1VucmVzb2x2ZWQodXJsKSkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXJzZWQgPSBuZXcgbm9kZVVybC5VUkwodXJsKTtcbiAgICAgIGlmIChodHRwcyAmJiBwYXJzZWQucHJvdG9jb2wgIT09ICdodHRwczonKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBwcm90b2NvbCcpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3VybH0gaXMgbm90IGEgdmFsaWQke2h0dHBzID8gJyBIVFRQUycgOiAnJ30gdXJsYCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHJlbW92ZVVuZGVmaW5lZChvYmo6IGFueSk6IGFueSB7XG4gIGlmICh0eXBlb2Ygb2JqID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBvYmo7XG4gIH1cblxuICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XG4gICAgY29uc3QgcmV0ID0gb2JqXG4gICAgICAubWFwKHYgPT4gKHYgJiYgdHlwZW9mIHYgPT09ICdvYmplY3QnKSA/IHJlbW92ZVVuZGVmaW5lZCh2KSA6IHYpXG4gICAgICAuZmlsdGVyKHYgPT4gISh2ID09IG51bGwpKTtcbiAgICByZXR1cm4gcmV0Lmxlbmd0aCAhPT0gMCA/IHJldCA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0IHJldCA9IE9iamVjdC5lbnRyaWVzKG9iailcbiAgICAubWFwKChbaywgdl0pID0+IFtrLCB2ICYmIHR5cGVvZiB2ID09PSAnb2JqZWN0JyA/IHJlbW92ZVVuZGVmaW5lZCh2KSA6IHZdKVxuICAgIC5yZWR1Y2UoKGE6IGFueSwgW2ssIHZdKSA9PiAodiA9PSBudWxsID8gYSA6IChhW2tdPXYsIGEpKSwge30pO1xuICByZXR1cm4gT2JqZWN0LmtleXMocmV0KS5sZW5ndGggIT09IDAgPyByZXQgOiB1bmRlZmluZWQ7XG59XG4iXX0=
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuaWZlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2xhY2stYXBwL21hbmlmZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLDZDQUEyQztBQXNVM0M7Ozs7R0FJRztBQUNILElBQVksNEJBZVg7QUFmRCxXQUFZLDRCQUE0QjtJQUN0Qzs7OztPQUlHO0lBQ0gsbURBQW1CLENBQUE7SUFFbkI7Ozs7O09BS0c7SUFDSCxpREFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBZlcsNEJBQTRCLEdBQTVCLG9DQUE0QixLQUE1QixvQ0FBNEIsUUFldkM7QUErREEsQ0FBQztBQW1DRjs7OztHQUlHO0FBQ0gsTUFBYSxnQkFBZ0I7SUFDM0IsWUFBNkIsS0FBNEI7UUFBNUIsVUFBSyxHQUFMLEtBQUssQ0FBdUI7UUFDdkQsY0FBYyxDQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLGNBQWMsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFELGNBQWMsQ0FBQyxzQkFBc0IsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3BFLGFBQWEsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFckMsV0FBVyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNsRCxhQUFhLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDdEUsYUFBYSxDQUFDLGNBQWMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXpFLFdBQVcsQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzdDLFdBQVcsQ0FBQyxLQUFL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QUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDL0QsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzdCLE9BQU8sR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0tBQzNDO0lBRUQsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7U0FDNUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDekUsTUFBTSxDQUFDLENBQUMsQ0FBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakUsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ3pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBub2RlVXJsIGZyb20gJ3VybCc7XG5pbXBvcnQgeyBTdGFjaywgVG9rZW4gfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBJQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYSBTbGFjayBhcHAgbWFuaWZlc3RcbiAqXG4gKiBAc2VlIGh0dHBzOi8vYXBpLnNsYWNrLmNvbS9yZWZlcmVuY2UvbWFuaWZlc3RzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2xhY2tBcHBNYW5pZmVzdFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBhcHAuXG4gICAqXG4gICAqIE1heGltdW0gbGVuZ3RoIGlzIDM1IGNoYXJhY3RlcnMuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgc2hvcnQgZGVzY3JpcHRpb24gb2YgdGhlIGFwcCBmb3IgZGlzcGxheSB0byB1c2Vycy5cbiAgICpcbiAgICogTWF4aW11bSBsZW5ndGggaXMgMTQwIGNoYXJhY3RlcnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gc2hvcnQgZGVzY3JpcHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGxvbmdlciB2ZXJzaW9uIG9mIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgYXBwLlxuICAgKlxuICAgKiBNYXhpbXVtIGxlbmd0aCBpcyA0MDAwIGNoYXJhY3RlcnMuXG4gICAqL1xuICByZWFkb25seSBsb25nRGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgaGV4IGNvbG9yIHZhbHVlIHRoYXQgc3BlY2lmaWVzIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIHVzZWQgb24gaG92ZXJjYXJkc1xuICAgKiB0aGF0IGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgeW91ciBhcHAuXG4gICAqXG4gICAqIENhbiBiZSAzLWRpZ2l0ICgjMDAwKSBvciA2LWRpZ2l0ICgjMDAwMDAwKSBoZXggdmFsdWVzIHdpdGggb3Igd2l0aG91dCAjXG4gICAqL1xuICByZWFkb25seSBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBtYWpvciB2ZXJzaW9uIG9mIHRoZSBtYW5pZmVzdCBzY2hlbWEgdG8gdGFyZ2V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRvIG5vdCB0YXJnZXQgYSBzcGVjaWZpYyBtYWpvciB2ZXJzaW9uXG4gICAqL1xuICByZWFkb25seSBtYWpvclZlcnNpb24/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtaW5vciB2ZXJzaW9uIG9mIHRoZSBtYW5pZmVzdCBzY2hlbWEgdG8gdGFyZ2V0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZG8gbm90IHRhcmdldCBhIHNwZWNpZmljIG1pbm9yIHZlcnNpb25cbiAgICovXG4gIHJlYWRvbmx5IG1pbm9yVmVyc2lvbj86IG51bWJlcjtcblxuICAvKipcbiAgICogQW4gYXJyYXkgb2YgSVAgYWRkcmVzc2VzIHRoYXQgY29uZm9ybSB0byB0aGUgQWxsb3dlZCBJUCBSYW5nZXMgZmVhdHVyZVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vYXBpLnNsYWNrLmNvbS9hdXRoZW50aWNhdGlvbi9iZXN0LXByYWN0aWNlcyNpcF9hbGxvd2xpc3RpbmdcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93ZWRJcEFkZHJlc3NSYW5nZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogRXZlbnRzIEFQSSBjb25maWd1cmF0aW9uIGZvciB0aGUgYXBwXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL2V2ZW50cy1hcGlcbiAgICovXG4gIHJlYWRvbmx5IGV2ZW50U3Vic2NyaXB0aW9ucz86IFNsYWNrQXBwTWFuaWZlc3RFdmVudFN1YnNjcmlwdGlvbnM7XG5cbiAgLyoqXG4gICAqIEludGVyYWN0aXZpdHkgY29uZmlndXJhdGlvbiBmb3IgdGhlIGFwcFxuICAgKi9cbiAgcmVhZG9ubHkgaW50ZXJhY3Rpdml0eT86IFNsYWNrQXBwTWFuaWZlc3RJbnRlcmFjdGl2aXR5O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yZy13aWRlIGRlcGxveSBpcyBlbmFibGVkLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vYXBpLnNsYWNrLmNvbS9lbnRlcnByaXNlL2FwcHNcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IG9yZ0RlcGxveT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgU29ja2V0IE1vZGUgaXMgZW5hYmxlZFxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vYXBpLnNsYWNrLmNvbS9hcGlzL2Nvbm5lY3Rpb25zL3NvY2tldFxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc29ja2V0TW9kZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFwcCBIb21lIGNvbmZpZ3VyYXRpb25cbiAgICpcbiAgICogQHNlZSBodHRwczovL2FwaS5zbGFjay5jb20vc3VyZmFjZXMvdGFic1xuICAgKi9cbiAgcmVhZG9ubHkgYXBwSG9tZT86IFNsYWNrQXBwTWFuaWZlc3RBcHBIb21lO1xuXG4gIC8qKlxuICAgKiBCb3QgdXNlciBjb25maWd1cmF0aW9uXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL2JvdC11c2Vyc1xuICAgKi9cbiAgcmVhZG9ubHkgYm90VXNlcj86IFNsYWNra0FwcE1hbmlmZXN0Qm90VXNlcjtcblxuICAvKipcbiAgICogU2hvcnRjdXRzIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIEEgbWF4aW11bSBvZiA1IHNob3J0Y3V0cyBjYW4gYmUgaW5jbHVkZWQuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL2ludGVyYWN0aXZpdHkvc2hvcnRjdXRzXG4gICAqL1xuICByZWFkb25seSBzaG9ydGN1dHM/OiBTbGFja0FwcE1hbmlmZXN0U2hvcnRjdXRbXTtcblxuICAvKipcbiAgICogU2xhc2ggY29tbWFuZHMgY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICogQSBtYXhpbXVtIG9mIDUgc2xhc2ggY29tbWFuZHMgY2FuIGJlIGluY2x1ZGVkLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vYXBpLnNsYWNrLmNvbS9pbnRlcmFjdGl2aXR5L3NsYXNoLWNvbW1hbmRzXG4gICAqL1xuICByZWFkb25seSBzbGFzaENvbW1hbmRzPzogU2xhY2tBcHBNYW5pZmVzdFNsYXNoQ29tbWFuZFtdO1xuXG4gIC8qKlxuICAgKiBXb3JrZmxvdyBzdGVwcy5cbiAgICpcbiAgICogQSBtYXhpbXVtIG9mIDEwIHdvcmtmbG93IHN0ZXBzIGNhbiBiZSBpbmNsdWRlZC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2FwaS5zbGFjay5jb20vd29ya2Zsb3dzL3N0ZXBzXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd1N0ZXBzPzogU2xhY2tBcHBNYW5pZmVzdFdvcmtmbG93U3RlcFtdO1xuXG4gIC8qKlxuICAgKiBWYWxpZCB1bmZ1cmwgZG9tYWlucyB0byByZWdpc3Rlci5cbiAgICpcbiAgICogQSBtYXhpbXVtIG9mIDUgdW5mdXJsIGRvbWFpbnMgY2FuIGJlIGluY2x1ZGVkLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vYXBpLnNsYWNrLmNvbS9yZWZlcmVuY2UvbWVzc2FnaW5nL2xpbmstdW5mdXJsaW5nI2NvbmZpZ3VyaW5nX2RvbWFpbnNcbiAgICovXG4gIHJlYWRvbmx5IHVuZnVybERvbWFpbnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogT0F1dGggY29uZmlndXJhdGlvbiBmb3IgdGhlIGFwcFxuICAgKi9cbiAgcmVhZG9ubHkgb2F1dGhDb25maWc/OiBTbGFja0FwcE1hbmlmZXN0T2F1dGhDb25maWc7XG59XG5cbi8qKlxuICogU2V0dGluZ3Mgc2VjdGlvbiBvZiB0aGUgYXBwIGNvbmZpZyBwYWdlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFNsYWNrQXBwTWFuaWZlc3RTZXR0aW5ncyB7XG4gIC8qKlxuICAgKiBBbiBhcnJheSBvZiBJUCBhZGRyZXNzZXMgdGhhdCBjb25mb3JtIHRvIHRoZSBBbGxvd2VkIElQIFJhbmdlcyBmZWF0dXJlXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL2F1dGhlbnRpY2F0aW9uL2Jlc3QtcHJhY3RpY2VzI2lwX2FsbG93bGlzdGluZ1xuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dlZElwQWRkcmVzc1Jhbmdlcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBFdmVudHMgQVBJIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBhcHBcbiAgICpcbiAgICogQHNlZSBodHRwczovL2FwaS5zbGFjay5jb20vZXZlbnRzLWFwaVxuICAgKi9cbiAgcmVhZG9ubHkgZXZlbnRTdWJzY3JpcHRpb25zPzogU2xhY2tBcHBNYW5pZmVzdEV2ZW50U3Vic2NyaXB0aW9ucztcblxuICAvKipcbiAgICogSW50ZXJhY3Rpdml0eSBjb25maWd1cmF0aW9uIGZvciB0aGUgYXBwXG4gICAqL1xuICByZWFkb25seSBpbnRlcmFjdGl2aXR5PzogU2xhY2tBcHBNYW5pZmVzdEludGVyYWN0aXZpdHk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3JnLXdpZGUgZGVwbG95IGlzIGVuYWJsZWQuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL2VudGVycHJpc2UvYXBwc1xuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgb3JnRGVwbG95PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciBTb2NrZXQgTW9kZSBpcyBlbmFibGVkXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL2FwaXMvY29ubmVjdGlvbnMvc29ja2V0XG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzb2NrZXRNb2RlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBFdmVudHMgQVBJIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBhcHBcbiAqXG4gKiBAc2VlIGh0dHBzOi8vYXBpLnNsYWNrLmNvbS9ldmVudHMtYXBpXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2xhY2tBcHBNYW5pZmVzdEV2ZW50U3Vic2NyaXB0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgZnVsbCBodHRwcyBVUkwgdGhhdCBhY3RzIGFzIHRoZSBFdmVudHMgQVBJIHJlcXVlc3QgVVJMXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL2V2ZW50cy1hcGkjdGhlLWV2ZW50cy1hcGlfX3N1YnNjcmliaW5nLXRvLWV2ZW50LXR5cGVzX19ldmVudHMtYXBpLXJlcXVlc3QtdXJsc1xuICAgKi9cbiAgcmVhZG9ubHkgcmVxdWVzdFVybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFdmVudCB0eXBlcyB5b3Ugd2FudCB0aGUgYXBwIHRvIHN1YnNjcmliZSB0by5cbiAgICpcbiAgICogQSBtYXhpbXVtIG9mIDEwMCBldmVudCB0eXBlcyBjYW4gYmUgdXNlZFxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vYXBpLnNsYWNrLmNvbS9ldmVudHNcbiAgICovXG4gIHJlYWRvbmx5IGJvdEV2ZW50cz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBFdmVudCB0eXBlcyB5b3Ugd2FudCB0aGUgYXBwIHRvIHN1YnNjcmliZSB0byBvbiBiZWhhbGYgb2YgYXV0aG9yaXplZCB1c2Vycy5cbiAgICpcbiAgICogQSBtYXhpbXVtIG9mIDEwMCBldmVudCB0eXBlcyBjYW4gYmUgdXNlZC5cbiAgICovXG4gIHJlYWRvbmx5IHVzZXJFdmVudHM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBJbnRlcmFjdGl2aXR5IGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBhcHBcbiAqXG4gKiBAc2VlIGh0dHBzOi8vYXBpLnNsYWNrLmNvbS9pbnRlcmFjdGl2aXR5L2hhbmRsaW5nI3NldHVwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2xhY2tBcHBNYW5pZmVzdEludGVyYWN0aXZpdHkge1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgaW50ZXJhY3Rpdml0eSBmZWF0dXJlcyBhcmUgZW5hYmxlZFxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGZ1bGwgaHR0cHMgVVJMIHRoYXQgYWN0cyBhcyB0aGUgaW50ZXJhY3RpdmUgUmVxdWVzdCBVUkxcbiAgICovXG4gIHJlYWRvbmx5IHJlcXVlc3RVcmw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBmdWxsIGh0dHBzIFVSTCB0aGF0IGFjdHMgYXMgdGggaW50ZXJhY3RpdmUgT3B0aW9ucyBMb2FkIFVSTFxuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZU1lbnVPcHRpb25zVXJsPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFwcCBIb21lIGNvbmZpZ3VyYXRpb25cbiAqXG4gKiBAc2VlIGh0dHBzOi8vYXBpLnNsYWNrLmNvbS9zdXJmYWNlcy90YWJzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2xhY2tBcHBNYW5pZmVzdEFwcEhvbWUge1xuICAvKipcbiAgICogV2V0aGVyIHRoZSBIb21lIHRhYiBpcyBlbmFibGVkXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBob21lVGFiPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2V0aGVyIHRoZSBNZXNzYWdlcyBpcyBlbmFibGVkXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBtZXNzYWdlc1RhYj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHVzZXJzIGNhbiBzZW5kIG1lc3NhZ2VzIHRvIHlvdXIgYXBwIGluIHRoZVxuICAgKiBNZXNzYWdlcyB0YWIgb2YgeW91ciBBcHAgSG9tZVxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZXNUYWJSZWFkT25seT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQm90IHVzZXIgY29uZmlndXJhdGlvblxuICpcbiAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL2JvdC11c2Vyc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFNsYWNra0FwcE1hbmlmZXN0Qm90VXNlciB7XG4gIC8qKlxuICAgKiBUaGUgZGlzcGxheSBuYW1lIG9mIHRoZSBib3QgdXNlci5cbiAgICpcbiAgICogTWF4aW11bSBsZW5ndGggaXMgODAgY2hhcmFjdGVycy5cbiAgICovXG4gIHJlYWRvbmx5IGRpc3BsYXlOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGJvdCB1c2VyIHdpbGwgYWx3YXlzIGFwcGVhciB0byBiZSBvbmxpbmVcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGFsd2F5c09ubGluZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogU2hvcnRjdXQgY29uZmlndXJhdGlvblxuICpcbiAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL2ludGVyYWN0aXZpdHkvc2hvcnRjdXRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2xhY2tBcHBNYW5pZmVzdFNob3J0Y3V0IHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzaG9ydGN1dFxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBzaG9ydGN1dFxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vYXBpLnNsYWNrLmNvbS9pbnRlcmFjdGl2aXR5L3Nob3J0Y3V0c1xuICAgKi9cbiAgcmVhZG9ubHkgdHlwZTogU2xhY2tBcHBNYW5pZmVzdFNob3J0Y3V0VHlwZTtcblxuICAvKipcbiAgICogVGhlIGNhbGxiYWNrIElEIG9mIHRoZSBzaG9ydGN1dC5cbiAgICpcbiAgICogTWF4aW11bSBsZW5ndGggaXMgMjU1IGNoYXJhY3RlcnMuXG4gICAqL1xuICByZWFkb25seSBjYWxsYmFja0lkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgc2hvcnQgZGVzY3JpcHRpb24gb2YgdGhlIHNob3J0Y3V0XG4gICAqXG4gICAqIE1heGltdW0gbGVuZ3RoIGlzIDE1MCBjaGFyYWN0ZXJzXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFR5cGUgb2Ygc2hvcnRjdXRzXG4gKlxuICogQHNlZSBodHRwczovL2FwaS5zbGFjay5jb20vaW50ZXJhY3Rpdml0eS9zaG9ydGN1dHNcbiAqL1xuZXhwb3J0IGVudW0gU2xhY2tBcHBNYW5pZmVzdFNob3J0Y3V0VHlwZSB7XG4gIC8qKlxuICAgKiBNZXNzYWdlIHNob3J0Y3V0cyBhcmUgc2hvd24gdG8gdXNlcnMgaW4gdGhlIGNvbnRleHQgbWVudXMgb2YgbWVzc2FnZXMgd2l0aGluIFNsYWNrXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL2ludGVyYWN0aXZpdHkvc2hvcnRjdXRzL3VzaW5nI21lc3NhZ2Vfc2hvcnRjdXRzXG4gICAqL1xuICBNRVNTQUdFID0gJ21lc3NhZ2UnLFxuXG4gIC8qKlxuICAgKiBHbG9iYWwgc2hvcnRjdXRzIGFyZSBhdmFpbGFibGUgdG8gdXNlcnMgdmlhIHRoZSBzaG9ydGN1dHMgYnV0dG9uIGluIHRoZSBjb21wb3NlcixcbiAgICogYW5kIHdoZW4gdXNpbmcgc2VhcmNoIGluIFNsYWNrXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL2ludGVyYWN0aXZpdHkvc2hvcnRjdXRzL3VzaW5nI2dsb2JhbF9zaG9ydGN1dHNcbiAgICovXG4gIEdMT0JBTCA9ICdnbG9iYWwnLFxufVxuXG4vKipcbiAqIFNsYXNoIGNvbW1hbmQgY29uZmlndXJhdGlvblxuICpcbiAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL2ludGVyYWN0aXZpdHkvc2xhc2gtY29tbWFuZHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTbGFja0FwcE1hbmlmZXN0U2xhc2hDb21tYW5kIHtcbiAgLyoqXG4gICAqIFRoZSBhY3R1YWwgc2xhc2ggY29tbWFuZC5cbiAgICpcbiAgICogTWF4aW11bSBsZW5ndGggaXMgMzIgY2hhcmFjdGVyc1xuICAgKi9cbiAgcmVhZG9ubHkgY29tbWFuZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIHNsYXNoIGNvbW1hbmQuXG4gICAqXG4gICAqIE1heGltdW0gbGVuZ3RoIGlzIDIwMDAgY2hhcmFjdGVycy5cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBmdWxsIGh0dHBzIFVSTCB0aGF0IGFjdHMgYXMgdGhlIHNsYXNoIGNvbW1hbmQncyByZXF1ZXN0IFVSTFxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vYXBpLnNsYWNrLmNvbS9pbnRlcmFjdGl2aXR5L3NsYXNoLWNvbW1hbmRzI2NyZWF0aW5nX2NvbW1hbmRzXG4gICAqL1xuICByZWFkb25seSB1cmw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzaG9ydCB1c2FnZSBoaW50IGFib3V0IHRoZSBzbGFzaCBjb21tYW5kIGZvciB1c2Vycy5cbiAgICpcbiAgICogTWF4aW11bSBsZW5ndGggaXMgMTAwMCBjaGFyYWN0ZXJzLlxuICAgKi9cbiAgcmVhZG9ubHkgdXNhZ2VIaW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGNoYW5uZWxzLCB1c2VycywgYW5kIGxpbmtzIHR5cGVkIHdpdGggdGhlIHNsYXNoIGNvbW1hbmQgc2hvdWxkIGJlIGVzY2FwZWRcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZEVzY2FwZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogV29ya2Zsb3cgc3RlcFxuICpcbiAqIEBzZWUgaHR0cHM6Ly9hcGkuc2xhY2suY29tL3dvcmtmbG93cy9zdGVwc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFNsYWNrQXBwTWFuaWZlc3RXb3JrZmxvd1N0ZXAge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHdvcmtmbG93IHN0ZXAuXG4gICAqXG4gICAqIE1heGltdW0gbGVuZ3RoIG9mIDUwIGNoYXJhY3RlcnMuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjYWxsYmFjayBJRCBvZiB0aGUgd29ya2Zsb3cgc3RlcC5cbiAgICpcbiAgICogTWF4aW11bSBsZW5ndGggb2YgNTAgY2hhcmFjdGVycy5cbiAgICovXG4gIHJlYWRvbmx5IGNhbGxiYWNrSWQ6IHN0cmluZztcbn07XG5cbi8qKlxuICogT0F1dGggY29uZmlndXJhdGlvbiBmb3IgdGhlIGFwcFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNsYWNrQXBwTWFuaWZlc3RPYXV0aENvbmZpZyB7XG4gIC8qKlxuICAgKiBPQXV0aCByZWRpcmVjdCBVUkxzXG4gICAqXG4gICAqIEEgbWF4aW11bSBvZiAxMDAwIHJlZGlyZWN0IFVSTHMgY2FuIGJlIGluY2x1ZGVkLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vYXBpLnNsYWNrLmNvbS9hdXRoZW50aWNhdGlvbi9vYXV0aC12MiNyZWRpcmVjdF91cmxzXG4gICAqL1xuICByZWFkb25seSByZWRpcmVjdFVybHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQm90IHNjb3BlcyB0byByZXF1ZXN0IHVwb24gYXBwIGluc3RhbGxhdGlvbi5cbiAgICpcbiAgICogQSBtYXhpbXVtIG9mIDI1NSBzY29wZXMgY2FuIGJlIGluY2x1ZGVkLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vYXBpLnNsYWNrLmNvbS9zY29wZXNcbiAgICovXG4gIHJlYWRvbmx5IGJvdFNjb3Blcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBVc2VyIHNjb3BlcyB0byByZXF1ZXN0IHVwb24gYXBwIGluc3RhbGxhdGlvbi5cbiAgICpcbiAgICogQSBtYXhpbXVtIG9mIDI1NSBzY29wZXMgY2FuIGJlIGluY2x1ZGVkLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vYXBpLnNsYWNrLmNvbS9zY29wZXNcbiAgICovXG4gIHJlYWRvbmx5IHVzZXJTY29wZXM/OiBzdHJpbmdbXTtcbn1cblxuXG4vKipcbiAqIEEgU2xhY2sgYXBwIG1hbmlmZXN0XG4gKlxuICogQHNlZSBodHRwczovL2FwaS5zbGFjay5jb20vcmVmZXJlbmNlL21hbmlmZXN0c1xuICovXG5leHBvcnQgY2xhc3MgU2xhY2tBcHBNYW5pZmVzdCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IFNsYWNrQXBwTWFuaWZlc3RQcm9wcykge1xuICAgIHZhbGlkYXRlTGVuZ3RoKCdhcHAgbmFtZScsIDM1LCBwcm9wcy5uYW1lKTtcbiAgICB2YWxpZGF0ZUxlbmd0aCgnYXBwIGRlc2NyaXB0aW9uJywgMTQwLCBwcm9wcy5kZXNjcmlwdGlvbik7XG4gICAgdmFsaWRhdGVMZW5ndGgoJ2FwcCBsb25nIGRlc2NyaXB0aW9uJywgNDAwMCwgcHJvcHMubG9uZ0Rlc2NyaXB0aW9uKTtcbiAgICB2YWxpZGF0ZUNvbG9yKHByb3BzLmJhY2tncm91bmRDb2xvcik7XG5cbiAgICB2YWxpZGF0ZVVybChwcm9wcy5ldmVudFN1YnNjcmlwdGlvbnM/LnJlcXVlc3RVcmwpO1xuICAgIHZhbGlkYXRlSXRlbXMoJ2JvdCBldmVudHMnLCAxMDAsIHByb3BzLmV2ZW50U3Vic2NyaXB0aW9ucz8uYm90RXZlbnRzKTtcbiAgICB2YWxpZGF0ZUl0ZW1zKCd1c2VycyBldmVudHMnLCAxMDAsIHByb3BzLmV2ZW50U3Vic2NyaXB0aW9ucz8udXNlckV2ZW50cyk7XG5cbiAgICB2YWxpZGF0ZVVybChwcm9wcy5pbnRlcmFjdGl2aXR5Py5yZXF1ZXN0VXJsKTtcbiAgICB2YWxpZGF0ZVVybChwcm9wcy5pbnRlcmFjdGl2aXR5Py5tZXNzYWdlTWVudU9wdGlvbnNVcmwpO1xuICAgIHZhbGlkYXRlTGVuZ3RoKCdib3QgZGlzcGxheSBuYW1lJywgODAsIHByb3BzLmJvdFVzZXI/LmRpc3BsYXlOYW1lKTtcblxuICAgIHZhbGlkYXRlSXRlbXMoJ3Nob3J0Y3V0cycsIDUsIHByb3BzLnNob3J0Y3V0cyk7XG4gICAgcHJvcHMuc2hvcnRjdXRzPy5mb3JFYWNoKChzaG9ydGN1dCkgPT4ge1xuICAgICAgdmFsaWRhdGVMZW5ndGgoJ3Nob3J0Y3V0IGNhbGxiYWNrIElEJywgMjU1LCBzaG9ydGN1dC5jYWxsYmFja0lkKTtcbiAgICAgIHZhbGlkYXRlTGVuZ3RoKCdzaG9ydGN1dCBkZXNjcmlwdGlvbicsIDE1MCwgc2hvcnRjdXQuZGVzY3JpcHRpb24pO1xuICAgIH0pO1xuXG4gICAgdmFsaWRhdGVJdGVtcygnc2xhc2ggY29tbWFuZHMnLCA1LCBwcm9wcy5zbGFzaENvbW1hbmRzKTtcbiAgICBwcm9wcy5zbGFzaENvbW1hbmRzPy5mb3JFYWNoKChjb21tYW5kKSA9PiB7XG4gICAgICB2YWxpZGF0ZUxlbmd0aCgnc2xhc2ggY29tbWFuZCcsIDMyLCBjb21tYW5kLmNvbW1hbmQpO1xuICAgICAgdmFsaWRhdGVMZW5ndGgoJ3NsYXNoIGNvbW1hbmQgZGVzY3JpcHRpb24nLCAyMDAwLCBjb21tYW5kLmRlc2NyaXB0aW9uKSxcbiAgICAgIHZhbGlkYXRlVXJsKGNvbW1hbmQudXJsKTtcbiAgICAgIHZhbGlkYXRlTGVuZ3RoKCdzbGFzaCBjb21tYW5kIHVzZSBoaW50JywgMTAwMCwgY29tbWFuZC51c2FnZUhpbnQpO1xuICAgIH0pO1xuXG4gICAgdmFsaWRhdGVJdGVtcygnd29ya2Zsb3cgc3RlcHMnLCAxMCwgcHJvcHMud29ya2Zsb3dTdGVwcyk7XG4gICAgcHJvcHMud29ya2Zsb3dTdGVwcz8uZm9yRWFjaCgoc3RlcCkgPT4ge1xuICAgICAgdmFsaWRhdGVMZW5ndGgoJ3dvcmtmbG93IHN0ZXAgbmFtZScsIDUwLCBzdGVwLm5hbWUpO1xuICAgICAgdmFsaWRhdGVMZW5ndGgoJ3dvcmtmbG93IHN0ZXAgY2FsbGJhY2sgSUQnLCA1MCwgc3RlcC5jYWxsYmFja0lkKTtcbiAgICB9KTtcblxuICAgIHZhbGlkYXRlSXRlbXMoJ3VuZnVybHMgZG9tYWlucycsIDUsIHByb3BzLnVuZnVybERvbWFpbnMpO1xuXG4gICAgdmFsaWRhdGVJdGVtcygnT0F1dGggcmVkaXJlY3QgVVJMcycsIDEwMDAsIHByb3BzLm9hdXRoQ29uZmlnPy5yZWRpcmVjdFVybHMpO1xuICAgIHByb3BzLm9hdXRoQ29uZmlnPy5yZWRpcmVjdFVybHM/LmZvckVhY2goKHVybCkgPT4ge1xuICAgICAgdmFsaWRhdGVVcmwodXJsLCBmYWxzZSk7XG4gICAgfSk7XG4gICAgdmFsaWRhdGVJdGVtcygnYm90IHNjb3BlcycsIDI1NSwgcHJvcHMub2F1dGhDb25maWc/LmJvdFNjb3Blcyk7XG4gICAgdmFsaWRhdGVJdGVtcygndXNlciBzY29wZXMnLCAyNTUsIHByb3BzLm9hdXRoQ29uZmlnPy51c2VyU2NvcGVzKTtcbiAgfVxuXG4gIHB1YmxpYyByZW5kZXIoY29uc3RydWN0OiBJQ29uc3RydWN0KTogc3RyaW5nIHtcbiAgICBjb25zdCBzY2hlbWE6IFNsYWNrQXBwTWFuaWZlc3RTY2hlbWEgPSB7XG4gICAgICBfbWV0YWRhdGE6IHtcbiAgICAgICAgbWFqb3JfdmVyc2lvbjogdGhpcy5wcm9wcy5tYWpvclZlcnNpb24sXG4gICAgICAgIG1pbm9yX3ZlcnNpb246IHRoaXMucHJvcHMubWlub3JWZXJzaW9uLFxuICAgICAgfSxcbiAgICAgIGRpc3BsYXlfaW5mb3JtYXRpb246IHtcbiAgICAgICAgbmFtZTogdGhpcy5wcm9wcy5uYW1lLFxuICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5wcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgICAgbG9uZ19kZXNjcmlwdGlvbjogdGhpcy5wcm9wcy5sb25nRGVzY3JpcHRpb24sXG4gICAgICAgIGJhY2tncm91bmRfY29sb3I6IHByZWZpeFdpdGgoJyMnLCB0aGlzLnByb3BzLmJhY2tncm91bmRDb2xvcik/LnRvTG93ZXJDYXNlKCksXG4gICAgICB9LFxuICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgYWxsb3dlZF9pcF9hZGRyZXNzX3JhbmdlczogdGhpcy5wcm9wcy5hbGxvd2VkSXBBZGRyZXNzUmFuZ2VzLFxuICAgICAgICBldmVudF9zdWJzY3JpcHRpb25zOiB7XG4gICAgICAgICAgcmVxdWVzdF91cmw6IHRoaXMucHJvcHMuZXZlbnRTdWJzY3JpcHRpb25zPy5yZXF1ZXN0VXJsLFxuICAgICAgICAgIGJvdF9ldmVudHM6IHRoaXMucHJvcHMuZXZlbnRTdWJzY3JpcHRpb25zPy5ib3RFdmVudHMsXG4gICAgICAgICAgdXNlcl9ldmVudHM6IHRoaXMucHJvcHMuZXZlbnRTdWJzY3JpcHRpb25zPy51c2VyRXZlbnRzLFxuICAgICAgICB9LFxuICAgICAgICBpbnRlcmFjdGl2aXR5OiB0aGlzLnByb3BzLmludGVyYWN0aXZpdHlcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgIGlzX2VuYWJsZWQ6IHRoaXMucHJvcHMuaW50ZXJhY3Rpdml0eT8uZW5hYmxlZCA/PyB0cnVlLFxuICAgICAgICAgICAgcmVxdWVzdF91cmw6IHRoaXMucHJvcHMuaW50ZXJhY3Rpdml0eT8ucmVxdWVzdFVybCxcbiAgICAgICAgICAgIG1lc3NhZ2VfbWVudV9vcHRpb25zX3VybDogdGhpcy5wcm9wcy5pbnRlcmFjdGl2aXR5Py5tZXNzYWdlTWVudU9wdGlvbnNVcmwsXG4gICAgICAgICAgfVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICBvcmdfZGVwbG95X2VuYWJsZWQ6IHRoaXMucHJvcHMub3JnRGVwbG95LFxuICAgICAgICBzb2NrZXRfbW9kZV9lbmFibGVkOiB0aGlzLnByb3BzLnNvY2tldE1vZGUsXG4gICAgICB9LFxuICAgICAgZmVhdHVyZXM6IHtcbiAgICAgICAgYXBwX2hvbWU6IHtcbiAgICAgICAgICBob21lX3RhYl9lbmFibGVkOiB0aGlzLnByb3BzLmFwcEhvbWU/LmhvbWVUYWIsXG4gICAgICAgICAgbWVzc2FnZXNfdGFiX2VuYWJsZWQ6IHRoaXMucHJvcHMuYXBwSG9tZT8ubWVzc2FnZXNUYWIsXG4gICAgICAgICAgbWVzc2FnZXNfdGFiX3JlYWRfb25seV9lbmFibGVkOiB0aGlzLnByb3BzLmFwcEhvbWU/Lm1lc3NhZ2VzVGFiUmVhZE9ubHksXG4gICAgICAgIH0sXG4gICAgICAgIGJvdF91c2VyOiB0aGlzLnByb3BzLmJvdFVzZXJcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgIGRpc3BsYXlfbmFtZTogdGhpcy5wcm9wcy5ib3RVc2VyPy5kaXNwbGF5TmFtZSxcbiAgICAgICAgICAgIGFsd2F5c19vbmxpbmU6IHRoaXMucHJvcHMuYm90VXNlcj8uYWx3YXlzT25saW5lLFxuICAgICAgICAgIH1cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgc2hvcnRjdXRzOiB0aGlzLnByb3BzLnNob3J0Y3V0cz8ubWFwKChzaG9ydGN1dCkgPT4gKHtcbiAgICAgICAgICBuYW1lOiBzaG9ydGN1dC5uYW1lLFxuICAgICAgICAgIHR5cGU6IHNob3J0Y3V0LnR5cGUsXG4gICAgICAgICAgY2FsbGJhY2tfaWQ6IHNob3J0Y3V0LmNhbGxiYWNrSWQsXG4gICAgICAgICAgZGVzY3JpcHRpb246IHNob3J0Y3V0LmRlc2NyaXB0aW9uLFxuICAgICAgICB9KSksXG4gICAgICAgIHNsYXNoX2NvbW1hbmRzOiB0aGlzLnByb3BzLnNsYXNoQ29tbWFuZHM/Lm1hcCgoY29tbWFuZCkgPT4gKHtcbiAgICAgICAgICBjb21tYW5kOiBwcmVmaXhXaXRoKCcvJywgY29tbWFuZC5jb21tYW5kKSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogY29tbWFuZC5kZXNjcmlwdGlvbixcbiAgICAgICAgICB1cmw6IGNvbW1hbmQudXJsLFxuICAgICAgICAgIHVzYWdlX2hpbnQ6IGNvbW1hbmQudXNhZ2VIaW50LFxuICAgICAgICAgIHNob3VsZF9lc2NhcGU6IGNvbW1hbmQuc2hvdWxkRXNjYXBlLFxuICAgICAgICB9KSksXG4gICAgICAgIHdvcmtmbG93X3N0ZXBzOiB0aGlzLnByb3BzLndvcmtmbG93U3RlcHM/Lm1hcCgoc3RlcCkgPT4gKHtcbiAgICAgICAgICBuYW1lOiBzdGVwLm5hbWUsXG4gICAgICAgICAgY2FsbGJhY2tfaWQ6IHN0ZXAuY2FsbGJhY2tJZCxcbiAgICAgICAgfSkpLFxuICAgICAgICB1bmZ1cmxfZG9tYWluczogdGhpcy5wcm9wcy51bmZ1cmxEb21haW5zLFxuICAgICAgfSxcbiAgICAgIG9hdXRoX2NvbmZpZzoge1xuICAgICAgICByZWRpcmVjdF91cmxzOiB0aGlzLnByb3BzLm9hdXRoQ29uZmlnPy5yZWRpcmVjdFVybHMsXG4gICAgICAgIHNjb3Blczoge1xuICAgICAgICAgIGJvdDogdGhpcy5wcm9wcy5vYXV0aENvbmZpZz8uYm90U2NvcGVzLFxuICAgICAgICAgIHVzZXJzOiB0aGlzLnByb3BzLm9hdXRoQ29uZmlnPy51c2VyU2NvcGVzLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIFN0YWNrLm9mKGNvbnN0cnVjdCkudG9Kc29uU3RyaW5nKHJlbW92ZVVuZGVmaW5lZChzY2hlbWEpKTtcbiAgfVxufVxuXG5pbnRlcmZhY2UgU2xhY2tBcHBNYW5pZmVzdFNjaGVtYSB7XG4gIF9tZXRhZGF0YT86IHtcbiAgICBtYWpvcl92ZXJzaW9uPzogbnVtYmVyO1xuICAgIG1pbm9yX3ZlcnNpb24/OiBudW1iZXI7XG4gIH07XG4gIGRpc3BsYXlfaW5mb3JtYXRpb246IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgbG9uZ19kZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBiYWNrZ3JvdW5kX2NvbG9yPzogc3RyaW5nO1xuICB9O1xuICBzZXR0aW5ncz86IHtcbiAgICBhbGxvd2VkX2lwX2FkZHJlc3NfcmFuZ2VzPzogc3RyaW5nW107XG4gICAgZXZlbnRfc3Vic2NyaXB0aW9ucz86IHtcbiAgICAgIHJlcXVlc3RfdXJsPzogc3RyaW5nO1xuICAgICAgYm90X2V2ZW50cz86IHN0cmluZ1tdO1xuICAgICAgdXNlcl9ldmVudHM/OiBzdHJpbmdbXTtcbiAgICB9O1xuICAgIGludGVyYWN0aXZpdHk/OiB7XG4gICAgICBpc19lbmFibGVkOiBib29sZWFuO1xuICAgICAgcmVxdWVzdF91cmw/OiBzdHJpbmc7XG4gICAgICBtZXNzYWdlX21lbnVfb3B0aW9uc191cmw/OiBzdHJpbmc7XG4gICAgfTtcbiAgICBvcmdfZGVwbG95X2VuYWJsZWQ/OiBib29sZWFuO1xuICAgIHNvY2tldF9tb2RlX2VuYWJsZWQ/OiBib29sZWFuO1xuICB9O1xuICBmZWF0dXJlcz86IHtcbiAgICBhcHBfaG9tZT86IHtcbiAgICAgIGhvbWVfdGFiX2VuYWJsZWQ/OiBib29sZWFuO1xuICAgICAgbWVzc2FnZXNfdGFiX2VuYWJsZWQ/OiBib29sZWFuO1xuICAgICAgbWVzc2FnZXNfdGFiX3JlYWRfb25seV9lbmFibGVkPzogYm9vbGVhbjtcbiAgICB9O1xuICAgIGJvdF91c2VyPzoge1xuICAgICAgZGlzcGxheV9uYW1lOiBzdHJpbmc7XG4gICAgICBhbHdheXNfb25saW5lPzogYm9vbGVhbjtcbiAgICB9O1xuICAgIHNob3J0Y3V0cz86IHtcbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgIHR5cGU6IHN0cmluZztcbiAgICAgIGNhbGxiYWNrX2lkOiBzdHJpbmc7XG4gICAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIH1bXTtcbiAgICBzbGFzaF9jb21tYW5kcz86IHtcbiAgICAgIGNvbW1hbmQ6IHN0cmluZztcbiAgICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgICB1cmw/OiBzdHJpbmc7XG4gICAgICB1c2FnZV9oaW50Pzogc3RyaW5nO1xuICAgICAgc2hvdWxkX2VzY2FwZT86IGJvb2xlYW47XG4gICAgfVtdO1xuICAgIHdvcmtmbG93X3N0ZXBzPzoge1xuICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgY2FsbGJhY2tfaWQ6IHN0cmluZztcbiAgICB9W107XG4gICAgdW5mdXJsX2RvbWFpbnM/OiBzdHJpbmdbXTtcbiAgfTtcbiAgb2F1dGhfY29uZmlnPzoge1xuICAgIHJlZGlyZWN0X3VybHM/OiBzdHJpbmdbXTtcbiAgICBzY29wZXM/OiB7XG4gICAgICBib3Q/OiBzdHJpbmdbXTtcbiAgICAgIHVzZXJzPzogc3RyaW5nW107XG4gICAgfTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gcHJlZml4V2l0aDxUIGV4dGVuZHMgc3RyaW5nIHwgdW5kZWZpbmVkPihwcmVmaXg6IHN0cmluZywgc3RyaW5nOiBUKTogVCB7XG4gIGlmICghc3RyaW5nKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZCBhcyBUO1xuICB9XG5cbiAgaWYgKHN0cmluZy5zdGFydHNXaXRoKHByZWZpeCkpIHtcbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgcmV0dXJuIGAke3ByZWZpeH0ke3N0cmluZ31gIGFzIFQ7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlTGVuZ3RoKGRlc2NyaXB0aW9uOiBzdHJpbmcsIG1heDogbnVtYmVyLCB4cz86IHN0cmluZyk6IHZvaWQge1xuICBpZiAoeHMgJiYgIVRva2VuLmlzVW5yZXNvbHZlZCh4cykgJiYgeHMubGVuZ3RoID4gbWF4KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBNYXhpbXVtIGxlbmd0aCBmb3IgJHtkZXNjcmlwdGlvbn0gaXMgJHttYXh9LCBnb3QgJHt4cy5sZW5ndGh9OiAke3hzfWApO1xuICB9XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlSXRlbXM8VD4oZGVzY3JpcHRpb246IHN0cmluZywgbWF4OiBudW1iZXIsIHhzPzogVFtdKTogdm9pZCB7XG4gIGlmICh4cyAmJiAhVG9rZW4uaXNVbnJlc29sdmVkKHhzKSAmJiB4cy5sZW5ndGggPiBtYXgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIGZvciAke2Rlc2NyaXB0aW9ufSBpcyAke21heH0sIGdvdCAke3hzLmxlbmd0aH1gKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZUNvbG9yKGNvbG9yPzogc3RyaW5nKTogdm9pZCB7XG4gIGlmIChjb2xvciAmJiAhVG9rZW4uaXNVbnJlc29sdmVkKGNvbG9yKSAmJiAhL14jPyhbMC05YS1mQS1GXXszfXxbMC05YS1mQS1GXXs2fSkkLy50ZXN0KGNvbG9yKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBoZXggY29sb3I6ICR7Y29sb3J9YCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVVcmwodXJsPzogc3RyaW5nLCBodHRwcyA9IHRydWUpOiB2b2lkIHtcbiAgaWYgKHVybCAmJiAhVG9rZW4uaXNVbnJlc29sdmVkKHVybCkpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGFyc2VkID0gbmV3IG5vZGVVcmwuVVJMKHVybCk7XG4gICAgICBpZiAoaHR0cHMgJiYgcGFyc2VkLnByb3RvY29sICE9PSAnaHR0cHM6Jykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcHJvdG9jb2wnKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHt1cmx9IGlzIG5vdCBhIHZhbGlkJHtodHRwcyA/ICcgSFRUUFMnIDogJyd9IHVybGApO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiByZW1vdmVVbmRlZmluZWQob2JqOiBhbnkpOiBhbnkge1xuICBpZiAodHlwZW9mIG9iaiA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gb2JqO1xuICB9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkob2JqKSkge1xuICAgIGNvbnN0IHJldCA9IG9ialxuICAgICAgLm1hcCh2ID0+ICh2ICYmIHR5cGVvZiB2ID09PSAnb2JqZWN0JykgPyByZW1vdmVVbmRlZmluZWQodikgOiB2KVxuICAgICAgLmZpbHRlcih2ID0+ICEodiA9PSBudWxsKSk7XG4gICAgcmV0dXJuIHJldC5sZW5ndGggIT09IDAgPyByZXQgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCByZXQgPSBPYmplY3QuZW50cmllcyhvYmopXG4gICAgLm1hcCgoW2ssIHZdKSA9PiBbaywgdiAmJiB0eXBlb2YgdiA9PT0gJ29iamVjdCcgPyByZW1vdmVVbmRlZmluZWQodikgOiB2XSlcbiAgICAucmVkdWNlKChhOiBhbnksIFtrLCB2XSkgPT4gKHYgPT0gbnVsbCA/IGEgOiAoYVtrXT12LCBhKSksIHt9KTtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKHJldCkubGVuZ3RoICE9PSAwID8gcmV0IDogdW5kZWZpbmVkO1xufVxuIl19