@aws-cdk/aws-msk-alpha 2.3.0-alpha.0 → 2.4.0-alpha.0

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.
package/.jsii CHANGED
@@ -8,7 +8,7 @@
8
8
  "url": "https://aws.amazon.com"
9
9
  },
10
10
  "dependencies": {
11
- "aws-cdk-lib": "^2.3.0",
11
+ "aws-cdk-lib": "^2.4.0",
12
12
  "constructs": "^10.0.0"
13
13
  },
14
14
  "dependencyClosure": {
@@ -2855,7 +2855,7 @@
2855
2855
  "stability": "experimental"
2856
2856
  },
2857
2857
  "homepage": "https://github.com/aws/aws-cdk",
2858
- "jsiiVersion": "1.47.0 (build 86d2c33)",
2858
+ "jsiiVersion": "1.50.0 (build d1830a4)",
2859
2859
  "keywords": [
2860
2860
  "aws",
2861
2861
  "cdk",
@@ -2918,7 +2918,7 @@
2918
2918
  "docs": {
2919
2919
  "stability": "experimental",
2920
2920
  "summary": "Configuration details related to broker logs.",
2921
- "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as msk_alpha from '@aws-cdk/aws-msk-alpha';\nimport { aws_logs as logs } from 'aws-cdk-lib';\nimport { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\ndeclare const logGroup: logs.LogGroup;\n\nconst brokerLogging: msk_alpha.BrokerLogging = {\n cloudwatchLogGroup: logGroup,\n firehoseDeliveryStreamName: 'firehoseDeliveryStreamName',\n s3: {\n bucket: bucket,\n\n // the properties below are optional\n prefix: 'prefix',\n },\n};",
2921
+ "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as msk_alpha from '@aws-cdk/aws-msk-alpha';\nimport { aws_logs as logs } from 'aws-cdk-lib';\nimport { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\ndeclare const logGroup: logs.LogGroup;\nconst brokerLogging: msk_alpha.BrokerLogging = {\n cloudwatchLogGroup: logGroup,\n firehoseDeliveryStreamName: 'firehoseDeliveryStreamName',\n s3: {\n bucket: bucket,\n\n // the properties below are optional\n prefix: 'prefix',\n },\n};",
2922
2922
  "custom": {
2923
2923
  "exampleMetadata": "fixture=_generated"
2924
2924
  }
@@ -2991,6 +2991,9 @@
2991
2991
  "@aws-cdk/aws-msk-alpha.ClientAuthentication": {
2992
2992
  "assembly": "@aws-cdk/aws-msk-alpha",
2993
2993
  "docs": {
2994
+ "custom": {
2995
+ "exampleMetadata": "infused"
2996
+ },
2994
2997
  "example": "import * as msk from \"@aws-cdk/aws-msk-alpha\"\n\nconst cluster = new msk.cluster(this, \"cluster\", {\n ...\n encryptionInTransit: {\n clientBroker: msk.ClientBrokerEncryption.TLS,\n },\n clientAuthentication: msk.ClientAuthentication.sasl({\n scram: true,\n }),\n})",
2995
2998
  "stability": "experimental",
2996
2999
  "summary": "Configuration properties for client authentication."
@@ -3093,6 +3096,9 @@
3093
3096
  "@aws-cdk/aws-msk-alpha.ClientBrokerEncryption": {
3094
3097
  "assembly": "@aws-cdk/aws-msk-alpha",
3095
3098
  "docs": {
3099
+ "custom": {
3100
+ "exampleMetadata": "infused"
3101
+ },
3096
3102
  "example": "import * as msk from \"@aws-cdk/aws-msk-alpha\"\n\nconst cluster = new msk.cluster(this, \"cluster\", {\n ...\n encryptionInTransit: {\n clientBroker: msk.ClientBrokerEncryption.TLS,\n },\n clientAuthentication: msk.ClientAuthentication.sasl({\n scram: true,\n }),\n})",
3097
3103
  "stability": "experimental",
3098
3104
  "summary": "Indicates the encryption setting for data in transit between clients and brokers."
@@ -3107,23 +3113,23 @@
3107
3113
  {
3108
3114
  "docs": {
3109
3115
  "stability": "experimental",
3110
- "summary": "PLAINTEXT means that client-broker communication is enabled in plaintext only."
3116
+ "summary": "TLS means that client-broker communication is enabled with TLS only."
3111
3117
  },
3112
- "name": "PLAINTEXT"
3118
+ "name": "TLS"
3113
3119
  },
3114
3120
  {
3115
3121
  "docs": {
3116
3122
  "stability": "experimental",
3117
- "summary": "TLS means that client-broker communication is enabled with TLS only."
3123
+ "summary": "TLS_PLAINTEXT means that client-broker communication is enabled for both TLS-encrypted, as well as plaintext data."
3118
3124
  },
3119
- "name": "TLS"
3125
+ "name": "TLS_PLAINTEXT"
3120
3126
  },
3121
3127
  {
3122
3128
  "docs": {
3123
3129
  "stability": "experimental",
3124
- "summary": "TLS_PLAINTEXT means that client-broker communication is enabled for both TLS-encrypted, as well as plaintext data."
3130
+ "summary": "PLAINTEXT means that client-broker communication is enabled in plaintext only."
3125
3131
  },
3126
- "name": "TLS_PLAINTEXT"
3132
+ "name": "PLAINTEXT"
3127
3133
  }
3128
3134
  ],
3129
3135
  "name": "ClientBrokerEncryption",
@@ -3134,6 +3140,7 @@
3134
3140
  "base": "aws-cdk-lib.Resource",
3135
3141
  "docs": {
3136
3142
  "custom": {
3143
+ "exampleMetadata": "infused",
3137
3144
  "resource": "AWS::MSK::Cluster"
3138
3145
  },
3139
3146
  "example": "import * as msk from \"@aws-cdk/aws-msk-alpha\"\nimport * as ec2 from \"aws-cdk-lib/aws-ec2\"\n\nconst cluster = new msk.Cluster(this, \"Cluster\", {...})\n\ncluster.connections.allowFrom(\n ec2.Peer.ipv4(\"1.2.3.4/8\"),\n ec2.Port.tcp(2181)\n)\ncluster.connections.allowFrom(\n ec2.Peer.ipv4(\"1.2.3.4/8\"),\n ec2.Port.tcp(9094)\n)",
@@ -3403,7 +3410,7 @@
3403
3410
  "remarks": "Note: There is currently no Cloudformation Resource to create a Configuration",
3404
3411
  "stability": "experimental",
3405
3412
  "summary": "The Amazon MSK configuration to use for the cluster.",
3406
- "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as msk_alpha from '@aws-cdk/aws-msk-alpha';\n\nconst clusterConfigurationInfo: msk_alpha.ClusterConfigurationInfo = {\n arn: 'arn',\n revision: 123,\n};",
3413
+ "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as msk_alpha from '@aws-cdk/aws-msk-alpha';\nconst clusterConfigurationInfo: msk_alpha.ClusterConfigurationInfo = {\n arn: 'arn',\n revision: 123,\n};",
3407
3414
  "custom": {
3408
3415
  "exampleMetadata": "fixture=_generated"
3409
3416
  }
@@ -3502,6 +3509,9 @@
3502
3509
  "assembly": "@aws-cdk/aws-msk-alpha",
3503
3510
  "datatype": true,
3504
3511
  "docs": {
3512
+ "custom": {
3513
+ "exampleMetadata": "infused"
3514
+ },
3505
3515
  "example": "import * as msk from \"@aws-cdk/aws-msk-alpha\"\nimport * as ec2 from \"aws-cdk-lib/aws-ec2\"\n\nconst cluster = new msk.Cluster(this, \"Cluster\", {...})\n\ncluster.connections.allowFrom(\n ec2.Peer.ipv4(\"1.2.3.4/8\"),\n ec2.Port.tcp(2181)\n)\ncluster.connections.allowFrom(\n ec2.Peer.ipv4(\"1.2.3.4/8\"),\n ec2.Port.tcp(9094)\n)",
3506
3516
  "stability": "experimental",
3507
3517
  "summary": "Properties for a MSK Cluster."
@@ -3778,7 +3788,7 @@
3778
3788
  "docs": {
3779
3789
  "stability": "experimental",
3780
3790
  "summary": "EBS volume information.",
3781
- "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as msk_alpha from '@aws-cdk/aws-msk-alpha';\nimport { aws_kms as kms } from 'aws-cdk-lib';\n\ndeclare const key: kms.Key;\n\nconst ebsStorageInfo: msk_alpha.EbsStorageInfo = {\n encryptionKey: key,\n volumeSize: 123,\n};",
3791
+ "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as msk_alpha from '@aws-cdk/aws-msk-alpha';\nimport { aws_kms as kms } from 'aws-cdk-lib';\n\ndeclare const key: kms.Key;\nconst ebsStorageInfo: msk_alpha.EbsStorageInfo = {\n encryptionKey: key,\n volumeSize: 123,\n};",
3782
3792
  "custom": {
3783
3793
  "exampleMetadata": "fixture=_generated"
3784
3794
  }
@@ -3837,7 +3847,7 @@
3837
3847
  "see": "https://docs.aws.amazon.com/msk/latest/developerguide/msk-encryption.html#msk-encryption-in-transit",
3838
3848
  "stability": "experimental",
3839
3849
  "summary": "The settings for encrypting data in transit.",
3840
- "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as msk_alpha from '@aws-cdk/aws-msk-alpha';\n\nconst encryptionInTransitConfig: msk_alpha.EncryptionInTransitConfig = {\n clientBroker: msk_alpha.ClientBrokerEncryption.TLS,\n enableInCluster: false,\n};",
3850
+ "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as msk_alpha from '@aws-cdk/aws-msk-alpha';\nconst encryptionInTransitConfig: msk_alpha.EncryptionInTransitConfig = {\n clientBroker: msk_alpha.ClientBrokerEncryption.TLS,\n enableInCluster: false,\n};",
3841
3851
  "custom": {
3842
3852
  "exampleMetadata": "fixture=_generated"
3843
3853
  }
@@ -3951,6 +3961,9 @@
3951
3961
  "@aws-cdk/aws-msk-alpha.KafkaVersion": {
3952
3962
  "assembly": "@aws-cdk/aws-msk-alpha",
3953
3963
  "docs": {
3964
+ "custom": {
3965
+ "exampleMetadata": "infused"
3966
+ },
3954
3967
  "example": "import * as msk from '@aws-cdk/aws-msk-alpha';\n\nconst cluster = new Cluster(this, 'Cluster', {\n kafkaVersion: msk.KafkaVersion.V2_8_1,\n vpc,\n});",
3955
3968
  "stability": "experimental",
3956
3969
  "summary": "Kafka cluster version."
@@ -3969,7 +3982,7 @@
3969
3982
  },
3970
3983
  "locationInModule": {
3971
3984
  "filename": "lib/cluster-version.ts",
3972
- "line": 64
3985
+ "line": 79
3973
3986
  },
3974
3987
  "name": "of",
3975
3988
  "parameters": [
@@ -4133,19 +4146,70 @@
4133
4146
  "const": true,
4134
4147
  "docs": {
4135
4148
  "stability": "experimental",
4136
- "summary": "Kafka version 2.7.0."
4149
+ "summary": "Kafka version 2.6.3."
4137
4150
  },
4138
4151
  "immutable": true,
4139
4152
  "locationInModule": {
4140
4153
  "filename": "lib/cluster-version.ts",
4141
4154
  "line": 48
4142
4155
  },
4156
+ "name": "V2_6_3",
4157
+ "static": true,
4158
+ "type": {
4159
+ "fqn": "@aws-cdk/aws-msk-alpha.KafkaVersion"
4160
+ }
4161
+ },
4162
+ {
4163
+ "const": true,
4164
+ "docs": {
4165
+ "stability": "experimental",
4166
+ "summary": "Kafka version 2.7.0."
4167
+ },
4168
+ "immutable": true,
4169
+ "locationInModule": {
4170
+ "filename": "lib/cluster-version.ts",
4171
+ "line": 53
4172
+ },
4143
4173
  "name": "V2_7_0",
4144
4174
  "static": true,
4145
4175
  "type": {
4146
4176
  "fqn": "@aws-cdk/aws-msk-alpha.KafkaVersion"
4147
4177
  }
4148
4178
  },
4179
+ {
4180
+ "const": true,
4181
+ "docs": {
4182
+ "stability": "experimental",
4183
+ "summary": "Kafka version 2.7.1."
4184
+ },
4185
+ "immutable": true,
4186
+ "locationInModule": {
4187
+ "filename": "lib/cluster-version.ts",
4188
+ "line": 58
4189
+ },
4190
+ "name": "V2_7_1",
4191
+ "static": true,
4192
+ "type": {
4193
+ "fqn": "@aws-cdk/aws-msk-alpha.KafkaVersion"
4194
+ }
4195
+ },
4196
+ {
4197
+ "const": true,
4198
+ "docs": {
4199
+ "stability": "experimental",
4200
+ "summary": "Kafka version 2.7.2."
4201
+ },
4202
+ "immutable": true,
4203
+ "locationInModule": {
4204
+ "filename": "lib/cluster-version.ts",
4205
+ "line": 63
4206
+ },
4207
+ "name": "V2_7_2",
4208
+ "static": true,
4209
+ "type": {
4210
+ "fqn": "@aws-cdk/aws-msk-alpha.KafkaVersion"
4211
+ }
4212
+ },
4149
4213
  {
4150
4214
  "const": true,
4151
4215
  "docs": {
@@ -4155,7 +4219,7 @@
4155
4219
  "immutable": true,
4156
4220
  "locationInModule": {
4157
4221
  "filename": "lib/cluster-version.ts",
4158
- "line": 53
4222
+ "line": 68
4159
4223
  },
4160
4224
  "name": "V2_8_0",
4161
4225
  "static": true,
@@ -4172,7 +4236,7 @@
4172
4236
  "immutable": true,
4173
4237
  "locationInModule": {
4174
4238
  "filename": "lib/cluster-version.ts",
4175
- "line": 58
4239
+ "line": 73
4176
4240
  },
4177
4241
  "name": "V2_8_1",
4178
4242
  "static": true,
@@ -4188,7 +4252,7 @@
4188
4252
  "immutable": true,
4189
4253
  "locationInModule": {
4190
4254
  "filename": "lib/cluster-version.ts",
4191
- "line": 72
4255
+ "line": 87
4192
4256
  },
4193
4257
  "name": "version",
4194
4258
  "type": {
@@ -4204,7 +4268,7 @@
4204
4268
  "docs": {
4205
4269
  "stability": "experimental",
4206
4270
  "summary": "Monitoring Configuration.",
4207
- "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as msk_alpha from '@aws-cdk/aws-msk-alpha';\n\nconst monitoringConfiguration: msk_alpha.MonitoringConfiguration = {\n clusterMonitoringLevel: msk_alpha.ClusterMonitoringLevel.DEFAULT,\n enablePrometheusJmxExporter: false,\n enablePrometheusNodeExporter: false,\n};",
4271
+ "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as msk_alpha from '@aws-cdk/aws-msk-alpha';\nconst monitoringConfiguration: msk_alpha.MonitoringConfiguration = {\n clusterMonitoringLevel: msk_alpha.ClusterMonitoringLevel.DEFAULT,\n enablePrometheusJmxExporter: false,\n enablePrometheusNodeExporter: false,\n};",
4208
4272
  "custom": {
4209
4273
  "exampleMetadata": "fixture=_generated"
4210
4274
  }
@@ -4281,7 +4345,7 @@
4281
4345
  "docs": {
4282
4346
  "stability": "experimental",
4283
4347
  "summary": "Details of the Amazon S3 destination for broker logs.",
4284
- "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as msk_alpha from '@aws-cdk/aws-msk-alpha';\nimport { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\n\nconst s3LoggingConfiguration: msk_alpha.S3LoggingConfiguration = {\n bucket: bucket,\n\n // the properties below are optional\n prefix: 'prefix',\n};",
4348
+ "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as msk_alpha from '@aws-cdk/aws-msk-alpha';\nimport { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\nconst s3LoggingConfiguration: msk_alpha.S3LoggingConfiguration = {\n bucket: bucket,\n\n // the properties below are optional\n prefix: 'prefix',\n};",
4285
4349
  "custom": {
4286
4350
  "exampleMetadata": "fixture=_generated"
4287
4351
  }
@@ -4335,6 +4399,9 @@
4335
4399
  "assembly": "@aws-cdk/aws-msk-alpha",
4336
4400
  "datatype": true,
4337
4401
  "docs": {
4402
+ "custom": {
4403
+ "exampleMetadata": "infused"
4404
+ },
4338
4405
  "example": "import * as msk from \"@aws-cdk/aws-msk-alpha\"\n\nconst cluster = new msk.cluster(this, \"cluster\", {\n ...\n encryptionInTransit: {\n clientBroker: msk.ClientBrokerEncryption.TLS,\n },\n clientAuthentication: msk.ClientAuthentication.sasl({\n scram: true,\n }),\n})",
4339
4406
  "stability": "experimental",
4340
4407
  "summary": "SASL authentication properties."
@@ -4409,6 +4476,9 @@
4409
4476
  "assembly": "@aws-cdk/aws-msk-alpha",
4410
4477
  "datatype": true,
4411
4478
  "docs": {
4479
+ "custom": {
4480
+ "exampleMetadata": "infused"
4481
+ },
4412
4482
  "example": "import * as msk from \"@aws-cdk/aws-msk-alpha\"\nimport * as acmpca from \"aws-cdk-lib/aws-acmpca\"\n\nconst cluster = new msk.Cluster(this, 'Cluster', {\n ...\n encryptionInTransit: {\n clientBroker: msk.ClientBrokerEncryption.TLS,\n },\n clientAuthentication: msk.ClientAuthentication.tls({\n certificateAuthorities: [\n acmpca.CertificateAuthority.fromCertificateAuthorityArn(\n stack,\n \"CertificateAuthority\",\n \"arn:aws:acm-pca:us-west-2:1234567890:certificate-authority/11111111-1111-1111-1111-111111111111\"\n ),\n ],\n }),\n });\n});",
4413
4483
  "stability": "experimental",
4414
4484
  "summary": "TLS authentication properties."
@@ -4448,6 +4518,6 @@
4448
4518
  "symbolId": "lib/cluster:TlsAuthProps"
4449
4519
  }
4450
4520
  },
4451
- "version": "2.3.0-alpha.0",
4521
+ "version": "2.4.0-alpha.0",
4452
4522
  "fingerprint": "**********"
4453
4523
  }
package/.jsii.tabl.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "2",
3
- "toolVersion": "1.47.0",
3
+ "toolVersion": "1.50.0",
4
4
  "snippets": {
5
5
  "cb840666411d496d311c8046f0d8eb51caa3fa8f1ee32506c1aadd00010fde54": {
6
6
  "translations": {
@@ -54,7 +54,7 @@
54
54
  "282": 1,
55
55
  "290": 1
56
56
  },
57
- "fqnsFingerprint": "9f23e3e8621fe7b951e3d3d29c0dffe5b25784378000ea2898ac9bbcb9940caf"
57
+ "fqnsFingerprint": "37bac76708249e0cf3ed17b3fd9143d654e8f552c3ad95835955d43ba1556dab"
58
58
  },
59
59
  "c345f8017c1c169b5642d6b3b9d887bb395c15f1f71cebb58b1119623320a7ff": {
60
60
  "translations": {
@@ -116,7 +116,7 @@
116
116
  "283": 1,
117
117
  "290": 1
118
118
  },
119
- "fqnsFingerprint": "67290f70588d1fff401268bd54a30e78540fddb21a9fece28c5568d4066105dd"
119
+ "fqnsFingerprint": "bf0d508ebea6390843197de7a686477535e228fbb28ee3af8ff2a31565fa7465"
120
120
  },
121
121
  "2ae2abef4b783b93c3df13edcc282e3030b82f3b879d2bb23bbb9d21a753a6ca": {
122
122
  "translations": {
@@ -270,7 +270,7 @@
270
270
  "283": 1,
271
271
  "290": 1
272
272
  },
273
- "fqnsFingerprint": "474871a19edda892915562c7921bd05fecaec0a50b4fb3c32a88e0b00d7c2d83"
273
+ "fqnsFingerprint": "1fbbe37159466c82ca72068eb7e2348dab8ff47c306f44aa8ed394aadb075065"
274
274
  },
275
275
  "fee7787184211e222b00054508278c2e83c9e80dc430cbb227fb5c6077468602": {
276
276
  "translations": {
@@ -329,7 +329,7 @@
329
329
  "283": 1,
330
330
  "290": 1
331
331
  },
332
- "fqnsFingerprint": "d6d3d03f55f7d623d0e33912d9f103782dd1cee34a145cd4e74ecf73c980a3fe"
332
+ "fqnsFingerprint": "b8f845b2f995b6cc88c24714b4737253b36f57c382e126167e1921b59ba48d10"
333
333
  },
334
334
  "e6f7a12dfe227cb129f1aa5e7e0eb94a159d7f839e44227aca7cc01e3a229fba": {
335
335
  "translations": {
@@ -388,7 +388,63 @@
388
388
  "283": 1,
389
389
  "290": 1
390
390
  },
391
- "fqnsFingerprint": "d6d3d03f55f7d623d0e33912d9f103782dd1cee34a145cd4e74ecf73c980a3fe"
391
+ "fqnsFingerprint": "b8f845b2f995b6cc88c24714b4737253b36f57c382e126167e1921b59ba48d10"
392
+ },
393
+ "88b7418011c4e900758130e11c31562b3097104145fbb989aae0316c16cf9934": {
394
+ "translations": {
395
+ "python": {
396
+ "source": "# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_msk_alpha as msk_alpha\nfrom aws_cdk import aws_logs as logs\nfrom aws_cdk import aws_s3 as s3\n\n# bucket is of type Bucket\n# log_group is of type LogGroup\n\nbroker_logging = msk_alpha.BrokerLogging(\n cloudwatch_log_group=log_group,\n firehose_delivery_stream_name=\"firehoseDeliveryStreamName\",\n s3=msk_alpha.S3LoggingConfiguration(\n bucket=bucket,\n\n # the properties below are optional\n prefix=\"prefix\"\n )\n)",
397
+ "version": "1"
398
+ },
399
+ "csharp": {
400
+ "source": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.MSK.Alpha;\nusing Amazon.CDK.AWS.Logs;\nusing Amazon.CDK.AWS.S3;\n\nBucket bucket;\nLogGroup logGroup;\n\nBrokerLogging brokerLogging = new BrokerLogging {\n CloudwatchLogGroup = logGroup,\n FirehoseDeliveryStreamName = \"firehoseDeliveryStreamName\",\n S3 = new S3LoggingConfiguration {\n Bucket = bucket,\n\n // the properties below are optional\n Prefix = \"prefix\"\n }\n};",
401
+ "version": "1"
402
+ },
403
+ "java": {
404
+ "source": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.msk.alpha.*;\nimport software.amazon.awscdk.services.logs.*;\nimport software.amazon.awscdk.services.s3.*;\n\nBucket bucket;\nLogGroup logGroup;\n\nBrokerLogging brokerLogging = BrokerLogging.builder()\n .cloudwatchLogGroup(logGroup)\n .firehoseDeliveryStreamName(\"firehoseDeliveryStreamName\")\n .s3(S3LoggingConfiguration.builder()\n .bucket(bucket)\n\n // the properties below are optional\n .prefix(\"prefix\")\n .build())\n .build();",
405
+ "version": "1"
406
+ },
407
+ "$": {
408
+ "source": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as msk_alpha from '@aws-cdk/aws-msk-alpha';\nimport { aws_logs as logs } from 'aws-cdk-lib';\nimport { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\ndeclare const logGroup: logs.LogGroup;\nconst brokerLogging: msk_alpha.BrokerLogging = {\n cloudwatchLogGroup: logGroup,\n firehoseDeliveryStreamName: 'firehoseDeliveryStreamName',\n s3: {\n bucket: bucket,\n\n // the properties below are optional\n prefix: 'prefix',\n },\n};",
409
+ "version": "0"
410
+ }
411
+ },
412
+ "location": {
413
+ "api": {
414
+ "api": "type",
415
+ "fqn": "@aws-cdk/aws-msk-alpha.BrokerLogging"
416
+ },
417
+ "field": {
418
+ "field": "example"
419
+ }
420
+ },
421
+ "didCompile": true,
422
+ "fqnsReferenced": [
423
+ "@aws-cdk/aws-msk-alpha.BrokerLogging",
424
+ "@aws-cdk/aws-msk-alpha.S3LoggingConfiguration",
425
+ "aws-cdk-lib.aws_logs.ILogGroup",
426
+ "aws-cdk-lib.aws_s3.IBucket"
427
+ ],
428
+ "fullSource": "// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as msk_alpha from '@aws-cdk/aws-msk-alpha';\nimport { aws_logs as logs } from 'aws-cdk-lib';\nimport { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\ndeclare const logGroup: logs.LogGroup;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"constructs\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst brokerLogging: msk_alpha.BrokerLogging = {\n cloudwatchLogGroup: logGroup,\n firehoseDeliveryStreamName: 'firehoseDeliveryStreamName',\n s3: {\n bucket: bucket,\n\n // the properties below are optional\n prefix: 'prefix',\n },\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }",
429
+ "syntaxKindCounter": {
430
+ "10": 5,
431
+ "75": 21,
432
+ "130": 2,
433
+ "153": 3,
434
+ "169": 3,
435
+ "193": 2,
436
+ "225": 3,
437
+ "242": 3,
438
+ "243": 3,
439
+ "254": 3,
440
+ "255": 3,
441
+ "256": 1,
442
+ "257": 2,
443
+ "258": 2,
444
+ "281": 5,
445
+ "290": 1
446
+ },
447
+ "fqnsFingerprint": "a39f68001c74d09eef80706612a5453569cedcbbeff71e9aad6d21d104b62478"
392
448
  },
393
449
  "abc52bbc5650c79e6165ed74f972426ef4f5c398d51f916ab8e78ae00133b602": {
394
450
  "translations": {
@@ -446,7 +502,7 @@
446
502
  "283": 1,
447
503
  "290": 1
448
504
  },
449
- "fqnsFingerprint": "d6d3d03f55f7d623d0e33912d9f103782dd1cee34a145cd4e74ecf73c980a3fe"
505
+ "fqnsFingerprint": "b8f845b2f995b6cc88c24714b4737253b36f57c382e126167e1921b59ba48d10"
450
506
  },
451
507
  "cff3b29e78a8161df7384a9caa5d2f6e46259df777c4d149896d9d7bdeafcbb6": {
452
508
  "translations": {
@@ -504,7 +560,7 @@
504
560
  "283": 1,
505
561
  "290": 1
506
562
  },
507
- "fqnsFingerprint": "d6d3d03f55f7d623d0e33912d9f103782dd1cee34a145cd4e74ecf73c980a3fe"
563
+ "fqnsFingerprint": "b8f845b2f995b6cc88c24714b4737253b36f57c382e126167e1921b59ba48d10"
508
564
  },
509
565
  "4fd574236b78643ddafe0c80388ea1a18b3c391617fcbbd998ac54cf88bd9825": {
510
566
  "translations": {
@@ -565,7 +621,58 @@
565
621
  "283": 1,
566
622
  "290": 1
567
623
  },
568
- "fqnsFingerprint": "67290f70588d1fff401268bd54a30e78540fddb21a9fece28c5568d4066105dd"
624
+ "fqnsFingerprint": "bf0d508ebea6390843197de7a686477535e228fbb28ee3af8ff2a31565fa7465"
625
+ },
626
+ "8888290d454b2f1c84cb95896d64bf084cbbc6f841bab461b3f4b81a18ddc6f9": {
627
+ "translations": {
628
+ "python": {
629
+ "source": "# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_msk_alpha as msk_alpha\n\ncluster_configuration_info = msk_alpha.ClusterConfigurationInfo(\n arn=\"arn\",\n revision=123\n)",
630
+ "version": "1"
631
+ },
632
+ "csharp": {
633
+ "source": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.MSK.Alpha;\n\nClusterConfigurationInfo clusterConfigurationInfo = new ClusterConfigurationInfo {\n Arn = \"arn\",\n Revision = 123\n};",
634
+ "version": "1"
635
+ },
636
+ "java": {
637
+ "source": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.msk.alpha.*;\n\nClusterConfigurationInfo clusterConfigurationInfo = ClusterConfigurationInfo.builder()\n .arn(\"arn\")\n .revision(123)\n .build();",
638
+ "version": "1"
639
+ },
640
+ "$": {
641
+ "source": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as msk_alpha from '@aws-cdk/aws-msk-alpha';\nconst clusterConfigurationInfo: msk_alpha.ClusterConfigurationInfo = {\n arn: 'arn',\n revision: 123,\n};",
642
+ "version": "0"
643
+ }
644
+ },
645
+ "location": {
646
+ "api": {
647
+ "api": "type",
648
+ "fqn": "@aws-cdk/aws-msk-alpha.ClusterConfigurationInfo"
649
+ },
650
+ "field": {
651
+ "field": "example"
652
+ }
653
+ },
654
+ "didCompile": true,
655
+ "fqnsReferenced": [
656
+ "@aws-cdk/aws-msk-alpha.ClusterConfigurationInfo"
657
+ ],
658
+ "fullSource": "// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as msk_alpha from '@aws-cdk/aws-msk-alpha';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"constructs\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst clusterConfigurationInfo: msk_alpha.ClusterConfigurationInfo = {\n arn: 'arn',\n revision: 123,\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }",
659
+ "syntaxKindCounter": {
660
+ "8": 1,
661
+ "10": 2,
662
+ "75": 6,
663
+ "153": 1,
664
+ "169": 1,
665
+ "193": 1,
666
+ "225": 1,
667
+ "242": 1,
668
+ "243": 1,
669
+ "254": 1,
670
+ "255": 1,
671
+ "256": 1,
672
+ "281": 2,
673
+ "290": 1
674
+ },
675
+ "fqnsFingerprint": "4bce1b7851c46792b1be92271a292a0647cf08ab1a9ff992cae1f2767916d745"
569
676
  },
570
677
  "d3f01eb62169205f4e56402730360a1441a771303522aceacabd41e9d47b2106": {
571
678
  "translations": {
@@ -626,7 +733,116 @@
626
733
  "283": 1,
627
734
  "290": 1
628
735
  },
629
- "fqnsFingerprint": "67290f70588d1fff401268bd54a30e78540fddb21a9fece28c5568d4066105dd"
736
+ "fqnsFingerprint": "bf0d508ebea6390843197de7a686477535e228fbb28ee3af8ff2a31565fa7465"
737
+ },
738
+ "c6e128aabb3ac9937e6654bd018a9974402c4be71960628c3d254bc788c85dd6": {
739
+ "translations": {
740
+ "python": {
741
+ "source": "# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_msk_alpha as msk_alpha\nfrom aws_cdk import aws_kms as kms\n\n# key is of type Key\n\nebs_storage_info = msk_alpha.EbsStorageInfo(\n encryption_key=key,\n volume_size=123\n)",
742
+ "version": "1"
743
+ },
744
+ "csharp": {
745
+ "source": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.MSK.Alpha;\nusing Amazon.CDK.AWS.KMS;\n\nKey key;\n\nEbsStorageInfo ebsStorageInfo = new EbsStorageInfo {\n EncryptionKey = key,\n VolumeSize = 123\n};",
746
+ "version": "1"
747
+ },
748
+ "java": {
749
+ "source": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.msk.alpha.*;\nimport software.amazon.awscdk.services.kms.*;\n\nKey key;\n\nEbsStorageInfo ebsStorageInfo = EbsStorageInfo.builder()\n .encryptionKey(key)\n .volumeSize(123)\n .build();",
750
+ "version": "1"
751
+ },
752
+ "$": {
753
+ "source": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as msk_alpha from '@aws-cdk/aws-msk-alpha';\nimport { aws_kms as kms } from 'aws-cdk-lib';\n\ndeclare const key: kms.Key;\nconst ebsStorageInfo: msk_alpha.EbsStorageInfo = {\n encryptionKey: key,\n volumeSize: 123,\n};",
754
+ "version": "0"
755
+ }
756
+ },
757
+ "location": {
758
+ "api": {
759
+ "api": "type",
760
+ "fqn": "@aws-cdk/aws-msk-alpha.EbsStorageInfo"
761
+ },
762
+ "field": {
763
+ "field": "example"
764
+ }
765
+ },
766
+ "didCompile": true,
767
+ "fqnsReferenced": [
768
+ "@aws-cdk/aws-msk-alpha.EbsStorageInfo",
769
+ "aws-cdk-lib.aws_kms.IKey"
770
+ ],
771
+ "fullSource": "// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as msk_alpha from '@aws-cdk/aws-msk-alpha';\nimport { aws_kms as kms } from 'aws-cdk-lib';\n\ndeclare const key: kms.Key;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"constructs\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst ebsStorageInfo: msk_alpha.EbsStorageInfo = {\n encryptionKey: key,\n volumeSize: 123,\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }",
772
+ "syntaxKindCounter": {
773
+ "8": 1,
774
+ "10": 2,
775
+ "75": 12,
776
+ "130": 1,
777
+ "153": 2,
778
+ "169": 2,
779
+ "193": 1,
780
+ "225": 2,
781
+ "242": 2,
782
+ "243": 2,
783
+ "254": 2,
784
+ "255": 2,
785
+ "256": 1,
786
+ "257": 1,
787
+ "258": 1,
788
+ "281": 2,
789
+ "290": 1
790
+ },
791
+ "fqnsFingerprint": "563511510522f00600991e4e86fe736217b763b35143741abe2378aa68ec6a02"
792
+ },
793
+ "3bc34cc6d7ebac12150bfd3b150faf00d55037b1debfb3d0941220be889b0707": {
794
+ "translations": {
795
+ "python": {
796
+ "source": "# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_msk_alpha as msk_alpha\n\nencryption_in_transit_config = msk_alpha.EncryptionInTransitConfig(\n client_broker=msk_alpha.ClientBrokerEncryption.TLS,\n enable_in_cluster=False\n)",
797
+ "version": "1"
798
+ },
799
+ "csharp": {
800
+ "source": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.MSK.Alpha;\n\nEncryptionInTransitConfig encryptionInTransitConfig = new EncryptionInTransitConfig {\n ClientBroker = ClientBrokerEncryption.TLS,\n EnableInCluster = false\n};",
801
+ "version": "1"
802
+ },
803
+ "java": {
804
+ "source": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.msk.alpha.*;\n\nEncryptionInTransitConfig encryptionInTransitConfig = EncryptionInTransitConfig.builder()\n .clientBroker(ClientBrokerEncryption.TLS)\n .enableInCluster(false)\n .build();",
805
+ "version": "1"
806
+ },
807
+ "$": {
808
+ "source": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as msk_alpha from '@aws-cdk/aws-msk-alpha';\nconst encryptionInTransitConfig: msk_alpha.EncryptionInTransitConfig = {\n clientBroker: msk_alpha.ClientBrokerEncryption.TLS,\n enableInCluster: false,\n};",
809
+ "version": "0"
810
+ }
811
+ },
812
+ "location": {
813
+ "api": {
814
+ "api": "type",
815
+ "fqn": "@aws-cdk/aws-msk-alpha.EncryptionInTransitConfig"
816
+ },
817
+ "field": {
818
+ "field": "example"
819
+ }
820
+ },
821
+ "didCompile": true,
822
+ "fqnsReferenced": [
823
+ "@aws-cdk/aws-msk-alpha.ClientBrokerEncryption",
824
+ "@aws-cdk/aws-msk-alpha.ClientBrokerEncryption#TLS",
825
+ "@aws-cdk/aws-msk-alpha.EncryptionInTransitConfig"
826
+ ],
827
+ "fullSource": "// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as msk_alpha from '@aws-cdk/aws-msk-alpha';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"constructs\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst encryptionInTransitConfig: msk_alpha.EncryptionInTransitConfig = {\n clientBroker: msk_alpha.ClientBrokerEncryption.TLS,\n enableInCluster: false,\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }",
828
+ "syntaxKindCounter": {
829
+ "10": 1,
830
+ "75": 9,
831
+ "91": 1,
832
+ "153": 1,
833
+ "169": 1,
834
+ "193": 1,
835
+ "194": 2,
836
+ "225": 1,
837
+ "242": 1,
838
+ "243": 1,
839
+ "254": 1,
840
+ "255": 1,
841
+ "256": 1,
842
+ "281": 2,
843
+ "290": 1
844
+ },
845
+ "fqnsFingerprint": "a54408a903cd322fccbd719727365154300116634139ef2ef9ec85b26c490f65"
630
846
  },
631
847
  "0ad6bfb0f65b51bb3c39ec12fec3fe8e1ba1e1b0bd508166193c12f2124caea6": {
632
848
  "translations": {
@@ -679,7 +895,115 @@
679
895
  "282": 1,
680
896
  "290": 1
681
897
  },
682
- "fqnsFingerprint": "9f23e3e8621fe7b951e3d3d29c0dffe5b25784378000ea2898ac9bbcb9940caf"
898
+ "fqnsFingerprint": "37bac76708249e0cf3ed17b3fd9143d654e8f552c3ad95835955d43ba1556dab"
899
+ },
900
+ "5410896da3de0d4f9bec616d980ea951f621e4f32309a422fda56dbe6d125977": {
901
+ "translations": {
902
+ "python": {
903
+ "source": "# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_msk_alpha as msk_alpha\n\nmonitoring_configuration = msk_alpha.MonitoringConfiguration(\n cluster_monitoring_level=msk_alpha.ClusterMonitoringLevel.DEFAULT,\n enable_prometheus_jmx_exporter=False,\n enable_prometheus_node_exporter=False\n)",
904
+ "version": "1"
905
+ },
906
+ "csharp": {
907
+ "source": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.MSK.Alpha;\n\nMonitoringConfiguration monitoringConfiguration = new MonitoringConfiguration {\n ClusterMonitoringLevel = ClusterMonitoringLevel.DEFAULT,\n EnablePrometheusJmxExporter = false,\n EnablePrometheusNodeExporter = false\n};",
908
+ "version": "1"
909
+ },
910
+ "java": {
911
+ "source": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.msk.alpha.*;\n\nMonitoringConfiguration monitoringConfiguration = MonitoringConfiguration.builder()\n .clusterMonitoringLevel(ClusterMonitoringLevel.DEFAULT)\n .enablePrometheusJmxExporter(false)\n .enablePrometheusNodeExporter(false)\n .build();",
912
+ "version": "1"
913
+ },
914
+ "$": {
915
+ "source": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as msk_alpha from '@aws-cdk/aws-msk-alpha';\nconst monitoringConfiguration: msk_alpha.MonitoringConfiguration = {\n clusterMonitoringLevel: msk_alpha.ClusterMonitoringLevel.DEFAULT,\n enablePrometheusJmxExporter: false,\n enablePrometheusNodeExporter: false,\n};",
916
+ "version": "0"
917
+ }
918
+ },
919
+ "location": {
920
+ "api": {
921
+ "api": "type",
922
+ "fqn": "@aws-cdk/aws-msk-alpha.MonitoringConfiguration"
923
+ },
924
+ "field": {
925
+ "field": "example"
926
+ }
927
+ },
928
+ "didCompile": true,
929
+ "fqnsReferenced": [
930
+ "@aws-cdk/aws-msk-alpha.ClusterMonitoringLevel",
931
+ "@aws-cdk/aws-msk-alpha.ClusterMonitoringLevel#DEFAULT",
932
+ "@aws-cdk/aws-msk-alpha.MonitoringConfiguration"
933
+ ],
934
+ "fullSource": "// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as msk_alpha from '@aws-cdk/aws-msk-alpha';\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"constructs\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst monitoringConfiguration: msk_alpha.MonitoringConfiguration = {\n clusterMonitoringLevel: msk_alpha.ClusterMonitoringLevel.DEFAULT,\n enablePrometheusJmxExporter: false,\n enablePrometheusNodeExporter: false,\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }",
935
+ "syntaxKindCounter": {
936
+ "10": 1,
937
+ "75": 10,
938
+ "91": 2,
939
+ "153": 1,
940
+ "169": 1,
941
+ "193": 1,
942
+ "194": 2,
943
+ "225": 1,
944
+ "242": 1,
945
+ "243": 1,
946
+ "254": 1,
947
+ "255": 1,
948
+ "256": 1,
949
+ "281": 3,
950
+ "290": 1
951
+ },
952
+ "fqnsFingerprint": "3bca81424de8d7cc1f47d1cce71a658d46254ac4f690ef598343fedd3284ac54"
953
+ },
954
+ "dda542434653872c193e06489d396f34226d26f4df7f5a15d2bc2faec4bcf5c2": {
955
+ "translations": {
956
+ "python": {
957
+ "source": "# The code below shows an example of how to instantiate this type.\n# The values are placeholders you should change.\nimport aws_cdk.aws_msk_alpha as msk_alpha\nfrom aws_cdk import aws_s3 as s3\n\n# bucket is of type Bucket\n\ns3_logging_configuration = msk_alpha.S3LoggingConfiguration(\n bucket=bucket,\n\n # the properties below are optional\n prefix=\"prefix\"\n)",
958
+ "version": "1"
959
+ },
960
+ "csharp": {
961
+ "source": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nusing Amazon.CDK.AWS.MSK.Alpha;\nusing Amazon.CDK.AWS.S3;\n\nBucket bucket;\n\nS3LoggingConfiguration s3LoggingConfiguration = new S3LoggingConfiguration {\n Bucket = bucket,\n\n // the properties below are optional\n Prefix = \"prefix\"\n};",
962
+ "version": "1"
963
+ },
964
+ "java": {
965
+ "source": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport software.amazon.awscdk.services.msk.alpha.*;\nimport software.amazon.awscdk.services.s3.*;\n\nBucket bucket;\n\nS3LoggingConfiguration s3LoggingConfiguration = S3LoggingConfiguration.builder()\n .bucket(bucket)\n\n // the properties below are optional\n .prefix(\"prefix\")\n .build();",
966
+ "version": "1"
967
+ },
968
+ "$": {
969
+ "source": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as msk_alpha from '@aws-cdk/aws-msk-alpha';\nimport { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\nconst s3LoggingConfiguration: msk_alpha.S3LoggingConfiguration = {\n bucket: bucket,\n\n // the properties below are optional\n prefix: 'prefix',\n};",
970
+ "version": "0"
971
+ }
972
+ },
973
+ "location": {
974
+ "api": {
975
+ "api": "type",
976
+ "fqn": "@aws-cdk/aws-msk-alpha.S3LoggingConfiguration"
977
+ },
978
+ "field": {
979
+ "field": "example"
980
+ }
981
+ },
982
+ "didCompile": true,
983
+ "fqnsReferenced": [
984
+ "@aws-cdk/aws-msk-alpha.S3LoggingConfiguration",
985
+ "aws-cdk-lib.aws_s3.IBucket"
986
+ ],
987
+ "fullSource": "// Hoisted imports begin after !show marker below\n/// !show\n// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as msk_alpha from '@aws-cdk/aws-msk-alpha';\nimport { aws_s3 as s3 } from 'aws-cdk-lib';\n\ndeclare const bucket: s3.Bucket;\n/// !hide\n// Hoisted imports ended before !hide marker above\nimport { Construct } from \"constructs\";\nclass MyConstruct extends Construct {\nconstructor(scope: Construct, id: string) {\nsuper(scope, id);\n// Code snippet begins after !show marker below\n/// !show\n\nconst s3LoggingConfiguration: msk_alpha.S3LoggingConfiguration = {\n bucket: bucket,\n\n // the properties below are optional\n prefix: 'prefix',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n} }",
988
+ "syntaxKindCounter": {
989
+ "10": 3,
990
+ "75": 12,
991
+ "130": 1,
992
+ "153": 2,
993
+ "169": 2,
994
+ "193": 1,
995
+ "225": 2,
996
+ "242": 2,
997
+ "243": 2,
998
+ "254": 2,
999
+ "255": 2,
1000
+ "256": 1,
1001
+ "257": 1,
1002
+ "258": 1,
1003
+ "281": 2,
1004
+ "290": 1
1005
+ },
1006
+ "fqnsFingerprint": "b02ed319f415dd6b60a583a7c144765d3d55f4d26cd03a899acd507bd79d38df"
683
1007
  },
684
1008
  "d68e073610bf9fd607121c4de45d0a9eefee66b21670bbc4644342c02bd7395d": {
685
1009
  "translations": {
@@ -737,7 +1061,7 @@
737
1061
  "283": 1,
738
1062
  "290": 1
739
1063
  },
740
- "fqnsFingerprint": "d6d3d03f55f7d623d0e33912d9f103782dd1cee34a145cd4e74ecf73c980a3fe"
1064
+ "fqnsFingerprint": "b8f845b2f995b6cc88c24714b4737253b36f57c382e126167e1921b59ba48d10"
741
1065
  },
742
1066
  "d3d0ae1b223997ca0853812e111fa44cbc96c58d2b12626416a77ce5c910627d": {
743
1067
  "translations": {
@@ -800,7 +1124,7 @@
800
1124
  "283": 1,
801
1125
  "290": 1
802
1126
  },
803
- "fqnsFingerprint": "474871a19edda892915562c7921bd05fecaec0a50b4fb3c32a88e0b00d7c2d83"
1127
+ "fqnsFingerprint": "1fbbe37159466c82ca72068eb7e2348dab8ff47c306f44aa8ed394aadb075065"
804
1128
  }
805
1129
  }
806
1130
  }
package/LICENSE CHANGED
@@ -186,7 +186,7 @@
186
186
  same "printed page" as the copyright notice for easier
187
187
  identification within third-party archives.
188
188
 
189
- Copyright 2018-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
189
+ Copyright 2018-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
190
190
 
191
191
  Licensed under the Apache License, Version 2.0 (the "License");
192
192
  you may not use this file except in compliance with the License.
package/NOTICE CHANGED
@@ -1,2 +1,2 @@
1
1
  AWS Cloud Development Kit (AWS CDK)
2
- Copyright 2018-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ Copyright 2018-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
@@ -53,12 +53,30 @@ export declare class KafkaVersion {
53
53
  * @experimental
54
54
  */
55
55
  static readonly V2_6_2: KafkaVersion;
56
+ /**
57
+ * (experimental) Kafka version 2.6.3.
58
+ *
59
+ * @experimental
60
+ */
61
+ static readonly V2_6_3: KafkaVersion;
56
62
  /**
57
63
  * (experimental) Kafka version 2.7.0.
58
64
  *
59
65
  * @experimental
60
66
  */
61
67
  static readonly V2_7_0: KafkaVersion;
68
+ /**
69
+ * (experimental) Kafka version 2.7.1.
70
+ *
71
+ * @experimental
72
+ */
73
+ static readonly V2_7_1: KafkaVersion;
74
+ /**
75
+ * (experimental) Kafka version 2.7.2.
76
+ *
77
+ * @experimental
78
+ */
79
+ static readonly V2_7_2: KafkaVersion;
62
80
  /**
63
81
  * (experimental) Kafka version 2.8.0.
64
82
  *
@@ -28,7 +28,7 @@ class KafkaVersion {
28
28
  }
29
29
  exports.KafkaVersion = KafkaVersion;
30
30
  _a = JSII_RTTI_SYMBOL_1;
31
- KafkaVersion[_a] = { fqn: "@aws-cdk/aws-msk-alpha.KafkaVersion", version: "2.3.0-alpha.0" };
31
+ KafkaVersion[_a] = { fqn: "@aws-cdk/aws-msk-alpha.KafkaVersion", version: "2.4.0-alpha.0" };
32
32
  /**
33
33
  * (experimental) Kafka version 1.1.1.
34
34
  *
@@ -77,12 +77,30 @@ KafkaVersion.V2_6_1 = KafkaVersion.of('2.6.1');
77
77
  * @experimental
78
78
  */
79
79
  KafkaVersion.V2_6_2 = KafkaVersion.of('2.6.2');
80
+ /**
81
+ * (experimental) Kafka version 2.6.3.
82
+ *
83
+ * @experimental
84
+ */
85
+ KafkaVersion.V2_6_3 = KafkaVersion.of('2.6.3');
80
86
  /**
81
87
  * (experimental) Kafka version 2.7.0.
82
88
  *
83
89
  * @experimental
84
90
  */
85
91
  KafkaVersion.V2_7_0 = KafkaVersion.of('2.7.0');
92
+ /**
93
+ * (experimental) Kafka version 2.7.1.
94
+ *
95
+ * @experimental
96
+ */
97
+ KafkaVersion.V2_7_1 = KafkaVersion.of('2.7.1');
98
+ /**
99
+ * (experimental) Kafka version 2.7.2.
100
+ *
101
+ * @experimental
102
+ */
103
+ KafkaVersion.V2_7_2 = KafkaVersion.of('2.7.2');
86
104
  /**
87
105
  * (experimental) Kafka version 2.8.0.
88
106
  *
@@ -95,4 +113,4 @@ KafkaVersion.V2_8_0 = KafkaVersion.of('2.8.0');
95
113
  * @experimental
96
114
  */
97
115
  KafkaVersion.V2_8_1 = KafkaVersion.of('2.8.1');
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci12ZXJzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2x1c3Rlci12ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFDQSxNQUFhLFlBQVk7SUF1Q3ZCOzs7T0FHRztJQUNILFlBQW9DLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO0tBQUk7Ozs7Ozs7SUFSaEQsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFlO1FBQzlCLE9BQU8sSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7S0FDbEM7O0FBckNILG9DQTRDQzs7Ozs7Ozs7QUExQ3dCLG1CQUFNLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Ozs7O0FBR2xDLG1CQUFNLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Ozs7O0FBR2xDLG1CQUFNLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Ozs7O0FBR2xDLHFCQUFRLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQzs7Ozs7O0FBR3RDLG1CQUFNLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Ozs7O0FBR2xDLG1CQUFNLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Ozs7O0FBR2xDLG1CQUFNLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Ozs7O0FBR2xDLG1CQUFNLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Ozs7O0FBR2xDLG1CQUFNLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Ozs7O0FBR2xDLG1CQUFNLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Ozs7O0FBR2xDLG1CQUFNLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgS2Fma2FWZXJzaW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYxXzFfMSA9IEthZmthVmVyc2lvbi5vZignMS4xLjEnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfMl8xID0gS2Fma2FWZXJzaW9uLm9mKCcyLjIuMScpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWMl8zXzEgPSBLYWZrYVZlcnNpb24ub2YoJzIuMy4xJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYyXzRfMV8xID0gS2Fma2FWZXJzaW9uLm9mKCcyLjQuMS4xJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYyXzVfMSA9IEthZmthVmVyc2lvbi5vZignMi41LjEnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfNl8wID0gS2Fma2FWZXJzaW9uLm9mKCcyLjYuMCcpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWMl82XzEgPSBLYWZrYVZlcnNpb24ub2YoJzIuNi4xJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYyXzZfMiA9IEthZmthVmVyc2lvbi5vZignMi42LjInKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfN18wID0gS2Fma2FWZXJzaW9uLm9mKCcyLjcuMCcpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWMl84XzAgPSBLYWZrYVZlcnNpb24ub2YoJzIuOC4wJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYyXzhfMSA9IEthZmthVmVyc2lvbi5vZignMi44LjEnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgb2YodmVyc2lvbjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBLYWZrYVZlcnNpb24odmVyc2lvbik7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHZlcnNpb24gY2x1c3RlciB2ZXJzaW9uIG51bWJlclxuICAgKi9cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nKSB7fVxufVxuIl19
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci12ZXJzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2x1c3Rlci12ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFDQSxNQUFhLFlBQVk7SUFnRHZCOzs7T0FHRztJQUNILFlBQW9DLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO0tBQUk7Ozs7Ozs7SUFSaEQsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFlO1FBQzlCLE9BQU8sSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7S0FDbEM7O0FBOUNILG9DQXFEQzs7Ozs7Ozs7QUFuRHdCLG1CQUFNLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Ozs7O0FBR2xDLG1CQUFNLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Ozs7O0FBR2xDLG1CQUFNLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Ozs7O0FBR2xDLHFCQUFRLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQzs7Ozs7O0FBR3RDLG1CQUFNLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Ozs7O0FBR2xDLG1CQUFNLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Ozs7O0FBR2xDLG1CQUFNLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Ozs7O0FBR2xDLG1CQUFNLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Ozs7O0FBR2xDLG1CQUFNLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Ozs7O0FBR2xDLG1CQUFNLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Ozs7O0FBR2xDLG1CQUFNLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Ozs7O0FBR2xDLG1CQUFNLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Ozs7O0FBR2xDLG1CQUFNLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Ozs7O0FBR2xDLG1CQUFNLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgS2Fma2FWZXJzaW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYxXzFfMSA9IEthZmthVmVyc2lvbi5vZignMS4xLjEnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfMl8xID0gS2Fma2FWZXJzaW9uLm9mKCcyLjIuMScpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWMl8zXzEgPSBLYWZrYVZlcnNpb24ub2YoJzIuMy4xJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYyXzRfMV8xID0gS2Fma2FWZXJzaW9uLm9mKCcyLjQuMS4xJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYyXzVfMSA9IEthZmthVmVyc2lvbi5vZignMi41LjEnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfNl8wID0gS2Fma2FWZXJzaW9uLm9mKCcyLjYuMCcpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWMl82XzEgPSBLYWZrYVZlcnNpb24ub2YoJzIuNi4xJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYyXzZfMiA9IEthZmthVmVyc2lvbi5vZignMi42LjInKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfNl8zID0gS2Fma2FWZXJzaW9uLm9mKCcyLjYuMycpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWMl83XzAgPSBLYWZrYVZlcnNpb24ub2YoJzIuNy4wJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYyXzdfMSA9IEthZmthVmVyc2lvbi5vZignMi43LjEnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfN18yID0gS2Fma2FWZXJzaW9uLm9mKCcyLjcuMicpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWMl84XzAgPSBLYWZrYVZlcnNpb24ub2YoJzIuOC4wJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYyXzhfMSA9IEthZmthVmVyc2lvbi5vZignMi44LjEnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgb2YodmVyc2lvbjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBLYWZrYVZlcnNpb24odmVyc2lvbik7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHZlcnNpb24gY2x1c3RlciB2ZXJzaW9uIG51bWJlclxuICAgKi9cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nKSB7fVxufVxuIl19
package/lib/cluster.js CHANGED
@@ -87,7 +87,7 @@ class ClientAuthentication {
87
87
  }
88
88
  exports.ClientAuthentication = ClientAuthentication;
89
89
  _a = JSII_RTTI_SYMBOL_1;
90
- ClientAuthentication[_a] = { fqn: "@aws-cdk/aws-msk-alpha.ClientAuthentication", version: "2.3.0-alpha.0" };
90
+ ClientAuthentication[_a] = { fqn: "@aws-cdk/aws-msk-alpha.ClientAuthentication", version: "2.4.0-alpha.0" };
91
91
  /**
92
92
  * (experimental) Create a MSK Cluster.
93
93
  *
@@ -436,5 +436,5 @@ class Cluster extends ClusterBase {
436
436
  }
437
437
  exports.Cluster = Cluster;
438
438
  _b = JSII_RTTI_SYMBOL_1;
439
- Cluster[_b] = { fqn: "@aws-cdk/aws-msk-alpha.Cluster", version: "2.3.0-alpha.0" };
439
+ Cluster[_b] = { fqn: "@aws-cdk/aws-msk-alpha.Cluster", version: "2.4.0-alpha.0" };
440
440
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNsdXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsMkNBQTJDO0FBQzNDLDJDQUEyQztBQUMzQywyQ0FBMkM7QUFHM0MsaUVBQWlFO0FBQ2pFLG9DQUFvQztBQUNwQyxtREFBbUQ7QUFFbkQsOERBQTREO0FBRTVELGlEQUFpRDtBQVdqRDs7R0FFRztBQUNILE1BQWUsV0FBWSxTQUFRLElBQUksQ0FBQyxRQUFROzs7Ozs7SUFPOUMsSUFBVyxXQUFXO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztTQUMxRTtRQUNELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztLQUMxQjtDQUNGOzs7Ozs7O0FBbURELElBQVksc0JBU1g7QUFURCxXQUFZLHNCQUFzQjtJQUVoQyw2Q0FBbUIsQ0FBQTtJQUVuQixtREFBeUIsQ0FBQTtJQUV6Qix1RUFBNkMsQ0FBQTtJQUU3Qyw2RUFBbUQsQ0FBQTtBQUNyRCxDQUFDLEVBVFcsc0JBQXNCLEdBQXRCLDhCQUFzQixLQUF0Qiw4QkFBc0IsUUFTakM7Ozs7OztBQStCRCxJQUFZLHNCQU9YO0FBUEQsV0FBWSxzQkFBc0I7SUFFaEMscUNBQVcsQ0FBQTtJQUVYLHlEQUErQixDQUFBO0lBRS9CLGlEQUF1QixDQUFBO0FBQ3pCLENBQUMsRUFQVyxzQkFBc0IsR0FBdEIsOEJBQXNCLEtBQXRCLDhCQUFzQixRQU9qQzs7Ozs7O0FBMkJELE1BQWEsb0JBQW9CO0lBVy9COzs7T0FHRztJQUNILFlBQ2tCLFNBQXlCLEVBQ3pCLFFBQXVCO1FBRHZCLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBQ3pCLGFBQVEsR0FBUixRQUFRLENBQWU7S0FDckM7Ozs7OztJQWhCRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQW9COztRQUNyQyxPQUFPLElBQUksb0JBQW9CLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0tBQ25EOzs7Ozs7SUFHTSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQW1COztRQUNuQyxPQUFPLElBQUksb0JBQW9CLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0tBQ25EOztBQVRILG9EQW1CQzs7Ozs7Ozs7O0FBR0QsTUFBYSxPQUFRLFNBQVEsV0FBVzs7OztJQXNCdEMsWUFBWSxLQUEyQixFQUFFLEVBQVUsRUFBRSxLQUFtQjs7UUFDdEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLFdBQVc7U0FDaEMsQ0FBQyxDQUFDOztRQUVILE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVsRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksR0FBRyxDQUFDLFdBQVcsQ0FBQztZQUN0QyxjQUFjLFFBQUUsS0FBSyxDQUFDLGNBQWMsbUNBQUk7Z0JBQ3RDLElBQUksR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFO29CQUMzQyxXQUFXLEVBQUUsb0JBQW9CO29CQUNqQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7aUJBQ2YsQ0FBQzthQUNIO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDdEMsTUFBTSxLQUFLLENBQ1QsNENBQTRDLGVBQWUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQzdFLENBQUM7U0FDSDtRQUVELElBQ0UsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO1lBQzNDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7WUFDekMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsRUFBRSxFQUM3QjtZQUNBLE1BQU0sS0FBSyxDQUNULHdHQUF3RztnQkFDdEcsU0FBUyxLQUFLLENBQUMsV0FBVyxhQUFhLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQ3JFLENBQUM7U0FDSDtRQUVELElBQ0UsYUFBQSxLQUFLLENBQUMsb0JBQW9CLDBDQUFFLFNBQVMsMENBQUUsR0FBRyxrQkFDMUMsS0FBSyxDQUFDLG9CQUFvQiwwQ0FBRSxTQUFTLDBDQUFFLEtBQUssQ0FBQSxFQUM1QztZQUNBLE1BQU0sS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7U0FDdEU7UUFFRCxJQUNFLE9BQUEsS0FBSyxDQUFDLG1CQUFtQiwwQ0FBRSxZQUFZO1lBQ3JDLHNCQUFzQixDQUFDLFNBQVM7WUFDbEMsS0FBSyxDQUFDLG9CQUFvQixFQUMxQjtZQUNBLE1BQU0sS0FBSyxDQUNULHNHQUFzRyxDQUN2RyxDQUFDO1NBQ0g7YUFBTSxJQUNMLE9BQUEsS0FBSyxDQUFDLG1CQUFtQiwwQ0FBRSxZQUFZO1lBQ3JDLHNCQUFzQixDQUFDLGFBQWE7WUFDdEMsQ0FBQyxhQUFBLEtBQUssQ0FBQyxvQkFBb0IsMENBQUUsU0FBUywwQ0FBRSxLQUFLLGtCQUMzQyxLQUFLLENBQUMsb0JBQW9CLDBDQUFFLFNBQVMsMENBQUUsR0FBRyxDQUFBLENBQUMsRUFDN0M7WUFDQSxNQUFNLEtBQUssQ0FDVCxvSEFBb0gsQ0FDckgsQ0FBQztTQUNIO1FBRUQsTUFBTSxVQUFVLGVBQ2QsS0FBSyxDQUFDLGNBQWMsMENBQUUsVUFBVSxtQ0FBSSxJQUFJLENBQUM7UUFDM0MscUNBQXFDO1FBQ3JDLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxVQUFVLEdBQUcsS0FBSyxFQUFFO1lBQ3hDLE1BQU0sS0FBSyxDQUNULGdEQUFnRCxDQUNqRCxDQUFDO1NBQ0g7UUFFRCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWTtZQUNyQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO1lBQzFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUNwQixHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUNsRSxDQUFDO1FBRUosTUFBTSxnQkFBZ0IsR0FBRyxPQUFBLEtBQUssQ0FBQyxjQUFjLDBDQUFFLGFBQWEsRUFDMUQsQ0FBQyxDQUFDO1lBQ0Esa0JBQWtCLEVBQ2QsS0FBSyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsS0FBSztTQUM3QztZQUNELENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxrQ0FBa0M7UUFFakQsTUFBTSxtQkFBbUIsR0FBRztZQUMxQixZQUFZLGNBQ1YsS0FBSyxDQUFDLG1CQUFtQiwwQ0FBRSxZQUFZLG1DQUN2QyxzQkFBc0IsQ0FBQyxHQUFHO1lBQzVCLFNBQVMsY0FBRSxLQUFLLENBQUMsbUJBQW1CLDBDQUFFLGVBQWUsbUNBQUksSUFBSTtTQUM5RCxDQUFDO1FBRUYsTUFBTSxjQUFjLEdBQ2xCLE9BQUEsS0FBSyxDQUFDLFVBQVUsMENBQUUsMkJBQTJCLFlBQzdDLEtBQUssQ0FBQyxVQUFVLDBDQUFFLDRCQUE0QixDQUFBO1lBQzVDLENBQUMsQ0FBQztnQkFDQSxVQUFVLEVBQUU7b0JBQ1YsV0FBVyxFQUFFLE9BQUEsS0FBSyxDQUFDLFVBQVUsMENBQUUsMkJBQTJCLEVBQ3hELENBQUMsQ0FBQyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUU7d0JBQzNCLENBQUMsQ0FBQyxTQUFTO29CQUNiLFlBQVksRUFBRSxPQUFBLEtBQUssQ0FBQyxVQUFVLDBDQUMxQiw0QkFBNEIsRUFDOUIsQ0FBQyxDQUFDLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRTt3QkFDM0IsQ0FBQyxDQUFDLFNBQVM7aUJBQ2Q7YUFDRjtZQUNELENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFaEIsTUFBTSxXQUFXLEdBQUc7WUFDbEIsVUFBVSxFQUFFO2dCQUNWLGNBQWMsRUFBRTtvQkFDZCxPQUFPLEVBQ0wsT0FBQSxLQUFLLENBQUMsT0FBTywwQ0FBRSxrQkFBa0IsTUFBSyxTQUFTO29CQUNqRCxRQUFRLGNBQ04sS0FBSyxDQUFDLE9BQU8sMENBQUUsa0JBQWtCLDBDQUFFLFlBQVk7aUJBQ2xEO2dCQUNELFFBQVEsRUFBRTtvQkFDUixPQUFPLEVBQ0wsT0FBQSxLQUFLLENBQUMsT0FBTywwQ0FBRSwwQkFBMEI7d0JBQ3pDLFNBQVM7b0JBQ1gsY0FBYyxRQUNaLEtBQUssQ0FBQyxPQUFPLDBDQUFFLDBCQUEwQjtpQkFDNUM7Z0JBQ0QsRUFBRSxFQUFFO29CQUNGLE9BQU8sRUFBRSxhQUFBLEtBQUssQ0FBQyxPQUFPLDBDQUFFLEVBQUUsMENBQUUsTUFBTSxNQUFLLFNBQVM7b0JBQ2hELE1BQU0sY0FBRSxLQUFLLENBQUMsT0FBTywwQ0FBRSxFQUFFLDBDQUFFLE1BQU0sQ0FBQyxVQUFVO29CQUM1QyxNQUFNLGVBQUUsS0FBSyxDQUFDLE9BQU8sMENBQUUsRUFBRSw0Q0FBRSxNQUFNO2lCQUNsQzthQUNGO1NBQ0YsQ0FBQztRQUVGLElBQ0UsZUFBQSxLQUFLLENBQUMsb0JBQW9CLDRDQUFFLFNBQVMsNENBQUUsS0FBSztZQUM1QyxlQUFBLEtBQUssQ0FBQyxvQkFBb0IsNENBQUUsU0FBUyw0Q0FBRSxHQUFHLE1BQUssU0FBUyxFQUN4RDtZQUNBLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtnQkFDN0QsV0FBVyxFQUNULGdFQUFnRTtnQkFDbEUsS0FBSyxFQUFFLE9BQU8sS0FBSyxDQUFDLFdBQVcsYUFBYTthQUM3QyxDQUFDLENBQUM7WUFFSCxtR0FBbUc7WUFDbkcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLG1CQUFtQixDQUNqRCxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7Z0JBQ3RCLEdBQUcsRUFDRCwySEFBMkg7Z0JBQzdILFVBQVUsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNwQyxPQUFPLEVBQUU7b0JBQ1AsYUFBYTtvQkFDYixhQUFhO29CQUNiLGdCQUFnQjtvQkFDaEIsc0JBQXNCO29CQUN0QixpQkFBaUI7b0JBQ2pCLGlCQUFpQjtpQkFDbEI7Z0JBQ0QsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO2dCQUNoQixVQUFVLEVBQUU7b0JBQ1YsWUFBWSxFQUFFO3dCQUNaLGdCQUFnQixFQUFFLGtCQUFrQixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLGdCQUFnQjt3QkFDOUUsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTztxQkFDakQ7aUJBQ0Y7YUFDRixDQUFDLENBQ0gsQ0FBQztTQUNIO1FBRUQsSUFBSSxvQkFBb0IsQ0FBQztRQUN6QixrQkFBSSxLQUFLLENBQUMsb0JBQW9CLDRDQUFFLFNBQVMsNENBQUUsR0FBRyxFQUFFO1lBQzlDLG9CQUFvQixHQUFHO2dCQUNyQixJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsRUFBRTthQUNyRSxDQUFDO1NBQ0g7YUFBTSxrQkFBSSxLQUFLLENBQUMsb0JBQW9CLDRDQUFFLFNBQVMsNENBQUUsS0FBSyxFQUFFO1lBQ3ZELG9CQUFvQixHQUFHO2dCQUNyQixJQUFJLEVBQUU7b0JBQ0osS0FBSyxFQUFFO3dCQUNMLE9BQU8sRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLEtBQUs7cUJBQ3BEO2lCQUNGO2FBQ0YsQ0FBQztTQUNIO2FBQU0sSUFDTCxlQUFBLEtBQUssQ0FBQyxvQkFBb0IsNENBQUUsUUFBUSw0Q0FBRSxzQkFBc0IsTUFBSyxTQUFTLEVBQzFFO1lBQ0Esb0JBQW9CLEdBQUc7Z0JBQ3JCLEdBQUcsRUFBRTtvQkFDSCwyQkFBMkIsZ0JBQUUsS0FBSyxDQUFDLG9CQUFvQiw0Q0FBRSxRQUFRLDRDQUFFLHNCQUFzQixDQUFDLEdBQUcsQ0FDM0YsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FDbkM7aUJBQ0Y7YUFDRixDQUFDO1NBQ0g7UUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLG9CQUFVLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUNoRCxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTztZQUN4QyxtQkFBbUIsRUFDakIsS0FBSyxDQUFDLG1CQUFtQixLQUFLLFNBQVMsQ0FBQyxDQUFDO2dCQUN2QyxlQUFlLENBQUMsaUJBQWlCLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLE1BQU07WUFDbkgsbUJBQW1CLEVBQUU7Z0JBQ25CLFlBQVk7Z0JBQ1osYUFBYSxFQUFFLGVBQWUsQ0FBQyxTQUFTO2dCQUN4QyxjQUFjLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUNqRCxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FDakM7Z0JBQ0QsV0FBVyxFQUFFO29CQUNYLGNBQWMsRUFBRTt3QkFDZCxVQUFVLEVBQUUsVUFBVTtxQkFDdkI7aUJBQ0Y7YUFDRjtZQUNELGNBQWMsRUFBRTtnQkFDZCxnQkFBZ0I7Z0JBQ2hCLG1CQUFtQjthQUNwQjtZQUNELGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUI7WUFDMUMsa0JBQWtCLFNBQUUsS0FBSyxDQUFDLFVBQVUsNENBQUUsc0JBQXNCO1lBQzVELGNBQWMsRUFBRSxjQUFjO1lBQzlCLFdBQVcsRUFBRSxXQUFXO1lBQ3hCLG9CQUFvQixFQUFFLG9CQUFvQjtTQUMzQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FDOUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDcEQsQ0FBQztRQUNGLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUUvQixRQUFRLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRTtZQUMvQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNO1NBQ25DLENBQUMsQ0FBQztLQUNKOzs7Ozs7SUFwUE0sTUFBTSxDQUFDLGNBQWMsQ0FDMUIsS0FBMkIsRUFDM0IsRUFBVSxFQUNWLFVBQWtCO1FBRWxCLE1BQU0sTUFBTyxTQUFRLFdBQVc7WUFBaEM7O2dCQUNrQixlQUFVLEdBQUcsVUFBVSxDQUFDO2dCQUN4QixnQkFBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLG9FQUFvRTtZQUN2SixDQUFDO1NBQUE7UUFFRCxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztLQUM5QjtJQTJPTyxlQUFlLENBQUMsWUFBOEI7UUFDcEQsT0FBTyxTQUFTLFlBQVksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO0tBQzNDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNLLDBCQUEwQixDQUFDLGFBQXFCO1FBQ3RELElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDN0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksRUFBRSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRTtnQkFDNUUsUUFBUSxFQUFFO29CQUNSLE9BQU8sRUFBRSxPQUFPO29CQUNoQixNQUFNLEVBQUUsaUJBQWlCO29CQUN6QixVQUFVLEVBQUU7d0JBQ1YsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO3FCQUM1QjtvQkFDRCxrQkFBa0IsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUMxQywyQkFBMkIsQ0FDNUI7aUJBQ0Y7Z0JBQ0QsTUFBTSxFQUFFLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLENBQUM7b0JBQzlDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7aUJBQzdCLENBQUM7YUFDSCxDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLGVBQWUsYUFBYSxFQUFFLENBQUMsQ0FBQztLQUNsRjs7Ozs7Ozs7O0lBR0QsSUFBVyx5QkFBeUI7UUFDbEMsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsd0JBQXdCLENBQUMsQ0FBQztLQUNsRTs7Ozs7Ozs7O0lBR0QsSUFBVyw0QkFBNEI7UUFDckMsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsMkJBQTJCLENBQUMsQ0FBQztLQUNyRTtJQUVEOzs7Ozs7O09BT0c7SUFDSyxpQkFBaUIsQ0FBQyxhQUFxQjtRQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFO1lBQ2xDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLGFBQWEsRUFBRSxFQUFFO2dCQUNqRyxRQUFRLEVBQUU7b0JBQ1IsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLE1BQU0sRUFBRSxxQkFBcUI7b0JBQzdCLFVBQVUsRUFBRTt3QkFDVixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7cUJBQzVCO29CQUNELGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUM7aUJBQ2pFO2dCQUNELE1BQU0sRUFBRSxFQUFFLENBQUMsdUJBQXVCLENBQUMsWUFBWSxDQUFDO29CQUM5QyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2lCQUM3QixDQUFDO2FBQ0gsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztLQUV0RTs7Ozs7Ozs7O0lBRUQsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLENBQUMsQ0FBQztLQUN4RDs7Ozs7Ozs7O0lBR0QsSUFBVyxtQkFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsMEJBQTBCLENBQUMsQ0FBQztLQUMzRDs7Ozs7Ozs7O0lBR0QsSUFBVyx5QkFBeUI7UUFDbEMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztLQUNqRTs7Ozs7Ozs7Ozs7O0lBR00sT0FBTyxDQUFDLEdBQUcsU0FBbUI7O1FBQ25DLElBQUksSUFBSSxDQUFDLDBCQUEwQixFQUFFO1lBQ25DLE1BQU0saUJBQWlCLEdBQUcsWUFBWSxDQUFDLENBQUMsV0FBVztZQUNuRCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUMzQixDQUFDLFFBQVEsRUFBRSxFQUFFLENBQ1gsSUFBSSxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxZQUFZLFFBQVEsRUFBRSxFQUFFO2dCQUN0RCxVQUFVLEVBQUUsR0FBRyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLFFBQVEsRUFBRTtnQkFDakUsb0JBQW9CLEVBQUU7b0JBQ3BCLG9CQUFvQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQztvQkFDbEQsaUJBQWlCLEVBQUUsVUFBVTtpQkFDOUI7Z0JBQ0QsYUFBYSxFQUFFLElBQUksQ0FBQywwQkFBMEI7YUFDL0MsQ0FBQyxDQUNMLENBQUM7WUFFRixJQUFJLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsNkJBQTZCLG9CQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRTtnQkFDbEYsUUFBUSxFQUFFO29CQUNSLE9BQU8sRUFBRSxPQUFPO29CQUNoQixNQUFNLEVBQUUsMkJBQTJCO29CQUNuQyxVQUFVLEVBQUU7d0JBQ1YsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO3dCQUMzQixhQUFhLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztxQkFDekQ7b0JBQ0Qsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7aUJBQzVEO2dCQUNELE1BQU0sRUFBRSxFQUFFLENBQUMsdUJBQXVCLENBQUMsY0FBYyxDQUFDO29CQUNoRCxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7d0JBQ3RCLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO3dCQUM1QixTQUFTLEVBQUUsT0FBQyxJQUFJLENBQUMsMEJBQTBCLDBDQUFFLE1BQU0sQ0FBQztxQkFDckQsQ0FBQztvQkFDRixJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7d0JBQ3RCLE9BQU8sRUFBRSxDQUFDLGlDQUFpQyxDQUFDO3dCQUM1QyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO3FCQUM3QixDQUFDO2lCQUNILENBQUM7YUFDSCxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsTUFBTSxLQUFLLENBQ1QsaUZBQWlGLENBQ2xGLENBQUM7U0FDSDtLQUNGOztBQXZYSCwwQkF3WEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhY21wY2EgZnJvbSAnYXdzLWNkay1saWIvYXdzLWFjbXBjYSc7XG5pbXBvcnQgKiBhcyBlYzIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBrbXMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWttcyc7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCAqIGFzIHMzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgKiBhcyBzZWNyZXRzbWFuYWdlciBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXInO1xuaW1wb3J0ICogYXMgY29yZSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBjciBmcm9tICdhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzJztcbmltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBhZGRyZXNzT2YgfSBmcm9tICdjb25zdHJ1Y3RzL2xpYi9wcml2YXRlL3VuaXF1ZWlkJztcbmltcG9ydCB7IEthZmthVmVyc2lvbiB9IGZyb20gJy4vJztcbmltcG9ydCB7IENmbkNsdXN0ZXIgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbXNrJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgSUNsdXN0ZXIgZXh0ZW5kcyBjb3JlLklSZXNvdXJjZSwgZWMyLklDb25uZWN0YWJsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgY2x1c3RlckFybjogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgbmV3IG9yIGltcG9ydGVkIE1TSyBDbHVzdGVyLlxuICovXG5hYnN0cmFjdCBjbGFzcyBDbHVzdGVyQmFzZSBleHRlbmRzIGNvcmUuUmVzb3VyY2UgaW1wbGVtZW50cyBJQ2x1c3RlciB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBjbHVzdGVyQXJuOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuICAvKiogQGludGVybmFsICovXG4gIHByb3RlY3RlZCBfY29ubmVjdGlvbnM6IGVjMi5Db25uZWN0aW9ucyB8IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGdldCBjb25uZWN0aW9ucygpOiBlYzIuQ29ubmVjdGlvbnMge1xuICAgIGlmICghdGhpcy5fY29ubmVjdGlvbnMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQW4gaW1wb3J0ZWQgQ2x1c3RlciBjYW5ub3QgbWFuYWdlIGl0cyBzZWN1cml0eSBncm91cHMnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2Nvbm5lY3Rpb25zO1xuICB9XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlclByb3BzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkga2Fma2FWZXJzaW9uOiBLYWZrYVZlcnNpb247XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBudW1iZXJPZkJyb2tlck5vZGVzPzogbnVtYmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB2cGM6IGVjMi5JVnBjO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB2cGNTdWJuZXRzPzogZWMyLlN1Ym5ldFNlbGVjdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgaW5zdGFuY2VUeXBlPzogZWMyLkluc3RhbmNlVHlwZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBzZWN1cml0eUdyb3Vwcz86IGVjMi5JU2VjdXJpdHlHcm91cFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBlYnNTdG9yYWdlSW5mbz86IEVic1N0b3JhZ2VJbmZvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgY29uZmlndXJhdGlvbkluZm8/OiBDbHVzdGVyQ29uZmlndXJhdGlvbkluZm87XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbW9uaXRvcmluZz86IE1vbml0b3JpbmdDb25maWd1cmF0aW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbG9nZ2luZz86IEJyb2tlckxvZ2dpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZW5jcnlwdGlvbkluVHJhbnNpdD86IEVuY3J5cHRpb25JblRyYW5zaXRDb25maWc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNsaWVudEF1dGhlbnRpY2F0aW9uPzogQ2xpZW50QXV0aGVudGljYXRpb247XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeT86IGNvcmUuUmVtb3ZhbFBvbGljeTtcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBFYnNTdG9yYWdlSW5mbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgdm9sdW1lU2l6ZT86IG51bWJlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGVuY3J5cHRpb25LZXk/OiBrbXMuSUtleTtcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIENsdXN0ZXJDb25maWd1cmF0aW9uSW5mbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgYXJuOiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgcmV2aXNpb246IG51bWJlcjtcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGVudW0gQ2x1c3Rlck1vbml0b3JpbmdMZXZlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIERFRkFVTFQgPSAnREVGQVVMVCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIFBFUl9CUk9LRVIgPSAnUEVSX0JST0tFUicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBQRVJfVE9QSUNfUEVSX0JST0tFUiA9ICdQRVJfVE9QSUNfUEVSX0JST0tFUicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgUEVSX1RPUElDX1BFUl9QQVJUSVRJT04gPSAnUEVSX1RPUElDX1BFUl9QQVJUSVRJT04nLFxufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBNb25pdG9yaW5nQ29uZmlndXJhdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBjbHVzdGVyTW9uaXRvcmluZ0xldmVsPzogQ2x1c3Rlck1vbml0b3JpbmdMZXZlbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGVuYWJsZVByb21ldGhldXNKbXhFeHBvcnRlcj86IGJvb2xlYW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGVuYWJsZVByb21ldGhldXNOb2RlRXhwb3J0ZXI/OiBib29sZWFuO1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBCcm9rZXJMb2dnaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBmaXJlaG9zZURlbGl2ZXJ5U3RyZWFtTmFtZT86IHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNsb3Vkd2F0Y2hMb2dHcm91cD86IGxvZ3MuSUxvZ0dyb3VwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBzMz86IFMzTG9nZ2luZ0NvbmZpZ3VyYXRpb247XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgUzNMb2dnaW5nQ29uZmlndXJhdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBidWNrZXQ6IHMzLklCdWNrZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgcHJlZml4Pzogc3RyaW5nO1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGVudW0gQ2xpZW50QnJva2VyRW5jcnlwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIFRMUyA9ICdUTFMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgVExTX1BMQUlOVEVYVCA9ICdUTFNfUExBSU5URVhUJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIFBMQUlOVEVYVCA9ICdQTEFJTlRFWFQnLFxufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIEVuY3J5cHRpb25JblRyYW5zaXRDb25maWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNsaWVudEJyb2tlcj86IENsaWVudEJyb2tlckVuY3J5cHRpb247XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZW5hYmxlSW5DbHVzdGVyPzogYm9vbGVhbjtcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgU2FzbEF1dGhQcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgc2NyYW0/OiBib29sZWFuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgaWFtPzogYm9vbGVhbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGtleT86IGttcy5JS2V5O1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIFRsc0F1dGhQcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgY2VydGlmaWNhdGVBdXRob3JpdGllcz86IGFjbXBjYS5JQ2VydGlmaWNhdGVBdXRob3JpdHlbXTtcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBDbGllbnRBdXRoZW50aWNhdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyBzYXNsKHByb3BzOiBTYXNsQXV0aFByb3BzKTogQ2xpZW50QXV0aGVudGljYXRpb24ge1xuICAgIHJldHVybiBuZXcgQ2xpZW50QXV0aGVudGljYXRpb24ocHJvcHMsIHVuZGVmaW5lZCk7XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyB0bHMocHJvcHM6IFRsc0F1dGhQcm9wcyk6IENsaWVudEF1dGhlbnRpY2F0aW9uIHtcbiAgICByZXR1cm4gbmV3IENsaWVudEF1dGhlbnRpY2F0aW9uKHVuZGVmaW5lZCwgcHJvcHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBzYXNsUHJvcHMgLSBwcm9wZXJ0aWVzIGZvciBTQVNMIGF1dGhlbnRpY2F0aW9uXG4gICAqIEBwYXJhbSB0bHNQcm9wcyAtIHByb3BlcnRpZXMgZm9yIFRMUyBhdXRoZW50aWNhdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2FzbFByb3BzPzogU2FzbEF1dGhQcm9wcyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgdGxzUHJvcHM/OiBUbHNBdXRoUHJvcHMsXG4gICkge31cbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgQ2x1c3RlciBleHRlbmRzIENsdXN0ZXJCYXNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUNsdXN0ZXJBcm4oXG4gICAgc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgY2x1c3RlckFybjogc3RyaW5nLFxuICApOiBJQ2x1c3RlciB7XG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgQ2x1c3RlckJhc2Uge1xuICAgICAgcHVibGljIHJlYWRvbmx5IGNsdXN0ZXJBcm4gPSBjbHVzdGVyQXJuO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGNsdXN0ZXJOYW1lID0gY29yZS5Gbi5zZWxlY3QoMSwgY29yZS5Gbi5zcGxpdCgnLycsIGNsdXN0ZXJBcm4pKTsgLy8gWydhcm46cGFydGl0aW9uOmthZmthOnJlZ2lvbjphY2NvdW50LWlkJywgY2x1c3Rlck5hbWUsIGNsdXN0ZXJJZF1cbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGNsdXN0ZXJBcm46IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IHNhc2xTY3JhbUF1dGhlbnRpY2F0aW9uS2V5Pzoga21zLklLZXk7XG4gIHByaXZhdGUgX2NsdXN0ZXJEZXNjcmlwdGlvbj86IGNyLkF3c0N1c3RvbVJlc291cmNlO1xuICBwcml2YXRlIF9jbHVzdGVyQm9vdHN0cmFwQnJva2Vycz86IGNyLkF3c0N1c3RvbVJlc291cmNlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IENsdXN0ZXJQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcGh5c2ljYWxOYW1lOiBwcm9wcy5jbHVzdGVyTmFtZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHN1Ym5ldFNlbGVjdGlvbiA9IHByb3BzLnZwYy5zZWxlY3RTdWJuZXRzKHByb3BzLnZwY1N1Ym5ldHMpO1xuXG4gICAgdGhpcy5fY29ubmVjdGlvbnMgPSBuZXcgZWMyLkNvbm5lY3Rpb25zKHtcbiAgICAgIHNlY3VyaXR5R3JvdXBzOiBwcm9wcy5zZWN1cml0eUdyb3VwcyA/PyBbXG4gICAgICAgIG5ldyBlYzIuU2VjdXJpdHlHcm91cCh0aGlzLCAnU2VjdXJpdHlHcm91cCcsIHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ01TSyBzZWN1cml0eSBncm91cCcsXG4gICAgICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICAgIH0pLFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIGlmIChzdWJuZXRTZWxlY3Rpb24uc3VibmV0cy5sZW5ndGggPCAyKSB7XG4gICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgYENsdXN0ZXIgcmVxdWlyZXMgYXQgbGVhc3QgMiBzdWJuZXRzLCBnb3QgJHtzdWJuZXRTZWxlY3Rpb24uc3VibmV0cy5sZW5ndGh9YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgIWNvcmUuVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmNsdXN0ZXJOYW1lKSAmJlxuICAgICAgIS9eW2EtekEtWjAtOV0rJC8udGVzdChwcm9wcy5jbHVzdGVyTmFtZSkgJiZcbiAgICAgIHByb3BzLmNsdXN0ZXJOYW1lLmxlbmd0aCA+IDY0XG4gICAgKSB7XG4gICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgJ1RoZSBjbHVzdGVyIG5hbWUgbXVzdCBvbmx5IGNvbnRhaW4gYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgYW5kIGhhdmUgYSBtYXhpbXVtIGxlbmd0aCBvZiA2NCBjaGFyYWN0ZXJzLicgK1xuICAgICAgICAgIGBnb3Q6ICcke3Byb3BzLmNsdXN0ZXJOYW1lfS4gbGVuZ3RoOiAke3Byb3BzLmNsdXN0ZXJOYW1lLmxlbmd0aH0nYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgcHJvcHMuY2xpZW50QXV0aGVudGljYXRpb24/LnNhc2xQcm9wcz8uaWFtICYmXG4gICAgICBwcm9wcy5jbGllbnRBdXRoZW50aWNhdGlvbj8uc2FzbFByb3BzPy5zY3JhbVxuICAgICkge1xuICAgICAgdGhyb3cgRXJyb3IoJ09ubHkgb25lIGNsaWVudCBhdXRoZW50aWNhdGlvbiBtZXRob2QgY2FuIGJlIGVuYWJsZWQuJyk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgcHJvcHMuZW5jcnlwdGlvbkluVHJhbnNpdD8uY2xpZW50QnJva2VyID09PVxuICAgICAgICBDbGllbnRCcm9rZXJFbmNyeXB0aW9uLlBMQUlOVEVYVCAmJlxuICAgICAgcHJvcHMuY2xpZW50QXV0aGVudGljYXRpb25cbiAgICApIHtcbiAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAnVG8gZW5hYmxlIGNsaWVudCBhdXRoZW50aWNhdGlvbiwgeW91IG11c3QgZW5hYmxlZCBUTFMtZW5jcnlwdGVkIHRyYWZmaWMgYmV0d2VlbiBjbGllbnRzIGFuZCBicm9rZXJzLicsXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICBwcm9wcy5lbmNyeXB0aW9uSW5UcmFuc2l0Py5jbGllbnRCcm9rZXIgPT09XG4gICAgICAgIENsaWVudEJyb2tlckVuY3J5cHRpb24uVExTX1BMQUlOVEVYVCAmJlxuICAgICAgKHByb3BzLmNsaWVudEF1dGhlbnRpY2F0aW9uPy5zYXNsUHJvcHM/LnNjcmFtIHx8XG4gICAgICAgIHByb3BzLmNsaWVudEF1dGhlbnRpY2F0aW9uPy5zYXNsUHJvcHM/LmlhbSlcbiAgICApIHtcbiAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAnVG8gZW5hYmxlIFNBU0wvU0NSQU0gb3IgSUFNIGF1dGhlbnRpY2F0aW9uLCB5b3UgbXVzdCBvbmx5IGFsbG93IFRMUy1lbmNyeXB0ZWQgdHJhZmZpYyBiZXR3ZWVuIGNsaWVudHMgYW5kIGJyb2tlcnMuJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3Qgdm9sdW1lU2l6ZSA9XG4gICAgICBwcm9wcy5lYnNTdG9yYWdlSW5mbz8udm9sdW1lU2l6ZSA/PyAxMDAwO1xuICAgIC8vIE1pbmltdW06IDEgR2lCLCBtYXhpbXVtOiAxNjM4NCBHaUJcbiAgICBpZiAodm9sdW1lU2l6ZSA8IDEgfHwgdm9sdW1lU2l6ZSA+IDE2Mzg0KSB7XG4gICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgJ0VCUyB2b2x1bWUgc2l6ZSBzaG91bGQgYmUgaW4gdGhlIHJhbmdlIDEtMTYzODQnLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBpbnN0YW5jZVR5cGUgPSBwcm9wcy5pbnN0YW5jZVR5cGVcbiAgICAgID8gdGhpcy5tc2tJbnN0YW5jZVR5cGUocHJvcHMuaW5zdGFuY2VUeXBlKVxuICAgICAgOiB0aGlzLm1za0luc3RhbmNlVHlwZShcbiAgICAgICAgZWMyLkluc3RhbmNlVHlwZS5vZihlYzIuSW5zdGFuY2VDbGFzcy5NNSwgZWMyLkluc3RhbmNlU2l6ZS5MQVJHRSksXG4gICAgICApO1xuXG4gICAgY29uc3QgZW5jcnlwdGlvbkF0UmVzdCA9IHByb3BzLmVic1N0b3JhZ2VJbmZvPy5lbmNyeXB0aW9uS2V5XG4gICAgICA/IHtcbiAgICAgICAgZGF0YVZvbHVtZUttc0tleUlkOlxuICAgICAgICAgICAgcHJvcHMuZWJzU3RvcmFnZUluZm8uZW5jcnlwdGlvbktleS5rZXlJZCxcbiAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkOyAvLyBNU0sgd2lsbCBjcmVhdGUgdGhlIG1hbmFnZWQga2V5XG5cbiAgICBjb25zdCBlbmNyeXB0aW9uSW5UcmFuc2l0ID0ge1xuICAgICAgY2xpZW50QnJva2VyOlxuICAgICAgICBwcm9wcy5lbmNyeXB0aW9uSW5UcmFuc2l0Py5jbGllbnRCcm9rZXIgPz9cbiAgICAgICAgQ2xpZW50QnJva2VyRW5jcnlwdGlvbi5UTFMsXG4gICAgICBpbkNsdXN0ZXI6IHByb3BzLmVuY3J5cHRpb25JblRyYW5zaXQ/LmVuYWJsZUluQ2x1c3RlciA/PyB0cnVlLFxuICAgIH07XG5cbiAgICBjb25zdCBvcGVuTW9uaXRvcmluZyA9XG4gICAgICBwcm9wcy5tb25pdG9yaW5nPy5lbmFibGVQcm9tZXRoZXVzSm14RXhwb3J0ZXIgfHxcbiAgICAgIHByb3BzLm1vbml0b3Jpbmc/LmVuYWJsZVByb21ldGhldXNOb2RlRXhwb3J0ZXJcbiAgICAgICAgPyB7XG4gICAgICAgICAgcHJvbWV0aGV1czoge1xuICAgICAgICAgICAgam14RXhwb3J0ZXI6IHByb3BzLm1vbml0b3Jpbmc/LmVuYWJsZVByb21ldGhldXNKbXhFeHBvcnRlclxuICAgICAgICAgICAgICA/IHsgZW5hYmxlZEluQnJva2VyOiB0cnVlIH1cbiAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBub2RlRXhwb3J0ZXI6IHByb3BzLm1vbml0b3JpbmdcbiAgICAgICAgICAgICAgPy5lbmFibGVQcm9tZXRoZXVzTm9kZUV4cG9ydGVyXG4gICAgICAgICAgICAgID8geyBlbmFibGVkSW5Ccm9rZXI6IHRydWUgfVxuICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICB9LFxuICAgICAgICB9XG4gICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgbG9nZ2luZ0luZm8gPSB7XG4gICAgICBicm9rZXJMb2dzOiB7XG4gICAgICAgIGNsb3VkV2F0Y2hMb2dzOiB7XG4gICAgICAgICAgZW5hYmxlZDpcbiAgICAgICAgICAgIHByb3BzLmxvZ2dpbmc/LmNsb3Vkd2F0Y2hMb2dHcm91cCAhPT0gdW5kZWZpbmVkLFxuICAgICAgICAgIGxvZ0dyb3VwOlxuICAgICAgICAgICAgcHJvcHMubG9nZ2luZz8uY2xvdWR3YXRjaExvZ0dyb3VwPy5sb2dHcm91cE5hbWUsXG4gICAgICAgIH0sXG4gICAgICAgIGZpcmVob3NlOiB7XG4gICAgICAgICAgZW5hYmxlZDpcbiAgICAgICAgICAgIHByb3BzLmxvZ2dpbmc/LmZpcmVob3NlRGVsaXZlcnlTdHJlYW1OYW1lICE9PVxuICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgIGRlbGl2ZXJ5U3RyZWFtOlxuICAgICAgICAgICAgcHJvcHMubG9nZ2luZz8uZmlyZWhvc2VEZWxpdmVyeVN0cmVhbU5hbWUsXG4gICAgICAgIH0sXG4gICAgICAgIHMzOiB7XG4gICAgICAgICAgZW5hYmxlZDogcHJvcHMubG9nZ2luZz8uczM/LmJ1Y2tldCAhPT0gdW5kZWZpbmVkLFxuICAgICAgICAgIGJ1Y2tldDogcHJvcHMubG9nZ2luZz8uczM/LmJ1Y2tldC5idWNrZXROYW1lLFxuICAgICAgICAgIHByZWZpeDogcHJvcHMubG9nZ2luZz8uczM/LnByZWZpeCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIGlmIChcbiAgICAgIHByb3BzLmNsaWVudEF1dGhlbnRpY2F0aW9uPy5zYXNsUHJvcHM/LnNjcmFtICYmXG4gICAgICBwcm9wcy5jbGllbnRBdXRoZW50aWNhdGlvbj8uc2FzbFByb3BzPy5rZXkgPT09IHVuZGVmaW5lZFxuICAgICkge1xuICAgICAgdGhpcy5zYXNsU2NyYW1BdXRoZW50aWNhdGlvbktleSA9IG5ldyBrbXMuS2V5KHRoaXMsICdTQVNMS2V5Jywge1xuICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAnVXNlZCBmb3IgZW5jcnlwdGluZyBNU0sgc2VjcmV0cyBmb3IgU0FTTC9TQ1JBTSBhdXRoZW50aWNhdGlvbi4nLFxuICAgICAgICBhbGlhczogYG1zay8ke3Byb3BzLmNsdXN0ZXJOYW1lfS9zYXNsL3NjcmFtYCxcbiAgICAgIH0pO1xuXG4gICAgICAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va21zL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9zZXJ2aWNlcy1zZWNyZXRzLW1hbmFnZXIuaHRtbCNhc20tcG9saWNpZXNcbiAgICAgIHRoaXMuc2FzbFNjcmFtQXV0aGVudGljYXRpb25LZXkuYWRkVG9SZXNvdXJjZVBvbGljeShcbiAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIHNpZDpcbiAgICAgICAgICAgICdBbGxvdyBhY2Nlc3MgdGhyb3VnaCBBV1MgU2VjcmV0cyBNYW5hZ2VyIGZvciBhbGwgcHJpbmNpcGFscyBpbiB0aGUgYWNjb3VudCB0aGF0IGFyZSBhdXRob3JpemVkIHRvIHVzZSBBV1MgU2VjcmV0cyBNYW5hZ2VyJyxcbiAgICAgICAgICBwcmluY2lwYWxzOiBbbmV3IGlhbS5BbnlQcmluY2lwYWwoKV0sXG4gICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgJ2ttczpFbmNyeXB0JyxcbiAgICAgICAgICAgICdrbXM6RGVjcnlwdCcsXG4gICAgICAgICAgICAna21zOlJlRW5jcnlwdConLFxuICAgICAgICAgICAgJ2ttczpHZW5lcmF0ZURhdGFLZXkqJyxcbiAgICAgICAgICAgICdrbXM6Q3JlYXRlR3JhbnQnLFxuICAgICAgICAgICAgJ2ttczpEZXNjcmliZUtleScsXG4gICAgICAgICAgXSxcbiAgICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgICAgIGNvbmRpdGlvbnM6IHtcbiAgICAgICAgICAgIFN0cmluZ0VxdWFsczoge1xuICAgICAgICAgICAgICAna21zOlZpYVNlcnZpY2UnOiBgc2VjcmV0c21hbmFnZXIuJHtjb3JlLlN0YWNrLm9mKHRoaXMpLnJlZ2lvbn0uYW1hem9uYXdzLmNvbWAsXG4gICAgICAgICAgICAgICdrbXM6Q2FsbGVyQWNjb3VudCc6IGNvcmUuU3RhY2sub2YodGhpcykuYWNjb3VudCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cblxuICAgIGxldCBjbGllbnRBdXRoZW50aWNhdGlvbjtcbiAgICBpZiAocHJvcHMuY2xpZW50QXV0aGVudGljYXRpb24/LnNhc2xQcm9wcz8uaWFtKSB7XG4gICAgICBjbGllbnRBdXRoZW50aWNhdGlvbiA9IHtcbiAgICAgICAgc2FzbDogeyBpYW06IHsgZW5hYmxlZDogcHJvcHMuY2xpZW50QXV0aGVudGljYXRpb24uc2FzbFByb3BzLmlhbSB9IH0sXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAocHJvcHMuY2xpZW50QXV0aGVudGljYXRpb24/LnNhc2xQcm9wcz8uc2NyYW0pIHtcbiAgICAgIGNsaWVudEF1dGhlbnRpY2F0aW9uID0ge1xuICAgICAgICBzYXNsOiB7XG4gICAgICAgICAgc2NyYW06IHtcbiAgICAgICAgICAgIGVuYWJsZWQ6IHByb3BzLmNsaWVudEF1dGhlbnRpY2F0aW9uLnNhc2xQcm9wcy5zY3JhbSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgcHJvcHMuY2xpZW50QXV0aGVudGljYXRpb24/LnRsc1Byb3BzPy5jZXJ0aWZpY2F0ZUF1dGhvcml0aWVzICE9PSB1bmRlZmluZWRcbiAgICApIHtcbiAgICAgIGNsaWVudEF1dGhlbnRpY2F0aW9uID0ge1xuICAgICAgICB0bHM6IHtcbiAgICAgICAgICBjZXJ0aWZpY2F0ZUF1dGhvcml0eUFybkxpc3Q6IHByb3BzLmNsaWVudEF1dGhlbnRpY2F0aW9uPy50bHNQcm9wcz8uY2VydGlmaWNhdGVBdXRob3JpdGllcy5tYXAoXG4gICAgICAgICAgICAoY2EpID0+IGNhLmNlcnRpZmljYXRlQXV0aG9yaXR5QXJuLFxuICAgICAgICAgICksXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IHJlc291cmNlID0gbmV3IENmbkNsdXN0ZXIodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgY2x1c3Rlck5hbWU6IHByb3BzLmNsdXN0ZXJOYW1lLFxuICAgICAga2Fma2FWZXJzaW9uOiBwcm9wcy5rYWZrYVZlcnNpb24udmVyc2lvbixcbiAgICAgIG51bWJlck9mQnJva2VyTm9kZXM6XG4gICAgICAgIHByb3BzLm51bWJlck9mQnJva2VyTm9kZXMgIT09IHVuZGVmaW5lZCA/XG4gICAgICAgICAgc3VibmV0U2VsZWN0aW9uLmF2YWlsYWJpbGl0eVpvbmVzLmxlbmd0aCAqIHByb3BzLm51bWJlck9mQnJva2VyTm9kZXMgOiBzdWJuZXRTZWxlY3Rpb24uYXZhaWxhYmlsaXR5Wm9uZXMubGVuZ3RoLFxuICAgICAgYnJva2VyTm9kZUdyb3VwSW5mbzoge1xuICAgICAgICBpbnN0YW5jZVR5cGUsXG4gICAgICAgIGNsaWVudFN1Ym5ldHM6IHN1Ym5ldFNlbGVjdGlvbi5zdWJuZXRJZHMsXG4gICAgICAgIHNlY3VyaXR5R3JvdXBzOiB0aGlzLmNvbm5lY3Rpb25zLnNlY3VyaXR5R3JvdXBzLm1hcChcbiAgICAgICAgICAoZ3JvdXApID0+IGdyb3VwLnNlY3VyaXR5R3JvdXBJZCxcbiAgICAgICAgKSxcbiAgICAgICAgc3RvcmFnZUluZm86IHtcbiAgICAgICAgICBlYnNTdG9yYWdlSW5mbzoge1xuICAgICAgICAgICAgdm9sdW1lU2l6ZTogdm9sdW1lU2l6ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGVuY3J5cHRpb25JbmZvOiB7XG4gICAgICAgIGVuY3J5cHRpb25BdFJlc3QsXG4gICAgICAgIGVuY3J5cHRpb25JblRyYW5zaXQsXG4gICAgICB9LFxuICAgICAgY29uZmlndXJhdGlvbkluZm86IHByb3BzLmNvbmZpZ3VyYXRpb25JbmZvLFxuICAgICAgZW5oYW5jZWRNb25pdG9yaW5nOiBwcm9wcy5tb25pdG9yaW5nPy5jbHVzdGVyTW9uaXRvcmluZ0xldmVsLFxuICAgICAgb3Blbk1vbml0b3Jpbmc6IG9wZW5Nb25pdG9yaW5nLFxuICAgICAgbG9nZ2luZ0luZm86IGxvZ2dpbmdJbmZvLFxuICAgICAgY2xpZW50QXV0aGVudGljYXRpb246IGNsaWVudEF1dGhlbnRpY2F0aW9uLFxuICAgIH0pO1xuXG4gICAgdGhpcy5jbHVzdGVyTmFtZSA9IHRoaXMuZ2V0UmVzb3VyY2VOYW1lQXR0cmlidXRlKFxuICAgICAgY29yZS5Gbi5zZWxlY3QoMSwgY29yZS5Gbi5zcGxpdCgnLycsIHJlc291cmNlLnJlZikpLFxuICAgICk7XG4gICAgdGhpcy5jbHVzdGVyQXJuID0gcmVzb3VyY2UucmVmO1xuXG4gICAgcmVzb3VyY2UuYXBwbHlSZW1vdmFsUG9saWN5KHByb3BzLnJlbW92YWxQb2xpY3ksIHtcbiAgICAgIGRlZmF1bHQ6IGNvcmUuUmVtb3ZhbFBvbGljeS5SRVRBSU4sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG1za0luc3RhbmNlVHlwZShpbnN0YW5jZVR5cGU6IGVjMi5JbnN0YW5jZVR5cGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBga2Fma2EuJHtpbnN0YW5jZVR5cGUudG9TdHJpbmcoKX1gO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgWm9vS2VlcGVyIENvbm5lY3Rpb24gc3RyaW5nXG4gICAqXG4gICAqIFVzZXMgYSBDdXN0b20gUmVzb3VyY2UgdG8gbWFrZSBhbiBBUEkgY2FsbCB0byBgZGVzY3JpYmVDbHVzdGVyYCB1c2luZyB0aGUgSmF2YXNjcmlwdCBTREtcbiAgICpcbiAgICogQHBhcmFtIHJlc3BvbnNlRmllbGQgRmllbGQgdG8gcmV0dXJuIGZyb20gQVBJIGNhbGwuIGVnLiBab29rZWVwZXJDb25uZWN0U3RyaW5nLCBab29rZWVwZXJDb25uZWN0U3RyaW5nVGxzXG4gICAqIEByZXR1cm5zIC0gVGhlIGNvbm5lY3Rpb24gc3RyaW5nIHRvIHVzZSB0byBjb25uZWN0IHRvIHRoZSBBcGFjaGUgWm9vS2VlcGVyIGNsdXN0ZXIuXG4gICAqL1xuICBwcml2YXRlIF96b29rZWVwZXJDb25uZWN0aW9uU3RyaW5nKHJlc3BvbnNlRmllbGQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLl9jbHVzdGVyRGVzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuX2NsdXN0ZXJEZXNjcmlwdGlvbiA9IG5ldyBjci5Bd3NDdXN0b21SZXNvdXJjZSh0aGlzLCAnWm9va2VlcGVyQ29ubmVjdCcsIHtcbiAgICAgICAgb25VcGRhdGU6IHtcbiAgICAgICAgICBzZXJ2aWNlOiAnS2Fma2EnLFxuICAgICAgICAgIGFjdGlvbjogJ2Rlc2NyaWJlQ2x1c3RlcicsXG4gICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgQ2x1c3RlckFybjogdGhpcy5jbHVzdGVyQXJuLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcGh5c2ljYWxSZXNvdXJjZUlkOiBjci5QaHlzaWNhbFJlc291cmNlSWQub2YoXG4gICAgICAgICAgICAnWm9vS2VlcGVyQ29ubmVjdGlvblN0cmluZycsXG4gICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgICAgcG9saWN5OiBjci5Bd3NDdXN0b21SZXNvdXJjZVBvbGljeS5mcm9tU2RrQ2FsbHMoe1xuICAgICAgICAgIHJlc291cmNlczogW3RoaXMuY2x1c3RlckFybl0sXG4gICAgICAgIH0pLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9jbHVzdGVyRGVzY3JpcHRpb24uZ2V0UmVzcG9uc2VGaWVsZChgQ2x1c3RlckluZm8uJHtyZXNwb25zZUZpZWxkfWApO1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBnZXQgem9va2VlcGVyQ29ubmVjdGlvblN0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl96b29rZWVwZXJDb25uZWN0aW9uU3RyaW5nKCdab29rZWVwZXJDb25uZWN0U3RyaW5nJyk7XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGdldCB6b29rZWVwZXJDb25uZWN0aW9uU3RyaW5nVGxzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3pvb2tlZXBlckNvbm5lY3Rpb25TdHJpbmcoJ1pvb2tlZXBlckNvbm5lY3RTdHJpbmdUbHMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGxpc3Qgb2YgYnJva2VycyB0aGF0IGEgY2xpZW50IGFwcGxpY2F0aW9uIGNhbiB1c2UgdG8gYm9vdHN0cmFwXG4gICAqXG4gICAqIFVzZXMgYSBDdXN0b20gUmVzb3VyY2UgdG8gbWFrZSBhbiBBUEkgY2FsbCB0byBgZ2V0Qm9vdHN0cmFwQnJva2Vyc2AgdXNpbmcgdGhlIEphdmFzY3JpcHQgU0RLXG4gICAqXG4gICAqIEBwYXJhbSByZXNwb25zZUZpZWxkIEZpZWxkIHRvIHJldHVybiBmcm9tIEFQSSBjYWxsLiBlZy4gQm9vdHN0cmFwQnJva2VyU3RyaW5nU2FzbFNjcmFtLCBCb290c3RyYXBCcm9rZXJTdHJpbmdcbiAgICogQHJldHVybnMgLSBBIHN0cmluZyBjb250YWluaW5nIG9uZSBvciBtb3JlIGhvc3RuYW1lOnBvcnQgcGFpcnMuXG4gICAqL1xuICBwcml2YXRlIF9ib290c3RyYXBCcm9rZXJzKHJlc3BvbnNlRmllbGQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLl9jbHVzdGVyQm9vdHN0cmFwQnJva2Vycykge1xuICAgICAgdGhpcy5fY2x1c3RlckJvb3RzdHJhcEJyb2tlcnMgPSBuZXcgY3IuQXdzQ3VzdG9tUmVzb3VyY2UodGhpcywgYEJvb3RzdHJhcEJyb2tlcnMke3Jlc3BvbnNlRmllbGR9YCwge1xuICAgICAgICBvblVwZGF0ZToge1xuICAgICAgICAgIHNlcnZpY2U6ICdLYWZrYScsXG4gICAgICAgICAgYWN0aW9uOiAnZ2V0Qm9vdHN0cmFwQnJva2VycycsXG4gICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgQ2x1c3RlckFybjogdGhpcy5jbHVzdGVyQXJuLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcGh5c2ljYWxSZXNvdXJjZUlkOiBjci5QaHlzaWNhbFJlc291cmNlSWQub2YoJ0Jvb3RzdHJhcEJyb2tlcnMnKSxcbiAgICAgICAgfSxcbiAgICAgICAgcG9saWN5OiBjci5Bd3NDdXN0b21SZXNvdXJjZVBvbGljeS5mcm9tU2RrQ2FsbHMoe1xuICAgICAgICAgIHJlc291cmNlczogW3RoaXMuY2x1c3RlckFybl0sXG4gICAgICAgIH0pLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9jbHVzdGVyQm9vdHN0cmFwQnJva2Vycy5nZXRSZXNwb25zZUZpZWxkKHJlc3BvbnNlRmllbGQpO1xuXG4gIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgZ2V0IGJvb3RzdHJhcEJyb2tlcnMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fYm9vdHN0cmFwQnJva2VycygnQm9vdHN0cmFwQnJva2VyU3RyaW5nJyk7XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGdldCBib290c3RyYXBCcm9rZXJzVGxzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Jvb3RzdHJhcEJyb2tlcnMoJ0Jvb3RzdHJhcEJyb2tlclN0cmluZ1RscycpO1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgZ2V0IGJvb3RzdHJhcEJyb2tlcnNTYXNsU2NyYW0oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fYm9vdHN0cmFwQnJva2VycygnQm9vdHN0cmFwQnJva2VyU3RyaW5nU2FzbFNjcmFtJyk7XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGFkZFVzZXIoLi4udXNlcm5hbWVzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNhc2xTY3JhbUF1dGhlbnRpY2F0aW9uS2V5KSB7XG4gICAgICBjb25zdCBNU0tfU0VDUkVUX1BSRUZJWCA9ICdBbWF6b25NU0tfJzsgLy8gUmVxdWlyZWRcbiAgICAgIGNvbnN0IHNlY3JldHMgPSB1c2VybmFtZXMubWFwKFxuICAgICAgICAodXNlcm5hbWUpID0+XG4gICAgICAgICAgbmV3IHNlY3JldHNtYW5hZ2VyLlNlY3JldCh0aGlzLCBgS2Fma2FVc2VyJHt1c2VybmFtZX1gLCB7XG4gICAgICAgICAgICBzZWNyZXROYW1lOiBgJHtNU0tfU0VDUkVUX1BSRUZJWH0ke3RoaXMuY2x1c3Rlck5hbWV9XyR7dXNlcm5hbWV9YCxcbiAgICAgICAgICAgIGdlbmVyYXRlU2VjcmV0U3RyaW5nOiB7XG4gICAgICAgICAgICAgIHNlY3JldFN0cmluZ1RlbXBsYXRlOiBKU09OLnN0cmluZ2lmeSh7IHVzZXJuYW1lIH0pLFxuICAgICAgICAgICAgICBnZW5lcmF0ZVN0cmluZ0tleTogJ3Bhc3N3b3JkJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlbmNyeXB0aW9uS2V5OiB0aGlzLnNhc2xTY3JhbUF1dGhlbnRpY2F0aW9uS2V5LFxuICAgICAgICAgIH0pLFxuICAgICAgKTtcblxuICAgICAgbmV3IGNyLkF3c0N1c3RvbVJlc291cmNlKHRoaXMsIGBCYXRjaEFzc29jaWF0ZVNjcmFtU2VjcmV0cyR7YWRkcmVzc09mKHVzZXJuYW1lcyl9YCwge1xuICAgICAgICBvblVwZGF0ZToge1xuICAgICAgICAgIHNlcnZpY2U6ICdLYWZrYScsXG4gICAgICAgICAgYWN0aW9uOiAnYmF0Y2hBc3NvY2lhdGVTY3JhbVNlY3JldCcsXG4gICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgQ2x1c3RlckFybjogdGhpcy5jbHVzdGVyQXJuLFxuICAgICAgICAgICAgU2VjcmV0QXJuTGlzdDogc2VjcmV0cy5tYXAoKHNlY3JldCkgPT4gc2VjcmV0LnNlY3JldEFybiksXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwaHlzaWNhbFJlc291cmNlSWQ6IGNyLlBoeXNpY2FsUmVzb3VyY2VJZC5vZignQ3JlYXRlVXNlcnMnKSxcbiAgICAgICAgfSxcbiAgICAgICAgcG9saWN5OiBjci5Bd3NDdXN0b21SZXNvdXJjZVBvbGljeS5mcm9tU3RhdGVtZW50cyhbXG4gICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgYWN0aW9uczogWydrbXM6Q3JlYXRlR3JhbnQnXSxcbiAgICAgICAgICAgIHJlc291cmNlczogW3RoaXMuc2FzbFNjcmFtQXV0aGVudGljYXRpb25LZXk/LmtleUFybl0sXG4gICAgICAgICAgfSksXG4gICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgYWN0aW9uczogWydrYWZrYTpCYXRjaEFzc29jaWF0ZVNjcmFtU2VjcmV0J10sXG4gICAgICAgICAgICByZXNvdXJjZXM6IFt0aGlzLmNsdXN0ZXJBcm5dLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdKSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgJ0Nhbm5vdCBjcmVhdGUgdXNlcnMgaWYgYW4gYXV0aGVudGljYXRpb24gS01TIGtleSBoYXMgbm90IGJlZW4gY3JlYXRlZC9wcm92aWRlZC4nLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-cdk/aws-msk-alpha",
3
- "version": "2.3.0-alpha.0",
3
+ "version": "2.4.0-alpha.0",
4
4
  "private": false,
5
5
  "description": "The CDK Construct Library for AWS::MSK",
6
6
  "main": "lib/index.js",
@@ -76,18 +76,18 @@
76
76
  },
77
77
  "license": "Apache-2.0",
78
78
  "devDependencies": {
79
- "@aws-cdk/cdk-build-tools": "2.3.0",
80
- "@aws-cdk/cdk-integ-tools": "2.3.0",
81
- "@aws-cdk/cfn2ts": "2.3.0",
82
- "@aws-cdk/pkglint": "2.3.0",
79
+ "@aws-cdk/cdk-build-tools": "2.4.0",
80
+ "@aws-cdk/cdk-integ-tools": "2.4.0",
81
+ "@aws-cdk/cfn2ts": "2.4.0",
82
+ "@aws-cdk/pkglint": "2.4.0",
83
83
  "@types/jest": "^27.0.3",
84
- "jest": "^27.4.3",
85
- "aws-cdk-lib": "2.3.0",
84
+ "jest": "^27.4.5",
85
+ "aws-cdk-lib": "2.4.0",
86
86
  "constructs": "^10.0.0"
87
87
  },
88
88
  "dependencies": {},
89
89
  "peerDependencies": {
90
- "aws-cdk-lib": "^2.3.0",
90
+ "aws-cdk-lib": "^2.4.0",
91
91
  "constructs": "^10.0.0"
92
92
  },
93
93
  "engines": {