@gemeentenijmegen/webapp 1.1.5 → 1.1.6

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 (910) hide show
  1. package/.jsii +12 -12
  2. package/lib/webapp/Criticality.js +1 -1
  3. package/lib/webapp/Webapp.js +1 -1
  4. package/lib/webapp/Webpage.js +1 -1
  5. package/lib/webapp/util/Files.js +1 -1
  6. package/node_modules/@aws-sdk/client-dynamodb/dist-cjs/auth/httpAuthSchemeProvider.js +1 -3
  7. package/node_modules/@aws-sdk/client-dynamodb/dist-cjs/endpoint/endpointResolver.js +10 -1
  8. package/node_modules/@aws-sdk/client-dynamodb/dist-cjs/endpoint/ruleset.js +3 -3
  9. package/node_modules/@aws-sdk/client-dynamodb/dist-cjs/index.js +449 -310
  10. package/node_modules/@aws-sdk/client-dynamodb/dist-es/DynamoDBClient.js +2 -1
  11. package/node_modules/@aws-sdk/client-dynamodb/dist-es/auth/httpAuthSchemeProvider.js +1 -3
  12. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/BatchGetItemCommand.js +4 -1
  13. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/BatchWriteItemCommand.js +4 -1
  14. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/CreateBackupCommand.js +4 -1
  15. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/CreateGlobalTableCommand.js +4 -1
  16. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/CreateTableCommand.js +4 -1
  17. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DeleteBackupCommand.js +4 -1
  18. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DeleteItemCommand.js +4 -1
  19. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DeleteResourcePolicyCommand.js +4 -1
  20. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DeleteTableCommand.js +4 -1
  21. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DescribeBackupCommand.js +4 -1
  22. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DescribeContinuousBackupsCommand.js +4 -1
  23. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DescribeContributorInsightsCommand.js +4 -1
  24. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DescribeExportCommand.js +4 -1
  25. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DescribeGlobalTableCommand.js +4 -1
  26. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DescribeGlobalTableSettingsCommand.js +4 -1
  27. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DescribeImportCommand.js +4 -1
  28. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DescribeKinesisStreamingDestinationCommand.js +4 -1
  29. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DescribeTableCommand.js +4 -1
  30. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DescribeTableReplicaAutoScalingCommand.js +4 -1
  31. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DescribeTimeToLiveCommand.js +4 -1
  32. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/DisableKinesisStreamingDestinationCommand.js +4 -1
  33. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/EnableKinesisStreamingDestinationCommand.js +4 -1
  34. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/ExportTableToPointInTimeCommand.js +4 -1
  35. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/GetItemCommand.js +4 -1
  36. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/GetResourcePolicyCommand.js +4 -1
  37. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/ImportTableCommand.js +4 -1
  38. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/ListBackupsCommand.js +4 -1
  39. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/ListContributorInsightsCommand.js +4 -1
  40. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/ListExportsCommand.js +4 -1
  41. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/ListImportsCommand.js +4 -1
  42. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/ListTagsOfResourceCommand.js +4 -1
  43. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/PutItemCommand.js +4 -1
  44. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/PutResourcePolicyCommand.js +4 -1
  45. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/QueryCommand.js +4 -1
  46. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/RestoreTableFromBackupCommand.js +4 -1
  47. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/RestoreTableToPointInTimeCommand.js +4 -1
  48. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/ScanCommand.js +4 -1
  49. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/TagResourceCommand.js +4 -1
  50. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/TransactGetItemsCommand.js +7 -1
  51. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/UntagResourceCommand.js +4 -1
  52. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/UpdateContinuousBackupsCommand.js +4 -1
  53. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/UpdateContributorInsightsCommand.js +4 -1
  54. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/UpdateGlobalTableCommand.js +4 -1
  55. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/UpdateGlobalTableSettingsCommand.js +4 -1
  56. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/UpdateItemCommand.js +4 -1
  57. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/UpdateKinesisStreamingDestinationCommand.js +4 -1
  58. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/UpdateTableCommand.js +4 -1
  59. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/UpdateTableReplicaAutoScalingCommand.js +4 -1
  60. package/node_modules/@aws-sdk/client-dynamodb/dist-es/commands/UpdateTimeToLiveCommand.js +4 -1
  61. package/node_modules/@aws-sdk/client-dynamodb/dist-es/endpoint/EndpointParameters.js +2 -3
  62. package/node_modules/@aws-sdk/client-dynamodb/dist-es/endpoint/endpointResolver.js +10 -1
  63. package/node_modules/@aws-sdk/client-dynamodb/dist-es/endpoint/ruleset.js +3 -3
  64. package/node_modules/@aws-sdk/client-dynamodb/dist-es/runtimeExtensions.js +2 -14
  65. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/BatchExecuteStatementCommand.d.ts +1 -0
  66. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/BatchGetItemCommand.d.ts +27 -27
  67. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/BatchWriteItemCommand.d.ts +32 -29
  68. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/CreateBackupCommand.d.ts +1 -0
  69. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/CreateGlobalTableCommand.d.ts +1 -0
  70. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/CreateTableCommand.d.ts +1 -70
  71. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DeleteBackupCommand.d.ts +1 -0
  72. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DeleteItemCommand.d.ts +12 -12
  73. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DeleteResourcePolicyCommand.d.ts +1 -0
  74. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DeleteTableCommand.d.ts +13 -13
  75. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeBackupCommand.d.ts +1 -0
  76. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeContinuousBackupsCommand.d.ts +1 -0
  77. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeContributorInsightsCommand.d.ts +1 -0
  78. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeEndpointsCommand.d.ts +1 -0
  79. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeExportCommand.d.ts +1 -0
  80. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeGlobalTableCommand.d.ts +1 -0
  81. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeGlobalTableSettingsCommand.d.ts +1 -0
  82. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeImportCommand.d.ts +1 -0
  83. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeKinesisStreamingDestinationCommand.d.ts +1 -0
  84. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeLimitsCommand.d.ts +8 -8
  85. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeTableCommand.d.ts +1 -47
  86. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeTableReplicaAutoScalingCommand.d.ts +1 -0
  87. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeTimeToLiveCommand.d.ts +1 -0
  88. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DisableKinesisStreamingDestinationCommand.d.ts +1 -0
  89. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/EnableKinesisStreamingDestinationCommand.d.ts +1 -0
  90. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/ExecuteStatementCommand.d.ts +1 -0
  91. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/ExecuteTransactionCommand.d.ts +1 -0
  92. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/ExportTableToPointInTimeCommand.d.ts +1 -0
  93. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/GetItemCommand.d.ts +16 -16
  94. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/GetResourcePolicyCommand.d.ts +1 -0
  95. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/ImportTableCommand.d.ts +1 -0
  96. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/ListBackupsCommand.d.ts +1 -0
  97. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/ListContributorInsightsCommand.d.ts +1 -0
  98. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/ListExportsCommand.d.ts +1 -0
  99. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/ListGlobalTablesCommand.d.ts +1 -0
  100. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/ListImportsCommand.d.ts +1 -0
  101. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/ListTablesCommand.d.ts +5 -5
  102. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/ListTagsOfResourceCommand.d.ts +1 -0
  103. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/PutItemCommand.d.ts +15 -15
  104. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/PutResourcePolicyCommand.d.ts +1 -0
  105. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/QueryCommand.d.ts +15 -15
  106. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/RestoreTableFromBackupCommand.d.ts +1 -0
  107. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/RestoreTableToPointInTimeCommand.d.ts +1 -0
  108. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/ScanCommand.d.ts +24 -24
  109. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/TagResourceCommand.d.ts +1 -0
  110. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/TransactGetItemsCommand.d.ts +1 -0
  111. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/TransactWriteItemsCommand.d.ts +1 -0
  112. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/UntagResourceCommand.d.ts +1 -0
  113. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/UpdateContinuousBackupsCommand.d.ts +1 -0
  114. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/UpdateContributorInsightsCommand.d.ts +1 -0
  115. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/UpdateGlobalTableCommand.d.ts +1 -0
  116. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/UpdateGlobalTableSettingsCommand.d.ts +1 -0
  117. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/UpdateItemCommand.d.ts +28 -28
  118. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/UpdateKinesisStreamingDestinationCommand.d.ts +1 -0
  119. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/UpdateTableCommand.d.ts +1 -52
  120. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/UpdateTableReplicaAutoScalingCommand.d.ts +1 -0
  121. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/UpdateTimeToLiveCommand.d.ts +1 -0
  122. package/node_modules/@aws-sdk/client-dynamodb/dist-types/endpoint/EndpointParameters.d.ts +2 -0
  123. package/node_modules/@aws-sdk/client-dynamodb/dist-types/ts3.4/endpoint/EndpointParameters.d.ts +2 -0
  124. package/node_modules/@aws-sdk/client-dynamodb/package.json +35 -35
  125. package/node_modules/@aws-sdk/client-s3/dist-cjs/auth/httpAuthSchemeProvider.js +1 -3
  126. package/node_modules/@aws-sdk/client-s3/dist-cjs/endpoint/ruleset.js +3 -3
  127. package/node_modules/@aws-sdk/client-s3/dist-cjs/index.js +58 -77
  128. package/node_modules/@aws-sdk/client-s3/dist-es/S3Client.js +2 -1
  129. package/node_modules/@aws-sdk/client-s3/dist-es/auth/httpAuthSchemeProvider.js +1 -3
  130. package/node_modules/@aws-sdk/client-s3/dist-es/endpoint/EndpointParameters.js +2 -3
  131. package/node_modules/@aws-sdk/client-s3/dist-es/endpoint/ruleset.js +3 -3
  132. package/node_modules/@aws-sdk/client-s3/dist-es/runtimeExtensions.js +2 -14
  133. package/node_modules/@aws-sdk/client-s3/dist-types/commands/AbortMultipartUploadCommand.d.ts +9 -6
  134. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CompleteMultipartUploadCommand.d.ts +16 -16
  135. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CopyObjectCommand.d.ts +9 -9
  136. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateBucketCommand.d.ts +15 -16
  137. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateBucketMetadataTableConfigurationCommand.d.ts +1 -0
  138. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateMultipartUploadCommand.d.ts +8 -8
  139. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateSessionCommand.d.ts +1 -0
  140. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketAnalyticsConfigurationCommand.d.ts +1 -0
  141. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketCommand.d.ts +7 -4
  142. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketCorsCommand.d.ts +7 -4
  143. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketEncryptionCommand.d.ts +1 -0
  144. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketIntelligentTieringConfigurationCommand.d.ts +1 -0
  145. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketInventoryConfigurationCommand.d.ts +1 -0
  146. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketLifecycleCommand.d.ts +7 -4
  147. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketMetadataTableConfigurationCommand.d.ts +1 -0
  148. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketMetricsConfigurationCommand.d.ts +1 -0
  149. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketOwnershipControlsCommand.d.ts +1 -0
  150. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketPolicyCommand.d.ts +7 -4
  151. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketReplicationCommand.d.ts +7 -4
  152. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketTaggingCommand.d.ts +7 -4
  153. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketWebsiteCommand.d.ts +7 -4
  154. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteObjectCommand.d.ts +18 -13
  155. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteObjectTaggingCommand.d.ts +11 -12
  156. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteObjectsCommand.d.ts +30 -31
  157. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeletePublicAccessBlockCommand.d.ts +1 -0
  158. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketAccelerateConfigurationCommand.d.ts +1 -0
  159. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketAclCommand.d.ts +1 -0
  160. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketAnalyticsConfigurationCommand.d.ts +1 -0
  161. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketCorsCommand.d.ts +9 -9
  162. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketEncryptionCommand.d.ts +1 -0
  163. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketIntelligentTieringConfigurationCommand.d.ts +1 -0
  164. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketInventoryConfigurationCommand.d.ts +1 -0
  165. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketLifecycleConfigurationCommand.d.ts +11 -11
  166. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketLocationCommand.d.ts +5 -5
  167. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketLoggingCommand.d.ts +1 -0
  168. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketMetadataTableConfigurationCommand.d.ts +1 -0
  169. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketMetricsConfigurationCommand.d.ts +1 -0
  170. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketNotificationConfigurationCommand.d.ts +1 -0
  171. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketOwnershipControlsCommand.d.ts +1 -0
  172. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketPolicyCommand.d.ts +5 -5
  173. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketPolicyStatusCommand.d.ts +1 -0
  174. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketReplicationCommand.d.ts +12 -12
  175. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketRequestPaymentCommand.d.ts +5 -5
  176. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketTaggingCommand.d.ts +9 -9
  177. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketVersioningCommand.d.ts +6 -6
  178. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketWebsiteCommand.d.ts +8 -8
  179. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectAclCommand.d.ts +29 -29
  180. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectAttributesCommand.d.ts +1 -0
  181. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectCommand.d.ts +45 -31
  182. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectLegalHoldCommand.d.ts +1 -0
  183. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectLockConfigurationCommand.d.ts +1 -0
  184. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectRetentionCommand.d.ts +1 -0
  185. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectTaggingCommand.d.ts +19 -20
  186. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectTorrentCommand.d.ts +18 -5
  187. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetPublicAccessBlockCommand.d.ts +1 -0
  188. package/node_modules/@aws-sdk/client-s3/dist-types/commands/HeadBucketCommand.d.ts +7 -4
  189. package/node_modules/@aws-sdk/client-s3/dist-types/commands/HeadObjectCommand.d.ts +12 -12
  190. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListBucketAnalyticsConfigurationsCommand.d.ts +1 -0
  191. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListBucketIntelligentTieringConfigurationsCommand.d.ts +1 -0
  192. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListBucketInventoryConfigurationsCommand.d.ts +1 -0
  193. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListBucketMetricsConfigurationsCommand.d.ts +1 -0
  194. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListBucketsCommand.d.ts +14 -14
  195. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListDirectoryBucketsCommand.d.ts +1 -0
  196. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListMultipartUploadsCommand.d.ts +62 -63
  197. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListObjectVersionsCommand.d.ts +26 -26
  198. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListObjectsCommand.d.ts +23 -23
  199. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListObjectsV2Command.d.ts +22 -22
  200. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListPartsCommand.d.ts +22 -22
  201. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketAccelerateConfigurationCommand.d.ts +1 -0
  202. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketAclCommand.d.ts +9 -6
  203. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketAnalyticsConfigurationCommand.d.ts +1 -0
  204. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketCorsCommand.d.ts +19 -16
  205. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketEncryptionCommand.d.ts +1 -0
  206. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketIntelligentTieringConfigurationCommand.d.ts +1 -0
  207. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketInventoryConfigurationCommand.d.ts +1 -0
  208. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketLifecycleConfigurationCommand.d.ts +18 -15
  209. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketLoggingCommand.d.ts +16 -13
  210. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketMetricsConfigurationCommand.d.ts +1 -0
  211. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketNotificationConfigurationCommand.d.ts +11 -8
  212. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketOwnershipControlsCommand.d.ts +1 -0
  213. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketPolicyCommand.d.ts +8 -5
  214. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketReplicationCommand.d.ts +15 -12
  215. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketRequestPaymentCommand.d.ts +9 -6
  216. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketTaggingCommand.d.ts +13 -10
  217. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketVersioningCommand.d.ts +10 -7
  218. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketWebsiteCommand.d.ts +13 -10
  219. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectAclCommand.d.ts +11 -8
  220. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectCommand.d.ts +68 -74
  221. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectLegalHoldCommand.d.ts +1 -0
  222. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectLockConfigurationCommand.d.ts +1 -0
  223. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectRetentionCommand.d.ts +1 -0
  224. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectTaggingCommand.d.ts +12 -12
  225. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutPublicAccessBlockCommand.d.ts +1 -0
  226. package/node_modules/@aws-sdk/client-s3/dist-types/commands/RestoreObjectCommand.d.ts +17 -16
  227. package/node_modules/@aws-sdk/client-s3/dist-types/commands/SelectObjectContentCommand.d.ts +1 -0
  228. package/node_modules/@aws-sdk/client-s3/dist-types/commands/UploadPartCommand.d.ts +9 -9
  229. package/node_modules/@aws-sdk/client-s3/dist-types/commands/UploadPartCopyCommand.d.ts +21 -22
  230. package/node_modules/@aws-sdk/client-s3/dist-types/commands/WriteGetObjectResponseCommand.d.ts +1 -0
  231. package/node_modules/@aws-sdk/client-s3/dist-types/models/models_0.d.ts +47 -48
  232. package/node_modules/@aws-sdk/client-s3/dist-types/models/models_1.d.ts +13 -14
  233. package/node_modules/@aws-sdk/client-s3/package.json +50 -50
  234. package/node_modules/@aws-sdk/client-secrets-manager/dist-cjs/auth/httpAuthSchemeProvider.js +1 -3
  235. package/node_modules/@aws-sdk/client-secrets-manager/dist-cjs/index.js +47 -48
  236. package/node_modules/@aws-sdk/client-secrets-manager/dist-es/SecretsManagerClient.js +2 -1
  237. package/node_modules/@aws-sdk/client-secrets-manager/dist-es/auth/httpAuthSchemeProvider.js +1 -3
  238. package/node_modules/@aws-sdk/client-secrets-manager/dist-es/endpoint/EndpointParameters.js +2 -3
  239. package/node_modules/@aws-sdk/client-secrets-manager/dist-es/runtimeExtensions.js +2 -14
  240. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/BatchGetSecretValueCommand.d.ts +24 -24
  241. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/CancelRotateSecretCommand.d.ts +6 -6
  242. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/CreateSecretCommand.d.ts +10 -10
  243. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/DeleteResourcePolicyCommand.d.ts +6 -6
  244. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/DeleteSecretCommand.d.ts +1 -19
  245. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/DescribeSecretCommand.d.ts +1 -48
  246. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/GetRandomPasswordCommand.d.ts +7 -7
  247. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/GetResourcePolicyCommand.d.ts +17 -7
  248. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/GetSecretValueCommand.d.ts +14 -10
  249. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/ListSecretVersionIdsCommand.d.ts +16 -16
  250. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/ListSecretsCommand.d.ts +17 -17
  251. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/PutResourcePolicyCommand.d.ts +17 -7
  252. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/PutSecretValueCommand.d.ts +10 -10
  253. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/RemoveRegionsFromReplicationCommand.d.ts +1 -0
  254. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/ReplicateSecretToRegionsCommand.d.ts +12 -12
  255. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/RestoreSecretCommand.d.ts +6 -6
  256. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/RotateSecretCommand.d.ts +16 -17
  257. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/StopReplicationToReplicaCommand.d.ts +1 -0
  258. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/TagResourceCommand.d.ts +12 -9
  259. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/UntagResourceCommand.d.ts +8 -5
  260. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/UpdateSecretCommand.d.ts +25 -27
  261. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/UpdateSecretVersionStageCommand.d.ts +21 -23
  262. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/commands/ValidateResourcePolicyCommand.d.ts +17 -7
  263. package/node_modules/@aws-sdk/client-secrets-manager/package.json +33 -33
  264. package/node_modules/@aws-sdk/client-ssm/dist-cjs/auth/httpAuthSchemeProvider.js +1 -3
  265. package/node_modules/@aws-sdk/client-ssm/dist-cjs/index.js +225 -220
  266. package/node_modules/@aws-sdk/client-ssm/dist-es/SSMClient.js +2 -1
  267. package/node_modules/@aws-sdk/client-ssm/dist-es/auth/httpAuthSchemeProvider.js +1 -3
  268. package/node_modules/@aws-sdk/client-ssm/dist-es/endpoint/EndpointParameters.js +2 -3
  269. package/node_modules/@aws-sdk/client-ssm/dist-es/models/models_0.js +5 -0
  270. package/node_modules/@aws-sdk/client-ssm/dist-es/protocols/Aws_json1_1.js +4 -0
  271. package/node_modules/@aws-sdk/client-ssm/dist-es/runtimeExtensions.js +2 -14
  272. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/AddTagsToResourceCommand.d.ts +1 -0
  273. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/AssociateOpsItemRelatedItemCommand.d.ts +1 -0
  274. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CancelCommandCommand.d.ts +1 -0
  275. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CancelMaintenanceWindowExecutionCommand.d.ts +1 -0
  276. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateActivationCommand.d.ts +1 -0
  277. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateAssociationBatchCommand.d.ts +1 -0
  278. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateAssociationCommand.d.ts +1 -0
  279. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateDocumentCommand.d.ts +1 -0
  280. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateMaintenanceWindowCommand.d.ts +1 -0
  281. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateOpsItemCommand.d.ts +1 -0
  282. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateOpsMetadataCommand.d.ts +1 -0
  283. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreatePatchBaselineCommand.d.ts +2 -0
  284. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateResourceDataSyncCommand.d.ts +1 -0
  285. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteActivationCommand.d.ts +1 -0
  286. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteAssociationCommand.d.ts +1 -0
  287. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteDocumentCommand.d.ts +1 -0
  288. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteInventoryCommand.d.ts +1 -0
  289. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteMaintenanceWindowCommand.d.ts +1 -0
  290. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteOpsItemCommand.d.ts +1 -0
  291. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteOpsMetadataCommand.d.ts +1 -0
  292. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteParameterCommand.d.ts +1 -0
  293. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteParametersCommand.d.ts +1 -0
  294. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeletePatchBaselineCommand.d.ts +1 -0
  295. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteResourceDataSyncCommand.d.ts +1 -0
  296. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteResourcePolicyCommand.d.ts +1 -0
  297. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeregisterManagedInstanceCommand.d.ts +1 -0
  298. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeregisterPatchBaselineForPatchGroupCommand.d.ts +1 -0
  299. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeregisterTargetFromMaintenanceWindowCommand.d.ts +1 -0
  300. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeregisterTaskFromMaintenanceWindowCommand.d.ts +1 -0
  301. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeActivationsCommand.d.ts +1 -0
  302. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeAssociationCommand.d.ts +1 -0
  303. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeAssociationExecutionTargetsCommand.d.ts +1 -0
  304. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeAssociationExecutionsCommand.d.ts +1 -0
  305. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeAutomationExecutionsCommand.d.ts +1 -0
  306. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeAutomationStepExecutionsCommand.d.ts +1 -0
  307. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeAvailablePatchesCommand.d.ts +1 -0
  308. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeDocumentCommand.d.ts +1 -0
  309. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeDocumentPermissionCommand.d.ts +1 -0
  310. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeEffectiveInstanceAssociationsCommand.d.ts +1 -0
  311. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeEffectivePatchesForPatchBaselineCommand.d.ts +1 -0
  312. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstanceAssociationsStatusCommand.d.ts +1 -0
  313. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstanceInformationCommand.d.ts +1 -0
  314. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstancePatchStatesCommand.d.ts +2 -0
  315. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstancePatchStatesForPatchGroupCommand.d.ts +2 -0
  316. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstancePatchesCommand.d.ts +2 -1
  317. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstancePropertiesCommand.d.ts +1 -0
  318. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInventoryDeletionsCommand.d.ts +1 -0
  319. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowExecutionTaskInvocationsCommand.d.ts +1 -0
  320. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowExecutionTasksCommand.d.ts +1 -0
  321. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowExecutionsCommand.d.ts +1 -0
  322. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowScheduleCommand.d.ts +1 -0
  323. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowTargetsCommand.d.ts +1 -0
  324. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowTasksCommand.d.ts +1 -0
  325. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowsCommand.d.ts +1 -0
  326. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeMaintenanceWindowsForTargetCommand.d.ts +1 -0
  327. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeOpsItemsCommand.d.ts +1 -0
  328. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeParametersCommand.d.ts +1 -0
  329. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribePatchBaselinesCommand.d.ts +1 -0
  330. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribePatchGroupStateCommand.d.ts +2 -0
  331. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribePatchGroupsCommand.d.ts +1 -0
  332. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribePatchPropertiesCommand.d.ts +1 -0
  333. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeSessionsCommand.d.ts +1 -0
  334. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DisassociateOpsItemRelatedItemCommand.d.ts +1 -0
  335. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetAutomationExecutionCommand.d.ts +1 -0
  336. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetCalendarStateCommand.d.ts +1 -0
  337. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetCommandInvocationCommand.d.ts +1 -0
  338. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetConnectionStatusCommand.d.ts +1 -0
  339. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetDefaultPatchBaselineCommand.d.ts +1 -0
  340. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetDeployablePatchSnapshotForInstanceCommand.d.ts +2 -0
  341. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetDocumentCommand.d.ts +1 -0
  342. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetExecutionPreviewCommand.d.ts +1 -29
  343. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetInventoryCommand.d.ts +1 -0
  344. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetInventorySchemaCommand.d.ts +1 -0
  345. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetMaintenanceWindowCommand.d.ts +1 -0
  346. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetMaintenanceWindowExecutionCommand.d.ts +1 -0
  347. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetMaintenanceWindowExecutionTaskCommand.d.ts +1 -0
  348. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetMaintenanceWindowExecutionTaskInvocationCommand.d.ts +1 -0
  349. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetMaintenanceWindowTaskCommand.d.ts +1 -0
  350. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetOpsItemCommand.d.ts +1 -0
  351. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetOpsMetadataCommand.d.ts +1 -0
  352. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetOpsSummaryCommand.d.ts +1 -0
  353. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetParameterCommand.d.ts +1 -0
  354. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetParameterHistoryCommand.d.ts +1 -0
  355. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetParametersByPathCommand.d.ts +1 -0
  356. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetParametersCommand.d.ts +1 -0
  357. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetPatchBaselineCommand.d.ts +2 -0
  358. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetPatchBaselineForPatchGroupCommand.d.ts +1 -0
  359. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetResourcePoliciesCommand.d.ts +1 -0
  360. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetServiceSettingCommand.d.ts +1 -0
  361. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/LabelParameterVersionCommand.d.ts +1 -0
  362. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListAssociationVersionsCommand.d.ts +1 -0
  363. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListAssociationsCommand.d.ts +1 -0
  364. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListCommandInvocationsCommand.d.ts +1 -0
  365. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListCommandsCommand.d.ts +1 -0
  366. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListComplianceItemsCommand.d.ts +1 -0
  367. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListComplianceSummariesCommand.d.ts +1 -0
  368. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListDocumentMetadataHistoryCommand.d.ts +1 -0
  369. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListDocumentVersionsCommand.d.ts +1 -0
  370. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListDocumentsCommand.d.ts +1 -0
  371. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListInventoryEntriesCommand.d.ts +1 -0
  372. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListNodesCommand.d.ts +1 -52
  373. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListNodesSummaryCommand.d.ts +19 -19
  374. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListOpsItemEventsCommand.d.ts +1 -0
  375. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListOpsItemRelatedItemsCommand.d.ts +1 -0
  376. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListOpsMetadataCommand.d.ts +1 -0
  377. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListResourceComplianceSummariesCommand.d.ts +1 -0
  378. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListResourceDataSyncCommand.d.ts +1 -0
  379. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListTagsForResourceCommand.d.ts +1 -0
  380. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ModifyDocumentPermissionCommand.d.ts +1 -0
  381. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/PutComplianceItemsCommand.d.ts +1 -0
  382. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/PutInventoryCommand.d.ts +1 -0
  383. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/PutParameterCommand.d.ts +1 -0
  384. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/PutResourcePolicyCommand.d.ts +1 -0
  385. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/RegisterDefaultPatchBaselineCommand.d.ts +1 -0
  386. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/RegisterPatchBaselineForPatchGroupCommand.d.ts +1 -0
  387. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/RegisterTargetWithMaintenanceWindowCommand.d.ts +1 -0
  388. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/RegisterTaskWithMaintenanceWindowCommand.d.ts +1 -0
  389. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/RemoveTagsFromResourceCommand.d.ts +1 -0
  390. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ResetServiceSettingCommand.d.ts +2 -2
  391. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ResumeSessionCommand.d.ts +1 -0
  392. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/SendAutomationSignalCommand.d.ts +1 -0
  393. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/SendCommandCommand.d.ts +1 -0
  394. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StartAssociationsOnceCommand.d.ts +1 -0
  395. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StartAutomationExecutionCommand.d.ts +1 -0
  396. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StartChangeRequestExecutionCommand.d.ts +1 -0
  397. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StartExecutionPreviewCommand.d.ts +5 -5
  398. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StartSessionCommand.d.ts +1 -0
  399. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StopAutomationExecutionCommand.d.ts +1 -0
  400. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/TerminateSessionCommand.d.ts +1 -0
  401. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UnlabelParameterVersionCommand.d.ts +1 -0
  402. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateAssociationCommand.d.ts +1 -0
  403. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateAssociationStatusCommand.d.ts +1 -0
  404. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateDocumentCommand.d.ts +1 -0
  405. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateDocumentDefaultVersionCommand.d.ts +1 -0
  406. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateDocumentMetadataCommand.d.ts +1 -0
  407. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateMaintenanceWindowCommand.d.ts +1 -0
  408. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateMaintenanceWindowTargetCommand.d.ts +1 -0
  409. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateMaintenanceWindowTaskCommand.d.ts +1 -0
  410. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateManagedInstanceRoleCommand.d.ts +1 -0
  411. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateOpsItemCommand.d.ts +1 -0
  412. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateOpsMetadataCommand.d.ts +1 -0
  413. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdatePatchBaselineCommand.d.ts +3 -0
  414. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateResourceDataSyncCommand.d.ts +1 -0
  415. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/UpdateServiceSettingCommand.d.ts +1 -0
  416. package/node_modules/@aws-sdk/client-ssm/dist-types/models/models_0.d.ts +34 -22
  417. package/node_modules/@aws-sdk/client-ssm/dist-types/models/models_1.d.ts +60 -69
  418. package/node_modules/@aws-sdk/client-ssm/dist-types/models/models_2.d.ts +83 -1
  419. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/commands/ResetServiceSettingCommand.d.ts +4 -2
  420. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/models/models_0.d.ts +9 -5
  421. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/models/models_1.d.ts +9 -4
  422. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/models/models_2.d.ts +6 -0
  423. package/node_modules/@aws-sdk/client-ssm/package.json +34 -34
  424. package/node_modules/@aws-sdk/client-sso/dist-cjs/auth/httpAuthSchemeProvider.js +1 -3
  425. package/node_modules/@aws-sdk/client-sso/dist-cjs/index.js +22 -23
  426. package/node_modules/@aws-sdk/client-sso/dist-es/SSOClient.js +2 -1
  427. package/node_modules/@aws-sdk/client-sso/dist-es/auth/httpAuthSchemeProvider.js +1 -3
  428. package/node_modules/@aws-sdk/client-sso/dist-es/endpoint/EndpointParameters.js +2 -3
  429. package/node_modules/@aws-sdk/client-sso/dist-es/runtimeExtensions.js +2 -14
  430. package/node_modules/@aws-sdk/client-sso/dist-types/commands/GetRoleCredentialsCommand.d.ts +1 -0
  431. package/node_modules/@aws-sdk/client-sso/dist-types/commands/ListAccountRolesCommand.d.ts +1 -0
  432. package/node_modules/@aws-sdk/client-sso/dist-types/commands/ListAccountsCommand.d.ts +1 -0
  433. package/node_modules/@aws-sdk/client-sso/dist-types/commands/LogoutCommand.d.ts +1 -0
  434. package/node_modules/@aws-sdk/client-sso/package.json +32 -32
  435. package/node_modules/@aws-sdk/core/dist-cjs/submodules/account-id-endpoint/index.js +13 -15
  436. package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js +3 -3
  437. package/node_modules/@aws-sdk/core/dist-cjs/submodules/httpAuthSchemes/index.js +82 -33
  438. package/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +4 -4
  439. package/node_modules/@aws-sdk/core/dist-es/submodules/account-id-endpoint/AccountIdEndpointModeConfigResolver.js +4 -4
  440. package/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.js +70 -27
  441. package/node_modules/@aws-sdk/core/dist-types/api-extractor-type-index.d.ts +5 -0
  442. package/node_modules/@aws-sdk/core/dist-types/submodules/account-id-endpoint/AccountIdEndpointModeConfigResolver.d.ts +0 -3
  443. package/node_modules/@aws-sdk/core/dist-types/submodules/account-id-endpoint/AccountIdEndpointModeConstants.d.ts +9 -0
  444. package/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.d.ts +2 -1
  445. package/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.d.ts +25 -3
  446. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/parseJsonBody.d.ts +9 -0
  447. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/xml/parseXmlBody.d.ts +9 -0
  448. package/node_modules/@aws-sdk/core/dist-types/ts3.4/api-extractor-type-index.d.ts +5 -0
  449. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.d.ts +11 -1
  450. package/node_modules/@aws-sdk/core/package.json +22 -22
  451. package/node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js +3 -3
  452. package/node_modules/@aws-sdk/credential-provider-env/package.json +5 -5
  453. package/node_modules/@aws-sdk/credential-provider-http/package.json +10 -10
  454. package/node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js +9 -9
  455. package/node_modules/@aws-sdk/credential-provider-ini/package.json +13 -13
  456. package/node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js +3 -3
  457. package/node_modules/@aws-sdk/credential-provider-node/package.json +12 -12
  458. package/node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js +3 -3
  459. package/node_modules/@aws-sdk/credential-provider-process/package.json +6 -6
  460. package/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js +3 -3
  461. package/node_modules/@aws-sdk/credential-provider-sso/package.json +8 -8
  462. package/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js +4 -4
  463. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +6 -6
  464. package/node_modules/@aws-sdk/middleware-bucket-endpoint/dist-cjs/index.js +14 -18
  465. package/node_modules/@aws-sdk/middleware-bucket-endpoint/dist-es/configurations.js +2 -3
  466. package/node_modules/@aws-sdk/middleware-bucket-endpoint/package.json +5 -5
  467. package/node_modules/@aws-sdk/middleware-endpoint-discovery/dist-cjs/index.js +23 -22
  468. package/node_modules/@aws-sdk/middleware-endpoint-discovery/dist-es/resolveEndpointDiscoveryConfig.js +11 -9
  469. package/node_modules/@aws-sdk/middleware-endpoint-discovery/dist-types/configurations.d.ts +3 -0
  470. package/node_modules/@aws-sdk/middleware-endpoint-discovery/dist-types/getEndpointDiscoveryPlugin.d.ts +11 -0
  471. package/node_modules/@aws-sdk/middleware-endpoint-discovery/dist-types/resolveEndpointDiscoveryConfig.d.ts +6 -0
  472. package/node_modules/@aws-sdk/middleware-endpoint-discovery/package.json +6 -5
  473. package/node_modules/@aws-sdk/middleware-expect-continue/dist-cjs/index.js +5 -5
  474. package/node_modules/@aws-sdk/middleware-expect-continue/package.json +4 -4
  475. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/index.js +18 -21
  476. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/resolveFlexibleChecksumsConfig.js +8 -6
  477. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS.d.ts +9 -0
  478. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS.d.ts +9 -0
  479. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/configuration.d.ts +3 -0
  480. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/constants.d.ts +16 -0
  481. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/crc64-nvme-crt-container.d.ts +1 -1
  482. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/flexibleChecksumsInputMiddleware.d.ts +3 -0
  483. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/flexibleChecksumsMiddleware.d.ts +6 -1
  484. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/flexibleChecksumsResponseMiddleware.d.ts +3 -0
  485. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/getFlexibleChecksumsPlugin.d.ts +6 -0
  486. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/resolveFlexibleChecksumsConfig.d.ts +9 -0
  487. package/node_modules/@aws-sdk/middleware-flexible-checksums/package.json +10 -9
  488. package/node_modules/@aws-sdk/middleware-host-header/dist-cjs/index.js +7 -9
  489. package/node_modules/@aws-sdk/middleware-host-header/dist-types/index.d.ts +15 -0
  490. package/node_modules/@aws-sdk/middleware-host-header/package.json +5 -4
  491. package/node_modules/@aws-sdk/middleware-location-constraint/dist-cjs/index.js +5 -5
  492. package/node_modules/@aws-sdk/middleware-location-constraint/dist-es/configuration.js +1 -1
  493. package/node_modules/@aws-sdk/middleware-location-constraint/package.json +3 -3
  494. package/node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js +5 -5
  495. package/node_modules/@aws-sdk/middleware-logger/package.json +3 -3
  496. package/node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/index.js +10 -6
  497. package/node_modules/@aws-sdk/middleware-recursion-detection/dist-es/index.js +6 -3
  498. package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +4 -4
  499. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js +39 -32
  500. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3Configuration.js +9 -9
  501. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3Configuration.d.ts +6 -4
  502. package/node_modules/@aws-sdk/middleware-sdk-s3/package.json +11 -11
  503. package/node_modules/@aws-sdk/middleware-ssec/dist-cjs/index.js +6 -7
  504. package/node_modules/@aws-sdk/middleware-ssec/package.json +3 -3
  505. package/node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js +11 -11
  506. package/node_modules/@aws-sdk/middleware-user-agent/dist-es/configurations.js +4 -4
  507. package/node_modules/@aws-sdk/middleware-user-agent/package.json +7 -7
  508. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/auth/httpAuthSchemeProvider.js +1 -3
  509. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +23 -24
  510. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/STSClient.js +2 -1
  511. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/auth/httpAuthSchemeProvider.js +2 -5
  512. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/endpoint/EndpointParameters.js +2 -3
  513. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +6 -7
  514. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/runtimeExtensions.js +2 -14
  515. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/SSOOIDCClient.js +2 -1
  516. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/auth/httpAuthSchemeProvider.js +1 -3
  517. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/EndpointParameters.js +2 -3
  518. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeExtensions.js +2 -14
  519. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/STSClient.js +2 -1
  520. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/auth/httpAuthSchemeProvider.js +2 -5
  521. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/EndpointParameters.js +2 -3
  522. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeExtensions.js +2 -14
  523. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/commands/CreateTokenCommand.d.ts +46 -0
  524. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/commands/AssumeRoleCommand.d.ts +47 -0
  525. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/commands/AssumeRoleWithWebIdentityCommand.d.ts +34 -0
  526. package/node_modules/@aws-sdk/nested-clients/package.json +36 -36
  527. package/node_modules/@aws-sdk/region-config-resolver/dist-cjs/index.js +15 -26
  528. package/node_modules/@aws-sdk/region-config-resolver/dist-es/extensions/index.js +2 -12
  529. package/node_modules/@aws-sdk/region-config-resolver/dist-es/regionConfig/resolveRegionConfig.js +2 -3
  530. package/node_modules/@aws-sdk/region-config-resolver/package.json +5 -5
  531. package/node_modules/@aws-sdk/s3-request-presigner/dist-cjs/index.js +4 -4
  532. package/node_modules/@aws-sdk/s3-request-presigner/package.json +10 -10
  533. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-cjs/index.js +4 -5
  534. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +6 -6
  535. package/node_modules/@aws-sdk/token-providers/dist-cjs/index.js +3 -3
  536. package/node_modules/@aws-sdk/token-providers/package.json +6 -6
  537. package/node_modules/@aws-sdk/types/dist-cjs/index.js +3 -3
  538. package/node_modules/@aws-sdk/types/dist-es/function.js +1 -0
  539. package/node_modules/@aws-sdk/types/dist-es/index.js +1 -0
  540. package/node_modules/@aws-sdk/types/dist-types/function.d.ts +7 -0
  541. package/node_modules/@aws-sdk/types/dist-types/index.d.ts +1 -0
  542. package/node_modules/@aws-sdk/types/dist-types/ts3.4/function.d.ts +7 -0
  543. package/node_modules/@aws-sdk/types/dist-types/ts3.4/index.d.ts +1 -0
  544. package/node_modules/@aws-sdk/types/package.json +2 -2
  545. package/node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js +5 -7
  546. package/node_modules/@aws-sdk/util-endpoints/package.json +4 -4
  547. package/node_modules/@aws-sdk/util-format-url/dist-cjs/index.js +3 -3
  548. package/node_modules/@aws-sdk/util-format-url/package.json +4 -4
  549. package/node_modules/@aws-sdk/util-user-agent-browser/package.json +3 -3
  550. package/node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js +5 -5
  551. package/node_modules/@aws-sdk/util-user-agent-node/package.json +5 -5
  552. package/node_modules/@aws-sdk/xml-builder/dist-cjs/index.js +3 -3
  553. package/node_modules/@aws-sdk/xml-builder/package.json +2 -2
  554. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/.jsii +45 -45
  555. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/README.md +1 -1
  556. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/lib/index.js +7 -7
  557. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/.jsii +464 -138
  558. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/alb-helper.js +2 -3
  559. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/apigateway-defaults.d.ts +6 -6
  560. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/apigateway-defaults.js +11 -11
  561. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/apigateway-helper.d.ts +10 -5
  562. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/apigateway-helper.js +59 -45
  563. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/cloudfront-distribution-helper.d.ts +30 -0
  564. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/cloudfront-distribution-helper.js +87 -3
  565. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/cloudwatch-log-group-helper.js +2 -4
  566. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/cognito-defaults.d.ts +2 -2
  567. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/cognito-defaults.js +4 -4
  568. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/cognito-helper.js +3 -5
  569. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/dynamodb-table-defaults.d.ts +3 -3
  570. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/dynamodb-table-defaults.js +6 -6
  571. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/dynamodb-table-helper.js +3 -3
  572. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/elasticsearch-helper.js +5 -5
  573. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/eventbridge-helper.js +4 -4
  574. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/events-rule-defaults.d.ts +1 -1
  575. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/events-rule-defaults.js +4 -4
  576. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/fargate-helper.js +2 -3
  577. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/glue-database-defaults.js +3 -3
  578. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/glue-job-helper.js +3 -3
  579. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/glue-table-defaults.js +6 -6
  580. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/iot-topic-rule-defaults.d.ts +1 -1
  581. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/iot-topic-rule-defaults.js +6 -6
  582. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kendra-helper.d.ts +1 -1
  583. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kendra-helper.js +1 -1
  584. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kinesis-analytics-defaults.d.ts +2 -2
  585. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kinesis-analytics-defaults.js +4 -4
  586. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kinesis-analytics-helper.js +2 -2
  587. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kinesis-firehose-s3-defaults.d.ts +1 -1
  588. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kinesis-firehose-s3-defaults.js +7 -7
  589. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kinesis-streams-defaults.d.ts +2 -2
  590. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kinesis-streams-defaults.js +4 -4
  591. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kinesis-streams-helper.js +2 -3
  592. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kms-defaults.d.ts +2 -2
  593. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kms-defaults.js +4 -4
  594. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kms-helper.js +2 -4
  595. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/lambda-event-source-mapping-defaults.d.ts +3 -3
  596. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/lambda-event-source-mapping-defaults.js +16 -16
  597. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/mediastore-helper.js +2 -3
  598. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/opensearch-helper.js +2 -2
  599. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/override-warning-service.js +9 -6
  600. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/s3-bucket-helper.js +7 -1
  601. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/sagemaker-helper.d.ts +5 -0
  602. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/sagemaker-helper.js +10 -9
  603. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/secretsmanager-defaults.d.ts +2 -2
  604. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/secretsmanager-defaults.js +4 -4
  605. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/secretsmanager-helper.js +2 -3
  606. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/sns-defaults.d.ts +2 -2
  607. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/sns-defaults.js +4 -4
  608. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/sns-helper.js +2 -2
  609. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/sqs-defaults.js +3 -3
  610. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/sqs-helper.js +2 -2
  611. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/step-function-defaults.d.ts +1 -1
  612. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/step-function-defaults.js +3 -3
  613. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/utils.d.ts +1 -1
  614. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/utils.js +14 -12
  615. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/vpc-helper.js +1 -3
  616. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/waf-helper.js +2 -3
  617. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/websocket-api-helper.js +1 -2
  618. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/nohoist.sh +11 -0
  619. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/package.json +7 -6
  620. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/apigateway-helper.test.js +84 -6
  621. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/cloudfront-distribution-api-gateway-helper.test.js +11 -11
  622. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/cloudfront-distribution-s3-helper.test.js +467 -1
  623. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/dynamo-table.test.js +9 -9
  624. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/glue-job-helper.test.js +7 -7
  625. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/glue-table-helper.test.js +5 -5
  626. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/kinesis-analytics.test.js +2 -2
  627. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/kinesis-streams-defaults.test.js +2 -2
  628. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/lambda-event-source.test.js +10 -10
  629. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/openapi/apiDefinition.json +57 -0
  630. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/override-warning-service.test.js +25 -26
  631. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/pipes-helper.test.js +2 -2
  632. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/step-function-helper.test.js +5 -5
  633. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/utils.test.js +11 -12
  634. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/package.json +8 -8
  635. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-add-secondary-index.js +1 -2
  636. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-add-secondary-index.js.snapshot/asset.a0c6248ec595d3ceec1177aa5ac5b494fdf4c66f1b88aa48086befd44f193d8c/index.js +21 -0
  637. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-add-secondary-index.js.snapshot/cdk.out +1 -1
  638. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-add-secondary-index.js.snapshot/integ.json +1 -1
  639. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-add-secondary-index.js.snapshot/lamddb-add-secondary-index.assets.json +6 -6
  640. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-add-secondary-index.js.snapshot/lamddb-add-secondary-index.template.json +25 -19
  641. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-add-secondary-index.js.snapshot/lamddbaddsecondaryindexIntegDefaultTestDeployAssert3193B4D9.assets.json +1 -1
  642. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-add-secondary-index.js.snapshot/manifest.json +197 -3
  643. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-add-secondary-index.js.snapshot/tree.json +1 -415
  644. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/cdk.out +1 -1
  645. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/integ.json +1 -1
  646. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/lamddb-deployFunctionWithExistingVpc.assets.json +3 -3
  647. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/lamddb-deployFunctionWithExistingVpc.template.json +35 -7
  648. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/lamddbdeployFunctionWithExistingVpcIntegDefaultTestDeployAssertEE08E38E.assets.json +1 -1
  649. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/manifest.json +476 -3
  650. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithExistingVpc.js.snapshot/tree.json +1 -1386
  651. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/cdk.out +1 -1
  652. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/integ.json +1 -1
  653. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/lamddb-deployFunctionWithVpc.assets.json +3 -3
  654. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/lamddb-deployFunctionWithVpc.template.json +33 -7
  655. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/lamddbdeployFunctionWithVpcIntegDefaultTestDeployAssert0AB8275C.assets.json +1 -1
  656. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/manifest.json +404 -3
  657. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-deployFunctionWithVpc.js.snapshot/tree.json +1 -968
  658. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-no-arguments.js +1 -2
  659. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-no-arguments.js.snapshot/asset.a0c6248ec595d3ceec1177aa5ac5b494fdf4c66f1b88aa48086befd44f193d8c/index.js +21 -0
  660. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-no-arguments.js.snapshot/cdk.out +1 -1
  661. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-no-arguments.js.snapshot/integ.json +1 -1
  662. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-no-arguments.js.snapshot/lamddb-no-arguments.assets.json +6 -6
  663. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-no-arguments.js.snapshot/lamddb-no-arguments.template.json +25 -19
  664. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-no-arguments.js.snapshot/lamddbnoargumentsIntegDefaultTestDeployAssert248B75D0.assets.json +1 -1
  665. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-no-arguments.js.snapshot/manifest.json +183 -3
  666. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-no-arguments.js.snapshot/tree.json +1 -386
  667. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-set-billing-mode.js +1 -2
  668. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-set-billing-mode.js.snapshot/asset.a0c6248ec595d3ceec1177aa5ac5b494fdf4c66f1b88aa48086befd44f193d8c/index.js +21 -0
  669. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-set-billing-mode.js.snapshot/cdk.out +1 -1
  670. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-set-billing-mode.js.snapshot/integ.json +1 -1
  671. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-set-billing-mode.js.snapshot/lamddb-set-billing-mode.assets.json +6 -6
  672. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-set-billing-mode.js.snapshot/lamddb-set-billing-mode.template.json +25 -19
  673. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-set-billing-mode.js.snapshot/lamddbsetbillingmodeIntegDefaultTestDeployAssertDAE32272.assets.json +1 -1
  674. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-set-billing-mode.js.snapshot/manifest.json +185 -3
  675. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-set-billing-mode.js.snapshot/tree.json +1 -389
  676. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-use-existing-func.js +1 -2
  677. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-use-existing-func.js.snapshot/asset.a0c6248ec595d3ceec1177aa5ac5b494fdf4c66f1b88aa48086befd44f193d8c/index.js +21 -0
  678. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-use-existing-func.js.snapshot/cdk.out +1 -1
  679. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-use-existing-func.js.snapshot/integ.json +1 -1
  680. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-use-existing-func.js.snapshot/lamddb-use-existing-func.assets.json +6 -6
  681. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-use-existing-func.js.snapshot/lamddb-use-existing-func.template.json +25 -19
  682. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-use-existing-func.js.snapshot/lamddbuseexistingfuncIntegDefaultTestDeployAssert48D284DD.assets.json +1 -1
  683. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-use-existing-func.js.snapshot/manifest.json +183 -3
  684. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-use-existing-func.js.snapshot/tree.json +1 -386
  685. package/node_modules/@gemeentenijmegen/apiclient/node_modules/@gemeentenijmegen/utils/package.json +7 -7
  686. package/node_modules/@gemeentenijmegen/apiclient/package.json +10 -10
  687. package/node_modules/@gemeentenijmegen/apigateway-http/package.json +5 -5
  688. package/node_modules/@gemeentenijmegen/session/package.json +4 -4
  689. package/node_modules/@gemeentenijmegen/utils/package.json +7 -7
  690. package/node_modules/@smithy/abort-controller/package.json +5 -5
  691. package/node_modules/@smithy/config-resolver/dist-cjs/index.js +11 -14
  692. package/node_modules/@smithy/config-resolver/dist-es/endpointsConfig/resolveCustomEndpointsConfig.js +5 -6
  693. package/node_modules/@smithy/config-resolver/dist-es/endpointsConfig/resolveEndpointsConfig.js +4 -5
  694. package/node_modules/@smithy/config-resolver/dist-es/regionConfig/resolveRegionConfig.js +2 -3
  695. package/node_modules/@smithy/config-resolver/package.json +7 -7
  696. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +41 -0
  697. package/node_modules/@smithy/core/dist-es/submodules/serde/index.js +1 -0
  698. package/node_modules/@smithy/core/dist-es/submodules/serde/value/NumericValue.js +9 -0
  699. package/node_modules/@smithy/core/dist-types/submodules/serde/index.d.ts +1 -0
  700. package/node_modules/@smithy/core/dist-types/submodules/serde/value/NumericValue.d.ts +31 -0
  701. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/index.d.ts +1 -0
  702. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/value/NumericValue.d.ts +31 -0
  703. package/node_modules/@smithy/core/package.json +17 -8
  704. package/node_modules/@smithy/core/serde.d.ts +7 -0
  705. package/node_modules/@smithy/core/serde.js +6 -0
  706. package/node_modules/@smithy/credential-provider-imds/package.json +8 -8
  707. package/node_modules/@smithy/eventstream-codec/package.json +5 -5
  708. package/node_modules/@smithy/eventstream-serde-browser/package.json +6 -6
  709. package/node_modules/@smithy/eventstream-serde-config-resolver/dist-cjs/index.js +1 -2
  710. package/node_modules/@smithy/eventstream-serde-config-resolver/dist-es/EventStreamSerdeConfig.js +1 -2
  711. package/node_modules/@smithy/eventstream-serde-config-resolver/package.json +5 -5
  712. package/node_modules/@smithy/eventstream-serde-node/package.json +6 -6
  713. package/node_modules/@smithy/eventstream-serde-universal/package.json +6 -6
  714. package/node_modules/@smithy/fetch-http-handler/package.json +8 -8
  715. package/node_modules/@smithy/hash-blob-browser/package.json +5 -5
  716. package/node_modules/@smithy/hash-node/package.json +5 -5
  717. package/node_modules/@smithy/hash-stream-node/package.json +5 -5
  718. package/node_modules/@smithy/invalid-dependency/package.json +5 -5
  719. package/node_modules/@smithy/md5-js/package.json +5 -5
  720. package/node_modules/@smithy/middleware-content-length/package.json +6 -6
  721. package/node_modules/@smithy/middleware-endpoint/dist-cjs/index.js +5 -6
  722. package/node_modules/@smithy/middleware-endpoint/dist-es/resolveEndpointConfig.js +5 -6
  723. package/node_modules/@smithy/middleware-endpoint/package.json +10 -10
  724. package/node_modules/@smithy/middleware-retry/README.md +1 -1
  725. package/node_modules/@smithy/middleware-retry/dist-cjs/index.js +5 -6
  726. package/node_modules/@smithy/middleware-retry/dist-es/configurations.js +5 -6
  727. package/node_modules/@smithy/middleware-retry/package.json +10 -10
  728. package/node_modules/@smithy/middleware-serde/package.json +4 -4
  729. package/node_modules/@smithy/middleware-stack/package.json +5 -5
  730. package/node_modules/@smithy/node-config-provider/package.json +7 -7
  731. package/node_modules/@smithy/node-http-handler/package.json +7 -7
  732. package/node_modules/@smithy/property-provider/package.json +5 -5
  733. package/node_modules/@smithy/protocol-http/dist-cjs/index.js +4 -5
  734. package/node_modules/@smithy/protocol-http/dist-es/extensions/httpExtensionConfiguration.js +4 -5
  735. package/node_modules/@smithy/protocol-http/package.json +5 -5
  736. package/node_modules/@smithy/querystring-builder/package.json +5 -5
  737. package/node_modules/@smithy/querystring-parser/package.json +5 -5
  738. package/node_modules/@smithy/service-error-classification/package.json +5 -5
  739. package/node_modules/@smithy/shared-ini-file-loader/package.json +5 -5
  740. package/node_modules/@smithy/signature-v4/package.json +7 -7
  741. package/node_modules/@smithy/smithy-client/dist-cjs/index.js +6 -14
  742. package/node_modules/@smithy/smithy-client/dist-es/extensions/checksum.js +2 -3
  743. package/node_modules/@smithy/smithy-client/dist-es/extensions/defaultExtensionConfiguration.js +2 -8
  744. package/node_modules/@smithy/smithy-client/dist-es/extensions/retry.js +2 -3
  745. package/node_modules/@smithy/smithy-client/dist-types/client.d.ts +8 -0
  746. package/node_modules/@smithy/smithy-client/dist-types/extensions/checksum.d.ts +0 -1
  747. package/node_modules/@smithy/smithy-client/dist-types/extensions/defaultExtensionConfiguration.d.ts +6 -6
  748. package/node_modules/@smithy/smithy-client/dist-types/ts3.4/client.d.ts +8 -0
  749. package/node_modules/@smithy/smithy-client/dist-types/ts3.4/extensions/checksum.d.ts +0 -1
  750. package/node_modules/@smithy/smithy-client/dist-types/ts3.4/extensions/defaultExtensionConfiguration.d.ts +6 -6
  751. package/node_modules/@smithy/smithy-client/package.json +9 -9
  752. package/node_modules/@smithy/types/dist-cjs/index.js +4 -9
  753. package/node_modules/@smithy/types/dist-es/extensions/checksum.js +2 -3
  754. package/node_modules/@smithy/types/dist-es/extensions/defaultClientConfiguration.js +2 -6
  755. package/node_modules/@smithy/types/package.json +4 -4
  756. package/node_modules/@smithy/url-parser/package.json +6 -6
  757. package/node_modules/@smithy/util-defaults-mode-browser/package.json +6 -6
  758. package/node_modules/@smithy/util-defaults-mode-node/package.json +9 -9
  759. package/node_modules/@smithy/util-endpoints/package.json +6 -6
  760. package/node_modules/@smithy/util-middleware/package.json +5 -5
  761. package/node_modules/@smithy/util-retry/README.md +1 -1
  762. package/node_modules/@smithy/util-retry/package.json +6 -6
  763. package/node_modules/@smithy/util-stream/dist-cjs/createBufferedReadable.js +1 -1
  764. package/node_modules/@smithy/util-stream/dist-cjs/createBufferedReadableStream.js +3 -3
  765. package/node_modules/@smithy/util-stream/dist-es/createBufferedReadable.js +1 -1
  766. package/node_modules/@smithy/util-stream/dist-es/createBufferedReadableStream.js +3 -3
  767. package/node_modules/@smithy/util-stream/dist-types/createBufferedReadableStream.d.ts +3 -2
  768. package/node_modules/@smithy/util-stream/dist-types/ts3.4/createBufferedReadableStream.d.ts +3 -2
  769. package/node_modules/@smithy/util-stream/package.json +6 -6
  770. package/node_modules/@smithy/util-waiter/package.json +6 -6
  771. package/node_modules/@types/aws-lambda/README.md +1 -1
  772. package/node_modules/@types/aws-lambda/package.json +2 -2
  773. package/node_modules/@types/aws-lambda/trigger/guard-duty-event-notification.d.ts +1 -1
  774. package/node_modules/axios/CHANGELOG.md +36 -0
  775. package/node_modules/axios/README.md +8 -2
  776. package/node_modules/axios/dist/axios.js +4 -4
  777. package/node_modules/axios/dist/axios.js.map +1 -1
  778. package/node_modules/axios/dist/axios.min.js +2 -2
  779. package/node_modules/axios/dist/axios.min.js.map +1 -1
  780. package/node_modules/axios/dist/browser/axios.cjs +4 -4
  781. package/node_modules/axios/dist/browser/axios.cjs.map +1 -1
  782. package/node_modules/axios/dist/esm/axios.js +4 -4
  783. package/node_modules/axios/dist/esm/axios.js.map +1 -1
  784. package/node_modules/axios/dist/esm/axios.min.js +2 -2
  785. package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
  786. package/node_modules/axios/dist/node/axios.cjs +5 -5
  787. package/node_modules/axios/dist/node/axios.cjs.map +1 -1
  788. package/node_modules/axios/index.d.cts +1 -0
  789. package/node_modules/axios/index.d.ts +1 -0
  790. package/node_modules/axios/lib/adapters/http.js +1 -1
  791. package/node_modules/axios/lib/core/buildFullPath.js +1 -1
  792. package/node_modules/axios/lib/env/data.js +1 -1
  793. package/node_modules/axios/lib/helpers/resolveConfig.js +1 -1
  794. package/node_modules/axios/package.json +4 -4
  795. package/package.json +19 -19
  796. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/.eslintignore +0 -7
  797. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/.eslintignore +0 -9
  798. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-add-secondary-index.js.snapshot/asset.0c3255e93ffe7a906c7422e9f0e9cc4c7fd86ee996ee3bb302e2f134b38463c8/index.js +0 -8
  799. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-no-arguments.js.snapshot/asset.0c3255e93ffe7a906c7422e9f0e9cc4c7fd86ee996ee3bb302e2f134b38463c8/index.js +0 -8
  800. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-set-billing-mode.js.snapshot/asset.0c3255e93ffe7a906c7422e9f0e9cc4c7fd86ee996ee3bb302e2f134b38463c8/index.js +0 -8
  801. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/test/integ.lamddb-use-existing-func.js.snapshot/asset.0c3255e93ffe7a906c7422e9f0e9cc4c7fd86ee996ee3bb302e2f134b38463c8/index.js +0 -8
  802. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/ansi-regex → ansi-regex}/index.d.ts +0 -0
  803. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/ansi-regex → ansi-regex}/index.js +0 -0
  804. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/ansi-regex → ansi-regex}/license +0 -0
  805. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/ansi-regex → ansi-regex}/package.json +0 -0
  806. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/ansi-regex → ansi-regex}/readme.md +0 -0
  807. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/aproba → aproba}/LICENSE +0 -0
  808. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/aproba → aproba}/README.md +0 -0
  809. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/aproba → aproba}/index.js +0 -0
  810. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/aproba → aproba}/package.json +0 -0
  811. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/are-we-there-yet → are-we-there-yet}/LICENSE.md +0 -0
  812. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/are-we-there-yet → are-we-there-yet}/README.md +0 -0
  813. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/are-we-there-yet → are-we-there-yet}/lib/index.js +0 -0
  814. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/are-we-there-yet → are-we-there-yet}/lib/tracker-base.js +0 -0
  815. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/are-we-there-yet → are-we-there-yet}/lib/tracker-group.js +0 -0
  816. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/are-we-there-yet → are-we-there-yet}/lib/tracker-stream.js +0 -0
  817. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/are-we-there-yet → are-we-there-yet}/lib/tracker.js +0 -0
  818. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/are-we-there-yet → are-we-there-yet}/package.json +0 -0
  819. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/color-support → color-support}/LICENSE +0 -0
  820. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/color-support → color-support}/README.md +0 -0
  821. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/color-support → color-support}/bin.js +0 -0
  822. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/color-support → color-support}/browser.js +0 -0
  823. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/color-support → color-support}/index.js +0 -0
  824. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/color-support → color-support}/package.json +0 -0
  825. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/console-control-strings → console-control-strings}/LICENSE +0 -0
  826. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/console-control-strings → console-control-strings}/README.md +0 -0
  827. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/console-control-strings → console-control-strings}/index.js +0 -0
  828. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/console-control-strings → console-control-strings}/package.json +0 -0
  829. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/emoji-regex → emoji-regex}/LICENSE-MIT.txt +0 -0
  830. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/emoji-regex → emoji-regex}/README.md +0 -0
  831. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/emoji-regex → emoji-regex}/es2015/index.js +0 -0
  832. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/emoji-regex → emoji-regex}/es2015/text.js +0 -0
  833. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/emoji-regex → emoji-regex}/index.d.ts +0 -0
  834. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/emoji-regex → emoji-regex}/index.js +0 -0
  835. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/emoji-regex → emoji-regex}/package.json +0 -0
  836. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/emoji-regex → emoji-regex}/text.js +0 -0
  837. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/LICENSE.md +0 -0
  838. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/README.md +0 -0
  839. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/base-theme.js +0 -0
  840. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/error.js +0 -0
  841. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/has-color.js +0 -0
  842. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/index.js +0 -0
  843. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/plumbing.js +0 -0
  844. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/process.js +0 -0
  845. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/progress-bar.js +0 -0
  846. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/render-template.js +0 -0
  847. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/set-immediate.js +0 -0
  848. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/set-interval.js +0 -0
  849. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/spin.js +0 -0
  850. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/template-item.js +0 -0
  851. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/theme-set.js +0 -0
  852. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/themes.js +0 -0
  853. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/lib/wide-truncate.js +0 -0
  854. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/LICENSE.txt +0 -0
  855. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/README.md +0 -0
  856. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/cjs/browser.d.ts +0 -0
  857. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/cjs/browser.d.ts.map +0 -0
  858. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/cjs/browser.js +0 -0
  859. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/cjs/browser.js.map +0 -0
  860. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/cjs/index.d.ts +0 -0
  861. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/cjs/index.d.ts.map +0 -0
  862. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/cjs/index.js +0 -0
  863. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/cjs/index.js.map +0 -0
  864. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/cjs/package.json +0 -0
  865. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/cjs/signals.d.ts +0 -0
  866. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/cjs/signals.d.ts.map +0 -0
  867. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/cjs/signals.js +0 -0
  868. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/cjs/signals.js.map +0 -0
  869. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/mjs/browser.d.ts +0 -0
  870. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/mjs/browser.d.ts.map +0 -0
  871. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/mjs/browser.js +0 -0
  872. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/mjs/browser.js.map +0 -0
  873. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/mjs/index.d.ts +0 -0
  874. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/mjs/index.d.ts.map +0 -0
  875. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/mjs/index.js +0 -0
  876. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/mjs/index.js.map +0 -0
  877. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/mjs/package.json +0 -0
  878. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/mjs/signals.d.ts +0 -0
  879. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/mjs/signals.d.ts.map +0 -0
  880. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/mjs/signals.js +0 -0
  881. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/dist/mjs/signals.js.map +0 -0
  882. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core → gauge}/node_modules/signal-exit/package.json +0 -0
  883. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/gauge → gauge}/package.json +0 -0
  884. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/has-unicode → has-unicode}/LICENSE +0 -0
  885. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/has-unicode → has-unicode}/README.md +0 -0
  886. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/has-unicode → has-unicode}/index.js +0 -0
  887. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/has-unicode → has-unicode}/package.json +0 -0
  888. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/is-fullwidth-code-point → is-fullwidth-code-point}/index.d.ts +0 -0
  889. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/is-fullwidth-code-point → is-fullwidth-code-point}/index.js +0 -0
  890. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/is-fullwidth-code-point → is-fullwidth-code-point}/license +0 -0
  891. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/is-fullwidth-code-point → is-fullwidth-code-point}/package.json +0 -0
  892. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/is-fullwidth-code-point → is-fullwidth-code-point}/readme.md +0 -0
  893. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/set-blocking → set-blocking}/LICENSE.txt +0 -0
  894. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/set-blocking → set-blocking}/README.md +0 -0
  895. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/set-blocking → set-blocking}/index.js +0 -0
  896. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/set-blocking → set-blocking}/package.json +0 -0
  897. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/string-width → string-width}/index.d.ts +0 -0
  898. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/string-width → string-width}/index.js +0 -0
  899. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/string-width → string-width}/license +0 -0
  900. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/string-width → string-width}/package.json +0 -0
  901. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/string-width → string-width}/readme.md +0 -0
  902. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/strip-ansi → strip-ansi}/index.d.ts +0 -0
  903. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/strip-ansi → strip-ansi}/index.js +0 -0
  904. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/strip-ansi → strip-ansi}/license +0 -0
  905. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/strip-ansi → strip-ansi}/package.json +0 -0
  906. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/strip-ansi → strip-ansi}/readme.md +0 -0
  907. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/wide-align → wide-align}/LICENSE +0 -0
  908. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/wide-align → wide-align}/README.md +0 -0
  909. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/wide-align → wide-align}/align.js +0 -0
  910. /package/node_modules/{@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/node_modules/wide-align → wide-align}/package.json +0 -0
@@ -14,14 +14,17 @@
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.CloudFrontDistributionForApiGateway = CloudFrontDistributionForApiGateway;
16
16
  exports.createCloudFrontDistributionForS3 = createCloudFrontDistributionForS3;
17
+ exports.createCloudFrontOaiDistributionForS3 = createCloudFrontOaiDistributionForS3;
17
18
  exports.CloudFrontDistributionForMediaStore = CloudFrontDistributionForMediaStore;
18
19
  exports.CloudFrontOriginAccessIdentity = CloudFrontOriginAccessIdentity;
19
20
  exports.CheckCloudFrontProps = CheckCloudFrontProps;
21
+ exports.CheckCloudfrontS3Props = CheckCloudfrontS3Props;
20
22
  /*
21
23
  * The functions found here in the core library are for internal use and can be changed
22
24
  * or removed outside of a major release. We recommend against calling them directly from client code.
23
25
  */
24
26
  const cloudfront = require("aws-cdk-lib/aws-cloudfront");
27
+ const origins = require("aws-cdk-lib/aws-cloudfront-origins");
25
28
  const s3 = require("aws-cdk-lib/aws-s3");
26
29
  const cdk = require("aws-cdk-lib");
27
30
  const cloudfront_distribution_defaults_1 = require("./cloudfront-distribution-defaults");
@@ -125,6 +128,61 @@ function createCloudFrontDistributionForS3(scope, id, props) {
125
128
  originAccessControl
126
129
  };
127
130
  }
131
+ /**
132
+ * @internal This is an internal core function and should not be called directly by Solutions Constructs clients.
133
+ */
134
+ function createCloudFrontOaiDistributionForS3(scope, props) {
135
+ const httpSecurityHeaders = props.httpSecurityHeaders ?? true;
136
+ const cloudfrontFunction = getCloudfrontFunction(httpSecurityHeaders, scope);
137
+ if (props.sourceBucket.isWebsite) {
138
+ throw new Error(`aws-cloudfront-oai-s3 has been provided a source bucket with website hosting enabled, which this construct
139
+ does not support. This requires both the bucket and its objects to be public. AWS strongly recommends against configuring
140
+ buckets and objects for public access. As such a configuration uses neither OAC nor OAI, it can be launched with the
141
+ aws-cloudfron-s3 construct in any region.`);
142
+ }
143
+ const getLoggingBucketResponse = getLoggingBucket(scope, {
144
+ cloudFrontDistributionProps: props.cloudFrontDistributionProps,
145
+ cloudFrontLoggingBucketProps: props.cloudFrontLoggingBucketProps,
146
+ cloudFrontLoggingBucketS3AccessLogBucketProps: props.cloudFrontLoggingBucketS3AccessLogBucketProps,
147
+ enableS3AccessLogs: props.logCloudFrontAccessLog
148
+ });
149
+ let origin;
150
+ const constructOai = new cloudfront.OriginAccessIdentity(scope, 'constructsGeneratedOai', {});
151
+ if (props.originPath) {
152
+ origin = origins.S3BucketOrigin.withOriginAccessIdentity(props.sourceBucket, {
153
+ originPath: props.originPath,
154
+ originAccessIdentity: constructOai
155
+ });
156
+ }
157
+ else {
158
+ origin = origins.S3BucketOrigin.withOriginAccessIdentity(props.sourceBucket, { originAccessIdentity: constructOai });
159
+ }
160
+ const defaultprops = (0, cloudfront_distribution_defaults_1.DefaultCloudFrontWebDistributionForS3Props)(origin, getLoggingBucketResponse.logBucket, httpSecurityHeaders, cloudfrontFunction, props.responseHeadersPolicyProps ?
161
+ new cloudfront.ResponseHeadersPolicy(scope, 'ResponseHeadersPolicy', props.responseHeadersPolicyProps) :
162
+ undefined);
163
+ const cfprops = (0, utils_1.consolidateProps)(defaultprops, props.cloudFrontDistributionProps);
164
+ // Create the Cloudfront Distribution
165
+ const cfDistribution = new cloudfront.Distribution(scope, 'CloudFrontDistribution', cfprops);
166
+ updateSecurityPolicy(cfDistribution);
167
+ // Extract the CfnBucketPolicy from the sourceBucket
168
+ const bucketPolicy = props.sourceBucket.policy;
169
+ // the lack of a bucketPolicy means the bucket was imported from outside the stack so the lack of cfn_nag suppression is not an issue
170
+ if (bucketPolicy) {
171
+ (0, utils_1.addCfnSuppressRules)(bucketPolicy, [
172
+ {
173
+ id: 'F16',
174
+ reason: `Public website bucket policy requires a wildcard principal`
175
+ }
176
+ ]);
177
+ }
178
+ return {
179
+ distribution: cfDistribution,
180
+ cloudfrontFunction,
181
+ loggingBucket: getLoggingBucketResponse.logBucket,
182
+ loggingBucketS3AccesssLogBucket: getLoggingBucketResponse.logBucketAccessLogBucket,
183
+ originAccessIdentity: constructOai
184
+ };
185
+ }
128
186
  /**
129
187
  * @internal This is an internal core function and should not be called directly by Solutions Constructs clients.
130
188
  */
@@ -160,8 +218,7 @@ function CloudFrontDistributionForMediaStore(scope, mediaStoreContainer, cloudFr
160
218
  }
161
219
  const cloudfrontFunction = getCloudfrontFunction(httpSecurityHeaders, scope);
162
220
  const defaultprops = (0, cloudfront_distribution_defaults_1.DefaultCloudFrontDistributionForMediaStoreProps)(mediaStoreContainer, getLoggingBucketResponse.logBucket, originRequestPolicy, httpSecurityHeaders, cloudFrontDistributionProps?.customHeaders, cloudfrontFunction, responseHeadersPolicyProps ? new cloudfront.ResponseHeadersPolicy(scope, 'ResponseHeadersPolicy', responseHeadersPolicyProps) : undefined);
163
- let cfprops;
164
- cfprops = (0, utils_1.consolidateProps)(defaultprops, cloudFrontDistributionProps);
221
+ const cfprops = (0, utils_1.consolidateProps)(defaultprops, cloudFrontDistributionProps);
165
222
  // Create the CloudFront Distribution
166
223
  const cfDistribution = new cloudfront.Distribution(scope, 'CloudFrontDistribution', cfprops);
167
224
  updateSecurityPolicy(cfDistribution);
@@ -222,4 +279,31 @@ function CheckCloudFrontProps(propsObject) {
222
279
  throw new Error(errorMessages);
223
280
  }
224
281
  }
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWRmcm9udC1kaXN0cmlidXRpb24taGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2xvdWRmcm9udC1kaXN0cmlidXRpb24taGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFtRUgsa0ZBeUJDO0FBdUJELDhFQWdFQztBQVlELGtGQTZEQztBQUtELHdFQUlDO0FBNERELG9EQVlDO0FBM1VEOzs7R0FHRztBQUVILHlEQUF5RDtBQUN6RCx5Q0FBeUM7QUFDekMsbUNBQW1DO0FBR25DLHlGQUk0QztBQUM1QyxtQ0FBeUY7QUFDekYseURBQW1FO0FBQ25FLDZEQUFzRDtBQUN0RCxtREFBOEM7QUFJOUMsb0dBQW9HO0FBQ3BHLFNBQVMsb0JBQW9CLENBQUMsY0FBdUM7SUFDbkUsSUFBQSwyQkFBbUIsRUFBQyxjQUFjLEVBQUU7UUFDbEM7WUFDRSxFQUFFLEVBQUUsS0FBSztZQUNULE1BQU0sRUFBRSxzS0FBc0s7U0FDL0s7S0FDRixDQUFDLENBQUM7SUFFSCxPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDO0FBRUQsMkdBQTJHO0FBQzNHLHNDQUFzQztBQUN0QyxTQUFTLHlCQUF5QixDQUFDLEtBQWdCO0lBQ2pELHFFQUFxRTtJQUNyRSxzRUFBc0U7SUFDdEUsZ0RBQWdEO0lBQ2hELGtEQUFrRDtJQUNsRCxNQUFNLFVBQVUsR0FBRyx5QkFBeUIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUU5RCxPQUFPLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLEVBQUU7UUFDOUQsWUFBWSxFQUFFLFVBQVU7UUFDeEIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLDRCQUE0QjtZQUNuRSxpQ0FBaUM7WUFDakMsa0NBQWtDO1lBQ2xDLG1HQUFtRztZQUNuRyxpSkFBaUo7WUFDakoseUdBQXlHO1lBQ3pHLDBEQUEwRDtZQUMx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VSxHQUFHLEtBQUssQ0FBQztJQUV2QixJQUFJLFdBQVcsQ0FBQyx5QkFBeUIsS0FBSyxLQUFLLElBQUksV0FBVyxDQUFDLDBCQUEwQixFQUFFLHVCQUF1QixFQUFFLENBQUM7UUFDdkgsYUFBYSxJQUFJLGlIQUFpSCxDQUFDO1FBQ25JLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksVUFBVSxFQUFFLENBQUM7UUFDZixNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLypcbiAqICBUaGUgZnVuY3Rpb25zIGZvdW5kIGhlcmUgaW4gdGhlIGNvcmUgbGlicmFyeSBhcmUgZm9yIGludGVybmFsIHVzZSBhbmQgY2FuIGJlIGNoYW5nZWRcbiAqICBvciByZW1vdmVkIG91dHNpZGUgb2YgYSBtYWpvciByZWxlYXNlLiBXZSByZWNvbW1lbmQgYWdhaW5zdCBjYWxsaW5nIHRoZW0gZGlyZWN0bHkgZnJvbSBjbGllbnQgY29kZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBjbG91ZGZyb250IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZGZyb250JztcbmltcG9ydCAqIGFzIHMzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgYXBpIGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5JztcbmltcG9ydCAqIGFzIG1lZGlhc3RvcmUgZnJvbSAnYXdzLWNkay1saWIvYXdzLW1lZGlhc3RvcmUnO1xuaW1wb3J0IHtcbiAgRGVmYXVsdENsb3VkRnJvbnRXZWJEaXN0cmlidXRpb25Gb3JTM1Byb3BzLFxuICBEZWZhdWx0Q2xvdWRGcm9udFdlYkRpc3RyaWJ1dGlvbkZvckFwaUdhdGV3YXlQcm9wcyxcbiAgRGVmYXVsdENsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JNZWRpYVN0b3JlUHJvcHNcbn0gZnJvbSAnLi9jbG91ZGZyb250LWRpc3RyaWJ1dGlvbi1kZWZhdWx0cyc7XG5pbXBvcnQgeyBhZGRDZm5TdXBwcmVzc1J1bGVzLCBjb25zb2xpZGF0ZVByb3BzLCBnZW5lcmF0ZVBoeXNpY2FsT2FjTmFtZSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgY3JlYXRlQ2xvdWRGcm9udExvZ2dpbmdCdWNrZXQgfSBmcm9tICcuL3MzLWJ1Y2tldC1oZWxwZXInO1xuaW1wb3J0IHsgRGVmYXVsdFMzUHJvcHMgfSBmcm9tICcuL3MzLWJ1Y2tldC1kZWZhdWx0cyc7XG5pbXBvcnQgeyBTM09hY09yaWdpbiB9IGZyb20gJy4vczMtb2FjLW9yaWdpbic7XG4vLyBOb3RlOiBUbyBlbnN1cmUgQ0RLdjIgY29tcGF0aWJpbGl0eSwga2VlcCB0aGUgaW1wb3J0IHN0YXRlbWVudCBmb3IgQ29uc3RydWN0IHNlcGFyYXRlXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLy8gT3ZlcnJpZGUgQ2ZuX05hZyBydWxlOiBDbG91ZGZyb250IFRMUy0xLjIgcnVsZSAoaHR0cHM6Ly9naXRodWIuY29tL3N0ZWxsaWdlbnQvY2ZuX25hZy9pc3N1ZXMvMzg0KVxuZnVuY3Rpb24gdXBkYXRlU2VjdXJpdHlQb2xpY3koY2ZEaXN0cmlidXRpb246IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uKSB7XG4gIGFkZENmblN1cHByZXNzUnVsZXMoY2ZEaXN0cmlidXRpb24sIFtcbiAgICB7XG4gICAgICBpZDogJ1c3MCcsXG4gICAgICByZWFzb246IGBTaW5jZSB0aGUgZGlzdHJpYnV0aW9uIHVzZXMgdGhlIENsb3VkRnJvbnQgZG9tYWluIG5hbWUsIENsb3VkRnJvbnQgYXV0b21hdGljYWxseSBzZXRzIHRoZSBzZWN1cml0eSBwb2xpY3kgdG8gVExTdjEgcmVnYXJkbGVzcyBvZiB0aGUgdmFsdWUgb2YgTWluaW11bVByb3RvY29sVmVyc2lvbmBcbiAgICB9XG4gIF0pO1xuXG4gIHJldHVybiBjZkRpc3RyaWJ1dGlvbjtcbn1cblxuLy8gQ2xvdWRmcm9udCBmdW5jdGlvbiB0byBpbnNlcnQgdGhlIEhUVFAgU2VjdXJpdHkgSGVhZGVycyBpbnRvIHRoZSByZXNwb25zZSBjb21pbmcgZnJvbSB0aGUgb3JpZ2luIHNlcnZlcnNcbi8vIGFuZCBiZWZvcmUgaXQgaXMgc2VudCB0byB0aGUgY2xpZW50XG5mdW5jdGlvbiBkZWZhdWx0Q2xvdWRmcm9udEZ1bmN0aW9uKHNjb3BlOiBDb25zdHJ1Y3QpOiBjbG91ZGZyb250LkZ1bmN0aW9uIHtcbiAgLy8gZ2VuZXJhdGUgYSBzdGFibGUgdW5pcXVlIGlkIGZvciB0aGUgY2xvdWRmcm9udCBmdW5jdGlvbiBhbmQgdXNlIGl0XG4gIC8vIGJvdGggZm9yIHRoZSBmdW5jdGlvbiBuYW1lIGFuZCB0aGUgbG9naWNhbCBpZCBvZiB0aGUgZnVuY3Rpb24gc28gaWZcbiAgLy8gaXQgaXMgY2hhbmdlZCB0aGUgZnVuY3Rpb24gd2lsbCBiZSByZWNyZWF0ZWQuXG4gIC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzE1NTIzXG4gIGNvbnN0IGZ1bmN0aW9uSWQgPSBgU2V0SHR0cFNlY3VyaXR5SGVhZGVycyR7c2NvcGUubm9kZS5hZGRyfWA7XG5cbiAgcmV0dXJuIG5ldyBjbG91ZGZyb250LkZ1bmN0aW9uKHNjb3BlLCBcIlNldEh0dHBTZWN1cml0eUhlYWRlcnNcIiwge1xuICAgIGZ1bmN0aW9uTmFtZTogZnVuY3Rpb25JZCxcbiAgICBjb2RlOiBjbG91ZGZyb250LkZ1bmN0aW9uQ29kZS5mcm9tSW5saW5lKFwiZnVuY3Rpb24gaGFuZGxlcihldmVudCkgeyBcIiArXG4gICAgICBcInZhciByZXNwb25zZSA9IGV2ZW50LnJlc3BvbnNlOyBcIiArXG4gICAgICBcInZhciBoZWFkZXJzID0gcmVzcG9uc2UuaGVhZGVyczsgXCIgK1xuICAgICAgXCJoZWFkZXJzWydzdHJpY3QtdHJhbnNwb3J0LXNlY3VyaXR5J10gPSB7IHZhbHVlOiAnbWF4LWFnZT02MzA3MjAwMDsgaW5jbHVkZVN1YmRvbWFpbnM7IHByZWxvYWQnfTsgXCIgK1xuICAgICAgXCJoZWFkZXJzWydjb250ZW50LXNlY3VyaXR5LXBvbGljeSddID0geyB2YWx1ZTogXFxcImRlZmF1bHQtc3JjICdub25lJzsgaW1nLXNyYyAnc2VsZic7IHNjcmlwdC1zcmMgJ3NlbGYnOyBzdHlsZS1zcmMgJ3NlbGYnOyBvYmplY3Qtc3JjICdub25lJ1xcXCJ9OyBcIiArXG4gICAgICBcImhlYWRlcnNbJ3gtY29udGVudC10eXBlLW9wdGlvbnMnXSA9IHsgdmFsdWU6ICdub3NuaWZmJ307IGhlYWRlcnNbJ3gtZnJhbWUtb3B0aW9ucyddID0ge3ZhbHVlOiAnREVOWSd9OyBcIiArXG4gICAgICBcImhlYWRlcnNbJ3gteHNzLXByb3RlY3Rpb24nXSA9IHt2YWx1ZTogJzE7IG1vZGU9YmxvY2snfTsgXCIgK1xuICAgICAgXCJyZXR1cm4gcmVzcG9uc2U7IH1cIilcbiAgfSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvckFwaUdhdGV3YXlSZXNwb25zZSB7XG4gIHJlYWRvbmx5IGRpc3RyaWJ1dGlvbjogY2xvdWRmcm9udC5EaXN0cmlidXRpb24sXG4gIHJlYWRvbmx5IGNsb3VkZnJvbnRGdW5jdGlvbj86IGNsb3VkZnJvbnQuRnVuY3Rpb24sXG4gIHJlYWRvbmx5IGxvZ2dpbmdCdWNrZXQ/OiBzMy5CdWNrZXRcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvckFwaUdhdGV3YXkoc2NvcGU6IENvbnN0cnVjdCxcbiAgYXBpRW5kUG9pbnQ6IGFwaS5SZXN0QXBpLFxuICBjbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHM/OiBjbG91ZGZyb250LkRpc3RyaWJ1dGlvblByb3BzIHwgYW55LFxuICBodHRwU2VjdXJpdHlIZWFkZXJzOiBib29sZWFuID0gdHJ1ZSxcbiAgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcz86IHMzLkJ1Y2tldFByb3BzLFxuICByZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcz86IGNsb3VkZnJvbnQuUmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHNcbik6IENsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JBcGlHYXRld2F5UmVzcG9uc2Uge1xuXG4gIGNvbnN0IGNsb3VkZnJvbnRGdW5jdGlvbiA9IGdldENsb3VkZnJvbnRGdW5jdGlvbihodHRwU2VjdXJpdHlIZWFkZXJzLCBzY29wZSk7XG5cbiAgY29uc3QgZ2V0TG9nZ2luZ0J1Y2tldFJlc3BvbnNlID0gZ2V0TG9nZ2luZ0J1Y2tldChzY29wZSwgIHsgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcywgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzIH0pO1xuXG4gIGNvbnN0IGRlZmF1bHRwcm9wcyA9IERlZmF1bHRDbG91ZEZyb250V2ViRGlzdHJpYnV0aW9uRm9yQXBpR2F0ZXdheVByb3BzKGFwaUVuZFBvaW50LFxuICAgIGdldExvZ2dpbmdCdWNrZXRSZXNwb25zZS5sb2dCdWNrZXQsXG4gICAgaHR0cFNlY3VyaXR5SGVhZGVycyxcbiAgICBjbG91ZGZyb250RnVuY3Rpb24sXG4gICAgcmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHMgPyBuZXcgY2xvdWRmcm9udC5SZXNwb25zZUhlYWRlcnNQb2xpY3koc2NvcGUsICdSZXNwb25zZUhlYWRlcnNQb2xpY3knLCByZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcykgOiB1bmRlZmluZWRcbiAgKTtcblxuICBjb25zdCBjZnByb3BzID0gY29uc29saWRhdGVQcm9wcyhkZWZhdWx0cHJvcHMsIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcyk7XG4gIC8vIENyZWF0ZSB0aGUgQ2xvdWRmcm9udCBEaXN0cmlidXRpb25cbiAgY29uc3QgY2ZEaXN0cmlidXRpb24gPSBuZXcgY2xvdWRmcm9udC5EaXN0cmlidXRpb24oc2NvcGUsICdDbG91ZEZyb250RGlzdHJpYnV0aW9uJywgY2Zwcm9wcyk7XG4gIHVwZGF0ZVNlY3VyaXR5UG9saWN5KGNmRGlzdHJpYnV0aW9uKTtcblxuICByZXR1cm4geyBkaXN0cmlidXRpb246IGNmRGlzdHJpYnV0aW9uLCBjbG91ZGZyb250RnVuY3Rpb24sIGxvZ2dpbmdCdWNrZXQ6IGdldExvZ2dpbmdCdWNrZXRSZXNwb25zZS5sb2dCdWNrZXR9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUNsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JTM1Byb3BzIHtcbiAgcmVhZG9ubHkgc291cmNlQnVja2V0OiBzMy5JQnVja2V0LFxuICByZWFkb25seSBjbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHM/OiBjbG91ZGZyb250LkRpc3RyaWJ1dGlvblByb3BzIHwgYW55LFxuICByZWFkb25seSBodHRwU2VjdXJpdHlIZWFkZXJzPzogYm9vbGVhbixcbiAgcmVhZG9ubHkgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcz86IHMzLkJ1Y2tldFByb3BzLFxuICByZWFkb25seSAgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRTM0FjY2Vzc0xvZ0J1Y2tldFByb3BzPzogczMuQnVja2V0UHJvcHMsXG4gIHJlYWRvbmx5IHJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzPzogY2xvdWRmcm9udC5SZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wc1xuICByZWFkb25seSBsb2dDbG91ZEZyb250QWNjZXNzTG9nPzogYm9vbGVhblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUNsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JTM1Jlc3BvbnNlIHtcbiAgcmVhZG9ubHkgZGlzdHJpYnV0aW9uOiBjbG91ZGZyb250LkRpc3RyaWJ1dGlvbixcbiAgcmVhZG9ubHkgbG9nZ2luZ0J1Y2tldD86IHMzLkJ1Y2tldCxcbiAgcmVhZG9ubHkgbG9nZ2luZ0J1Y2tldFMzQWNjZXNzc0xvZ0J1Y2tldD86IHMzLkJ1Y2tldCxcbiAgcmVhZG9ubHkgY2xvdWRmcm9udEZ1bmN0aW9uPzogY2xvdWRmcm9udC5GdW5jdGlvbixcbiAgcmVhZG9ubHkgb3JpZ2luQWNjZXNzQ29udHJvbD86IGNsb3VkZnJvbnQuQ2ZuT3JpZ2luQWNjZXNzQ29udHJvbCxcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvclMzKFxuICBzY29wZTogQ29uc3RydWN0LFxuICBpZDogc3RyaW5nLFxuICBwcm9wczogQ3JlYXRlQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvclMzUHJvcHNcbik6IENyZWF0ZUNsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JTM1Jlc3BvbnNlIHtcbiAgY29uc3QgaHR0cFNlY3VyaXR5SGVhZGVycyA9IHByb3BzLmh0dHBTZWN1cml0eUhlYWRlcnMgPz8gdHJ1ZTtcbiAgY29uc3QgY2xvdWRmcm9udEZ1bmN0aW9uID0gZ2V0Q2xvdWRmcm9udEZ1bmN0aW9uKGh0dHBTZWN1cml0eUhlYWRlcnMsIHNjb3BlKTtcblxuICBjb25zdCBnZXRMb2dnaW5nQnVja2V0UmVzcG9uc2UgPSBnZXRMb2dnaW5nQnVja2V0KHNjb3BlLCB7XG4gICAgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzOiBwcm9wcy5jbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHMsXG4gICAgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wczogcHJvcHMuY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcyxcbiAgICBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldFMzQWNjZXNzTG9nQnVja2V0UHJvcHM6IHByb3BzLmNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UzNBY2Nlc3NMb2dCdWNrZXRQcm9wcyxcbiAgICBlbmFibGVTM0FjY2Vzc0xvZ3M6IHByb3BzLmxvZ0Nsb3VkRnJvbnRBY2Nlc3NMb2dcbiAgfSk7XG5cbiAgbGV0IG9yaWdpbkFjY2Vzc0NvbnRyb2w7XG4gIGxldCBvcmlnaW5Qcm9wcyA9IHt9O1xuXG4gIGlmICghcHJvcHMuc291cmNlQnVja2V0LmlzV2Vic2l0ZSkge1xuICAgIG9yaWdpbkFjY2Vzc0NvbnRyb2wgPSBuZXcgY2xvdWRmcm9udC5DZm5PcmlnaW5BY2Nlc3NDb250cm9sKHNjb3BlLCAnQ2xvdWRGcm9udE9hYycsIHtcbiAgICAgIG9yaWdpbkFjY2Vzc0NvbnRyb2xDb25maWc6IHtcbiAgICAgICAgbmFtZTogZ2VuZXJhdGVQaHlzaWNhbE9hY05hbWUoJ2F3cy1jbG91ZGZyb250LXMzLScsIFtpZF0pLFxuICAgICAgICBvcmlnaW5BY2Nlc3NDb250cm9sT3JpZ2luVHlwZTogJ3MzJyxcbiAgICAgICAgc2lnbmluZ0JlaGF2aW9yOiAnYWx3YXlzJyxcbiAgICAgICAgc2lnbmluZ1Byb3RvY29sOiAnc2lndjQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ09yaWdpbiBhY2Nlc3MgY29udHJvbCBwcm92aXNpb25lZCBieSBhd3MtY2xvdWRmcm9udC1zMydcbiAgICAgIH1cbiAgICB9KTtcbiAgICBvcmlnaW5Qcm9wcyA9IHsgb3JpZ2luQWNjZXNzQ29udHJvbCB9O1xuICB9XG5cbiAgY29uc3Qgb3JpZ2luID0gbmV3IFMzT2FjT3JpZ2luKHByb3BzLnNvdXJjZUJ1Y2tldCwgb3JpZ2luUHJvcHMpO1xuXG4gIGNvbnN0IGRlZmF1bHRwcm9wcyA9IERlZmF1bHRDbG91ZEZyb250V2ViRGlzdHJpYnV0aW9uRm9yUzNQcm9wcyhvcmlnaW4sXG4gICAgZ2V0TG9nZ2luZ0J1Y2tldFJlc3BvbnNlLmxvZ0J1Y2tldCxcbiAgICBodHRwU2VjdXJpdHlIZWFkZXJzLFxuICAgIGNsb3VkZnJvbnRGdW5jdGlvbixcbiAgICBwcm9wcy5yZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcyA/XG4gICAgICBuZXcgY2xvdWRmcm9udC5SZXNwb25zZUhlYWRlcnNQb2xpY3koc2NvcGUsICdSZXNwb25zZUhlYWRlcnNQb2xpY3knLCBwcm9wcy5yZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcykgOlxuICAgICAgdW5kZWZpbmVkXG4gICk7XG5cbiAgY29uc3QgY2Zwcm9wcyA9IGNvbnNvbGlkYXRlUHJvcHMoZGVmYXVsdHByb3BzLCBwcm9wcy5jbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHMpO1xuICAvLyBDcmVhdGUgdGhlIENsb3VkZnJvbnQgRGlzdHJpYnV0aW9uXG4gIGNvbnN0IGNmRGlzdHJpYnV0aW9uID0gbmV3IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uKHNjb3BlLCAnQ2xvdWRGcm9udERpc3RyaWJ1dGlvbicsIGNmcHJvcHMpO1xuICB1cGRhdGVTZWN1cml0eVBvbGljeShjZkRpc3RyaWJ1dGlvbik7XG5cbiAgLy8gRXh0cmFjdCB0aGUgQ2ZuQnVja2V0UG9saWN5IGZyb20gdGhlIHNvdXJjZUJ1Y2tldFxuICBjb25zdCBidWNrZXRQb2xpY3kgPSBwcm9wcy5zb3VyY2VCdWNrZXQucG9saWN5IGFzIHMzLkJ1Y2tldFBvbGljeTtcbiAgLy8gdGhlIGxhY2sgb2YgYSBidWNrZXRQb2xpY3kgbWVhbnMgdGhlIGJ1Y2tldCB3YXMgaW1wb3J0ZWQgZnJvbSBvdXRzaWRlIHRoZSBzdGFjayBzbyB0aGUgbGFjayBvZiBjZm5fbmFnIHN1cHByZXNzaW9uIGlzIG5vdCBhbiBpc3N1ZVxuICBpZiAoYnVja2V0UG9saWN5KSB7XG4gICAgYWRkQ2ZuU3VwcHJlc3NSdWxlcyhidWNrZXRQb2xpY3ksIFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdGMTYnLFxuICAgICAgICByZWFzb246IGBQdWJsaWMgd2Vic2l0ZSBidWNrZXQgcG9saWN5IHJlcXVpcmVzIGEgd2lsZGNhcmQgcHJpbmNpcGFsYFxuICAgICAgfVxuICAgIF0pO1xuICB9XG4gIHJldHVybiB7XG4gICAgZGlzdHJpYnV0aW9uOiBjZkRpc3RyaWJ1dGlvbixcbiAgICBjbG91ZGZyb250RnVuY3Rpb24sXG4gICAgbG9nZ2luZ0J1Y2tldDogZ2V0TG9nZ2luZ0J1Y2tldFJlc3BvbnNlLmxvZ0J1Y2tldCxcbiAgICBsb2dnaW5nQnVja2V0UzNBY2Nlc3NzTG9nQnVja2V0OiBnZXRMb2dnaW5nQnVja2V0UmVzcG9uc2UubG9nQnVja2V0QWNjZXNzTG9nQnVja2V0LFxuICAgIG9yaWdpbkFjY2Vzc0NvbnRyb2x9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JNZWRpYVN0b3JlUmVzcG9uc2Uge1xuICByZWFkb25seSBkaXN0cmlidXRpb246IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uLFxuICByZWFkb25seSBsb2dnaW5nQnVja2V0PzogczMuQnVja2V0LFxuICByZWFkb25seSByZXF1ZXN0UG9saWN5OiBjbG91ZGZyb250Lk9yaWdpblJlcXVlc3RQb2xpY3ksXG4gIHJlYWRvbmx5IGNsb3VkZnJvbnRGdW5jdGlvbj86IGNsb3VkZnJvbnQuRnVuY3Rpb25cbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvck1lZGlhU3RvcmUoc2NvcGU6IENvbnN0cnVjdCxcbiAgbWVkaWFTdG9yZUNvbnRhaW5lcjogbWVkaWFzdG9yZS5DZm5Db250YWluZXIsXG4gIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcz86IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uUHJvcHMgfCBhbnksXG4gIGh0dHBTZWN1cml0eUhlYWRlcnM6IGJvb2xlYW4gPSB0cnVlLFxuICBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldFByb3BzPzogczMuQnVja2V0UHJvcHMsXG4gIHJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzPzogY2xvdWRmcm9udC5SZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wc1xuKTogQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvck1lZGlhU3RvcmVSZXNwb25zZSB7XG5cbiAgbGV0IG9yaWdpblJlcXVlc3RQb2xpY3k6IGNsb3VkZnJvbnQuT3JpZ2luUmVxdWVzdFBvbGljeTtcblxuICBjb25zdCBnZXRMb2dnaW5nQnVja2V0UmVzcG9uc2UgPSBnZXRMb2dnaW5nQnVja2V0KHNjb3BlLCB7IGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcywgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcyB9KTtcblxuICBpZiAoY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzXG4gICAgJiYgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzLmRlZmF1bHRCZWhhdmlvclxuICAgICYmIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcy5kZWZhdWx0QmVoYXZpb3Iub3JpZ2luUmVxdWVzdFBvbGljeSkge1xuICAgIG9yaWdpblJlcXVlc3RQb2xpY3kgPSBjbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHMuZGVmYXVsdEJlaGF2aW9yLm9yaWdpblJlcXVlc3RQb2xpY3k7XG4gIH0gZWxzZSB7XG4gICAgY29uc3Qgb3JpZ2luUmVxdWVzdFBvbGljeVByb3BzOiBjbG91ZGZyb250Lk9yaWdpblJlcXVlc3RQb2xpY3lQcm9wcyA9IHtcbiAgICAgIGhlYWRlckJlaGF2aW9yOiB7XG4gICAgICAgIGJlaGF2aW9yOiAnd2hpdGVsaXN0JyxcbiAgICAgICAgaGVhZGVyczogW1xuICAgICAgICAgICdBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4nLFxuICAgICAgICAgICdBY2Nlc3MtQ29udHJvbC1SZXF1ZXN0LU1ldGhvZCcsXG4gICAgICAgICAgJ0FjY2Vzcy1Db250cm9sLVJlcXVlc3QtSGVhZGVyJyxcbiAgICAgICAgICAnT3JpZ2luJ1xuICAgICAgICBdXG4gICAgICB9LFxuICAgICAgcXVlcnlTdHJpbmdCZWhhdmlvcjoge1xuICAgICAgICBiZWhhdmlvcjogJ2FsbCdcbiAgICAgIH0sXG4gICAgICBjb29raWVCZWhhdmlvcjoge1xuICAgICAgICBiZWhhdmlvcjogJ25vbmUnXG4gICAgICB9LFxuICAgICAgY29tbWVudDogJ1BvbGljeSBmb3IgQ29uc3RydWN0cyBDbG91ZEZyb250RGlzdHJpYnV0aW9uRm9yTWVkaWFTdG9yZScsXG4gICAgICBvcmlnaW5SZXF1ZXN0UG9saWN5TmFtZTogYCR7Y2RrLkF3cy5TVEFDS19OQU1FfS0ke2Nkay5Bd3MuUkVHSU9OfS1DbG91ZEZyb250RGlzdHJpYnV0aW9uRm9yTWVkaWFTdG9yZWBcbiAgICB9O1xuXG4gICAgb3JpZ2luUmVxdWVzdFBvbGljeSA9IG5ldyBjbG91ZGZyb250Lk9yaWdpblJlcXVlc3RQb2xpY3koc2NvcGUsICdDbG91ZGZyb250T3JpZ2luUmVxdWVzdFBvbGljeScsIG9yaWdpblJlcXVlc3RQb2xpY3lQcm9wcyk7XG4gIH1cblxuICBjb25zdCBjbG91ZGZyb250RnVuY3Rpb24gPSBnZXRDbG91ZGZyb250RnVuY3Rpb24oaHR0cFNlY3VyaXR5SGVhZGVycywgc2NvcGUpO1xuXG4gIGNvbnN0IGRlZmF1bHRwcm9wcyA9IERlZmF1bHRDbG91ZEZyb250RGlzdHJpYnV0aW9uRm9yTWVkaWFTdG9yZVByb3BzKFxuICAgIG1lZGlhU3RvcmVDb250YWluZXIsXG4gICAgZ2V0TG9nZ2luZ0J1Y2tldFJlc3BvbnNlLmxvZ0J1Y2tldCxcbiAgICBvcmlnaW5SZXF1ZXN0UG9saWN5LFxuICAgIGh0dHBTZWN1cml0eUhlYWRlcnMsXG4gICAgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzPy5jdXN0b21IZWFkZXJzLFxuICAgIGNsb3VkZnJvbnRGdW5jdGlvbixcbiAgICByZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcyA/IG5ldyBjbG91ZGZyb250LlJlc3BvbnNlSGVhZGVyc1BvbGljeShzY29wZSwgJ1Jlc3BvbnNlSGVhZGVyc1BvbGljeScsIHJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzKSA6IHVuZGVmaW5lZFxuICApO1xuXG4gIGxldCBjZnByb3BzOiBjbG91ZGZyb250LkRpc3RyaWJ1dGlvblByb3BzO1xuXG4gIGNmcHJvcHMgPSBjb25zb2xpZGF0ZVByb3BzKGRlZmF1bHRwcm9wcywgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzKTtcblxuICAvLyBDcmVhdGUgdGhlIENsb3VkRnJvbnQgRGlzdHJpYnV0aW9uXG4gIGNvbnN0IGNmRGlzdHJpYnV0aW9uID0gbmV3IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uKHNjb3BlLCAnQ2xvdWRGcm9udERpc3RyaWJ1dGlvbicsIGNmcHJvcHMpO1xuICB1cGRhdGVTZWN1cml0eVBvbGljeShjZkRpc3RyaWJ1dGlvbik7XG5cbiAgcmV0dXJuIHsgZGlzdHJpYnV0aW9uOiBjZkRpc3RyaWJ1dGlvbiwgbG9nZ2luZ0J1Y2tldDogZ2V0TG9nZ2luZ0J1Y2tldFJlc3BvbnNlLmxvZ0J1Y2tldCwgcmVxdWVzdFBvbGljeTogb3JpZ2luUmVxdWVzdFBvbGljeSwgY2xvdWRmcm9udEZ1bmN0aW9uIH07XG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eShzY29wZTogQ29uc3RydWN0LCBjb21tZW50Pzogc3RyaW5nKSB7XG4gIHJldHVybiBuZXcgY2xvdWRmcm9udC5PcmlnaW5BY2Nlc3NJZGVudGl0eShzY29wZSwgJ0Nsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eScsIHtcbiAgICBjb21tZW50OiBjb21tZW50ID8gY29tbWVudCA6IGBhY2Nlc3MtaWRlbnRpdHktJHtjZGsuQXdzLlJFR0lPTn0tJHtjZGsuQXdzLlNUQUNLX05BTUV9YFxuICB9KTtcbn1cblxuaW50ZXJmYWNlIEdldExvZ2dpbmdCdWNrZXRSZXF1ZXN0IHtcbiAgcmVhZG9ubHkgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzOiBjbG91ZGZyb250LkRpc3RyaWJ1dGlvblByb3BzIHwgYW55LFxuICByZWFkb25seSBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldFByb3BzPzogczMuQnVja2V0UHJvcHMsXG4gIHJlYWRvbmx5IGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UzNBY2Nlc3NMb2dCdWNrZXRQcm9wcz86IHMzLkJ1Y2tldFByb3BzLFxuICByZWFkb25seSBlbmFibGVTM0FjY2Vzc0xvZ3M/OiBib29sZWFuXG59XG5pbnRlcmZhY2UgR2V0TG9nZ2luZ0J1Y2tldFJlc3BvbnNlIHtcbiAgbG9nQnVja2V0PzogczMuQnVja2V0LFxuICBsb2dCdWNrZXRBY2Nlc3NMb2dCdWNrZXQ/OiBzMy5CdWNrZXRcbn1cblxuZnVuY3Rpb24gZ2V0TG9nZ2luZ0J1Y2tldChzY29wZTogQ29uc3RydWN0LCBwcm9wczogR2V0TG9nZ2luZ0J1Y2tldFJlcXVlc3QpOiBHZXRMb2dnaW5nQnVja2V0UmVzcG9uc2Uge1xuICBjb25zdCBpc0xvZ2dpbmdEaXNhYmxlZCA9IHByb3BzLmNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcz8uZW5hYmxlTG9nZ2luZyA9PT0gZmFsc2U7XG4gIGNvbnN0IHVzZXJTdXBwbGllZExvZ0J1Y2tldCA9IHByb3BzLmNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcz8ubG9nQnVja2V0O1xuXG4gIGlmICh1c2VyU3VwcGxpZWRMb2dCdWNrZXQgJiYgcHJvcHMuY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcykge1xuICAgIHRocm93IEVycm9yKCdFaXRoZXIgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzLmxvZ0J1Y2tldCBvciBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldFByb3BzIGNhbiBiZSBzZXQuJyk7XG4gIH1cblxuICBsZXQgbG9nQnVja2V0OiBzMy5CdWNrZXQgfCB1bmRlZmluZWQ7XG4gIGxldCBsb2dCdWNrZVMzQWNjZXNzTG9nQnVja2V0dDogczMuQnVja2V0IHwgdW5kZWZpbmVkO1xuICBpZiAoaXNMb2dnaW5nRGlzYWJsZWQpIHtcbiAgICBsb2dCdWNrZXQgPSB1bmRlZmluZWQ7XG4gIH0gZWxzZSBpZiAodXNlclN1cHBsaWVkTG9nQnVja2V0KSB7XG4gICAgbG9nQnVja2V0ID0gdXNlclN1cHBsaWVkTG9nQnVja2V0O1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGNyZWF0ZUJ1Y2tldFJlc3BvbnNlID0gY3JlYXRlQ2xvdWRGcm9udExvZ2dpbmdCdWNrZXQoXG4gICAgICBzY29wZSxcbiAgICAgICdDbG91ZGZyb250TG9nZ2luZ0J1Y2tldCcsXG4gICAgICB7XG4gICAgICAgIC8vIEJ1Y2tldHMgdXNlZCBmb3IgQ2xvdWRGcm9udCBkaXN0cmlidXRpb24gbG9nZ2luZyByZXF1aXJlIEFDTHMgdG8gYmUgZXhwbGljaXRseSBlbmFibGVkLCBzbyB3ZSBhcHBseSB0aGlzIG9iamVjdE93bmVyc2hpcFxuICAgICAgICBsb2dnaW5nQnVja2V0UHJvcHM6IGNvbnNvbGlkYXRlUHJvcHMoRGVmYXVsdFMzUHJvcHMoKSwgcHJvcHMuY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcywge1xuICAgICAgICAgIG9iamVjdE93bmVyc2hpcDogczMuT2JqZWN0T3duZXJzaGlwLk9CSkVDVF9XUklURVJcbiAgICAgICAgfSksXG4gICAgICAgIHMzQWNjZXNzTG9nQnVja2V0UHJvcHM6IHByb3BzLmNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UzNBY2Nlc3NMb2dCdWNrZXRQcm9wcyxcbiAgICAgICAgZW5hYmxlUzNBY2Nlc3NMb2dzOiBwcm9wcy5lbmFibGVTM0FjY2Vzc0xvZ3NcbiAgICAgIH0pO1xuXG4gICAgbG9nQnVja2V0ID0gY3JlYXRlQnVja2V0UmVzcG9uc2UubG9nQnVja2V0O1xuICAgIGxvZ0J1Y2tlUzNBY2Nlc3NMb2dCdWNrZXR0ID0gY3JlYXRlQnVja2V0UmVzcG9uc2UuczNBY2Nlc3NMb2dCdWNrZXQ7XG4gICAgY29uc3QgbG9nZ2luZ0J1Y2tldFJlc291cmNlID0gbG9nQnVja2V0Lm5vZGUuZmluZENoaWxkKCdSZXNvdXJjZScpIGFzIHMzLkNmbkJ1Y2tldDtcbiAgICBsb2dnaW5nQnVja2V0UmVzb3VyY2UuYWRkUHJvcGVydHlPdmVycmlkZSgnQWNjZXNzQ29udHJvbCcsICdMb2dEZWxpdmVyeVdyaXRlJyk7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBsb2dCdWNrZXQsXG4gICAgbG9nQnVja2V0QWNjZXNzTG9nQnVja2V0OiBsb2dCdWNrZVMzQWNjZXNzTG9nQnVja2V0dFxuICB9O1xufVxuXG5mdW5jdGlvbiBnZXRDbG91ZGZyb250RnVuY3Rpb24oaHR0cFNlY3VyaXR5SGVhZGVyczogYm9vbGVhbiwgc2NvcGU6IENvbnN0cnVjdCkge1xuICByZXR1cm4gaHR0cFNlY3VyaXR5SGVhZGVycyA/IGRlZmF1bHRDbG91ZGZyb250RnVuY3Rpb24oc2NvcGUpIDogdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRnJvbnRQcm9wcyB7XG4gIHJlYWRvbmx5IGluc2VydEh0dHBTZWN1cml0eUhlYWRlcnM/OiBib29sZWFuO1xuICByZWFkb25seSByZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcz86IGNsb3VkZnJvbnQuUmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDaGVja0Nsb3VkRnJvbnRQcm9wcyhwcm9wc09iamVjdDogQ2xvdWRGcm9udFByb3BzIHwgYW55KSB7XG4gIGxldCBlcnJvck1lc3NhZ2VzID0gJyc7XG4gIGxldCBlcnJvckZvdW5kID0gZmFsc2U7XG5cbiAgaWYgKHByb3BzT2JqZWN0Lmluc2VydEh0dHBTZWN1cml0eUhlYWRlcnMgIT09IGZhbHNlICYmIHByb3BzT2JqZWN0LnJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzPy5zZWN1cml0eUhlYWRlcnNCZWhhdmlvcikge1xuICAgIGVycm9yTWVzc2FnZXMgKz0gJ3Jlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzLnNlY3VyaXR5SGVhZGVyc0JlaGF2aW9yIGNhbiBvbmx5IGJlIHBhc3NlZCBpZiBodHRwU2VjdXJpdHlIZWFkZXJzIGlzIHNldCB0byBgZmFsc2VgLic7XG4gICAgZXJyb3JGb3VuZCA9IHRydWU7XG4gIH1cblxuICBpZiAoZXJyb3JGb3VuZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihlcnJvck1lc3NhZ2VzKTtcbiAgfVxufVxuIl19
282
+ function CheckCloudfrontS3Props(props) {
283
+ let errorMessages = '';
284
+ let errorFound = false;
285
+ if ((props.logS3AccessLogs === false) && props.bucketProps?.serverAccessLogsBucket) {
286
+ errorMessages += 'Error - logS3AccessLogs is false, but a log bucket was provided in bucketProps.\n';
287
+ errorFound = true;
288
+ }
289
+ if (props.loggingBucketProps && props.bucketProps?.serverAccessLogsBucket) {
290
+ errorMessages += 'Error - bothlog bucket props and an existing log bucket were provided.\n';
291
+ errorFound = true;
292
+ }
293
+ if (props.cloudFrontLoggingBucketAccessLogBucketProps && props.cloudFrontLoggingBucketProps?.serverAccessLogsBucket) {
294
+ errorMessages += 'Error - an existing CloudFront log bucket S3 access log bucket and cloudFrontLoggingBucketAccessLogBucketProps were provided\n';
295
+ errorFound = true;
296
+ }
297
+ if (props.cloudFrontLoggingBucketAccessLogBucketProps && props.logCloudFrontAccessLog === false) {
298
+ errorMessages += 'Error - cloudFrontLoggingBucketAccessLogBucketProps were provided but logCloudFrontAccessLog was false\n';
299
+ errorFound = true;
300
+ }
301
+ if (props.cloudFrontLoggingBucketProps?.serverAccessLogsBucket && props.logCloudFrontAccessLog === false) {
302
+ errorMessages += 'Error - props.cloudFrontLoggingBucketProps.serverAccessLogsBucket was provided but logCloudFrontAccessLog was false\n';
303
+ errorFound = true;
304
+ }
305
+ if (errorFound) {
306
+ throw new Error(errorMessages);
307
+ }
308
+ }
309
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWRmcm9udC1kaXN0cmlidXRpb24taGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2xvdWRmcm9udC1kaXN0cmlidXRpb24taGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFvRUgsa0ZBeUJDO0FBdUJELDhFQWdFQztBQXdCRCxvRkFtRUM7QUFZRCxrRkEyREM7QUFLRCx3RUFJQztBQTRERCxvREFZQztBQVdELHdEQWdDQztBQWhkRDs7O0dBR0c7QUFFSCx5REFBeUQ7QUFDekQsOERBQThEO0FBQzlELHlDQUF5QztBQUN6QyxtQ0FBbUM7QUFHbkMseUZBSTRDO0FBQzVDLG1DQUF5RjtBQUN6Rix5REFBbUU7QUFDbkUsNkRBQXNEO0FBQ3RELG1EQUE4QztBQUk5QyxvR0FBb0c7QUFDcEcsU0FBUyxvQkFBb0IsQ0FBQyxjQUF1QztJQUNuRSxJQUFBLDJCQUFtQixFQUFDLGNBQWMsRUFBRTtRQUNsQztZQUNFLEVBQUUsRUFBRSxLQUFLO1lBQ1QsTUFBTSxFQUFFLHNLQUFzSztTQUMvSztLQUNGLENBQUMsQ0FBQztJQUVILE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUM7QUFFRCwyR0FBMkc7QUFDM0csc0NBQXNDO0FBQ3RDLFNBQVMseUJBQXlCLENBQUMsS0FBZ0I7SUFDakQscUVBQXFFO0lBQ3JFLHNFQUFzRTtJQUN0RSxnREFBZ0Q7SUFDaEQsa0RBQWtEO0lBQ2xELE1BQU0sVUFBVSxHQUFHLHlCQUF5QixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBRTlELE9BQU8sSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSx3QkFBd0IsRUFBRTtRQUM5RCxZQUFZLEVBQUUsVUFBVTtRQUN4QixJQUFJLEVBQUUsVUFBVSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsNEJBQTRCO1lBQ25FLGlDQUFpQztZQUNqQyxrQ0FBa0M7WUFDbEMsbUdBQW1HO1lBQ25H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QUN6RyxhQUFhLElBQUksdUhBQXVILENBQUM7UUFDekksVUFBVSxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDakMsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKlxuICogIFRoZSBmdW5jdGlvbnMgZm91bmQgaGVyZSBpbiB0aGUgY29yZSBsaWJyYXJ5IGFyZSBmb3IgaW50ZXJuYWwgdXNlIGFuZCBjYW4gYmUgY2hhbmdlZFxuICogIG9yIHJlbW92ZWQgb3V0c2lkZSBvZiBhIG1ham9yIHJlbGVhc2UuIFdlIHJlY29tbWVuZCBhZ2FpbnN0IGNhbGxpbmcgdGhlbSBkaXJlY3RseSBmcm9tIGNsaWVudCBjb2RlLlxuICovXG5cbmltcG9ydCAqIGFzIGNsb3VkZnJvbnQgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQnO1xuaW1wb3J0ICogYXMgb3JpZ2lucyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udC1vcmlnaW5zJztcbmltcG9ydCAqIGFzIHMzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgYXBpIGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5JztcbmltcG9ydCAqIGFzIG1lZGlhc3RvcmUgZnJvbSAnYXdzLWNkay1saWIvYXdzLW1lZGlhc3RvcmUnO1xuaW1wb3J0IHtcbiAgRGVmYXVsdENsb3VkRnJvbnRXZWJEaXN0cmlidXRpb25Gb3JTM1Byb3BzLFxuICBEZWZhdWx0Q2xvdWRGcm9udFdlYkRpc3RyaWJ1dGlvbkZvckFwaUdhdGV3YXlQcm9wcyxcbiAgRGVmYXVsdENsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JNZWRpYVN0b3JlUHJvcHNcbn0gZnJvbSAnLi9jbG91ZGZyb250LWRpc3RyaWJ1dGlvbi1kZWZhdWx0cyc7XG5pbXBvcnQgeyBhZGRDZm5TdXBwcmVzc1J1bGVzLCBjb25zb2xpZGF0ZVByb3BzLCBnZW5lcmF0ZVBoeXNpY2FsT2FjTmFtZSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgY3JlYXRlQ2xvdWRGcm9udExvZ2dpbmdCdWNrZXQgfSBmcm9tICcuL3MzLWJ1Y2tldC1oZWxwZXInO1xuaW1wb3J0IHsgRGVmYXVsdFMzUHJvcHMgfSBmcm9tICcuL3MzLWJ1Y2tldC1kZWZhdWx0cyc7XG5pbXBvcnQgeyBTM09hY09yaWdpbiB9IGZyb20gJy4vczMtb2FjLW9yaWdpbic7XG4vLyBOb3RlOiBUbyBlbnN1cmUgQ0RLdjIgY29tcGF0aWJpbGl0eSwga2VlcCB0aGUgaW1wb3J0IHN0YXRlbWVudCBmb3IgQ29uc3RydWN0IHNlcGFyYXRlXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLy8gT3ZlcnJpZGUgQ2ZuX05hZyBydWxlOiBDbG91ZGZyb250IFRMUy0xLjIgcnVsZSAoaHR0cHM6Ly9naXRodWIuY29tL3N0ZWxsaWdlbnQvY2ZuX25hZy9pc3N1ZXMvMzg0KVxuZnVuY3Rpb24gdXBkYXRlU2VjdXJpdHlQb2xpY3koY2ZEaXN0cmlidXRpb246IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uKSB7XG4gIGFkZENmblN1cHByZXNzUnVsZXMoY2ZEaXN0cmlidXRpb24sIFtcbiAgICB7XG4gICAgICBpZDogJ1c3MCcsXG4gICAgICByZWFzb246IGBTaW5jZSB0aGUgZGlzdHJpYnV0aW9uIHVzZXMgdGhlIENsb3VkRnJvbnQgZG9tYWluIG5hbWUsIENsb3VkRnJvbnQgYXV0b21hdGljYWxseSBzZXRzIHRoZSBzZWN1cml0eSBwb2xpY3kgdG8gVExTdjEgcmVnYXJkbGVzcyBvZiB0aGUgdmFsdWUgb2YgTWluaW11bVByb3RvY29sVmVyc2lvbmBcbiAgICB9XG4gIF0pO1xuXG4gIHJldHVybiBjZkRpc3RyaWJ1dGlvbjtcbn1cblxuLy8gQ2xvdWRmcm9udCBmdW5jdGlvbiB0byBpbnNlcnQgdGhlIEhUVFAgU2VjdXJpdHkgSGVhZGVycyBpbnRvIHRoZSByZXNwb25zZSBjb21pbmcgZnJvbSB0aGUgb3JpZ2luIHNlcnZlcnNcbi8vIGFuZCBiZWZvcmUgaXQgaXMgc2VudCB0byB0aGUgY2xpZW50XG5mdW5jdGlvbiBkZWZhdWx0Q2xvdWRmcm9udEZ1bmN0aW9uKHNjb3BlOiBDb25zdHJ1Y3QpOiBjbG91ZGZyb250LkZ1bmN0aW9uIHtcbiAgLy8gZ2VuZXJhdGUgYSBzdGFibGUgdW5pcXVlIGlkIGZvciB0aGUgY2xvdWRmcm9udCBmdW5jdGlvbiBhbmQgdXNlIGl0XG4gIC8vIGJvdGggZm9yIHRoZSBmdW5jdGlvbiBuYW1lIGFuZCB0aGUgbG9naWNhbCBpZCBvZiB0aGUgZnVuY3Rpb24gc28gaWZcbiAgLy8gaXQgaXMgY2hhbmdlZCB0aGUgZnVuY3Rpb24gd2lsbCBiZSByZWNyZWF0ZWQuXG4gIC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzE1NTIzXG4gIGNvbnN0IGZ1bmN0aW9uSWQgPSBgU2V0SHR0cFNlY3VyaXR5SGVhZGVycyR7c2NvcGUubm9kZS5hZGRyfWA7XG5cbiAgcmV0dXJuIG5ldyBjbG91ZGZyb250LkZ1bmN0aW9uKHNjb3BlLCBcIlNldEh0dHBTZWN1cml0eUhlYWRlcnNcIiwge1xuICAgIGZ1bmN0aW9uTmFtZTogZnVuY3Rpb25JZCxcbiAgICBjb2RlOiBjbG91ZGZyb250LkZ1bmN0aW9uQ29kZS5mcm9tSW5saW5lKFwiZnVuY3Rpb24gaGFuZGxlcihldmVudCkgeyBcIiArXG4gICAgICBcInZhciByZXNwb25zZSA9IGV2ZW50LnJlc3BvbnNlOyBcIiArXG4gICAgICBcInZhciBoZWFkZXJzID0gcmVzcG9uc2UuaGVhZGVyczsgXCIgK1xuICAgICAgXCJoZWFkZXJzWydzdHJpY3QtdHJhbnNwb3J0LXNlY3VyaXR5J10gPSB7IHZhbHVlOiAnbWF4LWFnZT02MzA3MjAwMDsgaW5jbHVkZVN1YmRvbWFpbnM7IHByZWxvYWQnfTsgXCIgK1xuICAgICAgXCJoZWFkZXJzWydjb250ZW50LXNlY3VyaXR5LXBvbGljeSddID0geyB2YWx1ZTogXFxcImRlZmF1bHQtc3JjICdub25lJzsgaW1nLXNyYyAnc2VsZic7IHNjcmlwdC1zcmMgJ3NlbGYnOyBzdHlsZS1zcmMgJ3NlbGYnOyBvYmplY3Qtc3JjICdub25lJ1xcXCJ9OyBcIiArXG4gICAgICBcImhlYWRlcnNbJ3gtY29udGVudC10eXBlLW9wdGlvbnMnXSA9IHsgdmFsdWU6ICdub3NuaWZmJ307IGhlYWRlcnNbJ3gtZnJhbWUtb3B0aW9ucyddID0ge3ZhbHVlOiAnREVOWSd9OyBcIiArXG4gICAgICBcImhlYWRlcnNbJ3gteHNzLXByb3RlY3Rpb24nXSA9IHt2YWx1ZTogJzE7IG1vZGU9YmxvY2snfTsgXCIgK1xuICAgICAgXCJyZXR1cm4gcmVzcG9uc2U7IH1cIilcbiAgfSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvckFwaUdhdGV3YXlSZXNwb25zZSB7XG4gIHJlYWRvbmx5IGRpc3RyaWJ1dGlvbjogY2xvdWRmcm9udC5EaXN0cmlidXRpb24sXG4gIHJlYWRvbmx5IGNsb3VkZnJvbnRGdW5jdGlvbj86IGNsb3VkZnJvbnQuRnVuY3Rpb24sXG4gIHJlYWRvbmx5IGxvZ2dpbmdCdWNrZXQ/OiBzMy5CdWNrZXRcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvckFwaUdhdGV3YXkoc2NvcGU6IENvbnN0cnVjdCxcbiAgYXBpRW5kUG9pbnQ6IGFwaS5SZXN0QXBpLFxuICBjbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHM/OiBjbG91ZGZyb250LkRpc3RyaWJ1dGlvblByb3BzIHwgYW55LFxuICBodHRwU2VjdXJpdHlIZWFkZXJzOiBib29sZWFuID0gdHJ1ZSxcbiAgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcz86IHMzLkJ1Y2tldFByb3BzLFxuICByZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcz86IGNsb3VkZnJvbnQuUmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHNcbik6IENsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JBcGlHYXRld2F5UmVzcG9uc2Uge1xuXG4gIGNvbnN0IGNsb3VkZnJvbnRGdW5jdGlvbiA9IGdldENsb3VkZnJvbnRGdW5jdGlvbihodHRwU2VjdXJpdHlIZWFkZXJzLCBzY29wZSk7XG5cbiAgY29uc3QgZ2V0TG9nZ2luZ0J1Y2tldFJlc3BvbnNlID0gZ2V0TG9nZ2luZ0J1Y2tldChzY29wZSwgIHsgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcywgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzIH0pO1xuXG4gIGNvbnN0IGRlZmF1bHRwcm9wcyA9IERlZmF1bHRDbG91ZEZyb250V2ViRGlzdHJpYnV0aW9uRm9yQXBpR2F0ZXdheVByb3BzKGFwaUVuZFBvaW50LFxuICAgIGdldExvZ2dpbmdCdWNrZXRSZXNwb25zZS5sb2dCdWNrZXQsXG4gICAgaHR0cFNlY3VyaXR5SGVhZGVycyxcbiAgICBjbG91ZGZyb250RnVuY3Rpb24sXG4gICAgcmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHMgPyBuZXcgY2xvdWRmcm9udC5SZXNwb25zZUhlYWRlcnNQb2xpY3koc2NvcGUsICdSZXNwb25zZUhlYWRlcnNQb2xpY3knLCByZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcykgOiB1bmRlZmluZWRcbiAgKTtcblxuICBjb25zdCBjZnByb3BzID0gY29uc29saWRhdGVQcm9wcyhkZWZhdWx0cHJvcHMsIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcyk7XG4gIC8vIENyZWF0ZSB0aGUgQ2xvdWRmcm9udCBEaXN0cmlidXRpb25cbiAgY29uc3QgY2ZEaXN0cmlidXRpb24gPSBuZXcgY2xvdWRmcm9udC5EaXN0cmlidXRpb24oc2NvcGUsICdDbG91ZEZyb250RGlzdHJpYnV0aW9uJywgY2Zwcm9wcyk7XG4gIHVwZGF0ZVNlY3VyaXR5UG9saWN5KGNmRGlzdHJpYnV0aW9uKTtcblxuICByZXR1cm4geyBkaXN0cmlidXRpb246IGNmRGlzdHJpYnV0aW9uLCBjbG91ZGZyb250RnVuY3Rpb24sIGxvZ2dpbmdCdWNrZXQ6IGdldExvZ2dpbmdCdWNrZXRSZXNwb25zZS5sb2dCdWNrZXR9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUNsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JTM1Byb3BzIHtcbiAgcmVhZG9ubHkgc291cmNlQnVja2V0OiBzMy5JQnVja2V0LFxuICByZWFkb25seSBjbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHM/OiBjbG91ZGZyb250LkRpc3RyaWJ1dGlvblByb3BzIHwgYW55LFxuICByZWFkb25seSBodHRwU2VjdXJpdHlIZWFkZXJzPzogYm9vbGVhbixcbiAgcmVhZG9ubHkgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcz86IHMzLkJ1Y2tldFByb3BzLFxuICByZWFkb25seSAgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRTM0FjY2Vzc0xvZ0J1Y2tldFByb3BzPzogczMuQnVja2V0UHJvcHMsXG4gIHJlYWRvbmx5IHJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzPzogY2xvdWRmcm9udC5SZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wc1xuICByZWFkb25seSBsb2dDbG91ZEZyb250QWNjZXNzTG9nPzogYm9vbGVhblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUNsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JTM1Jlc3BvbnNlIHtcbiAgcmVhZG9ubHkgZGlzdHJpYnV0aW9uOiBjbG91ZGZyb250LkRpc3RyaWJ1dGlvbixcbiAgcmVhZG9ubHkgbG9nZ2luZ0J1Y2tldD86IHMzLkJ1Y2tldCxcbiAgcmVhZG9ubHkgbG9nZ2luZ0J1Y2tldFMzQWNjZXNzc0xvZ0J1Y2tldD86IHMzLkJ1Y2tldCxcbiAgcmVhZG9ubHkgY2xvdWRmcm9udEZ1bmN0aW9uPzogY2xvdWRmcm9udC5GdW5jdGlvbixcbiAgcmVhZG9ubHkgb3JpZ2luQWNjZXNzQ29udHJvbD86IGNsb3VkZnJvbnQuQ2ZuT3JpZ2luQWNjZXNzQ29udHJvbCxcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvclMzKFxuICBzY29wZTogQ29uc3RydWN0LFxuICBpZDogc3RyaW5nLFxuICBwcm9wczogQ3JlYXRlQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvclMzUHJvcHNcbik6IENyZWF0ZUNsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JTM1Jlc3BvbnNlIHtcbiAgY29uc3QgaHR0cFNlY3VyaXR5SGVhZGVycyA9IHByb3BzLmh0dHBTZWN1cml0eUhlYWRlcnMgPz8gdHJ1ZTtcbiAgY29uc3QgY2xvdWRmcm9udEZ1bmN0aW9uID0gZ2V0Q2xvdWRmcm9udEZ1bmN0aW9uKGh0dHBTZWN1cml0eUhlYWRlcnMsIHNjb3BlKTtcblxuICBjb25zdCBnZXRMb2dnaW5nQnVja2V0UmVzcG9uc2UgPSBnZXRMb2dnaW5nQnVja2V0KHNjb3BlLCB7XG4gICAgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzOiBwcm9wcy5jbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHMsXG4gICAgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wczogcHJvcHMuY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcyxcbiAgICBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldFMzQWNjZXNzTG9nQnVja2V0UHJvcHM6IHByb3BzLmNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UzNBY2Nlc3NMb2dCdWNrZXRQcm9wcyxcbiAgICBlbmFibGVTM0FjY2Vzc0xvZ3M6IHByb3BzLmxvZ0Nsb3VkRnJvbnRBY2Nlc3NMb2dcbiAgfSk7XG5cbiAgbGV0IG9yaWdpbkFjY2Vzc0NvbnRyb2w7XG4gIGxldCBvcmlnaW5Qcm9wcyA9IHt9O1xuXG4gIGlmICghcHJvcHMuc291cmNlQnVja2V0LmlzV2Vic2l0ZSkge1xuICAgIG9yaWdpbkFjY2Vzc0NvbnRyb2wgPSBuZXcgY2xvdWRmcm9udC5DZm5PcmlnaW5BY2Nlc3NDb250cm9sKHNjb3BlLCAnQ2xvdWRGcm9udE9hYycsIHtcbiAgICAgIG9yaWdpbkFjY2Vzc0NvbnRyb2xDb25maWc6IHtcbiAgICAgICAgbmFtZTogZ2VuZXJhdGVQaHlzaWNhbE9hY05hbWUoJ2F3cy1jbG91ZGZyb250LXMzLScsIFtpZF0pLFxuICAgICAgICBvcmlnaW5BY2Nlc3NDb250cm9sT3JpZ2luVHlwZTogJ3MzJyxcbiAgICAgICAgc2lnbmluZ0JlaGF2aW9yOiAnYWx3YXlzJyxcbiAgICAgICAgc2lnbmluZ1Byb3RvY29sOiAnc2lndjQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ09yaWdpbiBhY2Nlc3MgY29udHJvbCBwcm92aXNpb25lZCBieSBhd3MtY2xvdWRmcm9udC1zMydcbiAgICAgIH1cbiAgICB9KTtcbiAgICBvcmlnaW5Qcm9wcyA9IHsgb3JpZ2luQWNjZXNzQ29udHJvbCB9O1xuICB9XG5cbiAgY29uc3Qgb3JpZ2luID0gbmV3IFMzT2FjT3JpZ2luKHByb3BzLnNvdXJjZUJ1Y2tldCwgb3JpZ2luUHJvcHMpO1xuXG4gIGNvbnN0IGRlZmF1bHRwcm9wcyA9IERlZmF1bHRDbG91ZEZyb250V2ViRGlzdHJpYnV0aW9uRm9yUzNQcm9wcyhvcmlnaW4sXG4gICAgZ2V0TG9nZ2luZ0J1Y2tldFJlc3BvbnNlLmxvZ0J1Y2tldCxcbiAgICBodHRwU2VjdXJpdHlIZWFkZXJzLFxuICAgIGNsb3VkZnJvbnRGdW5jdGlvbixcbiAgICBwcm9wcy5yZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcyA/XG4gICAgICBuZXcgY2xvdWRmcm9udC5SZXNwb25zZUhlYWRlcnNQb2xpY3koc2NvcGUsICdSZXNwb25zZUhlYWRlcnNQb2xpY3knLCBwcm9wcy5yZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcykgOlxuICAgICAgdW5kZWZpbmVkXG4gICk7XG5cbiAgY29uc3QgY2Zwcm9wcyA9IGNvbnNvbGlkYXRlUHJvcHMoZGVmYXVsdHByb3BzLCBwcm9wcy5jbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHMpO1xuICAvLyBDcmVhdGUgdGhlIENsb3VkZnJvbnQgRGlzdHJpYnV0aW9uXG4gIGNvbnN0IGNmRGlzdHJpYnV0aW9uID0gbmV3IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uKHNjb3BlLCAnQ2xvdWRGcm9udERpc3RyaWJ1dGlvbicsIGNmcHJvcHMpO1xuICB1cGRhdGVTZWN1cml0eVBvbGljeShjZkRpc3RyaWJ1dGlvbik7XG5cbiAgLy8gRXh0cmFjdCB0aGUgQ2ZuQnVja2V0UG9saWN5IGZyb20gdGhlIHNvdXJjZUJ1Y2tldFxuICBjb25zdCBidWNrZXRQb2xpY3kgPSBwcm9wcy5zb3VyY2VCdWNrZXQucG9saWN5IGFzIHMzLkJ1Y2tldFBvbGljeTtcbiAgLy8gdGhlIGxhY2sgb2YgYSBidWNrZXRQb2xpY3kgbWVhbnMgdGhlIGJ1Y2tldCB3YXMgaW1wb3J0ZWQgZnJvbSBvdXRzaWRlIHRoZSBzdGFjayBzbyB0aGUgbGFjayBvZiBjZm5fbmFnIHN1cHByZXNzaW9uIGlzIG5vdCBhbiBpc3N1ZVxuICBpZiAoYnVja2V0UG9saWN5KSB7XG4gICAgYWRkQ2ZuU3VwcHJlc3NSdWxlcyhidWNrZXRQb2xpY3ksIFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdGMTYnLFxuICAgICAgICByZWFzb246IGBQdWJsaWMgd2Vic2l0ZSBidWNrZXQgcG9saWN5IHJlcXVpcmVzIGEgd2lsZGNhcmQgcHJpbmNpcGFsYFxuICAgICAgfVxuICAgIF0pO1xuICB9XG4gIHJldHVybiB7XG4gICAgZGlzdHJpYnV0aW9uOiBjZkRpc3RyaWJ1dGlvbixcbiAgICBjbG91ZGZyb250RnVuY3Rpb24sXG4gICAgbG9nZ2luZ0J1Y2tldDogZ2V0TG9nZ2luZ0J1Y2tldFJlc3BvbnNlLmxvZ0J1Y2tldCxcbiAgICBsb2dnaW5nQnVja2V0UzNBY2Nlc3NzTG9nQnVja2V0OiBnZXRMb2dnaW5nQnVja2V0UmVzcG9uc2UubG9nQnVja2V0QWNjZXNzTG9nQnVja2V0LFxuICAgIG9yaWdpbkFjY2Vzc0NvbnRyb2x9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUNsb3VkRnJvbnRPYWlEaXN0cmlidXRpb25Gb3JTM1Byb3BzIHtcbiAgcmVhZG9ubHkgb3JpZ2luUGF0aD86ICBzdHJpbmcsXG4gIHJlYWRvbmx5IHNvdXJjZUJ1Y2tldDogczMuSUJ1Y2tldCxcbiAgcmVhZG9ubHkgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzPzogY2xvdWRmcm9udC5EaXN0cmlidXRpb25Qcm9wcyB8IGFueSxcbiAgcmVhZG9ubHkgaHR0cFNlY3VyaXR5SGVhZGVycz86IGJvb2xlYW4sXG4gIHJlYWRvbmx5IGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHM/OiBzMy5CdWNrZXRQcm9wcyxcbiAgcmVhZG9ubHkgIGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UzNBY2Nlc3NMb2dCdWNrZXRQcm9wcz86IHMzLkJ1Y2tldFByb3BzLFxuICByZWFkb25seSByZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcz86IGNsb3VkZnJvbnQuUmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHNcbiAgcmVhZG9ubHkgbG9nQ2xvdWRGcm9udEFjY2Vzc0xvZz86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVDbG91ZEZyb250T2FpRGlzdHJpYnV0aW9uRm9yUzNSZXNwb25zZSB7XG4gIHJlYWRvbmx5IGRpc3RyaWJ1dGlvbjogY2xvdWRmcm9udC5EaXN0cmlidXRpb24sXG4gIHJlYWRvbmx5IGxvZ2dpbmdCdWNrZXQ/OiBzMy5CdWNrZXQsXG4gIHJlYWRvbmx5IGxvZ2dpbmdCdWNrZXRTM0FjY2Vzc3NMb2dCdWNrZXQ/OiBzMy5CdWNrZXQsXG4gIHJlYWRvbmx5IGNsb3VkZnJvbnRGdW5jdGlvbj86IGNsb3VkZnJvbnQuRnVuY3Rpb24sXG4gIHJlYWRvbmx5IG9yaWdpbkFjY2Vzc0lkZW50aXR5OiBjbG91ZGZyb250Lk9yaWdpbkFjY2Vzc0lkZW50aXR5XG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNsb3VkRnJvbnRPYWlEaXN0cmlidXRpb25Gb3JTMyhcbiAgc2NvcGU6IENvbnN0cnVjdCxcbiAgcHJvcHM6IENyZWF0ZUNsb3VkRnJvbnRPYWlEaXN0cmlidXRpb25Gb3JTM1Byb3BzXG4pOiBDcmVhdGVDbG91ZEZyb250T2FpRGlzdHJpYnV0aW9uRm9yUzNSZXNwb25zZSB7XG5cbiAgY29uc3QgaHR0cFNlY3VyaXR5SGVhZGVycyA9IHByb3BzLmh0dHBTZWN1cml0eUhlYWRlcnMgPz8gdHJ1ZTtcbiAgY29uc3QgY2xvdWRmcm9udEZ1bmN0aW9uID0gZ2V0Q2xvdWRmcm9udEZ1bmN0aW9uKGh0dHBTZWN1cml0eUhlYWRlcnMsIHNjb3BlKTtcblxuICBpZiAocHJvcHMuc291cmNlQnVja2V0LmlzV2Vic2l0ZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgYXdzLWNsb3VkZnJvbnQtb2FpLXMzIGhhcyBiZWVuIHByb3ZpZGVkIGEgc291cmNlIGJ1Y2tldCB3aXRoIHdlYnNpdGUgaG9zdGluZyBlbmFibGVkLCB3aGljaCB0aGlzIGNvbnN0cnVjdFxuICAgICAgICBkb2VzIG5vdCBzdXBwb3J0LiBUaGlzIHJlcXVpcmVzIGJvdGggdGhlIGJ1Y2tldCBhbmQgaXRzIG9iamVjdHMgdG8gYmUgcHVibGljLiBBV1Mgc3Ryb25nbHkgcmVjb21tZW5kcyBhZ2FpbnN0IGNvbmZpZ3VyaW5nXG4gICAgICAgIGJ1Y2tldHMgYW5kIG9iamVjdHMgZm9yIHB1YmxpYyBhY2Nlc3MuIEFzIHN1Y2ggYSBjb25maWd1cmF0aW9uIHVzZXMgbmVpdGhlciBPQUMgbm9yIE9BSSwgaXQgY2FuIGJlIGxhdW5jaGVkIHdpdGggdGhlXG4gICAgICAgIGF3cy1jbG91ZGZyb24tczMgY29uc3RydWN0IGluIGFueSByZWdpb24uYCk7XG4gICB9XG5cbiAgY29uc3QgZ2V0TG9nZ2luZ0J1Y2tldFJlc3BvbnNlID0gZ2V0TG9nZ2luZ0J1Y2tldChzY29wZSwge1xuICAgIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wczogcHJvcHMuY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzLFxuICAgIGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHM6IHByb3BzLmNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHMsXG4gICAgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRTM0FjY2Vzc0xvZ0J1Y2tldFByb3BzOiBwcm9wcy5jbG91ZEZyb250TG9nZ2luZ0J1Y2tldFMzQWNjZXNzTG9nQnVja2V0UHJvcHMsXG4gICAgZW5hYmxlUzNBY2Nlc3NMb2dzOiBwcm9wcy5sb2dDbG91ZEZyb250QWNjZXNzTG9nXG4gIH0pO1xuXG4gIGxldCBvcmlnaW46IGNsb3VkZnJvbnQuSU9yaWdpbjtcbiAgY29uc3QgY29uc3RydWN0T2FpID0gbmV3IGNsb3VkZnJvbnQuT3JpZ2luQWNjZXNzSWRlbnRpdHkoc2NvcGUsICdjb25zdHJ1Y3RzR2VuZXJhdGVkT2FpJywge30pO1xuXG4gIGlmIChwcm9wcy5vcmlnaW5QYXRoKSB7XG4gICAgb3JpZ2luID0gb3JpZ2lucy5TM0J1Y2tldE9yaWdpbi53aXRoT3JpZ2luQWNjZXNzSWRlbnRpdHkocHJvcHMuc291cmNlQnVja2V0LCB7XG4gICAgICBvcmlnaW5QYXRoOiBwcm9wcy5vcmlnaW5QYXRoLFxuICAgICAgb3JpZ2luQWNjZXNzSWRlbnRpdHk6IGNvbnN0cnVjdE9haVxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIG9yaWdpbiA9IG9yaWdpbnMuUzNCdWNrZXRPcmlnaW4ud2l0aE9yaWdpbkFjY2Vzc0lkZW50aXR5KHByb3BzLnNvdXJjZUJ1Y2tldCwgeyBvcmlnaW5BY2Nlc3NJZGVudGl0eTogY29uc3RydWN0T2FpIH0pO1xuICB9XG5cbiAgY29uc3QgZGVmYXVsdHByb3BzID0gRGVmYXVsdENsb3VkRnJvbnRXZWJEaXN0cmlidXRpb25Gb3JTM1Byb3BzKFxuICAgIG9yaWdpbixcbiAgICBnZXRMb2dnaW5nQnVja2V0UmVzcG9uc2UubG9nQnVja2V0LFxuICAgIGh0dHBTZWN1cml0eUhlYWRlcnMsXG4gICAgY2xvdWRmcm9udEZ1bmN0aW9uLFxuICAgIHByb3BzLnJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzID9cbiAgICAgIG5ldyBjbG91ZGZyb250LlJlc3BvbnNlSGVhZGVyc1BvbGljeShzY29wZSwgJ1Jlc3BvbnNlSGVhZGVyc1BvbGljeScsIHByb3BzLnJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzKSA6XG4gICAgICB1bmRlZmluZWRcbiAgKTtcblxuICBjb25zdCBjZnByb3BzID0gY29uc29saWRhdGVQcm9wcyhkZWZhdWx0cHJvcHMsIHByb3BzLmNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcyk7XG4gIC8vIENyZWF0ZSB0aGUgQ2xvdWRmcm9udCBEaXN0cmlidXRpb25cbiAgY29uc3QgY2ZEaXN0cmlidXRpb24gPSBuZXcgY2xvdWRmcm9udC5EaXN0cmlidXRpb24oc2NvcGUsICdDbG91ZEZyb250RGlzdHJpYnV0aW9uJywgY2Zwcm9wcyk7XG4gIHVwZGF0ZVNlY3VyaXR5UG9saWN5KGNmRGlzdHJpYnV0aW9uKTtcblxuICAvLyBFeHRyYWN0IHRoZSBDZm5CdWNrZXRQb2xpY3kgZnJvbSB0aGUgc291cmNlQnVja2V0XG4gIGNvbnN0IGJ1Y2tldFBvbGljeSA9IHByb3BzLnNvdXJjZUJ1Y2tldC5wb2xpY3kgYXMgczMuQnVja2V0UG9saWN5O1xuICAvLyB0aGUgbGFjayBvZiBhIGJ1Y2tldFBvbGljeSBtZWFucyB0aGUgYnVja2V0IHdhcyBpbXBvcnRlZCBmcm9tIG91dHNpZGUgdGhlIHN0YWNrIHNvIHRoZSBsYWNrIG9mIGNmbl9uYWcgc3VwcHJlc3Npb24gaXMgbm90IGFuIGlzc3VlXG4gIGlmIChidWNrZXRQb2xpY3kpIHtcbiAgICBhZGRDZm5TdXBwcmVzc1J1bGVzKGJ1Y2tldFBvbGljeSwgW1xuICAgICAge1xuICAgICAgICBpZDogJ0YxNicsXG4gICAgICAgIHJlYXNvbjogYFB1YmxpYyB3ZWJzaXRlIGJ1Y2tldCBwb2xpY3kgcmVxdWlyZXMgYSB3aWxkY2FyZCBwcmluY2lwYWxgXG4gICAgICB9XG4gICAgXSk7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBkaXN0cmlidXRpb246IGNmRGlzdHJpYnV0aW9uLFxuICAgIGNsb3VkZnJvbnRGdW5jdGlvbixcbiAgICBsb2dnaW5nQnVja2V0OiBnZXRMb2dnaW5nQnVja2V0UmVzcG9uc2UubG9nQnVja2V0LFxuICAgIGxvZ2dpbmdCdWNrZXRTM0FjY2Vzc3NMb2dCdWNrZXQ6IGdldExvZ2dpbmdCdWNrZXRSZXNwb25zZS5sb2dCdWNrZXRBY2Nlc3NMb2dCdWNrZXQsXG4gICAgb3JpZ2luQWNjZXNzSWRlbnRpdHk6IGNvbnN0cnVjdE9haVxuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRnJvbnREaXN0cmlidXRpb25Gb3JNZWRpYVN0b3JlUmVzcG9uc2Uge1xuICByZWFkb25seSBkaXN0cmlidXRpb246IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uLFxuICByZWFkb25seSBsb2dnaW5nQnVja2V0PzogczMuQnVja2V0LFxuICByZWFkb25seSByZXF1ZXN0UG9saWN5OiBjbG91ZGZyb250Lk9yaWdpblJlcXVlc3RQb2xpY3ksXG4gIHJlYWRvbmx5IGNsb3VkZnJvbnRGdW5jdGlvbj86IGNsb3VkZnJvbnQuRnVuY3Rpb25cbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvck1lZGlhU3RvcmUoc2NvcGU6IENvbnN0cnVjdCxcbiAgbWVkaWFTdG9yZUNvbnRhaW5lcjogbWVkaWFzdG9yZS5DZm5Db250YWluZXIsXG4gIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcz86IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uUHJvcHMgfCBhbnksXG4gIGh0dHBTZWN1cml0eUhlYWRlcnM6IGJvb2xlYW4gPSB0cnVlLFxuICBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldFByb3BzPzogczMuQnVja2V0UHJvcHMsXG4gIHJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzPzogY2xvdWRmcm9udC5SZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wc1xuKTogQ2xvdWRGcm9udERpc3RyaWJ1dGlvbkZvck1lZGlhU3RvcmVSZXNwb25zZSB7XG5cbiAgbGV0IG9yaWdpblJlcXVlc3RQb2xpY3k6IGNsb3VkZnJvbnQuT3JpZ2luUmVxdWVzdFBvbGljeTtcblxuICBjb25zdCBnZXRMb2dnaW5nQnVja2V0UmVzcG9uc2UgPSBnZXRMb2dnaW5nQnVja2V0KHNjb3BlLCB7IGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcywgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcyB9KTtcblxuICBpZiAoY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzXG4gICAgJiYgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzLmRlZmF1bHRCZWhhdmlvclxuICAgICYmIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcy5kZWZhdWx0QmVoYXZpb3Iub3JpZ2luUmVxdWVzdFBvbGljeSkge1xuICAgIG9yaWdpblJlcXVlc3RQb2xpY3kgPSBjbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHMuZGVmYXVsdEJlaGF2aW9yLm9yaWdpblJlcXVlc3RQb2xpY3k7XG4gIH0gZWxzZSB7XG4gICAgY29uc3Qgb3JpZ2luUmVxdWVzdFBvbGljeVByb3BzOiBjbG91ZGZyb250Lk9yaWdpblJlcXVlc3RQb2xpY3lQcm9wcyA9IHtcbiAgICAgIGhlYWRlckJlaGF2aW9yOiB7XG4gICAgICAgIGJlaGF2aW9yOiAnd2hpdGVsaXN0JyxcbiAgICAgICAgaGVhZGVyczogW1xuICAgICAgICAgICdBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4nLFxuICAgICAgICAgICdBY2Nlc3MtQ29udHJvbC1SZXF1ZXN0LU1ldGhvZCcsXG4gICAgICAgICAgJ0FjY2Vzcy1Db250cm9sLVJlcXVlc3QtSGVhZGVyJyxcbiAgICAgICAgICAnT3JpZ2luJ1xuICAgICAgICBdXG4gICAgICB9LFxuICAgICAgcXVlcnlTdHJpbmdCZWhhdmlvcjoge1xuICAgICAgICBiZWhhdmlvcjogJ2FsbCdcbiAgICAgIH0sXG4gICAgICBjb29raWVCZWhhdmlvcjoge1xuICAgICAgICBiZWhhdmlvcjogJ25vbmUnXG4gICAgICB9LFxuICAgICAgY29tbWVudDogJ1BvbGljeSBmb3IgQ29uc3RydWN0cyBDbG91ZEZyb250RGlzdHJpYnV0aW9uRm9yTWVkaWFTdG9yZScsXG4gICAgICBvcmlnaW5SZXF1ZXN0UG9saWN5TmFtZTogYCR7Y2RrLkF3cy5TVEFDS19OQU1FfS0ke2Nkay5Bd3MuUkVHSU9OfS1DbG91ZEZyb250RGlzdHJpYnV0aW9uRm9yTWVkaWFTdG9yZWBcbiAgICB9O1xuXG4gICAgb3JpZ2luUmVxdWVzdFBvbGljeSA9IG5ldyBjbG91ZGZyb250Lk9yaWdpblJlcXVlc3RQb2xpY3koc2NvcGUsICdDbG91ZGZyb250T3JpZ2luUmVxdWVzdFBvbGljeScsIG9yaWdpblJlcXVlc3RQb2xpY3lQcm9wcyk7XG4gIH1cblxuICBjb25zdCBjbG91ZGZyb250RnVuY3Rpb24gPSBnZXRDbG91ZGZyb250RnVuY3Rpb24oaHR0cFNlY3VyaXR5SGVhZGVycywgc2NvcGUpO1xuXG4gIGNvbnN0IGRlZmF1bHRwcm9wcyA9IERlZmF1bHRDbG91ZEZyb250RGlzdHJpYnV0aW9uRm9yTWVkaWFTdG9yZVByb3BzKFxuICAgIG1lZGlhU3RvcmVDb250YWluZXIsXG4gICAgZ2V0TG9nZ2luZ0J1Y2tldFJlc3BvbnNlLmxvZ0J1Y2tldCxcbiAgICBvcmlnaW5SZXF1ZXN0UG9saWN5LFxuICAgIGh0dHBTZWN1cml0eUhlYWRlcnMsXG4gICAgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzPy5jdXN0b21IZWFkZXJzLFxuICAgIGNsb3VkZnJvbnRGdW5jdGlvbixcbiAgICByZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcyA/IG5ldyBjbG91ZGZyb250LlJlc3BvbnNlSGVhZGVyc1BvbGljeShzY29wZSwgJ1Jlc3BvbnNlSGVhZGVyc1BvbGljeScsIHJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzKSA6IHVuZGVmaW5lZFxuICApO1xuXG4gIGNvbnN0IGNmcHJvcHM6IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uUHJvcHMgPSBjb25zb2xpZGF0ZVByb3BzKGRlZmF1bHRwcm9wcywgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzKTtcblxuICAvLyBDcmVhdGUgdGhlIENsb3VkRnJvbnQgRGlzdHJpYnV0aW9uXG4gIGNvbnN0IGNmRGlzdHJpYnV0aW9uID0gbmV3IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uKHNjb3BlLCAnQ2xvdWRGcm9udERpc3RyaWJ1dGlvbicsIGNmcHJvcHMpO1xuICB1cGRhdGVTZWN1cml0eVBvbGljeShjZkRpc3RyaWJ1dGlvbik7XG5cbiAgcmV0dXJuIHsgZGlzdHJpYnV0aW9uOiBjZkRpc3RyaWJ1dGlvbiwgbG9nZ2luZ0J1Y2tldDogZ2V0TG9nZ2luZ0J1Y2tldFJlc3BvbnNlLmxvZ0J1Y2tldCwgcmVxdWVzdFBvbGljeTogb3JpZ2luUmVxdWVzdFBvbGljeSwgY2xvdWRmcm9udEZ1bmN0aW9uIH07XG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eShzY29wZTogQ29uc3RydWN0LCBjb21tZW50Pzogc3RyaW5nKSB7XG4gIHJldHVybiBuZXcgY2xvdWRmcm9udC5PcmlnaW5BY2Nlc3NJZGVudGl0eShzY29wZSwgJ0Nsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eScsIHtcbiAgICBjb21tZW50OiBjb21tZW50ID8gY29tbWVudCA6IGBhY2Nlc3MtaWRlbnRpdHktJHtjZGsuQXdzLlJFR0lPTn0tJHtjZGsuQXdzLlNUQUNLX05BTUV9YFxuICB9KTtcbn1cblxuaW50ZXJmYWNlIEdldExvZ2dpbmdCdWNrZXRSZXF1ZXN0IHtcbiAgcmVhZG9ubHkgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzOiBjbG91ZGZyb250LkRpc3RyaWJ1dGlvblByb3BzIHwgYW55LFxuICByZWFkb25seSBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldFByb3BzPzogczMuQnVja2V0UHJvcHMsXG4gIHJlYWRvbmx5IGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UzNBY2Nlc3NMb2dCdWNrZXRQcm9wcz86IHMzLkJ1Y2tldFByb3BzLFxuICByZWFkb25seSBlbmFibGVTM0FjY2Vzc0xvZ3M/OiBib29sZWFuXG59XG5pbnRlcmZhY2UgR2V0TG9nZ2luZ0J1Y2tldFJlc3BvbnNlIHtcbiAgbG9nQnVja2V0PzogczMuQnVja2V0LFxuICBsb2dCdWNrZXRBY2Nlc3NMb2dCdWNrZXQ/OiBzMy5CdWNrZXRcbn1cblxuZnVuY3Rpb24gZ2V0TG9nZ2luZ0J1Y2tldChzY29wZTogQ29uc3RydWN0LCBwcm9wczogR2V0TG9nZ2luZ0J1Y2tldFJlcXVlc3QpOiBHZXRMb2dnaW5nQnVja2V0UmVzcG9uc2Uge1xuICBjb25zdCBpc0xvZ2dpbmdEaXNhYmxlZCA9IHByb3BzLmNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcz8uZW5hYmxlTG9nZ2luZyA9PT0gZmFsc2U7XG4gIGNvbnN0IHVzZXJTdXBwbGllZExvZ0J1Y2tldCA9IHByb3BzLmNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcz8ubG9nQnVja2V0O1xuXG4gIGlmICh1c2VyU3VwcGxpZWRMb2dCdWNrZXQgJiYgcHJvcHMuY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcykge1xuICAgIHRocm93IEVycm9yKCdFaXRoZXIgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzLmxvZ0J1Y2tldCBvciBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldFByb3BzIGNhbiBiZSBzZXQuJyk7XG4gIH1cblxuICBsZXQgbG9nQnVja2V0OiBzMy5CdWNrZXQgfCB1bmRlZmluZWQ7XG4gIGxldCBsb2dCdWNrZVMzQWNjZXNzTG9nQnVja2V0dDogczMuQnVja2V0IHwgdW5kZWZpbmVkO1xuICBpZiAoaXNMb2dnaW5nRGlzYWJsZWQpIHtcbiAgICBsb2dCdWNrZXQgPSB1bmRlZmluZWQ7XG4gIH0gZWxzZSBpZiAodXNlclN1cHBsaWVkTG9nQnVja2V0KSB7XG4gICAgbG9nQnVja2V0ID0gdXNlclN1cHBsaWVkTG9nQnVja2V0O1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGNyZWF0ZUJ1Y2tldFJlc3BvbnNlID0gY3JlYXRlQ2xvdWRGcm9udExvZ2dpbmdCdWNrZXQoXG4gICAgICBzY29wZSxcbiAgICAgICdDbG91ZGZyb250TG9nZ2luZ0J1Y2tldCcsXG4gICAgICB7XG4gICAgICAgIC8vIEJ1Y2tldHMgdXNlZCBmb3IgQ2xvdWRGcm9udCBkaXN0cmlidXRpb24gbG9nZ2luZyByZXF1aXJlIEFDTHMgdG8gYmUgZXhwbGljaXRseSBlbmFibGVkLCBzbyB3ZSBhcHBseSB0aGlzIG9iamVjdE93bmVyc2hpcFxuICAgICAgICBsb2dnaW5nQnVja2V0UHJvcHM6IGNvbnNvbGlkYXRlUHJvcHMoRGVmYXVsdFMzUHJvcHMoKSwgcHJvcHMuY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcywge1xuICAgICAgICAgIG9iamVjdE93bmVyc2hpcDogczMuT2JqZWN0T3duZXJzaGlwLk9CSkVDVF9XUklURVJcbiAgICAgICAgfSksXG4gICAgICAgIHMzQWNjZXNzTG9nQnVja2V0UHJvcHM6IHByb3BzLmNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UzNBY2Nlc3NMb2dCdWNrZXRQcm9wcyxcbiAgICAgICAgZW5hYmxlUzNBY2Nlc3NMb2dzOiBwcm9wcy5lbmFibGVTM0FjY2Vzc0xvZ3NcbiAgICAgIH0pO1xuXG4gICAgbG9nQnVja2V0ID0gY3JlYXRlQnVja2V0UmVzcG9uc2UubG9nQnVja2V0O1xuICAgIGxvZ0J1Y2tlUzNBY2Nlc3NMb2dCdWNrZXR0ID0gY3JlYXRlQnVja2V0UmVzcG9uc2UuczNBY2Nlc3NMb2dCdWNrZXQ7XG4gICAgY29uc3QgbG9nZ2luZ0J1Y2tldFJlc291cmNlID0gbG9nQnVja2V0Lm5vZGUuZmluZENoaWxkKCdSZXNvdXJjZScpIGFzIHMzLkNmbkJ1Y2tldDtcbiAgICBsb2dnaW5nQnVja2V0UmVzb3VyY2UuYWRkUHJvcGVydHlPdmVycmlkZSgnQWNjZXNzQ29udHJvbCcsICdMb2dEZWxpdmVyeVdyaXRlJyk7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBsb2dCdWNrZXQsXG4gICAgbG9nQnVja2V0QWNjZXNzTG9nQnVja2V0OiBsb2dCdWNrZVMzQWNjZXNzTG9nQnVja2V0dFxuICB9O1xufVxuXG5mdW5jdGlvbiBnZXRDbG91ZGZyb250RnVuY3Rpb24oaHR0cFNlY3VyaXR5SGVhZGVyczogYm9vbGVhbiwgc2NvcGU6IENvbnN0cnVjdCkge1xuICByZXR1cm4gaHR0cFNlY3VyaXR5SGVhZGVycyA/IGRlZmF1bHRDbG91ZGZyb250RnVuY3Rpb24oc2NvcGUpIDogdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRnJvbnRQcm9wcyB7XG4gIHJlYWRvbmx5IGluc2VydEh0dHBTZWN1cml0eUhlYWRlcnM/OiBib29sZWFuO1xuICByZWFkb25seSByZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcz86IGNsb3VkZnJvbnQuUmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDaGVja0Nsb3VkRnJvbnRQcm9wcyhwcm9wc09iamVjdDogQ2xvdWRGcm9udFByb3BzIHwgYW55KSB7XG4gIGxldCBlcnJvck1lc3NhZ2VzID0gJyc7XG4gIGxldCBlcnJvckZvdW5kID0gZmFsc2U7XG5cbiAgaWYgKHByb3BzT2JqZWN0Lmluc2VydEh0dHBTZWN1cml0eUhlYWRlcnMgIT09IGZhbHNlICYmIHByb3BzT2JqZWN0LnJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzPy5zZWN1cml0eUhlYWRlcnNCZWhhdmlvcikge1xuICAgIGVycm9yTWVzc2FnZXMgKz0gJ3Jlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzLnNlY3VyaXR5SGVhZGVyc0JlaGF2aW9yIGNhbiBvbmx5IGJlIHBhc3NlZCBpZiBodHRwU2VjdXJpdHlIZWFkZXJzIGlzIHNldCB0byBgZmFsc2VgLic7XG4gICAgZXJyb3JGb3VuZCA9IHRydWU7XG4gIH1cblxuICBpZiAoZXJyb3JGb3VuZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihlcnJvck1lc3NhZ2VzKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkZnJvbnRTM1Byb3BzIHtcbiAgcmVhZG9ubHkgYnVja2V0UHJvcHM/OiBzMy5CdWNrZXRQcm9wcyxcbiAgcmVhZG9ubHkgbG9nUzNBY2Nlc3NMb2dzPzogYm9vbGVhbixcbiAgcmVhZG9ubHkgbG9nZ2luZ0J1Y2tldFByb3BzPzogczMuQnVja2V0UHJvcHMsXG4gIHJlYWRvbmx5IGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHM/OiBzMy5CdWNrZXRQcm9wcyxcbiAgcmVhZG9ubHkgbG9nQ2xvdWRGcm9udEFjY2Vzc0xvZz86IGJvb2xlYW4sXG4gIHJlYWRvbmx5IGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0QWNjZXNzTG9nQnVja2V0UHJvcHM/OiBzMy5CdWNrZXRQcm9wcyxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENoZWNrQ2xvdWRmcm9udFMzUHJvcHMocHJvcHM6IENsb3VkZnJvbnRTM1Byb3BzKSB7XG4gIGxldCBlcnJvck1lc3NhZ2VzID0gJyc7XG4gIGxldCBlcnJvckZvdW5kID0gZmFsc2U7XG5cbiAgaWYgKChwcm9wcy5sb2dTM0FjY2Vzc0xvZ3MgPT09IGZhbHNlKSAmJiBwcm9wcy5idWNrZXRQcm9wcz8uc2VydmVyQWNjZXNzTG9nc0J1Y2tldCkge1xuICAgIGVycm9yTWVzc2FnZXMgKz0gJ0Vycm9yIC0gbG9nUzNBY2Nlc3NMb2dzIGlzIGZhbHNlLCBidXQgYSBsb2cgYnVja2V0IHdhcyBwcm92aWRlZCBpbiBidWNrZXRQcm9wcy5cXG4nO1xuICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICB9XG5cbiAgaWYgKHByb3BzLmxvZ2dpbmdCdWNrZXRQcm9wcyAmJiBwcm9wcy5idWNrZXRQcm9wcz8uc2VydmVyQWNjZXNzTG9nc0J1Y2tldCkge1xuICAgIGVycm9yTWVzc2FnZXMgKz0gJ0Vycm9yIC0gYm90aGxvZyBidWNrZXQgcHJvcHMgYW5kIGFuIGV4aXN0aW5nIGxvZyBidWNrZXQgd2VyZSBwcm92aWRlZC5cXG4nO1xuICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICB9XG5cbiAgaWYgKHByb3BzLmNsb3VkRnJvbnRMb2dnaW5nQnVja2V0QWNjZXNzTG9nQnVja2V0UHJvcHMgJiYgcHJvcHMuY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcz8uc2VydmVyQWNjZXNzTG9nc0J1Y2tldCkge1xuICAgIGVycm9yTWVzc2FnZXMgKz0gJ0Vycm9yIC0gYW4gZXhpc3RpbmcgQ2xvdWRGcm9udCBsb2cgYnVja2V0IFMzIGFjY2VzcyBsb2cgYnVja2V0IGFuZCBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldEFjY2Vzc0xvZ0J1Y2tldFByb3BzIHdlcmUgcHJvdmlkZWRcXG4nO1xuICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICB9XG5cbiAgaWYgKHByb3BzLmNsb3VkRnJvbnRMb2dnaW5nQnVja2V0QWNjZXNzTG9nQnVja2V0UHJvcHMgJiYgcHJvcHMubG9nQ2xvdWRGcm9udEFjY2Vzc0xvZyA9PT0gZmFsc2UpIHtcbiAgICBlcnJvck1lc3NhZ2VzICs9ICdFcnJvciAtIGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0QWNjZXNzTG9nQnVja2V0UHJvcHMgd2VyZSBwcm92aWRlZCBidXQgbG9nQ2xvdWRGcm9udEFjY2Vzc0xvZyB3YXMgZmFsc2VcXG4nO1xuICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICB9XG5cbiAgaWYgKHByb3BzLmNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHM/LnNlcnZlckFjY2Vzc0xvZ3NCdWNrZXQgJiYgcHJvcHMubG9nQ2xvdWRGcm9udEFjY2Vzc0xvZyA9PT0gZmFsc2UpIHtcbiAgICBlcnJvck1lc3NhZ2VzICs9ICdFcnJvciAtIHByb3BzLmNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHMuc2VydmVyQWNjZXNzTG9nc0J1Y2tldCB3YXMgcHJvdmlkZWQgYnV0IGxvZ0Nsb3VkRnJvbnRBY2Nlc3NMb2cgd2FzIGZhbHNlXFxuJztcbiAgICBlcnJvckZvdW5kID0gdHJ1ZTtcbiAgfVxuXG4gIGlmIChlcnJvckZvdW5kKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGVycm9yTWVzc2FnZXMpO1xuICB9XG59XG4iXX0=
@@ -24,9 +24,7 @@ const utils_1 = require("./utils");
24
24
  * @internal This is an internal core function and should not be called directly by Solutions Constructs clients.
25
25
  */
26
26
  function buildLogGroup(scope, logGroupId, logGroupProps) {
27
- let consolidatedLogGroupProps;
28
- // Override user provided CW LogGroup props with the DefaultLogGroupProps
29
- consolidatedLogGroupProps = (0, utils_1.consolidateProps)((0, cloudwatch_log_group_defaults_1.DefaultLogGroupProps)(), logGroupProps);
27
+ const consolidatedLogGroupProps = (0, utils_1.consolidateProps)((0, cloudwatch_log_group_defaults_1.DefaultLogGroupProps)(), logGroupProps);
30
28
  // Set the LogGroup Id
31
29
  const adjustedLogGroupId = logGroupId ? logGroupId : 'CloudWatchLogGroup';
32
30
  // Create the CW Log Group
@@ -50,4 +48,4 @@ function buildLogGroup(scope, logGroupId, logGroupProps) {
50
48
  }
51
49
  return logGroup;
52
50
  }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWR3YXRjaC1sb2ctZ3JvdXAtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2xvdWR3YXRjaC1sb2ctZ3JvdXAtaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFnQkgsc0NBZ0NDO0FBOUNEOzs7R0FHRztBQUVILG1GQUF1RTtBQUN2RSw2Q0FBNkM7QUFDN0MsbUNBQWdFO0FBSWhFOztHQUVHO0FBQ0gsU0FBZ0IsYUFBYSxDQUFDLEtBQWdCLEVBQUUsVUFBbUIsRUFBRSxhQUFrQztJQUNyRyxJQUFJLHlCQUE2QyxDQUFDO0lBRWxELHlFQUF5RTtJQUN6RSx5QkFBeUIsR0FBRyxJQUFBLHdCQUFnQixFQUFDLElBQUEsb0RBQW9CLEdBQUUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUVwRixzQkFBc0I7SUFDdEIsTUFBTSxrQkFBa0IsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUM7SUFFMUUsMEJBQTBCO0lBQzFCLE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUseUJBQXlCLENBQUMsQ0FBQztJQUV6Riw2Q0FBNkM7SUFDN0MsSUFBSSx5QkFBeUIsQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4RSxJQUFBLDJCQUFtQixFQUFFLFFBQVEsRUFBRTtZQUM3QjtnQkFDRSxFQUFFLEVBQUUsS0FBSztnQkFDVCxNQUFNLEVBQUUsa0hBQWtIO2FBQzNIO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM3QyxJQUFBLDJCQUFtQixFQUFFLFFBQVEsRUFBRTtZQUM3QjtnQkFDRSxFQUFFLEVBQUUsS0FBSztnQkFDVCxNQUFNLEVBQUUsMkhBQTJIO2FBQ3BJO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKlxuICogIFRoZSBmdW5jdGlvbnMgZm91bmQgaGVyZSBpbiB0aGUgY29yZSBsaWJyYXJ5IGFyZSBmb3IgaW50ZXJuYWwgdXNlIGFuZCBjYW4gYmUgY2hhbmdlZFxuICogIG9yIHJlbW92ZWQgb3V0c2lkZSBvZiBhIG1ham9yIHJlbGVhc2UuIFdlIHJlY29tbWVuZCBhZ2FpbnN0IGNhbGxpbmcgdGhlbSBkaXJlY3RseSBmcm9tIGNsaWVudCBjb2RlLlxuICovXG5cbmltcG9ydCB7IERlZmF1bHRMb2dHcm91cFByb3BzIH0gZnJvbSAnLi9jbG91ZHdhdGNoLWxvZy1ncm91cC1kZWZhdWx0cyc7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCB7IGFkZENmblN1cHByZXNzUnVsZXMsIGNvbnNvbGlkYXRlUHJvcHMgfSBmcm9tICcuL3V0aWxzJztcbi8vIE5vdGU6IFRvIGVuc3VyZSBDREt2MiBjb21wYXRpYmlsaXR5LCBrZWVwIHRoZSBpbXBvcnQgc3RhdGVtZW50IGZvciBDb25zdHJ1Y3Qgc2VwYXJhdGVcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZExvZ0dyb3VwKHNjb3BlOiBDb25zdHJ1Y3QsIGxvZ0dyb3VwSWQ/OiBzdHJpbmcsIGxvZ0dyb3VwUHJvcHM/OiBsb2dzLkxvZ0dyb3VwUHJvcHMpOiBsb2dzLkxvZ0dyb3VwIHtcbiAgbGV0IGNvbnNvbGlkYXRlZExvZ0dyb3VwUHJvcHM6IGxvZ3MuTG9nR3JvdXBQcm9wcztcblxuICAvLyBPdmVycmlkZSB1c2VyIHByb3ZpZGVkIENXIExvZ0dyb3VwIHByb3BzIHdpdGggdGhlIERlZmF1bHRMb2dHcm91cFByb3BzXG4gIGNvbnNvbGlkYXRlZExvZ0dyb3VwUHJvcHMgPSBjb25zb2xpZGF0ZVByb3BzKERlZmF1bHRMb2dHcm91cFByb3BzKCksIGxvZ0dyb3VwUHJvcHMpO1xuXG4gIC8vIFNldCB0aGUgTG9nR3JvdXAgSWRcbiAgY29uc3QgYWRqdXN0ZWRMb2dHcm91cElkID0gbG9nR3JvdXBJZCA/IGxvZ0dyb3VwSWQgOiAnQ2xvdWRXYXRjaExvZ0dyb3VwJztcblxuICAvLyBDcmVhdGUgdGhlIENXIExvZyBHcm91cFxuICBjb25zdCBsb2dHcm91cCA9IG5ldyBsb2dzLkxvZ0dyb3VwKHNjb3BlLCBhZGp1c3RlZExvZ0dyb3VwSWQsIGNvbnNvbGlkYXRlZExvZ0dyb3VwUHJvcHMpO1xuXG4gIC8vIElmIHJlcXVpcmVkLCBzdXBwcmVzcyB0aGUgQ2ZuIE5hZyBXQVJOSU5HU1xuICBpZiAoY29uc29saWRhdGVkTG9nR3JvdXBQcm9wcy5yZXRlbnRpb24gPT09IGxvZ3MuUmV0ZW50aW9uRGF5cy5JTkZJTklURSkge1xuICAgIGFkZENmblN1cHByZXNzUnVsZXMoIGxvZ0dyb3VwLCBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnVzg2JyxcbiAgICAgICAgcmVhc29uOiAnUmV0ZW50aW9uIHBlcmlvZCBmb3IgQ2xvdWRXYXRjaExvZ3MgTG9nR3JvdXBzIGFyZSBzZXQgdG8gXFwnTmV2ZXIgRXhwaXJlXFwnIHRvIHByZXNlcnZlIGN1c3RvbWVyIGRhdGEgaW5kZWZpbml0ZWx5J1xuICAgICAgfVxuICAgIF0pO1xuICB9XG5cbiAgaWYgKCFjb25zb2xpZGF0ZWRMb2dHcm91cFByb3BzLmVuY3J5cHRpb25LZXkpIHtcbiAgICBhZGRDZm5TdXBwcmVzc1J1bGVzKCBsb2dHcm91cCwgW1xuICAgICAge1xuICAgICAgICBpZDogJ1c4NCcsXG4gICAgICAgIHJlYXNvbjogJ0J5IGRlZmF1bHQgQ2xvdWRXYXRjaExvZ3MgTG9nR3JvdXBzIGRhdGEgaXMgZW5jcnlwdGVkIHVzaW5nIHRoZSBDbG91ZFdhdGNoIHNlcnZlci1zaWRlIGVuY3J5cHRpb24ga2V5cyAoQVdTIE1hbmFnZWQgS2V5cyknXG4gICAgICB9XG4gICAgXSk7XG4gIH1cblxuICByZXR1cm4gbG9nR3JvdXA7XG59Il19
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWR3YXRjaC1sb2ctZ3JvdXAtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2xvdWR3YXRjaC1sb2ctZ3JvdXAtaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFnQkgsc0NBNkJDO0FBM0NEOzs7R0FHRztBQUVILG1GQUF1RTtBQUN2RSw2Q0FBNkM7QUFDN0MsbUNBQWdFO0FBSWhFOztHQUVHO0FBQ0gsU0FBZ0IsYUFBYSxDQUFDLEtBQWdCLEVBQUUsVUFBbUIsRUFBRSxhQUFrQztJQUNyRyxNQUFNLHlCQUF5QixHQUF1QixJQUFBLHdCQUFnQixFQUFDLElBQUEsb0RBQW9CLEdBQUUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUU5RyxzQkFBc0I7SUFDdEIsTUFBTSxrQkFBa0IsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUM7SUFFMUUsMEJBQTBCO0lBQzFCLE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUseUJBQXlCLENBQUMsQ0FBQztJQUV6Riw2Q0FBNkM7SUFDN0MsSUFBSSx5QkFBeUIsQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4RSxJQUFBLDJCQUFtQixFQUFFLFFBQVEsRUFBRTtZQUM3QjtnQkFDRSxFQUFFLEVBQUUsS0FBSztnQkFDVCxNQUFNLEVBQUUsa0hBQWtIO2FBQzNIO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM3QyxJQUFBLDJCQUFtQixFQUFFLFFBQVEsRUFBRTtZQUM3QjtnQkFDRSxFQUFFLEVBQUUsS0FBSztnQkFDVCxNQUFNLEVBQUUsMkhBQTJIO2FBQ3BJO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKlxuICogIFRoZSBmdW5jdGlvbnMgZm91bmQgaGVyZSBpbiB0aGUgY29yZSBsaWJyYXJ5IGFyZSBmb3IgaW50ZXJuYWwgdXNlIGFuZCBjYW4gYmUgY2hhbmdlZFxuICogIG9yIHJlbW92ZWQgb3V0c2lkZSBvZiBhIG1ham9yIHJlbGVhc2UuIFdlIHJlY29tbWVuZCBhZ2FpbnN0IGNhbGxpbmcgdGhlbSBkaXJlY3RseSBmcm9tIGNsaWVudCBjb2RlLlxuICovXG5cbmltcG9ydCB7IERlZmF1bHRMb2dHcm91cFByb3BzIH0gZnJvbSAnLi9jbG91ZHdhdGNoLWxvZy1ncm91cC1kZWZhdWx0cyc7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCB7IGFkZENmblN1cHByZXNzUnVsZXMsIGNvbnNvbGlkYXRlUHJvcHMgfSBmcm9tICcuL3V0aWxzJztcbi8vIE5vdGU6IFRvIGVuc3VyZSBDREt2MiBjb21wYXRpYmlsaXR5LCBrZWVwIHRoZSBpbXBvcnQgc3RhdGVtZW50IGZvciBDb25zdHJ1Y3Qgc2VwYXJhdGVcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZExvZ0dyb3VwKHNjb3BlOiBDb25zdHJ1Y3QsIGxvZ0dyb3VwSWQ/OiBzdHJpbmcsIGxvZ0dyb3VwUHJvcHM/OiBsb2dzLkxvZ0dyb3VwUHJvcHMpOiBsb2dzLkxvZ0dyb3VwIHtcbiAgY29uc3QgY29uc29saWRhdGVkTG9nR3JvdXBQcm9wczogbG9ncy5Mb2dHcm91cFByb3BzID0gY29uc29saWRhdGVQcm9wcyhEZWZhdWx0TG9nR3JvdXBQcm9wcygpLCBsb2dHcm91cFByb3BzKTtcblxuICAvLyBTZXQgdGhlIExvZ0dyb3VwIElkXG4gIGNvbnN0IGFkanVzdGVkTG9nR3JvdXBJZCA9IGxvZ0dyb3VwSWQgPyBsb2dHcm91cElkIDogJ0Nsb3VkV2F0Y2hMb2dHcm91cCc7XG5cbiAgLy8gQ3JlYXRlIHRoZSBDVyBMb2cgR3JvdXBcbiAgY29uc3QgbG9nR3JvdXAgPSBuZXcgbG9ncy5Mb2dHcm91cChzY29wZSwgYWRqdXN0ZWRMb2dHcm91cElkLCBjb25zb2xpZGF0ZWRMb2dHcm91cFByb3BzKTtcblxuICAvLyBJZiByZXF1aXJlZCwgc3VwcHJlc3MgdGhlIENmbiBOYWcgV0FSTklOR1NcbiAgaWYgKGNvbnNvbGlkYXRlZExvZ0dyb3VwUHJvcHMucmV0ZW50aW9uID09PSBsb2dzLlJldGVudGlvbkRheXMuSU5GSU5JVEUpIHtcbiAgICBhZGRDZm5TdXBwcmVzc1J1bGVzKCBsb2dHcm91cCwgW1xuICAgICAge1xuICAgICAgICBpZDogJ1c4NicsXG4gICAgICAgIHJlYXNvbjogJ1JldGVudGlvbiBwZXJpb2QgZm9yIENsb3VkV2F0Y2hMb2dzIExvZ0dyb3VwcyBhcmUgc2V0IHRvIFxcJ05ldmVyIEV4cGlyZVxcJyB0byBwcmVzZXJ2ZSBjdXN0b21lciBkYXRhIGluZGVmaW5pdGVseSdcbiAgICAgIH1cbiAgICBdKTtcbiAgfVxuXG4gIGlmICghY29uc29saWRhdGVkTG9nR3JvdXBQcm9wcy5lbmNyeXB0aW9uS2V5KSB7XG4gICAgYWRkQ2ZuU3VwcHJlc3NSdWxlcyggbG9nR3JvdXAsIFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdXODQnLFxuICAgICAgICByZWFzb246ICdCeSBkZWZhdWx0IENsb3VkV2F0Y2hMb2dzIExvZ0dyb3VwcyBkYXRhIGlzIGVuY3J5cHRlZCB1c2luZyB0aGUgQ2xvdWRXYXRjaCBzZXJ2ZXItc2lkZSBlbmNyeXB0aW9uIGtleXMgKEFXUyBNYW5hZ2VkIEtleXMpJ1xuICAgICAgfVxuICAgIF0pO1xuICB9XG5cbiAgcmV0dXJuIGxvZ0dyb3VwO1xufSJdfQ==
@@ -11,7 +11,7 @@
11
11
  * and limitations under the License.
12
12
  */
13
13
  import * as cognito from 'aws-cdk-lib/aws-cognito';
14
- declare const DefaultUserPoolProps: cognito.UserPoolProps;
14
+ declare const defaultUserPoolProps: cognito.UserPoolProps;
15
15
  /**
16
16
  * @internal This is an internal core function and should not be called directly by Solutions Constructs clients.
17
17
  */
@@ -20,4 +20,4 @@ export declare function DefaultIdentityPoolProps(userPoolClientId: string, userP
20
20
  * @internal This is an internal core function and should not be called directly by Solutions Constructs clients.
21
21
  */
22
22
  export declare function DefaultUserPoolClientProps(userpool: cognito.UserPool): cognito.UserPoolClientProps;
23
- export { DefaultUserPoolProps };
23
+ export { defaultUserPoolProps };
@@ -12,11 +12,11 @@
12
12
  * and limitations under the License.
13
13
  */
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.DefaultUserPoolProps = void 0;
15
+ exports.defaultUserPoolProps = void 0;
16
16
  exports.DefaultIdentityPoolProps = DefaultIdentityPoolProps;
17
17
  exports.DefaultUserPoolClientProps = DefaultUserPoolClientProps;
18
- const DefaultUserPoolProps = {};
19
- exports.DefaultUserPoolProps = DefaultUserPoolProps;
18
+ const defaultUserPoolProps = {};
19
+ exports.defaultUserPoolProps = defaultUserPoolProps;
20
20
  /**
21
21
  * @internal This is an internal core function and should not be called directly by Solutions Constructs clients.
22
22
  */
@@ -38,4 +38,4 @@ function DefaultUserPoolClientProps(userpool) {
38
38
  userPool: userpool
39
39
  };
40
40
  }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29nbml0by1kZWZhdWx0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvZ25pdG8tZGVmYXVsdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOzs7QUFlSCw0REFTQztBQUtELGdFQUlDO0FBeEJELE1BQU0sb0JBQW9CLEdBQTBCLEVBQ25ELENBQUM7QUF5Qk8sb0RBQW9CO0FBdkI3Qjs7R0FFRztBQUNILFNBQWdCLHdCQUF3QixDQUFDLGdCQUF3QixFQUFFLG9CQUE0QjtJQUM3RixPQUFPO1FBQ0wsOEJBQThCLEVBQUUsS0FBSztRQUNyQyx3QkFBd0IsRUFBRSxDQUFDO2dCQUN6QixRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixZQUFZLEVBQUUsb0JBQW9CO2dCQUNsQyxvQkFBb0IsRUFBRSxJQUFJO2FBQzNCLENBQUM7S0FDNkIsQ0FBQztBQUNwQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQiwwQkFBMEIsQ0FBQyxRQUEwQjtJQUNuRSxPQUFPO1FBQ0wsUUFBUSxFQUFFLFFBQVE7S0FDWSxDQUFDO0FBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKlxuICogIFRoZSBmdW5jdGlvbnMgZm91bmQgaGVyZSBpbiB0aGUgY29yZSBsaWJyYXJ5IGFyZSBmb3IgaW50ZXJuYWwgdXNlIGFuZCBjYW4gYmUgY2hhbmdlZFxuICogIG9yIHJlbW92ZWQgb3V0c2lkZSBvZiBhIG1ham9yIHJlbGVhc2UuIFdlIHJlY29tbWVuZCBhZ2FpbnN0IGNhbGxpbmcgdGhlbSBkaXJlY3RseSBmcm9tIGNsaWVudCBjb2RlLlxuICovXG5cbmltcG9ydCAqIGFzIGNvZ25pdG8gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNvZ25pdG8nO1xuXG5jb25zdCBEZWZhdWx0VXNlclBvb2xQcm9wczogY29nbml0by5Vc2VyUG9vbFByb3BzID0ge1xufTtcblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gRGVmYXVsdElkZW50aXR5UG9vbFByb3BzKHVzZXJQb29sQ2xpZW50SWQ6IHN0cmluZywgdXNlclBvb2xQcm92aWRlck5hbWU6IHN0cmluZyk6IGNvZ25pdG8uQ2ZuSWRlbnRpdHlQb29sUHJvcHMge1xuICByZXR1cm4ge1xuICAgIGFsbG93VW5hdXRoZW50aWNhdGVkSWRlbnRpdGllczogZmFsc2UsXG4gICAgY29nbml0b0lkZW50aXR5UHJvdmlkZXJzOiBbe1xuICAgICAgY2xpZW50SWQ6IHVzZXJQb29sQ2xpZW50SWQsXG4gICAgICBwcm92aWRlck5hbWU6IHVzZXJQb29sUHJvdmlkZXJOYW1lLFxuICAgICAgc2VydmVyU2lkZVRva2VuQ2hlY2s6IHRydWVcbiAgICB9XVxuICB9IGFzIGNvZ25pdG8uQ2ZuSWRlbnRpdHlQb29sUHJvcHM7XG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIERlZmF1bHRVc2VyUG9vbENsaWVudFByb3BzKHVzZXJwb29sOiBjb2duaXRvLlVzZXJQb29sKTogY29nbml0by5Vc2VyUG9vbENsaWVudFByb3BzIHtcbiAgcmV0dXJuIHtcbiAgICB1c2VyUG9vbDogdXNlcnBvb2xcbiAgfSBhcyBjb2duaXRvLlVzZXJQb29sQ2xpZW50UHJvcHM7XG59XG5cbmV4cG9ydCB7IERlZmF1bHRVc2VyUG9vbFByb3BzIH07Il19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29nbml0by1kZWZhdWx0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvZ25pdG8tZGVmYXVsdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOzs7QUFlSCw0REFTQztBQUtELGdFQUlDO0FBeEJELE1BQU0sb0JBQW9CLEdBQTBCLEVBQ25ELENBQUM7QUF5Qk8sb0RBQW9CO0FBdkI3Qjs7R0FFRztBQUNILFNBQWdCLHdCQUF3QixDQUFDLGdCQUF3QixFQUFFLG9CQUE0QjtJQUM3RixPQUFPO1FBQ0wsOEJBQThCLEVBQUUsS0FBSztRQUNyQyx3QkFBd0IsRUFBRSxDQUFDO2dCQUN6QixRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixZQUFZLEVBQUUsb0JBQW9CO2dCQUNsQyxvQkFBb0IsRUFBRSxJQUFJO2FBQzNCLENBQUM7S0FDNkIsQ0FBQztBQUNwQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQiwwQkFBMEIsQ0FBQyxRQUEwQjtJQUNuRSxPQUFPO1FBQ0wsUUFBUSxFQUFFLFFBQVE7S0FDWSxDQUFDO0FBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKlxuICogIFRoZSBmdW5jdGlvbnMgZm91bmQgaGVyZSBpbiB0aGUgY29yZSBsaWJyYXJ5IGFyZSBmb3IgaW50ZXJuYWwgdXNlIGFuZCBjYW4gYmUgY2hhbmdlZFxuICogIG9yIHJlbW92ZWQgb3V0c2lkZSBvZiBhIG1ham9yIHJlbGVhc2UuIFdlIHJlY29tbWVuZCBhZ2FpbnN0IGNhbGxpbmcgdGhlbSBkaXJlY3RseSBmcm9tIGNsaWVudCBjb2RlLlxuICovXG5cbmltcG9ydCAqIGFzIGNvZ25pdG8gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNvZ25pdG8nO1xuXG5jb25zdCBkZWZhdWx0VXNlclBvb2xQcm9wczogY29nbml0by5Vc2VyUG9vbFByb3BzID0ge1xufTtcblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gRGVmYXVsdElkZW50aXR5UG9vbFByb3BzKHVzZXJQb29sQ2xpZW50SWQ6IHN0cmluZywgdXNlclBvb2xQcm92aWRlck5hbWU6IHN0cmluZyk6IGNvZ25pdG8uQ2ZuSWRlbnRpdHlQb29sUHJvcHMge1xuICByZXR1cm4ge1xuICAgIGFsbG93VW5hdXRoZW50aWNhdGVkSWRlbnRpdGllczogZmFsc2UsXG4gICAgY29nbml0b0lkZW50aXR5UHJvdmlkZXJzOiBbe1xuICAgICAgY2xpZW50SWQ6IHVzZXJQb29sQ2xpZW50SWQsXG4gICAgICBwcm92aWRlck5hbWU6IHVzZXJQb29sUHJvdmlkZXJOYW1lLFxuICAgICAgc2VydmVyU2lkZVRva2VuQ2hlY2s6IHRydWVcbiAgICB9XVxuICB9IGFzIGNvZ25pdG8uQ2ZuSWRlbnRpdHlQb29sUHJvcHM7XG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIERlZmF1bHRVc2VyUG9vbENsaWVudFByb3BzKHVzZXJwb29sOiBjb2duaXRvLlVzZXJQb29sKTogY29nbml0by5Vc2VyUG9vbENsaWVudFByb3BzIHtcbiAgcmV0dXJuIHtcbiAgICB1c2VyUG9vbDogdXNlcnBvb2xcbiAgfSBhcyBjb2duaXRvLlVzZXJQb29sQ2xpZW50UHJvcHM7XG59XG5cbmV4cG9ydCB7IGRlZmF1bHRVc2VyUG9vbFByb3BzIH07Il19
@@ -30,8 +30,7 @@ const cognito_defaults_1 = require("./cognito-defaults");
30
30
  * @internal This is an internal core function and should not be called directly by Solutions Constructs clients.
31
31
  */
32
32
  function buildUserPool(scope, userPoolProps) {
33
- let cognitoUserPoolProps;
34
- cognitoUserPoolProps = (0, utils_1.consolidateProps)(cognito_defaults_1.DefaultUserPoolProps, userPoolProps);
33
+ const cognitoUserPoolProps = (0, utils_1.consolidateProps)(cognito_defaults_1.defaultUserPoolProps, userPoolProps);
35
34
  const userPool = new cognito.UserPool(scope, 'CognitoUserPool', cognitoUserPoolProps);
36
35
  // Set the advancedSecurityMode to ENFORCED
37
36
  const cfnUserPool = userPool.node.findChild('Resource');
@@ -54,8 +53,7 @@ function buildUserPool(scope, userPoolProps) {
54
53
  * @internal This is an internal core function and should not be called directly by Solutions Constructs clients.
55
54
  */
56
55
  function buildUserPoolClient(scope, userPool, cognitoUserPoolClientProps) {
57
- let userPoolClientProps;
58
- userPoolClientProps = (0, utils_1.consolidateProps)((0, cognito_defaults_1.DefaultUserPoolClientProps)(userPool), cognitoUserPoolClientProps);
56
+ const userPoolClientProps = (0, utils_1.consolidateProps)((0, cognito_defaults_1.DefaultUserPoolClientProps)(userPool), cognitoUserPoolClientProps);
59
57
  return new cognito.UserPoolClient(scope, 'CognitoUserPoolClient', userPoolClientProps);
60
58
  }
61
59
  /**
@@ -122,4 +120,4 @@ function buildCognitoForSearchService(scope, domainName) {
122
120
  });
123
121
  return [userPool, userPoolClient, identityPool, cognitoAuthorizedRole];
124
122
  }
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29nbml0by1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjb2duaXRvLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7O0FBd0JILHNDQTJCQztBQUtELGtEQVFDO0FBS0QsOENBV0M7QUFLRCxvRUErQ0M7QUFLRCxvRUFhQztBQXBKRDs7O0dBR0c7QUFFSCxtREFBbUQ7QUFDbkQsMkNBQTJDO0FBQzNDLG1DQUFtQztBQUNuQyxtQ0FBMEY7QUFDMUYseURBQWdIO0FBVWhIOztHQUVHO0FBQ0gsU0FBZ0IsYUFBYSxDQUFDLEtBQWdCLEVBQUUsYUFBcUM7SUFDbkYsSUFBSSxvQkFBMkMsQ0FBQztJQUVoRCxvQkFBb0IsR0FBRyxJQUFBLHdCQUFnQixFQUFDLHVDQUFvQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBRTdFLE1BQU0sUUFBUSxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztJQUV0RiwyQ0FBMkM7SUFDM0MsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUF3QixDQUFDO0lBRS9FLFdBQVcsQ0FBQyxjQUFjLEdBQUc7UUFDM0Isb0JBQW9CLEVBQUUsVUFBVTtLQUNqQyxDQUFDO0lBRUYsdURBQXVEO0lBQ3ZELE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBYSxDQUFDO0lBRTFFLElBQUksZUFBZSxFQUFFLENBQUM7UUFDcEIsSUFBQSwyQkFBbUIsRUFBQyxRQUFRLEVBQUU7WUFDNUI7Z0JBQ0UsRUFBRSxFQUFFLEtBQUs7Z0JBQ1QsTUFBTSxFQUFFLDBHQUEwRzthQUNuSDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixt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LFVBQVU7SUFFOUYsT0FBTyxxQkFBcUIsQ0FBQztBQUMvQixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQiw0QkFBNEIsQ0FBQyxLQUFnQixFQUFFLFVBQWtCO0lBRS9FLE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxNQUFNLGNBQWMsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDNUQsTUFBTSxZQUFZLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUV4RSxNQUFNLHFCQUFxQixHQUFhLDRCQUE0QixDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUU7UUFDdEYsUUFBUSxFQUFFLFFBQVE7UUFDbEIsWUFBWSxFQUFFLFlBQVk7UUFDMUIsY0FBYyxFQUFFLGNBQWM7S0FDL0IsQ0FBQyxDQUFDO0lBRUgsT0FBTyxDQUFDLFFBQVEsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLHFCQUFxQixDQUFDLENBQUM7QUFDekUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qXG4gKiAgVGhlIGZ1bmN0aW9ucyBmb3VuZCBoZXJlIGluIHRoZSBjb3JlIGxpYnJhcnkgYXJlIGZvciBpbnRlcm5hbCB1c2UgYW5kIGNhbiBiZSBjaGFuZ2VkXG4gKiAgb3IgcmVtb3ZlZCBvdXRzaWRlIG9mIGEgbWFqb3IgcmVsZWFzZS4gV2UgcmVjb21tZW5kIGFnYWluc3QgY2FsbGluZyB0aGVtIGRpcmVjdGx5IGZyb20gY2xpZW50IGNvZGUuXG4gKi9cblxuaW1wb3J0ICogYXMgY29nbml0byBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29nbml0byc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgYWRkQ2ZuR3VhcmRTdXBwcmVzc1J1bGVzLCBhZGRDZm5TdXBwcmVzc1J1bGVzLCBjb25zb2xpZGF0ZVByb3BzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBEZWZhdWx0VXNlclBvb2xQcm9wcywgRGVmYXVsdFVzZXJQb29sQ2xpZW50UHJvcHMsIERlZmF1bHRJZGVudGl0eVBvb2xQcm9wcyB9IGZyb20gJy4vY29nbml0by1kZWZhdWx0cyc7XG4vLyBOb3RlOiBUbyBlbnN1cmUgQ0RLdjIgY29tcGF0aWJpbGl0eSwga2VlcCB0aGUgaW1wb3J0IHN0YXRlbWVudCBmb3IgQ29uc3RydWN0IHNlcGFyYXRlXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuZXhwb3J0IGludGVyZmFjZSBDb2duaXRvT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGlkZW50aXR5cG9vbDogY29nbml0by5DZm5JZGVudGl0eVBvb2wsXG4gIHJlYWRvbmx5IHVzZXJwb29sOiBjb2duaXRvLlVzZXJQb29sLFxuICByZWFkb25seSB1c2VycG9vbGNsaWVudDogY29nbml0by5Vc2VyUG9vbENsaWVudFxufVxuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFVzZXJQb29sKHNjb3BlOiBDb25zdHJ1Y3QsIHVzZXJQb29sUHJvcHM/OiBjb2duaXRvLlVzZXJQb29sUHJvcHMpOiBjb2duaXRvLlVzZXJQb29sIHtcbiAgbGV0IGNvZ25pdG9Vc2VyUG9vbFByb3BzOiBjb2duaXRvLlVzZXJQb29sUHJvcHM7XG5cbiAgY29nbml0b1VzZXJQb29sUHJvcHMgPSBjb25zb2xpZGF0ZVByb3BzKERlZmF1bHRVc2VyUG9vbFByb3BzLCB1c2VyUG9vbFByb3BzKTtcblxuICBjb25zdCB1c2VyUG9vbCA9IG5ldyBjb2duaXRvLlVzZXJQb29sKHNjb3BlLCAnQ29nbml0b1VzZXJQb29sJywgY29nbml0b1VzZXJQb29sUHJvcHMpO1xuXG4gIC8vIFNldCB0aGUgYWR2YW5jZWRTZWN1cml0eU1vZGUgdG8gRU5GT1JDRURcbiAgY29uc3QgY2ZuVXNlclBvb2wgPSB1c2VyUG9vbC5ub2RlLmZpbmRDaGlsZCgnUmVzb3VyY2UnKSBhcyBjb2duaXRvLkNmblVzZXJQb29sO1xuXG4gIGNmblVzZXJQb29sLnVzZXJQb29sQWRkT25zID0ge1xuICAgIGFkdmFuY2VkU2VjdXJpdHlNb2RlOiAnRU5GT1JDRUQnXG4gIH07XG5cbiAgLy8gQWRkIENmbiBOYWcgc3VwcHJlc3MgZm9yIHRoZSBjb2duaXRvIFNNUyByb2xlIHBvbGljeVxuICBjb25zdCB1c2VyUG9vbFNtc1JvbGUgPSB1c2VyUG9vbC5ub2RlLnRyeUZpbmRDaGlsZCgnc21zUm9sZScpIGFzIGlhbS5Sb2xlO1xuXG4gIGlmICh1c2VyUG9vbFNtc1JvbGUpIHtcbiAgICBhZGRDZm5TdXBwcmVzc1J1bGVzKHVzZXJQb29sLCBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnVzExJyxcbiAgICAgICAgcmVhc29uOiBgQWxsb3dpbmcgKiByZXNvdXJjZSBvbiBwZXJtaXNzaW9ucyBwb2xpY3kgc2luY2UgaXRzIHVzZWQgYnkgQ29nbml0byB0byBzZW5kIFNNUyBtZXNzYWdlcyB2aWEgc25zOlB1Ymxpc2hgXG4gICAgICB9XG4gICAgXSk7XG4gIH1cblxuICByZXR1cm4gdXNlclBvb2w7XG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkVXNlclBvb2xDbGllbnQoc2NvcGU6IENvbnN0cnVjdCwgdXNlclBvb2w6IGNvZ25pdG8uVXNlclBvb2wsXG4gIGNvZ25pdG9Vc2VyUG9vbENsaWVudFByb3BzPzogY29nbml0by5Vc2VyUG9vbENsaWVudFByb3BzKTogY29nbml0by5Vc2VyUG9vbENsaWVudCB7XG5cbiAgbGV0IHVzZXJQb29sQ2xpZW50UHJvcHM6IGNvZ25pdG8uVXNlclBvb2xDbGllbnRQcm9wcztcblxuICB1c2VyUG9vbENsaWVudFByb3BzID0gY29uc29saWRhdGVQcm9wcyhEZWZhdWx0VXNlclBvb2xDbGllbnRQcm9wcyh1c2VyUG9vbCksIGNvZ25pdG9Vc2VyUG9vbENsaWVudFByb3BzKTtcblxuICByZXR1cm4gbmV3IGNvZ25pdG8uVXNlclBvb2xDbGllbnQoc2NvcGUsICdDb2duaXRvVXNlclBvb2xDbGllbnQnLCB1c2VyUG9vbENsaWVudFByb3BzKTtcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRJZGVudGl0eVBvb2woc2NvcGU6IENvbnN0cnVjdCwgdXNlcnBvb2w6IGNvZ25pdG8uVXNlclBvb2wsIHVzZXJwb29sY2xpZW50OiBjb2duaXRvLlVzZXJQb29sQ2xpZW50LFxuICBpZGVudGl0eVBvb2xQcm9wcz86IGNvZ25pdG8uQ2ZuSWRlbnRpdHlQb29sUHJvcHMpOiBjb2duaXRvLkNmbklkZW50aXR5UG9vbCB7XG5cbiAgbGV0IGNvZ25pdG9JZGVudGl0eVBvb2xQcm9wczogY29nbml0by5DZm5JZGVudGl0eVBvb2xQcm9wcyA9IERlZmF1bHRJZGVudGl0eVBvb2xQcm9wcyh1c2VycG9vbGNsaWVudC51c2VyUG9vbENsaWVudElkLFxuICAgIHVzZXJwb29sLnVzZXJQb29sUHJvdmlkZXJOYW1lKTtcblxuICBjb2duaXRvSWRlbnRpdHlQb29sUHJvcHMgPSBjb25zb2xpZGF0ZVByb3BzKGNvZ25pdG9JZGVudGl0eVBvb2xQcm9wcywgaWRlbnRpdHlQb29sUHJvcHMpO1xuXG4gIGNvbnN0IGlkUG9vbCA9IG5ldyBjb2duaXRvLkNmbklkZW50aXR5UG9vbChzY29wZSwgJ0NvZ25pdG9JZGVudGl0eVBvb2wnLCBjb2duaXRvSWRlbnRpdHlQb29sUHJvcHMpO1xuXG4gIHJldHVybiBpZFBvb2w7XG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldHVwQ29nbml0b0ZvclNlYXJjaFNlcnZpY2Uoc2NvcGU6IENvbnN0cnVjdCwgZG9tYWluTmFtZTogc3RyaW5nLCBvcHRpb25zOiBDb2duaXRvT3B0aW9ucyk6IGlhbS5Sb2xlIHtcblxuICAvLyBDcmVhdGUgdGhlIGRvbWFpbiBmb3IgQ29nbml0byBVc2VyUG9vbFxuICBjb25zdCB1c2VycG9vbGRvbWFpbiA9IG5ldyBjb2duaXRvLkNmblVzZXJQb29sRG9tYWluKHNjb3BlLCAnVXNlclBvb2xEb21haW4nLCB7XG4gICAgZG9tYWluOiBkb21haW5OYW1lLFxuICAgIHVzZXJQb29sSWQ6IG9wdGlvbnMudXNlcnBvb2wudXNlclBvb2xJZFxuICB9KTtcbiAgdXNlcnBvb2xkb21haW4uYWRkRGVwZW5kZW5jeShvcHRpb25zLnVzZXJwb29sLm5vZGUuZmluZENoaWxkKCdSZXNvdXJjZScpIGFzIGNvZ25pdG8uQ2ZuVXNlclBvb2wpO1xuXG4gIC8vIFNldHVwIHRoZSBJQU0gUm9sZSBmb3IgQ29nbml0byBBdXRob3JpemVkIFVzZXJzXG4gIGNvbnN0IGNvZ25pdG9QcmluY2lwYWwgPSBuZXcgaWFtLkZlZGVyYXRlZFByaW5jaXBhbChcbiAgICAnY29nbml0by1pZGVudGl0eS5hbWF6b25hd3MuY29tJyxcbiAgICB7XG4gICAgICAnU3RyaW5nRXF1YWxzJzogeyAnY29nbml0by1pZGVudGl0eS5hbWF6b25hd3MuY29tOmF1ZCc6IG9wdGlvbnMuaWRlbnRpdHlwb29sLnJlZiB9LFxuICAgICAgJ0ZvckFueVZhbHVlOlN0cmluZ0xpa2UnOiB7ICdjb2duaXRvLWlkZW50aXR5LmFtYXpvbmF3cy5jb206YW1yJzogJ2F1dGhlbnRpY2F0ZWQnIH1cbiAgICB9LFxuICAgICdzdHM6QXNzdW1lUm9sZVdpdGhXZWJJZGVudGl0eScpO1xuXG4gIGNvbnN0IGNvZ25pdG9BdXRob3JpemVkUm9sZSA9IG5ldyBpYW0uUm9sZShzY29wZSwgJ0NvZ25pdG9BdXRob3JpemVkUm9sZScsIHtcbiAgICBhc3N1bWVkQnk6IGNvZ25pdG9QcmluY2lwYWwsXG4gICAgaW5saW5lUG9saWNpZXM6IHtcbiAgICAgIENvZ25pdG9BY2Nlc3NQb2xpY3k6IG5ldyBpYW0uUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICBzdGF0ZW1lbnRzOiBbbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICdlczpFU0h0dHAqJ1xuICAgICAgICAgIF0sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbYGFybjoke2Nkay5Bd3MuUEFSVElUSU9OfTplczoke2Nkay5Bd3MuUkVHSU9OfToke2Nkay5Bd3MuQUNDT1VOVF9JRH06ZG9tYWluLyR7ZG9tYWluTmFtZX0vKmBdXG4gICAgICAgIH0pXG4gICAgICAgIF1cbiAgICAgIH0pXG4gICAgfVxuICB9KTtcblxuICBhZGRDZm5HdWFyZFN1cHByZXNzUnVsZXMoY29nbml0b0F1dGhvcml6ZWRSb2xlLCBbXCJJQU1fTk9fSU5MSU5FX1BPTElDWV9DSEVDS1wiXSk7XG5cbiAgLy8gQXR0YWNoIHRoZSBJQU0gUm9sZSBmb3IgQ29nbml0byBBdXRob3JpemVkIFVzZXJzXG4gIGNvbnN0IHByb3BzOiBjb2duaXRvLkNmbklkZW50aXR5UG9vbFJvbGVBdHRhY2htZW50UHJvcHMgPSB7XG4gICAgaWRlbnRpdHlQb29sSWQ6IG9wdGlvbnMuaWRlbnRpdHlwb29sLnJlZixcbiAgICByb2xlczoge1xuICAgICAgYXV0aGVudGljYXRlZDogY29nbml0b0F1dGhvcml6ZWRSb2xlLnJvbGVBcm5cbiAgICB9XG4gIH07XG5cbiAgLy8gTWluaW1pemUgY29kZSBpbiBhIE5PU09OQSBsaW5lXG4gIG5ldyBjb2duaXRvLkNmbklkZW50aXR5UG9vbFJvbGVBdHRhY2htZW50KHNjb3BlLCAnSWRlbnRpdHlQb29sUm9sZU1hcHBpbmcnLCBwcm9wcyk7IC8vIE5PU09OQVJcblxuICByZXR1cm4gY29nbml0b0F1dGhvcml6ZWRSb2xlO1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZENvZ25pdG9Gb3JTZWFyY2hTZXJ2aWNlKHNjb3BlOiBDb25zdHJ1Y3QsIGRvbWFpbk5hbWU6IHN0cmluZyk6XG4gIFtjb2duaXRvLlVzZXJQb29sLCBjb2duaXRvLlVzZXJQb29sQ2xpZW50LCBjb2duaXRvLkNmbklkZW50aXR5UG9vbCwgaWFtLlJvbGVdIHtcbiAgY29uc3QgdXNlclBvb2wgPSBidWlsZFVzZXJQb29sKHNjb3BlKTtcbiAgY29uc3QgdXNlclBvb2xDbGllbnQgPSBidWlsZFVzZXJQb29sQ2xpZW50KHNjb3BlLCB1c2VyUG9vbCk7XG4gIGNvbnN0IGlkZW50aXR5UG9vbCA9IGJ1aWxkSWRlbnRpdHlQb29sKHNjb3BlLCB1c2VyUG9vbCwgdXNlclBvb2xDbGllbnQpO1xuXG4gIGNvbnN0IGNvZ25pdG9BdXRob3JpemVkUm9sZTogaWFtLlJvbGUgPSBzZXR1cENvZ25pdG9Gb3JTZWFyY2hTZXJ2aWNlKHNjb3BlLCBkb21haW5OYW1lLCB7XG4gICAgdXNlcnBvb2w6IHVzZXJQb29sLFxuICAgIGlkZW50aXR5cG9vbDogaWRlbnRpdHlQb29sLFxuICAgIHVzZXJwb29sY2xpZW50OiB1c2VyUG9vbENsaWVudFxuICB9KTtcblxuICByZXR1cm4gW3VzZXJQb29sLCB1c2VyUG9vbENsaWVudCwgaWRlbnRpdHlQb29sLCBjb2duaXRvQXV0aG9yaXplZFJvbGVdO1xufSJdfQ==
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29nbml0by1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjb2duaXRvLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7O0FBd0JILHNDQXlCQztBQUtELGtEQU1DO0FBS0QsOENBV0M7QUFLRCxvRUErQ0M7QUFLRCxvRUFhQztBQWhKRDs7O0dBR0c7QUFFSCxtREFBbUQ7QUFDbkQsMkNBQTJDO0FBQzNDLG1DQUFtQztBQUNuQyxtQ0FBMEY7QUFDMUYseURBQWdIO0FBVWhIOztHQUVHO0FBQ0gsU0FBZ0IsYUFBYSxDQUFDLEtBQWdCLEVBQUUsYUFBcUM7SUFDbkYsTUFBTSxvQkFBb0IsR0FBRyxJQUFBLHdCQUFnQixFQUFDLHVDQUFvQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBRW5GLE1BQU0sUUFBUSxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztJQUV0RiwyQ0FBMkM7SUFDM0MsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUF3QixDQUFDO0lBRS9FLFdBQVcsQ0FBQyxjQUFjLEdBQUc7UUFDM0Isb0JBQW9CLEVBQUUsVUFBVTtLQUNqQyxDQUFDO0lBRUYsdURBQXVEO0lBQ3ZELE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBYSxDQUFDO0lBRTFFLElBQUksZUFBZSxFQUFFLENBQUM7UUFDcEIsSUFBQSwyQkFBbUIsRUFBQyxRQUFRLEVBQUU7WUFDNUI7Z0JBQ0UsRUFBRSxFQUFFLEtBQUs7Z0JBQ1QsTUFBTSxFQUFFLDBHQUEwRzthQUNuSDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixtQkFBbUIsQ0FBQyxLQUFnQixF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QUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQiw0QkFBNEIsQ0FBQyxLQUFnQixFQUFFLFVBQWtCO0lBRS9FLE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxNQUFNLGNBQWMsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDNUQsTUFBTSxZQUFZLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUV4RSxNQUFNLHFCQUFxQixHQUFhLDRCQUE0QixDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUU7UUFDdEYsUUFBUSxFQUFFLFFBQVE7UUFDbEIsWUFBWSxFQUFFLFlBQVk7UUFDMUIsY0FBYyxFQUFFLGNBQWM7S0FDL0IsQ0FBQyxDQUFDO0lBRUgsT0FBTyxDQUFDLFFBQVEsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLHFCQUFxQixDQUFDLENBQUM7QUFDekUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qXG4gKiAgVGhlIGZ1bmN0aW9ucyBmb3VuZCBoZXJlIGluIHRoZSBjb3JlIGxpYnJhcnkgYXJlIGZvciBpbnRlcm5hbCB1c2UgYW5kIGNhbiBiZSBjaGFuZ2VkXG4gKiAgb3IgcmVtb3ZlZCBvdXRzaWRlIG9mIGEgbWFqb3IgcmVsZWFzZS4gV2UgcmVjb21tZW5kIGFnYWluc3QgY2FsbGluZyB0aGVtIGRpcmVjdGx5IGZyb20gY2xpZW50IGNvZGUuXG4gKi9cblxuaW1wb3J0ICogYXMgY29nbml0byBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29nbml0byc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgYWRkQ2ZuR3VhcmRTdXBwcmVzc1J1bGVzLCBhZGRDZm5TdXBwcmVzc1J1bGVzLCBjb25zb2xpZGF0ZVByb3BzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBkZWZhdWx0VXNlclBvb2xQcm9wcywgRGVmYXVsdFVzZXJQb29sQ2xpZW50UHJvcHMsIERlZmF1bHRJZGVudGl0eVBvb2xQcm9wcyB9IGZyb20gJy4vY29nbml0by1kZWZhdWx0cyc7XG4vLyBOb3RlOiBUbyBlbnN1cmUgQ0RLdjIgY29tcGF0aWJpbGl0eSwga2VlcCB0aGUgaW1wb3J0IHN0YXRlbWVudCBmb3IgQ29uc3RydWN0IHNlcGFyYXRlXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuZXhwb3J0IGludGVyZmFjZSBDb2duaXRvT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGlkZW50aXR5cG9vbDogY29nbml0by5DZm5JZGVudGl0eVBvb2wsXG4gIHJlYWRvbmx5IHVzZXJwb29sOiBjb2duaXRvLlVzZXJQb29sLFxuICByZWFkb25seSB1c2VycG9vbGNsaWVudDogY29nbml0by5Vc2VyUG9vbENsaWVudFxufVxuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFVzZXJQb29sKHNjb3BlOiBDb25zdHJ1Y3QsIHVzZXJQb29sUHJvcHM/OiBjb2duaXRvLlVzZXJQb29sUHJvcHMpOiBjb2duaXRvLlVzZXJQb29sIHtcbiAgY29uc3QgY29nbml0b1VzZXJQb29sUHJvcHMgPSBjb25zb2xpZGF0ZVByb3BzKGRlZmF1bHRVc2VyUG9vbFByb3BzLCB1c2VyUG9vbFByb3BzKTtcblxuICBjb25zdCB1c2VyUG9vbCA9IG5ldyBjb2duaXRvLlVzZXJQb29sKHNjb3BlLCAnQ29nbml0b1VzZXJQb29sJywgY29nbml0b1VzZXJQb29sUHJvcHMpO1xuXG4gIC8vIFNldCB0aGUgYWR2YW5jZWRTZWN1cml0eU1vZGUgdG8gRU5GT1JDRURcbiAgY29uc3QgY2ZuVXNlclBvb2wgPSB1c2VyUG9vbC5ub2RlLmZpbmRDaGlsZCgnUmVzb3VyY2UnKSBhcyBjb2duaXRvLkNmblVzZXJQb29sO1xuXG4gIGNmblVzZXJQb29sLnVzZXJQb29sQWRkT25zID0ge1xuICAgIGFkdmFuY2VkU2VjdXJpdHlNb2RlOiAnRU5GT1JDRUQnXG4gIH07XG5cbiAgLy8gQWRkIENmbiBOYWcgc3VwcHJlc3MgZm9yIHRoZSBjb2duaXRvIFNNUyByb2xlIHBvbGljeVxuICBjb25zdCB1c2VyUG9vbFNtc1JvbGUgPSB1c2VyUG9vbC5ub2RlLnRyeUZpbmRDaGlsZCgnc21zUm9sZScpIGFzIGlhbS5Sb2xlO1xuXG4gIGlmICh1c2VyUG9vbFNtc1JvbGUpIHtcbiAgICBhZGRDZm5TdXBwcmVzc1J1bGVzKHVzZXJQb29sLCBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnVzExJyxcbiAgICAgICAgcmVhc29uOiBgQWxsb3dpbmcgKiByZXNvdXJjZSBvbiBwZXJtaXNzaW9ucyBwb2xpY3kgc2luY2UgaXRzIHVzZWQgYnkgQ29nbml0byB0byBzZW5kIFNNUyBtZXNzYWdlcyB2aWEgc25zOlB1Ymxpc2hgXG4gICAgICB9XG4gICAgXSk7XG4gIH1cblxuICByZXR1cm4gdXNlclBvb2w7XG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkVXNlclBvb2xDbGllbnQoc2NvcGU6IENvbnN0cnVjdCwgdXNlclBvb2w6IGNvZ25pdG8uVXNlclBvb2wsXG4gIGNvZ25pdG9Vc2VyUG9vbENsaWVudFByb3BzPzogY29nbml0by5Vc2VyUG9vbENsaWVudFByb3BzKTogY29nbml0by5Vc2VyUG9vbENsaWVudCB7XG5cbiAgY29uc3QgdXNlclBvb2xDbGllbnRQcm9wcyA9IGNvbnNvbGlkYXRlUHJvcHMoRGVmYXVsdFVzZXJQb29sQ2xpZW50UHJvcHModXNlclBvb2wpLCBjb2duaXRvVXNlclBvb2xDbGllbnRQcm9wcyk7XG5cbiAgcmV0dXJuIG5ldyBjb2duaXRvLlVzZXJQb29sQ2xpZW50KHNjb3BlLCAnQ29nbml0b1VzZXJQb29sQ2xpZW50JywgdXNlclBvb2xDbGllbnRQcm9wcyk7XG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkSWRlbnRpdHlQb29sKHNjb3BlOiBDb25zdHJ1Y3QsIHVzZXJwb29sOiBjb2duaXRvLlVzZXJQb29sLCB1c2VycG9vbGNsaWVudDogY29nbml0by5Vc2VyUG9vbENsaWVudCxcbiAgaWRlbnRpdHlQb29sUHJvcHM/OiBjb2duaXRvLkNmbklkZW50aXR5UG9vbFByb3BzKTogY29nbml0by5DZm5JZGVudGl0eVBvb2wge1xuXG4gIGxldCBjb2duaXRvSWRlbnRpdHlQb29sUHJvcHM6IGNvZ25pdG8uQ2ZuSWRlbnRpdHlQb29sUHJvcHMgPSBEZWZhdWx0SWRlbnRpdHlQb29sUHJvcHModXNlcnBvb2xjbGllbnQudXNlclBvb2xDbGllbnRJZCxcbiAgICB1c2VycG9vbC51c2VyUG9vbFByb3ZpZGVyTmFtZSk7XG5cbiAgY29nbml0b0lkZW50aXR5UG9vbFByb3BzID0gY29uc29saWRhdGVQcm9wcyhjb2duaXRvSWRlbnRpdHlQb29sUHJvcHMsIGlkZW50aXR5UG9vbFByb3BzKTtcblxuICBjb25zdCBpZFBvb2wgPSBuZXcgY29nbml0by5DZm5JZGVudGl0eVBvb2woc2NvcGUsICdDb2duaXRvSWRlbnRpdHlQb29sJywgY29nbml0b0lkZW50aXR5UG9vbFByb3BzKTtcblxuICByZXR1cm4gaWRQb29sO1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXR1cENvZ25pdG9Gb3JTZWFyY2hTZXJ2aWNlKHNjb3BlOiBDb25zdHJ1Y3QsIGRvbWFpbk5hbWU6IHN0cmluZywgb3B0aW9uczogQ29nbml0b09wdGlvbnMpOiBpYW0uUm9sZSB7XG5cbiAgLy8gQ3JlYXRlIHRoZSBkb21haW4gZm9yIENvZ25pdG8gVXNlclBvb2xcbiAgY29uc3QgdXNlcnBvb2xkb21haW4gPSBuZXcgY29nbml0by5DZm5Vc2VyUG9vbERvbWFpbihzY29wZSwgJ1VzZXJQb29sRG9tYWluJywge1xuICAgIGRvbWFpbjogZG9tYWluTmFtZSxcbiAgICB1c2VyUG9vbElkOiBvcHRpb25zLnVzZXJwb29sLnVzZXJQb29sSWRcbiAgfSk7XG4gIHVzZXJwb29sZG9tYWluLmFkZERlcGVuZGVuY3kob3B0aW9ucy51c2VycG9vbC5ub2RlLmZpbmRDaGlsZCgnUmVzb3VyY2UnKSBhcyBjb2duaXRvLkNmblVzZXJQb29sKTtcblxuICAvLyBTZXR1cCB0aGUgSUFNIFJvbGUgZm9yIENvZ25pdG8gQXV0aG9yaXplZCBVc2Vyc1xuICBjb25zdCBjb2duaXRvUHJpbmNpcGFsID0gbmV3IGlhbS5GZWRlcmF0ZWRQcmluY2lwYWwoXG4gICAgJ2NvZ25pdG8taWRlbnRpdHkuYW1hem9uYXdzLmNvbScsXG4gICAge1xuICAgICAgJ1N0cmluZ0VxdWFscyc6IHsgJ2NvZ25pdG8taWRlbnRpdHkuYW1hem9uYXdzLmNvbTphdWQnOiBvcHRpb25zLmlkZW50aXR5cG9vbC5yZWYgfSxcbiAgICAgICdGb3JBbnlWYWx1ZTpTdHJpbmdMaWtlJzogeyAnY29nbml0by1pZGVudGl0eS5hbWF6b25hd3MuY29tOmFtcic6ICdhdXRoZW50aWNhdGVkJyB9XG4gICAgfSxcbiAgICAnc3RzOkFzc3VtZVJvbGVXaXRoV2ViSWRlbnRpdHknKTtcblxuICBjb25zdCBjb2duaXRvQXV0aG9yaXplZFJvbGUgPSBuZXcgaWFtLlJvbGUoc2NvcGUsICdDb2duaXRvQXV0aG9yaXplZFJvbGUnLCB7XG4gICAgYXNzdW1lZEJ5OiBjb2duaXRvUHJpbmNpcGFsLFxuICAgIGlubGluZVBvbGljaWVzOiB7XG4gICAgICBDb2duaXRvQWNjZXNzUG9saWN5OiBuZXcgaWFtLlBvbGljeURvY3VtZW50KHtcbiAgICAgICAgc3RhdGVtZW50czogW25ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAnZXM6RVNIdHRwKidcbiAgICAgICAgICBdLFxuICAgICAgICAgIHJlc291cmNlczogW2Bhcm46JHtjZGsuQXdzLlBBUlRJVElPTn06ZXM6JHtjZGsuQXdzLlJFR0lPTn06JHtjZGsuQXdzLkFDQ09VTlRfSUR9OmRvbWFpbi8ke2RvbWFpbk5hbWV9LypgXVxuICAgICAgICB9KVxuICAgICAgICBdXG4gICAgICB9KVxuICAgIH1cbiAgfSk7XG5cbiAgYWRkQ2ZuR3VhcmRTdXBwcmVzc1J1bGVzKGNvZ25pdG9BdXRob3JpemVkUm9sZSwgW1wiSUFNX05PX0lOTElORV9QT0xJQ1lfQ0hFQ0tcIl0pO1xuXG4gIC8vIEF0dGFjaCB0aGUgSUFNIFJvbGUgZm9yIENvZ25pdG8gQXV0aG9yaXplZCBVc2Vyc1xuICBjb25zdCBwcm9wczogY29nbml0by5DZm5JZGVudGl0eVBvb2xSb2xlQXR0YWNobWVudFByb3BzID0ge1xuICAgIGlkZW50aXR5UG9vbElkOiBvcHRpb25zLmlkZW50aXR5cG9vbC5yZWYsXG4gICAgcm9sZXM6IHtcbiAgICAgIGF1dGhlbnRpY2F0ZWQ6IGNvZ25pdG9BdXRob3JpemVkUm9sZS5yb2xlQXJuXG4gICAgfVxuICB9O1xuXG4gIC8vIE1pbmltaXplIGNvZGUgaW4gYSBOT1NPTkEgbGluZVxuICBuZXcgY29nbml0by5DZm5JZGVudGl0eVBvb2xSb2xlQXR0YWNobWVudChzY29wZSwgJ0lkZW50aXR5UG9vbFJvbGVNYXBwaW5nJywgcHJvcHMpOyAvLyBOT1NPTkFSXG5cbiAgcmV0dXJuIGNvZ25pdG9BdXRob3JpemVkUm9sZTtcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRDb2duaXRvRm9yU2VhcmNoU2VydmljZShzY29wZTogQ29uc3RydWN0LCBkb21haW5OYW1lOiBzdHJpbmcpOlxuICBbY29nbml0by5Vc2VyUG9vbCwgY29nbml0by5Vc2VyUG9vbENsaWVudCwgY29nbml0by5DZm5JZGVudGl0eVBvb2wsIGlhbS5Sb2xlXSB7XG4gIGNvbnN0IHVzZXJQb29sID0gYnVpbGRVc2VyUG9vbChzY29wZSk7XG4gIGNvbnN0IHVzZXJQb29sQ2xpZW50ID0gYnVpbGRVc2VyUG9vbENsaWVudChzY29wZSwgdXNlclBvb2wpO1xuICBjb25zdCBpZGVudGl0eVBvb2wgPSBidWlsZElkZW50aXR5UG9vbChzY29wZSwgdXNlclBvb2wsIHVzZXJQb29sQ2xpZW50KTtcblxuICBjb25zdCBjb2duaXRvQXV0aG9yaXplZFJvbGU6IGlhbS5Sb2xlID0gc2V0dXBDb2duaXRvRm9yU2VhcmNoU2VydmljZShzY29wZSwgZG9tYWluTmFtZSwge1xuICAgIHVzZXJwb29sOiB1c2VyUG9vbCxcbiAgICBpZGVudGl0eXBvb2w6IGlkZW50aXR5UG9vbCxcbiAgICB1c2VycG9vbGNsaWVudDogdXNlclBvb2xDbGllbnRcbiAgfSk7XG5cbiAgcmV0dXJuIFt1c2VyUG9vbCwgdXNlclBvb2xDbGllbnQsIGlkZW50aXR5UG9vbCwgY29nbml0b0F1dGhvcml6ZWRSb2xlXTtcbn0iXX0=
@@ -11,6 +11,6 @@
11
11
  * and limitations under the License.
12
12
  */
13
13
  import * as dynamodb from 'aws-cdk-lib/aws-dynamodb';
14
- declare const DefaultTableProps: dynamodb.TableProps;
15
- declare const DefaultTableWithStreamProps: dynamodb.TableProps;
16
- export { DefaultTableProps, DefaultTableWithStreamProps };
14
+ declare const defaultTableProps: dynamodb.TableProps;
15
+ declare const defaultTableWithStreamProps: dynamodb.TableProps;
16
+ export { defaultTableProps, defaultTableWithStreamProps };
@@ -12,13 +12,13 @@
12
12
  * and limitations under the License.
13
13
  */
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.DefaultTableWithStreamProps = exports.DefaultTableProps = void 0;
15
+ exports.defaultTableWithStreamProps = exports.defaultTableProps = void 0;
16
16
  /*
17
17
  * The functions found here in the core library are for internal use and can be changed
18
18
  * or removed outside of a major release. We recommend against calling them directly from client code.
19
19
  */
20
20
  const dynamodb = require("aws-cdk-lib/aws-dynamodb");
21
- const DefaultTableProps = {
21
+ const defaultTableProps = {
22
22
  billingMode: dynamodb.BillingMode.PAY_PER_REQUEST,
23
23
  encryption: dynamodb.TableEncryption.AWS_MANAGED,
24
24
  pointInTimeRecovery: true,
@@ -27,8 +27,8 @@ const DefaultTableProps = {
27
27
  type: dynamodb.AttributeType.STRING
28
28
  }
29
29
  };
30
- exports.DefaultTableProps = DefaultTableProps;
31
- const DefaultTableWithStreamProps = {
30
+ exports.defaultTableProps = defaultTableProps;
31
+ const defaultTableWithStreamProps = {
32
32
  billingMode: dynamodb.BillingMode.PAY_PER_REQUEST,
33
33
  encryption: dynamodb.TableEncryption.AWS_MANAGED,
34
34
  pointInTimeRecovery: true,
@@ -38,5 +38,5 @@ const DefaultTableWithStreamProps = {
38
38
  },
39
39
  stream: dynamodb.StreamViewType.NEW_AND_OLD_IMAGES
40
40
  };
41
- exports.DefaultTableWithStreamProps = DefaultTableWithStreamProps;
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1vZGItdGFibGUtZGVmYXVsdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkeW5hbW9kYi10YWJsZS1kZWZhdWx0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7OztBQUVIOzs7R0FHRztBQUVILHFEQUFxRDtBQUVyRCxNQUFNLGlCQUFpQixHQUF3QjtJQUM3QyxXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxlQUFlO0lBQ2pELFVBQVUsRUFBRSxRQUFRLENBQUMsZUFBZSxDQUFDLFdBQVc7SUFDaEQsbUJBQW1CLEVBQUUsSUFBSTtJQUN6QixZQUFZLEVBQUU7UUFDWixJQUFJLEVBQUUsSUFBSTtRQUNWLElBQUksRUFBRSxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU07S0FDcEM7Q0FDRixDQUFDO0FBYU8sOENBQWlCO0FBWDFCLE1BQU0sMkJBQTJCLEdBQXdCO0lBQ3ZELFdBQVcsRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDLGVBQWU7SUFDakQsVUFBVSxFQUFFLFFBQVEsQ0FBQyxlQUFlLENBQUMsV0FBVztJQUNoRCxtQkFBbUIsRUFBRSxJQUFJO0lBQ3pCLFlBQVksRUFBRTtRQUNaLElBQUksRUFBRSxJQUFJO1FBQ1YsSUFBSSxFQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTTtLQUNwQztJQUNELE1BQU0sRUFBRSxRQUFRLENBQUMsY0FBYyxDQUFDLGtCQUFrQjtDQUNuRCxDQUFDO0FBRTBCLGtFQUEyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qXG4gKiAgVGhlIGZ1bmN0aW9ucyBmb3VuZCBoZXJlIGluIHRoZSBjb3JlIGxpYnJhcnkgYXJlIGZvciBpbnRlcm5hbCB1c2UgYW5kIGNhbiBiZSBjaGFuZ2VkXG4gKiAgb3IgcmVtb3ZlZCBvdXRzaWRlIG9mIGEgbWFqb3IgcmVsZWFzZS4gV2UgcmVjb21tZW5kIGFnYWluc3QgY2FsbGluZyB0aGVtIGRpcmVjdGx5IGZyb20gY2xpZW50IGNvZGUuXG4gKi9cblxuaW1wb3J0ICogYXMgZHluYW1vZGIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiJztcblxuY29uc3QgRGVmYXVsdFRhYmxlUHJvcHM6IGR5bmFtb2RiLlRhYmxlUHJvcHMgPSB7XG4gIGJpbGxpbmdNb2RlOiBkeW5hbW9kYi5CaWxsaW5nTW9kZS5QQVlfUEVSX1JFUVVFU1QsXG4gIGVuY3J5cHRpb246IGR5bmFtb2RiLlRhYmxlRW5jcnlwdGlvbi5BV1NfTUFOQUdFRCxcbiAgcG9pbnRJblRpbWVSZWNvdmVyeTogdHJ1ZSxcbiAgcGFydGl0aW9uS2V5OiB7XG4gICAgbmFtZTogJ2lkJyxcbiAgICB0eXBlOiBkeW5hbW9kYi5BdHRyaWJ1dGVUeXBlLlNUUklOR1xuICB9XG59O1xuXG5jb25zdCBEZWZhdWx0VGFibGVXaXRoU3RyZWFtUHJvcHM6IGR5bmFtb2RiLlRhYmxlUHJvcHMgPSB7XG4gIGJpbGxpbmdNb2RlOiBkeW5hbW9kYi5CaWxsaW5nTW9kZS5QQVlfUEVSX1JFUVVFU1QsXG4gIGVuY3J5cHRpb246IGR5bmFtb2RiLlRhYmxlRW5jcnlwdGlvbi5BV1NfTUFOQUdFRCxcbiAgcG9pbnRJblRpbWVSZWNvdmVyeTogdHJ1ZSxcbiAgcGFydGl0aW9uS2V5OiB7XG4gICAgbmFtZTogJ2lkJyxcbiAgICB0eXBlOiBkeW5hbW9kYi5BdHRyaWJ1dGVUeXBlLlNUUklOR1xuICB9LFxuICBzdHJlYW06IGR5bmFtb2RiLlN0cmVhbVZpZXdUeXBlLk5FV19BTkRfT0xEX0lNQUdFU1xufTtcblxuZXhwb3J0IHsgRGVmYXVsdFRhYmxlUHJvcHMsIERlZmF1bHRUYWJsZVdpdGhTdHJlYW1Qcm9wcyB9OyJdfQ==
41
+ exports.defaultTableWithStreamProps = defaultTableWithStreamProps;
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1vZGItdGFibGUtZGVmYXVsdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkeW5hbW9kYi10YWJsZS1kZWZhdWx0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7OztBQUVIOzs7R0FHRztBQUVILHFEQUFxRDtBQUVyRCxNQUFNLGlCQUFpQixHQUF3QjtJQUM3QyxXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxlQUFlO0lBQ2pELFVBQVUsRUFBRSxRQUFRLENBQUMsZUFBZSxDQUFDLFdBQVc7SUFDaEQsbUJBQW1CLEVBQUUsSUFBSTtJQUN6QixZQUFZLEVBQUU7UUFDWixJQUFJLEVBQUUsSUFBSTtRQUNWLElBQUksRUFBRSxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU07S0FDcEM7Q0FDRixDQUFDO0FBYU8sOENBQWlCO0FBWDFCLE1BQU0sMkJBQTJCLEdBQXdCO0lBQ3ZELFdBQVcsRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDLGVBQWU7SUFDakQsVUFBVSxFQUFFLFFBQVEsQ0FBQyxlQUFlLENBQUMsV0FBVztJQUNoRCxtQkFBbUIsRUFBRSxJQUFJO0lBQ3pCLFlBQVksRUFBRTtRQUNaLElBQUksRUFBRSxJQUFJO1FBQ1YsSUFBSSxFQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTTtLQUNwQztJQUNELE1BQU0sRUFBRSxRQUFRLENBQUMsY0FBYyxDQUFDLGtCQUFrQjtDQUNuRCxDQUFDO0FBRTBCLGtFQUEyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qXG4gKiAgVGhlIGZ1bmN0aW9ucyBmb3VuZCBoZXJlIGluIHRoZSBjb3JlIGxpYnJhcnkgYXJlIGZvciBpbnRlcm5hbCB1c2UgYW5kIGNhbiBiZSBjaGFuZ2VkXG4gKiAgb3IgcmVtb3ZlZCBvdXRzaWRlIG9mIGEgbWFqb3IgcmVsZWFzZS4gV2UgcmVjb21tZW5kIGFnYWluc3QgY2FsbGluZyB0aGVtIGRpcmVjdGx5IGZyb20gY2xpZW50IGNvZGUuXG4gKi9cblxuaW1wb3J0ICogYXMgZHluYW1vZGIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiJztcblxuY29uc3QgZGVmYXVsdFRhYmxlUHJvcHM6IGR5bmFtb2RiLlRhYmxlUHJvcHMgPSB7XG4gIGJpbGxpbmdNb2RlOiBkeW5hbW9kYi5CaWxsaW5nTW9kZS5QQVlfUEVSX1JFUVVFU1QsXG4gIGVuY3J5cHRpb246IGR5bmFtb2RiLlRhYmxlRW5jcnlwdGlvbi5BV1NfTUFOQUdFRCxcbiAgcG9pbnRJblRpbWVSZWNvdmVyeTogdHJ1ZSxcbiAgcGFydGl0aW9uS2V5OiB7XG4gICAgbmFtZTogJ2lkJyxcbiAgICB0eXBlOiBkeW5hbW9kYi5BdHRyaWJ1dGVUeXBlLlNUUklOR1xuICB9XG59O1xuXG5jb25zdCBkZWZhdWx0VGFibGVXaXRoU3RyZWFtUHJvcHM6IGR5bmFtb2RiLlRhYmxlUHJvcHMgPSB7XG4gIGJpbGxpbmdNb2RlOiBkeW5hbW9kYi5CaWxsaW5nTW9kZS5QQVlfUEVSX1JFUVVFU1QsXG4gIGVuY3J5cHRpb246IGR5bmFtb2RiLlRhYmxlRW5jcnlwdGlvbi5BV1NfTUFOQUdFRCxcbiAgcG9pbnRJblRpbWVSZWNvdmVyeTogdHJ1ZSxcbiAgcGFydGl0aW9uS2V5OiB7XG4gICAgbmFtZTogJ2lkJyxcbiAgICB0eXBlOiBkeW5hbW9kYi5BdHRyaWJ1dGVUeXBlLlNUUklOR1xuICB9LFxuICBzdHJlYW06IGR5bmFtb2RiLlN0cmVhbVZpZXdUeXBlLk5FV19BTkRfT0xEX0lNQUdFU1xufTtcblxuZXhwb3J0IHsgZGVmYXVsdFRhYmxlUHJvcHMsIGRlZmF1bHRUYWJsZVdpdGhTdHJlYW1Qcm9wcyB9OyJdfQ==
@@ -35,7 +35,7 @@ function buildDynamoDBTable(scope, props) {
35
35
  return { tableInterface: props.existingTableInterface };
36
36
  }
37
37
  else {
38
- const consolidatedTableProps = (0, utils_1.consolidateProps)(dynamodb_table_defaults_1.DefaultTableProps, props.dynamoTableProps);
38
+ const consolidatedTableProps = (0, utils_1.consolidateProps)(dynamodb_table_defaults_1.defaultTableProps, props.dynamoTableProps);
39
39
  const newTable = new dynamodb.Table(scope, 'DynamoTable', consolidatedTableProps);
40
40
  // AWS Managed encryption keys is acceptable under published best practices
41
41
  // https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/best-practices-security-preventative.html
@@ -50,7 +50,7 @@ function buildDynamoDBTableWithStream(scope, props) {
50
50
  // Conditional DynamoDB Table creation
51
51
  if (!props.existingTableInterface) {
52
52
  // Set the default props for DynamoDB table
53
- const dynamoTableProps = (0, utils_1.consolidateProps)(dynamodb_table_defaults_1.DefaultTableWithStreamProps, props.dynamoTableProps);
53
+ const dynamoTableProps = (0, utils_1.consolidateProps)(dynamodb_table_defaults_1.defaultTableWithStreamProps, props.dynamoTableProps);
54
54
  const dynamoTable = new dynamodb.Table(scope, 'DynamoTable', dynamoTableProps);
55
55
  // AWS Managed encryption keys is acceptable under published best practices
56
56
  // https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/best-practices-security-preventative.html
@@ -92,4 +92,4 @@ function CheckDynamoDBProps(propsObject) {
92
92
  throw new Error(errorMessages);
93
93
  }
94
94
  }
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1vZGItdGFibGUtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZHluYW1vZGItdGFibGUtaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUE0REgsZ0RBZUM7QUFVRCxvRUFhQztBQUtELG9FQVFDO0FBUUQsZ0RBc0JDO0FBM0lEOzs7R0FHRztBQUVILHFEQUFxRDtBQUNyRCx1RUFBMkY7QUFDM0YsbUNBQXFFO0FBZ0RyRTs7R0FFRztBQUNILFNBQWdCLGtCQUFrQixDQUFDLEtBQWdCLEVBQUUsS0FBOEI7SUFFakYsc0NBQXNDO0lBQ3RDLElBQUksS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDM0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3pGLENBQUM7U0FBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sRUFBRSxjQUFjLEVBQUUsS0FBSyxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDMUQsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLHNCQUFzQixHQUFHLElBQUEsd0JBQWdCLEVBQUMsMkNBQWlCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDM0YsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztRQUNsRiwyRUFBMkU7UUFDM0UsNkdBQTZHO1FBQzdHLElBQUEsZ0NBQXdCLEVBQUMsUUFBUSxFQUFFLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0FBQ0gsQ0FBQztBQU9EOztHQUVHO0FBQ0gsU0FBZ0IsNEJBQTRCLENBQUMsS0FBZ0IsRUFBRSxLQUF3QztJQUNyRyxzQ0FBc0M7SUFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ2xDLDJDQUEyQztRQUMzQyxNQUFNLGdCQUFnQixHQUFHLElBQUEsd0JBQWdCLEVBQUMscURBQTJCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDL0YsTUFBTSxXQUFXLEdBQW1CLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDL0YsMkVBQTJFO1FBQzNFLDZHQUE2RztRQUM3RyxJQUFBLGdDQUF3QixFQUFDLFdBQVcsRUFBRSxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQztRQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDbkUsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLEVBQUUsY0FBYyxFQUFFLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQzFELENBQUM7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQiw0QkFBNEIsQ0FBQyxLQUFxQjtJQUNoRSxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQXNCLENBQUM7SUFDdkUsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQWtELENBQUM7SUFDOUUsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQVksRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sS0FBSyxNQUFNLENBQUMsQ0FBQztJQUNsRixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDRCxPQUFPLFlBQVksQ0FBQyxhQUFhLENBQUM7QUFDcEMsQ0FBQztBQVFELFNBQWdCLGtCQUFrQixDQUFDLFdBQWdDO0lBQ2pFLElBQUksYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUN2QixJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFFdkIsSUFBSSxXQUFXLENBQUMsZ0JBQWdCLElBQUksV0FBVyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDakUsYUFBYSxJQUFJLDhFQUE4RSxDQUFDO1FBQ2hHLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksV0FBVyxDQUFDLGdCQUFnQixJQUFJLFdBQVcsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3ZFLGFBQWEsSUFBSSxvRkFBb0YsQ0FBQztRQUN0RyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLFdBQVcsQ0FBQyxnQkFBZ0IsSUFBSSxXQUFXLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUN2RSxhQUFhLElBQUksb0ZBQW9GLENBQUM7UUFDdEcsVUFBVSxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDakMsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKlxuICogIFRoZSBmdW5jdGlvbnMgZm91bmQgaGVyZSBpbiB0aGUgY29yZSBsaWJyYXJ5IGFyZSBmb3IgaW50ZXJuYWwgdXNlIGFuZCBjYW4gYmUgY2hhbmdlZFxuICogIG9yIHJlbW92ZWQgb3V0c2lkZSBvZiBhIG1ham9yIHJlbGVhc2UuIFdlIHJlY29tbWVuZCBhZ2FpbnN0IGNhbGxpbmcgdGhlbSBkaXJlY3RseSBmcm9tIGNsaWVudCBjb2RlLlxuICovXG5cbmltcG9ydCAqIGFzIGR5bmFtb2RiIGZyb20gJ2F3cy1jZGstbGliL2F3cy1keW5hbW9kYic7XG5pbXBvcnQgeyBEZWZhdWx0VGFibGVQcm9wcywgRGVmYXVsdFRhYmxlV2l0aFN0cmVhbVByb3BzIH0gZnJvbSAnLi9keW5hbW9kYi10YWJsZS1kZWZhdWx0cyc7XG5pbXBvcnQgeyBhZGRDZm5HdWFyZFN1cHByZXNzUnVsZXMsIGNvbnNvbGlkYXRlUHJvcHMgfSBmcm9tICcuL3V0aWxzJztcbi8vIE5vdGU6IFRvIGVuc3VyZSBDREt2MiBjb21wYXRpYmlsaXR5LCBrZWVwIHRoZSBpbXBvcnQgc3RhdGVtZW50IGZvciBDb25zdHJ1Y3Qgc2VwYXJhdGVcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkRHluYW1vREJUYWJsZVByb3BzIHtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHVzZXIgcHJvdmlkZWQgcHJvcHMgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgcHJvcHNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBEZWZhdWx0IHByb3BzIGFyZSB1c2VkXG4gICAqL1xuICByZWFkb25seSBkeW5hbW9UYWJsZVByb3BzPzogZHluYW1vZGIuVGFibGVQcm9wcyxcbiAgLyoqXG4gICAqIEV4aXN0aW5nIGluc3RhbmNlIG9mIGR5bmFtb2RiIHRhYmxlIG9iamVjdC5cbiAgICogUHJvdmlkaW5nIGJvdGggdGhpcyBhbmQgYGR5bmFtb1RhYmxlUHJvcHNgIHdpbGwgY2F1c2UgYW4gZXJyb3IuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgZXhpc3RpbmdUYWJsZU9iaj86IGR5bmFtb2RiLlRhYmxlXG4gIC8qKlxuICAgKiBFeGlzdGluZyBpbnN0YW5jZSBvZiBkeW5hbW9kYiBpbnRlcmZhY2UuXG4gICAqIFByb3ZpZGluZyBib3RoIHRoaXMgYW5kIGBkeW5hbW9UYWJsZVByb3BzYCB3aWxsIGNhdXNlIGFuIGVycm9yLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nVGFibGVJbnRlcmZhY2U/OiBkeW5hbW9kYi5JVGFibGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZER5bmFtb0RCVGFibGVXaXRoU3RyZWFtUHJvcHMge1xuICAvKipcbiAgICogT3B0aW9uYWwgdXNlciBwcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIERlZmF1bHQgcHJvcHMgYXJlIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IGR5bmFtb1RhYmxlUHJvcHM/OiBkeW5hbW9kYi5UYWJsZVByb3BzLFxuICAvKipcbiAgICogRXhpc3RpbmcgaW5zdGFuY2Ugb2YgZHluYW1vZGIgdGFibGUgb2JqZWN0LlxuICAgKiBQcm92aWRpbmcgYm90aCB0aGlzIGFuZCBgZHluYW1vVGFibGVQcm9wc2Agd2lsbCBjYXVzZSBhbiBlcnJvci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBleGlzdGluZ1RhYmxlSW50ZXJmYWNlPzogZHluYW1vZGIuSVRhYmxlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGREeW5hbW9EQlRhYmxlUmVzcG9uc2Uge1xuICByZWFkb25seSB0YWJsZUludGVyZmFjZTogZHluYW1vZGIuSVRhYmxlLFxuICByZWFkb25seSB0YWJsZU9iamVjdD86IGR5bmFtb2RiLlRhYmxlLFxufVxuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZER5bmFtb0RCVGFibGUoc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IEJ1aWxkRHluYW1vREJUYWJsZVByb3BzKTogQnVpbGREeW5hbW9EQlRhYmxlUmVzcG9uc2Uge1xuXG4gIC8vIENvbmRpdGlvbmFsIER5bmFtb0RCIFRhYmxlIGNyZWF0aW9uXG4gIGlmIChwcm9wcy5leGlzdGluZ1RhYmxlT2JqKSB7XG4gICAgcmV0dXJuIHsgdGFibGVJbnRlcmZhY2U6IHByb3BzLmV4aXN0aW5nVGFibGVPYmosIHRhYmxlT2JqZWN0OiBwcm9wcy5leGlzdGluZ1RhYmxlT2JqIH07XG4gIH0gZWxzZSBpZiAocHJvcHMuZXhpc3RpbmdUYWJsZUludGVyZmFjZSkge1xuICAgIHJldHVybiB7IHRhYmxlSW50ZXJmYWNlOiBwcm9wcy5leGlzdGluZ1RhYmxlSW50ZXJmYWNlIH07XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgY29uc29saWRhdGVkVGFibGVQcm9wcyA9IGNvbnNvbGlkYXRlUHJvcHMoRGVmYXVsdFRhYmxlUHJvcHMsIHByb3BzLmR5bmFtb1RhYmxlUHJvcHMpO1xuICAgIGNvbnN0IG5ld1RhYmxlID0gbmV3IGR5bmFtb2RiLlRhYmxlKHNjb3BlLCAnRHluYW1vVGFibGUnLCBjb25zb2xpZGF0ZWRUYWJsZVByb3BzKTtcbiAgICAvLyBBV1MgTWFuYWdlZCBlbmNyeXB0aW9uIGtleXMgaXMgYWNjZXB0YWJsZSB1bmRlciBwdWJsaXNoZWQgYmVzdCBwcmFjdGljZXNcbiAgICAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYW1hem9uZHluYW1vZGIvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL2Jlc3QtcHJhY3RpY2VzLXNlY3VyaXR5LXByZXZlbnRhdGl2ZS5odG1sXG4gICAgYWRkQ2ZuR3VhcmRTdXBwcmVzc1J1bGVzKG5ld1RhYmxlLCBbXCJEWU5BTU9EQl9UQUJMRV9FTkNSWVBURURfS01TXCJdKTtcbiAgICByZXR1cm4geyB0YWJsZUludGVyZmFjZTogbmV3VGFibGUsIHRhYmxlT2JqZWN0OiBuZXdUYWJsZSB9O1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGREeW5hbW9EQlRhYmxlV2l0aFN0cmVhbVJlc3BvbnNlIHtcbiAgcmVhZG9ubHkgdGFibGVJbnRlcmZhY2U6IGR5bmFtb2RiLklUYWJsZSxcbiAgcmVhZG9ubHkgdGFibGVPYmplY3Q/OiBkeW5hbW9kYi5UYWJsZSxcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGREeW5hbW9EQlRhYmxlV2l0aFN0cmVhbShzY29wZTogQ29uc3RydWN0LCBwcm9wczogQnVpbGREeW5hbW9EQlRhYmxlV2l0aFN0cmVhbVByb3BzKTogQnVpbGREeW5hbW9EQlRhYmxlV2l0aFN0cmVhbVJlc3BvbnNlIHtcbiAgLy8gQ29uZGl0aW9uYWwgRHluYW1vREIgVGFibGUgY3JlYXRpb25cbiAgaWYgKCFwcm9wcy5leGlzdGluZ1RhYmxlSW50ZXJmYWNlKSB7XG4gICAgLy8gU2V0IHRoZSBkZWZhdWx0IHByb3BzIGZvciBEeW5hbW9EQiB0YWJsZVxuICAgIGNvbnN0IGR5bmFtb1RhYmxlUHJvcHMgPSBjb25zb2xpZGF0ZVByb3BzKERlZmF1bHRUYWJsZVdpdGhTdHJlYW1Qcm9wcywgcHJvcHMuZHluYW1vVGFibGVQcm9wcyk7XG4gICAgY29uc3QgZHluYW1vVGFibGU6IGR5bmFtb2RiLlRhYmxlID0gbmV3IGR5bmFtb2RiLlRhYmxlKHNjb3BlLCAnRHluYW1vVGFibGUnLCBkeW5hbW9UYWJsZVByb3BzKTtcbiAgICAvLyBBV1MgTWFuYWdlZCBlbmNyeXB0aW9uIGtleXMgaXMgYWNjZXB0YWJsZSB1bmRlciBwdWJsaXNoZWQgYmVzdCBwcmFjdGljZXNcbiAgICAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYW1hem9uZHluYW1vZGIvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL2Jlc3QtcHJhY3RpY2VzLXNlY3VyaXR5LXByZXZlbnRhdGl2ZS5odG1sXG4gICAgYWRkQ2ZuR3VhcmRTdXBwcmVzc1J1bGVzKGR5bmFtb1RhYmxlLCBbXCJEWU5BTU9EQl9UQUJMRV9FTkNSWVBURURfS01TXCJdKTtcbiAgICByZXR1cm4geyB0YWJsZUludGVyZmFjZTogZHluYW1vVGFibGUsIHRhYmxlT2JqZWN0OiBkeW5hbW9UYWJsZSB9O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB7IHRhYmxlSW50ZXJmYWNlOiBwcm9wcy5leGlzdGluZ1RhYmxlSW50ZXJmYWNlIH07XG4gIH1cbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGFydGl0aW9uS2V5TmFtZUZyb21UYWJsZSh0YWJsZTogZHluYW1vZGIuVGFibGUpOiBzdHJpbmcge1xuICBjb25zdCBjZm5UYWJsZSA9IHRhYmxlLm5vZGUuZmluZENoaWxkKCdSZXNvdXJjZScpIGFzIGR5bmFtb2RiLkNmblRhYmxlO1xuICBjb25zdCBrZXlTY2hlbWEgPSBjZm5UYWJsZS5rZXlTY2hlbWEgYXMgZHluYW1vZGIuQ2ZuVGFibGUuS2V5U2NoZW1hUHJvcGVydHlbXTtcbiAgY29uc3QgcGFydGl0aW9uS2V5ID0ga2V5U2NoZW1hLmZpbmQoKGtleVBhcnQ6IGFueSkgPT4ga2V5UGFydC5rZXlUeXBlID09PSAnSEFTSCcpO1xuICBpZiAoIXBhcnRpdGlvbktleSkge1xuICAgIHRocm93IG5ldyBFcnJvcignUGFydGl0aW9uIGtleSBmb3IgdGFibGUgbm90IGRlZmluZWQnKTtcbiAgfVxuICByZXR1cm4gcGFydGl0aW9uS2V5LmF0dHJpYnV0ZU5hbWU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1vREJQcm9wcyB7XG4gIHJlYWRvbmx5IGR5bmFtb1RhYmxlUHJvcHM/OiBkeW5hbW9kYi5UYWJsZVByb3BzLFxuICByZWFkb25seSBleGlzdGluZ1RhYmxlT2JqPzogZHluYW1vZGIuVGFibGUsXG4gIHJlYWRvbmx5IGV4aXN0aW5nVGFibGVJbnRlcmZhY2U/OiBkeW5hbW9kYi5JVGFibGUsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDaGVja0R5bmFtb0RCUHJvcHMocHJvcHNPYmplY3Q6IER5bmFtb0RCUHJvcHMgfCBhbnkpIHtcbiAgbGV0IGVycm9yTWVzc2FnZXMgPSAnJztcbiAgbGV0IGVycm9yRm91bmQgPSBmYWxzZTtcblxuICBpZiAocHJvcHNPYmplY3QuZHluYW1vVGFibGVQcm9wcyAmJiBwcm9wc09iamVjdC5leGlzdGluZ1RhYmxlT2JqKSB7XG4gICAgZXJyb3JNZXNzYWdlcyArPSAnRXJyb3IgLSBFaXRoZXIgcHJvdmlkZSBleGlzdGluZ1RhYmxlT2JqIG9yIGR5bmFtb1RhYmxlUHJvcHMsIGJ1dCBub3QgYm90aC5cXG4nO1xuICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICB9XG5cbiAgaWYgKHByb3BzT2JqZWN0LmR5bmFtb1RhYmxlUHJvcHMgJiYgcHJvcHNPYmplY3QuZXhpc3RpbmdUYWJsZUludGVyZmFjZSkge1xuICAgIGVycm9yTWVzc2FnZXMgKz0gJ0Vycm9yIC0gRWl0aGVyIHByb3ZpZGUgZXhpc3RpbmdUYWJsZUludGVyZmFjZSBvciBkeW5hbW9UYWJsZVByb3BzLCBidXQgbm90IGJvdGguXFxuJztcbiAgICBlcnJvckZvdW5kID0gdHJ1ZTtcbiAgfVxuXG4gIGlmIChwcm9wc09iamVjdC5leGlzdGluZ1RhYmxlT2JqICYmIHByb3BzT2JqZWN0LmV4aXN0aW5nVGFibGVJbnRlcmZhY2UpIHtcbiAgICBlcnJvck1lc3NhZ2VzICs9ICdFcnJvciAtIEVpdGhlciBwcm92aWRlIGV4aXN0aW5nVGFibGVJbnRlcmZhY2Ugb3IgZXhpc3RpbmdUYWJsZU9iaiwgYnV0IG5vdCBib3RoLlxcbic7XG4gICAgZXJyb3JGb3VuZCA9IHRydWU7XG4gIH1cblxuICBpZiAoZXJyb3JGb3VuZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihlcnJvck1lc3NhZ2VzKTtcbiAgfVxufVxuIl19
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1vZGItdGFibGUtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZHluYW1vZGItdGFibGUtaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUE0REgsZ0RBZUM7QUFVRCxvRUFhQztBQUtELG9FQVFDO0FBUUQsZ0RBc0JDO0FBM0lEOzs7R0FHRztBQUVILHFEQUFxRDtBQUNyRCx1RUFBMkY7QUFDM0YsbUNBQXFFO0FBZ0RyRTs7R0FFRztBQUNILFNBQWdCLGtCQUFrQixDQUFDLEtBQWdCLEVBQUUsS0FBOEI7SUFFakYsc0NBQXNDO0lBQ3RDLElBQUksS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDM0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3pGLENBQUM7U0FBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sRUFBRSxjQUFjLEVBQUUsS0FBSyxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDMUQsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLHNCQUFzQixHQUFHLElBQUEsd0JBQWdCLEVBQUMsMkNBQWlCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDM0YsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztRQUNsRiwyRUFBMkU7UUFDM0UsNkdBQTZHO1FBQzdHLElBQUEsZ0NBQXdCLEVBQUMsUUFBUSxFQUFFLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0FBQ0gsQ0FBQztBQU9EOztHQUVHO0FBQ0gsU0FBZ0IsNEJBQTRCLENBQUMsS0FBZ0IsRUFBRSxLQUF3QztJQUNyRyxzQ0FBc0M7SUFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ2xDLDJDQUEyQztRQUMzQyxNQUFNLGdCQUFnQixHQUFHLElBQUEsd0JBQWdCLEVBQUMscURBQTJCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDL0YsTUFBTSxXQUFXLEdBQW1CLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDL0YsMkVBQTJFO1FBQzNFLDZHQUE2RztRQUM3RyxJQUFBLGdDQUF3QixFQUFDLFdBQVcsRUFBRSxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQztRQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDbkUsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLEVBQUUsY0FBYyxFQUFFLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQzFELENBQUM7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQiw0QkFBNEIsQ0FBQyxLQUFxQjtJQUNoRSxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQXNCLENBQUM7SUFDdkUsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQWtELENBQUM7SUFDOUUsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQVksRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sS0FBSyxNQUFNLENBQUMsQ0FBQztJQUNsRixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDRCxPQUFPLFlBQVksQ0FBQyxhQUFhLENBQUM7QUFDcEMsQ0FBQztBQVFELFNBQWdCLGtCQUFrQixDQUFDLFdBQWdDO0lBQ2pFLElBQUksYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUN2QixJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFFdkIsSUFBSSxXQUFXLENBQUMsZ0JBQWdCLElBQUksV0FBVyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDakUsYUFBYSxJQUFJLDhFQUE4RSxDQUFDO1FBQ2hHLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksV0FBVyxDQUFDLGdCQUFnQixJQUFJLFdBQVcsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3ZFLGFBQWEsSUFBSSxvRkFBb0YsQ0FBQztRQUN0RyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLFdBQVcsQ0FBQyxnQkFBZ0IsSUFBSSxXQUFXLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUN2RSxhQUFhLElBQUksb0ZBQW9GLENBQUM7UUFDdEcsVUFBVSxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDakMsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKlxuICogIFRoZSBmdW5jdGlvbnMgZm91bmQgaGVyZSBpbiB0aGUgY29yZSBsaWJyYXJ5IGFyZSBmb3IgaW50ZXJuYWwgdXNlIGFuZCBjYW4gYmUgY2hhbmdlZFxuICogIG9yIHJlbW92ZWQgb3V0c2lkZSBvZiBhIG1ham9yIHJlbGVhc2UuIFdlIHJlY29tbWVuZCBhZ2FpbnN0IGNhbGxpbmcgdGhlbSBkaXJlY3RseSBmcm9tIGNsaWVudCBjb2RlLlxuICovXG5cbmltcG9ydCAqIGFzIGR5bmFtb2RiIGZyb20gJ2F3cy1jZGstbGliL2F3cy1keW5hbW9kYic7XG5pbXBvcnQgeyBkZWZhdWx0VGFibGVQcm9wcywgZGVmYXVsdFRhYmxlV2l0aFN0cmVhbVByb3BzIH0gZnJvbSAnLi9keW5hbW9kYi10YWJsZS1kZWZhdWx0cyc7XG5pbXBvcnQgeyBhZGRDZm5HdWFyZFN1cHByZXNzUnVsZXMsIGNvbnNvbGlkYXRlUHJvcHMgfSBmcm9tICcuL3V0aWxzJztcbi8vIE5vdGU6IFRvIGVuc3VyZSBDREt2MiBjb21wYXRpYmlsaXR5LCBrZWVwIHRoZSBpbXBvcnQgc3RhdGVtZW50IGZvciBDb25zdHJ1Y3Qgc2VwYXJhdGVcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkRHluYW1vREJUYWJsZVByb3BzIHtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHVzZXIgcHJvdmlkZWQgcHJvcHMgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgcHJvcHNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBEZWZhdWx0IHByb3BzIGFyZSB1c2VkXG4gICAqL1xuICByZWFkb25seSBkeW5hbW9UYWJsZVByb3BzPzogZHluYW1vZGIuVGFibGVQcm9wcyxcbiAgLyoqXG4gICAqIEV4aXN0aW5nIGluc3RhbmNlIG9mIGR5bmFtb2RiIHRhYmxlIG9iamVjdC5cbiAgICogUHJvdmlkaW5nIGJvdGggdGhpcyBhbmQgYGR5bmFtb1RhYmxlUHJvcHNgIHdpbGwgY2F1c2UgYW4gZXJyb3IuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgZXhpc3RpbmdUYWJsZU9iaj86IGR5bmFtb2RiLlRhYmxlXG4gIC8qKlxuICAgKiBFeGlzdGluZyBpbnN0YW5jZSBvZiBkeW5hbW9kYiBpbnRlcmZhY2UuXG4gICAqIFByb3ZpZGluZyBib3RoIHRoaXMgYW5kIGBkeW5hbW9UYWJsZVByb3BzYCB3aWxsIGNhdXNlIGFuIGVycm9yLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nVGFibGVJbnRlcmZhY2U/OiBkeW5hbW9kYi5JVGFibGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZER5bmFtb0RCVGFibGVXaXRoU3RyZWFtUHJvcHMge1xuICAvKipcbiAgICogT3B0aW9uYWwgdXNlciBwcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIERlZmF1bHQgcHJvcHMgYXJlIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IGR5bmFtb1RhYmxlUHJvcHM/OiBkeW5hbW9kYi5UYWJsZVByb3BzLFxuICAvKipcbiAgICogRXhpc3RpbmcgaW5zdGFuY2Ugb2YgZHluYW1vZGIgdGFibGUgb2JqZWN0LlxuICAgKiBQcm92aWRpbmcgYm90aCB0aGlzIGFuZCBgZHluYW1vVGFibGVQcm9wc2Agd2lsbCBjYXVzZSBhbiBlcnJvci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBleGlzdGluZ1RhYmxlSW50ZXJmYWNlPzogZHluYW1vZGIuSVRhYmxlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGREeW5hbW9EQlRhYmxlUmVzcG9uc2Uge1xuICByZWFkb25seSB0YWJsZUludGVyZmFjZTogZHluYW1vZGIuSVRhYmxlLFxuICByZWFkb25seSB0YWJsZU9iamVjdD86IGR5bmFtb2RiLlRhYmxlLFxufVxuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZER5bmFtb0RCVGFibGUoc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IEJ1aWxkRHluYW1vREJUYWJsZVByb3BzKTogQnVpbGREeW5hbW9EQlRhYmxlUmVzcG9uc2Uge1xuXG4gIC8vIENvbmRpdGlvbmFsIER5bmFtb0RCIFRhYmxlIGNyZWF0aW9uXG4gIGlmIChwcm9wcy5leGlzdGluZ1RhYmxlT2JqKSB7XG4gICAgcmV0dXJuIHsgdGFibGVJbnRlcmZhY2U6IHByb3BzLmV4aXN0aW5nVGFibGVPYmosIHRhYmxlT2JqZWN0OiBwcm9wcy5leGlzdGluZ1RhYmxlT2JqIH07XG4gIH0gZWxzZSBpZiAocHJvcHMuZXhpc3RpbmdUYWJsZUludGVyZmFjZSkge1xuICAgIHJldHVybiB7IHRhYmxlSW50ZXJmYWNlOiBwcm9wcy5leGlzdGluZ1RhYmxlSW50ZXJmYWNlIH07XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgY29uc29saWRhdGVkVGFibGVQcm9wcyA9IGNvbnNvbGlkYXRlUHJvcHMoZGVmYXVsdFRhYmxlUHJvcHMsIHByb3BzLmR5bmFtb1RhYmxlUHJvcHMpO1xuICAgIGNvbnN0IG5ld1RhYmxlID0gbmV3IGR5bmFtb2RiLlRhYmxlKHNjb3BlLCAnRHluYW1vVGFibGUnLCBjb25zb2xpZGF0ZWRUYWJsZVByb3BzKTtcbiAgICAvLyBBV1MgTWFuYWdlZCBlbmNyeXB0aW9uIGtleXMgaXMgYWNjZXB0YWJsZSB1bmRlciBwdWJsaXNoZWQgYmVzdCBwcmFjdGljZXNcbiAgICAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYW1hem9uZHluYW1vZGIvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL2Jlc3QtcHJhY3RpY2VzLXNlY3VyaXR5LXByZXZlbnRhdGl2ZS5odG1sXG4gICAgYWRkQ2ZuR3VhcmRTdXBwcmVzc1J1bGVzKG5ld1RhYmxlLCBbXCJEWU5BTU9EQl9UQUJMRV9FTkNSWVBURURfS01TXCJdKTtcbiAgICByZXR1cm4geyB0YWJsZUludGVyZmFjZTogbmV3VGFibGUsIHRhYmxlT2JqZWN0OiBuZXdUYWJsZSB9O1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGREeW5hbW9EQlRhYmxlV2l0aFN0cmVhbVJlc3BvbnNlIHtcbiAgcmVhZG9ubHkgdGFibGVJbnRlcmZhY2U6IGR5bmFtb2RiLklUYWJsZSxcbiAgcmVhZG9ubHkgdGFibGVPYmplY3Q/OiBkeW5hbW9kYi5UYWJsZSxcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGREeW5hbW9EQlRhYmxlV2l0aFN0cmVhbShzY29wZTogQ29uc3RydWN0LCBwcm9wczogQnVpbGREeW5hbW9EQlRhYmxlV2l0aFN0cmVhbVByb3BzKTogQnVpbGREeW5hbW9EQlRhYmxlV2l0aFN0cmVhbVJlc3BvbnNlIHtcbiAgLy8gQ29uZGl0aW9uYWwgRHluYW1vREIgVGFibGUgY3JlYXRpb25cbiAgaWYgKCFwcm9wcy5leGlzdGluZ1RhYmxlSW50ZXJmYWNlKSB7XG4gICAgLy8gU2V0IHRoZSBkZWZhdWx0IHByb3BzIGZvciBEeW5hbW9EQiB0YWJsZVxuICAgIGNvbnN0IGR5bmFtb1RhYmxlUHJvcHMgPSBjb25zb2xpZGF0ZVByb3BzKGRlZmF1bHRUYWJsZVdpdGhTdHJlYW1Qcm9wcywgcHJvcHMuZHluYW1vVGFibGVQcm9wcyk7XG4gICAgY29uc3QgZHluYW1vVGFibGU6IGR5bmFtb2RiLlRhYmxlID0gbmV3IGR5bmFtb2RiLlRhYmxlKHNjb3BlLCAnRHluYW1vVGFibGUnLCBkeW5hbW9UYWJsZVByb3BzKTtcbiAgICAvLyBBV1MgTWFuYWdlZCBlbmNyeXB0aW9uIGtleXMgaXMgYWNjZXB0YWJsZSB1bmRlciBwdWJsaXNoZWQgYmVzdCBwcmFjdGljZXNcbiAgICAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYW1hem9uZHluYW1vZGIvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL2Jlc3QtcHJhY3RpY2VzLXNlY3VyaXR5LXByZXZlbnRhdGl2ZS5odG1sXG4gICAgYWRkQ2ZuR3VhcmRTdXBwcmVzc1J1bGVzKGR5bmFtb1RhYmxlLCBbXCJEWU5BTU9EQl9UQUJMRV9FTkNSWVBURURfS01TXCJdKTtcbiAgICByZXR1cm4geyB0YWJsZUludGVyZmFjZTogZHluYW1vVGFibGUsIHRhYmxlT2JqZWN0OiBkeW5hbW9UYWJsZSB9O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB7IHRhYmxlSW50ZXJmYWNlOiBwcm9wcy5leGlzdGluZ1RhYmxlSW50ZXJmYWNlIH07XG4gIH1cbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGFydGl0aW9uS2V5TmFtZUZyb21UYWJsZSh0YWJsZTogZHluYW1vZGIuVGFibGUpOiBzdHJpbmcge1xuICBjb25zdCBjZm5UYWJsZSA9IHRhYmxlLm5vZGUuZmluZENoaWxkKCdSZXNvdXJjZScpIGFzIGR5bmFtb2RiLkNmblRhYmxlO1xuICBjb25zdCBrZXlTY2hlbWEgPSBjZm5UYWJsZS5rZXlTY2hlbWEgYXMgZHluYW1vZGIuQ2ZuVGFibGUuS2V5U2NoZW1hUHJvcGVydHlbXTtcbiAgY29uc3QgcGFydGl0aW9uS2V5ID0ga2V5U2NoZW1hLmZpbmQoKGtleVBhcnQ6IGFueSkgPT4ga2V5UGFydC5rZXlUeXBlID09PSAnSEFTSCcpO1xuICBpZiAoIXBhcnRpdGlvbktleSkge1xuICAgIHRocm93IG5ldyBFcnJvcignUGFydGl0aW9uIGtleSBmb3IgdGFibGUgbm90IGRlZmluZWQnKTtcbiAgfVxuICByZXR1cm4gcGFydGl0aW9uS2V5LmF0dHJpYnV0ZU5hbWU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1vREJQcm9wcyB7XG4gIHJlYWRvbmx5IGR5bmFtb1RhYmxlUHJvcHM/OiBkeW5hbW9kYi5UYWJsZVByb3BzLFxuICByZWFkb25seSBleGlzdGluZ1RhYmxlT2JqPzogZHluYW1vZGIuVGFibGUsXG4gIHJlYWRvbmx5IGV4aXN0aW5nVGFibGVJbnRlcmZhY2U/OiBkeW5hbW9kYi5JVGFibGUsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDaGVja0R5bmFtb0RCUHJvcHMocHJvcHNPYmplY3Q6IER5bmFtb0RCUHJvcHMgfCBhbnkpIHtcbiAgbGV0IGVycm9yTWVzc2FnZXMgPSAnJztcbiAgbGV0IGVycm9yRm91bmQgPSBmYWxzZTtcblxuICBpZiAocHJvcHNPYmplY3QuZHluYW1vVGFibGVQcm9wcyAmJiBwcm9wc09iamVjdC5leGlzdGluZ1RhYmxlT2JqKSB7XG4gICAgZXJyb3JNZXNzYWdlcyArPSAnRXJyb3IgLSBFaXRoZXIgcHJvdmlkZSBleGlzdGluZ1RhYmxlT2JqIG9yIGR5bmFtb1RhYmxlUHJvcHMsIGJ1dCBub3QgYm90aC5cXG4nO1xuICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICB9XG5cbiAgaWYgKHByb3BzT2JqZWN0LmR5bmFtb1RhYmxlUHJvcHMgJiYgcHJvcHNPYmplY3QuZXhpc3RpbmdUYWJsZUludGVyZmFjZSkge1xuICAgIGVycm9yTWVzc2FnZXMgKz0gJ0Vycm9yIC0gRWl0aGVyIHByb3ZpZGUgZXhpc3RpbmdUYWJsZUludGVyZmFjZSBvciBkeW5hbW9UYWJsZVByb3BzLCBidXQgbm90IGJvdGguXFxuJztcbiAgICBlcnJvckZvdW5kID0gdHJ1ZTtcbiAgfVxuXG4gIGlmIChwcm9wc09iamVjdC5leGlzdGluZ1RhYmxlT2JqICYmIHByb3BzT2JqZWN0LmV4aXN0aW5nVGFibGVJbnRlcmZhY2UpIHtcbiAgICBlcnJvck1lc3NhZ2VzICs9ICdFcnJvciAtIEVpdGhlciBwcm92aWRlIGV4aXN0aW5nVGFibGVJbnRlcmZhY2Ugb3IgZXhpc3RpbmdUYWJsZU9iaiwgYnV0IG5vdCBib3RoLlxcbic7XG4gICAgZXJyb3JGb3VuZCA9IHRydWU7XG4gIH1cblxuICBpZiAoZXJyb3JGb3VuZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihlcnJvck1lc3NhZ2VzKTtcbiAgfVxufVxuIl19