@cdklabs/cdk-ecs-codedeploy 0.0.39 → 0.0.41

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 (179) hide show
  1. package/.jsii +3 -3
  2. package/lib/api-canary/index.js +1 -1
  3. package/lib/ecs-appspec/index.js +1 -1
  4. package/lib/ecs-deployment/index.js +1 -1
  5. package/lib/ecs-patterns/application-load-balanced-codedeployed-fargate-service.js +1 -1
  6. package/node_modules/@aws-crypto/ie11-detection/CHANGELOG.md +9 -33
  7. package/node_modules/@aws-crypto/ie11-detection/build/MsSubtleCrypto.d.ts +5 -5
  8. package/node_modules/@aws-crypto/ie11-detection/package.json +2 -2
  9. package/node_modules/@aws-crypto/sha256-browser/CHANGELOG.md +28 -52
  10. package/node_modules/@aws-crypto/sha256-browser/README.md +11 -0
  11. package/node_modules/@aws-crypto/sha256-browser/build/constants.js +1 -1
  12. package/node_modules/@aws-crypto/sha256-browser/build/constants.js.map +1 -0
  13. package/node_modules/@aws-crypto/sha256-browser/build/crossPlatformSha256.d.ts +4 -3
  14. package/node_modules/@aws-crypto/sha256-browser/build/crossPlatformSha256.js +6 -2
  15. package/node_modules/@aws-crypto/sha256-browser/build/crossPlatformSha256.js.map +1 -0
  16. package/node_modules/@aws-crypto/sha256-browser/build/ie11Sha256.d.ts +4 -2
  17. package/node_modules/@aws-crypto/sha256-browser/build/ie11Sha256.js +14 -10
  18. package/node_modules/@aws-crypto/sha256-browser/build/ie11Sha256.js.map +1 -0
  19. package/node_modules/@aws-crypto/sha256-browser/build/index.js +2 -2
  20. package/node_modules/@aws-crypto/sha256-browser/build/index.js.map +1 -0
  21. package/node_modules/@aws-crypto/sha256-browser/build/isEmptyData.js +1 -1
  22. package/node_modules/@aws-crypto/sha256-browser/build/isEmptyData.js.map +1 -0
  23. package/node_modules/@aws-crypto/sha256-browser/build/webCryptoSha256.d.ts +5 -3
  24. package/node_modules/@aws-crypto/sha256-browser/build/webCryptoSha256.js +15 -9
  25. package/node_modules/@aws-crypto/sha256-browser/build/webCryptoSha256.js.map +1 -0
  26. package/node_modules/@aws-crypto/sha256-browser/package.json +8 -7
  27. package/node_modules/@aws-crypto/sha256-browser/src/crossPlatformSha256.ts +9 -4
  28. package/node_modules/@aws-crypto/sha256-browser/src/ie11Sha256.ts +22 -16
  29. package/node_modules/@aws-crypto/sha256-browser/src/webCryptoSha256.ts +24 -17
  30. package/node_modules/@aws-crypto/sha256-js/CHANGELOG.md +28 -48
  31. package/node_modules/@aws-crypto/sha256-js/README.md +11 -0
  32. package/node_modules/@aws-crypto/sha256-js/build/RawSha256.js +1 -1
  33. package/node_modules/@aws-crypto/{sha256-browser/node_modules/@aws-crypto/sha256-js → sha256-js}/build/RawSha256.js.map +0 -0
  34. package/node_modules/@aws-crypto/sha256-js/build/constants.js +1 -1
  35. package/node_modules/@aws-crypto/{sha256-browser/node_modules/@aws-crypto/sha256-js → sha256-js}/build/constants.js.map +0 -0
  36. package/node_modules/@aws-crypto/sha256-js/build/index.js +2 -2
  37. package/node_modules/@aws-crypto/{sha256-browser/node_modules/@aws-crypto/sha256-js → sha256-js}/build/index.js.map +0 -0
  38. package/node_modules/@aws-crypto/sha256-js/build/jsSha256.d.ts +6 -4
  39. package/node_modules/@aws-crypto/sha256-js/build/jsSha256.js +24 -19
  40. package/node_modules/@aws-crypto/sha256-js/build/jsSha256.js.map +1 -0
  41. package/node_modules/@aws-crypto/sha256-js/build/knownHashes.fixture.js +1 -1
  42. package/node_modules/@aws-crypto/{sha256-browser/node_modules/@aws-crypto/sha256-js → sha256-js}/build/knownHashes.fixture.js.map +0 -0
  43. package/node_modules/@aws-crypto/sha256-js/package.json +5 -4
  44. package/node_modules/@aws-crypto/sha256-js/src/jsSha256.ts +31 -23
  45. package/node_modules/@aws-crypto/supports-web-crypto/CHANGELOG.md +9 -33
  46. package/node_modules/@aws-crypto/supports-web-crypto/package.json +2 -2
  47. package/node_modules/@aws-crypto/util/CHANGELOG.md +12 -29
  48. package/node_modules/@aws-crypto/util/package.json +3 -3
  49. package/node_modules/@aws-sdk/abort-controller/package.json +2 -2
  50. package/node_modules/@aws-sdk/client-codedeploy/dist-cjs/protocols/Aws_json1_1.js +2 -2
  51. package/node_modules/@aws-sdk/client-codedeploy/dist-es/protocols/Aws_json1_1.js +2 -2
  52. package/node_modules/@aws-sdk/client-codedeploy/dist-types/CodeDeployClient.d.ts +3 -3
  53. package/node_modules/@aws-sdk/client-codedeploy/dist-types/ts3.4/CodeDeployClient.d.ts +2 -1
  54. package/node_modules/@aws-sdk/client-codedeploy/package.json +32 -32
  55. package/node_modules/@aws-sdk/client-sso/dist-types/SSOClient.d.ts +3 -3
  56. package/node_modules/@aws-sdk/client-sso/dist-types/ts3.4/SSOClient.d.ts +2 -1
  57. package/node_modules/@aws-sdk/client-sso/package.json +28 -28
  58. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/SSOOIDCClient.d.ts +3 -3
  59. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/ts3.4/SSOOIDCClient.d.ts +2 -1
  60. package/node_modules/@aws-sdk/client-sso-oidc/package.json +28 -28
  61. package/node_modules/@aws-sdk/client-sts/dist-types/STSClient.d.ts +3 -3
  62. package/node_modules/@aws-sdk/client-sts/dist-types/ts3.4/STSClient.d.ts +2 -1
  63. package/node_modules/@aws-sdk/client-sts/package.json +31 -31
  64. package/node_modules/@aws-sdk/config-resolver/package.json +5 -5
  65. package/node_modules/@aws-sdk/credential-provider-env/package.json +3 -3
  66. package/node_modules/@aws-sdk/credential-provider-imds/package.json +5 -5
  67. package/node_modules/@aws-sdk/credential-provider-ini/package.json +9 -9
  68. package/node_modules/@aws-sdk/credential-provider-node/package.json +10 -10
  69. package/node_modules/@aws-sdk/credential-provider-process/package.json +4 -4
  70. package/node_modules/@aws-sdk/credential-provider-sso/package.json +6 -6
  71. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
  72. package/node_modules/@aws-sdk/fetch-http-handler/package.json +5 -5
  73. package/node_modules/@aws-sdk/hash-node/dist-cjs/index.js +10 -2
  74. package/node_modules/@aws-sdk/hash-node/dist-es/index.js +10 -2
  75. package/node_modules/@aws-sdk/hash-node/dist-types/index.d.ts +6 -3
  76. package/node_modules/@aws-sdk/hash-node/dist-types/ts3.4/index.d.ts +6 -3
  77. package/node_modules/@aws-sdk/hash-node/package.json +3 -2
  78. package/node_modules/@aws-sdk/invalid-dependency/package.json +2 -2
  79. package/node_modules/@aws-sdk/middleware-content-length/package.json +3 -3
  80. package/node_modules/@aws-sdk/middleware-endpoint/package.json +7 -7
  81. package/node_modules/@aws-sdk/middleware-host-header/package.json +3 -3
  82. package/node_modules/@aws-sdk/middleware-logger/package.json +2 -2
  83. package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +3 -3
  84. package/node_modules/@aws-sdk/middleware-retry/package.json +7 -7
  85. package/node_modules/@aws-sdk/middleware-sdk-sts/dist-types/index.d.ts +2 -2
  86. package/node_modules/@aws-sdk/middleware-sdk-sts/dist-types/ts3.4/index.d.ts +2 -1
  87. package/node_modules/@aws-sdk/middleware-sdk-sts/package.json +6 -6
  88. package/node_modules/@aws-sdk/middleware-serde/package.json +2 -2
  89. package/node_modules/@aws-sdk/middleware-signing/dist-types/configurations.d.ts +3 -3
  90. package/node_modules/@aws-sdk/middleware-signing/dist-types/ts3.4/configurations.d.ts +3 -2
  91. package/node_modules/@aws-sdk/middleware-signing/package.json +6 -6
  92. package/node_modules/@aws-sdk/middleware-stack/package.json +2 -2
  93. package/node_modules/@aws-sdk/middleware-user-agent/package.json +4 -4
  94. package/node_modules/@aws-sdk/node-config-provider/package.json +4 -4
  95. package/node_modules/@aws-sdk/node-http-handler/package.json +5 -5
  96. package/node_modules/@aws-sdk/property-provider/package.json +2 -2
  97. package/node_modules/@aws-sdk/protocol-http/package.json +2 -2
  98. package/node_modules/@aws-sdk/querystring-builder/package.json +2 -2
  99. package/node_modules/@aws-sdk/querystring-parser/package.json +2 -2
  100. package/node_modules/@aws-sdk/service-error-classification/package.json +2 -2
  101. package/node_modules/@aws-sdk/shared-ini-file-loader/package.json +2 -2
  102. package/node_modules/@aws-sdk/signature-v4/dist-cjs/SignatureV4.js +4 -3
  103. package/node_modules/@aws-sdk/signature-v4/dist-cjs/credentialDerivation.js +2 -1
  104. package/node_modules/@aws-sdk/signature-v4/dist-cjs/getPayloadHash.js +2 -1
  105. package/node_modules/@aws-sdk/signature-v4/dist-es/SignatureV4.js +4 -3
  106. package/node_modules/@aws-sdk/signature-v4/dist-es/credentialDerivation.js +2 -1
  107. package/node_modules/@aws-sdk/signature-v4/dist-es/getPayloadHash.js +2 -1
  108. package/node_modules/@aws-sdk/signature-v4/dist-types/SignatureV4.d.ts +3 -3
  109. package/node_modules/@aws-sdk/signature-v4/dist-types/credentialDerivation.d.ts +2 -2
  110. package/node_modules/@aws-sdk/signature-v4/dist-types/getPayloadHash.d.ts +2 -2
  111. package/node_modules/@aws-sdk/signature-v4/dist-types/ts3.4/SignatureV4.d.ts +3 -2
  112. package/node_modules/@aws-sdk/signature-v4/dist-types/ts3.4/credentialDerivation.d.ts +6 -2
  113. package/node_modules/@aws-sdk/signature-v4/dist-types/ts3.4/getPayloadHash.d.ts +6 -2
  114. package/node_modules/@aws-sdk/signature-v4/package.json +6 -5
  115. package/node_modules/@aws-sdk/smithy-client/package.json +3 -3
  116. package/node_modules/@aws-sdk/token-providers/package.json +5 -5
  117. package/node_modules/@aws-sdk/types/dist-types/checksum.d.ts +9 -0
  118. package/node_modules/@aws-sdk/types/dist-types/crypto.d.ts +2 -0
  119. package/node_modules/@aws-sdk/types/dist-types/stream.d.ts +2 -1
  120. package/node_modules/@aws-sdk/types/dist-types/ts3.4/checksum.d.ts +4 -0
  121. package/node_modules/@aws-sdk/types/dist-types/ts3.4/stream.d.ts +2 -1
  122. package/node_modules/@aws-sdk/types/package.json +1 -1
  123. package/node_modules/@aws-sdk/url-parser/package.json +3 -3
  124. package/node_modules/@aws-sdk/util-defaults-mode-browser/package.json +4 -4
  125. package/node_modules/@aws-sdk/util-defaults-mode-node/package.json +7 -7
  126. package/node_modules/@aws-sdk/util-endpoints/package.json +2 -2
  127. package/node_modules/@aws-sdk/util-middleware/package.json +2 -2
  128. package/node_modules/@aws-sdk/util-retry/package.json +3 -3
  129. package/node_modules/@aws-sdk/util-user-agent-browser/package.json +3 -3
  130. package/node_modules/@aws-sdk/util-user-agent-node/package.json +4 -4
  131. package/node_modules/{@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js → @aws-sdk/util-utf8}/LICENSE +1 -1
  132. package/node_modules/@aws-sdk/util-utf8/README.md +4 -0
  133. package/node_modules/@aws-sdk/util-utf8/dist-cjs/fromUtf8.browser.js +5 -0
  134. package/node_modules/@aws-sdk/util-utf8/dist-cjs/fromUtf8.js +9 -0
  135. package/node_modules/@aws-sdk/util-utf8/dist-cjs/index.js +6 -0
  136. package/node_modules/@aws-sdk/util-utf8/dist-cjs/toUint8Array.js +14 -0
  137. package/node_modules/@aws-sdk/util-utf8/dist-cjs/toUtf8.browser.js +5 -0
  138. package/node_modules/@aws-sdk/util-utf8/dist-cjs/toUtf8.js +6 -0
  139. package/node_modules/@aws-sdk/util-utf8/dist-es/fromUtf8.browser.js +1 -0
  140. package/node_modules/@aws-sdk/util-utf8/dist-es/fromUtf8.js +5 -0
  141. package/node_modules/@aws-sdk/util-utf8/dist-es/index.js +3 -0
  142. package/node_modules/@aws-sdk/util-utf8/dist-es/toUint8Array.js +10 -0
  143. package/node_modules/@aws-sdk/util-utf8/dist-es/toUtf8.browser.js +1 -0
  144. package/node_modules/@aws-sdk/util-utf8/dist-es/toUtf8.js +2 -0
  145. package/node_modules/@aws-sdk/util-utf8/dist-types/fromUtf8.browser.d.ts +1 -0
  146. package/node_modules/@aws-sdk/util-utf8/dist-types/fromUtf8.d.ts +1 -0
  147. package/node_modules/@aws-sdk/util-utf8/dist-types/index.d.ts +3 -0
  148. package/node_modules/@aws-sdk/util-utf8/dist-types/toUint8Array.d.ts +1 -0
  149. package/node_modules/@aws-sdk/util-utf8/dist-types/toUtf8.browser.d.ts +1 -0
  150. package/node_modules/@aws-sdk/util-utf8/dist-types/toUtf8.d.ts +1 -0
  151. package/node_modules/@aws-sdk/util-utf8/dist-types/ts3.4/fromUtf8.browser.d.ts +1 -0
  152. package/node_modules/@aws-sdk/util-utf8/dist-types/ts3.4/fromUtf8.d.ts +1 -0
  153. package/node_modules/@aws-sdk/util-utf8/dist-types/ts3.4/index.d.ts +3 -0
  154. package/node_modules/@aws-sdk/util-utf8/dist-types/ts3.4/toUint8Array.d.ts +3 -0
  155. package/node_modules/@aws-sdk/util-utf8/dist-types/ts3.4/toUtf8.browser.d.ts +1 -0
  156. package/node_modules/@aws-sdk/util-utf8/dist-types/ts3.4/toUtf8.d.ts +1 -0
  157. package/node_modules/@aws-sdk/util-utf8/package.json +62 -0
  158. package/node_modules/@aws-sdk/util-waiter/package.json +3 -3
  159. package/package.json +6 -6
  160. package/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/CHANGELOG.md +0 -125
  161. package/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/README.md +0 -18
  162. package/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/RawSha256.d.ts +0 -17
  163. package/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/RawSha256.js +0 -124
  164. package/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/constants.d.ts +0 -20
  165. package/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/constants.js +0 -98
  166. package/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/index.d.ts +0 -1
  167. package/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/index.js +0 -5
  168. package/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/jsSha256.d.ts +0 -10
  169. package/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/jsSha256.js +0 -80
  170. package/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/jsSha256.js.map +0 -1
  171. package/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/knownHashes.fixture.d.ts +0 -5
  172. package/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/build/knownHashes.fixture.js +0 -322
  173. package/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/package.json +0 -28
  174. package/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/src/RawSha256.ts +0 -164
  175. package/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/src/constants.ts +0 -98
  176. package/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/src/index.ts +0 -1
  177. package/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/src/jsSha256.ts +0 -86
  178. package/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/src/knownHashes.fixture.ts +0 -401
  179. package/node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js/tsconfig.json +0 -17
@@ -319,4 +319,4 @@ exports.hmacTestVectors = [
319
319
  (0, util_hex_encoding_1.fromHex)("9b09ffa71b942fcb27635fbcd5b0e944bfdc63644f0713938a7f51535c3a35e2")
320
320
  ]
321
321
  ];
322
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia25vd25IYXNoZXMuZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9rbm93bkhhc2hlcy5maXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGdFQUFxRDtBQUVyRCxJQUFNLFlBQVksR0FBRyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM3QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO0lBQ2hDLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7Q0FDdEI7QUFFWSxRQUFBLGVBQWUsR0FBb0M7SUFDOUQ7UUFDRSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM3QixJQUFBLDJCQUFPLEVBQUMsa0VBQWtFLENBQUM7S0FDNUU7SUFDRDtRQUNFLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNqQixJQUFBLDJCQUFPLEVBQUMsa0VBQWtFLENBQUM7S0FDNUU7SUFDRDtRQUNFLElBQUEsMkJBQU8sRUFBQyxJQUFJLENBQUM7UUFDYixJQUFBLDJCQUFPLEVBQUMsa0VBQWtFLENBQUM7S0FDNUU7SUFDRDtRQUNFLElBQUEsMkJBQU8sRUFBQyxNQUFNLENBQUM7UUFDZixJQUFBLDJCQUFPLEVBQUMsa0VBQWtFLENBQUM7S0FDNUU7SUFDRDtRQUNFLElBQUEsMkJBQU8sRUFBQyxRQUFRLENBQUM7UUFDakIsSUFBQSwyQkFBTyxFQUFDLGtFQUFrRSxDQUFDO0tBQzVFO0lBQ0Q7UUFDRSxJQUFBLDJCQUFPLEVBQUMsVUFBVSxDQUFDO1FBQ25CLElBQUEsMkJBQU8sRUFBQyxrRUFBa0UsQ0FBQztLQUM1RTtJQUNEO1FBQ0UsSUFBQSwyQkFBTyxFQUFDLFlBQVksQ0FBQztRQUNyQixJQUFBLDJCQUFPLEVBQUMsa0VBQWtFLENBQUM7S0FDNUU7SUFDRDtRQUNFLElBQUEsMkJBQU8sRUFBQyxjQUFjLENBQUM7UUFDdkIsSUFBQSwyQkFBTyxFQUFDLGtFQUFrRSxDQUFDO0tBQzVFO0lBQ0Q7UUFDRSxJQUFBLDJCQUFPLEVBQUMsZ0JBQWdCLENBQUM7UUFDekIsSUFBQSwyQkFBTyxFQUFDLGtFQUFrRSxDQUFDO0tBQzVFO0lBQ0Q7UUFDRSxJQUFBLDJCQUFPLEVBQUMsa0JBQWtCLENBQUM7UUFDM0IsSUFBQSwyQkFBTyxFQUFDLGtFQUFrRSxDQUFDO0tBQzVFO0lBQ0Q7UUFDRSxJQUFBLDJCQUFPLEVBQUMsb0JBQW9CLENBQUM7UUFDN0IsSUFBQSwyQkFBTyxFQUFDLGtFQUFrRSxDQUFDO0tBQzVFO0lBQ0Q7UUFDRSxJQUFBLDJCQUFPLEVBQUMsc0JBQXNCLENBQUM7UUFDL0IsSUFBQSwyQkFBTyxFQUFDLGtFQUFrRSxDQUFDO0tBQzVFO0lBQ0Q7UUFDRSxJQUFBLDJCQUFPLEVBQUMsd0JBQXdCLENBQUM7UUFDakMsSUFBQSwyQkFBTyxFQUFDLGtFQUFrRSxDQUFDO0tBQzVFO0lBQ0Q7UUFDRSxJQUFBLDJCQUFPLEVBQUMsMEJBQTBCLENBQUM7UUFDbkMsSUFBQSwyQkFBTyxFQUFDLGtFQUFrRSxDQUFDO0tBQzVFO0lBQ0Q7UUFDRSxJQUFBLDJCQUFPLEVBQUMsNEJBQTRCLENBQUM7UUFDckMsSUFBQSwyQkFBTyxFQUFDLGtFQUFrRSxDQUFDO0tBQzVFO0lBQ0Q7UUFDRSxJQUFBLDJCQUFPLEVBQUMsOEJBQThCLENBQUM7UUFDdkMsSUFBQSwyQkFBTyxFQUFDLGtFQUFrRSxDQUFDO0tBQzVFO0lBQ0Q7UUFDRSxJQUFBLDJCQUFPLEVBQUMsZ0NBQWdDLENBQUM7UUFDekMsSUFBQSwyQkFBTyxFQUFDLGtFQUFrRSxDQUFDO0tBQzVFO0lBQ0Q7UUFDRSxJQUFBLDJCQUFPLEVBQUMsa0NBQWtDLENBQUM7UUFDM0MsSUFBQSwyQkFBTyxFQUFDLGtFQUFrRSxDQUFDO0tBQzVFO0lBQ0Q7UUFDRSxJQUFBLDJCQUFPLEVBQUMsb0NBQW9DLENBQUM7UUFDN0MsSUFBQSwyQkFBTyxFQUFDLGtFQUFrRSxDQUFDO0tBQzVFO0lBQ0Q7UUFDRSxJQUFBLDJCQUFPLEVBQUMsc0NBQXNDLENBQUM7UUFDL0MsSUFBQSwyQkFBTyxFQUFDLGtFQUFrRSxDQUFDO0tBQzVFO0lBQ0Q7UUFDRSxJQUFBLDJCQUFPLEVBQUMsd0NBQXdDLENBQUM7UUFDakQsSUFBQSwyQkFBTyxFQUFDLGtFQUFrRSxDQUFDO0tBQzVFO0lBQ0Q7UUFDRSxJQUFBLDJCQUFPLEVBQUMsMENBQTBDLENBQUM7UUFDbkQsSUFBQSwyQkFBTyxFQUFDLGtFQUFrRSxDQUFDO0tBQzVFO0lBQ0Q7UUFDRSxJQUFBLDJCQUFPLEVBQUMsNENBQTRDLENBQUM7UUFDckQsSUFBQSwyQkFBTyxFQUFDLGtFQUFrRSxDQUFDO0tBQzVFO0lBQ0Q7UUFDRSxJQUFBLDJCQUFPLEVBQUMsOENBQThDLENBQUM7UUFDdkQsSUFBQSwyQkFBTyxFQUFDLGtFQUFrRSxDQUFDO0tBQzVFO0lBQ0Q7UUFDRSxJQUFBLDJCQUFPLEVBQUMsZ0RBQWdELENBQUM7UUFDekQsSUFBQSwyQkFBTyxFQUFDLGtFQUFrRSxDQUFDO0tBQzVFO0lBQ0Q7UUFDRSxJQUFBLDJCQUFPLEVBQUMsa0RBQWtELENBQUM7UUFDM0QsSUFBQSwyQkFBTyxFQUFDLGtFQUFrRSxDQUFDO0tBQzVFO0lBQ0Q7UUFDRSxJQUFBLDJCQUFPLEVBQUMsb0RBQW9ELENBQUM7UUFDN0QsSUFBQSwyQkFBTyxFQUFDLGtFQUFrRSxDQUFDO0tBQzVFO0lBQ0Q7UUFDRSxJQUFBLDJCQUFPLEVBQUMsc0RBQXNELENBQUM7UUFDL0QsSUFBQSwyQkFBTyxFQUFDLGtFQUFrRSxDQUFDO0tBQzVFO0lBQ0Q7UUFDRSxJQUFBLDJCQUFPLEVBQUMsd0RBQXdELENBQUM7UUFDakUsSUFBQSwyQkFBTyxFQUFDLGtFQUFrRSxDQUFDO0tBQzVFO0lBQ0Q7UUFDRSxJQUFBLDJCQUFPLEVBQUMsMERBQTBELENBQUM7UUFDbkUsSUFBQSwyQkFBTyxFQUFDLGtFQUFrRSxDQUFDO0tBQzVFO0lBQ0Q7UUFDRSxJ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QztLQUM1RTtJQUNEO1FBQ0UsSUFBQSwyQkFBTyxFQUNMLHdRQUF3USxDQUN6UTtRQUNELElBQUEsMkJBQU8sRUFDTCxrVEFBa1QsQ0FDblQ7UUFDRCxJQUFBLDJCQUFPLEVBQUMsa0VBQWtFLENBQUM7S0FDNUU7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZnJvbUhleCB9IGZyb20gXCJAYXdzLXNkay91dGlsLWhleC1lbmNvZGluZ1wiO1xuXG5jb25zdCBtaWxsaW9uQ2hhcnMgPSBuZXcgVWludDhBcnJheSgxMDAwMDAwKTtcbmZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwMDsgaSsrKSB7XG4gIG1pbGxpb25DaGFyc1tpXSA9IDk3O1xufVxuXG5leHBvcnQgY29uc3QgaGFzaFRlc3RWZWN0b3JzOiBBcnJheTxbVWludDhBcnJheSwgVWludDhBcnJheV0+ID0gW1xuICBbXG4gICAgVWludDhBcnJheS5mcm9tKFs5NywgOTgsIDk5XSksXG4gICAgZnJvbUhleChcImJhNzgxNmJmOGYwMWNmZWE0MTQxNDBkZTVkYWUyMjIzYjAwMzYxYTM5NjE3N2E5Y2I0MTBmZjYxZjIwMDE1YWRcIilcbiAgXSxcbiAgW1xuICAgIG5ldyBVaW50OEFycmF5KDApLFxuICAgIGZyb21IZXgoXCJlM2IwYzQ0Mjk4ZmMxYzE0OWFmYmY0Yzg5OTZmYjkyNDI3YWU0MWU0NjQ5YjkzNGNhNDk1OTkxYjc4NTJiODU1XCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFwiNjFcIiksXG4gICAgZnJvbUhleChcImNhOTc4MTEyY2ExYmJkY2FmYWMyMzFiMzlhMjNkYzRkYTc4NmVmZjgxNDdjNGU3MmI5ODA3Nzg1YWZlZTQ4YmJcIilcbiAgXSxcbiAgW1xuICAgIGZyb21IZXgoXCI2MTYxXCIpLFxuICAgIGZyb21IZXgoXCI5NjFiNmRkM2VkZTNjYjhlY2JhYWNiZDY4ZGUwNDBjZDc4ZWIyZWQ1ODg5MTMwY2NlYjRjNDkyNjhlYTRkNTA2XCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFwiNjE2MTYxXCIpLFxuICAgIGZyb21IZXgoXCI5ODM0ODc2ZGNmYjA1Y2IxNjdhNWMyNDk1M2ViYTU4YzRhYzg5YjFhZGY1N2YyOGYyZjlkMDlhZjEwN2VlOGYwXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFwiNjE2MTYxNjFcIiksXG4gICAgZnJvbUhleChcIjYxYmU1NWE4ZTJmNmI0ZTE3MjMzOGJkZGYxODRkNmRiZWUyOWM5ODg1M2UwYTA0ODVlY2VlN2YyN2I5YWYwYjRcIilcbiAgXSxcbiAgW1xuICAgIGZyb21IZXgoXCI2MTYxNjE2MTYxXCIpLFxuICAgIGZyb21IZXgoXCJlZDk2OGU4NDBkMTBkMmQzMTNhODcwYmMxMzFhNGUyYzMxMWQ3YWQwOWJkZjMyYjM0MTgxNDcyMjFmNTFhNmUyXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFwiNjE2MTYxNjE2MTYxXCIpLFxuICAgIGZyb21IZXgoXCJlZDAyNDU3YjVjNDFkOTY0ZGJkMmYyYTYwOWQ2M2ZlMWJiNzUyOGRiZTU1ZTFhYmY1YjUyYzI0OWNkNzM1Nzk3XCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFwiNjE2MTYxNjE2MTYxNjFcIiksXG4gICAgZnJvbUhleChcImU0NjI0MDcxNGI1ZGIzYTIzZWVlNjA0NzlhNjIzZWZiYTRkNjMzZDI3ZmU0ZjAzYzkwNGI5ZTIxOWE3ZmJlNjBcIilcbiAgXSxcbiAgW1xuICAgIGZyb21IZXgoXCI2MTYxNjE2MTYxNjE2MTYxXCIpLFxuICAgIGZyb21IZXgoXCIxZjNjZTQwNDE1YTIwODFmYTNlZWU3NWZjMzlmZmY4ZTU2YzIyMjcwZDFhOTc4YTcyNDliNTkyZGNlYmQyMGI0XCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFwiNjE2MTYxNjE2MTYxNjE2MTYxXCIpLFxuICAgIGZyb21IZXgoXCJmMmFjYTkzYjgwY2FlNjgxMjIxZjA0NDVmYTRlMmNhZThhMWY5ZjhmYTFlMTc0MWQ5NjM5Y2FhZDIyMmY1MzdkXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFwiNjE2MTYxNjE2MTYxNjE2MTYxNjFcIiksXG4gICAgZnJvbUhleChcImJmMmNiNThhNjhmNjg0ZDk1YTNiNzhlZjhmNjYxYzlhNGU1YjA5ZTgyY2M4ZjljYzg4Y2NlOTA1MjhjYWViMjdcIilcbiAgXSxcbiAgW1xuICAgIGZyb21IZXgoXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCIpLFxuICAgIGZyb21IZXgoXCIyOGNiMDE3ZGZjOTkwNzNhYTFiNDdjMWIzMGY0MTNlM2NlNzc0YzQ5OTFlYjQxNThkZTUwZjlkYmIzNmQ4MDQzXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFwiNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCIpLFxuICAgIGZyb21IZXgoXCJmMjRhYmMzNGIxM2ZhZGU3NmU4MDU3OTlmNzExODdkYTZjZDkwYjljYWMzNzNhZTY1ZWQ1N2YxNDNiZDY2NGU1XCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFwiNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjFcIiksXG4gICAgZnJvbUhleChcImE2ODlkNzg2ZTgxMzQwZTQ1NTExZGVjNmM3YWIyZDk3ODQzNGU1ZGIxMjMzNjI0NTBmZTEwY2ZhYzcwZDE5ZDBcIilcbiAgXSxcbiAgW1xuICAgIGZyb21IZXgoXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCIpLFxuICAgIGZyb21IZXgoXCI4MmNhYjdkZjBhYmZiOWQ5NWRjYTRlNTkzN2NlMjk2OGM3OThjNzI2ZmVhNDhjMDE2YmY5NzYzMjIxZWZkYTEzXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFwiNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCIpLFxuICAgIGZyb21IZXgoXCJlZjJkZjBiNTM5YzZjMjNkZTBmNGNiZTQyNjQ4YzMwMWFlMGUyMmU4ODczNDBhNDU5OWZiNGVmNGUyNjc4ZTQ4XCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFwiNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjFcIiksXG4gICAgZnJvbUhleChcIjBjMGJlYWNlZjg4NzdiYmYyNDE2ZWIwMGYyYjVkYzk2MzU0ZTI2ZGQxZGY1NTE3MzIwNDU5YjEyMzY4NjBmOGNcIilcbiAgXSxcbiAgW1xuICAgIGZyb21IZXgoXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCIpLFxuICAgIGZyb21IZXgoXCJiODYwNjY2ZWUyOTY2ZGQ4ZjkwM2JlNDRlZTYwNWM2ZTEzNjZmOTI2ZDlmMTdhOGY0OTkzN2QxMTYyNGViOTlkXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFwiNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCIpLFxuICAgIGZyb21IZXgoXCJjOTI2ZGVmYWFhM2QxM2VkYTJmYzYzYTU1M2JiN2ZiNzMyNmJlY2U2ZTdjYjY3Y2E1Mjk2ZTQ3MjdkODliYWI0XCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFwiNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjFcIiksXG4gICAgZnJvbUhleChcImEwYjRhYWFiOGE5NjZlMjE5M2JhMTcyZDY4MTYyYzQ2NTY4NjAxOTdmMjU2YjVmNDVmMDIwMzM5N2ZmM2Y5OWNcIilcbiAgXSxcbiAgW1xuICAgIGZyb21IZXgoXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCIpLFxuICAgIGZyb21IZXgoXCI0MjQ5MmRhMDYyMzRhZDBhYzc2ZjVkNWRlYmRiNmQxYWUwMjdjZmZiZTc0NmExYzEzYjg5YmI4YmMwMTM5MTM3XCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFwiNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCIpLFxuICAgIGZyb21IZXgoXCI3ZGY4ZTI5OWM4MzRkZTE5OGUyNjRjM2UzNzRiYzU4ZWNkOTM4MjI1MmE3MDVjMTgzYmViMDJmMjc1NTcxZTNiXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFwiNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjFcIiksXG4gICAgZnJvbUhleChcImVjN2M0OTRkZjZkMmE3ZWEzNjY2OGQ2NTZlNmI4OTc5ZTMzNjQxYmZlYTM3OGMxNTAzOGFmMzk2NGRiMDU3YTNcIilcbiAgXSxcbiAgW1xuICAgIGZyb21IZXgoXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCIpLFxuICAgIGZyb21IZXgoXCI4OTdkM2U5NWI2NWYyNjY3NjA4MWY4YjlmM2E5OGI2ZWU0NDI0NTY2MzAzZThkNGU3Yzc1MjJlYmFlMjE5ZWFiXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFwiNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCIpLFxuICAgIGZyb21IZXgoXCIwOWY2MWY4ZDljZDY1ZTZhMGMyNTgwODdjNDg1YjYyOTM1NDEzNjRlNDJiZDk3YjJkNzkzNjU4MGM4YWEzYzU0XCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFwiNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjFcIiksXG4gICAgZnJvbUhleChcIjJmNTIxZTJhN2QwYmQ4MTJjYmMwMzVmNGVkNjgwNmViOGQ4NTE3OTNiMDRiYTE0N2U4ZjY2YjcyZjVkMWYyMGZcIilcbiAgXSxcbiAgW1xuICAgIGZyb21IZXgoXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCIpLFxuICAgIGZyb21IZXgoXCI5OTc2ZDU0OWEyNTExNWRhYjRlMzZkMGMxZmI4ZjMxY2IwN2RhODdkZDgzMjc1OTc3MzYwZWI3ZGMwOWU4OGRlXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFwiNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCIpLFxuICAgIGZyb21IZXgoXCJjYzA2MTZlNjFjYmQ2ZThlNWUzNGU5ZmIyZDMyMGYzN2RlOTE1ODIwMjA2ZjU2OTZjMzFmMWZiZDI0YWExNmRlXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFwiNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjFcIiksXG4gICAgZnJvbUhleChcIjljNTQ3Y2I4MTE1YTQ0ODgzYjlmNzBiYTY4Zjc1MTE3Y2Q1NTM1OWM5MjYxMTg3NWUzODZmOGFmOThjMTcyYWJcIilcbiAgXSxcbiAgW1xuICAgIGZyb21IZXgoXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCIpLFxuICAgIGZyb21IZXgoXCI2OTEzYzljN2ZkNDJmZTIzZGY4YjZiY2Q0ZGJhZjFjMTc3NDg5NDhkOTdmMjk4MGI0MzIzMTljMzllZGRjZjZjXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFwiNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCIpLFxuICAgIGZyb21IZXgoXCIzYTU0ZmMwY2JjMGIwZWY0OGI2NTA3Yjc3ODgwOTYyMzVkMTAyOTJkZDNhZTI0ZTIyZjVhYTA2MmQ0Zjk4NjRhXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFwiNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjFcIiksXG4gICAgZnJvbUhleChcIjYxYzYwYjQ4N2QxYTkyMWUwYmNjOWJmODUzZGRhMGZiMTU5YjMwYmY1N2IyZTJkMmM3NTNiMDBiZTE1YjVhMDlcIilcbiAgXSxcbiAgW1xuICAgIGZyb21IZXgoXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCIpLFxuICAgIGZyb21IZXgoXCIzYmEzZjVmNDNiOTI2MDI2ODNjMTlhZWU2MmEyMDM0MmIwODRkZDU5NzFkZGQzMzgwOGQ4MWEzMjg4NzlhNTQ3XCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFxuICAgICAgXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjFcIlxuICAgICksXG4gICAgZnJvbUhleChcIjg1Mjc4NWM4MDVjNzdlNzFhMjIzNDBhNTRlOWQ5NTkzM2VkNDkxMjFlN2QyYmYzYzJkMzU4ODU0YmMxMzU5ZWFcIilcbiAgXSxcbiAgW1xuICAgIGZyb21IZXgoXG4gICAgICBcIjYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCJcbiAgICApLFxuICAgIGZyb21IZXgoXCJhMjdjODk2YzQ4NTkyMDQ4NDMxNjZhZjY2ZjBlOTAyYjljM2IzZWQ2ZDJmZDEzZDQzNWFiYzAyMDA2NWM1MjZmXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFxuICAgICAgXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCJcbiAgICApLFxuICAgIGZyb21IZXgoXCI2MjkzNjJhZmM2MmM3NDQ5N2NhZWQyMjcyZTMwZjgxMjVlY2QwOTY1ZjhkOGQ3Y2ZjNGUyNjBmN2Y4ZGQzMTlkXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFxuICAgICAgXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjFcIlxuICAgICksXG4gICAgZnJvbUhleChcIjIyYzFkMjRiY2QwM2U5YWVlOTgzMmVmY2NkNmRhNjEzZmM3MDI3OTMxNzhlNWYxMmM5NDVjN2I2N2RkZGE5MzNcIilcbiAgXSxcbiAgW1xuICAgIGZyb21IZXgoXG4gICAgICBcIjYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCJcbiAgICApLFxuICAgIGZyb21IZXgoXCIyMWVjMDU1YjM4Y2U3NTljZDRkMGY0NzdlOWJkZWMyYzViODE5OTk0NWRiNDQzOWJhZTMzNGE5NjRkZjYyNDZjXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFxuICAgICAgXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCJcbiAgICApLFxuICAgIGZyb21IZXgoXCIzNjVhOWMzZTJjMmFmMGE1NmU0N2E5ZGFjNTFjMmM1MzgxYmY4ZjQxMjczYmFkMzE3NWUwZTYxOTEyNmFkMDg3XCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFxuICAgICAgXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjFcIlxuICAgICksXG4gICAgZnJvbUhleChcImI0ZDVlNTZlOTI5YmE0Y2RhMzQ5ZTkyNzRlMzYwM2QwYmUyNDZiODIwMTZiY2EyMGYzNjM5NjNjNWYyZDY4NDVcIilcbiAgXSxcbiAgW1xuICAgIGZyb21IZXgoXG4gICAgICBcIjYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCJcbiAgICApLFxuICAgIGZyb21IZXgoXCJlMzNjZGY5YzdmNzEyMGI5OGU4Yzc4NDA4OTUzZTA3ZjJlY2QxODMwMDZiNTYwNmRmMzQ5YjRjMjEyYWNmNDNlXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFxuICAgICAgXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCJcbiAgICApLFxuICAgIGZyb21IZXgoXCJjMGY4YmQ0ZGJjMmIwYzAzMTA3YzFjMzc5MTNmMmE3NTAxZjUyMTQ2N2Y0NWRkMGZlZjY5NThlOWE0NjkyNzE5XCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFxuICAgICAgXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjFcIlxuICAgICksXG4gICAgZnJvbUhleChcIjdhNTM4NjA3ZmRhYWI5Mjk2OTk1OTI5ZjQ1MTU2NWJiYjgxNDJlMTg0NDExNzMyMmFhZmQyYjNkNzZiMDFhZmZcIilcbiAgXSxcbiAgW1xuICAgIGZyb21IZXgoXG4gICAgICBcIjYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCJcbiAgICApLFxuICAgIGZyb21IZXgoXCI2NmQzNGZiYTcxZjhmNDUwZjdlNDU1OTg4NTNlNTNiZmMyM2JiZDEyOTAyN2NiYjEzMWEyZjRmZmQ3ODc4Y2QwXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFxuICAgICAgXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCJcbiAgICApLFxuICAgIGZyb21IZXgoXCIxNjg0OTg3N2M2YzIxZWYwYmZhNjhlNGY2NzQ3MzAwZGRiMTcxYjE3MGI5ZjAwZTE4OWVkYzRjMmZjNGRiOTNlXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFxuICAgICAgXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjFcIlxuICAgICksXG4gICAgZnJvbUhleChcIjUyNzg5ZTM0MjNiNzJiZWViODk4NDU2YTRmNDk2NjJlNDZiMGNiYjk2MDc4NGM1ZWY0YjEzOTlkMzI3ZTdjMjdcIilcbiAgXSxcbiAgW1xuICAgIGZyb21IZXgoXG4gICAgICBcIjYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCJcbiAgICApLFxuICAgIGZyb21IZXgoXCI2NjQzMTEwYzU2MjhmZmY1OWVkZjc2ZDgyZDViZjU3M2JmODAwZjE2YTRkNjVkZmIxZTVkNmYxYTQ2Mjk2ZDBiXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFxuICAgICAgXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCJcbiAgICApLFxuICAgIGZyb21IZXgoXCIxMWVhZWQ5MzJjNmM2ZmRkZmMyZWZjMzk0ZTYwOWZhY2Y0YWJlODE0ZmM2MTgwZDAzYjE0ZmNlMTNhMDdkMGU1XCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFxuICAgICAgXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjFcIlxuICAgICksXG4gICAgZnJvbUhleChcIjk3ZGFhYzBlZTk5OThkZmNhZDZjOWMwOTcwZGE1Y2E0MTFjODYyMzNhOTQ0YzI1YjQ3NTY2ZjZhN2JjMWRkZDVcIilcbiAgXSxcbiAgW1xuICAgIGZyb21IZXgoXG4gICAgICBcIjYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCJcbiAgICApLFxuICAgIGZyb21IZXgoXCI4ZjliZWM2YTYyZGQyOGViZDM2ZDEyMjc3NDU1OTJkZTY2NThiMzY5NzRhM2JiOThhNGM1ODJmNjgzZWE2YzQyXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFxuICAgICAgXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCJcbiAgICApLFxuICAgIGZyb21IZXgoXCIxNjBiNGU0MzNlMzg0ZTA1ZTUzN2RjNTliNDY3ZjdjYjI0MDNmMDIxNGRiMTVjNWRiNTg4NjJhM2YxMTU2ZDJlXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFxuICAgICAgXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjFcIlxuICAgICksXG4gICAgZnJvbUhleChcImJmYzVmZTBlMzYwMTUyY2E5OGM1MGZhYjRlZDdlMzA3OGMxN2RlYmMyOTE3NzQwZDUwMDA5MTNiNjg2Y2ExMjlcIilcbiAgXSxcbiAgW1xuICAgIGZyb21IZXgoXG4gICAgICBcIjYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCJcbiAgICApLFxuICAgIGZyb21IZXgoXCI2YzFiM2RjN2E3MDZiOWRjODEzNTJhNjcxNmI5YzY2NmM2MDhkODYyNjI3MmM2NGI5MTRhYjA1NTcyZmM2ZTg0XCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFxuICAgICAgXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCJcbiAgICApLFxuICAgIGZyb21IZXgoXCJhYmUzNDZhNzI1OWZjOTBiNGMyNzE4NTQxOTYyOGU1ZTZhZjY0NjZiMWFlOWI1NDQ2Y2FjNGJmYzI2Y2YwNWM0XCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFxuICAgICAgXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjFcIlxuICAgICksXG4gICAgZnJvbUhleChcImEzZjAxYjY5MzkyNTYxMjc1ODJhYzhhZTlmYjQ3YTM4MmEyNDQ2ODA4MDZhM2Y2MTNhMTE4ODUxYzFjYTFkNDdcIilcbiAgXSxcbiAgW1xuICAgIGZyb21IZXgoXG4gICAgICBcIjYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCJcbiAgICApLFxuICAgIGZyb21IZXgoXCI5ZjQzOTBmOGQzMGMyZGQ5MmVjOWYwOTViNjVlMmI5YWU5YjBhOTI1YTUyNThlMjQxYzlmMWU5MTBmNzM0MzE4XCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFxuICAgICAgXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCJcbiAgICApLFxuICAgIGZyb21IZXgoXCJiMzU0MzlhNGFjNmYwOTQ4YjZkNmY5ZTNjNmFmMGY1ZjU5MGNlMjBmMWJkZTcwOTBlZjc5NzA2ODZlYzY3MzhhXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFxuICAgICAgXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjFcIlxuICAgICksXG4gICAgZnJvbUhleChcImYxM2IyZDcyNDY1OWViM2JmNDdmMmRkNmFmMWFjY2M4N2I4MWYwOWY1OWYyYjc1ZTVjMGJlZDY1ODlkZmU4YzZcIilcbiAgXSxcbiAgW1xuICAgIGZyb21IZXgoXG4gICAgICBcIjYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCJcbiAgICApLFxuICAgIGZyb21IZXgoXCJkNWMwMzliNzQ4YWE2NDY2NTc4Mjk3NGVjM2RjMzAyNWMwNDJlZGY1NGRjZGMyYjVkZTMxMzg1YjA5NGNiNjc4XCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFxuICAgICAgXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCJcbiAgICApLFxuICAgIGZyb21IZXgoXCIxMTFiYjI2MTI3N2FmZDY1ZjA3NDRiMjQ3Y2QzZTQ3ZDM4NmQ3MTU2M2QwZWQ5OTU1MTc4MDdkNWViZDRmYmEzXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFxuICAgICAgXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjFcIlxuICAgICksXG4gICAgZnJvbUhleChcIjExZWUzOTEyMTFjNjI1NjQ2MGI2ZWQzNzU5NTdmYWRkODA2MWNhZmJiMzFkYWY5NjdkYjg3NWFlYmQ1YWFhZDRcIilcbiAgXSxcbiAgW1xuICAgIGZyb21IZXgoXG4gICAgICBcIjYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCJcbiAgICApLFxuICAgIGZyb21IZXgoXCIzNWQ1ZmMxN2NmYmJhZGQwMGY1ZTcxMGFkYTM5ZjE5NGM1YWQ3Yzc2NmFkNjcwNzIyNDVmMWZhZDQ1ZjBmNTMwXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFxuICAgICAgXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCJcbiAgICApLFxuICAgIGZyb21IZXgoXCJmNTA2ODk4Y2M3YzJlMDkyZjllYjlmYWRhZTdiYTUwMzgzZjViNDZhMmE0ZmU1NTk3ZGJiNTUzYTc4OTgxMjY4XCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFxuICAgICAgXCI2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjFcIlxuICAgICksXG4gICAgZnJvbUhleChcIjdkM2U3NGEwNWQ3ZGIxNWJjZTRhZDllYzA2NThlYTk4ZTNmMDZlZWVjZjE2YjRjNmZmZjJkYTQ1N2RkYzJmMzRcIilcbiAgXSxcbiAgW1xuICAgIGZyb21IZXgoXG4gICAgICBcIjYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxXCJcbiAgICApLFxuICAgIGZyb21IZXgoXCJmZmUwNTRmZTdhZTBjYjZkYzY1YzNhZjliNjFkNTIwOWY0Mzk4NTFkYjQzZDBiYTU5OTczMzdkZjE1NDY2OGViXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFxuICAgICAgXCJkZTE4ODk0MWEzMzc1ZDNhOGEwNjFlNjc1NzZlOTI2ZGM3MWE3ZmEzZjBjY2ViOTc0NTJiNGQzMjI3OTY1ZjllYThjYzc1MDc2ZDlmYjljNTQxN2FhNWNiMzBmYzIyMTk4YjM0OTgyZGJiNjI5ZVwiXG4gICAgKSxcbiAgICBmcm9tSGV4KFwiMDM4MDUxZTljMzI0MzkzYmQxY2ExOTc4ZGQwOTUyYzJhYTM3NDJjYTRmMWJkNWNkNDYxMWNlYTgzODkyZDM4MlwiKVxuICBdLFxuICBbXG4gICAgbWlsbGlvbkNoYXJzLFxuICAgIGZyb21IZXgoXCJjZGM3NmU1Yzk5MTRmYjkyODFhMWM3ZTI4NGQ3M2U2N2YxODA5YTQ4YTQ5NzIwMGUwNDZkMzljY2M3MTEyY2QwXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFxuICAgICAgXCJhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhXCJcbiAgICApLFxuICAgIGZyb21IZXgoXCI0NWFkNGIzN2M2ZTJmYzBhMmNmY2MxYjVkYTUyNDEzMmVjNzA3NjE1YzJjYWUxZGJiYzQzYzk3YWE1MjFkYjgxXCIpXG4gIF1cbl07XG5cbi8qKlxuICogQHNlZSBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNDIzMVxuICovXG5leHBvcnQgY29uc3QgaG1hY1Rlc3RWZWN0b3JzOiBBcnJheTxbVWludDhBcnJheSwgVWludDhBcnJheSwgVWludDhBcnJheV0+ID0gW1xuICBbXG4gICAgZnJvbUhleChcIjBiMGIwYjBiMGIwYjBiMGIwYjBiMGIwYjBiMGIwYjBiMGIwYjBiMGJcIiksXG4gICAgZnJvbUhleChcIjQ4NjkyMDU0Njg2NTcyNjVcIiksXG4gICAgZnJvbUhleChcImIwMzQ0YzYxZDhkYjM4NTM1Y2E4YWZjZWFmMGJmMTJiODgxZGMyMDBjOTgzM2RhNzI2ZTkzNzZjMmUzMmNmZjdcIilcbiAgXSxcbiAgW1xuICAgIGZyb21IZXgoXCI0YTY1NjY2NVwiKSxcbiAgICBmcm9tSGV4KFwiNzc2ODYxNzQyMDY0NmYyMDc5NjEyMDc3NjE2ZTc0MjA2NjZmNzIyMDZlNmY3NDY4Njk2ZTY3M2ZcIiksXG4gICAgZnJvbUhleChcIjViZGNjMTQ2YmY2MDc1NGU2YTA0MjQyNjA4OTU3NWM3NWEwMDNmMDg5ZDI3Mzk4MzlkZWM1OGI5NjRlYzM4NDNcIilcbiAgXSxcbiAgW1xuICAgIGZyb21IZXgoXCJhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhXCIpLFxuICAgIGZyb21IZXgoXG4gICAgICBcImRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRcIlxuICAgICksXG4gICAgZnJvbUhleChcIjc3M2VhOTFlMzY4MDBlNDY4NTRkYjhlYmQwOTE4MWE3Mjk1OTA5OGIzZWY4YzEyMmQ5NjM1NTE0Y2VkNTY1ZmVcIilcbiAgXSxcbiAgW1xuICAgIGZyb21IZXgoXCIwMTAyMDMwNDA1MDYwNzA4MDkwYTBiMGMwZDBlMGYxMDExMTIxMzE0MTUxNjE3MTgxOVwiKSxcbiAgICBmcm9tSGV4KFxuICAgICAgXCJjZGNkY2RjZGNkY2RjZGNkY2RjZGNkY2RjZGNkY2RjZGNkY2RjZGNkY2RjZGNkY2RjZGNkY2RjZGNkY2RjZGNkY2RjZGNkY2RjZGNkY2RjZGNkY2RjZGNkY2RjZGNkY2RjZGNkXCJcbiAgICApLFxuICAgIGZyb21IZXgoXCI4MjU1OGEzODlhNDQzYzBlYTRjYzgxOTg5OWYyMDgzYTg1ZjBmYWEzZTU3OGY4MDc3YTJlM2ZmNDY3Mjk2NjViXCIpXG4gIF0sXG4gIFtcbiAgICBmcm9tSGV4KFxuICAgICAgXCJhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhXCJcbiAgICApLFxuICAgIGZyb21IZXgoXG4gICAgICBcIjU0NjU3Mzc0MjA1NTczNjk2ZTY3MjA0YzYxNzI2NzY1NzIyMDU0Njg2MTZlMjA0MjZjNmY2MzZiMmQ1MzY5N2E2NTIwNGI2NTc5MjAyZDIwNDg2MTczNjgyMDRiNjU3OTIwNDY2OTcyNzM3NFwiXG4gICAgKSxcbiAgICBmcm9tSGV4KFwiNjBlNDMxNTkxZWUwYjY3ZjBkOGEyNmFhY2JmNWI3N2Y4ZTBiYzYyMTM3MjhjNTE0MDU0NjA0MGYwZWUzN2Y1NFwiKVxuICBdLFxuICBbXG4gICAgZnJvbUhleChcbiAgICAgIFwiYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYVwiXG4gICAgKSxcbiAgICBmcm9tSGV4KFxuICAgICAgXCI1NDY4Njk3MzIwNjk3MzIwNjEyMDc0NjU3Mzc0MjA3NTczNjk2ZTY3MjA2MTIwNmM2MTcyNjc2NTcyMjA3NDY4NjE2ZTIwNjI2YzZmNjM2YjJkNzM2OTdhNjUyMDZiNjU3OTIwNjE2ZTY0MjA2MTIwNmM2MTcyNjc2NTcyMjA3NDY4NjE2ZTIwNjI2YzZmNjM2YjJkNzM2OTdhNjUyMDY0NjE3NDYxMmUyMDU0Njg2NTIwNmI2NTc5MjA2ZTY1NjU2NDczMjA3NDZmMjA2MjY1MjA2ODYxNzM2ODY1NjQyMDYyNjU2NjZmNzI2NTIwNjI2NTY5NmU2NzIwNzU3MzY1NjQyMDYyNzkyMDc0Njg2NTIwNDg0ZDQxNDMyMDYxNmM2NzZmNzI2OTc0Njg2ZDJlXCJcbiAgICApLFxuICAgIGZyb21IZXgoXCI5YjA5ZmZhNzFiOTQyZmNiMjc2MzVmYmNkNWIwZTk0NGJmZGM2MzY0NGYwNzEzOTM4YTdmNTE1MzVjM2EzNWUyXCIpXG4gIF1cbl07XG4iXX0=
322
+ //# sourceMappingURL=knownHashes.fixture.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-crypto/sha256-js",
3
- "version": "2.0.0",
3
+ "version": "3.0.0",
4
4
  "scripts": {
5
5
  "prepublishOnly": "tsc",
6
6
  "pretest": "tsc -p tsconfig.test.json",
@@ -17,11 +17,12 @@
17
17
  "email": "aws-cryptools@amazon.com",
18
18
  "url": "https://docs.aws.amazon.com/aws-crypto-tools/index.html?id=docs_gateway#lang/en_us"
19
19
  },
20
+ "homepage": "https://github.com/aws/aws-sdk-js-crypto-helpers/tree/master/packages/sha256-js",
20
21
  "license": "Apache-2.0",
21
22
  "dependencies": {
22
- "@aws-crypto/util": "^2.0.0",
23
- "@aws-sdk/types": "^3.1.0",
23
+ "@aws-crypto/util": "^3.0.0",
24
+ "@aws-sdk/types": "^3.222.0",
24
25
  "tslib": "^1.11.1"
25
26
  },
26
- "gitHead": "c63b577ab80a02b078be6f537e14b4af578c4bae"
27
+ "gitHead": "7f56cee8f62bd65cd397eeec29c3c997215bd80c"
27
28
  }
@@ -1,33 +1,18 @@
1
1
  import { BLOCK_SIZE } from "./constants";
2
2
  import { RawSha256 } from "./RawSha256";
3
- import { Hash, SourceData } from "@aws-sdk/types";
3
+ import { Checksum, SourceData } from "@aws-sdk/types";
4
4
  import { isEmptyData, convertToBuffer } from "@aws-crypto/util";
5
5
 
6
- export class Sha256 implements Hash {
7
- private readonly hash = new RawSha256();
8
- private readonly outer?: RawSha256;
6
+ export class Sha256 implements Checksum {
7
+ private readonly secret?: SourceData;
8
+ private hash: RawSha256;
9
+ private outer?: RawSha256;
9
10
  private error: any;
10
11
 
11
12
  constructor(secret?: SourceData) {
12
- if (secret) {
13
- this.outer = new RawSha256();
14
- const inner = bufferFromSecret(secret);
15
- const outer = new Uint8Array(BLOCK_SIZE);
16
- outer.set(inner);
17
-
18
- for (let i = 0; i < BLOCK_SIZE; i++) {
19
- inner[i] ^= 0x36;
20
- outer[i] ^= 0x5c;
21
- }
22
-
23
- this.hash.update(inner);
24
- this.outer.update(outer);
25
-
26
- // overwrite the copied key in memory
27
- for (let i = 0; i < inner.byteLength; i++) {
28
- inner[i] = 0;
29
- }
30
- }
13
+ this.secret = secret;
14
+ this.hash = new RawSha256();
15
+ this.reset();
31
16
  }
32
17
 
33
18
  update(toHash: SourceData): void {
@@ -69,6 +54,29 @@ export class Sha256 implements Hash {
69
54
  async digest(): Promise<Uint8Array> {
70
55
  return this.digestSync();
71
56
  }
57
+
58
+ reset(): void {
59
+ this.hash = new RawSha256();
60
+ if (this.secret) {
61
+ this.outer = new RawSha256();
62
+ const inner = bufferFromSecret(this.secret);
63
+ const outer = new Uint8Array(BLOCK_SIZE);
64
+ outer.set(inner);
65
+
66
+ for (let i = 0; i < BLOCK_SIZE; i++) {
67
+ inner[i] ^= 0x36;
68
+ outer[i] ^= 0x5c;
69
+ }
70
+
71
+ this.hash.update(inner);
72
+ this.outer.update(outer);
73
+
74
+ // overwrite the copied key in memory
75
+ for (let i = 0; i < inner.byteLength; i++) {
76
+ inner[i] = 0;
77
+ }
78
+ }
79
+ }
72
80
  }
73
81
 
74
82
  function bufferFromSecret(secret: SourceData): Uint8Array {
@@ -3,68 +3,44 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ## [2.0.2](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v2.0.1...v2.0.2) (2022-09-07)
6
+ # [3.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v2.0.2...v3.0.0) (2023-01-12)
7
7
 
8
8
  **Note:** Version bump only for package @aws-crypto/supports-web-crypto
9
9
 
10
+ ## [2.0.2](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v2.0.1...v2.0.2) (2022-09-07)
10
11
 
11
-
12
-
12
+ **Note:** Version bump only for package @aws-crypto/supports-web-crypto
13
13
 
14
14
  # [2.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v1.2.2...v2.0.0) (2021-10-25)
15
15
 
16
16
  **Note:** Version bump only for package @aws-crypto/supports-web-crypto
17
17
 
18
-
19
-
20
-
21
-
22
18
  # [1.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/@aws-crypto/supports-web-crypto@1.0.0-alpha.0...@aws-crypto/supports-web-crypto@1.0.0) (2020-10-22)
23
19
 
24
-
25
20
  ### Bug Fixes
26
21
 
27
- * replace `sourceRoot` -> `rootDir` in tsconfig ([#169](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/169)) ([d437167](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/d437167b51d1c56a4fcc2bb8a446b74a7e3b7e06))
28
-
29
-
30
-
31
-
22
+ - replace `sourceRoot` -> `rootDir` in tsconfig ([#169](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/169)) ([d437167](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/d437167b51d1c56a4fcc2bb8a446b74a7e3b7e06))
32
23
 
33
24
  # [1.0.0-alpha.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/@aws-crypto/supports-web-crypto@0.1.0-preview.4...@aws-crypto/supports-web-crypto@1.0.0-alpha.0) (2020-02-07)
34
25
 
35
26
  **Note:** Version bump only for package @aws-crypto/supports-web-crypto
36
27
 
37
-
38
-
39
-
40
-
41
28
  # [0.1.0-preview.4](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/@aws-crypto/supports-web-crypto@0.1.0-preview.2...@aws-crypto/supports-web-crypto@0.1.0-preview.4) (2020-01-16)
42
29
 
43
-
44
30
  ### Bug Fixes
45
31
 
46
- * Changed package.json files to point to the right Git repo ([#9](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/9)) ([028245d](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/028245d72e642ca98d82226afb300eb154503c4a)), closes [#8](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/8)
47
- * lerna version maintains package-lock ([#14](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/14)) ([2ef29e1](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/2ef29e13779703a5c9b32e93d18918fcb33b7272)), closes [#13](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/13)
48
-
49
-
50
-
51
-
32
+ - Changed package.json files to point to the right Git repo ([#9](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/9)) ([028245d](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/028245d72e642ca98d82226afb300eb154503c4a)), closes [#8](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/8)
33
+ - lerna version maintains package-lock ([#14](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/14)) ([2ef29e1](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/2ef29e13779703a5c9b32e93d18918fcb33b7272)), closes [#13](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/13)
52
34
 
53
35
  # [0.1.0-preview.3](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/@aws-crypto/supports-web-crypto@0.1.0-preview.2...@aws-crypto/supports-web-crypto@0.1.0-preview.3) (2019-11-15)
54
36
 
55
-
56
37
  ### Bug Fixes
57
38
 
58
- * Changed package.json files to point to the right Git repo ([#9](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/9)) ([028245d](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/028245d72e642ca98d82226afb300eb154503c4a)), closes [#8](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/8)
59
- * lerna version maintains package-lock ([#14](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/14)) ([2ef29e1](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/2ef29e13779703a5c9b32e93d18918fcb33b7272)), closes [#13](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/13)
60
-
61
-
62
-
63
-
39
+ - Changed package.json files to point to the right Git repo ([#9](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/9)) ([028245d](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/028245d72e642ca98d82226afb300eb154503c4a)), closes [#8](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/8)
40
+ - lerna version maintains package-lock ([#14](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/14)) ([2ef29e1](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/2ef29e13779703a5c9b32e93d18918fcb33b7272)), closes [#13](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/13)
64
41
 
65
42
  # [0.1.0-preview.2](https://github.com/aws/aws-javascript-crypto-helpers/compare/@aws-crypto/supports-web-crypto@0.1.0-preview.1...@aws-crypto/supports-web-crypto@0.1.0-preview.2) (2019-10-30)
66
43
 
67
-
68
44
  ### Bug Fixes
69
45
 
70
- * remove /src/ from .npmignore (for sourcemaps) ([#5](https://github.com/aws/aws-javascript-crypto-helpers/issues/5)) ([ec52056](https://github.com/aws/aws-javascript-crypto-helpers/commit/ec52056))
46
+ - remove /src/ from .npmignore (for sourcemaps) ([#5](https://github.com/aws/aws-javascript-crypto-helpers/issues/5)) ([ec52056](https://github.com/aws/aws-javascript-crypto-helpers/commit/ec52056))
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-crypto/supports-web-crypto",
3
- "version": "2.0.2",
3
+ "version": "3.0.0",
4
4
  "description": "Provides functions for detecting if the host environment supports the WebCrypto API",
5
5
  "scripts": {
6
6
  "pretest": "tsc -p tsconfig.test.json",
@@ -22,5 +22,5 @@
22
22
  "dependencies": {
23
23
  "tslib": "^1.11.1"
24
24
  },
25
- "gitHead": "5d1db32bb75010cbe38ff8dda9c560cdbb7ec578"
25
+ "gitHead": "7f56cee8f62bd65cd397eeec29c3c997215bd80c"
26
26
  }
@@ -3,62 +3,45 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ## [2.0.2](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v2.0.1...v2.0.2) (2022-09-07)
7
-
6
+ # [3.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v2.0.2...v3.0.0) (2023-01-12)
8
7
 
9
- ### Bug Fixes
8
+ - feat!: replace Hash implementations with Checksum interface (#492) ([da43dc0](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/da43dc0fdf669d9ebb5bfb1b1f7c79e46c4aaae1)), closes [#492](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/492)
10
9
 
11
- * **#337:** update @aws-sdk/types ([#373](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/373)) ([b26a811](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/b26a811a392f5209c7ec7e57251500d4d78f97ff)), closes [#337](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/337)
12
- * **docs:** update README for packages/util ([#382](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/382)) ([f3e650e](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/f3e650e1b4792ffbea2e8a1a015fd55fb951a3a4))
10
+ ### BREAKING CHANGES
13
11
 
12
+ - All classes that implemented `Hash` now implement `Checksum`.
14
13
 
14
+ ## [2.0.2](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v2.0.1...v2.0.2) (2022-09-07)
15
15
 
16
+ ### Bug Fixes
16
17
 
18
+ - **#337:** update @aws-sdk/types ([#373](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/373)) ([b26a811](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/b26a811a392f5209c7ec7e57251500d4d78f97ff)), closes [#337](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/337)
19
+ - **docs:** update README for packages/util ([#382](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/382)) ([f3e650e](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/f3e650e1b4792ffbea2e8a1a015fd55fb951a3a4))
17
20
 
18
21
  ## [2.0.1](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v2.0.0...v2.0.1) (2021-12-09)
19
22
 
20
-
21
23
  ### Bug Fixes
22
24
 
23
- * **uint32ArrayFrom:** increment index & polyfill for Uint32Array ([#270](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/270)) ([a70d603](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/a70d603f3ba7600d3c1213f297d4160a4b3793bd))
24
-
25
-
26
-
27
-
25
+ - **uint32ArrayFrom:** increment index & polyfill for Uint32Array ([#270](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/270)) ([a70d603](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/a70d603f3ba7600d3c1213f297d4160a4b3793bd))
28
26
 
29
27
  # [2.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v1.2.2...v2.0.0) (2021-10-25)
30
28
 
31
29
  **Note:** Version bump only for package @aws-crypto/util
32
30
 
33
-
34
-
35
-
36
-
37
31
  ## [1.2.2](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v1.2.1...v1.2.2) (2021-10-12)
38
32
 
39
-
40
33
  ### Bug Fixes
41
34
 
42
- * **crc32c:** ie11 does not support Array.from ([#221](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/221)) ([5f49547](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/5f495472ab8988cf203e0f2a70a51f7e1fcd7e60))
43
-
44
-
45
-
46
-
35
+ - **crc32c:** ie11 does not support Array.from ([#221](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/221)) ([5f49547](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/5f495472ab8988cf203e0f2a70a51f7e1fcd7e60))
47
36
 
48
37
  ## [1.2.1](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v1.2.0...v1.2.1) (2021-09-17)
49
38
 
50
-
51
39
  ### Bug Fixes
52
40
 
53
- * better pollyfill check for Buffer ([#217](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/217)) ([bc97da2](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/bc97da29aaf473943e4407c9a29cc30f74f15723))
54
-
55
-
56
-
57
-
41
+ - better pollyfill check for Buffer ([#217](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/217)) ([bc97da2](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/bc97da29aaf473943e4407c9a29cc30f74f15723))
58
42
 
59
43
  # [1.2.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v1.1.1...v1.2.0) (2021-09-17)
60
44
 
61
-
62
45
  ### Features
63
46
 
64
- * add @aws-crypto/util ([8f489cb](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/8f489cbe4c0e134f826bac66f1bf5172597048b9))
47
+ - add @aws-crypto/util ([8f489cb](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/8f489cbe4c0e134f826bac66f1bf5172597048b9))
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-crypto/util",
3
- "version": "2.0.2",
3
+ "version": "3.0.0",
4
4
  "scripts": {
5
5
  "prepublishOnly": "tsc",
6
6
  "pretest": "tsc -p tsconfig.test.json",
@@ -20,12 +20,12 @@
20
20
  "homepage": "https://github.com/aws/aws-sdk-js-crypto-helpers/tree/master/packages/util",
21
21
  "license": "Apache-2.0",
22
22
  "dependencies": {
23
- "@aws-sdk/types": "^3.110.0",
23
+ "@aws-sdk/types": "^3.222.0",
24
24
  "@aws-sdk/util-utf8-browser": "^3.0.0",
25
25
  "tslib": "^1.11.1"
26
26
  },
27
27
  "publishConfig": {
28
28
  "access": "public"
29
29
  },
30
- "gitHead": "5d1db32bb75010cbe38ff8dda9c560cdbb7ec578"
30
+ "gitHead": "7f56cee8f62bd65cd397eeec29c3c997215bd80c"
31
31
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/abort-controller",
3
- "version": "3.226.0",
3
+ "version": "3.254.0",
4
4
  "description": "A simple abort controller library",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "license": "Apache-2.0",
23
23
  "dependencies": {
24
- "@aws-sdk/types": "3.226.0",
24
+ "@aws-sdk/types": "3.254.0",
25
25
  "tslib": "^2.3.1"
26
26
  },
27
27
  "engines": {
@@ -4613,8 +4613,8 @@ const serializeAws_json1_1TimeBasedLinear = (input, context) => {
4613
4613
  };
4614
4614
  const serializeAws_json1_1TimeRange = (input, context) => {
4615
4615
  return {
4616
- ...(input.end != null && { end: Math.round(input.end.getTime() / 1000).toString() }),
4617
- ...(input.start != null && { start: Math.round(input.start.getTime() / 1000).toString() }),
4616
+ ...(input.end != null && { end: Math.round(input.end.getTime() / 1000) }),
4617
+ ...(input.start != null && { start: Math.round(input.start.getTime() / 1000) }),
4618
4618
  };
4619
4619
  };
4620
4620
  const serializeAws_json1_1TrafficRoute = (input, context) => {
@@ -4515,8 +4515,8 @@ const serializeAws_json1_1TimeBasedLinear = (input, context) => {
4515
4515
  };
4516
4516
  const serializeAws_json1_1TimeRange = (input, context) => {
4517
4517
  return {
4518
- ...(input.end != null && { end: Math.round(input.end.getTime() / 1000).toString() }),
4519
- ...(input.start != null && { start: Math.round(input.start.getTime() / 1000).toString() }),
4518
+ ...(input.end != null && { end: Math.round(input.end.getTime() / 1000) }),
4519
+ ...(input.start != null && { start: Math.round(input.start.getTime() / 1000) }),
4520
4520
  };
4521
4521
  };
4522
4522
  const serializeAws_json1_1TrafficRoute = (input, context) => {
@@ -6,7 +6,7 @@ import { AwsAuthInputConfig, AwsAuthResolvedConfig } from "@aws-sdk/middleware-s
6
6
  import { UserAgentInputConfig, UserAgentResolvedConfig } from "@aws-sdk/middleware-user-agent";
7
7
  import { HttpHandler as __HttpHandler } from "@aws-sdk/protocol-http";
8
8
  import { Client as __Client, DefaultsMode, SmithyConfiguration as __SmithyConfiguration, SmithyResolvedConfiguration as __SmithyResolvedConfiguration } from "@aws-sdk/smithy-client";
9
- import { BodyLengthCalculator as __BodyLengthCalculator, Credentials as __Credentials, Decoder as __Decoder, Encoder as __Encoder, HashConstructor as __HashConstructor, HttpHandlerOptions as __HttpHandlerOptions, Logger as __Logger, Provider as __Provider, Provider, StreamCollector as __StreamCollector, UrlParser as __UrlParser, UserAgent as __UserAgent } from "@aws-sdk/types";
9
+ import { BodyLengthCalculator as __BodyLengthCalculator, ChecksumConstructor as __ChecksumConstructor, Credentials as __Credentials, Decoder as __Decoder, Encoder as __Encoder, HashConstructor as __HashConstructor, HttpHandlerOptions as __HttpHandlerOptions, Logger as __Logger, Provider as __Provider, Provider, StreamCollector as __StreamCollector, UrlParser as __UrlParser, UserAgent as __UserAgent } from "@aws-sdk/types";
10
10
  import { AddTagsToOnPremisesInstancesCommandInput, AddTagsToOnPremisesInstancesCommandOutput } from "./commands/AddTagsToOnPremisesInstancesCommand";
11
11
  import { BatchGetApplicationRevisionsCommandInput, BatchGetApplicationRevisionsCommandOutput } from "./commands/BatchGetApplicationRevisionsCommand";
12
12
  import { BatchGetApplicationsCommandInput, BatchGetApplicationsCommandOutput } from "./commands/BatchGetApplicationsCommand";
@@ -63,11 +63,11 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
63
63
  */
64
64
  requestHandler?: __HttpHandler;
65
65
  /**
66
- * A constructor for a class implementing the {@link __Hash} interface
66
+ * A constructor for a class implementing the {@link __Checksum} interface
67
67
  * that computes the SHA-256 HMAC or checksum of a string or binary buffer.
68
68
  * @internal
69
69
  */
70
- sha256?: __HashConstructor;
70
+ sha256?: __ChecksumConstructor | __HashConstructor;
71
71
  /**
72
72
  * The function that will be used to convert strings into HTTP endpoints.
73
73
  * @internal
@@ -31,6 +31,7 @@ import {
31
31
  } from "@aws-sdk/smithy-client";
32
32
  import {
33
33
  BodyLengthCalculator as __BodyLengthCalculator,
34
+ ChecksumConstructor as __ChecksumConstructor,
34
35
  Credentials as __Credentials,
35
36
  Decoder as __Decoder,
36
37
  Encoder as __Encoder,
@@ -335,7 +336,7 @@ export declare type ServiceOutputTypes =
335
336
  export interface ClientDefaults
336
337
  extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> {
337
338
  requestHandler?: __HttpHandler;
338
- sha256?: __HashConstructor;
339
+ sha256?: __ChecksumConstructor | __HashConstructor;
339
340
  urlParser?: __UrlParser;
340
341
  bodyLengthChecker?: __BodyLengthCalculator;
341
342
  streamCollector?: __StreamCollector;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-codedeploy",
3
3
  "description": "AWS SDK for JavaScript Codedeploy Client for Node.js, Browser and React Native",
4
- "version": "3.252.0",
4
+ "version": "3.254.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "tsc -p tsconfig.cjs.json",
@@ -18,42 +18,42 @@
18
18
  "module": "./dist-es/index.js",
19
19
  "sideEffects": false,
20
20
  "dependencies": {
21
- "@aws-crypto/sha256-browser": "2.0.0",
22
- "@aws-crypto/sha256-js": "2.0.0",
23
- "@aws-sdk/client-sts": "3.252.0",
24
- "@aws-sdk/config-resolver": "3.234.0",
25
- "@aws-sdk/credential-provider-node": "3.252.0",
26
- "@aws-sdk/fetch-http-handler": "3.226.0",
27
- "@aws-sdk/hash-node": "3.226.0",
28
- "@aws-sdk/invalid-dependency": "3.226.0",
29
- "@aws-sdk/middleware-content-length": "3.226.0",
30
- "@aws-sdk/middleware-endpoint": "3.226.0",
31
- "@aws-sdk/middleware-host-header": "3.226.0",
32
- "@aws-sdk/middleware-logger": "3.226.0",
33
- "@aws-sdk/middleware-recursion-detection": "3.226.0",
34
- "@aws-sdk/middleware-retry": "3.235.0",
35
- "@aws-sdk/middleware-serde": "3.226.0",
36
- "@aws-sdk/middleware-signing": "3.226.0",
37
- "@aws-sdk/middleware-stack": "3.226.0",
38
- "@aws-sdk/middleware-user-agent": "3.226.0",
39
- "@aws-sdk/node-config-provider": "3.226.0",
40
- "@aws-sdk/node-http-handler": "3.226.0",
41
- "@aws-sdk/protocol-http": "3.226.0",
42
- "@aws-sdk/smithy-client": "3.234.0",
43
- "@aws-sdk/types": "3.226.0",
44
- "@aws-sdk/url-parser": "3.226.0",
21
+ "@aws-crypto/sha256-browser": "3.0.0",
22
+ "@aws-crypto/sha256-js": "3.0.0",
23
+ "@aws-sdk/client-sts": "3.254.0",
24
+ "@aws-sdk/config-resolver": "3.254.0",
25
+ "@aws-sdk/credential-provider-node": "3.254.0",
26
+ "@aws-sdk/fetch-http-handler": "3.254.0",
27
+ "@aws-sdk/hash-node": "3.254.0",
28
+ "@aws-sdk/invalid-dependency": "3.254.0",
29
+ "@aws-sdk/middleware-content-length": "3.254.0",
30
+ "@aws-sdk/middleware-endpoint": "3.254.0",
31
+ "@aws-sdk/middleware-host-header": "3.254.0",
32
+ "@aws-sdk/middleware-logger": "3.254.0",
33
+ "@aws-sdk/middleware-recursion-detection": "3.254.0",
34
+ "@aws-sdk/middleware-retry": "3.254.0",
35
+ "@aws-sdk/middleware-serde": "3.254.0",
36
+ "@aws-sdk/middleware-signing": "3.254.0",
37
+ "@aws-sdk/middleware-stack": "3.254.0",
38
+ "@aws-sdk/middleware-user-agent": "3.254.0",
39
+ "@aws-sdk/node-config-provider": "3.254.0",
40
+ "@aws-sdk/node-http-handler": "3.254.0",
41
+ "@aws-sdk/protocol-http": "3.254.0",
42
+ "@aws-sdk/smithy-client": "3.254.0",
43
+ "@aws-sdk/types": "3.254.0",
44
+ "@aws-sdk/url-parser": "3.254.0",
45
45
  "@aws-sdk/util-base64": "3.208.0",
46
46
  "@aws-sdk/util-body-length-browser": "3.188.0",
47
47
  "@aws-sdk/util-body-length-node": "3.208.0",
48
- "@aws-sdk/util-defaults-mode-browser": "3.234.0",
49
- "@aws-sdk/util-defaults-mode-node": "3.234.0",
50
- "@aws-sdk/util-endpoints": "3.245.0",
51
- "@aws-sdk/util-retry": "3.229.0",
52
- "@aws-sdk/util-user-agent-browser": "3.226.0",
53
- "@aws-sdk/util-user-agent-node": "3.226.0",
48
+ "@aws-sdk/util-defaults-mode-browser": "3.254.0",
49
+ "@aws-sdk/util-defaults-mode-node": "3.254.0",
50
+ "@aws-sdk/util-endpoints": "3.254.0",
51
+ "@aws-sdk/util-retry": "3.254.0",
52
+ "@aws-sdk/util-user-agent-browser": "3.254.0",
53
+ "@aws-sdk/util-user-agent-node": "3.254.0",
54
54
  "@aws-sdk/util-utf8-browser": "3.188.0",
55
55
  "@aws-sdk/util-utf8-node": "3.208.0",
56
- "@aws-sdk/util-waiter": "3.226.0",
56
+ "@aws-sdk/util-waiter": "3.254.0",
57
57
  "tslib": "^2.3.1"
58
58
  },
59
59
  "devDependencies": {
@@ -5,7 +5,7 @@ import { RetryInputConfig, RetryResolvedConfig } from "@aws-sdk/middleware-retry
5
5
  import { UserAgentInputConfig, UserAgentResolvedConfig } from "@aws-sdk/middleware-user-agent";
6
6
  import { HttpHandler as __HttpHandler } from "@aws-sdk/protocol-http";
7
7
  import { Client as __Client, DefaultsMode, SmithyConfiguration as __SmithyConfiguration, SmithyResolvedConfiguration as __SmithyResolvedConfiguration } from "@aws-sdk/smithy-client";
8
- import { BodyLengthCalculator as __BodyLengthCalculator, Decoder as __Decoder, Encoder as __Encoder, HashConstructor as __HashConstructor, HttpHandlerOptions as __HttpHandlerOptions, Logger as __Logger, Provider as __Provider, Provider, StreamCollector as __StreamCollector, UrlParser as __UrlParser, UserAgent as __UserAgent } from "@aws-sdk/types";
8
+ import { BodyLengthCalculator as __BodyLengthCalculator, ChecksumConstructor as __ChecksumConstructor, Decoder as __Decoder, Encoder as __Encoder, HashConstructor as __HashConstructor, HttpHandlerOptions as __HttpHandlerOptions, Logger as __Logger, Provider as __Provider, Provider, StreamCollector as __StreamCollector, UrlParser as __UrlParser, UserAgent as __UserAgent } from "@aws-sdk/types";
9
9
  import { GetRoleCredentialsCommandInput, GetRoleCredentialsCommandOutput } from "./commands/GetRoleCredentialsCommand";
10
10
  import { ListAccountRolesCommandInput, ListAccountRolesCommandOutput } from "./commands/ListAccountRolesCommand";
11
11
  import { ListAccountsCommandInput, ListAccountsCommandOutput } from "./commands/ListAccountsCommand";
@@ -19,11 +19,11 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
19
19
  */
20
20
  requestHandler?: __HttpHandler;
21
21
  /**
22
- * A constructor for a class implementing the {@link __Hash} interface
22
+ * A constructor for a class implementing the {@link __Checksum} interface
23
23
  * that computes the SHA-256 HMAC or checksum of a string or binary buffer.
24
24
  * @internal
25
25
  */
26
- sha256?: __HashConstructor;
26
+ sha256?: __ChecksumConstructor | __HashConstructor;
27
27
  /**
28
28
  * The function that will be used to convert strings into HTTP endpoints.
29
29
  * @internal
@@ -27,6 +27,7 @@ import {
27
27
  } from "@aws-sdk/smithy-client";
28
28
  import {
29
29
  BodyLengthCalculator as __BodyLengthCalculator,
30
+ ChecksumConstructor as __ChecksumConstructor,
30
31
  Decoder as __Decoder,
31
32
  Encoder as __Encoder,
32
33
  HashConstructor as __HashConstructor,
@@ -72,7 +73,7 @@ export declare type ServiceOutputTypes =
72
73
  export interface ClientDefaults
73
74
  extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> {
74
75
  requestHandler?: __HttpHandler;
75
- sha256?: __HashConstructor;
76
+ sha256?: __ChecksumConstructor | __HashConstructor;
76
77
  urlParser?: __UrlParser;
77
78
  bodyLengthChecker?: __BodyLengthCalculator;
78
79
  streamCollector?: __StreamCollector;