cdk-common 2.0.7 → 2.0.8

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 (137) hide show
  1. package/.jsii +3 -3
  2. package/lib/main.js +1 -1
  3. package/node_modules/@aws-cdk/assert/package.json +9 -9
  4. package/node_modules/@aws-cdk/cfnspec/CHANGELOG.md +249 -0
  5. package/node_modules/@aws-cdk/cfnspec/build-tools/create-missing-libraries.js +2 -2
  6. package/node_modules/@aws-cdk/cfnspec/cfn.version +1 -1
  7. package/node_modules/@aws-cdk/cfnspec/coverage/block-navigation.js +8 -0
  8. package/node_modules/@aws-cdk/cfnspec/coverage/build-tools/index.html +8 -2
  9. package/node_modules/@aws-cdk/cfnspec/coverage/build-tools/massage-spec.ts.html +8 -2
  10. package/node_modules/@aws-cdk/cfnspec/coverage/build-tools/scrutiny.ts.html +8 -2
  11. package/node_modules/@aws-cdk/cfnspec/coverage/index.html +8 -2
  12. package/node_modules/@aws-cdk/cfnspec/coverage/junit.xml +7375 -6125
  13. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/block-navigation.js +8 -0
  14. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/build-tools/index.html +8 -2
  15. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/build-tools/massage-spec.ts.html +8 -2
  16. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/build-tools/scrutiny.ts.html +8 -2
  17. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/index.html +8 -2
  18. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/canned-metrics/canned-metrics-schema.ts.html +8 -2
  19. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/canned-metrics/index.html +8 -2
  20. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/canned-metrics.ts.html +30 -24
  21. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/index.html +8 -2
  22. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/index.ts.html +25 -19
  23. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/augmentation.ts.html +8 -2
  24. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/base-types.ts.html +10 -4
  25. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/index.html +8 -2
  26. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/index.ts.html +8 -2
  27. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/property.ts.html +20 -14
  28. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/resource-type.ts.html +10 -4
  29. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/specification.ts.html +9 -3
  30. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/sorter.js +26 -0
  31. package/node_modules/@aws-cdk/cfnspec/coverage/lcov.info +121 -121
  32. package/node_modules/@aws-cdk/cfnspec/coverage/lib/canned-metrics/canned-metrics-schema.ts.html +8 -2
  33. package/node_modules/@aws-cdk/cfnspec/coverage/lib/canned-metrics/index.html +8 -2
  34. package/node_modules/@aws-cdk/cfnspec/coverage/lib/canned-metrics.ts.html +30 -24
  35. package/node_modules/@aws-cdk/cfnspec/coverage/lib/index.html +8 -2
  36. package/node_modules/@aws-cdk/cfnspec/coverage/lib/index.ts.html +25 -19
  37. package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/augmentation.ts.html +8 -2
  38. package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/base-types.ts.html +10 -4
  39. package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/index.html +8 -2
  40. package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/index.ts.html +8 -2
  41. package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/property.ts.html +20 -14
  42. package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/resource-type.ts.html +10 -4
  43. package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/specification.ts.html +9 -3
  44. package/node_modules/@aws-cdk/cfnspec/coverage/sorter.js +26 -0
  45. package/node_modules/@aws-cdk/cfnspec/package.json +4 -4
  46. package/node_modules/@aws-cdk/cfnspec/spec/specification.json +4474 -46
  47. package/node_modules/@aws-cdk/cfnspec/tsconfig.tsbuildinfo +35 -33
  48. package/node_modules/@aws-cdk/cloudformation-diff/package.json +8 -8
  49. package/node_modules/@types/concat-stream/node_modules/@types/node/README.md +1 -1
  50. package/node_modules/@types/concat-stream/node_modules/@types/node/assert.d.ts +1 -1
  51. package/node_modules/@types/concat-stream/node_modules/@types/node/async_hooks.d.ts +7 -3
  52. package/node_modules/@types/concat-stream/node_modules/@types/node/buffer.d.ts +9 -9
  53. package/node_modules/@types/concat-stream/node_modules/@types/node/child_process.d.ts +1 -1
  54. package/node_modules/@types/concat-stream/node_modules/@types/node/cluster.d.ts +1 -1
  55. package/node_modules/@types/concat-stream/node_modules/@types/node/console.d.ts +1 -1
  56. package/node_modules/@types/concat-stream/node_modules/@types/node/crypto.d.ts +2 -2
  57. package/node_modules/@types/concat-stream/node_modules/@types/node/dgram.d.ts +2 -2
  58. package/node_modules/@types/concat-stream/node_modules/@types/node/diagnostics_channel.d.ts +1 -1
  59. package/node_modules/@types/concat-stream/node_modules/@types/node/dns/promises.d.ts +12 -10
  60. package/node_modules/@types/concat-stream/node_modules/@types/node/dns.d.ts +17 -12
  61. package/node_modules/@types/concat-stream/node_modules/@types/node/domain.d.ts +1 -1
  62. package/node_modules/@types/concat-stream/node_modules/@types/node/events.d.ts +2 -2
  63. package/node_modules/@types/concat-stream/node_modules/@types/node/fs/promises.d.ts +1 -1
  64. package/node_modules/@types/concat-stream/node_modules/@types/node/fs.d.ts +62 -11
  65. package/node_modules/@types/concat-stream/node_modules/@types/node/http.d.ts +20 -3
  66. package/node_modules/@types/concat-stream/node_modules/@types/node/http2.d.ts +2 -2
  67. package/node_modules/@types/concat-stream/node_modules/@types/node/https.d.ts +1 -1
  68. package/node_modules/@types/concat-stream/node_modules/@types/node/index.d.ts +1 -1
  69. package/node_modules/@types/concat-stream/node_modules/@types/node/inspector.d.ts +4 -5
  70. package/node_modules/@types/concat-stream/node_modules/@types/node/net.d.ts +11 -11
  71. package/node_modules/@types/concat-stream/node_modules/@types/node/os.d.ts +1 -1
  72. package/node_modules/@types/concat-stream/node_modules/@types/node/package.json +2 -2
  73. package/node_modules/@types/concat-stream/node_modules/@types/node/path.d.ts +1 -1
  74. package/node_modules/@types/concat-stream/node_modules/@types/node/perf_hooks.d.ts +4 -4
  75. package/node_modules/@types/concat-stream/node_modules/@types/node/punycode.d.ts +1 -1
  76. package/node_modules/@types/concat-stream/node_modules/@types/node/querystring.d.ts +1 -1
  77. package/node_modules/@types/concat-stream/node_modules/@types/node/readline.d.ts +121 -14
  78. package/node_modules/@types/concat-stream/node_modules/@types/node/repl.d.ts +1 -1
  79. package/node_modules/@types/concat-stream/node_modules/@types/node/stream/web.d.ts +3 -65
  80. package/node_modules/@types/concat-stream/node_modules/@types/node/stream.d.ts +2 -2
  81. package/node_modules/@types/concat-stream/node_modules/@types/node/string_decoder.d.ts +1 -1
  82. package/node_modules/@types/concat-stream/node_modules/@types/node/timers.d.ts +1 -1
  83. package/node_modules/@types/concat-stream/node_modules/@types/node/tls.d.ts +1 -1
  84. package/node_modules/@types/concat-stream/node_modules/@types/node/trace_events.d.ts +1 -1
  85. package/node_modules/@types/concat-stream/node_modules/@types/node/tty.d.ts +1 -1
  86. package/node_modules/@types/concat-stream/node_modules/@types/node/url.d.ts +58 -18
  87. package/node_modules/@types/concat-stream/node_modules/@types/node/util.d.ts +3 -3
  88. package/node_modules/@types/concat-stream/node_modules/@types/node/v8.d.ts +3 -3
  89. package/node_modules/@types/concat-stream/node_modules/@types/node/vm.d.ts +1 -1
  90. package/node_modules/@types/concat-stream/node_modules/@types/node/wasi.d.ts +1 -1
  91. package/node_modules/@types/concat-stream/node_modules/@types/node/worker_threads.d.ts +4 -4
  92. package/node_modules/@types/concat-stream/node_modules/@types/node/zlib.d.ts +1 -1
  93. package/node_modules/@types/form-data/node_modules/@types/node/README.md +1 -1
  94. package/node_modules/@types/form-data/node_modules/@types/node/assert.d.ts +1 -1
  95. package/node_modules/@types/form-data/node_modules/@types/node/async_hooks.d.ts +7 -3
  96. package/node_modules/@types/form-data/node_modules/@types/node/buffer.d.ts +9 -9
  97. package/node_modules/@types/form-data/node_modules/@types/node/child_process.d.ts +1 -1
  98. package/node_modules/@types/form-data/node_modules/@types/node/cluster.d.ts +1 -1
  99. package/node_modules/@types/form-data/node_modules/@types/node/console.d.ts +1 -1
  100. package/node_modules/@types/form-data/node_modules/@types/node/crypto.d.ts +2 -2
  101. package/node_modules/@types/form-data/node_modules/@types/node/dgram.d.ts +2 -2
  102. package/node_modules/@types/form-data/node_modules/@types/node/diagnostics_channel.d.ts +1 -1
  103. package/node_modules/@types/form-data/node_modules/@types/node/dns/promises.d.ts +12 -10
  104. package/node_modules/@types/form-data/node_modules/@types/node/dns.d.ts +17 -12
  105. package/node_modules/@types/form-data/node_modules/@types/node/domain.d.ts +1 -1
  106. package/node_modules/@types/form-data/node_modules/@types/node/events.d.ts +2 -2
  107. package/node_modules/@types/form-data/node_modules/@types/node/fs/promises.d.ts +1 -1
  108. package/node_modules/@types/form-data/node_modules/@types/node/fs.d.ts +62 -11
  109. package/node_modules/@types/form-data/node_modules/@types/node/http.d.ts +20 -3
  110. package/node_modules/@types/form-data/node_modules/@types/node/http2.d.ts +2 -2
  111. package/node_modules/@types/form-data/node_modules/@types/node/https.d.ts +1 -1
  112. package/node_modules/@types/form-data/node_modules/@types/node/index.d.ts +1 -1
  113. package/node_modules/@types/form-data/node_modules/@types/node/inspector.d.ts +4 -5
  114. package/node_modules/@types/form-data/node_modules/@types/node/net.d.ts +11 -11
  115. package/node_modules/@types/form-data/node_modules/@types/node/os.d.ts +1 -1
  116. package/node_modules/@types/form-data/node_modules/@types/node/package.json +2 -2
  117. package/node_modules/@types/form-data/node_modules/@types/node/path.d.ts +1 -1
  118. package/node_modules/@types/form-data/node_modules/@types/node/perf_hooks.d.ts +4 -4
  119. package/node_modules/@types/form-data/node_modules/@types/node/punycode.d.ts +1 -1
  120. package/node_modules/@types/form-data/node_modules/@types/node/querystring.d.ts +1 -1
  121. package/node_modules/@types/form-data/node_modules/@types/node/readline.d.ts +121 -14
  122. package/node_modules/@types/form-data/node_modules/@types/node/repl.d.ts +1 -1
  123. package/node_modules/@types/form-data/node_modules/@types/node/stream/web.d.ts +3 -65
  124. package/node_modules/@types/form-data/node_modules/@types/node/stream.d.ts +2 -2
  125. package/node_modules/@types/form-data/node_modules/@types/node/string_decoder.d.ts +1 -1
  126. package/node_modules/@types/form-data/node_modules/@types/node/timers.d.ts +1 -1
  127. package/node_modules/@types/form-data/node_modules/@types/node/tls.d.ts +1 -1
  128. package/node_modules/@types/form-data/node_modules/@types/node/trace_events.d.ts +1 -1
  129. package/node_modules/@types/form-data/node_modules/@types/node/tty.d.ts +1 -1
  130. package/node_modules/@types/form-data/node_modules/@types/node/url.d.ts +58 -18
  131. package/node_modules/@types/form-data/node_modules/@types/node/util.d.ts +3 -3
  132. package/node_modules/@types/form-data/node_modules/@types/node/v8.d.ts +3 -3
  133. package/node_modules/@types/form-data/node_modules/@types/node/vm.d.ts +1 -1
  134. package/node_modules/@types/form-data/node_modules/@types/node/wasi.d.ts +1 -1
  135. package/node_modules/@types/form-data/node_modules/@types/node/worker_threads.d.ts +4 -4
  136. package/node_modules/@types/form-data/node_modules/@types/node/zlib.d.ts +1 -1
  137. package/package.json +3 -3
package/.jsii CHANGED
@@ -7,7 +7,7 @@
7
7
  ]
8
8
  },
9
9
  "bundled": {
10
- "@aws-cdk/assert": "^2.1.0",
10
+ "@aws-cdk/assert": "^2.2.0",
11
11
  "case": "^1.6.3",
12
12
  "sync-request": "^6.1.0"
13
13
  },
@@ -8414,6 +8414,6 @@
8414
8414
  "symbolId": "src/main:LambdaArmFunctionProps"
8415
8415
  }
8416
8416
  },
8417
- "version": "2.0.7",
8418
- "fingerprint": "GqVZ6xe9UPW7CJzUC/iFKOdo26Q6jSbpts3n4pzb9Iw="
8417
+ "version": "2.0.8",
8418
+ "fingerprint": "zA2rhjyPsPiVhZQUQCG5i87vkURQRWpa20CUjGIKIhI="
8419
8419
  }
package/lib/main.js CHANGED
@@ -47,5 +47,5 @@ class LambdaArmFunction extends constructs_1.Construct {
47
47
  }
48
48
  exports.LambdaArmFunction = LambdaArmFunction;
49
49
  _a = JSII_RTTI_SYMBOL_1;
50
- LambdaArmFunction[_a] = { fqn: "cdk-common.LambdaArmFunction", version: "2.0.7" };
50
+ LambdaArmFunction[_a] = { fqn: "cdk-common.LambdaArmFunction", version: "2.0.8" };
51
51
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQW1DO0FBQ25DLGlEQUFpRDtBQUNqRCwyQ0FBdUM7Ozs7QUFLdkMsTUFBYSxpQkFBa0IsU0FBUSxzQkFBUzs7OztJQUU5QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTRCO1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQ2hELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1NBQzFFO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQ3ZELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1NBQzFFO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFO1lBQ3RELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1NBQ3hFO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFO1lBQ3RELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1NBQ3hFO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFO1lBQzNELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1NBQzNFO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO1lBQ25ELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1NBQ3JFO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFO1lBQzNELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1NBQzdFO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3BELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1NBQ3RFO2FBQU07WUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixLQUFLLENBQUMsT0FBTyx1R0FBdUcsQ0FBQyxDQUFDO1NBQzFKO1FBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM1SCxDQUFDOztBQTFCSCw4Q0EyQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5leHBvcnQgaW50ZXJmYWNlIExhbWJkYUFybUZ1bmN0aW9uUHJvcHMgZXh0ZW5kcyBsYW1iZGEuRnVuY3Rpb25Qcm9wcyB7XG5cbn1cblxuZXhwb3J0IGNsYXNzIExhbWJkYUFybUZ1bmN0aW9uIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uOiBsYW1iZGEuRnVuY3Rpb247XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOkxhbWJkYUFybUZ1bmN0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgaWYgKHByb3BzLnJ1bnRpbWUgPT09IGxhbWJkYS5SdW50aW1lLk5PREVKU18xMl9YKSB7XG4gICAgICBjZGsuQW5ub3RhdGlvbnMub2YodGhpcykuYWRkV2FybmluZygnWW91IGFyZSB1c2luZyBOb2RlLmpzIDEyLnggYXQgQVJNJyk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5ydW50aW1lID09PSBsYW1iZGEuUnVudGltZS5OT0RFSlNfMTRfWCkge1xuICAgICAgY2RrLkFubm90YXRpb25zLm9mKHRoaXMpLmFkZFdhcm5pbmcoJ1lvdSBhcmUgdXNpbmcgTm9kZS5qcyAxNC54IGF0IEFSTScpO1xuICAgIH0gZWxzZSBpZiAocHJvcHMucnVudGltZSA9PT0gbGFtYmRhLlJ1bnRpbWUuUFlUSE9OXzNfOCkge1xuICAgICAgY2RrLkFubm90YXRpb25zLm9mKHRoaXMpLmFkZFdhcm5pbmcoJ1lvdSBhcmUgdXNpbmcgUHl0aG9uIDMuOCBhdCBBUk0nKTtcbiAgICB9IGVsc2UgaWYgKHByb3BzLnJ1bnRpbWUgPT09IGxhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzkpIHtcbiAgICAgIGNkay5Bbm5vdGF0aW9ucy5vZih0aGlzKS5hZGRXYXJuaW5nKCdZb3UgYXJlIHVzaW5nIFB5dGhvbiAzLjkgYXQgQVJNJyk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5ydW50aW1lID09PSBsYW1iZGEuUnVudGltZS5KQVZBXzhfQ09SUkVUVE8pIHtcbiAgICAgIGNkay5Bbm5vdGF0aW9ucy5vZih0aGlzKS5hZGRXYXJuaW5nKCdZb3UgYXJlIHVzaW5nIEphdmEgOCBvbiBhbDIgYXQgQVJNJyk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5ydW50aW1lID09PSBsYW1iZGEuUnVudGltZS5KQVZBXzExKSB7XG4gICAgICBjZGsuQW5ub3RhdGlvbnMub2YodGhpcykuYWRkV2FybmluZygnWW91IGFyZSB1c2luZyBKYXZhIDExIGF0IEFSTScpO1xuICAgIH0gZWxzZSBpZiAocHJvcHMucnVudGltZSA9PT0gbGFtYmRhLlJ1bnRpbWUuRE9UTkVUX0NPUkVfM18xKSB7XG4gICAgICBjZGsuQW5ub3RhdGlvbnMub2YodGhpcykuYWRkV2FybmluZygnWW91IGFyZSB1c2luZyBET1RORVQgQ09SRSAzLjEgYXQgQVJNJyk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5ydW50aW1lID09PSBsYW1iZGEuUnVudGltZS5SVUJZXzJfNykge1xuICAgICAgY2RrLkFubm90YXRpb25zLm9mKHRoaXMpLmFkZFdhcm5pbmcoJ1lvdSBhcmUgdXNpbmcgUlVCWSAyLjcgYXQgQVJNJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBSdW50aW1lICR7cHJvcHMucnVudGltZX0gYXQgQVJNLCBTZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvZm91bmRhdGlvbi1hcmNoLmh0bWw/aWNtcGlkPWRvY3NfbGFtYmRhX3Jzc2ApO1xuICAgIH1cblxuICAgIHRoaXMubGFtYmRhRnVuY3Rpb24gPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHRoaXMsICdMYW1iZGFGdW5jdGlvbicsIHsgYXJjaGl0ZWN0dXJlOiBsYW1iZGEuQXJjaGl0ZWN0dXJlLkFSTV82NCwgLi4ucHJvcHMgfSk7XG4gIH1cbn0iXX0=
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-cdk/assert",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "description": "An assertion library for use with CDK Apps",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -34,21 +34,21 @@
34
34
  },
35
35
  "license": "Apache-2.0",
36
36
  "devDependencies": {
37
- "@aws-cdk/assert-internal": "2.1.0",
38
- "@aws-cdk/cdk-build-tools": "2.1.0",
39
- "@aws-cdk/pkglint": "2.1.0",
37
+ "@aws-cdk/assert-internal": "2.2.0",
38
+ "@aws-cdk/cdk-build-tools": "2.2.0",
39
+ "@aws-cdk/pkglint": "2.2.0",
40
40
  "@types/jest": "^27.0.3",
41
- "aws-cdk-lib": "2.1.0",
42
- "aws-cdk-migration": "2.1.0",
41
+ "aws-cdk-lib": "2.2.0",
42
+ "aws-cdk-migration": "2.2.0",
43
43
  "constructs": "^10.0.0",
44
44
  "jest": "^27.3.1",
45
- "ts-jest": "^27.0.7"
45
+ "ts-jest": "^27.1.1"
46
46
  },
47
47
  "dependencies": {
48
- "@aws-cdk/cloudformation-diff": "2.1.0"
48
+ "@aws-cdk/cloudformation-diff": "2.2.0"
49
49
  },
50
50
  "peerDependencies": {
51
- "aws-cdk-lib": "^2.1.0",
51
+ "aws-cdk-lib": "^2.2.0",
52
52
  "constructs": "^10.0.0",
53
53
  "jest": ">=26.6.3"
54
54
  },
@@ -1,3 +1,252 @@
1
+ # CloudFormation Resource Specification v51.0.0
2
+
3
+ ## New Resource Types
4
+
5
+ * AWS::AppSync::DomainName
6
+ * AWS::AppSync::DomainNameApiAssociation
7
+ * AWS::Lex::Bot
8
+ * AWS::Lex::BotAlias
9
+ * AWS::Lex::BotVersion
10
+ * AWS::Lex::ResourcePolicy
11
+
12
+ ## Attribute Changes
13
+
14
+ * AWS::ApiGateway::Deployment DeploymentId (__added__)
15
+ * AWS::EC2::VPCEndpoint Id (__deleted__)
16
+ * AWS::EC2::VPCEndpoint DnsEntries.DuplicatesAllowed (__deleted__)
17
+ * AWS::EC2::VPCEndpoint NetworkInterfaceIds.DuplicatesAllowed (__deleted__)
18
+ * AWS::IoTAnalytics::Pipeline Id (__added__)
19
+
20
+ ## Property Changes
21
+
22
+ * AWS::EC2::VPCEndpointService PayerResponsibility (__added__)
23
+ * AWS::Evidently::Project DataDelivery.PrimitiveType (__deleted__)
24
+ * AWS::IoTAnalytics::Pipeline PipelineActivities.DuplicatesAllowed (__added__)
25
+ * AWS::IoTAnalytics::Pipeline Tags.DuplicatesAllowed (__added__)
26
+ * AWS::Kinesis::Stream StreamModeDetails (__added__)
27
+ * AWS::Kinesis::Stream ShardCount.Required (__changed__)
28
+ * Old: true
29
+ * New: false
30
+ * AWS::WAFv2::WebACL CaptchaConfig (__added__)
31
+
32
+ ## Property Type Changes
33
+
34
+ * AWS::Kinesis::Stream.StreamModeDetails (__added__)
35
+ * AWS::WAFv2::RuleGroup.CaptchaConfig (__added__)
36
+ * AWS::WAFv2::RuleGroup.ImmunityTimeProperty (__added__)
37
+ * AWS::WAFv2::RuleGroup.RegexMatchStatement (__added__)
38
+ * AWS::WAFv2::WebACL.CaptchaAction (__added__)
39
+ * AWS::WAFv2::WebACL.CaptchaConfig (__added__)
40
+ * AWS::WAFv2::WebACL.ImmunityTimeProperty (__added__)
41
+ * AWS::WAFv2::WebACL.RegexMatchStatement (__added__)
42
+ * AWS::ApiGateway::Deployment.CanarySetting StageVariableOverrides.DuplicatesAllowed (__deleted__)
43
+ * AWS::ApiGateway::Deployment.DeploymentCanarySettings StageVariableOverrides.DuplicatesAllowed (__deleted__)
44
+ * AWS::ApiGateway::Deployment.MethodSetting CacheDataEncrypted.Documentation (__changed__)
45
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-cachedataencrypted
46
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-cachedataencrypted
47
+ * AWS::ApiGateway::Deployment.MethodSetting CacheTtlInSeconds.Documentation (__changed__)
48
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-cachettlinseconds
49
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-cachettlinseconds
50
+ * AWS::ApiGateway::Deployment.MethodSetting CachingEnabled.Documentation (__changed__)
51
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-cachingenabled
52
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-cachingenabled
53
+ * AWS::ApiGateway::Deployment.MethodSetting DataTraceEnabled.Documentation (__changed__)
54
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-datatraceenabled
55
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-datatraceenabled
56
+ * AWS::ApiGateway::Deployment.MethodSetting HttpMethod.Documentation (__changed__)
57
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-httpmethod
58
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-httpmethod
59
+ * AWS::ApiGateway::Deployment.MethodSetting LoggingLevel.Documentation (__changed__)
60
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-logginglevel
61
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-logginglevel
62
+ * AWS::ApiGateway::Deployment.MethodSetting MetricsEnabled.Documentation (__changed__)
63
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-metricsenabled
64
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-metricsenabled
65
+ * AWS::ApiGateway::Deployment.MethodSetting ResourcePath.Documentation (__changed__)
66
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-resourcepath
67
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-resourcepath
68
+ * AWS::ApiGateway::Deployment.MethodSetting ThrottlingBurstLimit.Documentation (__changed__)
69
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-throttlingburstlimit
70
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-throttlingburstlimit
71
+ * AWS::ApiGateway::Deployment.MethodSetting ThrottlingRateLimit.Documentation (__changed__)
72
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-throttlingratelimit
73
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-throttlingratelimit
74
+ * AWS::ApiGateway::Deployment.StageDescription Tags.Documentation (__changed__)
75
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-tags
76
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-tags
77
+ * AWS::ApiGateway::Deployment.StageDescription Variables.DuplicatesAllowed (__deleted__)
78
+ * AWS::Evidently::Project.DataDeliveryObject S3.PrimitiveType (__deleted__)
79
+ * AWS::IoTAnalytics::Pipeline.RemoveAttributes Attributes.DuplicatesAllowed (__added__)
80
+ * AWS::IoTAnalytics::Pipeline.SelectAttributes Attributes.DuplicatesAllowed (__added__)
81
+ * AWS::WAFv2::RuleGroup.Rule CaptchaConfig (__added__)
82
+ * AWS::WAFv2::RuleGroup.RuleAction Captcha (__added__)
83
+ * AWS::WAFv2::RuleGroup.Statement RegexMatchStatement (__added__)
84
+ * AWS::WAFv2::WebACL.Rule CaptchaConfig (__added__)
85
+ * AWS::WAFv2::WebACL.RuleAction Captcha (__added__)
86
+ * AWS::WAFv2::WebACL.Statement RegexMatchStatement (__added__)
87
+
88
+
89
+ # CloudFormation Resource Specification v50.0.0
90
+
91
+ ## New Resource Types
92
+
93
+ * AWS::AmplifyUIBuilder::Component
94
+ * AWS::AmplifyUIBuilder::Theme
95
+ * AWS::Connect::ContactFlow
96
+ * AWS::Connect::ContactFlowModule
97
+ * AWS::EC2::IPAM
98
+ * AWS::EC2::IPAMAllocation
99
+ * AWS::EC2::IPAMPool
100
+ * AWS::EC2::IPAMScope
101
+ * AWS::Evidently::Experiment
102
+ * AWS::Evidently::Feature
103
+ * AWS::Evidently::Launch
104
+ * AWS::Evidently::Project
105
+ * AWS::RUM::AppMonitor
106
+ * AWS::RefactorSpaces::Application
107
+ * AWS::RefactorSpaces::Environment
108
+ * AWS::RefactorSpaces::Route
109
+ * AWS::RefactorSpaces::Service
110
+ * AWS::ResilienceHub::App
111
+ * AWS::ResilienceHub::ResiliencyPolicy
112
+ * AWS::Timestream::ScheduledQuery
113
+ * AWS::Transfer::Workflow
114
+
115
+ ## Attribute Changes
116
+
117
+ * AWS::EC2::NetworkInterface Id (__added__)
118
+ * AWS::EC2::NetworkInterface SecondaryPrivateIpAddresses.DuplicatesAllowed (__added__)
119
+ * AWS::EC2::NetworkInterface Documentation (__changed__)
120
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html
121
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html
122
+ * AWS::EC2::SubnetRouteTableAssociation Documentation (__changed__)
123
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet-route-table-assoc.html
124
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetroutetableassociation.html
125
+ * AWS::EC2::SubnetRouteTableAssociation Id (__added__)
126
+ * AWS::EC2::VPCEndpoint Id (__added__)
127
+ * AWS::EC2::VPCEndpoint DnsEntries.DuplicatesAllowed (__added__)
128
+ * AWS::EC2::VPCEndpoint NetworkInterfaceIds.DuplicatesAllowed (__added__)
129
+ * AWS::EKS::Cluster KubernetesNetworkConfig.ServiceIpv6Cidr (__added__)
130
+ * AWS::FSx::FileSystem RootVolumeId (__added__)
131
+
132
+ ## Property Changes
133
+
134
+ * AWS::DynamoDB::Table TableClass (__added__)
135
+ * AWS::EC2::Instance PropagateTagsToVolumeOnCreation (__added__)
136
+ * AWS::EC2::NetworkInterface Description.Documentation (__changed__)
137
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-description
138
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-description
139
+ * AWS::EC2::NetworkInterface GroupSet.Documentation (__changed__)
140
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-groupset
141
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-groupset
142
+ * AWS::EC2::NetworkInterface GroupSet.DuplicatesAllowed (__changed__)
143
+ * Old: false
144
+ * New: true
145
+ * AWS::EC2::NetworkInterface InterfaceType.Documentation (__changed__)
146
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-ec2-networkinterface-interfacetype
147
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-interfacetype
148
+ * AWS::EC2::NetworkInterface Ipv6AddressCount.Documentation (__changed__)
149
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-ec2-networkinterface-ipv6addresscount
150
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-ipv6addresscount
151
+ * AWS::EC2::NetworkInterface Ipv6Addresses.Documentation (__changed__)
152
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-ec2-networkinterface-ipv6addresses
153
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-ipv6addresses
154
+ * AWS::EC2::NetworkInterface PrivateIpAddress.Documentation (__changed__)
155
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-privateipaddress
156
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-privateipaddress
157
+ * AWS::EC2::NetworkInterface PrivateIpAddresses.Documentation (__changed__)
158
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-privateipaddresses
159
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-privateipaddresses
160
+ * AWS::EC2::NetworkInterface PrivateIpAddresses.DuplicatesAllowed (__changed__)
161
+ * Old: false
162
+ * New: true
163
+ * AWS::EC2::NetworkInterface PrivateIpAddresses.UpdateType (__changed__)
164
+ * Old: Conditional
165
+ * New: Mutable
166
+ * AWS::EC2::NetworkInterface SecondaryPrivateIpAddressCount.Documentation (__changed__)
167
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-secondaryprivateipcount
168
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-secondaryprivateipaddresscount
169
+ * AWS::EC2::NetworkInterface SourceDestCheck.Documentation (__changed__)
170
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-sourcedestcheck
171
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-sourcedestcheck
172
+ * AWS::EC2::NetworkInterface SubnetId.Documentation (__changed__)
173
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-subnetid
174
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-subnetid
175
+ * AWS::EC2::NetworkInterface Tags.Documentation (__changed__)
176
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-tags
177
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-tags
178
+ * AWS::EC2::SubnetRouteTableAssociation RouteTableId.Documentation (__changed__)
179
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet-route-table-assoc.html#cfn-ec2-subnetroutetableassociation-routetableid
180
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetroutetableassociation.html#cfn-ec2-subnetroutetableassociation-routetableid
181
+ * AWS::EC2::SubnetRouteTableAssociation RouteTableId.UpdateType (__changed__)
182
+ * Old: Mutable
183
+ * New: Immutable
184
+ * AWS::EC2::SubnetRouteTableAssociation SubnetId.Documentation (__changed__)
185
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet-route-table-assoc.html#cfn-ec2-subnetroutetableassociation-subnetid
186
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetroutetableassociation.html#cfn-ec2-subnetroutetableassociation-subnetid
187
+ * AWS::EMR::InstanceGroupConfig CustomAmiId (__added__)
188
+ * AWS::ElastiCache::ReplicationGroup DataTieringEnabled (__added__)
189
+ * AWS::FSx::FileSystem OpenZFSConfiguration (__added__)
190
+ * AWS::IoTSiteWise::Project AssetIds (__added__)
191
+
192
+ ## Property Type Changes
193
+
194
+ * AWS::FSx::FileSystem.ClientConfigurations (__added__)
195
+ * AWS::FSx::FileSystem.NfsExports (__added__)
196
+ * AWS::FSx::FileSystem.OpenZFSConfiguration (__added__)
197
+ * AWS::FSx::FileSystem.RootVolumeConfiguration (__added__)
198
+ * AWS::FSx::FileSystem.UserAndGroupQuotas (__added__)
199
+ * AWS::MediaLive::Channel.AudioHlsRenditionSelection (__added__)
200
+ * AWS::MediaLive::Channel.AudioWatermarkSettings (__added__)
201
+ * AWS::MediaLive::Channel.NielsenCBET (__added__)
202
+ * AWS::MediaLive::Channel.NielsenNaesIiNw (__added__)
203
+ * AWS::MediaLive::Channel.NielsenWatermarksSettings (__added__)
204
+ * AWS::S3::Bucket.EventBridgeConfiguration (__added__)
205
+ * AWS::S3::Bucket.NoncurrentVersionExpiration (__added__)
206
+ * AWS::S3::StorageLens.CloudWatchMetrics (__added__)
207
+ * AWS::SageMaker::EndpointConfig.ServerlessConfig (__added__)
208
+ * AWS::EC2::NetworkInterface.PrivateIpAddressSpecification Primary.Documentation (__changed__)
209
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-interface-privateipspec.html#cfn-ec2-networkinterface-privateipspecification-primary
210
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterface-privateipaddressspecification.html#cfn-ec2-networkinterface-privateipaddressspecification-primary
211
+ * AWS::EC2::NetworkInterface.PrivateIpAddressSpecification PrivateIpAddress.Documentation (__changed__)
212
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-interface-privateipspec.html#cfn-ec2-networkinterface-privateipspecification-privateipaddress
213
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterface-privateipaddressspecification.html#cfn-ec2-networkinterface-privateipaddressspecification-privateipaddress
214
+ * AWS::EKS::Cluster.KubernetesNetworkConfig IpFamily (__added__)
215
+ * AWS::EKS::Cluster.KubernetesNetworkConfig ServiceIpv6Cidr (__added__)
216
+ * AWS::EMR::Cluster.InstanceGroupConfig CustomAmiId (__added__)
217
+ * AWS::EMR::Cluster.InstanceTypeConfig CustomAmiId (__added__)
218
+ * AWS::EMR::InstanceFleetConfig.InstanceTypeConfig CustomAmiId (__added__)
219
+ * AWS::FSx::FileSystem.DiskIopsConfiguration Iops.Documentation (__changed__)
220
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-ontapconfiguration-diskiopsconfiguration.html#cfn-fsx-filesystem-ontapconfiguration-diskiopsconfiguration-iops
221
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-openzfsconfiguration-diskiopsconfiguration.html#cfn-fsx-filesystem-openzfsconfiguration-diskiopsconfiguration-iops
222
+ * AWS::FSx::FileSystem.DiskIopsConfiguration Mode.Documentation (__changed__)
223
+ * Old: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-ontapconfiguration-diskiopsconfiguration.html#cfn-fsx-filesystem-ontapconfiguration-diskiopsconfiguration-mode
224
+ * New: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-openzfsconfiguration-diskiopsconfiguration.html#cfn-fsx-filesystem-openzfsconfiguration-diskiopsconfiguration-mode
225
+ * AWS::MediaLive::Channel.AudioDescription AudioWatermarkingSettings (__added__)
226
+ * AWS::MediaLive::Channel.AudioSelectorSettings AudioHlsRenditionSelection (__added__)
227
+ * AWS::MediaLive::Channel.DvbSubSourceSettings OcrLanguage (__added__)
228
+ * AWS::MediaLive::Channel.HlsInputSettings Scte35Source (__added__)
229
+ * AWS::MediaLive::Channel.Scte27SourceSettings OcrLanguage (__added__)
230
+ * AWS::MediaLive::Channel.WebvttDestinationSettings StyleControl (__added__)
231
+ * AWS::S3::Bucket.NoncurrentVersionTransition NewerNoncurrentVersions (__added__)
232
+ * AWS::S3::Bucket.NotificationConfiguration EventBridgeConfiguration (__added__)
233
+ * AWS::S3::Bucket.Rule NoncurrentVersionExpiration (__added__)
234
+ * AWS::S3::Bucket.Rule ObjectSizeGreaterThan (__added__)
235
+ * AWS::S3::Bucket.Rule ObjectSizeLessThan (__added__)
236
+ * AWS::S3::StorageLens.DataExport CloudWatchMetrics (__added__)
237
+ * AWS::S3::StorageLens.DataExport S3BucketDestination.Required (__changed__)
238
+ * Old: true
239
+ * New: false
240
+ * AWS::SageMaker::EndpointConfig.ProductionVariant ServerlessConfig (__added__)
241
+ * AWS::SageMaker::EndpointConfig.ProductionVariant InitialInstanceCount.Required (__changed__)
242
+ * Old: true
243
+ * New: false
244
+ * AWS::SageMaker::EndpointConfig.ProductionVariant InstanceType.Required (__changed__)
245
+ * Old: true
246
+ * New: false
247
+ * AWS::SageMaker::Model.ContainerDefinition InferenceSpecificationName (__added__)
248
+
249
+
1
250
  # CloudFormation Resource Specification v49.0.0
2
251
 
3
252
  ## New Resource Types
@@ -22,7 +22,7 @@ async function main() {
22
22
  // iterate over all cloudformation namespaces
23
23
  for (const namespace of cfnspec.namespaces()) {
24
24
  const module = pkglint.createModuleDefinitionFromCfnNamespace(namespace);
25
- const lowcaseModuleName = module.moduleName.toLocaleLowerCase();
25
+ const lowcaseModuleName = module.moduleBaseName.toLocaleLowerCase();
26
26
  const packagePath = path.join(root, module.moduleName);
27
27
  // we already have a module for this namesapce, move on.
28
28
  if (await fs.pathExists(packagePath)) {
@@ -305,4 +305,4 @@ main().catch(e => {
305
305
  console.error(e);
306
306
  process.exit(1);
307
307
  });
308
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1pc3NpbmctbGlicmFyaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY3JlYXRlLW1pc3NpbmctbGlicmFyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUE7OztHQUdHOztBQUVILDZCQUE2QjtBQUM3Qiw0Q0FBNEM7QUFDNUMsK0JBQStCO0FBQy9CLGtDQUFrQztBQUVsQyxvQkFBb0I7QUFDcEIsK0JBQStCO0FBQy9CLGdDQUFnQztBQUVoQyxLQUFLLFVBQVUsSUFBSTtJQUNqQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLFVBQVUsRUFBRTtRQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxJQUFJLDREQUE0RCxDQUFDLENBQUM7S0FDeEg7SUFFRCxpRUFBaUU7SUFDakUsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsT0FBTyxDQUFDO0lBRW5ELDZDQUE2QztJQUM3QyxLQUFLLE1BQU0sU0FBUyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUM1QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsc0NBQXNDLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekUsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDaEUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXZELHdEQUF3RDtRQUN4RCxJQUFJLE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNwQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxjQUFjLENB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Q0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDNUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDbkYsQ0FBQztBQUVELElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtJQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcblxuLyoqXG4gKiBhdXRvbWF0aWNhbGx5IGNyZWF0ZXMgYSBtb2R1bGUgZm9yIGFueSBDbG91ZEZvcm1hdGlvbiBuYW1lc3BhY2VzIHRoYXQgZG8gbm90XG4gKiBoYXZlIGFuIEFXUyBjb25zdHJ1Y3QgbGlicmFyeS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgcGtnbGludCBmcm9tICdAYXdzLWNkay9wa2dsaW50JztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCAqIGFzIGNmbnNwZWMgZnJvbSAnLi4vbGliJztcblxuLy8gZG9uJ3QgYmUgYSBwcnVkZTpcbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbi8qIGVzbGludC1kaXNhYmxlIHF1b3RlLXByb3BzICovXG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4oKSB7XG4gIGNvbnN0IHJvb3QgPSBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4nLCAnLi4nKTtcbiAgaWYgKHBhdGguYmFzZW5hbWUocm9vdCkgIT09ICdAYXdzLWNkaycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFNvbWV0aGluZyB3ZW50IHdyb25nLiBXZSBleHBlY3RlZCAke3Jvb3R9IHRvIGJlIHRoZSBcInBhY2thZ2VzL0Bhd3MtY2RrXCIgZGlyZWN0b3J5LiBEaWQgeW91IG1vdmUgbWU/YCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICBjb25zdCB2ZXJzaW9uID0gcmVxdWlyZSgnLi4vcGFja2FnZS5qc29uJykudmVyc2lvbjtcblxuICAvLyBpdGVyYXRlIG92ZXIgYWxsIGNsb3VkZm9ybWF0aW9uIG5hbWVzcGFjZXNcbiAgZm9yIChjb25zdCBuYW1lc3BhY2Ugb2YgY2Zuc3BlYy5uYW1lc3BhY2VzKCkpIHtcbiAgICBjb25zdCBtb2R1bGUgPSBwa2dsaW50LmNyZWF0ZU1vZHVsZURlZmluaXRpb25Gcm9tQ2ZuTmFtZXNwYWNlKG5hbWVzcGFjZSk7XG4gICAgY29uc3QgbG93Y2FzZU1vZHVsZU5hbWUgPSBtb2R1bGUubW9kdWxlTmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IHBhY2thZ2VQYXRoID0gcGF0aC5qb2luKHJvb3QsIG1vZHVsZS5tb2R1bGVOYW1lKTtcblxuICAgIC8vIHdlIGFscmVhZHkgaGF2ZSBhIG1vZHVsZSBmb3IgdGhpcyBuYW1lc2FwY2UsIG1vdmUgb24uXG4gICAgaWYgKGF3YWl0IGZzLnBhdGhFeGlzdHMocGFja2FnZVBhdGgpKSB7XG4gICAgICBjb25zdCBwYWNrYWdlSnNvblBhdGggPSBwYXRoLmpvaW4ocGFja2FnZVBhdGgsICdwYWNrYWdlLmpzb24nKTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gICAgICBjb25zdCBwYWNrYWdlSnNvbiA9IHJlcXVpcmUocGFja2FnZUpzb25QYXRoKTtcbiAgICAgIGxldCBzY29wZXM6IHN0cmluZyB8IHN0cmluZ1tdID0gcGFja2FnZUpzb25bJ2Nkay1idWlsZCddLmNsb3VkZm9ybWF0aW9uO1xuICAgICAgaWYgKHR5cGVvZiBzY29wZXMgPT09ICdzdHJpbmcnKSB7IHNjb3BlcyA9IFtzY29wZXNdOyB9XG4gICAgICBpZiAoc2NvcGVzLmluZGV4T2YobmFtZXNwYWNlKSAhPT0gLTEpIHtcbiAgICAgICAgLy8gVjItc3R5bGUgbW9kdWxlIGlzIGFscmVhZHkgbW9kZWxlZCBpbiB0aGUgcm9vdCBwYWNrYWdlLCBub3RoaW5nIHRvIGJlIGRvbmUhXG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfSBlbHNlIGlmIChhd2FpdCBmcy5wYXRoRXhpc3RzKHBhdGguam9pbihyb290LCBgJHttb2R1bGUubW9kdWxlRmFtaWx5fS0ke21vZHVsZS5tb2R1bGVCYXNlTmFtZX1gLnRvTG9jYWxlTG93ZXJDYXNlKCkpKSkge1xuICAgICAgICAvLyBWMi1zdHlsZSBwYWNrYWdlIGFscmVhZHkgaGFzIGl0J3Mgb3duIHBhY2thZ2UgKGxlZ2FjeSBiZWhhdmlvciksIG5vdGhpbmcgdG8gYmUgZG9uZSFcbiAgICAgICAgY29udGludWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBWMi1zdHlsZSBwYWNrYWdlIG5lZWRzIHRvIGJlIGFkZGVkIHRvIGl0J3MgXCJWMVwiIHBhY2thZ2UuLi4gR2V0IGRvd24gdG8gYnVzaW5lc3MhXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYEFkZGluZyAke25hbWVzcGFjZX0gdG8gJHttb2R1bGUucGFja2FnZU5hbWV9YCk7XG4gICAgICAgIHNjb3Blcy5wdXNoKG5hbWVzcGFjZSk7XG4gICAgICAgIHBhY2thZ2VKc29uWydjZGstYnVpbGQnXS5jbG91ZGZvcm1hdGlvbiA9IHNjb3BlcztcbiAgICAgICAgYXdhaXQgZnMud3JpdGVKc29uKHBhY2thZ2VKc29uUGF0aCwgcGFja2FnZUpzb24sIHsgZW5jb2Rpbmc6ICd1dGYtOCcsIHNwYWNlczogMiB9KTtcbiAgICAgICAgY29uc3QgaW5kZXhUc1BhdGggPSBwYXRoLmpvaW4ocGFja2FnZVBhdGgsICdsaWInLCAnaW5kZXgudHMnKTtcbiAgICAgICAgY29uc3QgaW5kZXhUcyA9IFtcbiAgICAgICAgICAoYXdhaXQgZnMucmVhZEZpbGUoaW5kZXhUc1BhdGgsIHsgZW5jb2Rpbmc6ICd1dGY4JyB9KSkudHJpbVJpZ2h0KCksXG4gICAgICAgICAgYC8vICR7bmFtZXNwYWNlfSBDbG91ZEZvcm1hdGlvbiBSZXNvdXJjZXM6YCxcbiAgICAgICAgICBgZXhwb3J0ICogZnJvbSAnLi8ke2xvd2Nhc2VNb2R1bGVOYW1lfS5nZW5lcmF0ZWQnO2AsXG4gICAgICAgIF0uam9pbignXFxuJyk7XG4gICAgICAgIGF3YWl0IGZzLndyaXRlRmlsZShpbmRleFRzUGF0aCwgaW5kZXhUcywgeyBlbmNvZGluZzogJ3V0ZjgnIH0pO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBmdW5jdGlvbiB3cml0ZShyZWxhdGl2ZVBhdGg6IHN0cmluZywgY29udGVudHM6IHN0cmluZ1tdIHwgc3RyaW5nIHwgb2JqZWN0KSB7XG4gICAgICBjb25zdCBmdWxsUGF0aCA9IHBhdGguam9pbihwYWNrYWdlUGF0aCwgcmVsYXRpdmVQYXRoKTtcbiAgICAgIGNvbnN0IGRpciA9IHBhdGguZGlybmFtZShmdWxsUGF0aCk7XG4gICAgICBhd2FpdCBmcy5ta2RpcnAoZGlyKTtcblxuICAgICAgbGV0IGRhdGE7XG4gICAgICBpZiAodHlwZW9mIGNvbnRlbnRzID09PSAnc3RyaW5nJykge1xuICAgICAgICBkYXRhID0gY29udGVudHMudHJpbUxlZnQoKTsgLy8gdHJpbSBmaXJzdCBuZXdsaW5lXG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoY29udGVudHMpKSB7XG4gICAgICAgIGRhdGEgPSBjb250ZW50cy5qb2luKCdcXG4nKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGNvbnRlbnRzID09PSAnb2JqZWN0Jykge1xuICAgICAgICBkYXRhID0gSlNPTi5zdHJpbmdpZnkoY29udGVudHMsIHVuZGVmaW5lZCwgMik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdHlwZSBvZiBjb250ZW50czogJyArIGNvbnRlbnRzKTtcbiAgICAgIH1cblxuICAgICAgYXdhaXQgZnMud3JpdGVGaWxlKGZ1bGxQYXRoLCBkYXRhICsgJ1xcbicpO1xuICAgIH1cblxuICAgIGNvbnNvbGUubG9nKGBnZW5lcmF0aW5nIG1vZHVsZSBmb3IgJHttb2R1bGUucGFja2FnZU5hbWV9Li4uYCk7XG5cbiAgICBjb25zdCBkZXNjcmlwdGlvbiA9IGAke25hbWVzcGFjZX0gQ29uc3RydWN0IExpYnJhcnlgO1xuXG4gICAgYXdhaXQgd3JpdGUoJ3BhY2thZ2UuanNvbicsIHtcbiAgICAgIG5hbWU6IG1vZHVsZS5wYWNrYWdlTmFtZSxcbiAgICAgIHZlcnNpb24sXG4gICAgICBkZXNjcmlwdGlvbixcbiAgICAgIG1haW46ICdsaWIvaW5kZXguanMnLFxuICAgICAgdHlwZXM6ICdsaWIvaW5kZXguZC50cycsXG4gICAgICBqc2lpOiB7XG4gICAgICAgIG91dGRpcjogJ2Rpc3QnLFxuICAgICAgICBwcm9qZWN0UmVmZXJlbmNlczogdHJ1ZSxcbiAgICAgICAgdGFyZ2V0czoge1xuICAgICAgICAgIGRvdG5ldDoge1xuICAgICAgICAgICAgbmFtZXNwYWNlOiBtb2R1bGUuZG90bmV0UGFja2FnZSxcbiAgICAgICAgICAgIHBhY2thZ2VJZDogbW9kdWxlLmRvdG5ldFBhY2thZ2UsXG4gICAgICAgICAgICBzaWduQXNzZW1ibHk6IHRydWUsXG4gICAgICAgICAgICBhc3NlbWJseU9yaWdpbmF0b3JLZXlGaWxlOiAnLi4vLi4va2V5LnNuaycsXG4gICAgICAgICAgICBpY29uVXJsOiAnaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2F3cy9hd3MtY2RrL21hc3Rlci9sb2dvL2RlZmF1bHQtMjU2LWRhcmsucG5nJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGphdmE6IHtcbiAgICAgICAgICAgIHBhY2thZ2U6IGAke21vZHVsZS5qYXZhR3JvdXBJZH0uJHttb2R1bGUuamF2YVBhY2thZ2V9YCxcbiAgICAgICAgICAgIG1hdmVuOiB7XG4gICAgICAgICAgICAgIGdyb3VwSWQ6IG1vZHVsZS5qYXZhR3JvdXBJZCxcbiAgICAgICAgICAgICAgYXJ0aWZhY3RJZDogbW9kdWxlLmphdmFBcnRpZmFjdElkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHB5dGhvbjoge1xuICAgICAgICAgICAgY2xhc3NpZmllcnM6IFtcbiAgICAgICAgICAgICAgJ0ZyYW1ld29yayA6OiBBV1MgQ0RLJyxcbiAgICAgICAgICAgICAgJ0ZyYW1ld29yayA6OiBBV1MgQ0RLIDo6IDEnLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGRpc3ROYW1lOiBtb2R1bGUucHl0aG9uRGlzdE5hbWUsXG4gICAgICAgICAgICBtb2R1bGU6IG1vZHVsZS5weXRob25Nb2R1bGVOYW1lLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAganNpaToge1xuICAgICAgICAgICAgcm9zZXR0YToge1xuICAgICAgICAgICAgICBzdHJpY3Q6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgcmVwb3NpdG9yeToge1xuICAgICAgICB0eXBlOiAnZ2l0JyxcbiAgICAgICAgdXJsOiAnaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrLmdpdCcsXG4gICAgICAgIGRpcmVjdG9yeTogYHBhY2thZ2VzLyR7bW9kdWxlLnBhY2thZ2VOYW1lfWAsXG4gICAgICB9LFxuICAgICAgaG9tZXBhZ2U6ICdodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsnLFxuICAgICAgc2NyaXB0czoge1xuICAgICAgICBidWlsZDogJ2Nkay1idWlsZCcsXG4gICAgICAgIHdhdGNoOiAnY2RrLXdhdGNoJyxcbiAgICAgICAgbGludDogJ2Nkay1saW50JyxcbiAgICAgICAgdGVzdDogJ2Nkay10ZXN0JyxcbiAgICAgICAgaW50ZWc6ICdjZGstaW50ZWcnLFxuICAgICAgICBwa2dsaW50OiAncGtnbGludCAtZicsXG4gICAgICAgIHBhY2thZ2U6ICdjZGstcGFja2FnZScsXG4gICAgICAgIGF3c2xpbnQ6ICdjZGstYXdzbGludCcsXG4gICAgICAgIGNmbjJ0czogJ2NmbjJ0cycsXG4gICAgICAgICdidWlsZCt0ZXN0JzogJ3lhcm4gYnVpbGQgJiYgeWFybiB0ZXN0JyxcbiAgICAgICAgJ2J1aWxkK3Rlc3QrcGFja2FnZSc6ICd5YXJuIGJ1aWxkK3Rlc3QgJiYgeWFybiBwYWNrYWdlJyxcbiAgICAgICAgY29tcGF0OiAnY2RrLWNvbXBhdCcsXG4gICAgICAgIGdlbjogJ2NmbjJ0cycsXG4gICAgICAgICdyb3NldHRhOmV4dHJhY3QnOiAneWFybiAtLXNpbGVudCBqc2lpLXJvc2V0dGEgZXh0cmFjdCcsXG4gICAgICAgICdidWlsZCtleHRyYWN0JzogJ3lhcm4gYnVpbGQgJiYgeWFybiByb3NldHRhOmV4dHJhY3QnLFxuICAgICAgICAnYnVpbGQrdGVzdCtleHRyYWN0JzogJ3lhcm4gYnVpbGQrdGVzdCAmJiB5YXJuIHJvc2V0dGE6ZXh0cmFjdCcsXG4gICAgICB9LFxuICAgICAgJ2Nkay1idWlsZCc6IHtcbiAgICAgICAgY2xvdWRmb3JtYXRpb246IG5hbWVzcGFjZSxcbiAgICAgICAgamVzdDogdHJ1ZSxcbiAgICAgICAgZW52OiB7XG4gICAgICAgICAgQVdTTElOVF9CQVNFX0NPTlNUUlVDVDogJ3RydWUnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGtleXdvcmRzOiBbXG4gICAgICAgICdhd3MnLFxuICAgICAgICAnY2RrJyxcbiAgICAgICAgJ2NvbnN0cnVjdHMnLFxuICAgICAgICBuYW1lc3BhY2UsXG4gICAgICAgIG1vZHVsZS5tb2R1bGVOYW1lLFxuICAgICAgXSxcbiAgICAgIGF1dGhvcjoge1xuICAgICAgICBuYW1lOiAnQW1hem9uIFdlYiBTZXJ2aWNlcycsXG4gICAgICAgIHVybDogJ2h0dHBzOi8vYXdzLmFtYXpvbi5jb20nLFxuICAgICAgICBvcmdhbml6YXRpb246IHRydWUsXG4gICAgICB9LFxuICAgICAgbGljZW5zZTogJ0FwYWNoZS0yLjAnLFxuICAgICAgZGV2RGVwZW5kZW5jaWVzOiB7XG4gICAgICAgICdAYXdzLWNkay9hc3NlcnRpb25zJzogdmVyc2lvbixcbiAgICAgICAgJ0Bhd3MtY2RrL2Nkay1idWlsZC10b29scyc6IHZlcnNpb24sXG4gICAgICAgICdAYXdzLWNkay9jZm4ydHMnOiB2ZXJzaW9uLFxuICAgICAgICAnQGF3cy1jZGsvcGtnbGludCc6IHZlcnNpb24sXG4gICAgICAgICdAdHlwZXMvamVzdCc6ICdeMjYuMC4yMicsXG4gICAgICB9LFxuICAgICAgZGVwZW5kZW5jaWVzOiB7XG4gICAgICAgICdAYXdzLWNkay9jb3JlJzogdmVyc2lvbixcbiAgICAgIH0sXG4gICAgICBwZWVyRGVwZW5kZW5jaWVzOiB7XG4gICAgICAgICdAYXdzLWNkay9jb3JlJzogdmVyc2lvbixcbiAgICAgIH0sXG4gICAgICBlbmdpbmVzOiB7XG4gICAgICAgIG5vZGU6ICc+PSAxMC4xMy4wIDwxMyB8fCA+PTEzLjcuMCcsXG4gICAgICB9LFxuICAgICAgc3RhYmlsaXR5OiAnZXhwZXJpbWVudGFsJyxcbiAgICAgIG1hdHVyaXR5OiAnY2ZuLW9ubHknLFxuICAgICAgYXdzY2RraW86IHtcbiAgICAgICAgYW5ub3VuY2U6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHB1Ymxpc2hDb25maWc6IHtcbiAgICAgICAgdGFnOiAnbGF0ZXN0JyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBhd2FpdCB3cml0ZSgnLmdpdGlnbm9yZScsIFtcbiAgICAgICcqLmpzJyxcbiAgICAgICcqLmpzLm1hcCcsXG4gICAgICAnKi5kLnRzJyxcbiAgICAgICd0c2NvbmZpZy5qc29uJyxcbiAgICAgICdub2RlX21vZHVsZXMnLFxuICAgICAgJyouZ2VuZXJhdGVkLnRzJyxcbiAgICAgICdkaXN0JyxcbiAgICAgICcuanNpaScsXG4gICAgICAnJyxcbiAgICAgICcuTEFTVF9CVUlMRCcsXG4gICAgICAnLm55Y19vdXRwdXQnLFxuICAgICAgJ2NvdmVyYWdlJyxcbiAgICAgICcubnljcmMnLFxuICAgICAgJy5MQVNUX1BBQ0tBR0UnLFxuICAgICAgJyouc25rJyxcbiAgICAgICdueWMuY29uZmlnLmpzJyxcbiAgICAgICchLmVzbGludHJjLmpzJyxcbiAgICAgICchamVzdC5jb25maWcuanMnLFxuICAgICAgJ2p1bml0LnhtbCcsXG4gICAgXSk7XG5cbiAgICBhd2FpdCB3cml0ZSgnLm5wbWlnbm9yZScsIFtcbiAgICAgICcjIERvblxcJ3QgaW5jbHVkZSBvcmlnaW5hbCAudHMgZmlsZXMgd2hlbiBkb2luZyBgbnBtIHBhY2tgJyxcbiAgICAgICcqLnRzJyxcbiAgICAgICchKi5kLnRzJyxcbiAgICAgICdjb3ZlcmFnZScsXG4gICAgICAnLm55Y19vdXRwdXQnLFxuICAgICAgJyoudGd6JyxcbiAgICAgICcnLFxuICAgICAgJ2Rpc3QnLFxuICAgICAgJy5MQVNUX1BBQ0tBR0UnLFxuICAgICAgJy5MQVNUX0JVSUxEJyxcbiAgICAgICchKi5qcycsXG4gICAgICAnJyxcbiAgICAgICcjIEluY2x1ZGUgLmpzaWknLFxuICAgICAgJyEuanNpaScsXG4gICAgICAnJyxcbiAgICAgICcqLnNuaycsXG4gICAgICAnJyxcbiAgICAgICcqLnRzYnVpbGRpbmZvJyxcbiAgICAgICcnLFxuICAgICAgJ3RzY29uZmlnLmpzb24nLFxuICAgICAgJycsXG4gICAgICAnLmVzbGludHJjLmpzJyxcbiAgICAgICdqZXN0LmNvbmZpZy5qcycsXG4gICAgICAnJyxcbiAgICAgICcjIGV4Y2x1ZGUgY2RrIGFydGlmYWN0cycsXG4gICAgICAnKiovY2RrLm91dCcsXG4gICAgICAnanVuaXQueG1sJyxcbiAgICAgICd0ZXN0LycsXG4gICAgICAnISoubGl0LnRzJyxcbiAgICBdKTtcblxuICAgIGF3YWl0IHdyaXRlKCdsaWIvaW5kZXgudHMnLCBbXG4gICAgICBgLy8gJHtuYW1lc3BhY2V9IENsb3VkRm9ybWF0aW9uIFJlc291cmNlczpgLFxuICAgICAgYGV4cG9ydCAqIGZyb20gJy4vJHtsb3djYXNlTW9kdWxlTmFtZX0uZ2VuZXJhdGVkJztgLFxuICAgIF0pO1xuXG4gICAgYXdhaXQgd3JpdGUoYHRlc3QvJHtsb3djYXNlTW9kdWxlTmFtZX0udGVzdC50c2AsIFtcbiAgICAgIFwiaW1wb3J0ICdAYXdzLWNkay9hc3NlcnRpb25zJztcIixcbiAgICAgIFwiaW1wb3J0IHt9IGZyb20gJy4uL2xpYic7XCIsXG4gICAgICAnJyxcbiAgICAgIFwidGVzdCgnTm8gdGVzdHMgYXJlIHNwZWNpZmllZCBmb3IgdGhpcyBwYWNrYWdlJywgKCkgPT4ge1wiLFxuICAgICAgJyAgZXhwZWN0KHRydWUpLnRvQmUodHJ1ZSk7JyxcbiAgICAgICd9KTsnLFxuICAgIF0pO1xuXG4gICAgYXdhaXQgcGtnbGludC5jcmVhdGVMaWJyYXJ5UmVhZG1lKG5hbWVzcGFjZSwgcGF0aC5qb2luKHBhY2thZ2VQYXRoLCAnUkVBRE1FLm1kJykpO1xuXG4gICAgYXdhaXQgd3JpdGUoJy5lc2xpbnRyYy5qcycsIFtcbiAgICAgIFwiY29uc3QgYmFzZUNvbmZpZyA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2Nkay1idWlsZC10b29scy9jb25maWcvZXNsaW50cmMnKTtcIixcbiAgICAgIFwiYmFzZUNvbmZpZy5wYXJzZXJPcHRpb25zLnByb2plY3QgPSBfX2Rpcm5hbWUgKyAnL3RzY29uZmlnLmpzb24nO1wiLFxuICAgICAgJ21vZHVsZS5leHBvcnRzID0gYmFzZUNvbmZpZzsnLFxuICAgIF0pO1xuXG4gICAgYXdhaXQgd3JpdGUoJ2plc3QuY29uZmlnLmpzJywgW1xuICAgICAgXCJjb25zdCBiYXNlQ29uZmlnID0gcmVxdWlyZSgnQGF3cy1jZGsvY2RrLWJ1aWxkLXRvb2xzL2NvbmZpZy9qZXN0LmNvbmZpZycpO1wiLFxuICAgICAgJ21vZHVsZS5leHBvcnRzID0gYmFzZUNvbmZpZzsnLFxuICAgIF0pO1xuXG4gICAgYXdhaXQgd3JpdGUoJ3Jvc2V0dGEvZGVmYXVsdC50cy1maXh0dXJlJywgW1xuICAgICAgXCJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcIixcbiAgICAgIFwiaW1wb3J0IHsgU3RhY2sgfSBmcm9tICdAYXdzLWNkay9jb3JlJztcIixcbiAgICAgICcnLFxuICAgICAgJ2NsYXNzIE15U3RhY2sgZXh0ZW5kcyBTdGFjayB7JyxcbiAgICAgICcgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHsnLFxuICAgICAgJyAgICAvLy8gaGVyZScsXG4gICAgICAnICB9JyxcbiAgICAgICd9JyxcbiAgICBdKTtcblxuICAgIGNvbnN0IHRlbXBsYXRlRGlyID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJ3RlbXBsYXRlJyk7XG4gICAgZm9yIChjb25zdCBmaWxlIG9mIGF3YWl0IGZzLnJlYWRkaXIodGVtcGxhdGVEaXIpKSB7XG4gICAgICBhd2FpdCBmcy5jb3B5KHBhdGguam9pbih0ZW1wbGF0ZURpciwgZmlsZSksIHBhdGguam9pbihwYWNrYWdlUGF0aCwgZmlsZSkpO1xuICAgIH1cblxuICAgIGF3YWl0IGFkZERlcGVuZGVuY3lUb01lZ2FQYWNrYWdlKHBhdGguam9pbignQGF3cy1jZGsnLCAnY2xvdWRmb3JtYXRpb24taW5jbHVkZScpLCBtb2R1bGUucGFja2FnZU5hbWUsIHZlcnNpb24sIFsnZGVwZW5kZW5jaWVzJywgJ3BlZXJEZXBlbmRlbmNpZXMnXSk7XG4gICAgYXdhaXQgYWRkRGVwZW5kZW5jeVRvTWVnYVBhY2thZ2UoJ2F3cy1jZGstbGliJywgbW9kdWxlLnBhY2thZ2VOYW1lLCB2ZXJzaW9uLCBbJ2RldkRlcGVuZGVuY2llcyddKTtcbiAgICBhd2FpdCBhZGREZXBlbmRlbmN5VG9NZWdhUGFja2FnZSgnbW9ub2NkaycsIG1vZHVsZS5wYWNrYWdlTmFtZSwgdmVyc2lvbiwgWydkZXZEZXBlbmRlbmNpZXMnXSk7XG4gICAgYXdhaXQgYWRkRGVwZW5kZW5jeVRvTWVnYVBhY2thZ2UoJ2RlY2RrJywgbW9kdWxlLnBhY2thZ2VOYW1lLCB2ZXJzaW9uLCBbJ2RlcGVuZGVuY2llcyddKTtcbiAgfVxufVxuXG4vKipcbiAqIEEgZmV3IG9mIG91ciBwYWNrYWdlcyAoZS5nLiwgZGVjZGssIGF3cy1jZGstbGliKSByZXF1aXJlIGEgZGVwZW5kZW5jeSBvbiBldmVyeSBzZXJ2aWNlIHBhY2thZ2UuXG4gKiBUaGlzIGF1dG9tYXRlcyBhZGRpbmcgdGhlIGRlcGVuZGVuY3kgKGFuZCBwZWVyIGRlcGVuZGVuY3kpIHRvIHRoZSBwYWNrYWdlLmpzb24uXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGFkZERlcGVuZGVuY3lUb01lZ2FQYWNrYWdlKG1lZ2FQYWNrYWdlTmFtZTogc3RyaW5nLCBwYWNrYWdlTmFtZTogc3RyaW5nLCB2ZXJzaW9uOiBzdHJpbmcsIGRlcGVuZGVuY3lUeXBlczogc3RyaW5nW10pIHtcbiAgY29uc3QgcGFja2FnZUpzb25QYXRoID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJy4uJywgJy4uJywgJy4uJywgbWVnYVBhY2thZ2VOYW1lLCAncGFja2FnZS5qc29uJyk7XG4gIGNvbnN0IHBhY2thZ2VKc29uID0gSlNPTi5wYXJzZShhd2FpdCBmcy5yZWFkRmlsZShwYWNrYWdlSnNvblBhdGgsICd1dGY4JykpO1xuICBkZXBlbmRlbmN5VHlwZXMuZm9yRWFjaChkZXBlbmRlbmN5VHlwZSA9PiB7XG4gICAgY29uc3QgdW5vcmRlcmVkRGVwcyA9IHtcbiAgICAgIC4uLnBhY2thZ2VKc29uW2RlcGVuZGVuY3lUeXBlXSxcbiAgICAgIFtwYWNrYWdlTmFtZV06IHZlcnNpb24sXG4gICAgfTtcbiAgICBwYWNrYWdlSnNvbltkZXBlbmRlbmN5VHlwZV0gPSB7fTtcbiAgICBPYmplY3Qua2V5cyh1bm9yZGVyZWREZXBzKS5zb3J0KCkuZm9yRWFjaChrID0+IHtcbiAgICAgIHBhY2thZ2VKc29uW2RlcGVuZGVuY3lUeXBlXVtrXSA9IHVub3JkZXJlZERlcHNba107XG4gICAgfSk7XG4gIH0pO1xuICBhd2FpdCBmcy53cml0ZUZpbGUocGFja2FnZUpzb25QYXRoLCBKU09OLnN0cmluZ2lmeShwYWNrYWdlSnNvbiwgbnVsbCwgMikgKyAnXFxuJyk7XG59XG5cbm1haW4oKS5jYXRjaChlID0+IHtcbiAgY29uc29sZS5lcnJvcihlKTtcbiAgcHJvY2Vzcy5leGl0KDEpO1xufSk7XG4iXX0=
308
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1pc3NpbmctbGlicmFyaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY3JlYXRlLW1pc3NpbmctbGlicmFyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUE7OztHQUdHOztBQUVILDZCQUE2QjtBQUM3Qiw0Q0FBNEM7QUFDNUMsK0JBQStCO0FBQy9CLGtDQUFrQztBQUVsQyxvQkFBb0I7QUFDcEIsK0JBQStCO0FBQy9CLGdDQUFnQztBQUVoQyxLQUFLLFVBQVUsSUFBSTtJQUNqQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLFVBQVUsRUFBRTtRQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxJQUFJLDREQUE0RCxDQUFDLENBQUM7S0FDeEg7SUFFRCxpRUFBaUU7SUFDakUsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsT0FBTyxDQUFDO0lBRW5ELDZDQUE2QztJQUM3QyxLQUFLLE1BQU0sU0FBUyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUM1QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsc0NBQXNDLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekUsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDcEUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXZELHdEQUF3RDtRQUN4RCxJQUFJLE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNwQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxjQUFjLENB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Q0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDNUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDbkYsQ0FBQztBQUVELElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtJQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcblxuLyoqXG4gKiBhdXRvbWF0aWNhbGx5IGNyZWF0ZXMgYSBtb2R1bGUgZm9yIGFueSBDbG91ZEZvcm1hdGlvbiBuYW1lc3BhY2VzIHRoYXQgZG8gbm90XG4gKiBoYXZlIGFuIEFXUyBjb25zdHJ1Y3QgbGlicmFyeS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgcGtnbGludCBmcm9tICdAYXdzLWNkay9wa2dsaW50JztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCAqIGFzIGNmbnNwZWMgZnJvbSAnLi4vbGliJztcblxuLy8gZG9uJ3QgYmUgYSBwcnVkZTpcbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbi8qIGVzbGludC1kaXNhYmxlIHF1b3RlLXByb3BzICovXG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4oKSB7XG4gIGNvbnN0IHJvb3QgPSBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4nLCAnLi4nKTtcbiAgaWYgKHBhdGguYmFzZW5hbWUocm9vdCkgIT09ICdAYXdzLWNkaycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFNvbWV0aGluZyB3ZW50IHdyb25nLiBXZSBleHBlY3RlZCAke3Jvb3R9IHRvIGJlIHRoZSBcInBhY2thZ2VzL0Bhd3MtY2RrXCIgZGlyZWN0b3J5LiBEaWQgeW91IG1vdmUgbWU/YCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICBjb25zdCB2ZXJzaW9uID0gcmVxdWlyZSgnLi4vcGFja2FnZS5qc29uJykudmVyc2lvbjtcblxuICAvLyBpdGVyYXRlIG92ZXIgYWxsIGNsb3VkZm9ybWF0aW9uIG5hbWVzcGFjZXNcbiAgZm9yIChjb25zdCBuYW1lc3BhY2Ugb2YgY2Zuc3BlYy5uYW1lc3BhY2VzKCkpIHtcbiAgICBjb25zdCBtb2R1bGUgPSBwa2dsaW50LmNyZWF0ZU1vZHVsZURlZmluaXRpb25Gcm9tQ2ZuTmFtZXNwYWNlKG5hbWVzcGFjZSk7XG4gICAgY29uc3QgbG93Y2FzZU1vZHVsZU5hbWUgPSBtb2R1bGUubW9kdWxlQmFzZU5hbWUudG9Mb2NhbGVMb3dlckNhc2UoKTtcbiAgICBjb25zdCBwYWNrYWdlUGF0aCA9IHBhdGguam9pbihyb290LCBtb2R1bGUubW9kdWxlTmFtZSk7XG5cbiAgICAvLyB3ZSBhbHJlYWR5IGhhdmUgYSBtb2R1bGUgZm9yIHRoaXMgbmFtZXNhcGNlLCBtb3ZlIG9uLlxuICAgIGlmIChhd2FpdCBmcy5wYXRoRXhpc3RzKHBhY2thZ2VQYXRoKSkge1xuICAgICAgY29uc3QgcGFja2FnZUpzb25QYXRoID0gcGF0aC5qb2luKHBhY2thZ2VQYXRoLCAncGFja2FnZS5qc29uJyk7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICAgICAgY29uc3QgcGFja2FnZUpzb24gPSByZXF1aXJlKHBhY2thZ2VKc29uUGF0aCk7XG4gICAgICBsZXQgc2NvcGVzOiBzdHJpbmcgfCBzdHJpbmdbXSA9IHBhY2thZ2VKc29uWydjZGstYnVpbGQnXS5jbG91ZGZvcm1hdGlvbjtcbiAgICAgIGlmICh0eXBlb2Ygc2NvcGVzID09PSAnc3RyaW5nJykgeyBzY29wZXMgPSBbc2NvcGVzXTsgfVxuICAgICAgaWYgKHNjb3Blcy5pbmRleE9mKG5hbWVzcGFjZSkgIT09IC0xKSB7XG4gICAgICAgIC8vIFYyLXN0eWxlIG1vZHVsZSBpcyBhbHJlYWR5IG1vZGVsZWQgaW4gdGhlIHJvb3QgcGFja2FnZSwgbm90aGluZyB0byBiZSBkb25lIVxuICAgICAgICBjb250aW51ZTtcbiAgICAgIH0gZWxzZSBpZiAoYXdhaXQgZnMucGF0aEV4aXN0cyhwYXRoLmpvaW4ocm9vdCwgYCR7bW9kdWxlLm1vZHVsZUZhbWlseX0tJHttb2R1bGUubW9kdWxlQmFzZU5hbWV9YC50b0xvY2FsZUxvd2VyQ2FzZSgpKSkpIHtcbiAgICAgICAgLy8gVjItc3R5bGUgcGFja2FnZSBhbHJlYWR5IGhhcyBpdCdzIG93biBwYWNrYWdlIChsZWdhY3kgYmVoYXZpb3IpLCBub3RoaW5nIHRvIGJlIGRvbmUhXG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVjItc3R5bGUgcGFja2FnZSBuZWVkcyB0byBiZSBhZGRlZCB0byBpdCdzIFwiVjFcIiBwYWNrYWdlLi4uIEdldCBkb3duIHRvIGJ1c2luZXNzIVxuICAgICAgICBjb25zb2xlLmVycm9yKGBBZGRpbmcgJHtuYW1lc3BhY2V9IHRvICR7bW9kdWxlLnBhY2thZ2VOYW1lfWApO1xuICAgICAgICBzY29wZXMucHVzaChuYW1lc3BhY2UpO1xuICAgICAgICBwYWNrYWdlSnNvblsnY2RrLWJ1aWxkJ10uY2xvdWRmb3JtYXRpb24gPSBzY29wZXM7XG4gICAgICAgIGF3YWl0IGZzLndyaXRlSnNvbihwYWNrYWdlSnNvblBhdGgsIHBhY2thZ2VKc29uLCB7IGVuY29kaW5nOiAndXRmLTgnLCBzcGFjZXM6IDIgfSk7XG4gICAgICAgIGNvbnN0IGluZGV4VHNQYXRoID0gcGF0aC5qb2luKHBhY2thZ2VQYXRoLCAnbGliJywgJ2luZGV4LnRzJyk7XG4gICAgICAgIGNvbnN0IGluZGV4VHMgPSBbXG4gICAgICAgICAgKGF3YWl0IGZzLnJlYWRGaWxlKGluZGV4VHNQYXRoLCB7IGVuY29kaW5nOiAndXRmOCcgfSkpLnRyaW1SaWdodCgpLFxuICAgICAgICAgIGAvLyAke25hbWVzcGFjZX0gQ2xvdWRGb3JtYXRpb24gUmVzb3VyY2VzOmAsXG4gICAgICAgICAgYGV4cG9ydCAqIGZyb20gJy4vJHtsb3djYXNlTW9kdWxlTmFtZX0uZ2VuZXJhdGVkJztgLFxuICAgICAgICBdLmpvaW4oJ1xcbicpO1xuICAgICAgICBhd2FpdCBmcy53cml0ZUZpbGUoaW5kZXhUc1BhdGgsIGluZGV4VHMsIHsgZW5jb2Rpbmc6ICd1dGY4JyB9KTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgZnVuY3Rpb24gd3JpdGUocmVsYXRpdmVQYXRoOiBzdHJpbmcsIGNvbnRlbnRzOiBzdHJpbmdbXSB8IHN0cmluZyB8IG9iamVjdCkge1xuICAgICAgY29uc3QgZnVsbFBhdGggPSBwYXRoLmpvaW4ocGFja2FnZVBhdGgsIHJlbGF0aXZlUGF0aCk7XG4gICAgICBjb25zdCBkaXIgPSBwYXRoLmRpcm5hbWUoZnVsbFBhdGgpO1xuICAgICAgYXdhaXQgZnMubWtkaXJwKGRpcik7XG5cbiAgICAgIGxldCBkYXRhO1xuICAgICAgaWYgKHR5cGVvZiBjb250ZW50cyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgZGF0YSA9IGNvbnRlbnRzLnRyaW1MZWZ0KCk7IC8vIHRyaW0gZmlyc3QgbmV3bGluZVxuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGNvbnRlbnRzKSkge1xuICAgICAgICBkYXRhID0gY29udGVudHMuam9pbignXFxuJyk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBjb250ZW50cyA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgZGF0YSA9IEpTT04uc3RyaW5naWZ5KGNvbnRlbnRzLCB1bmRlZmluZWQsIDIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHR5cGUgb2YgY29udGVudHM6ICcgKyBjb250ZW50cyk7XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IGZzLndyaXRlRmlsZShmdWxsUGF0aCwgZGF0YSArICdcXG4nKTtcbiAgICB9XG5cbiAgICBjb25zb2xlLmxvZyhgZ2VuZXJhdGluZyBtb2R1bGUgZm9yICR7bW9kdWxlLnBhY2thZ2VOYW1lfS4uLmApO1xuXG4gICAgY29uc3QgZGVzY3JpcHRpb24gPSBgJHtuYW1lc3BhY2V9IENvbnN0cnVjdCBMaWJyYXJ5YDtcblxuICAgIGF3YWl0IHdyaXRlKCdwYWNrYWdlLmpzb24nLCB7XG4gICAgICBuYW1lOiBtb2R1bGUucGFja2FnZU5hbWUsXG4gICAgICB2ZXJzaW9uLFxuICAgICAgZGVzY3JpcHRpb24sXG4gICAgICBtYWluOiAnbGliL2luZGV4LmpzJyxcbiAgICAgIHR5cGVzOiAnbGliL2luZGV4LmQudHMnLFxuICAgICAganNpaToge1xuICAgICAgICBvdXRkaXI6ICdkaXN0JyxcbiAgICAgICAgcHJvamVjdFJlZmVyZW5jZXM6IHRydWUsXG4gICAgICAgIHRhcmdldHM6IHtcbiAgICAgICAgICBkb3RuZXQ6IHtcbiAgICAgICAgICAgIG5hbWVzcGFjZTogbW9kdWxlLmRvdG5ldFBhY2thZ2UsXG4gICAgICAgICAgICBwYWNrYWdlSWQ6IG1vZHVsZS5kb3RuZXRQYWNrYWdlLFxuICAgICAgICAgICAgc2lnbkFzc2VtYmx5OiB0cnVlLFxuICAgICAgICAgICAgYXNzZW1ibHlPcmlnaW5hdG9yS2V5RmlsZTogJy4uLy4uL2tleS5zbmsnLFxuICAgICAgICAgICAgaWNvblVybDogJ2h0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9hd3MvYXdzLWNkay9tYXN0ZXIvbG9nby9kZWZhdWx0LTI1Ni1kYXJrLnBuZycsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBqYXZhOiB7XG4gICAgICAgICAgICBwYWNrYWdlOiBgJHttb2R1bGUuamF2YUdyb3VwSWR9LiR7bW9kdWxlLmphdmFQYWNrYWdlfWAsXG4gICAgICAgICAgICBtYXZlbjoge1xuICAgICAgICAgICAgICBncm91cElkOiBtb2R1bGUuamF2YUdyb3VwSWQsXG4gICAgICAgICAgICAgIGFydGlmYWN0SWQ6IG1vZHVsZS5qYXZhQXJ0aWZhY3RJZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBweXRob246IHtcbiAgICAgICAgICAgIGNsYXNzaWZpZXJzOiBbXG4gICAgICAgICAgICAgICdGcmFtZXdvcmsgOjogQVdTIENESycsXG4gICAgICAgICAgICAgICdGcmFtZXdvcmsgOjogQVdTIENESyA6OiAxJyxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBkaXN0TmFtZTogbW9kdWxlLnB5dGhvbkRpc3ROYW1lLFxuICAgICAgICAgICAgbW9kdWxlOiBtb2R1bGUucHl0aG9uTW9kdWxlTmFtZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgIGpzaWk6IHtcbiAgICAgICAgICAgIHJvc2V0dGE6IHtcbiAgICAgICAgICAgICAgc3RyaWN0OiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHJlcG9zaXRvcnk6IHtcbiAgICAgICAgdHlwZTogJ2dpdCcsXG4gICAgICAgIHVybDogJ2h0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay5naXQnLFxuICAgICAgICBkaXJlY3Rvcnk6IGBwYWNrYWdlcy8ke21vZHVsZS5wYWNrYWdlTmFtZX1gLFxuICAgICAgfSxcbiAgICAgIGhvbWVwYWdlOiAnaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrJyxcbiAgICAgIHNjcmlwdHM6IHtcbiAgICAgICAgYnVpbGQ6ICdjZGstYnVpbGQnLFxuICAgICAgICB3YXRjaDogJ2Nkay13YXRjaCcsXG4gICAgICAgIGxpbnQ6ICdjZGstbGludCcsXG4gICAgICAgIHRlc3Q6ICdjZGstdGVzdCcsXG4gICAgICAgIGludGVnOiAnY2RrLWludGVnJyxcbiAgICAgICAgcGtnbGludDogJ3BrZ2xpbnQgLWYnLFxuICAgICAgICBwYWNrYWdlOiAnY2RrLXBhY2thZ2UnLFxuICAgICAgICBhd3NsaW50OiAnY2RrLWF3c2xpbnQnLFxuICAgICAgICBjZm4ydHM6ICdjZm4ydHMnLFxuICAgICAgICAnYnVpbGQrdGVzdCc6ICd5YXJuIGJ1aWxkICYmIHlhcm4gdGVzdCcsXG4gICAgICAgICdidWlsZCt0ZXN0K3BhY2thZ2UnOiAneWFybiBidWlsZCt0ZXN0ICYmIHlhcm4gcGFja2FnZScsXG4gICAgICAgIGNvbXBhdDogJ2Nkay1jb21wYXQnLFxuICAgICAgICBnZW46ICdjZm4ydHMnLFxuICAgICAgICAncm9zZXR0YTpleHRyYWN0JzogJ3lhcm4gLS1zaWxlbnQganNpaS1yb3NldHRhIGV4dHJhY3QnLFxuICAgICAgICAnYnVpbGQrZXh0cmFjdCc6ICd5YXJuIGJ1aWxkICYmIHlhcm4gcm9zZXR0YTpleHRyYWN0JyxcbiAgICAgICAgJ2J1aWxkK3Rlc3QrZXh0cmFjdCc6ICd5YXJuIGJ1aWxkK3Rlc3QgJiYgeWFybiByb3NldHRhOmV4dHJhY3QnLFxuICAgICAgfSxcbiAgICAgICdjZGstYnVpbGQnOiB7XG4gICAgICAgIGNsb3VkZm9ybWF0aW9uOiBuYW1lc3BhY2UsXG4gICAgICAgIGplc3Q6IHRydWUsXG4gICAgICAgIGVudjoge1xuICAgICAgICAgIEFXU0xJTlRfQkFTRV9DT05TVFJVQ1Q6ICd0cnVlJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBrZXl3b3JkczogW1xuICAgICAgICAnYXdzJyxcbiAgICAgICAgJ2NkaycsXG4gICAgICAgICdjb25zdHJ1Y3RzJyxcbiAgICAgICAgbmFtZXNwYWNlLFxuICAgICAgICBtb2R1bGUubW9kdWxlTmFtZSxcbiAgICAgIF0sXG4gICAgICBhdXRob3I6IHtcbiAgICAgICAgbmFtZTogJ0FtYXpvbiBXZWIgU2VydmljZXMnLFxuICAgICAgICB1cmw6ICdodHRwczovL2F3cy5hbWF6b24uY29tJyxcbiAgICAgICAgb3JnYW5pemF0aW9uOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIGxpY2Vuc2U6ICdBcGFjaGUtMi4wJyxcbiAgICAgIGRldkRlcGVuZGVuY2llczoge1xuICAgICAgICAnQGF3cy1jZGsvYXNzZXJ0aW9ucyc6IHZlcnNpb24sXG4gICAgICAgICdAYXdzLWNkay9jZGstYnVpbGQtdG9vbHMnOiB2ZXJzaW9uLFxuICAgICAgICAnQGF3cy1jZGsvY2ZuMnRzJzogdmVyc2lvbixcbiAgICAgICAgJ0Bhd3MtY2RrL3BrZ2xpbnQnOiB2ZXJzaW9uLFxuICAgICAgICAnQHR5cGVzL2plc3QnOiAnXjI2LjAuMjInLFxuICAgICAgfSxcbiAgICAgIGRlcGVuZGVuY2llczoge1xuICAgICAgICAnQGF3cy1jZGsvY29yZSc6IHZlcnNpb24sXG4gICAgICB9LFxuICAgICAgcGVlckRlcGVuZGVuY2llczoge1xuICAgICAgICAnQGF3cy1jZGsvY29yZSc6IHZlcnNpb24sXG4gICAgICB9LFxuICAgICAgZW5naW5lczoge1xuICAgICAgICBub2RlOiAnPj0gMTAuMTMuMCA8MTMgfHwgPj0xMy43LjAnLFxuICAgICAgfSxcbiAgICAgIHN0YWJpbGl0eTogJ2V4cGVyaW1lbnRhbCcsXG4gICAgICBtYXR1cml0eTogJ2Nmbi1vbmx5JyxcbiAgICAgIGF3c2Nka2lvOiB7XG4gICAgICAgIGFubm91bmNlOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICBwdWJsaXNoQ29uZmlnOiB7XG4gICAgICAgIHRhZzogJ2xhdGVzdCcsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgYXdhaXQgd3JpdGUoJy5naXRpZ25vcmUnLCBbXG4gICAgICAnKi5qcycsXG4gICAgICAnKi5qcy5tYXAnLFxuICAgICAgJyouZC50cycsXG4gICAgICAndHNjb25maWcuanNvbicsXG4gICAgICAnbm9kZV9tb2R1bGVzJyxcbiAgICAgICcqLmdlbmVyYXRlZC50cycsXG4gICAgICAnZGlzdCcsXG4gICAgICAnLmpzaWknLFxuICAgICAgJycsXG4gICAgICAnLkxBU1RfQlVJTEQnLFxuICAgICAgJy5ueWNfb3V0cHV0JyxcbiAgICAgICdjb3ZlcmFnZScsXG4gICAgICAnLm55Y3JjJyxcbiAgICAgICcuTEFTVF9QQUNLQUdFJyxcbiAgICAgICcqLnNuaycsXG4gICAgICAnbnljLmNvbmZpZy5qcycsXG4gICAgICAnIS5lc2xpbnRyYy5qcycsXG4gICAgICAnIWplc3QuY29uZmlnLmpzJyxcbiAgICAgICdqdW5pdC54bWwnLFxuICAgIF0pO1xuXG4gICAgYXdhaXQgd3JpdGUoJy5ucG1pZ25vcmUnLCBbXG4gICAgICAnIyBEb25cXCd0IGluY2x1ZGUgb3JpZ2luYWwgLnRzIGZpbGVzIHdoZW4gZG9pbmcgYG5wbSBwYWNrYCcsXG4gICAgICAnKi50cycsXG4gICAgICAnISouZC50cycsXG4gICAgICAnY292ZXJhZ2UnLFxuICAgICAgJy5ueWNfb3V0cHV0JyxcbiAgICAgICcqLnRneicsXG4gICAgICAnJyxcbiAgICAgICdkaXN0JyxcbiAgICAgICcuTEFTVF9QQUNLQUdFJyxcbiAgICAgICcuTEFTVF9CVUlMRCcsXG4gICAgICAnISouanMnLFxuICAgICAgJycsXG4gICAgICAnIyBJbmNsdWRlIC5qc2lpJyxcbiAgICAgICchLmpzaWknLFxuICAgICAgJycsXG4gICAgICAnKi5zbmsnLFxuICAgICAgJycsXG4gICAgICAnKi50c2J1aWxkaW5mbycsXG4gICAgICAnJyxcbiAgICAgICd0c2NvbmZpZy5qc29uJyxcbiAgICAgICcnLFxuICAgICAgJy5lc2xpbnRyYy5qcycsXG4gICAgICAnamVzdC5jb25maWcuanMnLFxuICAgICAgJycsXG4gICAgICAnIyBleGNsdWRlIGNkayBhcnRpZmFjdHMnLFxuICAgICAgJyoqL2Nkay5vdXQnLFxuICAgICAgJ2p1bml0LnhtbCcsXG4gICAgICAndGVzdC8nLFxuICAgICAgJyEqLmxpdC50cycsXG4gICAgXSk7XG5cbiAgICBhd2FpdCB3cml0ZSgnbGliL2luZGV4LnRzJywgW1xuICAgICAgYC8vICR7bmFtZXNwYWNlfSBDbG91ZEZvcm1hdGlvbiBSZXNvdXJjZXM6YCxcbiAgICAgIGBleHBvcnQgKiBmcm9tICcuLyR7bG93Y2FzZU1vZHVsZU5hbWV9LmdlbmVyYXRlZCc7YCxcbiAgICBdKTtcblxuICAgIGF3YWl0IHdyaXRlKGB0ZXN0LyR7bG93Y2FzZU1vZHVsZU5hbWV9LnRlc3QudHNgLCBbXG4gICAgICBcImltcG9ydCAnQGF3cy1jZGsvYXNzZXJ0aW9ucyc7XCIsXG4gICAgICBcImltcG9ydCB7fSBmcm9tICcuLi9saWInO1wiLFxuICAgICAgJycsXG4gICAgICBcInRlc3QoJ05vIHRlc3RzIGFyZSBzcGVjaWZpZWQgZm9yIHRoaXMgcGFja2FnZScsICgpID0+IHtcIixcbiAgICAgICcgIGV4cGVjdCh0cnVlKS50b0JlKHRydWUpOycsXG4gICAgICAnfSk7JyxcbiAgICBdKTtcblxuICAgIGF3YWl0IHBrZ2xpbnQuY3JlYXRlTGlicmFyeVJlYWRtZShuYW1lc3BhY2UsIHBhdGguam9pbihwYWNrYWdlUGF0aCwgJ1JFQURNRS5tZCcpKTtcblxuICAgIGF3YWl0IHdyaXRlKCcuZXNsaW50cmMuanMnLCBbXG4gICAgICBcImNvbnN0IGJhc2VDb25maWcgPSByZXF1aXJlKCdAYXdzLWNkay9jZGstYnVpbGQtdG9vbHMvY29uZmlnL2VzbGludHJjJyk7XCIsXG4gICAgICBcImJhc2VDb25maWcucGFyc2VyT3B0aW9ucy5wcm9qZWN0ID0gX19kaXJuYW1lICsgJy90c2NvbmZpZy5qc29uJztcIixcbiAgICAgICdtb2R1bGUuZXhwb3J0cyA9IGJhc2VDb25maWc7JyxcbiAgICBdKTtcblxuICAgIGF3YWl0IHdyaXRlKCdqZXN0LmNvbmZpZy5qcycsIFtcbiAgICAgIFwiY29uc3QgYmFzZUNvbmZpZyA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2Nkay1idWlsZC10b29scy9jb25maWcvamVzdC5jb25maWcnKTtcIixcbiAgICAgICdtb2R1bGUuZXhwb3J0cyA9IGJhc2VDb25maWc7JyxcbiAgICBdKTtcblxuICAgIGF3YWl0IHdyaXRlKCdyb3NldHRhL2RlZmF1bHQudHMtZml4dHVyZScsIFtcbiAgICAgIFwiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XCIsXG4gICAgICBcImltcG9ydCB7IFN0YWNrIH0gZnJvbSAnQGF3cy1jZGsvY29yZSc7XCIsXG4gICAgICAnJyxcbiAgICAgICdjbGFzcyBNeVN0YWNrIGV4dGVuZHMgU3RhY2sgeycsXG4gICAgICAnICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7JyxcbiAgICAgICcgICAgLy8vIGhlcmUnLFxuICAgICAgJyAgfScsXG4gICAgICAnfScsXG4gICAgXSk7XG5cbiAgICBjb25zdCB0ZW1wbGF0ZURpciA9IHBhdGguam9pbihfX2Rpcm5hbWUsICd0ZW1wbGF0ZScpO1xuICAgIGZvciAoY29uc3QgZmlsZSBvZiBhd2FpdCBmcy5yZWFkZGlyKHRlbXBsYXRlRGlyKSkge1xuICAgICAgYXdhaXQgZnMuY29weShwYXRoLmpvaW4odGVtcGxhdGVEaXIsIGZpbGUpLCBwYXRoLmpvaW4ocGFja2FnZVBhdGgsIGZpbGUpKTtcbiAgICB9XG5cbiAgICBhd2FpdCBhZGREZXBlbmRlbmN5VG9NZWdhUGFja2FnZShwYXRoLmpvaW4oJ0Bhd3MtY2RrJywgJ2Nsb3VkZm9ybWF0aW9uLWluY2x1ZGUnKSwgbW9kdWxlLnBhY2thZ2VOYW1lLCB2ZXJzaW9uLCBbJ2RlcGVuZGVuY2llcycsICdwZWVyRGVwZW5kZW5jaWVzJ10pO1xuICAgIGF3YWl0IGFkZERlcGVuZGVuY3lUb01lZ2FQYWNrYWdlKCdhd3MtY2RrLWxpYicsIG1vZHVsZS5wYWNrYWdlTmFtZSwgdmVyc2lvbiwgWydkZXZEZXBlbmRlbmNpZXMnXSk7XG4gICAgYXdhaXQgYWRkRGVwZW5kZW5jeVRvTWVnYVBhY2thZ2UoJ21vbm9jZGsnLCBtb2R1bGUucGFja2FnZU5hbWUsIHZlcnNpb24sIFsnZGV2RGVwZW5kZW5jaWVzJ10pO1xuICAgIGF3YWl0IGFkZERlcGVuZGVuY3lUb01lZ2FQYWNrYWdlKCdkZWNkaycsIG1vZHVsZS5wYWNrYWdlTmFtZSwgdmVyc2lvbiwgWydkZXBlbmRlbmNpZXMnXSk7XG4gIH1cbn1cblxuLyoqXG4gKiBBIGZldyBvZiBvdXIgcGFja2FnZXMgKGUuZy4sIGRlY2RrLCBhd3MtY2RrLWxpYikgcmVxdWlyZSBhIGRlcGVuZGVuY3kgb24gZXZlcnkgc2VydmljZSBwYWNrYWdlLlxuICogVGhpcyBhdXRvbWF0ZXMgYWRkaW5nIHRoZSBkZXBlbmRlbmN5IChhbmQgcGVlciBkZXBlbmRlbmN5KSB0byB0aGUgcGFja2FnZS5qc29uLlxuICovXG5hc3luYyBmdW5jdGlvbiBhZGREZXBlbmRlbmN5VG9NZWdhUGFja2FnZShtZWdhUGFja2FnZU5hbWU6IHN0cmluZywgcGFja2FnZU5hbWU6IHN0cmluZywgdmVyc2lvbjogc3RyaW5nLCBkZXBlbmRlbmN5VHlwZXM6IHN0cmluZ1tdKSB7XG4gIGNvbnN0IHBhY2thZ2VKc29uUGF0aCA9IHBhdGguam9pbihfX2Rpcm5hbWUsICcuLicsICcuLicsICcuLicsIG1lZ2FQYWNrYWdlTmFtZSwgJ3BhY2thZ2UuanNvbicpO1xuICBjb25zdCBwYWNrYWdlSnNvbiA9IEpTT04ucGFyc2UoYXdhaXQgZnMucmVhZEZpbGUocGFja2FnZUpzb25QYXRoLCAndXRmOCcpKTtcbiAgZGVwZW5kZW5jeVR5cGVzLmZvckVhY2goZGVwZW5kZW5jeVR5cGUgPT4ge1xuICAgIGNvbnN0IHVub3JkZXJlZERlcHMgPSB7XG4gICAgICAuLi5wYWNrYWdlSnNvbltkZXBlbmRlbmN5VHlwZV0sXG4gICAgICBbcGFja2FnZU5hbWVdOiB2ZXJzaW9uLFxuICAgIH07XG4gICAgcGFja2FnZUpzb25bZGVwZW5kZW5jeVR5cGVdID0ge307XG4gICAgT2JqZWN0LmtleXModW5vcmRlcmVkRGVwcykuc29ydCgpLmZvckVhY2goayA9PiB7XG4gICAgICBwYWNrYWdlSnNvbltkZXBlbmRlbmN5VHlwZV1ba10gPSB1bm9yZGVyZWREZXBzW2tdO1xuICAgIH0pO1xuICB9KTtcbiAgYXdhaXQgZnMud3JpdGVGaWxlKHBhY2thZ2VKc29uUGF0aCwgSlNPTi5zdHJpbmdpZnkocGFja2FnZUpzb24sIG51bGwsIDIpICsgJ1xcbicpO1xufVxuXG5tYWluKCkuY2F0Y2goZSA9PiB7XG4gIGNvbnNvbGUuZXJyb3IoZSk7XG4gIHByb2Nlc3MuZXhpdCgxKTtcbn0pO1xuIl19
@@ -1 +1 @@
1
- 49.0.0
1
+ 51.0.0
@@ -63,6 +63,14 @@ var jumpToCode = (function init() {
63
63
  }
64
64
 
65
65
  return function jump(event) {
66
+ if (
67
+ document.getElementById('fileSearch') === document.activeElement &&
68
+ document.activeElement != null
69
+ ) {
70
+ // if we're currently focused on the search input, we don't want to navigate
71
+ return;
72
+ }
73
+
66
74
  switch (event.which) {
67
75
  case 78: // n
68
76
  case 74: // j
@@ -54,6 +54,12 @@
54
54
  <p class="quiet">
55
55
  Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
56
  </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
57
63
  </div>
58
64
  <div class='status-line low'></div>
59
65
  <div class="pad1">
@@ -109,8 +115,8 @@
109
115
  </div><!-- /wrapper -->
110
116
  <div class='footer quiet pad2 space-top1 center small'>
111
117
  Code coverage generated by
112
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
113
- at Wed Dec 08 2021 11:36:07 GMT+0000 (Coordinated Universal Time)
118
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener">istanbul</a>
119
+ at Wed Dec 15 2021 09:43:54 GMT+0000 (Coordinated Universal Time)
114
120
  </div>
115
121
  </div>
116
122
  <script src="../prettify.js"></script>
@@ -54,6 +54,12 @@
54
54
  <p class="quiet">
55
55
  Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
56
  </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
57
63
  </div>
58
64
  <div class='status-line low'></div>
59
65
  <pre><table class="coverage">
@@ -426,8 +432,8 @@ export function <span class="fstat-no" title="function not covered" >normalize(<
426
432
  </div><!-- /wrapper -->
427
433
  <div class='footer quiet pad2 space-top1 center small'>
428
434
  Code coverage generated by
429
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
430
- at Wed Dec 08 2021 11:36:07 GMT+0000 (Coordinated Universal Time)
435
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener">istanbul</a>
436
+ at Wed Dec 15 2021 09:43:54 GMT+0000 (Coordinated Universal Time)
431
437
  </div>
432
438
  </div>
433
439
  <script src="../prettify.js"></script>
@@ -54,6 +54,12 @@
54
54
  <p class="quiet">
55
55
  Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
56
  </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
57
63
  </div>
58
64
  <div class='status-line medium'></div>
59
65
  <pre><table class="coverage">
@@ -327,8 +333,8 @@ function <span class="fstat-no" title="function not covered" >apply2&lt;</span>T
327
333
  </div><!-- /wrapper -->
328
334
  <div class='footer quiet pad2 space-top1 center small'>
329
335
  Code coverage generated by
330
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
331
- at Wed Dec 08 2021 11:36:07 GMT+0000 (Coordinated Universal Time)
336
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener">istanbul</a>
337
+ at Wed Dec 15 2021 09:43:54 GMT+0000 (Coordinated Universal Time)
332
338
  </div>
333
339
  </div>
334
340
  <script src="../prettify.js"></script>
@@ -54,6 +54,12 @@
54
54
  <p class="quiet">
55
55
  Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
56
  </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
57
63
  </div>
58
64
  <div class='status-line high'></div>
59
65
  <div class="pad1">
@@ -139,8 +145,8 @@
139
145
  </div><!-- /wrapper -->
140
146
  <div class='footer quiet pad2 space-top1 center small'>
141
147
  Code coverage generated by
142
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
143
- at Wed Dec 08 2021 11:36:07 GMT+0000 (Coordinated Universal Time)
148
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener">istanbul</a>
149
+ at Wed Dec 15 2021 09:43:54 GMT+0000 (Coordinated Universal Time)
144
150
  </div>
145
151
  </div>
146
152
  <script src="prettify.js"></script>