terraconstructs 0.2.4 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +2984 -2812
- package/CLAUDE.md +6 -6
- package/README.md +1 -1
- package/lib/asset-staging.js +3 -3
- package/lib/aws/arn.js +5 -5
- package/lib/aws/aws-asset-manager.js +9 -9
- package/lib/aws/aws-construct.js +1 -1
- package/lib/aws/aws-stack.d.ts +2 -2
- package/lib/aws/aws-stack.js +9 -9
- package/lib/aws/aws-tags.d.ts +1 -1
- package/lib/aws/aws-tags.js +5 -5
- package/lib/aws/cloudwatch/actions/appscaling.js +1 -1
- package/lib/aws/cloudwatch/actions/ec2.js +1 -1
- package/lib/aws/cloudwatch/actions/lambda.js +2 -2
- package/lib/aws/cloudwatch/actions/sns.js +1 -1
- package/lib/aws/cloudwatch/actions/ssm.js +2 -2
- package/lib/aws/cloudwatch/alarm-base.js +1 -1
- package/lib/aws/cloudwatch/alarm-rule.js +1 -1
- package/lib/aws/cloudwatch/alarm-status-widget.js +1 -1
- package/lib/aws/cloudwatch/alarm.d.ts +1 -1
- package/lib/aws/cloudwatch/alarm.js +10 -10
- package/lib/aws/cloudwatch/composite-alarm.d.ts +1 -1
- package/lib/aws/cloudwatch/composite-alarm.js +7 -7
- package/lib/aws/cloudwatch/dashboard.d.ts +1 -1
- package/lib/aws/cloudwatch/dashboard.js +7 -7
- package/lib/aws/cloudwatch/data-protection-policy.d.ts +1 -1
- package/lib/aws/cloudwatch/data-protection-policy.js +5 -5
- package/lib/aws/cloudwatch/graph.js +8 -8
- package/lib/aws/cloudwatch/layout.js +3 -3
- package/lib/aws/cloudwatch/log-destinations/kinesis.js +1 -1
- package/lib/aws/cloudwatch/log-destinations/lambda.js +1 -1
- package/lib/aws/cloudwatch/log-group.d.ts +1 -1
- package/lib/aws/cloudwatch/log-group.js +7 -7
- package/lib/aws/cloudwatch/log-query.js +1 -1
- package/lib/aws/cloudwatch/log-stream.d.ts +1 -1
- package/lib/aws/cloudwatch/log-stream.js +3 -3
- package/lib/aws/cloudwatch/metric-filter.d.ts +1 -1
- package/lib/aws/cloudwatch/metric-filter.js +3 -3
- package/lib/aws/cloudwatch/metric.js +6 -6
- package/lib/aws/cloudwatch/pattern.js +3 -3
- package/lib/aws/cloudwatch/policy.d.ts +1 -1
- package/lib/aws/cloudwatch/policy.js +3 -3
- package/lib/aws/cloudwatch/private/drop-empty-object-at-the-end-of-an-array-token.d.ts +1 -1
- package/lib/aws/cloudwatch/private/drop-empty-object-at-the-end-of-an-array-token.js +1 -1
- package/lib/aws/cloudwatch/private/env-tokens.js +6 -6
- package/lib/aws/cloudwatch/query-definition.d.ts +1 -1
- package/lib/aws/cloudwatch/query-definition.js +4 -4
- package/lib/aws/cloudwatch/stats.js +1 -1
- package/lib/aws/cloudwatch/subscription-filter.d.ts +1 -1
- package/lib/aws/cloudwatch/subscription-filter.js +6 -6
- package/lib/aws/cloudwatch/text.js +1 -1
- package/lib/aws/cloudwatch/variable.js +3 -3
- package/lib/aws/cloudwatch/widget.js +1 -1
- package/lib/aws/compute/access-log.d.ts +1 -1
- package/lib/aws/compute/access-log.js +5 -5
- package/lib/aws/compute/activity.d.ts +1 -1
- package/lib/aws/compute/activity.js +5 -5
- package/lib/aws/compute/alb/application-listener-action.d.ts +1 -1
- package/lib/aws/compute/alb/application-listener-action.js +5 -5
- package/lib/aws/compute/alb/application-listener-certificate.js +3 -3
- package/lib/aws/compute/alb/application-listener-rule.js +9 -9
- package/lib/aws/compute/alb/application-listener.js +5 -5
- package/lib/aws/compute/alb/application-load-balancer.js +8 -8
- package/lib/aws/compute/alb/application-target-group.js +7 -7
- package/lib/aws/compute/alb/conditions.js +3 -3
- package/lib/aws/compute/alb/trust-store-revocation.js +3 -3
- package/lib/aws/compute/alb/trust-store.js +7 -7
- package/lib/aws/compute/api-definition.js +9 -9
- package/lib/aws/compute/api-key.js +6 -6
- package/lib/aws/compute/architecture.js +1 -1
- package/lib/aws/compute/aspects/require-imdsv2-aspect.d.ts +1 -1
- package/lib/aws/compute/aspects/require-imdsv2-aspect.js +6 -6
- package/lib/aws/compute/authorizer.js +1 -1
- package/lib/aws/compute/authorizers/identity-source.js +1 -1
- package/lib/aws/compute/authorizers/lambda.d.ts +1 -1
- package/lib/aws/compute/authorizers/lambda.js +6 -6
- package/lib/aws/compute/base-path-mapping.js +5 -5
- package/lib/aws/compute/base-scalable-attribute.js +1 -1
- package/lib/aws/compute/bastion-host.js +4 -4
- package/lib/aws/compute/chain.js +1 -1
- package/lib/aws/compute/client-vpn-authorization-rule.js +3 -3
- package/lib/aws/compute/client-vpn-endpoint.d.ts +1 -1
- package/lib/aws/compute/client-vpn-endpoint.js +9 -9
- package/lib/aws/compute/client-vpn-route.d.ts +1 -1
- package/lib/aws/compute/client-vpn-route.js +4 -4
- package/lib/aws/compute/code.d.ts +3 -3
- package/lib/aws/compute/code.js +15 -15
- package/lib/aws/compute/condition.js +1 -1
- package/lib/aws/compute/connections.js +1 -1
- package/lib/aws/compute/cors.js +1 -1
- package/lib/aws/compute/deployment.js +5 -5
- package/lib/aws/compute/domain-name.js +5 -5
- package/lib/aws/compute/event-invoke-config.d.ts +1 -1
- package/lib/aws/compute/event-invoke-config.js +3 -3
- package/lib/aws/compute/event-source-filter.js +2 -2
- package/lib/aws/compute/event-source-mapping.js +7 -7
- package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
- package/lib/aws/compute/event-sources/s3.js +1 -1
- package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
- package/lib/aws/compute/event-sources/sqs.js +5 -5
- package/lib/aws/compute/fields.d.ts +1 -1
- package/lib/aws/compute/fields.js +12 -12
- package/lib/aws/compute/function-alias.d.ts +1 -1
- package/lib/aws/compute/function-alias.js +3 -3
- package/lib/aws/compute/function-base.d.ts +1 -1
- package/lib/aws/compute/function-base.js +10 -9
- package/lib/aws/compute/function-destinations/event-bridge.js +1 -1
- package/lib/aws/compute/function-destinations/function.js +1 -1
- package/lib/aws/compute/function-destinations/sqs.js +1 -1
- package/lib/aws/compute/function-nodejs/bundling.js +6 -6
- package/lib/aws/compute/function-nodejs/function.js +4 -4
- package/lib/aws/compute/function-url.d.ts +1 -1
- package/lib/aws/compute/function-url.js +3 -3
- package/lib/aws/compute/function-vpc-config.generated.d.ts +5 -5
- package/lib/aws/compute/function-vpc-config.generated.js +1 -1
- package/lib/aws/compute/function.d.ts +2 -2
- package/lib/aws/compute/function.js +9 -9
- package/lib/aws/compute/gateway-response.d.ts +1 -1
- package/lib/aws/compute/gateway-response.js +4 -4
- package/lib/aws/compute/handler.js +1 -1
- package/lib/aws/compute/instance-types.js +1 -1
- package/lib/aws/compute/instance.d.ts +1 -1
- package/lib/aws/compute/instance.js +9 -9
- package/lib/aws/compute/integration.js +4 -4
- package/lib/aws/compute/integrations/aws.js +3 -3
- package/lib/aws/compute/integrations/http.js +1 -1
- package/lib/aws/compute/integrations/lambda.js +5 -5
- package/lib/aws/compute/integrations/mock.js +1 -1
- package/lib/aws/compute/integrations/stepfunctions.js +4 -4
- package/lib/aws/compute/ip-addresses.d.ts +1 -1
- package/lib/aws/compute/ip-addresses.js +10 -10
- package/lib/aws/compute/ipam.d.ts +1 -1
- package/lib/aws/compute/ipam.js +5 -5
- package/lib/aws/compute/key-pair.d.ts +1 -1
- package/lib/aws/compute/key-pair.js +6 -6
- package/lib/aws/compute/lambda-api.js +1 -1
- package/lib/aws/compute/launch-template.d.ts +1 -1
- package/lib/aws/compute/launch-template.js +12 -12
- package/lib/aws/compute/lb-shared/base-listener.js +9 -9
- package/lib/aws/compute/lb-shared/base-load-balancer.d.ts +2 -2
- package/lib/aws/compute/lb-shared/base-load-balancer.js +12 -12
- package/lib/aws/compute/lb-shared/base-target-group.d.ts +1 -1
- package/lib/aws/compute/lb-shared/base-target-group.js +15 -15
- package/lib/aws/compute/lb-shared/lb-listener-config.generated.d.ts +34 -34
- package/lib/aws/compute/lb-shared/lb-listener-config.generated.js +1 -1
- package/lib/aws/compute/lb-shared/lb-target-group-attachment-config.generated.d.ts +11 -6
- package/lib/aws/compute/lb-shared/lb-target-group-attachment-config.generated.js +1 -1
- package/lib/aws/compute/lb-shared/listener-action.d.ts +1 -1
- package/lib/aws/compute/lb-shared/listener-action.js +1 -1
- package/lib/aws/compute/lb-shared/listener-certificate.js +1 -1
- package/lib/aws/compute/lb-shared/load-balancer-targets.js +2 -2
- package/lib/aws/compute/lb-shared/util.js +5 -5
- package/lib/aws/compute/lb-targets/alb-target.js +3 -3
- package/lib/aws/compute/lb-targets/instance-target.js +2 -2
- package/lib/aws/compute/lb-targets/ip-target.js +1 -1
- package/lib/aws/compute/lb-targets/lambda-target.js +1 -1
- package/lib/aws/compute/load-balancer.d.ts +1 -1
- package/lib/aws/compute/load-balancer.js +8 -8
- package/lib/aws/compute/machine-image/amazon-linux-2022.js +2 -2
- package/lib/aws/compute/machine-image/amazon-linux-2023.js +2 -2
- package/lib/aws/compute/machine-image/amazon-linux2.js +2 -2
- package/lib/aws/compute/machine-image/common.js +1 -1
- package/lib/aws/compute/machine-image/machine-image.js +10 -10
- package/lib/aws/compute/method.js +6 -6
- package/lib/aws/compute/model.js +5 -5
- package/lib/aws/compute/nat.js +10 -10
- package/lib/aws/compute/network-acl-types.js +2 -2
- package/lib/aws/compute/network-acl.d.ts +1 -1
- package/lib/aws/compute/network-acl.js +5 -5
- package/lib/aws/compute/nlb/network-listener-action.d.ts +1 -1
- package/lib/aws/compute/nlb/network-listener-action.js +2 -2
- package/lib/aws/compute/nlb/network-listener-certificate.js +2 -2
- package/lib/aws/compute/nlb/network-listener.js +5 -5
- package/lib/aws/compute/nlb/network-load-balancer.js +6 -6
- package/lib/aws/compute/nlb/network-target-group.js +4 -4
- package/lib/aws/compute/peer.js +7 -7
- package/lib/aws/compute/placement-group.d.ts +1 -1
- package/lib/aws/compute/placement-group.js +3 -3
- package/lib/aws/compute/port.js +5 -5
- package/lib/aws/compute/prefix-list.d.ts +1 -1
- package/lib/aws/compute/prefix-list.js +5 -5
- package/lib/aws/compute/private/context-stub.js +7 -7
- package/lib/aws/compute/private/ebs-util.d.ts +1 -1
- package/lib/aws/compute/private/ebs-util.js +3 -3
- package/lib/aws/compute/private/json-path.d.ts +1 -1
- package/lib/aws/compute/private/json-path.js +8 -8
- package/lib/aws/compute/requestvalidator.js +3 -3
- package/lib/aws/compute/resource.js +5 -5
- package/lib/aws/compute/restapi.d.ts +1 -1
- package/lib/aws/compute/restapi.js +11 -11
- package/lib/aws/compute/route.d.ts +1 -1
- package/lib/aws/compute/route.js +12 -12
- package/lib/aws/compute/runtime.js +3 -3
- package/lib/aws/compute/scalable-target.d.ts +1 -1
- package/lib/aws/compute/scalable-target.js +3 -3
- package/lib/aws/compute/schedule.js +4 -4
- package/lib/aws/compute/security-group.js +12 -12
- package/lib/aws/compute/stage.d.ts +1 -1
- package/lib/aws/compute/stage.js +6 -6
- package/lib/aws/compute/state-graph.js +1 -1
- package/lib/aws/compute/state-machine-fragment.js +1 -1
- package/lib/aws/compute/state-machine.d.ts +2 -2
- package/lib/aws/compute/state-machine.js +8 -8
- package/lib/aws/compute/states/choice.js +1 -1
- package/lib/aws/compute/states/custom-state.js +5 -5
- package/lib/aws/compute/states/distributed-map/item-batcher.js +1 -1
- package/lib/aws/compute/states/distributed-map/item-reader.js +5 -5
- package/lib/aws/compute/states/distributed-map/result-writer.js +1 -1
- package/lib/aws/compute/states/distributed-map.js +4 -4
- package/lib/aws/compute/states/fail.js +4 -4
- package/lib/aws/compute/states/map-base.js +4 -4
- package/lib/aws/compute/states/map.js +1 -1
- package/lib/aws/compute/states/parallel.js +1 -1
- package/lib/aws/compute/states/pass.js +2 -2
- package/lib/aws/compute/states/state.js +4 -4
- package/lib/aws/compute/states/succeed.js +1 -1
- package/lib/aws/compute/states/task-base.js +2 -2
- package/lib/aws/compute/states/task.js +1 -1
- package/lib/aws/compute/states/wait.js +2 -2
- package/lib/aws/compute/step-scaling-action.js +5 -5
- package/lib/aws/compute/step-scaling-policy.js +7 -7
- package/lib/aws/compute/stepfunctions-api.js +2 -2
- package/lib/aws/compute/subnet-v2.d.ts +1 -1
- package/lib/aws/compute/subnet-v2.js +5 -5
- package/lib/aws/compute/subnet.js +4 -4
- package/lib/aws/compute/target-tracking-scaling-policy.js +3 -3
- package/lib/aws/compute/task-credentials.js +1 -1
- package/lib/aws/compute/task-input.js +1 -1
- package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +5 -5
- package/lib/aws/compute/tasks/eventbridge/put-events.js +1 -1
- package/lib/aws/compute/tasks/http/invoke.js +1 -1
- package/lib/aws/compute/tasks/lambda/invoke.js +1 -1
- package/lib/aws/compute/tasks/sqs/send-message.js +1 -1
- package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +1 -1
- package/lib/aws/compute/tasks/stepfunctions/start-execution.js +1 -1
- package/lib/aws/compute/types.js +1 -1
- package/lib/aws/compute/usage-plan.js +5 -5
- package/lib/aws/compute/user-data.d.ts +2 -2
- package/lib/aws/compute/user-data.js +10 -10
- package/lib/aws/compute/volume.d.ts +1 -1
- package/lib/aws/compute/volume.js +7 -7
- package/lib/aws/compute/vpc-endpoint-service.js +3 -3
- package/lib/aws/compute/vpc-endpoint.d.ts +1 -1
- package/lib/aws/compute/vpc-endpoint.js +13 -13
- package/lib/aws/compute/vpc-flow-logs.d.ts +1 -1
- package/lib/aws/compute/vpc-flow-logs.js +8 -8
- package/lib/aws/compute/vpc-link.js +5 -5
- package/lib/aws/compute/vpc-v2-base.js +6 -6
- package/lib/aws/compute/vpc-v2.d.ts +2 -2
- package/lib/aws/compute/vpc-v2.js +4 -4
- package/lib/aws/compute/vpc.d.ts +1 -1
- package/lib/aws/compute/vpc.js +21 -21
- package/lib/aws/compute/vpn.js +8 -8
- package/lib/aws/context-provider.js +4 -4
- package/lib/aws/edge/certificate.d.ts +1 -1
- package/lib/aws/edge/certificate.js +6 -6
- package/lib/aws/edge/distribution.d.ts +1 -1
- package/lib/aws/edge/distribution.js +9 -9
- package/lib/aws/edge/dns-alias-record-targets.d.ts +1 -1
- package/lib/aws/edge/dns-alias-record-targets.js +7 -7
- package/lib/aws/edge/dns-record.d.ts +1 -1
- package/lib/aws/edge/dns-record.js +19 -19
- package/lib/aws/edge/dns-zone.d.ts +2 -2
- package/lib/aws/edge/dns-zone.js +5 -5
- package/lib/aws/edge/function.d.ts +1 -1
- package/lib/aws/edge/function.js +4 -4
- package/lib/aws/edge/key-value-store.d.ts +1 -1
- package/lib/aws/edge/key-value-store.js +6 -6
- package/lib/aws/edge/origin.d.ts +1 -1
- package/lib/aws/edge/origin.js +6 -6
- package/lib/aws/edge/response-headers-policy.d.ts +1 -1
- package/lib/aws/edge/response-headers-policy.js +6 -6
- package/lib/aws/encryption/alias.d.ts +1 -1
- package/lib/aws/encryption/alias.js +8 -8
- package/lib/aws/encryption/key.d.ts +1 -1
- package/lib/aws/encryption/key.js +6 -6
- package/lib/aws/encryption/via-service-principal.js +1 -1
- package/lib/aws/iam/grant.js +3 -3
- package/lib/aws/iam/group.js +5 -5
- package/lib/aws/iam/instance-profile.d.ts +1 -1
- package/lib/aws/iam/instance-profile.js +3 -3
- package/lib/aws/iam/managed-policy.d.ts +1 -1
- package/lib/aws/iam/managed-policy.js +3 -3
- package/lib/aws/iam/oidc-provider.d.ts +1 -1
- package/lib/aws/iam/oidc-provider.js +3 -3
- package/lib/aws/iam/policy-document-config.generated.d.ts +9 -9
- package/lib/aws/iam/policy-document-config.generated.js +1 -1
- package/lib/aws/iam/policy-document.d.ts +1 -1
- package/lib/aws/iam/policy-document.js +5 -5
- package/lib/aws/iam/policy-statement-props.generated.d.ts +8 -8
- package/lib/aws/iam/policy-statement-props.generated.js +1 -1
- package/lib/aws/iam/policy-statement.d.ts +1 -1
- package/lib/aws/iam/policy-statement.js +8 -8
- package/lib/aws/iam/policy.js +3 -3
- package/lib/aws/iam/principals.js +25 -25
- package/lib/aws/iam/private/imported-role.js +3 -3
- package/lib/aws/iam/private/postprocess-policy-document.d.ts +1 -1
- package/lib/aws/iam/private/postprocess-policy-document.js +1 -1
- package/lib/aws/iam/private/util.d.ts +1 -1
- package/lib/aws/iam/private/util.js +5 -5
- package/lib/aws/iam/role.d.ts +1 -1
- package/lib/aws/iam/role.js +6 -6
- package/lib/aws/iam/saml-provider.d.ts +1 -1
- package/lib/aws/iam/saml-provider.js +6 -6
- package/lib/aws/iam/unknown-principal.js +4 -4
- package/lib/aws/iam/user.js +3 -3
- package/lib/aws/network/network.d.ts +1 -1
- package/lib/aws/network/network.js +1 -1
- package/lib/aws/network/simple-ipv4-vpc.js +12 -12
- package/lib/aws/network/subnet-group.d.ts +1 -1
- package/lib/aws/network/subnet-group.js +5 -5
- package/lib/aws/network/subnet.d.ts +1 -1
- package/lib/aws/network/subnet.js +6 -6
- package/lib/aws/notify/archive.d.ts +1 -1
- package/lib/aws/notify/archive.js +3 -3
- package/lib/aws/notify/connection.d.ts +1 -1
- package/lib/aws/notify/connection.js +5 -5
- package/lib/aws/notify/event-bus.d.ts +1 -1
- package/lib/aws/notify/event-bus.js +10 -10
- package/lib/aws/notify/event-pattern.d.ts +1 -1
- package/lib/aws/notify/event-pattern.js +5 -5
- package/lib/aws/notify/input.d.ts +1 -1
- package/lib/aws/notify/input.js +12 -12
- package/lib/aws/notify/kinesis-stream.d.ts +1 -1
- package/lib/aws/notify/kinesis-stream.js +7 -7
- package/lib/aws/notify/notification-rule.js +8 -8
- package/lib/aws/notify/policy.js +3 -3
- package/lib/aws/notify/queue-base.js +1 -1
- package/lib/aws/notify/queue-policy.js +3 -3
- package/lib/aws/notify/queue.d.ts +1 -1
- package/lib/aws/notify/queue.js +8 -8
- package/lib/aws/notify/resource-policy.js +3 -3
- package/lib/aws/notify/rule.d.ts +1 -1
- package/lib/aws/notify/rule.js +6 -6
- package/lib/aws/notify/schedule.js +4 -4
- package/lib/aws/notify/sns-grants.generated.js +1 -1
- package/lib/aws/notify/sqs-grants.generated.js +1 -1
- package/lib/aws/notify/subscription-filter.js +1 -1
- package/lib/aws/notify/subscription.js +6 -6
- package/lib/aws/notify/subscriptions/email.js +1 -1
- package/lib/aws/notify/subscriptions/lambda.js +4 -4
- package/lib/aws/notify/subscriptions/sms.js +1 -1
- package/lib/aws/notify/subscriptions/sqs.js +4 -4
- package/lib/aws/notify/subscriptions/url.js +4 -4
- package/lib/aws/notify/target.d.ts +1 -1
- package/lib/aws/notify/target.js +1 -1
- package/lib/aws/notify/targets/event-bus.js +1 -1
- package/lib/aws/notify/targets/function.js +1 -1
- package/lib/aws/notify/targets/log-group.js +2 -2
- package/lib/aws/notify/targets/sqs.js +1 -1
- package/lib/aws/notify/targets/state-machine.js +1 -1
- package/lib/aws/notify/targets/util.js +3 -3
- package/lib/aws/notify/topic-base.js +4 -4
- package/lib/aws/notify/topic.js +7 -7
- package/lib/aws/provider-config.generated.d.ts +42 -36
- package/lib/aws/provider-config.generated.js +1 -1
- package/lib/aws/region-lookup.js +4 -4
- package/lib/aws/storage/assets/image-asset.js +8 -8
- package/lib/aws/storage/assets/s3.js +1 -1
- package/lib/aws/storage/auth-token.js +2 -2
- package/lib/aws/storage/billing.js +1 -1
- package/lib/aws/storage/bucket-notifications.d.ts +1 -1
- package/lib/aws/storage/bucket-notifications.js +8 -8
- package/lib/aws/storage/bucket-policy.d.ts +1 -1
- package/lib/aws/storage/bucket-policy.js +3 -3
- package/lib/aws/storage/bucket-source.d.ts +1 -1
- package/lib/aws/storage/bucket-source.js +7 -7
- package/lib/aws/storage/bucket.d.ts +1 -1
- package/lib/aws/storage/bucket.js +8 -8
- package/lib/aws/storage/capacity.js +1 -1
- package/lib/aws/storage/cors-config.generated.d.ts +5 -5
- package/lib/aws/storage/cors-config.generated.js +1 -1
- package/lib/aws/storage/cors-rule-config.generated.d.ts +5 -5
- package/lib/aws/storage/cors-rule-config.generated.js +1 -1
- package/lib/aws/storage/ecr-repository.js +11 -11
- package/lib/aws/storage/encryption.d.ts +1 -1
- package/lib/aws/storage/encryption.js +5 -5
- package/lib/aws/storage/lifecycle-config.generated.d.ts +9 -9
- package/lib/aws/storage/lifecycle-config.generated.js +1 -1
- package/lib/aws/storage/notification-targets/function.js +2 -2
- package/lib/aws/storage/notification-targets/queue.js +4 -4
- package/lib/aws/storage/origin-access-identity.d.ts +2 -2
- package/lib/aws/storage/origin-access-identity.js +3 -3
- package/lib/aws/storage/parameter-util.js +5 -5
- package/lib/aws/storage/parameter.d.ts +2 -2
- package/lib/aws/storage/parameter.js +16 -16
- package/lib/aws/storage/stream-grants.js +1 -1
- package/lib/aws/storage/table-grants.js +1 -1
- package/lib/aws/storage/table.d.ts +1 -1
- package/lib/aws/storage/table.js +10 -10
- package/lib/aws/storage/website-config.generated.d.ts +8 -8
- package/lib/aws/storage/website-config.generated.js +1 -1
- package/lib/bundling.js +5 -5
- package/lib/construct-base.d.ts +1 -1
- package/lib/construct-base.js +10 -10
- package/lib/duration.js +9 -9
- package/lib/errors.js +1 -1
- package/lib/expiration.js +1 -1
- package/lib/fs/ignore.js +4 -4
- package/lib/fs/index.js +1 -1
- package/lib/private/terraform-dependables-aspect.d.ts +1 -1
- package/lib/private/terraform-dependables-aspect.js +6 -6
- package/lib/private/unique-resource-name.js +3 -3
- package/lib/size.js +6 -6
- package/lib/stack-base.d.ts +2 -2
- package/lib/stack-base.js +16 -16
- package/lib/terra-func.d.ts +1 -1
- package/lib/terra-func.js +18 -18
- package/lib/time-zone.js +1 -1
- package/lib/token.js +5 -5
- package/package.json +17 -17
- package/setup.js +2 -2
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.CustomDataIdentifier = exports.DataIdentifier = exports.DataProtectionPolicy = void 0;
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
6
|
// https://github.com/aws/aws-cdk/blob/v2.170.0/packages/aws-cdk-lib/aws-logs/lib/data-protection-policy.ts
|
|
7
|
-
const provider_aws_1 = require("@
|
|
7
|
+
const provider_aws_1 = require("@cdktn/provider-aws");
|
|
8
8
|
const aws_stack_1 = require("../aws-stack");
|
|
9
9
|
/**
|
|
10
10
|
* Creates a data protection policy for CloudWatch Logs log groups.
|
|
@@ -101,7 +101,7 @@ class DataProtectionPolicy {
|
|
|
101
101
|
}
|
|
102
102
|
exports.DataProtectionPolicy = DataProtectionPolicy;
|
|
103
103
|
_a = JSII_RTTI_SYMBOL_1;
|
|
104
|
-
DataProtectionPolicy[_a] = { fqn: "terraconstructs.aws.cloudwatch.DataProtectionPolicy", version: "0.2.
|
|
104
|
+
DataProtectionPolicy[_a] = { fqn: "terraconstructs.aws.cloudwatch.DataProtectionPolicy", version: "0.2.5" };
|
|
105
105
|
/**
|
|
106
106
|
* A data protection identifier. If an identifier is supported but not in this class, it can be passed in the constructor instead.
|
|
107
107
|
*/
|
|
@@ -119,7 +119,7 @@ class DataIdentifier {
|
|
|
119
119
|
}
|
|
120
120
|
exports.DataIdentifier = DataIdentifier;
|
|
121
121
|
_b = JSII_RTTI_SYMBOL_1;
|
|
122
|
-
DataIdentifier[_b] = { fqn: "terraconstructs.aws.cloudwatch.DataIdentifier", version: "0.2.
|
|
122
|
+
DataIdentifier[_b] = { fqn: "terraconstructs.aws.cloudwatch.DataIdentifier", version: "0.2.5" };
|
|
123
123
|
DataIdentifier.ADDRESS = new DataIdentifier("Address");
|
|
124
124
|
DataIdentifier.AWSSECRETKEY = new DataIdentifier("AwsSecretKey");
|
|
125
125
|
DataIdentifier.BANKACCOUNTNUMBER_DE = new DataIdentifier("BankAccountNumber-DE");
|
|
@@ -242,5 +242,5 @@ class CustomDataIdentifier extends DataIdentifier {
|
|
|
242
242
|
}
|
|
243
243
|
exports.CustomDataIdentifier = CustomDataIdentifier;
|
|
244
244
|
_c = JSII_RTTI_SYMBOL_1;
|
|
245
|
-
CustomDataIdentifier[_c] = { fqn: "terraconstructs.aws.cloudwatch.CustomDataIdentifier", version: "0.2.
|
|
246
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1wcm90ZWN0aW9uLXBvbGljeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvY2xvdWR3YXRjaC9kYXRhLXByb3RlY3Rpb24tcG9saWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMkdBQTJHO0FBRTNHLHNEQUF3RTtBQUN4RSw0Q0FBd0M7QUFHeEM7O0dBRUc7QUFDSCxNQUFhLG9CQUFvQjtJQUcvQixZQUFZLEtBQWdDO1FBQzFDLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFDRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxrREFBa0Q7SUFFbEQ7O09BRUc7SUFDSSxLQUFLLENBQ1YsTUFBaUI7UUFFakIsTUFBTSxJQUFJLEdBQ1IsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksSUFBSSw0QkFBNEIsQ0FBQztRQUN0RSxNQUFNLFdBQVcsR0FDZixJQUFJLENBQUMseUJBQXlCLENBQUMsV0FBVztZQUMxQyxzQ0FBc0MsQ0FBQztRQUN6QyxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUM7UUFFN0IsTUFBTSxtQkFBbUIsR0FBOEIsRUFBRSxDQUFDO1FBQzFELElBQUksSUFBSSxDQUFDLHlCQUF5QixDQUFDLHdCQUF3QixFQUFFLENBQUM7WUFDNUQsbUJBQW1CLENBQUMsY0FBYyxHQUFHO2dCQUNuQyxRQUFRLEVBQ04sSUFBSSxDQUFDLHlCQUF5QixDQUFDLHdCQUF3QixDQUFDLFlBQVk7YUFDdkUsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQzVELG1CQUFtQixDQUFDLEVBQUUsR0FBRztnQkFDdkIsTUFBTSxFQUNKLElBQUksQ0FB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LEdBQUcsSUFBSSxjQUFjLENBQzNELG1CQUFtQixDQUNwQixDQUFDO0FBQ3FCLGdDQUFpQixHQUFHLElBQUksY0FBYyxDQUMzRCxtQkFBbUIsQ0FDcEIsQ0FBQztBQUNxQixnQ0FBaUIsR0FBRyxJQUFJLGNBQWMsQ0FDM0QsbUJBQW1CLENBQ3BCLENBQUM7QUFDcUIsZ0NBQWlCLEdBQUcsSUFBSSxjQUFjLENBQzNELG1CQUFtQixDQUNwQixDQUFDO0FBQ3FCLGdDQUFpQixHQUFHLElBQUksY0FBYyxDQUMzRCxtQkFBbUIsQ0FDcEIsQ0FBQztBQUNxQixnQ0FBaUIsR0FBRyxJQUFJLGNBQWMsQ0FDM0QsbUJBQW1CLENBQ3BCLENBQUM7QUFDcUIsZ0NBQWlCLEdBQUcsSUFBSSxjQUFjLENBQzNELG1CQUFtQixDQUNwQixDQUFDO0FBQ3FCLGdDQUFpQixHQUFHLElBQUksY0FBYyxDQUMzRCxtQkFBbUIsQ0FDcEIsQ0FBQztBQUNxQixnQ0FBaUIsR0FBRyxJQUFJLGNBQWMsQ0FDM0QsbUJBQW1CLENBQ3BCLENBQUM7QUFDcUIsZ0NBQWlCLEdBQUcsSUFBSSxjQUFjLENBQzNELG1CQUFtQixDQUNwQixDQUFDO0FBQ3FCLGdDQUFpQixHQUFHLElBQUksY0FBYyxDQUMzRCxtQkFBbUIsQ0FDcEIsQ0FBQztBQUNxQixnQ0FBaUIsR0FBRyxJQUFJLGNBQWMsQ0FDM0QsbUJBQW1CLENBQ3BCLENBQUM7QUFDcUIsZ0NBQWlCLEdBQUcsSUFBSSxjQUFjLENBQzNELG1CQUFtQixDQUNwQixDQUFDO0FBQ3FCLGdDQUFpQixHQUFHLElBQUksY0FBYyxDQUMzRCxtQkFBbUIsQ0FDcEIsQ0FBQztBQUNxQixnQ0FBaUIsR0FBRyxJQUFJLGNBQWMsQ0FDM0QsbUJBQW1CLENBQ3BCLENBQUM7QUFDcUIsZ0NBQWlCLEdBQUcsSUFBSSxjQUFjLENBQzNELG1CQUFtQixDQUNwQixDQUFDO0FBQ3FCLGdDQUFpQixHQUFHLElBQUksY0FBYyxDQUMzRCxtQkFBbUIsQ0FDcEIsQ0FBQztBQUNxQixnQ0FBaUIsR0FBRyxJQUFJLGNBQWMs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LElBQUksY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzFDLHVCQUFRLEdBQUcsSUFBSSxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDMUMsdUJBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUMxQywwQ0FBMkIsR0FBRyxJQUFJLGNBQWMsQ0FDckUsNkJBQTZCLENBQzlCLENBQUM7QUFDcUIseUJBQVUsR0FBRyxJQUFJLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQWF2RTs7R0FFRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsY0FBYztJQUN0RDs7OztPQUlHO0lBQ0gsWUFDa0IsSUFBWSxFQUNaLEtBQWE7UUFFN0IsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBSEksU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLFVBQUssR0FBTCxLQUFLLENBQVE7SUFHL0IsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFFBQVE7UUFDYixPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkMsQ0FBQzs7QUFuQkgsb0RBb0JDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTcwLjAvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWxvZ3MvbGliL2RhdGEtcHJvdGVjdGlvbi1wb2xpY3kudHNcblxuaW1wb3J0IHsgY2xvdWR3YXRjaExvZ0RhdGFQcm90ZWN0aW9uUG9saWN5IH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1hd3NcIjtcbmltcG9ydCB7IEF3c1N0YWNrIH0gZnJvbSBcIi4uL2F3cy1zdGFja1wiO1xuaW1wb3J0IHsgSUxvZ0dyb3VwIH0gZnJvbSBcIi4vbG9nLWdyb3VwXCI7XG5pbXBvcnQgeyBJQnVja2V0IH0gZnJvbSBcIi4uL3N0b3JhZ2VcIjtcbi8qKlxuICogQ3JlYXRlcyBhIGRhdGEgcHJvdGVjdGlvbiBwb2xpY3kgZm9yIENsb3VkV2F0Y2ggTG9ncyBsb2cgZ3JvdXBzLlxuICovXG5leHBvcnQgY2xhc3MgRGF0YVByb3RlY3Rpb25Qb2xpY3kge1xuICBwcml2YXRlIHJlYWRvbmx5IGRhdGFQcm90ZWN0aW9uUG9saWN5UHJvcHM6IERhdGFQcm90ZWN0aW9uUG9saWN5UHJvcHM7XG5cbiAgY29uc3RydWN0b3IocHJvcHM6IERhdGFQcm90ZWN0aW9uUG9saWN5UHJvcHMpIHtcbiAgICBpZiAocHJvcHMuaWRlbnRpZmllcnMubGVuZ3RoID09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkRhdGFJZGVudGlmaWVyIGNhbm5vdCBiZSBlbXB0eVwiKTtcbiAgICB9XG4gICAgdGhpcy5kYXRhUHJvdGVjdGlvblBvbGljeVByb3BzID0gcHJvcHM7XG4gIH1cblxuICAvLyBOT1RFOiBsaW1pdGVkIHNjb3BlIHRvIGxvZ0dyb3VwIGNsYXNzIChmb3Igbm93KVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBfYmluZChcbiAgICBfc2NvcGU6IElMb2dHcm91cCxcbiAgKTogY2xvdWR3YXRjaExvZ0RhdGFQcm90ZWN0aW9uUG9saWN5LkNsb3Vkd2F0Y2hMb2dEYXRhUHJvdGVjdGlvblBvbGljeSB7XG4gICAgY29uc3QgbmFtZSA9XG4gICAgICB0aGlzLmRhdGFQcm90ZWN0aW9uUG9saWN5UHJvcHMubmFtZSB8fCBcImRhdGEtcHJvdGVjdGlvbi1wb2xpY3ktY2RrXCI7XG4gICAgY29uc3QgZGVzY3JpcHRpb24gPVxuICAgICAgdGhpcy5kYXRhUHJvdGVjdGlvblBvbGljeVByb3BzLmRlc2NyaXB0aW9uIHx8XG4gICAgICBcImNkayBnZW5lcmF0ZWQgZGF0YSBwcm90ZWN0aW9uIHBvbGljeVwiO1xuICAgIGNvbnN0IHZlcnNpb24gPSBcIjIwMjEtMDYtMDFcIjtcblxuICAgIGNvbnN0IGZpbmRpbmdzRGVzdGluYXRpb246IFBvbGljeUZpbmRpbmdzRGVzdGluYXRpb24gPSB7fTtcbiAgICBpZiAodGhpcy5kYXRhUHJvdGVjdGlvblBvbGljeVByb3BzLmxvZ0dyb3VwQXVkaXREZXN0aW5hdGlvbikge1xuICAgICAgZmluZGluZ3NEZXN0aW5hdGlvbi5jbG91ZFdhdGNoTG9ncyA9IHtcbiAgICAgICAgbG9nR3JvdXA6XG4gICAgICAgICAgdGhpcy5kYXRhUHJvdGVjdGlvblBvbGljeVByb3BzLmxvZ0dyb3VwQXVkaXREZXN0aW5hdGlvbi5sb2dHcm91cE5hbWUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRhdGFQcm90ZWN0aW9uUG9saWN5UHJvcHMuczNCdWNrZXRBdWRpdERlc3RpbmF0aW9uKSB7XG4gICAgICBmaW5kaW5nc0Rlc3RpbmF0aW9uLnMzID0ge1xuICAgICAgICBidWNrZXQ6XG4gICAgICAgICAgdGhpcy5kYXRhUHJvdGVjdGlvblBvbGljeVByb3BzLnMzQnVja2V0QXVkaXREZXN0aW5hdGlvbi5idWNrZXROYW1lLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kYXRhUHJvdGVjdGlvblBvbGljeVByb3BzLmRlbGl2ZXJ5U3RyZWFtTmFtZUF1ZGl0RGVzdGluYXRpb24pIHtcbiAgICAgIGZpbmRpbmdzRGVzdGluYXRpb24uZmlyZWhvc2UgPSB7XG4gICAgICAgIGRlbGl2ZXJ5U3RyZWFtOlxuICAgICAgICAgIHRoaXMuZGF0YVByb3RlY3Rpb25Qb2xpY3lQcm9wcy5kZWxpdmVyeVN0cmVhbU5hbWVBdWRpdERlc3RpbmF0aW9uLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBpZGVudGlmaWVyczogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBjdXN0b21EYXRhSWRlbnRpZmllcnM6IFBvbGljeUN1c3RvbURhdGFJZGVudGlmaWVyW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGlkZW50aWZpZXIgb2YgdGhpcy5kYXRhUHJvdGVjdGlvblBvbGljeVByb3BzLmlkZW50aWZpZXJzKSB7XG4gICAgICBpZiAoaWRlbnRpZmllciBpbnN0YW5jZW9mIEN1c3RvbURhdGFJZGVudGlmaWVyKSB7XG4gICAgICAgIGlkZW50aWZpZXJzLnB1c2goaWRlbnRpZmllci5uYW1lKTtcbiAgICAgICAgY3VzdG9tRGF0YUlkZW50aWZpZXJzLnB1c2goe1xuICAgICAgICAgIG5hbWU6IGlkZW50aWZpZXIubmFtZSxcbiAgICAgICAgICByZWdleDogaWRlbnRpZmllci5yZWdleCxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZGVudGlmaWVycy5wdXNoKFxuICAgICAgICAgIEF3c1N0YWNrLm9mQXdzQ29uc3RydWN0KF9zY29wZSkuZm9ybWF0QXJuKHtcbiAgICAgICAgICAgIHJlc291cmNlOiBcImRhdGEtaWRlbnRpZmllclwiLFxuICAgICAgICAgICAgcmVnaW9uOiBcIlwiLFxuICAgICAgICAgICAgYWNjb3VudDogXCJhd3NcIixcbiAgICAgICAgICAgIHNlcnZpY2U6IFwiZGF0YXByb3RlY3Rpb25cIixcbiAgICAgICAgICAgIHJlc291cmNlTmFtZTogaWRlbnRpZmllci5uYW1lLFxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHN0YXRlbWVudCA9IFtcbiAgICAgIHtcbiAgICAgICAgc2lkOiBcImF1ZGl0LXN0YXRlbWVudC1jZGtcIixcbiAgICAgICAgZGF0YUlkZW50aWZpZXI6IGlkZW50aWZpZXJzLFxuICAgICAgICBvcGVyYXRpb246IHtcbiAgICAgICAgICBhdWRpdDoge1xuICAgICAgICAgICAgZmluZGluZ3NEZXN0aW5hdGlvbjogZmluZGluZ3NEZXN0aW5hdGlvbixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc2lkOiBcInJlZGFjdC1zdGF0ZW1lbnQtY2RrXCIsXG4gICAgICAgIGRhdGFJZGVudGlmaWVyOiBpZGVudGlmaWVycyxcbiAgICAgICAgb3BlcmF0aW9uOiB7XG4gICAgICAgICAgZGVpZGVudGlmeToge1xuICAgICAgICAgICAgbWFza0NvbmZpZzoge30sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb246IFBvbGljeUNvbmZpZ3VyYXRpb24gPSB7XG4gICAgICBjdXN0b21EYXRhSWRlbnRpZmllcjogY3VzdG9tRGF0YUlkZW50aWZpZXJzLFxuICAgIH07XG4gICAgY29uc3QgcmVzb3VyY2UgPVxuICAgICAgbmV3IGNsb3Vkd2F0Y2hMb2dEYXRhUHJvdGVjdGlvblBvbGljeS5DbG91ZHdhdGNoTG9nRGF0YVByb3RlY3Rpb25Qb2xpY3koXG4gICAgICAgIF9zY29wZSxcbiAgICAgICAgXCJEYXRhUHJvdGVjdGlvblBvbGljeVwiLFxuICAgICAgICB7XG4gICAgICAgICAgbG9nR3JvdXBOYW1lOiBfc2NvcGUubG9nR3JvdXBOYW1lLFxuICAgICAgICAgIC8vIFRPRE86IHVzZSBjbG91ZHdhdGNoX2xvZ19kYXRhX3Byb3RlY3Rpb25fcG9saWN5X2RvY3VtZW50IGRhdGEgc291cmNlIGluc3RlYWQgb2YganNvbiBzdHJpbmdpZnlcbiAgICAgICAgICAvLyBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F3cy81LjY4LjAvZG9jcy9kYXRhLXNvdXJjZXMvY2xvdWR3YXRjaF9sb2dfZGF0YV9wcm90ZWN0aW9uX3BvbGljeV9kb2N1bWVudFxuICAgICAgICAgIHBvbGljeURvY3VtZW50OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgZGVzY3JpcHRpb24sXG4gICAgICAgICAgICB2ZXJzaW9uLFxuICAgICAgICAgICAgY29uZmlndXJhdGlvbixcbiAgICAgICAgICAgIHN0YXRlbWVudCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgcmV0dXJuIHJlc291cmNlO1xuICB9XG59XG5cbmludGVyZmFjZSBQb2xpY3lDb25maWd1cmF0aW9uIHtcbiAgY3VzdG9tRGF0YUlkZW50aWZpZXI/OiBQb2xpY3lDdXN0b21EYXRhSWRlbnRpZmllcltdO1xufVxuXG5pbnRlcmZhY2UgUG9saWN5Q3VzdG9tRGF0YUlkZW50aWZpZXIge1xuICBuYW1lOiBzdHJpbmc7XG4gIHJlZ2V4OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBQb2xpY3lGaW5kaW5nc0Rlc3RpbmF0aW9uIHtcbiAgY2xvdWRXYXRjaExvZ3M/OiBQb2xpY3lDbG91ZFdhdGNoTG9nc0Rlc3RpbmF0aW9uO1xuICBmaXJlaG9zZT86IFBvbGljeUZpcmVob3NlRGVzdGluYXRpb247XG4gIHMzPzogUG9saWN5UzNEZXN0aW5hdGlvbjtcbn1cblxuaW50ZXJmYWNlIFBvbGljeUNsb3VkV2F0Y2hMb2dzRGVzdGluYXRpb24ge1xuICBsb2dHcm91cDogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUG9saWN5RmlyZWhvc2VEZXN0aW5hdGlvbiB7XG4gIGRlbGl2ZXJ5U3RyZWFtOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBQb2xpY3lTM0Rlc3RpbmF0aW9uIHtcbiAgYnVja2V0OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgY3JlYXRpbmcgYSBkYXRhIHByb3RlY3Rpb24gcG9saWN5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVByb3RlY3Rpb25Qb2xpY3lQcm9wcyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBkYXRhIHByb3RlY3Rpb24gcG9saWN5XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gJ2RhdGEtcHJvdGVjdGlvbi1wb2xpY3ktY2RrJ1xuICAgKi9cbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogRGVzY3JpcHRpb24gb2YgdGhlIGRhdGEgcHJvdGVjdGlvbiBwb2xpY3lcbiAgICpcbiAgICogQGRlZmF1bHQgLSAnY2RrIGdlbmVyYXRlZCBkYXRhIHByb3RlY3Rpb24gcG9saWN5J1xuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgZGF0YSBwcm90ZWN0aW9uIGlkZW50aWZpZXJzLlxuICAgKlxuICAgKiBNYW5hZ2VkIGRhdGEgaWRlbnRpZmllcnMgbXVzdCBiZSBpbiB0aGUgZm9sbG93aW5nIGxpc3Q6IGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25DbG91ZFdhdGNoL2xhdGVzdC9sb2dzL0NXTC1tYW5hZ2VkLWRhdGEtaWRlbnRpZmllcnMuaHRtbFxuICAgKiBDdXN0b20gZGF0YSBpZGVudGlmaWVycyBtdXN0IGhhdmUgYSB2YWxpZCByZWdleCBkZWZpbmVkOiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uQ2xvdWRXYXRjaC9sYXRlc3QvbG9ncy9DV0wtY3VzdG9tLWRhdGEtaWRlbnRpZmllcnMuaHRtbCNjdXN0b20tZGF0YS1pZGVudGlmaWVycy1jb25zdHJhaW50c1xuICAgKi9cbiAgcmVhZG9ubHkgaWRlbnRpZmllcnM6IERhdGFJZGVudGlmaWVyW107XG5cbiAgLyoqXG4gICAqIENsb3VkV2F0Y2ggTG9ncyBsb2cgZ3JvdXAgdG8gc2VuZCBhdWRpdCBmaW5kaW5ncyB0by4gVGhlIGxvZyBncm91cCBtdXN0IGFscmVhZHkgZXhpc3QgcHJpb3IgdG8gY3JlYXRpbmcgdGhlIGRhdGEgcHJvdGVjdGlvbiBwb2xpY3kuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gQ2xvdWRXYXRjaCBMb2dzIGF1ZGl0IGRlc3RpbmF0aW9uXG4gICAqL1xuICByZWFkb25seSBsb2dHcm91cEF1ZGl0RGVzdGluYXRpb24/OiBJTG9nR3JvdXA7XG5cbiAgLyoqXG4gICAqIFMzIGJ1Y2tldCB0byBzZW5kIGF1ZGl0IGZpbmRpbmdzIHRvLiBUaGUgYnVja2V0IG11c3QgYWxyZWFkeSBleGlzdC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBTMyBidWNrZXQgYXVkaXQgZGVzdGluYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IHMzQnVja2V0QXVkaXREZXN0aW5hdGlvbj86IElCdWNrZXQ7XG5cbiAgLyoqXG4gICAqIEFtYXpvbiBLaW5lc2lzIERhdGEgRmlyZWhvc2UgZGVsaXZlcnkgc3RyZWFtIHRvIHNlbmQgYXVkaXQgZmluZGluZ3MgdG8uIFRoZSBkZWxpdmVyeSBzdHJlYW0gbXVzdCBhbHJlYWR5IGV4aXN0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGZpcmVob3NlIGRlbGl2ZXJ5IHN0cmVhbSBhdWRpdCBkZXN0aW5hdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGVsaXZlcnlTdHJlYW1OYW1lQXVkaXREZXN0aW5hdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIGRhdGEgcHJvdGVjdGlvbiBpZGVudGlmaWVyLiBJZiBhbiBpZGVudGlmaWVyIGlzIHN1cHBvcnRlZCBidXQgbm90IGluIHRoaXMgY2xhc3MsIGl0IGNhbiBiZSBwYXNzZWQgaW4gdGhlIGNvbnN0cnVjdG9yIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhSWRlbnRpZmllciB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQUREUkVTUyA9IG5ldyBEYXRhSWRlbnRpZmllcihcIkFkZHJlc3NcIik7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQVdTU0VDUkVUS0VZID0gbmV3IERhdGFJZGVudGlmaWVyKFwiQXdzU2VjcmV0S2V5XCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEJBTktBQ0NPVU5UTlVNQkVSX0RFID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiQmFua0FjY291bnROdW1iZXItREVcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBCQU5LQUNDT1VOVE5VTUJFUl9FUyA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkJhbmtBY2NvdW50TnVtYmVyLUVTXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQkFOS0FDQ09VTlROVU1CRVJfRlIgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJCYW5rQWNjb3VudE51bWJlci1GUlwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEJBTktBQ0NPVU5UTlVNQkVSX0dCID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiQmFua0FjY291bnROdW1iZXItR0JcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBCQU5LQUNDT1VOVE5VTUJFUl9JVCA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkJhbmtBY2NvdW50TnVtYmVyLUlUXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQkFOS0FDQ09VTlROVU1CRVJfVVMgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJCYW5rQWNjb3VudE51bWJlci1VU1wiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENFUENPREVfQlIgPSBuZXcgRGF0YUlkZW50aWZpZXIoXCJDZXBDb2RlLUJSXCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENOUEpfQlIgPSBuZXcgRGF0YUlkZW50aWZpZXIoXCJDbnBqLUJSXCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENQRkNPREVfQlIgPSBuZXcgRGF0YUlkZW50aWZpZXIoXCJDcGZDb2RlLUJSXCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENSRURJVENBUkRFWFBJUkFUSU9OID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiQ3JlZGl0Q2FyZEV4cGlyYXRpb25cIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDUkVESVRDQVJETlVNQkVSID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiQ3JlZGl0Q2FyZE51bWJlclwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENSRURJVENBUkRTRUNVUklUWUNPREUgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJDcmVkaXRDYXJkU2VjdXJpdHlDb2RlXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRFJJVkVSU0xJQ0VOU0VfQVQgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJEcml2ZXJzTGljZW5zZS1BVFwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERSSVZFUlNMSUNFTlNFX0FVID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiRHJpdmVyc0xpY2Vuc2UtQVVcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEUklWRVJTTElDRU5TRV9CRSA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkRyaXZlcnNMaWNlbnNlLUJFXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRFJJVkVSU0xJQ0VOU0VfQkcgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJEcml2ZXJzTGljZW5zZS1CR1wiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERSSVZFUlNMSUNFTlNFX0NBID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiRHJpdmVyc0xpY2Vuc2UtQ0FcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEUklWRVJTTElDRU5TRV9DWSA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkRyaXZlcnNMaWNlbnNlLUNZXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRFJJVkVSU0xJQ0VOU0VfQ1ogPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJEcml2ZXJzTGljZW5zZS1DWlwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERSSVZFUlNMSUNFTlNFX0RFID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiRHJpdmVyc0xpY2Vuc2UtREVcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEUklWRVJTTElDRU5TRV9ESyA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkRyaXZlcnNMaWNlbnNlLURLXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRFJJVkVSU0xJQ0VOU0VfRUUgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJEcml2ZXJzTGljZW5zZS1FRVwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERSSVZFUlNMSUNFTlNFX0VTID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiRHJpdmVyc0xpY2Vuc2UtRVNcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEUklWRVJTTElDRU5TRV9GSSA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkRyaXZlcnNMaWNlbnNlLUZJXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRFJJVkVSU0xJQ0VOU0VfRlIgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJEcml2ZXJzTGljZW5zZS1GUlwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERSSVZFUlNMSUNFTlNFX0dCID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiRHJpdmVyc0xpY2Vuc2UtR0JcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEUklWRVJTTElDRU5TRV9HUiA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkRyaXZlcnNMaWNlbnNlLUdSXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRFJJVkVSU0xJQ0VOU0VfSFIgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJEcml2ZXJzTGljZW5zZS1IUlwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERSSVZFUlNMSUNFTlNFX0hVID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiRHJpdmVyc0xpY2Vuc2UtSFVcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEUklWRVJTTElDRU5TRV9JRSA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkRyaXZlcnNMaWNlbnNlLUlFXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRFJJVkVSU0xJQ0VOU0VfSVQgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJEcml2ZXJzTGljZW5zZS1JVFwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERSSVZFUlNMSUNFTlNFX0xUID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiRHJpdmVyc0xpY2Vuc2UtTFRcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEUklWRVJTTElDRU5TRV9MVSA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkRyaXZlcnNMaWNlbnNlLUxVXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRFJJVkVSU0xJQ0VOU0VfTFYgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJEcml2ZXJzTGljZW5zZS1MVlwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERSSVZFUlNMSUNFTlNFX01UID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiRHJpdmVyc0xpY2Vuc2UtTVRcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEUklWRVJTTElDRU5TRV9OTCA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkRyaXZlcnNMaWNlbnNlLU5MXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRFJJVkVSU0xJQ0VOU0VfUEwgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJEcml2ZXJzTGljZW5zZS1QTFwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERSSVZFUlNMSUNFTlNFX1BUID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiRHJpdmVyc0xpY2Vuc2UtUFRcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEUklWRVJTTElDRU5TRV9STyA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkRyaXZlcnNMaWNlbnNlLVJPXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRFJJVkVSU0xJQ0VOU0VfU0UgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJEcml2ZXJzTGljZW5zZS1TRVwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERSSVZFUlNMSUNFTlNFX1NJID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiRHJpdmVyc0xpY2Vuc2UtU0lcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEUklWRVJTTElDRU5TRV9TSyA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkRyaXZlcnNMaWNlbnNlLVNLXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRFJJVkVSU0xJQ0VOU0VfVVMgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJEcml2ZXJzTGljZW5zZS1VU1wiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERSVUdFTkZPUkNFTUVOVEFHRU5DWU5VTUJFUl9VUyA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkRydWdFbmZvcmNlbWVudEFnZW5jeU51bWJlci1VU1wiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEVMRUNUT1JBTFJPTExOVU1CRVJfR0IgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJFbGVjdG9yYWxSb2xsTnVtYmVyLUdCXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRU1BSUxBRERSRVNTID0gbmV3IERhdGFJZGVudGlmaWVyKFwiRW1haWxBZGRyZXNzXCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEhFQUxUSElOU1VSQU5DRUNBUkROVU1CRVJfRVUgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJIZWFsdGhJbnN1cmFuY2VDYXJkTnVtYmVyLUVVXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSEVBTFRISU5TVVJBTkNFQ0xBSU1OVU1CRVJfVVMgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJIZWFsdGhJbnN1cmFuY2VDbGFpbU51bWJlci1VU1wiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEhFQUxUSElOU1VSQU5DRU5VTUJFUl9GUiA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkhlYWx0aEluc3VyYW5jZU51bWJlci1GUlwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEhFQUxUSENBUkVQUk9DRURVUkVDT0RFX1VTID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiSGVhbHRoY2FyZVByb2NlZHVyZUNvZGUtVVNcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBJTkRJVklEVUFMVEFYSURFTlRJRklDQVRJT05OVU1CRVJfVVMgPVxuICAgIG5ldyBEYXRhSWRlbnRpZmllcihcIkluZGl2aWR1YWxUYXhJZGVudGlmaWNhdGlvbk51bWJlci1VU1wiKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBJTlNFRUNPREVfRlIgPSBuZXcgRGF0YUlkZW50aWZpZXIoXCJJbnNlZUNvZGUtRlJcIik7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSVBBRERSRVNTID0gbmV3IERhdGFJZGVudGlmaWVyKFwiSXBBZGRyZXNzXCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IExBVExPTkcgPSBuZXcgRGF0YUlkZW50aWZpZXIoXCJMYXRMb25nXCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE1FRElDQVJFQkVORUZJQ0lBUllOVU1CRVJfVVMgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJNZWRpY2FyZUJlbmVmaWNpYXJ5TnVtYmVyLVVTXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTkFNRSA9IG5ldyBEYXRhSWRlbnRpZmllcihcIk5hbWVcIik7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTkFUSU9OQUxEUlVHQ09ERV9VUyA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIk5hdGlvbmFsRHJ1Z0NvZGUtVVNcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBOQVRJT05BTElERU5USUZJQ0FUSU9OTlVNQkVSX0RFID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiTmF0aW9uYWxJZGVudGlmaWNhdGlvbk51bWJlci1ERVwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5BVElPTkFMSURFTlRJRklDQVRJT05OVU1CRVJfRVMgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJOYXRpb25hbElkZW50aWZpY2F0aW9uTnVtYmVyLUVTXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTkFUSU9OQUxJREVOVElGSUNBVElPTk5VTUJFUl9JVCA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIk5hdGlvbmFsSWRlbnRpZmljYXRpb25OdW1iZXItSVRcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBOQVRJT05BTElOU1VSQU5DRU5VTUJFUl9HQiA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIk5hdGlvbmFsSW5zdXJhbmNlTnVtYmVyLUdCXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTkFUSU9OQUxQUk9WSURFUklEX1VTID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiTmF0aW9uYWxQcm92aWRlcklkLVVTXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTkhTTlVNQkVSX0dCID0gbmV3IERhdGFJZGVudGlmaWVyKFwiTmhzTnVtYmVyLUdCXCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5JRU5VTUJFUl9FUyA9IG5ldyBEYXRhSWRlbnRpZmllcihcIk5pZU51bWJlci1FU1wiKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBOSUZOVU1CRVJfRVMgPSBuZXcgRGF0YUlkZW50aWZpZXIoXCJOaWZOdW1iZXItRVNcIik7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgT1BFTlNTSFBSSVZBVEVLRVkgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJPcGVuU3NoUHJpdmF0ZUtleVwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBBU1NQT1JUTlVNQkVSX0NBID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiUGFzc3BvcnROdW1iZXItQ0FcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQQVNTUE9SVE5VTUJFUl9ERSA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIlBhc3Nwb3J0TnVtYmVyLURFXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFTU1BPUlROVU1CRVJfRVMgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJQYXNzcG9ydE51bWJlci1FU1wiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBBU1NQT1JUTlVNQkVSX0ZSID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiUGFzc3BvcnROdW1iZXItRlJcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQQVNTUE9SVE5VTUJFUl9HQiA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIlBhc3Nwb3J0TnVtYmVyLUdCXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFTU1BPUlROVU1CRVJfSVQgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJQYXNzcG9ydE51bWJlci1JVFwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBBU1NQT1JUTlVNQkVSX1VTID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiUGFzc3BvcnROdW1iZXItVVNcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQRVJNQU5FTlRSRVNJREVOQ0VOVU1CRVJfQ0EgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJQZXJtYW5lbnRSZXNpZGVuY2VOdW1iZXItQ0FcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQRVJTT05BTEhFQUxUSE5VTUJFUl9DQSA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIlBlcnNvbmFsSGVhbHRoTnVtYmVyLUNBXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEdQUFJJVkFURUtFWSA9IG5ldyBEYXRhSWRlbnRpZmllcihcIlBncFByaXZhdGVLZXlcIik7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEhPTkVOVU1CRVJfQlIgPSBuZXcgRGF0YUlkZW50aWZpZXIoXCJQaG9uZU51bWJlci1CUlwiKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQSE9ORU5VTUJFUl9ERSA9IG5ldyBEYXRhSWRlbnRpZmllcihcIlBob25lTnVtYmVyLURFXCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBIT05FTlVNQkVSX0VTID0gbmV3IERhdGFJZGVudGlmaWVyKFwiUGhvbmVOdW1iZXItRVNcIik7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEhPTkVOVU1CRVJfRlIgPSBuZXcgRGF0YUlkZW50aWZpZXIoXCJQaG9uZU51bWJlci1GUlwiKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQSE9ORU5VTUJFUl9HQiA9IG5ldyBEYXRhSWRlbnRpZmllcihcIlBob25lTnVtYmVyLUdCXCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBIT05FTlVNQkVSX0lUID0gbmV3IERhdGFJZGVudGlmaWVyKFwiUGhvbmVOdW1iZXItSVRcIik7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEhPTkVOVU1CRVJfVVMgPSBuZXcgRGF0YUlkZW50aWZpZXIoXCJQaG9uZU51bWJlci1VU1wiKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQS0NTUFJJVkFURUtFWSA9IG5ldyBEYXRhSWRlbnRpZmllcihcIlBrY3NQcml2YXRlS2V5XCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBPU1RBTENPREVfQ0EgPSBuZXcgRGF0YUlkZW50aWZpZXIoXCJQb3N0YWxDb2RlLUNBXCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBVVFRZUFJJVkFURUtFWSA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIlB1dHR5UHJpdmF0ZUtleVwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFJHTlVNQkVSX0JSID0gbmV3IERhdGFJZGVudGlmaWVyKFwiUmdOdW1iZXItQlJcIik7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU09DSUFMSU5TVVJBTkNFTlVNQkVSX0NBID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiU29jaWFsSW5zdXJhbmNlTnVtYmVyLUNBXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU1NOX0VTID0gbmV3IERhdGFJZGVudGlmaWVyKFwiU3NuLUVTXCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNTTl9VUyA9IG5ldyBEYXRhSWRlbnRpZmllcihcIlNzbi1VU1wiKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUQVhJRF9ERSA9IG5ldyBEYXRhSWRlbnRpZmllcihcIlRheElkLURFXCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRBWElEX0VTID0gbmV3IERhdGFJZGVudGlmaWVyKFwiVGF4SWQtRVNcIik7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVEFYSURfRlIgPSBuZXcgRGF0YUlkZW50aWZpZXIoXCJUYXhJZC1GUlwiKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUQVhJRF9HQiA9IG5ldyBEYXRhSWRlbnRpZmllcihcIlRheElkLUdCXCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFZFSElDTEVJREVOVElGSUNBVElPTk5VTUJFUiA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIlZlaGljbGVJZGVudGlmaWNhdGlvbk51bWJlclwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFpJUENPREVfVVMgPSBuZXcgRGF0YUlkZW50aWZpZXIoXCJaaXBDb2RlLVVTXCIpO1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBtYW5hZ2VkIGRhdGEgaWRlbnRpZmllciBub3QgaW4gdGhlIGxpc3Qgb2Ygc3RhdGljIG1lbWJlcnMuIFRoaXMgaXMgdXNlZCB0byBtYWludGFpbiBmb3J3YXJkIGNvbXBhdGliaWxpdHksIGluIGNhc2UgYSBuZXcgbWFuYWdlZCBpZGVudGlmaWVyIGlzIHN1cHBvcnRlZCBidXQgbm90IHVwZGF0ZWQgaW4gQ0RLIHlldC5cbiAgICogQHBhcmFtIG5hbWUgLSBuYW1lIG9mIHRoZSBpZGVudGlmaWVyLlxuICAgKi9cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZykge31cblxuICBwdWJsaWMgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG59XG5cbi8qKlxuICogQSBjdXN0b20gZGF0YSBpZGVudGlmaWVyLiBJbmNsdWRlIGEgY3VzdG9tIGRhdGEgaWRlbnRpZmllciBuYW1lIGFuZCByZWd1bGFyIGV4cHJlc3Npb24gaW4gdGhlIEpTT04gcG9saWN5IHVzZWQgdG8gZGVmaW5lIHRoZSBkYXRhIHByb3RlY3Rpb24gcG9saWN5LlxuICovXG5leHBvcnQgY2xhc3MgQ3VzdG9tRGF0YUlkZW50aWZpZXIgZXh0ZW5kcyBEYXRhSWRlbnRpZmllciB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBjdXN0b20gZGF0YSBpZGVudGlmaWVyLlxuICAgKiBAcGFyYW0gbmFtZSAtIHRoZSBuYW1lIG9mIHRoZSBjdXN0b20gZGF0YSBpZGVudGlmaWVyLiBUaGlzIGNhbm5vdCBzaGFyZSB0aGUgc2FtZSBuYW1lIGFzIGEgbWFuYWdlZCBkYXRhIGlkZW50aWZpZXIuXG4gICAqIEBwYXJhbSByZWdleCAtIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gdG8gZGV0ZWN0IGFuZCBtYXNrIGxvZyBldmVudHMgZm9yLlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVnZXg6IHN0cmluZyxcbiAgKSB7XG4gICAgc3VwZXIobmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGEgQ3VzdG9tRGF0YUlkZW50aWZpZXJcbiAgICogQHJldHVybnMgdGhlIG5hbWUgYW5kIFJlZ0V4IG9mIHRoZSBjdXN0b20gZGF0YSBpZGVudGlmaWVyXG4gICAqL1xuICBwdWJsaWMgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5uYW1lfTogJHt0aGlzLnJlZ2V4fWA7XG4gIH1cbn1cbiJdfQ==
|
|
245
|
+
CustomDataIdentifier[_c] = { fqn: "terraconstructs.aws.cloudwatch.CustomDataIdentifier", version: "0.2.5" };
|
|
246
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1wcm90ZWN0aW9uLXBvbGljeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvY2xvdWR3YXRjaC9kYXRhLXByb3RlY3Rpb24tcG9saWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMkdBQTJHO0FBRTNHLHNEQUF3RTtBQUN4RSw0Q0FBd0M7QUFHeEM7O0dBRUc7QUFDSCxNQUFhLG9CQUFvQjtJQUcvQixZQUFZLEtBQWdDO1FBQzFDLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFDRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxrREFBa0Q7SUFFbEQ7O09BRUc7SUFDSSxLQUFLLENBQ1YsTUFBaUI7UUFFakIsTUFBTSxJQUFJLEdBQ1IsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksSUFBSSw0QkFBNEIsQ0FBQztRQUN0RSxNQUFNLFdBQVcsR0FDZixJQUFJLENBQUMseUJBQXlCLENBQUMsV0FBVztZQUMxQyxzQ0FBc0MsQ0FBQztRQUN6QyxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUM7UUFFN0IsTUFBTSxtQkFBbUIsR0FBOEIsRUFBRSxDQUFDO1FBQzFELElBQUksSUFBSSxDQUFDLHlCQUF5QixDQUFDLHdCQUF3QixFQUFFLENBQUM7WUFDNUQsbUJBQW1CLENBQUMsY0FBYyxHQUFHO2dCQUNuQyxRQUFRLEVBQ04sSUFBSSxDQUFDLHlCQUF5QixDQUFDLHdCQUF3QixDQUFDLFlBQVk7YUFDdkUsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQzVELG1CQUFtQixDQUFDLEVBQUUsR0FBRztnQkFDdkIsTUFBTSxFQUNKLElBQUksQ0FB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LEdBQUcsSUFBSSxjQUFjLENBQzNELG1CQUFtQixDQUNwQixDQUFDO0FBQ3FCLGdDQUFpQixHQUFHLElBQUksY0FBYyxDQUMzRCxtQkFBbUIsQ0FDcEIsQ0FBQztBQUNxQixnQ0FBaUIsR0FBRyxJQUFJLGNBQWMsQ0FDM0QsbUJBQW1CLENBQ3BCLENBQUM7QUFDcUIsZ0NBQWlCLEdBQUcsSUFBSSxjQUFjLENBQzNELG1CQUFtQixDQUNwQixDQUFDO0FBQ3FCLGdDQUFpQixHQUFHLElBQUksY0FBYyxDQUMzRCxtQkFBbUIsQ0FDcEIsQ0FBQztBQUNxQixnQ0FBaUIsR0FBRyxJQUFJLGNBQWMsQ0FDM0QsbUJBQW1CLENBQ3BCLENBQUM7QUFDcUIsZ0NBQWlCLEdBQUcsSUFBSSxjQUFjLENBQzNELG1CQUFtQixDQUNwQixDQUFDO0FBQ3FCLGdDQUFpQixHQUFHLElBQUksY0FBYyxDQUMzRCxtQkFBbUIsQ0FDcEIsQ0FBQztBQUNxQixnQ0FBaUIsR0FBRyxJQUFJLGNBQWMsQ0FDM0QsbUJBQW1CLENBQ3BCLENBQUM7QUFDcUIsZ0NBQWlCLEdBQUcsSUFBSSxjQUFjLENBQzNELG1CQUFtQixDQUNwQixDQUFDO0FBQ3FCLGdDQUFpQixHQUFHLElBQUksY0FBYyxDQUMzRCxtQkFBbUIsQ0FDcEIsQ0FBQztBQUNxQixnQ0FBaUIsR0FBRyxJQUFJLGNBQWMsQ0FDM0QsbUJBQW1CLENBQ3BCLENBQUM7QUFDcUIsZ0NBQWlCLEdBQUcsSUFBSSxjQUFjLENBQzNELG1CQUFtQixDQUNwQixDQUFDO0FBQ3FCLGdDQUFpQixHQUFHLElBQUksY0FBYyxDQUMzRCxtQkFBbUIsQ0FDcEIsQ0FBQztBQUNxQixnQ0FBaUIsR0FBRyxJQUFJLGNBQWMsQ0FDM0QsbUJBQW1CLENBQ3BCLENBQUM7QUFDcUIsZ0NBQWlCLEdBQUcsSUFBSSxjQUFjLENBQzNELG1CQUFtQixDQUNwQixDQUFDO0FBQ3FCLGdDQUFpQixHQUFHLElBQUksY0FBYyxDQUMzRCxtQkFBbUIsQ0FDcEIsQ0FBQztBQUNxQixnQ0FBaUIsR0FBRyxJQUFJLGNBQWMs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LElBQUksY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzFDLHVCQUFRLEdBQUcsSUFBSSxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDMUMsdUJBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUMxQywwQ0FBMkIsR0FBRyxJQUFJLGNBQWMsQ0FDckUsNkJBQTZCLENBQzlCLENBQUM7QUFDcUIseUJBQVUsR0FBRyxJQUFJLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQWF2RTs7R0FFRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsY0FBYztJQUN0RDs7OztPQUlHO0lBQ0gsWUFDa0IsSUFBWSxFQUNaLEtBQWE7UUFFN0IsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBSEksU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLFVBQUssR0FBTCxLQUFLLENBQVE7SUFHL0IsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFFBQVE7UUFDYixPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkMsQ0FBQzs7QUFuQkgsb0RBb0JDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTcwLjAvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWxvZ3MvbGliL2RhdGEtcHJvdGVjdGlvbi1wb2xpY3kudHNcblxuaW1wb3J0IHsgY2xvdWR3YXRjaExvZ0RhdGFQcm90ZWN0aW9uUG9saWN5IH0gZnJvbSBcIkBjZGt0bi9wcm92aWRlci1hd3NcIjtcbmltcG9ydCB7IEF3c1N0YWNrIH0gZnJvbSBcIi4uL2F3cy1zdGFja1wiO1xuaW1wb3J0IHsgSUxvZ0dyb3VwIH0gZnJvbSBcIi4vbG9nLWdyb3VwXCI7XG5pbXBvcnQgeyBJQnVja2V0IH0gZnJvbSBcIi4uL3N0b3JhZ2VcIjtcbi8qKlxuICogQ3JlYXRlcyBhIGRhdGEgcHJvdGVjdGlvbiBwb2xpY3kgZm9yIENsb3VkV2F0Y2ggTG9ncyBsb2cgZ3JvdXBzLlxuICovXG5leHBvcnQgY2xhc3MgRGF0YVByb3RlY3Rpb25Qb2xpY3kge1xuICBwcml2YXRlIHJlYWRvbmx5IGRhdGFQcm90ZWN0aW9uUG9saWN5UHJvcHM6IERhdGFQcm90ZWN0aW9uUG9saWN5UHJvcHM7XG5cbiAgY29uc3RydWN0b3IocHJvcHM6IERhdGFQcm90ZWN0aW9uUG9saWN5UHJvcHMpIHtcbiAgICBpZiAocHJvcHMuaWRlbnRpZmllcnMubGVuZ3RoID09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkRhdGFJZGVudGlmaWVyIGNhbm5vdCBiZSBlbXB0eVwiKTtcbiAgICB9XG4gICAgdGhpcy5kYXRhUHJvdGVjdGlvblBvbGljeVByb3BzID0gcHJvcHM7XG4gIH1cblxuICAvLyBOT1RFOiBsaW1pdGVkIHNjb3BlIHRvIGxvZ0dyb3VwIGNsYXNzIChmb3Igbm93KVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBfYmluZChcbiAgICBfc2NvcGU6IElMb2dHcm91cCxcbiAgKTogY2xvdWR3YXRjaExvZ0RhdGFQcm90ZWN0aW9uUG9saWN5LkNsb3Vkd2F0Y2hMb2dEYXRhUHJvdGVjdGlvblBvbGljeSB7XG4gICAgY29uc3QgbmFtZSA9XG4gICAgICB0aGlzLmRhdGFQcm90ZWN0aW9uUG9saWN5UHJvcHMubmFtZSB8fCBcImRhdGEtcHJvdGVjdGlvbi1wb2xpY3ktY2RrXCI7XG4gICAgY29uc3QgZGVzY3JpcHRpb24gPVxuICAgICAgdGhpcy5kYXRhUHJvdGVjdGlvblBvbGljeVByb3BzLmRlc2NyaXB0aW9uIHx8XG4gICAgICBcImNkayBnZW5lcmF0ZWQgZGF0YSBwcm90ZWN0aW9uIHBvbGljeVwiO1xuICAgIGNvbnN0IHZlcnNpb24gPSBcIjIwMjEtMDYtMDFcIjtcblxuICAgIGNvbnN0IGZpbmRpbmdzRGVzdGluYXRpb246IFBvbGljeUZpbmRpbmdzRGVzdGluYXRpb24gPSB7fTtcbiAgICBpZiAodGhpcy5kYXRhUHJvdGVjdGlvblBvbGljeVByb3BzLmxvZ0dyb3VwQXVkaXREZXN0aW5hdGlvbikge1xuICAgICAgZmluZGluZ3NEZXN0aW5hdGlvbi5jbG91ZFdhdGNoTG9ncyA9IHtcbiAgICAgICAgbG9nR3JvdXA6XG4gICAgICAgICAgdGhpcy5kYXRhUHJvdGVjdGlvblBvbGljeVByb3BzLmxvZ0dyb3VwQXVkaXREZXN0aW5hdGlvbi5sb2dHcm91cE5hbWUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRhdGFQcm90ZWN0aW9uUG9saWN5UHJvcHMuczNCdWNrZXRBdWRpdERlc3RpbmF0aW9uKSB7XG4gICAgICBmaW5kaW5nc0Rlc3RpbmF0aW9uLnMzID0ge1xuICAgICAgICBidWNrZXQ6XG4gICAgICAgICAgdGhpcy5kYXRhUHJvdGVjdGlvblBvbGljeVByb3BzLnMzQnVja2V0QXVkaXREZXN0aW5hdGlvbi5idWNrZXROYW1lLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kYXRhUHJvdGVjdGlvblBvbGljeVByb3BzLmRlbGl2ZXJ5U3RyZWFtTmFtZUF1ZGl0RGVzdGluYXRpb24pIHtcbiAgICAgIGZpbmRpbmdzRGVzdGluYXRpb24uZmlyZWhvc2UgPSB7XG4gICAgICAgIGRlbGl2ZXJ5U3RyZWFtOlxuICAgICAgICAgIHRoaXMuZGF0YVByb3RlY3Rpb25Qb2xpY3lQcm9wcy5kZWxpdmVyeVN0cmVhbU5hbWVBdWRpdERlc3RpbmF0aW9uLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBpZGVudGlmaWVyczogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBjdXN0b21EYXRhSWRlbnRpZmllcnM6IFBvbGljeUN1c3RvbURhdGFJZGVudGlmaWVyW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGlkZW50aWZpZXIgb2YgdGhpcy5kYXRhUHJvdGVjdGlvblBvbGljeVByb3BzLmlkZW50aWZpZXJzKSB7XG4gICAgICBpZiAoaWRlbnRpZmllciBpbnN0YW5jZW9mIEN1c3RvbURhdGFJZGVudGlmaWVyKSB7XG4gICAgICAgIGlkZW50aWZpZXJzLnB1c2goaWRlbnRpZmllci5uYW1lKTtcbiAgICAgICAgY3VzdG9tRGF0YUlkZW50aWZpZXJzLnB1c2goe1xuICAgICAgICAgIG5hbWU6IGlkZW50aWZpZXIubmFtZSxcbiAgICAgICAgICByZWdleDogaWRlbnRpZmllci5yZWdleCxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZGVudGlmaWVycy5wdXNoKFxuICAgICAgICAgIEF3c1N0YWNrLm9mQXdzQ29uc3RydWN0KF9zY29wZSkuZm9ybWF0QXJuKHtcbiAgICAgICAgICAgIHJlc291cmNlOiBcImRhdGEtaWRlbnRpZmllclwiLFxuICAgICAgICAgICAgcmVnaW9uOiBcIlwiLFxuICAgICAgICAgICAgYWNjb3VudDogXCJhd3NcIixcbiAgICAgICAgICAgIHNlcnZpY2U6IFwiZGF0YXByb3RlY3Rpb25cIixcbiAgICAgICAgICAgIHJlc291cmNlTmFtZTogaWRlbnRpZmllci5uYW1lLFxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHN0YXRlbWVudCA9IFtcbiAgICAgIHtcbiAgICAgICAgc2lkOiBcImF1ZGl0LXN0YXRlbWVudC1jZGtcIixcbiAgICAgICAgZGF0YUlkZW50aWZpZXI6IGlkZW50aWZpZXJzLFxuICAgICAgICBvcGVyYXRpb246IHtcbiAgICAgICAgICBhdWRpdDoge1xuICAgICAgICAgICAgZmluZGluZ3NEZXN0aW5hdGlvbjogZmluZGluZ3NEZXN0aW5hdGlvbixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc2lkOiBcInJlZGFjdC1zdGF0ZW1lbnQtY2RrXCIsXG4gICAgICAgIGRhdGFJZGVudGlmaWVyOiBpZGVudGlmaWVycyxcbiAgICAgICAgb3BlcmF0aW9uOiB7XG4gICAgICAgICAgZGVpZGVudGlmeToge1xuICAgICAgICAgICAgbWFza0NvbmZpZzoge30sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb246IFBvbGljeUNvbmZpZ3VyYXRpb24gPSB7XG4gICAgICBjdXN0b21EYXRhSWRlbnRpZmllcjogY3VzdG9tRGF0YUlkZW50aWZpZXJzLFxuICAgIH07XG4gICAgY29uc3QgcmVzb3VyY2UgPVxuICAgICAgbmV3IGNsb3Vkd2F0Y2hMb2dEYXRhUHJvdGVjdGlvblBvbGljeS5DbG91ZHdhdGNoTG9nRGF0YVByb3RlY3Rpb25Qb2xpY3koXG4gICAgICAgIF9zY29wZSxcbiAgICAgICAgXCJEYXRhUHJvdGVjdGlvblBvbGljeVwiLFxuICAgICAgICB7XG4gICAgICAgICAgbG9nR3JvdXBOYW1lOiBfc2NvcGUubG9nR3JvdXBOYW1lLFxuICAgICAgICAgIC8vIFRPRE86IHVzZSBjbG91ZHdhdGNoX2xvZ19kYXRhX3Byb3RlY3Rpb25fcG9saWN5X2RvY3VtZW50IGRhdGEgc291cmNlIGluc3RlYWQgb2YganNvbiBzdHJpbmdpZnlcbiAgICAgICAgICAvLyBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F3cy81LjY4LjAvZG9jcy9kYXRhLXNvdXJjZXMvY2xvdWR3YXRjaF9sb2dfZGF0YV9wcm90ZWN0aW9uX3BvbGljeV9kb2N1bWVudFxuICAgICAgICAgIHBvbGljeURvY3VtZW50OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgZGVzY3JpcHRpb24sXG4gICAgICAgICAgICB2ZXJzaW9uLFxuICAgICAgICAgICAgY29uZmlndXJhdGlvbixcbiAgICAgICAgICAgIHN0YXRlbWVudCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgcmV0dXJuIHJlc291cmNlO1xuICB9XG59XG5cbmludGVyZmFjZSBQb2xpY3lDb25maWd1cmF0aW9uIHtcbiAgY3VzdG9tRGF0YUlkZW50aWZpZXI/OiBQb2xpY3lDdXN0b21EYXRhSWRlbnRpZmllcltdO1xufVxuXG5pbnRlcmZhY2UgUG9saWN5Q3VzdG9tRGF0YUlkZW50aWZpZXIge1xuICBuYW1lOiBzdHJpbmc7XG4gIHJlZ2V4OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBQb2xpY3lGaW5kaW5nc0Rlc3RpbmF0aW9uIHtcbiAgY2xvdWRXYXRjaExvZ3M/OiBQb2xpY3lDbG91ZFdhdGNoTG9nc0Rlc3RpbmF0aW9uO1xuICBmaXJlaG9zZT86IFBvbGljeUZpcmVob3NlRGVzdGluYXRpb247XG4gIHMzPzogUG9saWN5UzNEZXN0aW5hdGlvbjtcbn1cblxuaW50ZXJmYWNlIFBvbGljeUNsb3VkV2F0Y2hMb2dzRGVzdGluYXRpb24ge1xuICBsb2dHcm91cDogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUG9saWN5RmlyZWhvc2VEZXN0aW5hdGlvbiB7XG4gIGRlbGl2ZXJ5U3RyZWFtOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBQb2xpY3lTM0Rlc3RpbmF0aW9uIHtcbiAgYnVja2V0OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgY3JlYXRpbmcgYSBkYXRhIHByb3RlY3Rpb24gcG9saWN5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVByb3RlY3Rpb25Qb2xpY3lQcm9wcyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBkYXRhIHByb3RlY3Rpb24gcG9saWN5XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gJ2RhdGEtcHJvdGVjdGlvbi1wb2xpY3ktY2RrJ1xuICAgKi9cbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogRGVzY3JpcHRpb24gb2YgdGhlIGRhdGEgcHJvdGVjdGlvbiBwb2xpY3lcbiAgICpcbiAgICogQGRlZmF1bHQgLSAnY2RrIGdlbmVyYXRlZCBkYXRhIHByb3RlY3Rpb24gcG9saWN5J1xuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgZGF0YSBwcm90ZWN0aW9uIGlkZW50aWZpZXJzLlxuICAgKlxuICAgKiBNYW5hZ2VkIGRhdGEgaWRlbnRpZmllcnMgbXVzdCBiZSBpbiB0aGUgZm9sbG93aW5nIGxpc3Q6IGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25DbG91ZFdhdGNoL2xhdGVzdC9sb2dzL0NXTC1tYW5hZ2VkLWRhdGEtaWRlbnRpZmllcnMuaHRtbFxuICAgKiBDdXN0b20gZGF0YSBpZGVudGlmaWVycyBtdXN0IGhhdmUgYSB2YWxpZCByZWdleCBkZWZpbmVkOiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uQ2xvdWRXYXRjaC9sYXRlc3QvbG9ncy9DV0wtY3VzdG9tLWRhdGEtaWRlbnRpZmllcnMuaHRtbCNjdXN0b20tZGF0YS1pZGVudGlmaWVycy1jb25zdHJhaW50c1xuICAgKi9cbiAgcmVhZG9ubHkgaWRlbnRpZmllcnM6IERhdGFJZGVudGlmaWVyW107XG5cbiAgLyoqXG4gICAqIENsb3VkV2F0Y2ggTG9ncyBsb2cgZ3JvdXAgdG8gc2VuZCBhdWRpdCBmaW5kaW5ncyB0by4gVGhlIGxvZyBncm91cCBtdXN0IGFscmVhZHkgZXhpc3QgcHJpb3IgdG8gY3JlYXRpbmcgdGhlIGRhdGEgcHJvdGVjdGlvbiBwb2xpY3kuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gQ2xvdWRXYXRjaCBMb2dzIGF1ZGl0IGRlc3RpbmF0aW9uXG4gICAqL1xuICByZWFkb25seSBsb2dHcm91cEF1ZGl0RGVzdGluYXRpb24/OiBJTG9nR3JvdXA7XG5cbiAgLyoqXG4gICAqIFMzIGJ1Y2tldCB0byBzZW5kIGF1ZGl0IGZpbmRpbmdzIHRvLiBUaGUgYnVja2V0IG11c3QgYWxyZWFkeSBleGlzdC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBTMyBidWNrZXQgYXVkaXQgZGVzdGluYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IHMzQnVja2V0QXVkaXREZXN0aW5hdGlvbj86IElCdWNrZXQ7XG5cbiAgLyoqXG4gICAqIEFtYXpvbiBLaW5lc2lzIERhdGEgRmlyZWhvc2UgZGVsaXZlcnkgc3RyZWFtIHRvIHNlbmQgYXVkaXQgZmluZGluZ3MgdG8uIFRoZSBkZWxpdmVyeSBzdHJlYW0gbXVzdCBhbHJlYWR5IGV4aXN0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGZpcmVob3NlIGRlbGl2ZXJ5IHN0cmVhbSBhdWRpdCBkZXN0aW5hdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGVsaXZlcnlTdHJlYW1OYW1lQXVkaXREZXN0aW5hdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIGRhdGEgcHJvdGVjdGlvbiBpZGVudGlmaWVyLiBJZiBhbiBpZGVudGlmaWVyIGlzIHN1cHBvcnRlZCBidXQgbm90IGluIHRoaXMgY2xhc3MsIGl0IGNhbiBiZSBwYXNzZWQgaW4gdGhlIGNvbnN0cnVjdG9yIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhSWRlbnRpZmllciB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQUREUkVTUyA9IG5ldyBEYXRhSWRlbnRpZmllcihcIkFkZHJlc3NcIik7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQVdTU0VDUkVUS0VZID0gbmV3IERhdGFJZGVudGlmaWVyKFwiQXdzU2VjcmV0S2V5XCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEJBTktBQ0NPVU5UTlVNQkVSX0RFID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiQmFua0FjY291bnROdW1iZXItREVcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBCQU5LQUNDT1VOVE5VTUJFUl9FUyA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkJhbmtBY2NvdW50TnVtYmVyLUVTXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQkFOS0FDQ09VTlROVU1CRVJfRlIgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJCYW5rQWNjb3VudE51bWJlci1GUlwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEJBTktBQ0NPVU5UTlVNQkVSX0dCID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiQmFua0FjY291bnROdW1iZXItR0JcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBCQU5LQUNDT1VOVE5VTUJFUl9JVCA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkJhbmtBY2NvdW50TnVtYmVyLUlUXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQkFOS0FDQ09VTlROVU1CRVJfVVMgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJCYW5rQWNjb3VudE51bWJlci1VU1wiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENFUENPREVfQlIgPSBuZXcgRGF0YUlkZW50aWZpZXIoXCJDZXBDb2RlLUJSXCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENOUEpfQlIgPSBuZXcgRGF0YUlkZW50aWZpZXIoXCJDbnBqLUJSXCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENQRkNPREVfQlIgPSBuZXcgRGF0YUlkZW50aWZpZXIoXCJDcGZDb2RlLUJSXCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENSRURJVENBUkRFWFBJUkFUSU9OID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiQ3JlZGl0Q2FyZEV4cGlyYXRpb25cIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDUkVESVRDQVJETlVNQkVSID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiQ3JlZGl0Q2FyZE51bWJlclwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENSRURJVENBUkRTRUNVUklUWUNPREUgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJDcmVkaXRDYXJkU2VjdXJpdHlDb2RlXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRFJJVkVSU0xJQ0VOU0VfQVQgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJEcml2ZXJzTGljZW5zZS1BVFwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERSSVZFUlNMSUNFTlNFX0FVID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiRHJpdmVyc0xpY2Vuc2UtQVVcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEUklWRVJTTElDRU5TRV9CRSA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkRyaXZlcnNMaWNlbnNlLUJFXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRFJJVkVSU0xJQ0VOU0VfQkcgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJEcml2ZXJzTGljZW5zZS1CR1wiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERSSVZFUlNMSUNFTlNFX0NBID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiRHJpdmVyc0xpY2Vuc2UtQ0FcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEUklWRVJTTElDRU5TRV9DWSA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkRyaXZlcnNMaWNlbnNlLUNZXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRFJJVkVSU0xJQ0VOU0VfQ1ogPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJEcml2ZXJzTGljZW5zZS1DWlwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERSSVZFUlNMSUNFTlNFX0RFID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiRHJpdmVyc0xpY2Vuc2UtREVcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEUklWRVJTTElDRU5TRV9ESyA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkRyaXZlcnNMaWNlbnNlLURLXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRFJJVkVSU0xJQ0VOU0VfRUUgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJEcml2ZXJzTGljZW5zZS1FRVwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERSSVZFUlNMSUNFTlNFX0VTID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiRHJpdmVyc0xpY2Vuc2UtRVNcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEUklWRVJTTElDRU5TRV9GSSA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkRyaXZlcnNMaWNlbnNlLUZJXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRFJJVkVSU0xJQ0VOU0VfRlIgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJEcml2ZXJzTGljZW5zZS1GUlwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERSSVZFUlNMSUNFTlNFX0dCID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiRHJpdmVyc0xpY2Vuc2UtR0JcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEUklWRVJTTElDRU5TRV9HUiA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkRyaXZlcnNMaWNlbnNlLUdSXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRFJJVkVSU0xJQ0VOU0VfSFIgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJEcml2ZXJzTGljZW5zZS1IUlwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERSSVZFUlNMSUNFTlNFX0hVID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiRHJpdmVyc0xpY2Vuc2UtSFVcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEUklWRVJTTElDRU5TRV9JRSA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkRyaXZlcnNMaWNlbnNlLUlFXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRFJJVkVSU0xJQ0VOU0VfSVQgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJEcml2ZXJzTGljZW5zZS1JVFwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERSSVZFUlNMSUNFTlNFX0xUID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiRHJpdmVyc0xpY2Vuc2UtTFRcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEUklWRVJTTElDRU5TRV9MVSA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkRyaXZlcnNMaWNlbnNlLUxVXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRFJJVkVSU0xJQ0VOU0VfTFYgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJEcml2ZXJzTGljZW5zZS1MVlwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERSSVZFUlNMSUNFTlNFX01UID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiRHJpdmVyc0xpY2Vuc2UtTVRcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEUklWRVJTTElDRU5TRV9OTCA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkRyaXZlcnNMaWNlbnNlLU5MXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRFJJVkVSU0xJQ0VOU0VfUEwgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJEcml2ZXJzTGljZW5zZS1QTFwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERSSVZFUlNMSUNFTlNFX1BUID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiRHJpdmVyc0xpY2Vuc2UtUFRcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEUklWRVJTTElDRU5TRV9STyA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkRyaXZlcnNMaWNlbnNlLVJPXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRFJJVkVSU0xJQ0VOU0VfU0UgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJEcml2ZXJzTGljZW5zZS1TRVwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERSSVZFUlNMSUNFTlNFX1NJID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiRHJpdmVyc0xpY2Vuc2UtU0lcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEUklWRVJTTElDRU5TRV9TSyA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkRyaXZlcnNMaWNlbnNlLVNLXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRFJJVkVSU0xJQ0VOU0VfVVMgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJEcml2ZXJzTGljZW5zZS1VU1wiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERSVUdFTkZPUkNFTUVOVEFHRU5DWU5VTUJFUl9VUyA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkRydWdFbmZvcmNlbWVudEFnZW5jeU51bWJlci1VU1wiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEVMRUNUT1JBTFJPTExOVU1CRVJfR0IgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJFbGVjdG9yYWxSb2xsTnVtYmVyLUdCXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRU1BSUxBRERSRVNTID0gbmV3IERhdGFJZGVudGlmaWVyKFwiRW1haWxBZGRyZXNzXCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEhFQUxUSElOU1VSQU5DRUNBUkROVU1CRVJfRVUgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJIZWFsdGhJbnN1cmFuY2VDYXJkTnVtYmVyLUVVXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSEVBTFRISU5TVVJBTkNFQ0xBSU1OVU1CRVJfVVMgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJIZWFsdGhJbnN1cmFuY2VDbGFpbU51bWJlci1VU1wiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEhFQUxUSElOU1VSQU5DRU5VTUJFUl9GUiA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIkhlYWx0aEluc3VyYW5jZU51bWJlci1GUlwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEhFQUxUSENBUkVQUk9DRURVUkVDT0RFX1VTID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiSGVhbHRoY2FyZVByb2NlZHVyZUNvZGUtVVNcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBJTkRJVklEVUFMVEFYSURFTlRJRklDQVRJT05OVU1CRVJfVVMgPVxuICAgIG5ldyBEYXRhSWRlbnRpZmllcihcIkluZGl2aWR1YWxUYXhJZGVudGlmaWNhdGlvbk51bWJlci1VU1wiKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBJTlNFRUNPREVfRlIgPSBuZXcgRGF0YUlkZW50aWZpZXIoXCJJbnNlZUNvZGUtRlJcIik7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSVBBRERSRVNTID0gbmV3IERhdGFJZGVudGlmaWVyKFwiSXBBZGRyZXNzXCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IExBVExPTkcgPSBuZXcgRGF0YUlkZW50aWZpZXIoXCJMYXRMb25nXCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE1FRElDQVJFQkVORUZJQ0lBUllOVU1CRVJfVVMgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJNZWRpY2FyZUJlbmVmaWNpYXJ5TnVtYmVyLVVTXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTkFNRSA9IG5ldyBEYXRhSWRlbnRpZmllcihcIk5hbWVcIik7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTkFUSU9OQUxEUlVHQ09ERV9VUyA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIk5hdGlvbmFsRHJ1Z0NvZGUtVVNcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBOQVRJT05BTElERU5USUZJQ0FUSU9OTlVNQkVSX0RFID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiTmF0aW9uYWxJZGVudGlmaWNhdGlvbk51bWJlci1ERVwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5BVElPTkFMSURFTlRJRklDQVRJT05OVU1CRVJfRVMgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJOYXRpb25hbElkZW50aWZpY2F0aW9uTnVtYmVyLUVTXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTkFUSU9OQUxJREVOVElGSUNBVElPTk5VTUJFUl9JVCA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIk5hdGlvbmFsSWRlbnRpZmljYXRpb25OdW1iZXItSVRcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBOQVRJT05BTElOU1VSQU5DRU5VTUJFUl9HQiA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIk5hdGlvbmFsSW5zdXJhbmNlTnVtYmVyLUdCXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTkFUSU9OQUxQUk9WSURFUklEX1VTID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiTmF0aW9uYWxQcm92aWRlcklkLVVTXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTkhTTlVNQkVSX0dCID0gbmV3IERhdGFJZGVudGlmaWVyKFwiTmhzTnVtYmVyLUdCXCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5JRU5VTUJFUl9FUyA9IG5ldyBEYXRhSWRlbnRpZmllcihcIk5pZU51bWJlci1FU1wiKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBOSUZOVU1CRVJfRVMgPSBuZXcgRGF0YUlkZW50aWZpZXIoXCJOaWZOdW1iZXItRVNcIik7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgT1BFTlNTSFBSSVZBVEVLRVkgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJPcGVuU3NoUHJpdmF0ZUtleVwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBBU1NQT1JUTlVNQkVSX0NBID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiUGFzc3BvcnROdW1iZXItQ0FcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQQVNTUE9SVE5VTUJFUl9ERSA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIlBhc3Nwb3J0TnVtYmVyLURFXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFTU1BPUlROVU1CRVJfRVMgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJQYXNzcG9ydE51bWJlci1FU1wiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBBU1NQT1JUTlVNQkVSX0ZSID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiUGFzc3BvcnROdW1iZXItRlJcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQQVNTUE9SVE5VTUJFUl9HQiA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIlBhc3Nwb3J0TnVtYmVyLUdCXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFTU1BPUlROVU1CRVJfSVQgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJQYXNzcG9ydE51bWJlci1JVFwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBBU1NQT1JUTlVNQkVSX1VTID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiUGFzc3BvcnROdW1iZXItVVNcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQRVJNQU5FTlRSRVNJREVOQ0VOVU1CRVJfQ0EgPSBuZXcgRGF0YUlkZW50aWZpZXIoXG4gICAgXCJQZXJtYW5lbnRSZXNpZGVuY2VOdW1iZXItQ0FcIixcbiAgKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQRVJTT05BTEhFQUxUSE5VTUJFUl9DQSA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIlBlcnNvbmFsSGVhbHRoTnVtYmVyLUNBXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEdQUFJJVkFURUtFWSA9IG5ldyBEYXRhSWRlbnRpZmllcihcIlBncFByaXZhdGVLZXlcIik7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEhPTkVOVU1CRVJfQlIgPSBuZXcgRGF0YUlkZW50aWZpZXIoXCJQaG9uZU51bWJlci1CUlwiKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQSE9ORU5VTUJFUl9ERSA9IG5ldyBEYXRhSWRlbnRpZmllcihcIlBob25lTnVtYmVyLURFXCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBIT05FTlVNQkVSX0VTID0gbmV3IERhdGFJZGVudGlmaWVyKFwiUGhvbmVOdW1iZXItRVNcIik7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEhPTkVOVU1CRVJfRlIgPSBuZXcgRGF0YUlkZW50aWZpZXIoXCJQaG9uZU51bWJlci1GUlwiKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQSE9ORU5VTUJFUl9HQiA9IG5ldyBEYXRhSWRlbnRpZmllcihcIlBob25lTnVtYmVyLUdCXCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBIT05FTlVNQkVSX0lUID0gbmV3IERhdGFJZGVudGlmaWVyKFwiUGhvbmVOdW1iZXItSVRcIik7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEhPTkVOVU1CRVJfVVMgPSBuZXcgRGF0YUlkZW50aWZpZXIoXCJQaG9uZU51bWJlci1VU1wiKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQS0NTUFJJVkFURUtFWSA9IG5ldyBEYXRhSWRlbnRpZmllcihcIlBrY3NQcml2YXRlS2V5XCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBPU1RBTENPREVfQ0EgPSBuZXcgRGF0YUlkZW50aWZpZXIoXCJQb3N0YWxDb2RlLUNBXCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBVVFRZUFJJVkFURUtFWSA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIlB1dHR5UHJpdmF0ZUtleVwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFJHTlVNQkVSX0JSID0gbmV3IERhdGFJZGVudGlmaWVyKFwiUmdOdW1iZXItQlJcIik7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU09DSUFMSU5TVVJBTkNFTlVNQkVSX0NBID0gbmV3IERhdGFJZGVudGlmaWVyKFxuICAgIFwiU29jaWFsSW5zdXJhbmNlTnVtYmVyLUNBXCIsXG4gICk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU1NOX0VTID0gbmV3IERhdGFJZGVudGlmaWVyKFwiU3NuLUVTXCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNTTl9VUyA9IG5ldyBEYXRhSWRlbnRpZmllcihcIlNzbi1VU1wiKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUQVhJRF9ERSA9IG5ldyBEYXRhSWRlbnRpZmllcihcIlRheElkLURFXCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRBWElEX0VTID0gbmV3IERhdGFJZGVudGlmaWVyKFwiVGF4SWQtRVNcIik7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVEFYSURfRlIgPSBuZXcgRGF0YUlkZW50aWZpZXIoXCJUYXhJZC1GUlwiKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUQVhJRF9HQiA9IG5ldyBEYXRhSWRlbnRpZmllcihcIlRheElkLUdCXCIpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFZFSElDTEVJREVOVElGSUNBVElPTk5VTUJFUiA9IG5ldyBEYXRhSWRlbnRpZmllcihcbiAgICBcIlZlaGljbGVJZGVudGlmaWNhdGlvbk51bWJlclwiLFxuICApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFpJUENPREVfVVMgPSBuZXcgRGF0YUlkZW50aWZpZXIoXCJaaXBDb2RlLVVTXCIpO1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBtYW5hZ2VkIGRhdGEgaWRlbnRpZmllciBub3QgaW4gdGhlIGxpc3Qgb2Ygc3RhdGljIG1lbWJlcnMuIFRoaXMgaXMgdXNlZCB0byBtYWludGFpbiBmb3J3YXJkIGNvbXBhdGliaWxpdHksIGluIGNhc2UgYSBuZXcgbWFuYWdlZCBpZGVudGlmaWVyIGlzIHN1cHBvcnRlZCBidXQgbm90IHVwZGF0ZWQgaW4gQ0RLIHlldC5cbiAgICogQHBhcmFtIG5hbWUgLSBuYW1lIG9mIHRoZSBpZGVudGlmaWVyLlxuICAgKi9cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZykge31cblxuICBwdWJsaWMgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG59XG5cbi8qKlxuICogQSBjdXN0b20gZGF0YSBpZGVudGlmaWVyLiBJbmNsdWRlIGEgY3VzdG9tIGRhdGEgaWRlbnRpZmllciBuYW1lIGFuZCByZWd1bGFyIGV4cHJlc3Npb24gaW4gdGhlIEpTT04gcG9saWN5IHVzZWQgdG8gZGVmaW5lIHRoZSBkYXRhIHByb3RlY3Rpb24gcG9saWN5LlxuICovXG5leHBvcnQgY2xhc3MgQ3VzdG9tRGF0YUlkZW50aWZpZXIgZXh0ZW5kcyBEYXRhSWRlbnRpZmllciB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBjdXN0b20gZGF0YSBpZGVudGlmaWVyLlxuICAgKiBAcGFyYW0gbmFtZSAtIHRoZSBuYW1lIG9mIHRoZSBjdXN0b20gZGF0YSBpZGVudGlmaWVyLiBUaGlzIGNhbm5vdCBzaGFyZSB0aGUgc2FtZSBuYW1lIGFzIGEgbWFuYWdlZCBkYXRhIGlkZW50aWZpZXIuXG4gICAqIEBwYXJhbSByZWdleCAtIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gdG8gZGV0ZWN0IGFuZCBtYXNrIGxvZyBldmVudHMgZm9yLlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVnZXg6IHN0cmluZyxcbiAgKSB7XG4gICAgc3VwZXIobmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGEgQ3VzdG9tRGF0YUlkZW50aWZpZXJcbiAgICogQHJldHVybnMgdGhlIG5hbWUgYW5kIFJlZ0V4IG9mIHRoZSBjdXN0b20gZGF0YSBpZGVudGlmaWVyXG4gICAqL1xuICBwdWJsaWMgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5uYW1lfTogJHt0aGlzLnJlZ2V4fWA7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -38,7 +38,7 @@ class AlarmWidget extends widget_1.ConcreteWidget {
|
|
|
38
38
|
}
|
|
39
39
|
exports.AlarmWidget = AlarmWidget;
|
|
40
40
|
_a = JSII_RTTI_SYMBOL_1;
|
|
41
|
-
AlarmWidget[_a] = { fqn: "terraconstructs.aws.cloudwatch.AlarmWidget", version: "0.2.
|
|
41
|
+
AlarmWidget[_a] = { fqn: "terraconstructs.aws.cloudwatch.AlarmWidget", version: "0.2.5" };
|
|
42
42
|
/**
|
|
43
43
|
* Types of view
|
|
44
44
|
*/
|
|
@@ -120,7 +120,7 @@ class GaugeWidget extends widget_1.ConcreteWidget {
|
|
|
120
120
|
}
|
|
121
121
|
exports.GaugeWidget = GaugeWidget;
|
|
122
122
|
_b = JSII_RTTI_SYMBOL_1;
|
|
123
|
-
GaugeWidget[_b] = { fqn: "terraconstructs.aws.cloudwatch.GaugeWidget", version: "0.2.
|
|
123
|
+
GaugeWidget[_b] = { fqn: "terraconstructs.aws.cloudwatch.GaugeWidget", version: "0.2.5" };
|
|
124
124
|
/**
|
|
125
125
|
* A dashboard widget that displays metrics
|
|
126
126
|
*/
|
|
@@ -214,7 +214,7 @@ class GraphWidget extends widget_1.ConcreteWidget {
|
|
|
214
214
|
}
|
|
215
215
|
exports.GraphWidget = GraphWidget;
|
|
216
216
|
_c = JSII_RTTI_SYMBOL_1;
|
|
217
|
-
GraphWidget[_c] = { fqn: "terraconstructs.aws.cloudwatch.GraphWidget", version: "0.2.
|
|
217
|
+
GraphWidget[_c] = { fqn: "terraconstructs.aws.cloudwatch.GraphWidget", version: "0.2.5" };
|
|
218
218
|
GraphWidget.ISO8601_REGEX = /^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(.[0-9]+)?(Z)?$/;
|
|
219
219
|
/**
|
|
220
220
|
* Layout for TableWidget
|
|
@@ -302,7 +302,7 @@ class TableThreshold {
|
|
|
302
302
|
}
|
|
303
303
|
exports.TableThreshold = TableThreshold;
|
|
304
304
|
_d = JSII_RTTI_SYMBOL_1;
|
|
305
|
-
TableThreshold[_d] = { fqn: "terraconstructs.aws.cloudwatch.TableThreshold", version: "0.2.
|
|
305
|
+
TableThreshold[_d] = { fqn: "terraconstructs.aws.cloudwatch.TableThreshold", version: "0.2.5" };
|
|
306
306
|
/**
|
|
307
307
|
* A dashboard widget that displays metrics
|
|
308
308
|
*/
|
|
@@ -374,7 +374,7 @@ class TableWidget extends widget_1.ConcreteWidget {
|
|
|
374
374
|
}
|
|
375
375
|
exports.TableWidget = TableWidget;
|
|
376
376
|
_e = JSII_RTTI_SYMBOL_1;
|
|
377
|
-
TableWidget[_e] = { fqn: "terraconstructs.aws.cloudwatch.TableWidget", version: "0.2.
|
|
377
|
+
TableWidget[_e] = { fqn: "terraconstructs.aws.cloudwatch.TableWidget", version: "0.2.5" };
|
|
378
378
|
/**
|
|
379
379
|
* A dashboard widget that displays the most recent value for every metric
|
|
380
380
|
*/
|
|
@@ -416,7 +416,7 @@ class SingleValueWidget extends widget_1.ConcreteWidget {
|
|
|
416
416
|
}
|
|
417
417
|
exports.SingleValueWidget = SingleValueWidget;
|
|
418
418
|
_f = JSII_RTTI_SYMBOL_1;
|
|
419
|
-
SingleValueWidget[_f] = { fqn: "terraconstructs.aws.cloudwatch.SingleValueWidget", version: "0.2.
|
|
419
|
+
SingleValueWidget[_f] = { fqn: "terraconstructs.aws.cloudwatch.SingleValueWidget", version: "0.2.5" };
|
|
420
420
|
/**
|
|
421
421
|
* A CustomWidget shows the result of a AWS lambda function
|
|
422
422
|
*/
|
|
@@ -449,7 +449,7 @@ class CustomWidget extends widget_1.ConcreteWidget {
|
|
|
449
449
|
}
|
|
450
450
|
exports.CustomWidget = CustomWidget;
|
|
451
451
|
_g = JSII_RTTI_SYMBOL_1;
|
|
452
|
-
CustomWidget[_g] = { fqn: "terraconstructs.aws.cloudwatch.CustomWidget", version: "0.2.
|
|
452
|
+
CustomWidget[_g] = { fqn: "terraconstructs.aws.cloudwatch.CustomWidget", version: "0.2.5" };
|
|
453
453
|
/**
|
|
454
454
|
* Fill shading options that will be used with a horizontal annotation
|
|
455
455
|
*/
|
|
@@ -494,7 +494,7 @@ class Color {
|
|
|
494
494
|
}
|
|
495
495
|
exports.Color = Color;
|
|
496
496
|
_h = JSII_RTTI_SYMBOL_1;
|
|
497
|
-
Color[_h] = { fqn: "terraconstructs.aws.cloudwatch.Color", version: "0.2.
|
|
497
|
+
Color[_h] = { fqn: "terraconstructs.aws.cloudwatch.Color", version: "0.2.5" };
|
|
498
498
|
/** blue - hex #1f77b4 */
|
|
499
499
|
Color.BLUE = "#1f77b4";
|
|
500
500
|
/** brown - hex #8c564b */
|
|
@@ -71,7 +71,7 @@ class Row {
|
|
|
71
71
|
}
|
|
72
72
|
exports.Row = Row;
|
|
73
73
|
_a = JSII_RTTI_SYMBOL_1;
|
|
74
|
-
Row[_a] = { fqn: "terraconstructs.aws.cloudwatch.Row", version: "0.2.
|
|
74
|
+
Row[_a] = { fqn: "terraconstructs.aws.cloudwatch.Row", version: "0.2.5" };
|
|
75
75
|
/**
|
|
76
76
|
* A widget that contains other widgets in a vertical column
|
|
77
77
|
*
|
|
@@ -115,7 +115,7 @@ class Column {
|
|
|
115
115
|
}
|
|
116
116
|
exports.Column = Column;
|
|
117
117
|
_b = JSII_RTTI_SYMBOL_1;
|
|
118
|
-
Column[_b] = { fqn: "terraconstructs.aws.cloudwatch.Column", version: "0.2.
|
|
118
|
+
Column[_b] = { fqn: "terraconstructs.aws.cloudwatch.Column", version: "0.2.5" };
|
|
119
119
|
/**
|
|
120
120
|
* A widget that doesn't display anything but takes up space
|
|
121
121
|
*/
|
|
@@ -133,7 +133,7 @@ class Spacer {
|
|
|
133
133
|
}
|
|
134
134
|
exports.Spacer = Spacer;
|
|
135
135
|
_c = JSII_RTTI_SYMBOL_1;
|
|
136
|
-
Spacer[_c] = { fqn: "terraconstructs.aws.cloudwatch.Spacer", version: "0.2.
|
|
136
|
+
Spacer[_c] = { fqn: "terraconstructs.aws.cloudwatch.Spacer", version: "0.2.5" };
|
|
137
137
|
/**
|
|
138
138
|
* Return the sum of a list of numbers
|
|
139
139
|
*/
|
|
@@ -48,5 +48,5 @@ class KinesisDestination {
|
|
|
48
48
|
}
|
|
49
49
|
exports.KinesisDestination = KinesisDestination;
|
|
50
50
|
_a = JSII_RTTI_SYMBOL_1;
|
|
51
|
-
KinesisDestination[_a] = { fqn: "terraconstructs.aws.cloudwatch.destinations.KinesisDestination", version: "0.2.
|
|
51
|
+
KinesisDestination[_a] = { fqn: "terraconstructs.aws.cloudwatch.destinations.KinesisDestination", version: "0.2.5" };
|
|
52
52
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2luZXNpcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hd3MvY2xvdWR3YXRjaC9sb2ctZGVzdGluYXRpb25zL2tpbmVzaXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFJQSxpQ0FBaUM7QUFlakM7O0dBRUc7QUFDSCxNQUFhLGtCQUFrQjtJQUM3Qjs7OztPQUlHO0lBQ0gsWUFDbUIsTUFBdUIsRUFDdkIsUUFBaUMsRUFBRTtRQURuQyxXQUFNLEdBQU4sTUFBTSxDQUFpQjtRQUN2QixVQUFLLEdBQUwsS0FBSyxDQUE4QjtJQUNuRCxDQUFDO0lBRUcsSUFBSSxDQUNULEtBQWdCLEVBQ2hCLGVBQStCO1FBRS9CLHFJQUFxSTtRQUNySSxvRkFBb0Y7UUFDcEYsTUFBTSxFQUFFLEdBQUcsNkJBQTZCLENBQUM7UUFDekMsTUFBTSxJQUFJLEdBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJO1lBQ2QsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFlO1lBQzFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO2dCQUN0QixTQUFTLEVBQUUsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUM7YUFDMUQsQ0FBQyxDQUFDO1FBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6QixNQUFNLFlBQVksR0FBZ0IsRUFBRSxDQUFDO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3ZELElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxnQ0FBZ0M7WUFDaEMsNkRBQTZEO1lBQzdELCtDQUErQztZQUUvQyxrQkFBa0I7WUFDbEIsNkdBQTZHO1lBQzdHLDZHQUE2RztZQUM3Ryw0R0FBNEc7WUFDNUcsOEdBQThHO1lBQzlHLGdIQUFnSDtZQUVoSCx1REFBdUQ7WUFDdkQsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBRUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDNUQsQ0FBQzs7QUE5Q0gsZ0RBK0NDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTcwLjAvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWxvZ3MtZGVzdGluYXRpb25zL2xpYi9raW5lc2lzLnRzXG5cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gXCIuLlwiO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gXCIuLi8uLi9pYW1cIjtcbmltcG9ydCAqIGFzIGtpbmVzaXMgZnJvbSBcIi4uLy4uL25vdGlmeVwiO1xuXG4vKipcbiAqIEN1c3RvbWl6ZSB0aGUgS2luZXNpcyBMb2dzIERlc3RpbmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2luZXNpc0Rlc3RpbmF0aW9uUHJvcHMge1xuICAvKipcbiAgICogVGhlIHJvbGUgdG8gYXNzdW1lIHRvIHdyaXRlIGxvZyBldmVudHMgdG8gdGhlIGRlc3RpbmF0aW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQSBuZXcgUm9sZSBpcyBjcmVhdGVkXG4gICAqL1xuICByZWFkb25seSByb2xlPzogaWFtLklSb2xlO1xufVxuXG4vKipcbiAqIFVzZSBhIEtpbmVzaXMgc3RyZWFtIGFzIHRoZSBkZXN0aW5hdGlvbiBmb3IgYSBsb2cgc3Vic2NyaXB0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBLaW5lc2lzRGVzdGluYXRpb24gaW1wbGVtZW50cyBsb2dzLklMb2dTdWJzY3JpcHRpb25EZXN0aW5hdGlvbiB7XG4gIC8qKlxuICAgKiBAcGFyYW0gc3RyZWFtIFRoZSBLaW5lc2lzIHN0cmVhbSB0byB1c2UgYXMgZGVzdGluYXRpb25cbiAgICogQHBhcmFtIHByb3BzIFRoZSBLaW5lc2lzIERlc3RpbmF0aW9uIHByb3BlcnRpZXNcbiAgICpcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RyZWFtOiBraW5lc2lzLklTdHJlYW0sXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogS2luZXNpc0Rlc3RpbmF0aW9uUHJvcHMgPSB7fSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBiaW5kKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgX3NvdXJjZUxvZ0dyb3VwOiBsb2dzLklMb2dHcm91cCxcbiAgKTogbG9ncy5Mb2dTdWJzY3JpcHRpb25EZXN0aW5hdGlvbkNvbmZpZyB7XG4gICAgLy8gRm9sbG93aW5nIGV4YW1wbGUgZnJvbSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uQ2xvdWRXYXRjaC9sYXRlc3QvbG9ncy9TdWJzY3JpcHRpb25GaWx0ZXJzLmh0bWwjRGVzdGluYXRpb25LaW5lc2lzRXhhbXBsZVxuICAgIC8vIENyZWF0ZSBhIHJvbGUgdG8gYmUgYXNzdW1lZCBieSBDV0wgdGhhdCBjYW4gd3JpdGUgdG8gdGhpcyBzdHJlYW0gYW5kIHBhc3MgaXRzZWxmLlxuICAgIGNvbnN0IGlkID0gXCJDbG91ZFdhdGNoTG9nc0NhblB1dFJlY29yZHNcIjtcbiAgICBjb25zdCByb2xlID1cbiAgICAgIHRoaXMucHJvcHMucm9sZSA/P1xuICAgICAgKHNjb3BlLm5vZGUudHJ5RmluZENoaWxkKGlkKSBhcyBpYW0uSVJvbGUpID8/XG4gICAgICBuZXcgaWFtLlJvbGUoc2NvcGUsIGlkLCB7XG4gICAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKFwibG9ncy5hbWF6b25hd3MuY29tXCIpLFxuICAgICAgfSk7XG4gICAgdGhpcy5zdHJlYW0uZ3JhbnRXcml0ZShyb2xlKTtcbiAgICByb2xlLmdyYW50UGFzc1JvbGUocm9sZSk7XG5cbiAgICBjb25zdCBkZXBlbmRlbmNpZXM6IENvbnN0cnVjdFtdID0gW107XG4gICAgY29uc3QgcG9saWN5ID0gcm9sZS5ub2RlLnRyeUZpbmRDaGlsZChcIkRlZmF1bHRQb2xpY3lcIik7XG4gICAgaWYgKHBvbGljeSkge1xuICAgICAgLy8gLy8gUmVtb3ZlIGNpcmN1bGFyIGRlcGVuZGVuY3lcbiAgICAgIC8vIGNvbnN0IHRmUm9sZSA9IHJvbGUubm9kZS5kZWZhdWx0Q2hpbGQgYXMgVGVycmFmb3JtRWxlbWVudDtcbiAgICAgIC8vIHRmUm9sZS5hZGRPdmVycmlkZShcImRlcGVuZHNfb25cIiwgdW5kZWZpbmVkKTtcblxuICAgICAgLy8gVW5saWtlIEFXUyBDREs6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xNzAuMC9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtbG9ncy1kZXN0aW5hdGlvbnMvbGliL2tpbmVzaXMudHMjTDQ3XG4gICAgICAvLyBXZSBtdXN0IHJldHVybiB0aGUgZGVwZW5kZW5jaWVzLiBmb3IgdGhlIGNhbGxlciB0byBhdHRhY2ggdGhlbSB0byB0aGUgbmVzdGVkIHN1YnNjcmlwdGlvbiBmaWx0ZXIgQ29uc3RydWN0XG4gICAgICAvLyBvbmx5LiBJZiB3ZSBhdHRhY2ggdGhlbSB0aGUgc2NvcGUsIHRoZSBgVGVycmFmb3JtRGVwZW5kZW5jeUFzcGVjdGAgd2lsbCBwcm9wYWdhdGUgdGhlIGRlcGVuZGVuY2llcyB0byBhbGxcbiAgICAgIC8vIG5lc3RlZCBjb25zdHJ1Y3RzIChyb2xlLCBwb2xpY3ksIHN1YnNjcmlwdGlvbkZpbHRlcikgY2F1c2luZyBoYXJkIHRvIGhhbmRsZSBkZXBlbmRlbmN5IGN5Y2xlcyBiZXR3ZWVuIHRoZW0uXG4gICAgICAvLyBTaW1wbHkgbGV0dGluZyB0aGUgY2FsbGVyIGF0dGFjaCB0aGUgZGVwZW5kZW5jeSB0byB0aGUgbmVzdGVkIHN1YnNjcmlwdGlvbiBmaWx0ZXIgZGlyZWN0bHkgc29sdmVzIHRoaXMgY3ljbGUuXG5cbiAgICAgIC8vIEVuc3VyZXMgcG9saWN5IGlzIGNyZWF0ZWQgYmVmb3JlIHN1YnNjcmlwdGlvbiBmaWx0ZXJcbiAgICAgIGRlcGVuZGVuY2llcy5wdXNoKHBvbGljeSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgYXJuOiB0aGlzLnN0cmVhbS5zdHJlYW1Bcm4sIHJvbGUsIGRlcGVuZGVuY2llcyB9O1xuICB9XG59XG4iXX0=
|
|
@@ -42,5 +42,5 @@ class LambdaDestination {
|
|
|
42
42
|
}
|
|
43
43
|
exports.LambdaDestination = LambdaDestination;
|
|
44
44
|
_a = JSII_RTTI_SYMBOL_1;
|
|
45
|
-
LambdaDestination[_a] = { fqn: "terraconstructs.aws.cloudwatch.destinations.LambdaDestination", version: "0.2.
|
|
45
|
+
LambdaDestination[_a] = { fqn: "terraconstructs.aws.cloudwatch.destinations.LambdaDestination", version: "0.2.5" };
|
|
46
46
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9jbG91ZHdhdGNoL2xvZy1kZXN0aW5hdGlvbnMvbGFtYmRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsaUNBQWlDO0FBWWpDOztHQUVHO0FBQ0gsTUFBYSxpQkFBaUI7SUFDNUIsZ0NBQWdDO0lBQ2hDLFlBQ21CLEVBQXFCLEVBQ3JCLFVBQW9DLEVBQUU7UUFEdEMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDckIsWUFBTyxHQUFQLE9BQU8sQ0FBK0I7SUFDdEQsQ0FBQztJQUVHLElBQUksQ0FDVCxLQUFnQixFQUNoQixRQUF3QjtRQUV4QixNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDO1FBQ2pDLE1BQU0sWUFBWSxHQUFnQixFQUFFLENBQUM7UUFDckMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUMxQyxzRUFBc0U7WUFDdEUsMERBQTBEO1lBQzFELE1BQU0sWUFBWSxHQUFHLGlCQUFpQixDQUFDO1lBQ3ZDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRTtnQkFDbEMsU0FBUyxFQUFFLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDO2dCQUN6RCxTQUFTLEVBQUUsR0FBRztnQkFDZCx1RkFBdUY7Z0JBQ3ZGLG1CQUFtQjtnQkFDbkIsS0FBSzthQUNOLENBQUMsQ0FBQztZQUNILHVGQUF1RjtZQUN2RiwwQ0FBMEM7WUFDMUMsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDM0QsSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDakIsV0FBVztnQkFDWCwwQ0FBMEM7Z0JBQzFDLDhDQUE4QztnQkFDOUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNsQyxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDcEQsQ0FBQzs7QUFuQ0gsOENBb0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCAqIGFzIGxvZ3MgZnJvbSBcIi4uXCI7XG5pbXBvcnQgKiBhcyBjb21wdXRlIGZyb20gXCIuLi8uLi9jb21wdXRlXCI7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcIi4uLy4uL2lhbVwiO1xuXG4vKipcbiAqIE9wdGlvbnMgdGhhdCBtYXkgYmUgcHJvdmlkZWQgdG8gTGFtYmRhRGVzdGluYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMYW1iZGFEZXN0aW5hdGlvbk9wdGlvbnMge1xuICAvKiogV2hldGhlciBvciBub3QgdG8gYWRkIExhbWJkYSBQZXJtaXNzaW9ucy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgYWRkUGVybWlzc2lvbnM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFVzZSBhIExhbWJkYSBGdW5jdGlvbiBhcyB0aGUgZGVzdGluYXRpb24gZm9yIGEgbG9nIHN1YnNjcmlwdGlvblxuICovXG5leHBvcnQgY2xhc3MgTGFtYmRhRGVzdGluYXRpb24gaW1wbGVtZW50cyBsb2dzLklMb2dTdWJzY3JpcHRpb25EZXN0aW5hdGlvbiB7XG4gIC8qKiAgTGFtYmRhRGVzdGluYXRpb25PcHRpb25zICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm46IGNvbXB1dGUuSUZ1bmN0aW9uLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogTGFtYmRhRGVzdGluYXRpb25PcHRpb25zID0ge30sXG4gICkge31cblxuICBwdWJsaWMgYmluZChcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGxvZ0dyb3VwOiBsb2dzLklMb2dHcm91cCxcbiAgKTogbG9ncy5Mb2dTdWJzY3JpcHRpb25EZXN0aW5hdGlvbkNvbmZpZyB7XG4gICAgY29uc3QgYXJuID0gbG9nR3JvdXAubG9nR3JvdXBBcm47XG4gICAgY29uc3QgZGVwZW5kZW5jaWVzOiBDb25zdHJ1Y3RbXSA9IFtdO1xuICAgIGlmICh0aGlzLm9wdGlvbnMuYWRkUGVybWlzc2lvbnMgIT09IGZhbHNlKSB7XG4gICAgICAvLyBTYW1lIGJ1ZyBhcHBsaWVzIGhlcmU/IGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvMjk1MTQ/XG4gICAgICAvLyBUT0RPOiBBZGQgYGxvZ0dyb3VwLm5vZGUuaWRgIGFzIHByZWZpeCB0byBwZXJtaXNzaW9uSWQ/XG4gICAgICBjb25zdCBwZXJtaXNzaW9uSWQgPSBcIkNhbkludm9rZUxhbWJkYVwiO1xuICAgICAgdGhpcy5mbi5hZGRQZXJtaXNzaW9uKHBlcm1pc3Npb25JZCwge1xuICAgICAgICBwcmluY2lwYWw6IG5ldyBpYW0uU2VydmljZVByaW5jaXBhbChcImxvZ3MuYW1hem9uYXdzLmNvbVwiKSxcbiAgICAgICAgc291cmNlQXJuOiBhcm4sXG4gICAgICAgIC8vIFVzaW5nIFN1YlNjcmlwdGlvbiBGaWx0ZXIgYXMgc2NvcGUgaXMgb2theSwgc2luY2UgZXZlcnkgU3Vic2NyaXB0aW9uIEZpbHRlciBoYXMgb25seVxuICAgICAgICAvLyBvbmUgZGVzdGluYXRpb24uXG4gICAgICAgIHNjb3BlLFxuICAgICAgfSk7XG4gICAgICAvLyBOZWVkIHRvIGFkZCBhIGRlcGVuZGVuY3ksIG90aGVyd2lzZSB0aGUgU3Vic2NyaXB0aW9uRmlsdGVyIGNhbiBiZSBjcmVhdGVkIGJlZm9yZSB0aGVcbiAgICAgIC8vIFBlcm1pc3Npb24gdGhhdCBhbGxvd3MgdGhlIGludGVyYWN0aW9uLlxuICAgICAgY29uc3QgdGZQZXJtaXNzaW9uID0gc2NvcGUubm9kZS50cnlGaW5kQ2hpbGQocGVybWlzc2lvbklkKTtcbiAgICAgIGlmICh0ZlBlcm1pc3Npb24pIHtcbiAgICAgICAgLy8gQVdTIENESzpcbiAgICAgICAgLy8gc2NvcGUubm9kZS5hZGREZXBlbmRlbmN5KHRmUGVybWlzc2lvbik7XG4gICAgICAgIC8vIHdlIGxldCB0aGUgY2FsbGVyIGF0dGFjaCB0aGUgZGVwZW5kZW5jeSAuLi5cbiAgICAgICAgZGVwZW5kZW5jaWVzLnB1c2godGZQZXJtaXNzaW9uKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHsgYXJuOiB0aGlzLmZuLmZ1bmN0aW9uQXJuLCBkZXBlbmRlbmNpZXMgfTtcbiAgfVxufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cloudwatchLogGroup } from "@
|
|
1
|
+
import { cloudwatchLogGroup } from "@cdktn/provider-aws";
|
|
2
2
|
import { Construct } from "constructs";
|
|
3
3
|
import { AwsConstructBase, AwsConstructProps } from "../aws-construct";
|
|
4
4
|
import { RetentionDays } from "../log-retention";
|
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.LogGroup = exports.Distribution = exports.LogGroupClass = void 0;
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
6
|
// https://github.com/aws/aws-cdk/blob/v2.170.0/packages/aws-cdk-lib/aws-logs/lib/log-group.ts
|
|
7
|
-
const provider_aws_1 = require("@
|
|
8
|
-
const
|
|
7
|
+
const provider_aws_1 = require("@cdktn/provider-aws");
|
|
8
|
+
const cdktn_1 = require("cdktn");
|
|
9
9
|
const arn_1 = require("../arn");
|
|
10
10
|
const aws_construct_1 = require("../aws-construct");
|
|
11
11
|
const aws_stack_1 = require("../aws-stack");
|
|
@@ -312,7 +312,7 @@ class LogGroup extends LogGroupBase {
|
|
|
312
312
|
skipDestroy = props.skipDestroy ?? true;
|
|
313
313
|
}
|
|
314
314
|
if (retentionInDays !== undefined &&
|
|
315
|
-
!
|
|
315
|
+
!cdktn_1.Token.isUnresolved(retentionInDays) &&
|
|
316
316
|
retentionInDays <= 0) {
|
|
317
317
|
throw new Error(`retentionInDays must be positive, got ${retentionInDays}`);
|
|
318
318
|
}
|
|
@@ -323,10 +323,10 @@ class LogGroup extends LogGroupBase {
|
|
|
323
323
|
"us-isob-east-1", // LCK
|
|
324
324
|
];
|
|
325
325
|
if (logGroupClass !== undefined &&
|
|
326
|
-
!
|
|
326
|
+
!cdktn_1.Token.isUnresolved(this.stack.region) &&
|
|
327
327
|
logGroupClassUnsupportedRegions.includes(this.stack.region)) {
|
|
328
328
|
// "@aws-cdk/aws-logs:propertyNotSupported",
|
|
329
|
-
|
|
329
|
+
cdktn_1.Annotations.of(this).addWarning(`The LogGroupClass property is not supported in the following regions: ${logGroupClassUnsupportedRegions}`);
|
|
330
330
|
}
|
|
331
331
|
this.resource = new provider_aws_1.cloudwatchLogGroup.CloudwatchLogGroup(this, "Resource", {
|
|
332
332
|
name,
|
|
@@ -346,5 +346,5 @@ class LogGroup extends LogGroupBase {
|
|
|
346
346
|
}
|
|
347
347
|
exports.LogGroup = LogGroup;
|
|
348
348
|
_a = JSII_RTTI_SYMBOL_1;
|
|
349
|
-
LogGroup[_a] = { fqn: "terraconstructs.aws.cloudwatch.LogGroup", version: "0.2.
|
|
350
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9jbG91ZHdhdGNoL2xvZy1ncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDhGQUE4RjtBQUU5RixzREFBeUQ7QUFDekQsaUNBQTJDO0FBRTNDLGdDQUF3QztBQUN4QyxvREFBdUU7QUFDdkUsNENBQXdDO0FBQ3hDLG9EQUFpRDtBQUVqRCw2Q0FBeUM7QUFDekMscUNBQWlEO0FBQ2pELG1EQUErQztBQUUvQyx1Q0FBMEQ7QUFDMUQscUNBQTBDO0FBQzFDLCtEQUcrQjtBQUUvQiw4QkFBOEI7QUFpSTlCOztHQUVHO0FBQ0gsTUFBZSxZQUFhLFNBQVEsZ0NBQWdCO0lBV2xELElBQVcsZUFBZTtRQUN4QixPQUFPO1lBQ0wsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtTQUNoQyxDQUFDO0lBQ0osQ0FBQztJQUNELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUlEOzs7OztPQUtHO0lBQ0ksU0FBUyxDQUFDLEVBQVUsRUFBRSxRQUF1QixFQUFFO1FBQ3BELE9BQU8sSUFBSSxzQkFBUyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDN0IsUUFBUSxFQUFFLElBQUk7WUFDZCxHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxxQkFBcUIsQ0FDMUIsRUFBVSxFQUNWLEtBQWdDO1FBRWhDLE9BQU8sSUFBSSx3Q0FBa0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ3RDLFFBQVEsRUFBRSxJQUFJO1lBQ2QsR0FBRyxLQUFLO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksZUFBZSxDQUFDLEVBQVUsRUFBRSxLQUEwQjtRQUMzRCxPQUFPLElBQUksNEJB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Q0FBQztZQUN0QywrQkFBK0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFDM0QsQ0FBQztZQUNELDRDQUE0QztZQUM1QyxtQkFBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQzdCLHlFQUF5RSwrQkFBK0IsRUFBRSxDQUMzRyxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxpQ0FBa0IsQ0FBQyxrQkFBa0IsQ0FDdkQsSUFBSSxFQUNKLFVBQVUsRUFDVjtZQUNFLElBQUk7WUFDSixhQUFhO1lBQ2IsZUFBZTtZQUNmLFdBQVc7WUFDWCxRQUFRLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRSxNQUFNO1NBQ3RDLENBQ0YsQ0FBQztRQUVGLHVIQUF1SDtRQUN2SCxnR0FBZ0c7UUFDaEcsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDNUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QyxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQy9CLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsQ0FBQztJQUNILENBQUM7O0FBL0hILDRCQWdJQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE3MC4wL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1sb2dzL2xpYi9sb2ctZ3JvdXAudHNcblxuaW1wb3J0IHsgY2xvdWR3YXRjaExvZ0dyb3VwIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1hd3NcIjtcbmltcG9ydCB7IEFubm90YXRpb25zLCBUb2tlbiB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEFybiwgQXJuRm9ybWF0IH0gZnJvbSBcIi4uL2FyblwiO1xuaW1wb3J0IHsgQXdzQ29uc3RydWN0QmFzZSwgQXdzQ29uc3RydWN0UHJvcHMgfSBmcm9tIFwiLi4vYXdzLWNvbnN0cnVjdFwiO1xuaW1wb3J0IHsgQXdzU3RhY2sgfSBmcm9tIFwiLi4vYXdzLXN0YWNrXCI7XG5pbXBvcnQgeyBSZXRlbnRpb25EYXlzIH0gZnJvbSBcIi4uL2xvZy1yZXRlbnRpb25cIjtcbmltcG9ydCB7IERhdGFQcm90ZWN0aW9uUG9saWN5IH0gZnJvbSBcIi4vZGF0YS1wcm90ZWN0aW9uLXBvbGljeVwiO1xuaW1wb3J0IHsgTG9nU3RyZWFtIH0gZnJvbSBcIi4vbG9nLXN0cmVhbVwiO1xuaW1wb3J0IHsgTWV0cmljLCBNZXRyaWNPcHRpb25zIH0gZnJvbSBcIi4vbWV0cmljXCI7XG5pbXBvcnQgeyBNZXRyaWNGaWx0ZXIgfSBmcm9tIFwiLi9tZXRyaWMtZmlsdGVyXCI7XG5pbXBvcnQgeyBVbml0IH0gZnJvbSBcIi4vbWV0cmljLXR5cGVzXCI7XG5pbXBvcnQgeyBGaWx0ZXJQYXR0ZXJuLCBJRmlsdGVyUGF0dGVybiB9IGZyb20gXCIuL3BhdHRlcm5cIjtcbmltcG9ydCB7IFJlc291cmNlUG9saWN5IH0gZnJvbSBcIi4vcG9saWN5XCI7XG5pbXBvcnQge1xuICBJTG9nU3Vic2NyaXB0aW9uRGVzdGluYXRpb24sXG4gIFN1YnNjcmlwdGlvbkZpbHRlcixcbn0gZnJvbSBcIi4vc3Vic2NyaXB0aW9uLWZpbHRlclwiO1xuaW1wb3J0ICogYXMga21zIGZyb20gXCIuLi9lbmNyeXB0aW9uXCI7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcIi4uL2lhbVwiO1xuXG4vKipcbiAqIE91dHB1dHMgd2hpY2ggbWF5IGJlIHJlZ2lzdGVyZWQgZm9yIG91dHB1dCB2aWEgdGhlIEdyaWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9nR3JvdXBPdXRwdXRzIHtcbiAgLyoqXG4gICAqIFRoZSBhcm4gb2YgdGhpcyBsb2cgZ3JvdXBcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9nR3JvdXBBcm46IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoaXMgbG9nIGdyb3VwXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0dyb3VwTmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElMb2dHcm91cCBleHRlbmRzIGlhbS5JQXdzQ29uc3RydWN0V2l0aFBvbGljeSB7XG4gIC8qKiBTdHJvbmdseSB0eXBlZCBvdXRwdXRzICovXG4gIHJlYWRvbmx5IGxvZ0dyb3VwT3V0cHV0czogTG9nR3JvdXBPdXRwdXRzO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoaXMgbG9nIGdyb3VwLCB3aXRoICc6KicgYXBwZW5kZWRcbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9nR3JvdXBBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhpcyBsb2cgZ3JvdXBcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9nR3JvdXBOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBMb2cgU3RyZWFtIGZvciB0aGlzIExvZyBHcm91cFxuICAgKlxuICAgKiBAcGFyYW0gaWQgVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBjb25zdHJ1Y3QgaW4gaXRzIHBhcmVudFxuICAgKiBAcGFyYW0gcHJvcHMgUHJvcGVydGllcyBmb3IgY3JlYXRpbmcgdGhlIExvZ1N0cmVhbVxuICAgKi9cbiAgYWRkU3RyZWFtKGlkOiBzdHJpbmcsIHByb3BzPzogU3RyZWFtT3B0aW9ucyk6IExvZ1N0cmVhbTtcblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IFN1YnNjcmlwdGlvbiBGaWx0ZXIgb24gdGhpcyBMb2cgR3JvdXBcbiAgICpcbiAgICogQHBhcmFtIGlkIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgY29uc3RydWN0IGluIGl0cyBwYXJlbnRcbiAgICogQHBhcmFtIHByb3BzIFByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIHRoZSBTdWJzY3JpcHRpb25GaWx0ZXJcbiAgICovXG4gIGFkZFN1YnNjcmlwdGlvbkZpbHRlcihcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBTdWJzY3JpcHRpb25GaWx0ZXJPcHRpb25zLFxuICApOiBTdWJzY3JpcHRpb25GaWx0ZXI7XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBNZXRyaWMgRmlsdGVyIG9uIHRoaXMgTG9nIEdyb3VwXG4gICAqXG4gICAqIEBwYXJhbSBpZCBVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGNvbnN0cnVjdCBpbiBpdHMgcGFyZW50XG4gICAqIEBwYXJhbSBwcm9wcyBQcm9wZXJ0aWVzIGZvciBjcmVhdGluZyB0aGUgTWV0cmljRmlsdGVyXG4gICAqL1xuICBhZGRNZXRyaWNGaWx0ZXIoaWQ6IHN0cmluZywgcHJvcHM6IE1ldHJpY0ZpbHRlck9wdGlvbnMpOiBNZXRyaWNGaWx0ZXI7XG5cbiAgLyoqXG4gICAqIEV4dHJhY3QgYSBtZXRyaWMgZnJvbSBzdHJ1Y3R1cmVkIGxvZyBldmVudHMgaW4gdGhlIExvZ0dyb3VwXG4gICAqXG4gICAqIENyZWF0ZXMgYSBNZXRyaWNGaWx0ZXIgb24gdGhpcyBMb2dHcm91cCB0aGF0IHdpbGwgZXh0cmFjdCB0aGUgdmFsdWVcbiAgICogb2YgdGhlIGluZGljYXRlZCBKU09OIGZpZWxkIGluIGFsbCByZWNvcmRzIHdoZXJlIGl0IG9jY3Vycy5cbiAgICpcbiAgICogVGhlIG1ldHJpYyB3aWxsIGJlIGF2YWlsYWJsZSBpbiBDbG91ZFdhdGNoIE1ldHJpY3MgdW5kZXIgdGhlXG4gICAqIGluZGljYXRlZCBuYW1lc3BhY2UgYW5kIG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBqc29uRmllbGQgSlNPTiBmaWVsZCB0byBleHRyYWN0IChleGFtcGxlOiAnJC5teWZpZWxkJylcbiAgICogQHBhcmFtIG1ldHJpY05hbWVzcGFjZSBOYW1lc3BhY2UgdG8gZW1pdCB0aGUgbWV0cmljIHVuZGVyXG4gICAqIEBwYXJhbSBtZXRyaWNOYW1lIE5hbWUgdG8gZW1pdCB0aGUgbWV0cmljIHVuZGVyXG4gICAqIEByZXR1cm5zIEEgTWV0cmljIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGV4dHJhY3RlZCBtZXRyaWNcbiAgICovXG4gIGV4dHJhY3RNZXRyaWMoXG4gICAganNvbkZpZWxkOiBzdHJpbmcsXG4gICAgbWV0cmljTmFtZXNwYWNlOiBzdHJpbmcsXG4gICAgbWV0cmljTmFtZTogc3RyaW5nLFxuICApOiBNZXRyaWM7XG5cbiAgLyoqXG4gICAqIEdpdmUgcGVybWlzc2lvbnMgdG8gd3JpdGUgdG8gY3JlYXRlIGFuZCB3cml0ZSB0byBzdHJlYW1zIGluIHRoaXMgbG9nIGdyb3VwXG4gICAqL1xuICBncmFudFdyaXRlKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50O1xuXG4gIC8qKlxuICAgKiBHaXZlIHBlcm1pc3Npb25zIHRvIHJlYWQgZnJvbSB0aGlzIGxvZyBncm91cCBhbmQgc3RyZWFtc1xuICAgKi9cbiAgZ3JhbnRSZWFkKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50O1xuXG4gIC8qKlxuICAgKiBHaXZlIHRoZSBpbmRpY2F0ZWQgcGVybWlzc2lvbnMgb24gdGhpcyBsb2cgZ3JvdXAgYW5kIGFsbCBzdHJlYW1zXG4gICAqL1xuICBncmFudChncmFudGVlOiBpYW0uSUdyYW50YWJsZSwgLi4uYWN0aW9uczogc3RyaW5nW10pOiBpYW0uR3JhbnQ7XG5cbiAgLyoqXG4gICAqIFB1YmxpYyBtZXRob2QgdG8gZ2V0IHRoZSBwaHlzaWNhbCBuYW1lIG9mIHRoaXMgbG9nIGdyb3VwXG4gICAqL1xuICBsb2dHcm91cFBoeXNpY2FsTmFtZSgpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgZ2l2ZW4gbmFtZWQgbWV0cmljIGZvciB0aGlzIExvZyBHcm91cFxuICAgKlxuICAgKiBAcGFyYW0gbWV0cmljTmFtZSBUaGUgbmFtZSBvZiB0aGUgbWV0cmljXG4gICAqIEBwYXJhbSBwcm9wcyBQcm9wZXJ0aWVzIGZvciB0aGUgbWV0cmljXG4gICAqL1xuICBtZXRyaWMobWV0cmljTmFtZTogc3RyaW5nLCBwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWM7XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgbG9nIGV2ZW50cyB1cGxvYWRlZCB0byBDbG91ZFdhdGNoIExvZ3MuXG4gICAqIFdoZW4gdXNlZCB3aXRoIHRoZSBMb2dHcm91cE5hbWUgZGltZW5zaW9uLCB0aGlzIGlzIHRoZSBudW1iZXIgb2ZcbiAgICogbG9nIGV2ZW50cyB1cGxvYWRlZCB0byB0aGUgbG9nIGdyb3VwLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgUHJvcGVydGllcyBmb3IgdGhlIENsb3Vkd2F0Y2ggbWV0cmljXG4gICAqL1xuICBtZXRyaWNJbmNvbWluZ0xvZ0V2ZW50cyhwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWM7XG5cbiAgLyoqXG4gICAqIFRoZSB2b2x1bWUgb2YgbG9nIGV2ZW50cyBpbiB1bmNvbXByZXNzZWQgYnl0ZXMgdXBsb2FkZWQgdG8gQ2xvdWRXYXRjaCBMb2dzLlxuICAgKiBXaGVuIHVzZWQgd2l0aCB0aGUgTG9nR3JvdXBOYW1lIGRpbWVuc2lvbiwgdGhpcyBpcyB0aGUgdm9sdW1lIG9mIGxvZyBldmVudHNcbiAgICogaW4gdW5jb21wcmVzc2VkIGJ5dGVzIHVwbG9hZGVkIHRvIHRoZSBsb2cgZ3JvdXAuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyBQcm9wZXJ0aWVzIGZvciB0aGUgQ2xvdWR3YXRjaCBtZXRyaWNcbiAgICovXG4gIG1ldHJpY0luY29taW5nQnl0ZXMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xufVxuXG4vKipcbiAqIEFuIENsb3VkV2F0Y2ggTG9nIEdyb3VwXG4gKi9cbmFic3RyYWN0IGNsYXNzIExvZ0dyb3VwQmFzZSBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJTG9nR3JvdXAge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGlzIGxvZyBncm91cCwgd2l0aCAnOionIGFwcGVuZGVkXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgbG9nR3JvdXBBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhpcyBsb2cgZ3JvdXBcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBsb2dHcm91cE5hbWU6IHN0cmluZztcblxuICBwdWJsaWMgZ2V0IGxvZ0dyb3VwT3V0cHV0cygpOiBMb2dHcm91cE91dHB1dHMge1xuICAgIHJldHVybiB7XG4gICAgICBsb2dHcm91cEFybjogdGhpcy5sb2dHcm91cEFybixcbiAgICAgIGxvZ0dyb3VwTmFtZTogdGhpcy5sb2dHcm91cE5hbWUsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHRoaXMubG9nR3JvdXBPdXRwdXRzO1xuICB9XG5cbiAgcHJpdmF0ZSBwb2xpY3k/OiBSZXNvdXJjZVBvbGljeTtcblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IExvZyBTdHJlYW0gZm9yIHRoaXMgTG9nIEdyb3VwXG4gICAqXG4gICAqIEBwYXJhbSBpZCBVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGNvbnN0cnVjdCBpbiBpdHMgcGFyZW50XG4gICAqIEBwYXJhbSBwcm9wcyBQcm9wZXJ0aWVzIGZvciBjcmVhdGluZyB0aGUgTG9nU3RyZWFtXG4gICAqL1xuICBwdWJsaWMgYWRkU3RyZWFtKGlkOiBzdHJpbmcsIHByb3BzOiBTdHJlYW1PcHRpb25zID0ge30pOiBMb2dTdHJlYW0ge1xuICAgIHJldHVybiBuZXcgTG9nU3RyZWFtKHRoaXMsIGlkLCB7XG4gICAgICBsb2dHcm91cDogdGhpcyxcbiAgICAgIC4uLnByb3BzLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBTdWJzY3JpcHRpb24gRmlsdGVyIG9uIHRoaXMgTG9nIEdyb3VwXG4gICAqXG4gICAqIEBwYXJhbSBpZCBVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGNvbnN0cnVjdCBpbiBpdHMgcGFyZW50XG4gICAqIEBwYXJhbSBwcm9wcyBQcm9wZXJ0aWVzIGZvciBjcmVhdGluZyB0aGUgU3Vic2NyaXB0aW9uRmlsdGVyXG4gICAqL1xuICBwdWJsaWMgYWRkU3Vic2NyaXB0aW9uRmlsdGVyKFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IFN1YnNjcmlwdGlvbkZpbHRlck9wdGlvbnMsXG4gICk6IFN1YnNjcmlwdGlvbkZpbHRlciB7XG4gICAgcmV0dXJuIG5ldyBTdWJzY3JpcHRpb25GaWx0ZXIodGhpcywgaWQsIHtcbiAgICAgIGxvZ0dyb3VwOiB0aGlzLFxuICAgICAgLi4ucHJvcHMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IE1ldHJpYyBGaWx0ZXIgb24gdGhpcyBMb2cgR3JvdXBcbiAgICpcbiAgICogQHBhcmFtIGlkIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgY29uc3RydWN0IGluIGl0cyBwYXJlbnRcbiAgICogQHBhcmFtIHByb3BzIFByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIHRoZSBNZXRyaWNGaWx0ZXJcbiAgICovXG4gIHB1YmxpYyBhZGRNZXRyaWNGaWx0ZXIoaWQ6IHN0cmluZywgcHJvcHM6IE1ldHJpY0ZpbHRlck9wdGlvbnMpOiBNZXRyaWNGaWx0ZXIge1xuICAgIHJldHVybiBuZXcgTWV0cmljRmlsdGVyKHRoaXMsIGlkLCB7XG4gICAgICBsb2dHcm91cDogdGhpcyxcbiAgICAgIC4uLnByb3BzLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4dHJhY3QgYSBtZXRyaWMgZnJvbSBzdHJ1Y3R1cmVkIGxvZyBldmVudHMgaW4gdGhlIExvZ0dyb3VwXG4gICAqXG4gICAqIENyZWF0ZXMgYSBNZXRyaWNGaWx0ZXIgb24gdGhpcyBMb2dHcm91cCB0aGF0IHdpbGwgZXh0cmFjdCB0aGUgdmFsdWVcbiAgICogb2YgdGhlIGluZGljYXRlZCBKU09OIGZpZWxkIGluIGFsbCByZWNvcmRzIHdoZXJlIGl0IG9jY3Vycy5cbiAgICpcbiAgICogVGhlIG1ldHJpYyB3aWxsIGJlIGF2YWlsYWJsZSBpbiBDbG91ZFdhdGNoIE1ldHJpY3MgdW5kZXIgdGhlXG4gICAqIGluZGljYXRlZCBuYW1lc3BhY2UgYW5kIG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBqc29uRmllbGQgSlNPTiBmaWVsZCB0byBleHRyYWN0IChleGFtcGxlOiAnJC5teWZpZWxkJylcbiAgICogQHBhcmFtIG1ldHJpY05hbWVzcGFjZSBOYW1lc3BhY2UgdG8gZW1pdCB0aGUgbWV0cmljIHVuZGVyXG4gICAqIEBwYXJhbSBtZXRyaWNOYW1lIE5hbWUgdG8gZW1pdCB0aGUgbWV0cmljIHVuZGVyXG4gICAqIEByZXR1cm5zIEEgTWV0cmljIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGV4dHJhY3RlZCBtZXRyaWNcbiAgICovXG4gIHB1YmxpYyBleHRyYWN0TWV0cmljKFxuICAgIGpzb25GaWVsZDogc3RyaW5nLFxuICAgIG1ldHJpY05hbWVzcGFjZTogc3RyaW5nLFxuICAgIG1ldHJpY05hbWU6IHN0cmluZyxcbiAgKSB7XG4gICAgbmV3IE1ldHJpY0ZpbHRlcih0aGlzLCBgJHttZXRyaWNOYW1lc3BhY2V9XyR7bWV0cmljTmFtZX1gLCB7XG4gICAgICBsb2dHcm91cDogdGhpcyxcbiAgICAgIG1ldHJpY05hbWVzcGFjZSxcbiAgICAgIG1ldHJpY05hbWUsXG4gICAgICBmaWx0ZXJQYXR0ZXJuOiBGaWx0ZXJQYXR0ZXJuLmV4aXN0cyhqc29uRmllbGQpLFxuICAgICAgbWV0cmljVmFsdWU6IGpzb25GaWVsZCxcbiAgICB9KTtcblxuICAgIHJldHVybiBuZXcgTWV0cmljKHtcbiAgICAgIG1ldHJpY05hbWUsXG4gICAgICBuYW1lc3BhY2U6IG1ldHJpY05hbWVzcGFjZSxcbiAgICB9KS5hdHRhY2hUbyh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHaXZlIHBlcm1pc3Npb25zIHRvIGNyZWF0ZSBhbmQgd3JpdGUgdG8gc3RyZWFtcyBpbiB0aGlzIGxvZyBncm91cFxuICAgKi9cbiAgcHVibGljIGdyYW50V3JpdGUoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpIHtcbiAgICByZXR1cm4gdGhpcy5ncmFudChncmFudGVlLCBcImxvZ3M6Q3JlYXRlTG9nU3RyZWFtXCIsIFwibG9nczpQdXRMb2dFdmVudHNcIik7XG4gIH1cblxuICAvKipcbiAgICogR2l2ZSBwZXJtaXNzaW9ucyB0byByZWFkIGFuZCBmaWx0ZXIgZXZlbnRzIGZyb20gdGhpcyBsb2cgZ3JvdXBcbiAgICovXG4gIHB1YmxpYyBncmFudFJlYWQoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpIHtcbiAgICByZXR1cm4gdGhpcy5ncmFudChcbiAgICAgIGdyYW50ZWUsXG4gICAgICBcImxvZ3M6RmlsdGVyTG9nRXZlbnRzXCIsXG4gICAgICBcImxvZ3M6R2V0TG9nRXZlbnRzXCIsXG4gICAgICBcImxvZ3M6R2V0TG9nR3JvdXBGaWVsZHNcIixcbiAgICAgIFwibG9nczpEZXNjcmliZUxvZ0dyb3Vwc1wiLFxuICAgICAgXCJsb2dzOkRlc2NyaWJlTG9nU3RyZWFtc1wiLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2l2ZSB0aGUgaW5kaWNhdGVkIHBlcm1pc3Npb25zIG9uIHRoaXMgbG9nIGdyb3VwIGFuZCBhbGwgc3RyZWFtc1xuICAgKi9cbiAgcHVibGljIGdyYW50KGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlLCAuLi5hY3Rpb25zOiBzdHJpbmdbXSkge1xuICAgIHJldHVybiBpYW0uR3JhbnQuYWRkVG9QcmluY2lwYWxPclJlc291cmNlKHtcbiAgICAgIGdyYW50ZWUsXG4gICAgICBhY3Rpb25zLFxuICAgICAgLy8gQSBMb2dHcm91cCBBUk4gb3V0IG9mIENsb3VkRm9ybWF0aW9uIGFscmVhZHkgaW5jbHVkZXMgYSAnOionIGF0IHRoZSBlbmQgdG8gaW5jbHVkZSB0aGUgbG9nIHN0cmVhbXMgdW5kZXIgdGhlIGdyb3VwLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1sb2dzLWxvZ2dyb3VwLmh0bWwjdzJhYjFjMjFjMTBjNjNjNDNjMTFcbiAgICAgIHJlc291cmNlQXJuczogW3RoaXMubG9nR3JvdXBBcm5dLFxuICAgICAgcmVzb3VyY2U6IHRoaXMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUHVibGljIG1ldGhvZCB0byBnZXQgdGhlIHBoeXNpY2FsIG5hbWUgb2YgdGhpcyBsb2cgZ3JvdXBcbiAgICogQHJldHVybnMgUGh5c2ljYWwgbmFtZSBvZiBsb2cgZ3JvdXBcbiAgICovXG4gIHB1YmxpYyBsb2dHcm91cFBoeXNpY2FsTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmxvZ0dyb3VwTmFtZTtcbiAgfVxuICAvKipcbiAgICogQWRkcyBhIHN0YXRlbWVudCB0byB0aGUgcmVzb3VyY2UgcG9saWN5IGFzc29jaWF0ZWQgd2l0aCB0aGlzIGxvZyBncm91cC5cbiAgICogQSByZXNvdXJjZSBwb2xpY3kgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgdXBvbiB0aGUgZmlyc3QgY2FsbCB0byBgYWRkVG9SZXNvdXJjZVBvbGljeWAuXG4gICAqXG4gICAqIEFueSBBUk4gUHJpbmNpcGFscyBpbnNpZGUgb2YgdGhlIHN0YXRlbWVudCB3aWxsIGJlIGNvbnZlcnRlZCBpbnRvIEFXUyBBY2NvdW50IElEIHN0cmluZ3NcbiAgICogYmVjYXVzZSBDbG91ZFdhdGNoIExvZ3MgUmVzb3VyY2UgUG9saWNpZXMgZG8gbm90IGFjY2VwdCBBUk4gcHJpbmNpcGFscy5cbiAgICpcbiAgICogQHBhcmFtIHN0YXRlbWVudCBUaGUgcG9saWN5IHN0YXRlbWVudCB0byBhZGRcbiAgICovXG4gIHB1YmxpYyBhZGRUb1Jlc291cmNlUG9saWN5KFxuICAgIHN0YXRlbWVudDogaWFtLlBvbGljeVN0YXRlbWVudCxcbiAgKTogaWFtLkFkZFRvUmVzb3VyY2VQb2xpY3lSZXN1bHQge1xuICAgIGlmICghdGhpcy5wb2xpY3kpIHtcbiAgICAgIHRoaXMucG9saWN5ID0gbmV3IFJlc291cmNlUG9saWN5KHRoaXMsIFwiUG9saWN5XCIpO1xuICAgIH1cbiAgICB0aGlzLnBvbGljeS5kb2N1bWVudC5hZGRTdGF0ZW1lbnRzKFxuICAgICAgc3RhdGVtZW50LmNvcHkoe1xuICAgICAgICBwcmluY2lwYWxzOiBzdGF0ZW1lbnQucHJpbmNpcGFscy5tYXAoKHApID0+XG4gICAgICAgICAgdGhpcy5jb252ZXJ0QXJuUHJpbmNpcGFsVG9BY2NvdW50SWQocCksXG4gICAgICAgICksXG4gICAgICB9KSxcbiAgICApO1xuICAgIHJldHVybiB7IHN0YXRlbWVudEFkZGVkOiB0cnVlLCBwb2xpY3lEZXBlbmRhYmxlOiB0aGlzLnBvbGljeSB9O1xuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0QXJuUHJpbmNpcGFsVG9BY2NvdW50SWQocHJpbmNpcGFsOiBpYW0uSVByaW5jaXBhbCkge1xuICAgIGlmIChwcmluY2lwYWwucHJpbmNpcGFsQWNjb3VudCkge1xuICAgICAgLy8gd2UgdXNlIEFyblByaW5jaXBhbCBoZXJlIGJlY2F1c2UgdGhlIGNvbnN0cnVjdG9yIGluc2VydHMgdGhlIGFyZ3VtZW50XG4gICAgICAvLyBpbnRvIHRoZSB0ZW1wbGF0ZSB3aXRob3V0IG11dGF0aW5nIGl0LCB3aGljaCBtZWFucyB0aGF0IHRoZXJlIGlzIG5vXG4gICAgICAvLyBBUk4gY3JlYXRlZCBieSB0aGlzIGNhbGwuXG4gICAgICByZXR1cm4gbmV3IGlhbS5Bcm5QcmluY2lwYWwocHJpbmNpcGFsLnByaW5jaXBhbEFjY291bnQpO1xuICAgIH1cblxuICAgIGlmIChwcmluY2lwYWwgaW5zdGFuY2VvZiBpYW0uQXJuUHJpbmNpcGFsICYmIHByaW5jaXBhbC5hcm4gIT09IFwiKlwiKSB7XG4gICAgICBjb25zdCBwYXJzZWRBcm4gPSBBcm4uc3BsaXQocHJpbmNpcGFsLmFybiwgQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUpO1xuICAgICAgaWYgKHBhcnNlZEFybi5hY2NvdW50KSB7XG4gICAgICAgIHJldHVybiBuZXcgaWFtLkFyblByaW5jaXBhbChwYXJzZWRBcm4uYWNjb3VudCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHByaW5jaXBhbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgQ2xvdWRXYXRjaCBtZXRyaWMgZm9yIHRoZSBudW1iZXIgb2YgaW5jb21pbmcgbG9nIGV2ZW50cyB0byB0aGlzIGxvZyBncm91cC5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIC0gT3B0aW9uYWwuIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIG1ldHJpYy5cbiAgICogQHJldHVybnMgQSBDbG91ZFdhdGNoIE1ldHJpYyBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBJbmNvbWluZ0xvZ0V2ZW50cyBtZXRyaWMuXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kIGFsbG93cyB5b3UgdG8gbW9uaXRvciB0aGUgcmF0ZSBhdCB3aGljaCBsb2cgZXZlbnRzIGFyZSBiZWluZyBpbmdlc3RlZFxuICAgKiBpbnRvIHRoZSBsb2cgZ3JvdXAuIEl0J3MgdXNlZnVsIGZvciB1bmRlcnN0YW5kaW5nIHRoZSB2b2x1bWUgb2YgbG9nZ2luZyBhY3Rpdml0eVxuICAgKiBhbmQgY2FuIGhlbHAgaW4gY2FwYWNpdHkgcGxhbm5pbmcgb3IgZGV0ZWN0aW5nIHVudXN1YWwgc3Bpa2VzIGluIGxvZ2dpbmcuXG4gICAqXG4gICAqIEV4YW1wbGUgdXNhZ2U6XG4gICAqIGBgYFxuICAgKiBjb25zdCBsb2dHcm91cCA9IG5ldyBsb2dzLkxvZ0dyb3VwKHRoaXMsICdNeUxvZ0dyb3VwJyk7XG4gICAqIGxvZ0dyb3VwLm1ldHJpY0luY29taW5nTG9nRXZlbnRzKCkuY3JlYXRlQWxhcm0oc3RhY2ssICdJbmNvbWluZ0V2ZW50c1Blckluc3RhbmNlQWxhcm0nLCB7XG4gICAqIHRocmVzaG9sZDogMSxcbiAgICogZXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAqIH0pO1xuICAgKiBgYGBcbiAgICovXG4gIHB1YmxpYyBtZXRyaWNJbmNvbWluZ0xvZ0V2ZW50cyhwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLm1ldHJpYyhcIkluY29taW5nTG9nc1wiLCBwcm9wcyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIENsb3VkV2F0Y2ggbWV0cmljIGZvciB0aGUgdm9sdW1lIG9mIGluY29taW5nIGxvZyBkYXRhIGluIGJ5dGVzIHRvIHRoaXMgbG9nIGdyb3VwLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgLSBPcHRpb25hbC4gQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgbWV0cmljLlxuICAgKiBAcmV0dXJucyBBIENsb3VkV2F0Y2ggTWV0cmljIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIEluY29taW5nQnl0ZXMgbWV0cmljLlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBhbGxvd3MgeW91IHRvIG1vbml0b3IgdGhlIHZvbHVtZSBvZiBkYXRhIGJlaW5nIGluZ2VzdGVkIGludG8gdGhlIGxvZyBncm91cC5cbiAgICogSXQncyB1c2VmdWwgZm9yIHVuZGVyc3RhbmRpbmcgdGhlIHNpemUgb2YgeW91ciBsb2dzLCB3aGljaCBjYW4gaW1wYWN0IHN0b3JhZ2UgY29zdHNcbiAgICogYW5kIGhlbHAgaW4gaWRlbnRpZnlpbmcgdW5leHBlY3RlZGx5IGxhcmdlIGxvZyBlbnRyaWVzLlxuICAgKlxuICAgKiBFeGFtcGxlIHVzYWdlOlxuICAgKiBgYGBcbiAgICogY29uc3QgbG9nR3JvdXAgPSBuZXcgbG9ncy5Mb2dHcm91cCh0aGlzLCAnTXlMb2dHcm91cCcpO1xuICAgKiBsb2dHcm91cC5tZXRyaWNJbmNvbWluZ0J5dGVzKCkuY3JlYXRlQWxhcm0oc3RhY2ssICdJbmNvbWluZ0J5dGVzUGVySW5zdGFuY2VBbGFybScsIHtcbiAgICogICB0aHJlc2hvbGQ6IDEsXG4gICAqICAgZXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAqIH0pO1xuICAgKiBgYGBcbiAgICovXG4gIHB1YmxpYyBtZXRyaWNJbmNvbWluZ0J5dGVzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKFwiSW5jb21pbmdCeXRlc1wiLCBwcm9wcyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIENsb3VkV2F0Y2ggbWV0cmljIGZvciB0aGlzIGxvZyBncm91cC5cbiAgICpcbiAgICogQHBhcmFtIG1ldHJpY05hbWUgLSBUaGUgbmFtZSBvZiB0aGUgbWV0cmljIHRvIGNyZWF0ZS5cbiAgICogQHBhcmFtIHByb3BzIC0gT3B0aW9uYWwuIEFkZGl0aW9uYWwgcHJvcGVydGllcyB0byBjb25maWd1cmUgdGhlIG1ldHJpYy5cbiAgICogQHJldHVybnMgQSBDbG91ZFdhdGNoIE1ldHJpYyBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBzcGVjaWZpZWQgbWV0cmljIGZvciB0aGlzIGxvZyBncm91cC5cbiAgICpcbiAgICogVGhpcyBtZXRob2QgY3JlYXRlcyBhIENsb3VkV2F0Y2ggTWV0cmljIG9iamVjdCB3aXRoIHByZWRlZmluZWQgc2V0dGluZ3MgZm9yIHRoZSBsb2cgZ3JvdXAuXG4gICAqIEl0IHNldHMgdGhlIG5hbWVzcGFjZSB0byAnQVdTL0xvZ3MnIGFuZCB0aGUgc3RhdGlzdGljIHRvICdTdW0nIGJ5IGRlZmF1bHQuXG4gICAqXG4gICAqIFRoZSBjcmVhdGVkIG1ldHJpYyBpcyBhdXRvbWF0aWNhbGx5IGFzc29jaWF0ZWQgd2l0aCB0aGlzIGxvZyBncm91cCB1c2luZyB0aGUgYGF0dGFjaFRvYCBtZXRob2QuXG4gICAqXG4gICAqIENvbW1vbiBtZXRyaWMgbmFtZXMgZm9yIGxvZyBncm91cHMgaW5jbHVkZTpcbiAgICogLSAnSW5jb21pbmdCeXRlcyc6IFRoZSB2b2x1bWUgb2YgbG9nIGRhdGEgaW4gYnl0ZXMgaW5nZXN0ZWQgaW50byB0aGUgbG9nIGdyb3VwLlxuICAgKiAtICdJbmNvbWluZ0xvZ0V2ZW50cyc6IFRoZSBudW1iZXIgb2YgbG9nIGV2ZW50cyBpbmdlc3RlZCBpbnRvIHRoZSBsb2cgZ3JvdXAuXG4gICAqIGBgYFxuICAgKi9cbiAgcHVibGljIG1ldHJpYyhtZXRyaWNOYW1lOiBzdHJpbmcsIHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIG5ldyBNZXRyaWMoe1xuICAgICAgbmFtZXNwYWNlOiBcIkFXUy9Mb2dzXCIsXG4gICAgICBtZXRyaWNOYW1lLFxuICAgICAgc3RhdGlzdGljOiBcIlN1bVwiLFxuICAgICAgLi4ucHJvcHMsXG4gICAgfSkuYXR0YWNoVG8odGhpcyk7XG4gIH1cbn1cblxuLyoqXG4gKiBDbGFzcyBvZiBMb2cgR3JvdXAuXG4gKi9cbmV4cG9ydCBlbnVtIExvZ0dyb3VwQ2xhc3Mge1xuICAvKipcbiAgICogRGVmYXVsdCBjbGFzcyBvZiBsb2dzIHNlcnZpY2VzXG4gICAqL1xuICBTVEFOREFSRCA9IFwiU1RBTkRBUkRcIixcblxuICAvKipcbiAgICogQ2xhc3MgZm9yIHJlZHVjZWQgbG9ncyBzZXJ2aWNlc1xuICAgKi9cbiAgSU5GUkVRVUVOVF9BQ0NFU1MgPSBcIklORlJFUVVFTlRfQUNDRVNTXCIsXG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYSBMb2dHcm91cFxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvZ0dyb3VwUHJvcHMgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgS01TIGN1c3RvbWVyIG1hbmFnZWQga2V5IHRvIGVuY3J5cHQgdGhlIGxvZyBncm91cCB3aXRoLlxuICAgKlxuICAgKiBAZGVmYXVsdCBTZXJ2ZXItc2lkZSBlbmNyeXB0aW9uIG1hbmFnZWQgYnkgdGhlIENsb3VkV2F0Y2ggTG9ncyBzZXJ2aWNlXG4gICAqL1xuICByZWFkb25seSBlbmNyeXB0aW9uS2V5Pzoga21zLklLZXk7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGxvZyBncm91cC5cbiAgICpcbiAgICogQGRlZmF1bHQgQXV0b21hdGljYWxseSBnZW5lcmF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0dyb3VwTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogRGF0YSBQcm90ZWN0aW9uIFBvbGljeSBmb3IgdGhpcyBsb2cgZ3JvdXAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZGF0YSBwcm90ZWN0aW9uIHBvbGljeVxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YVByb3RlY3Rpb25Qb2xpY3k/OiBEYXRhUHJvdGVjdGlvblBvbGljeTtcblxuICAvKipcbiAgICogSG93IGxvbmcsIGluIGRheXMsIHRoZSBsb2cgY29udGVudHMgd2lsbCBiZSByZXRhaW5lZC5cbiAgICpcbiAgICogVG8gcmV0YWluIGFsbCBsb2dzLCBzZXQgdGhpcyB2YWx1ZSB0byBSZXRlbnRpb25EYXlzLklORklOSVRFLlxuICAgKlxuICAgKiBAZGVmYXVsdCBSZXRlbnRpb25EYXlzLlRXT19ZRUFSU1xuICAgKi9cbiAgcmVhZG9ubHkgcmV0ZW50aW9uPzogUmV0ZW50aW9uRGF5cztcblxuICAvKipcbiAgICogU2V0IHRvIHRydWUgaWYgeW91IGRvIG5vdCB3aXNoIHRoZSBsb2cgZ3JvdXAgKGFuZCBhbnkgbG9ncyBpdCBtYXkgY29udGFpbikgdG8gYmUgZGVsZXRlZCBhdCBkZXN0cm95IHRpbWUsIGFuZCBpbnN0ZWFkIGp1c3QgcmVtb3ZlIHRoZSBsb2cgZ3JvdXAgZnJvbSB0aGUgVGVycmFmb3JtIHN0YXRlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZSAtIHVubGVzcyBgcmV0ZW50aW9uYCBpcyBzZXQgdG8gUmV0ZW50aW9uRGF5cy5JTkZJTklURSwgaW4gd2hpY2ggY2FzZSB0aGlzIGlzIHNldCB0byB0cnVlXG4gICAqL1xuICByZWFkb25seSBza2lwRGVzdHJveT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBjbGFzcyBvZiB0aGUgbG9nIGdyb3VwLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOiBTVEFOREFSRCBhbmQgSU5GUkVRVUVOVF9BQ0NFU1MuXG4gICAqXG4gICAqIElORlJFUVVFTlRfQUNDRVNTIGNsYXNzIHByb3ZpZGVzIGN1c3RvbWVycyBhIGNvc3QtZWZmZWN0aXZlIHdheSB0byBjb25zb2xpZGF0ZVxuICAgKiBsb2dzIHdoaWNoIHN1cHBvcnRzIHF1ZXJ5aW5nIHVzaW5nIExvZ3MgSW5zaWdodHMuIFRoZSBsb2dHcm91cENsYXNzIHByb3BlcnR5IGNhbm5vdFxuICAgKiBiZSBjaGFuZ2VkIG9uY2UgdGhlIGxvZyBncm91cCBpcyBjcmVhdGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBMb2dHcm91cENsYXNzLlNUQU5EQVJEXG4gICAqL1xuICByZWFkb25seSBsb2dHcm91cENsYXNzPzogTG9nR3JvdXBDbGFzcztcbn1cblxuLyoqXG4gKiBUaGUgbWV0aG9kIHVzZWQgdG8gZGlzdHJpYnV0ZSBsb2cgZGF0YSB0byB0aGUgZGVzdGluYXRpb24uXG4gKi9cbmV4cG9ydCBlbnVtIERpc3RyaWJ1dGlvbiB7XG4gIC8qKlxuICAgKiBMb2cgZXZlbnRzIGZyb20gdGhlIHNhbWUgbG9nIHN0cmVhbSBhcmUga2VwdCB0b2dldGhlciBhbmQgc2VudCB0byB0aGUgc2FtZSBkZXN0aW5hdGlvbi5cbiAgICovXG4gIEJZX0xPR19TVFJFQU0gPSBcIkJ5TG9nU3RyZWFtXCIsXG5cbiAgLyoqXG4gICAqIExvZyBldmVudHMgYXJlIGRpc3RyaWJ1dGVkIGFjcm9zcyB0aGUgbG9nIGRlc3RpbmF0aW9ucyByYW5kb21seS5cbiAgICovXG4gIFJBTkRPTSA9IFwiUmFuZG9tXCIsXG59XG5cbi8qKlxuICogRGVmaW5lIGEgQ2xvdWRXYXRjaCBMb2cgR3JvdXBcbiAqL1xuZXhwb3J0IGNsYXNzIExvZ0dyb3VwIGV4dGVuZHMgTG9nR3JvdXBCYXNlIHtcbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyBMb2dHcm91cCBnaXZlbiBpdHMgQVJOXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Mb2dHcm91cEFybihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgbG9nR3JvdXBBcm46IHN0cmluZyxcbiAgKTogSUxvZ0dyb3VwIHtcbiAgICBjb25zdCBiYXNlTG9nR3JvdXBBcm4gPSBsb2dHcm91cEFybi5yZXBsYWNlKC86XFwqJC8sIFwiXCIpO1xuXG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgTG9nR3JvdXBCYXNlIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSBsb2dHcm91cEFybiA9IGAke2Jhc2VMb2dHcm91cEFybn06KmA7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgbG9nR3JvdXBOYW1lID0gQXdzU3RhY2sub2ZBd3NDb25zdHJ1Y3Qoc2NvcGUpLnNwbGl0QXJuKFxuICAgICAgICBiYXNlTG9nR3JvdXBBcm4sXG4gICAgICAgIEFybkZvcm1hdC5DT0xPTl9SRVNPVVJDRV9OQU1FLFxuICAgICAgKS5yZXNvdXJjZU5hbWUhO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCwge1xuICAgICAgZW52aXJvbm1lbnRGcm9tQXJuOiBiYXNlTG9nR3JvdXBBcm4sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIExvZ0dyb3VwIGdpdmVuIGl0cyBuYW1lXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Mb2dHcm91cE5hbWUoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGxvZ0dyb3VwTmFtZTogc3RyaW5nLFxuICApOiBJTG9nR3JvdXAge1xuICAgIGNvbnN0IGJhc2VMb2dHcm91cE5hbWUgPSBsb2dHcm91cE5hbWUucmVwbGFjZSgvOlxcKiQvLCBcIlwiKTtcblxuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIExvZ0dyb3VwQmFzZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgbG9nR3JvdXBOYW1lID0gYmFzZUxvZ0dyb3VwTmFtZTtcbiAgICAgIHB1YmxpYyByZWFkb25seSBsb2dHcm91cEFybiA9IEF3c1N0YWNrLm9mQXdzQ29uc3RydWN0KHNjb3BlKS5mb3JtYXRBcm4oe1xuICAgICAgICBzZXJ2aWNlOiBcImxvZ3NcIixcbiAgICAgICAgcmVzb3VyY2U6IFwibG9nLWdyb3VwXCIsXG4gICAgICAgIGFybkZvcm1hdDogQXJuRm9ybWF0LkNPTE9OX1JFU09VUkNFX05BTUUsXG4gICAgICAgIHJlc291cmNlTmFtZTogYmFzZUxvZ0dyb3VwTmFtZSArIFwiOipcIixcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgcmVzb3VyY2U6IGNsb3Vkd2F0Y2hMb2dHcm91cC5DbG91ZHdhdGNoTG9nR3JvdXA7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhpcyBsb2cgZ3JvdXBcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBsb2dHcm91cEFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGlzIGxvZyBncm91cFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGxvZ0dyb3VwTmFtZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBMb2dHcm91cFByb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcbiAgICBjb25zdCBuYW1lID1cbiAgICAgIHByb3BzLmxvZ0dyb3VwTmFtZSB8fFxuICAgICAgdGhpcy5zdGFjay51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywge1xuICAgICAgICBwcmVmaXg6IHRoaXMuZ3JpZFVVSUQsXG4gICAgICB9KTtcblxuICAgIGxldCByZXRlbnRpb25JbkRheXMgPSBwcm9wcy5yZXRlbnRpb247XG4gICAgbGV0IHNraXBEZXN0cm95ID0gcHJvcHMuc2tpcERlc3Ryb3k7XG4gICAgaWYgKHJldGVudGlvbkluRGF5cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXRlbnRpb25JbkRheXMgPSBSZXRlbnRpb25EYXlzLlRXT19ZRUFSUztcbiAgICB9XG4gICAgaWYgKFxuICAgICAgcmV0ZW50aW9uSW5EYXlzID09PSBJbmZpbml0eSB8fFxuICAgICAgcmV0ZW50aW9uSW5EYXlzID09PSBSZXRlbnRpb25EYXlzLklORklOSVRFXG4gICAgKSB7XG4gICAgICByZXRlbnRpb25JbkRheXMgPSB1bmRlZmluZWQ7XG4gICAgICBza2lwRGVzdHJveSA9IHByb3BzLnNraXBEZXN0cm95ID8/IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgcmV0ZW50aW9uSW5EYXlzICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICFUb2tlbi5pc1VucmVzb2x2ZWQocmV0ZW50aW9uSW5EYXlzKSAmJlxuICAgICAgcmV0ZW50aW9uSW5EYXlzIDw9IDBcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYHJldGVudGlvbkluRGF5cyBtdXN0IGJlIHBvc2l0aXZlLCBnb3QgJHtyZXRlbnRpb25JbkRheXN9YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgbG9nR3JvdXBDbGFzcyA9IHByb3BzLmxvZ0dyb3VwQ2xhc3M7XG5cbiAgICBjb25zdCBsb2dHcm91cENsYXNzVW5zdXBwb3J0ZWRSZWdpb25zID0gW1xuICAgICAgXCJ1cy1pc28td2VzdC0xXCIsIC8vIEFQQVxuICAgICAgXCJ1cy1pc28tZWFzdC0xXCIsIC8vIERDQVxuICAgICAgXCJ1cy1pc29iLWVhc3QtMVwiLCAvLyBMQ0tcbiAgICBdO1xuICAgIGlmIChcbiAgICAgIGxvZ0dyb3VwQ2xhc3MgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgIVRva2VuLmlzVW5yZXNvbHZlZCh0aGlzLnN0YWNrLnJlZ2lvbikgJiZcbiAgICAgIGxvZ0dyb3VwQ2xhc3NVbnN1cHBvcnRlZFJlZ2lvbnMuaW5jbHVkZXModGhpcy5zdGFjay5yZWdpb24pXG4gICAgKSB7XG4gICAgICAvLyBcIkBhd3MtY2RrL2F3cy1sb2dzOnByb3BlcnR5Tm90U3VwcG9ydGVkXCIsXG4gICAgICBBbm5vdGF0aW9ucy5vZih0aGlzKS5hZGRXYXJuaW5nKFxuICAgICAgICBgVGhlIExvZ0dyb3VwQ2xhc3MgcHJvcGVydHkgaXMgbm90IHN1cHBvcnRlZCBpbiB0aGUgZm9sbG93aW5nIHJlZ2lvbnM6ICR7bG9nR3JvdXBDbGFzc1Vuc3VwcG9ydGVkUmVnaW9uc31gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlc291cmNlID0gbmV3IGNsb3Vkd2F0Y2hMb2dHcm91cC5DbG91ZHdhdGNoTG9nR3JvdXAoXG4gICAgICB0aGlzLFxuICAgICAgXCJSZXNvdXJjZVwiLFxuICAgICAge1xuICAgICAgICBuYW1lLFxuICAgICAgICBsb2dHcm91cENsYXNzLFxuICAgICAgICByZXRlbnRpb25JbkRheXMsXG4gICAgICAgIHNraXBEZXN0cm95LFxuICAgICAgICBrbXNLZXlJZDogcHJvcHMuZW5jcnlwdGlvbktleT8ua2V5QXJuLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgLy8gaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9hd3MvNS44Mi4xL2RvY3MvcmVzb3VyY2VzL2Nsb3Vkd2F0Y2hfbG9nX2dyb3VwI2F0dHJpYnV0ZS1yZWZlcmVuY2VcbiAgICAvLyB0ZXJyYWZvcm0tcHJvdmlkZXItYXdzIGRyb3BzIHRoZSB0cmFpbGluZyAnOionIGZyb20gdGhlIEFSTiB3aGVuIHJldHVybmluZyBpdCBhcyBhbiBhdHRyaWJ1dGVcbiAgICB0aGlzLmxvZ0dyb3VwQXJuID0gYCR7dGhpcy5yZXNvdXJjZS5hcm59OipgO1xuICAgIHRoaXMubG9nR3JvdXBOYW1lID0gdGhpcy5yZXNvdXJjZS5uYW1lO1xuICAgIGlmIChwcm9wcy5kYXRhUHJvdGVjdGlvblBvbGljeSkge1xuICAgICAgcHJvcHMuZGF0YVByb3RlY3Rpb25Qb2xpY3k/Ll9iaW5kKHRoaXMpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgbmV3IExvZ1N0cmVhbSBjcmVhdGVkIGZyb20gYSBMb2dHcm91cFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0cmVhbU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGxvZyBzdHJlYW0gdG8gY3JlYXRlLlxuICAgKlxuICAgKiBUaGUgbmFtZSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGxvZyBncm91cC5cbiAgICpcbiAgICogQGRlZmF1bHQgQXV0b21hdGljYWxseSBnZW5lcmF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IGxvZ1N0cmVhbU5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYSBuZXcgU3Vic2NyaXB0aW9uRmlsdGVyIGNyZWF0ZWQgZnJvbSBhIExvZ0dyb3VwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uRmlsdGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgZGVzdGluYXRpb24gdG8gc2VuZCB0aGUgZmlsdGVyZWQgZXZlbnRzIHRvLlxuICAgKlxuICAgKiBGb3IgZXhhbXBsZSwgYSBLaW5lc2lzIHN0cmVhbSBvciBhIExhbWJkYSBmdW5jdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGRlc3RpbmF0aW9uOiBJTG9nU3Vic2NyaXB0aW9uRGVzdGluYXRpb247XG5cbiAgLyoqXG4gICAqIExvZyBldmVudHMgbWF0Y2hpbmcgdGhpcyBwYXR0ZXJuIHdpbGwgYmUgc2VudCB0byB0aGUgZGVzdGluYXRpb24uXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXJQYXR0ZXJuOiBJRmlsdGVyUGF0dGVybjtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHN1YnNjcmlwdGlvbiBmaWx0ZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXJOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbWV0aG9kIHVzZWQgdG8gZGlzdHJpYnV0ZSBsb2cgZGF0YSB0byB0aGUgZGVzdGluYXRpb24uXG4gICAqIFRoaXMgcHJvcGVydHkgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIEtpbmVzaXNEZXN0aW5hdGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgRGlzdHJpYnV0aW9uLkJZX0xPR19TVFJFQU1cbiAgICovXG4gIHJlYWRvbmx5IGRpc3RyaWJ1dGlvbj86IERpc3RyaWJ1dGlvbjtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhIE1ldHJpY0ZpbHRlciBjcmVhdGVkIGZyb20gYSBMb2dHcm91cFxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1ldHJpY0ZpbHRlck9wdGlvbnMge1xuICAvKipcbiAgICogUGF0dGVybiB0byBzZWFyY2ggZm9yIGxvZyBldmVudHMuXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXJQYXR0ZXJuOiBJRmlsdGVyUGF0dGVybjtcblxuICAvKipcbiAgICogVGhlIG5hbWVzcGFjZSBvZiB0aGUgbWV0cmljIHRvIGVtaXQuXG4gICAqL1xuICByZWFkb25seSBtZXRyaWNOYW1lc3BhY2U6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIG1ldHJpYyB0byBlbWl0LlxuICAgKi9cbiAgcmVhZG9ubHkgbWV0cmljTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgdG8gZW1pdCBmb3IgdGhlIG1ldHJpYy5cbiAgICpcbiAgICogQ2FuIGVpdGhlciBiZSBhIGxpdGVyYWwgbnVtYmVyICh0eXBpY2FsbHkgXCIxXCIpLCBvciB0aGUgbmFtZSBvZiBhIGZpZWxkIGluIHRoZSBzdHJ1Y3R1cmVcbiAgICogdG8gdGFrZSB0aGUgdmFsdWUgZnJvbSB0aGUgbWF0Y2hlZCBldmVudC4gSWYgeW91IGFyZSB1c2luZyBhIGZpZWxkIHZhbHVlLCB0aGUgZmllbGRcbiAgICogdmFsdWUgbXVzdCBoYXZlIGJlZW4gbWF0Y2hlZCB1c2luZyB0aGUgcGF0dGVybi5cbiAgICpcbiAgICogSWYgeW91IHdhbnQgdG8gc3BlY2lmeSBhIGZpZWxkIGZyb20gYSBtYXRjaGVkIEpTT04gc3RydWN0dXJlLCB1c2UgJyQuZmllbGROYW1lJyxcbiAgICogYW5kIG1ha2Ugc3VyZSB0aGUgZmllbGQgaXMgaW4gdGhlIHBhdHRlcm4gKGlmIG9ubHkgYXMgJyQuZmllbGROYW1lID0gKicpLlxuICAgKlxuICAgKiBJZiB5b3Ugd2FudCB0byBzcGVjaWZ5IGEgZmllbGQgZnJvbSBhIG1hdGNoZWQgc3BhY2UtZGVsaW1pdGVkIHN0cnVjdHVyZSxcbiAgICogdXNlICckZmllbGROYW1lJy5cbiAgICpcbiAgICogQGRlZmF1bHQgXCIxXCJcbiAgICovXG4gIHJlYWRvbmx5IG1ldHJpY1ZhbHVlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgdG8gZW1pdCBpZiB0aGUgcGF0dGVybiBkb2VzIG5vdCBtYXRjaCBhIHBhcnRpY3VsYXIgZXZlbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IE5vIG1ldHJpYyBlbWl0dGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFZhbHVlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgZmllbGRzIHRvIHVzZSBhcyBkaW1lbnNpb25zIGZvciB0aGUgbWV0cmljLiBPbmUgbWV0cmljIGZpbHRlciBjYW4gaW5jbHVkZSBhcyBtYW55IGFzIHRocmVlIGRpbWVuc2lvbnMuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXByb3BlcnRpZXMtbG9ncy1tZXRyaWNmaWx0ZXItbWV0cmljdHJhbnNmb3JtYXRpb24uaHRtbCNjZm4tbG9ncy1tZXRyaWNmaWx0ZXItbWV0cmljdHJhbnNmb3JtYXRpb24tZGltZW5zaW9uc1xuICAgKiBAZGVmYXVsdCAtIE5vIGRpbWVuc2lvbnMgYXR0YWNoZWQgdG8gbWV0cmljcy5cbiAgICovXG4gIHJlYWRvbmx5IGRpbWVuc2lvbnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBUaGUgdW5pdCB0byBhc3NpZ24gdG8gdGhlIG1ldHJpYy5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1sb2dzLW1ldHJpY2ZpbHRlci1tZXRyaWN0cmFuc2Zvcm1hdGlvbi5odG1sI2Nmbi1sb2dzLW1ldHJpY2ZpbHRlci1tZXRyaWN0cmFuc2Zvcm1hdGlvbi11bml0XG4gICAqIEBkZWZhdWx0IC0gTm8gdW5pdCBhdHRhY2hlZCB0byBtZXRyaWNzLlxuICAgKi9cbiAgcmVhZG9ubHkgdW5pdD86IFVuaXQ7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBtZXRyaWMgZmlsdGVyLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIENsb3VkZm9ybWF0aW9uIGdlbmVyYXRlZCBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgZmlsdGVyTmFtZT86IHN0cmluZztcbn1cbiJdfQ==
|
|
349
|
+
LogGroup[_a] = { fqn: "terraconstructs.aws.cloudwatch.LogGroup", version: "0.2.5" };
|
|
350
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9jbG91ZHdhdGNoL2xvZy1ncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDhGQUE4RjtBQUU5RixzREFBeUQ7QUFDekQsaUNBQTJDO0FBRTNDLGdDQUF3QztBQUN4QyxvREFBdUU7QUFDdkUsNENBQXdDO0FBQ3hDLG9EQUFpRDtBQUVqRCw2Q0FBeUM7QUFDekMscUNBQWlEO0FBQ2pELG1EQUErQztBQUUvQyx1Q0FBMEQ7QUFDMUQscUNBQTBDO0FBQzFDLCtEQUcrQjtBQUUvQiw4QkFBOEI7QUFpSTlCOztHQUVHO0FBQ0gsTUFBZSxZQUFhLFNBQVEsZ0NBQWdCO0lBV2xELElBQVcsZUFBZTtRQUN4QixPQUFPO1lBQ0wsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtTQUNoQyxDQUFDO0lBQ0osQ0FBQztJQUNELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUlEOzs7OztPQUtHO0lBQ0ksU0FBUyxDQUFDLEVBQVUsRUFBRSxRQUF1QixFQUFFO1FBQ3BELE9BQU8sSUFBSSxzQkFBUyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDN0IsUUFBUSxFQUFFLElBQUk7WUFDZCxHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxxQkFBcUIsQ0FDMUIsRUFBVSxFQUNWLEtBQWdDO1FBRWhDLE9BQU8sSUFBSSx3Q0FBa0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ3RDLFFBQVEsRUFBRSxJQUFJO1lBQ2QsR0FBRyxLQUFLO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksZUFBZSxDQUFDLEVBQVUsRUFBRSxLQUEwQjtRQUMzRCxPQUFPLElBQUksNEJBQVksQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ2hDLFFBQVEsRUFBRSxJQUFJO1lBQ2QsR0FBRyxLQUFLO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSSxhQUFhLENBQ2xCLFNBQWlCLEVBQ2pCLGVBQXVCLEVBQ3ZCLFVBQWtCO1FBRWxCLElBQUksNEJBQVksQ0FBQyxJQUFJLEVBQUUsR0FBRyxlQUFlLElBQUksVUFBVSxFQUFFLEVBQUU7WUFDekQsUUFBUSxFQUFFLElBQUk7WUFDZCxlQUFlO1lBQ2YsVUFBVTtZQUNWLGFBQWEsRUFBRSx1QkFBYSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7WUFDOUMsV0FBVyxFQUFFLFNBQVM7U0FDdkIsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLGVBQU0sQ0FBQztZQUNoQixVQUFVO1lBQ1YsU0FBUyxFQUFFLGVBQWU7U0FDM0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxVQUFVLENBQUMsT0FBdUI7UUFDdkMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRDs7T0FFRztJQUNJLFNBQVMsQ0FBQyxPQUF1QjtRQUN0QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQ2YsT0FBTyxFQUNQLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsd0JBQXdCLEVBQ3hCLHdCQUF3QixFQUN4Qix5QkFBeUIsQ0FDMUIsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUF1QixFQUFFLEdBQUcsT0FBaUI7UUFDeEQsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDO1lBQ3hDLE9BQU87WUFDUCxPQUFPO1lBQ1Asc0hBQXNIO1lBQ3RILDBIQUEwSDtZQUMxSCxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ2hDLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNJLG9CQUFvQjtRQUN6QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUNEOzs7Ozs7OztPQVFHO0lBQ0ksbUJBQW1CLENBQ3hCLFNBQThCO1FBRTlCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLHVCQUFjLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQ2hDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDYixVQUFVLEVBQUUsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUN6QyxJQUFJLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDLENBQ3ZDO1NBQ0YsQ0FBQyxDQUNILENBQUM7UUFDRixPQUFPLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDakUsQ0FBQztJQUVPLDhCQUE4QixDQUFDLFNBQXlCO1FBQzlELElBQUksU0FBUyxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDL0Isd0VBQXdFO1lBQ3hFLHNFQUFzRTtZQUN0RSw0QkFBNEI7WUFDNUIsT0FBTyxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDMUQsQ0FBQztRQUVELElBQUksU0FBUyxZQUFZLEdBQUcsQ0FBQyxZQUFZLElBQUksU0FBUyxDQUFDLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNuRSxNQUFNLFNBQVMsR0FBRyxTQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsZUFBUyxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDMUUsSUFBSSxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3RCLE9BQU8sSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqRCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Ba0JHO0lBQ0ksdUJBQXVCLENBQUMsS0FBcUI7UUFDbEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQWtCRztJQUNJLG1CQUFtQixDQUFDLEtBQXFCO1FBQzlDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7O09BZ0JHO0lBQ0ksTUFBTSxDQUFDLFVBQWtCLEVBQUUsS0FBcUI7UUFDckQsT0FBTyxJQUFJLGVBQU0sQ0FBQztZQUNoQixTQUFTLEVBQUUsVUFBVTtZQUNyQixVQUFVO1lBQ1YsU0FBUyxFQUFFLEtBQUs7WUFDaEIsR0FBRyxLQUFLO1NBQ1QsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQixDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILElBQVksYUFVWDtBQVZELFdBQVksYUFBYTtJQUN2Qjs7T0FFRztJQUNILHNDQUFxQixDQUFBO0lBRXJCOztPQUVHO0lBQ0gsd0RBQXVDLENBQUE7QUFDekMsQ0FBQyxFQVZXLGFBQWEsNkJBQWIsYUFBYSxRQVV4QjtBQXVERDs7R0FFRztBQUNILElBQVksWUFVWDtBQVZELFdBQVksWUFBWTtJQUN0Qjs7T0FFRztJQUNILDZDQUE2QixDQUFBO0lBRTdCOztPQUVHO0lBQ0gsaUNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQVZXLFlBQVksNEJBQVosWUFBWSxRQVV2QjtBQUVEOztHQUVHO0FBQ0gsTUFBYSxRQUFTLFNBQVEsWUFBWTtJQUN4Qzs7T0FFRztJQUNJLE1BQU0sQ0FBQyxlQUFlLENBQzNCLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixXQUFtQjtRQUVuQixNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUV4RCxNQUFNLE1BQU8sU0FBUSxZQUFZO1lBQWpDOztnQkFDa0IsZ0JBQVcsR0FBRyxHQUFHLGVBQWUsSUFBSSxDQUFDO2dCQUNyQyxpQkFBWSxHQUFHLG9CQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FDcEUsZUFBZSxFQUNmLGVBQVMsQ0FBQyxtQkFBbUIsQ0FDOUIsQ0FBQyxZQUFhLENBQUM7WUFDbEIsQ0FBQztTQUFBO1FBRUQsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQzNCLGtCQUFrQixFQUFFLGVBQWU7U0FDcEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLGdCQUFnQixDQUM1QixLQUFnQixFQUNoQixFQUFVLEVBQ1YsWUFBb0I7UUFFcEIsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUUxRCxNQUFNLE1BQU8sU0FBUSxZQUFZO1lBQWpDOztnQkFDa0IsaUJBQVksR0FBRyxnQkFBZ0IsQ0FBQztnQkFDaEMsZ0JBQVcsR0FBRyxvQkFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUM7b0JBQ3JFLE9BQU8sRUFBRSxNQUFNO29CQUNmLFFBQVEsRUFBRSxXQUFXO29CQUNyQixTQUFTLEVBQUUsZUFBUyxDQUFDLG1CQUFtQjtvQkFDeEMsWUFBWSxFQUFFLGdCQUFnQixHQUFHLElBQUk7aUJBQ3RDLENBQUMsQ0FBQztZQUNMLENBQUM7U0FBQTtRQUVELE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFjRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFFBQXVCLEVBQUU7UUFDakUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDeEIsTUFBTSxJQUFJLEdBQ1IsS0FBSyxDQUFDLFlBQVk7WUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUU7Z0JBQ2xDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUTthQUN0QixDQUFDLENBQUM7UUFFTCxJQUFJLGVBQWUsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO1FBQ3RDLElBQUksV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDcEMsSUFBSSxlQUFlLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDbEMsZUFBZSxHQUFHLDZCQUFhLENBQUMsU0FBUyxDQUFDO1FBQzVDLENBQUM7UUFDRCxJQUNFLGVBQWUsS0FBSyxRQUFRO1lBQzVCLGVBQWUsS0FBSyw2QkFBYSxDQUFDLFFBQVEsRUFDMUMsQ0FBQztZQUNELGVBQWUsR0FBRyxTQUFTLENBQUM7WUFDNUIsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDO1FBQzFDLENBQUM7UUFFRCxJQUNFLGVBQWUsS0FBSyxTQUFTO1lBQzdCLENBQUMsYUFBSyxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUM7WUFDcEMsZUFBZSxJQUFJLENBQUMsRUFDcEIsQ0FBQztZQUNELE1BQU0sSUFBSSxLQUFLLENBQ2IseUNBQXlDLGVBQWUsRUFBRSxDQUMzRCxDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFFMUMsTUFBTSwrQkFBK0IsR0FBRztZQUN0QyxlQUFlLEVBQUUsTUFBTTtZQUN2QixlQUFlLEVBQUUsTUFBTTtZQUN2QixnQkFBZ0IsRUFBRSxNQUFNO1NBQ3pCLENBQUM7UUFDRixJQUNFLGFBQWEsS0FBSyxTQUFTO1lBQzNCLENBQUMsYUFBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUN0QywrQkFBK0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFDM0QsQ0FBQztZQUNELDRDQUE0QztZQUM1QyxtQkFBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQzdCLHlFQUF5RSwrQkFBK0IsRUFBRSxDQUMzRyxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxpQ0FBa0IsQ0FBQyxrQkFBa0IsQ0FDdkQsSUFBSSxFQUNKLFVBQVUsRUFDVjtZQUNFLElBQUk7WUFDSixhQUFhO1lBQ2IsZUFBZTtZQUNmLFdBQVc7WUFDWCxRQUFRLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRSxNQUFNO1NBQ3RDLENBQ0YsQ0FBQztRQUVGLHVIQUF1SDtRQUN2SCxnR0FBZ0c7UUFDaEcsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDNUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QyxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQy9CLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsQ0FBQztJQUNILENBQUM7O0FBL0hILDRCQWdJQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE3MC4wL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1sb2dzL2xpYi9sb2ctZ3JvdXAudHNcblxuaW1wb3J0IHsgY2xvdWR3YXRjaExvZ0dyb3VwIH0gZnJvbSBcIkBjZGt0bi9wcm92aWRlci1hd3NcIjtcbmltcG9ydCB7IEFubm90YXRpb25zLCBUb2tlbiB9IGZyb20gXCJjZGt0blwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEFybiwgQXJuRm9ybWF0IH0gZnJvbSBcIi4uL2FyblwiO1xuaW1wb3J0IHsgQXdzQ29uc3RydWN0QmFzZSwgQXdzQ29uc3RydWN0UHJvcHMgfSBmcm9tIFwiLi4vYXdzLWNvbnN0cnVjdFwiO1xuaW1wb3J0IHsgQXdzU3RhY2sgfSBmcm9tIFwiLi4vYXdzLXN0YWNrXCI7XG5pbXBvcnQgeyBSZXRlbnRpb25EYXlzIH0gZnJvbSBcIi4uL2xvZy1yZXRlbnRpb25cIjtcbmltcG9ydCB7IERhdGFQcm90ZWN0aW9uUG9saWN5IH0gZnJvbSBcIi4vZGF0YS1wcm90ZWN0aW9uLXBvbGljeVwiO1xuaW1wb3J0IHsgTG9nU3RyZWFtIH0gZnJvbSBcIi4vbG9nLXN0cmVhbVwiO1xuaW1wb3J0IHsgTWV0cmljLCBNZXRyaWNPcHRpb25zIH0gZnJvbSBcIi4vbWV0cmljXCI7XG5pbXBvcnQgeyBNZXRyaWNGaWx0ZXIgfSBmcm9tIFwiLi9tZXRyaWMtZmlsdGVyXCI7XG5pbXBvcnQgeyBVbml0IH0gZnJvbSBcIi4vbWV0cmljLXR5cGVzXCI7XG5pbXBvcnQgeyBGaWx0ZXJQYXR0ZXJuLCBJRmlsdGVyUGF0dGVybiB9IGZyb20gXCIuL3BhdHRlcm5cIjtcbmltcG9ydCB7IFJlc291cmNlUG9saWN5IH0gZnJvbSBcIi4vcG9saWN5XCI7XG5pbXBvcnQge1xuICBJTG9nU3Vic2NyaXB0aW9uRGVzdGluYXRpb24sXG4gIFN1YnNjcmlwdGlvbkZpbHRlcixcbn0gZnJvbSBcIi4vc3Vic2NyaXB0aW9uLWZpbHRlclwiO1xuaW1wb3J0ICogYXMga21zIGZyb20gXCIuLi9lbmNyeXB0aW9uXCI7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcIi4uL2lhbVwiO1xuXG4vKipcbiAqIE91dHB1dHMgd2hpY2ggbWF5IGJlIHJlZ2lzdGVyZWQgZm9yIG91dHB1dCB2aWEgdGhlIEdyaWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9nR3JvdXBPdXRwdXRzIHtcbiAgLyoqXG4gICAqIFRoZSBhcm4gb2YgdGhpcyBsb2cgZ3JvdXBcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9nR3JvdXBBcm46IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoaXMgbG9nIGdyb3VwXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0dyb3VwTmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElMb2dHcm91cCBleHRlbmRzIGlhbS5JQXdzQ29uc3RydWN0V2l0aFBvbGljeSB7XG4gIC8qKiBTdHJvbmdseSB0eXBlZCBvdXRwdXRzICovXG4gIHJlYWRvbmx5IGxvZ0dyb3VwT3V0cHV0czogTG9nR3JvdXBPdXRwdXRzO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoaXMgbG9nIGdyb3VwLCB3aXRoICc6KicgYXBwZW5kZWRcbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9nR3JvdXBBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhpcyBsb2cgZ3JvdXBcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9nR3JvdXBOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBMb2cgU3RyZWFtIGZvciB0aGlzIExvZyBHcm91cFxuICAgKlxuICAgKiBAcGFyYW0gaWQgVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBjb25zdHJ1Y3QgaW4gaXRzIHBhcmVudFxuICAgKiBAcGFyYW0gcHJvcHMgUHJvcGVydGllcyBmb3IgY3JlYXRpbmcgdGhlIExvZ1N0cmVhbVxuICAgKi9cbiAgYWRkU3RyZWFtKGlkOiBzdHJpbmcsIHByb3BzPzogU3RyZWFtT3B0aW9ucyk6IExvZ1N0cmVhbTtcblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IFN1YnNjcmlwdGlvbiBGaWx0ZXIgb24gdGhpcyBMb2cgR3JvdXBcbiAgICpcbiAgICogQHBhcmFtIGlkIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgY29uc3RydWN0IGluIGl0cyBwYXJlbnRcbiAgICogQHBhcmFtIHByb3BzIFByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIHRoZSBTdWJzY3JpcHRpb25GaWx0ZXJcbiAgICovXG4gIGFkZFN1YnNjcmlwdGlvbkZpbHRlcihcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBTdWJzY3JpcHRpb25GaWx0ZXJPcHRpb25zLFxuICApOiBTdWJzY3JpcHRpb25GaWx0ZXI7XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBNZXRyaWMgRmlsdGVyIG9uIHRoaXMgTG9nIEdyb3VwXG4gICAqXG4gICAqIEBwYXJhbSBpZCBVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGNvbnN0cnVjdCBpbiBpdHMgcGFyZW50XG4gICAqIEBwYXJhbSBwcm9wcyBQcm9wZXJ0aWVzIGZvciBjcmVhdGluZyB0aGUgTWV0cmljRmlsdGVyXG4gICAqL1xuICBhZGRNZXRyaWNGaWx0ZXIoaWQ6IHN0cmluZywgcHJvcHM6IE1ldHJpY0ZpbHRlck9wdGlvbnMpOiBNZXRyaWNGaWx0ZXI7XG5cbiAgLyoqXG4gICAqIEV4dHJhY3QgYSBtZXRyaWMgZnJvbSBzdHJ1Y3R1cmVkIGxvZyBldmVudHMgaW4gdGhlIExvZ0dyb3VwXG4gICAqXG4gICAqIENyZWF0ZXMgYSBNZXRyaWNGaWx0ZXIgb24gdGhpcyBMb2dHcm91cCB0aGF0IHdpbGwgZXh0cmFjdCB0aGUgdmFsdWVcbiAgICogb2YgdGhlIGluZGljYXRlZCBKU09OIGZpZWxkIGluIGFsbCByZWNvcmRzIHdoZXJlIGl0IG9jY3Vycy5cbiAgICpcbiAgICogVGhlIG1ldHJpYyB3aWxsIGJlIGF2YWlsYWJsZSBpbiBDbG91ZFdhdGNoIE1ldHJpY3MgdW5kZXIgdGhlXG4gICAqIGluZGljYXRlZCBuYW1lc3BhY2UgYW5kIG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBqc29uRmllbGQgSlNPTiBmaWVsZCB0byBleHRyYWN0IChleGFtcGxlOiAnJC5teWZpZWxkJylcbiAgICogQHBhcmFtIG1ldHJpY05hbWVzcGFjZSBOYW1lc3BhY2UgdG8gZW1pdCB0aGUgbWV0cmljIHVuZGVyXG4gICAqIEBwYXJhbSBtZXRyaWNOYW1lIE5hbWUgdG8gZW1pdCB0aGUgbWV0cmljIHVuZGVyXG4gICAqIEByZXR1cm5zIEEgTWV0cmljIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGV4dHJhY3RlZCBtZXRyaWNcbiAgICovXG4gIGV4dHJhY3RNZXRyaWMoXG4gICAganNvbkZpZWxkOiBzdHJpbmcsXG4gICAgbWV0cmljTmFtZXNwYWNlOiBzdHJpbmcsXG4gICAgbWV0cmljTmFtZTogc3RyaW5nLFxuICApOiBNZXRyaWM7XG5cbiAgLyoqXG4gICAqIEdpdmUgcGVybWlzc2lvbnMgdG8gd3JpdGUgdG8gY3JlYXRlIGFuZCB3cml0ZSB0byBzdHJlYW1zIGluIHRoaXMgbG9nIGdyb3VwXG4gICAqL1xuICBncmFudFdyaXRlKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50O1xuXG4gIC8qKlxuICAgKiBHaXZlIHBlcm1pc3Npb25zIHRvIHJlYWQgZnJvbSB0aGlzIGxvZyBncm91cCBhbmQgc3RyZWFtc1xuICAgKi9cbiAgZ3JhbnRSZWFkKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50O1xuXG4gIC8qKlxuICAgKiBHaXZlIHRoZSBpbmRpY2F0ZWQgcGVybWlzc2lvbnMgb24gdGhpcyBsb2cgZ3JvdXAgYW5kIGFsbCBzdHJlYW1zXG4gICAqL1xuICBncmFudChncmFudGVlOiBpYW0uSUdyYW50YWJsZSwgLi4uYWN0aW9uczogc3RyaW5nW10pOiBpYW0uR3JhbnQ7XG5cbiAgLyoqXG4gICAqIFB1YmxpYyBtZXRob2QgdG8gZ2V0IHRoZSBwaHlzaWNhbCBuYW1lIG9mIHRoaXMgbG9nIGdyb3VwXG4gICAqL1xuICBsb2dHcm91cFBoeXNpY2FsTmFtZSgpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgZ2l2ZW4gbmFtZWQgbWV0cmljIGZvciB0aGlzIExvZyBHcm91cFxuICAgKlxuICAgKiBAcGFyYW0gbWV0cmljTmFtZSBUaGUgbmFtZSBvZiB0aGUgbWV0cmljXG4gICAqIEBwYXJhbSBwcm9wcyBQcm9wZXJ0aWVzIGZvciB0aGUgbWV0cmljXG4gICAqL1xuICBtZXRyaWMobWV0cmljTmFtZTogc3RyaW5nLCBwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWM7XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgbG9nIGV2ZW50cyB1cGxvYWRlZCB0byBDbG91ZFdhdGNoIExvZ3MuXG4gICAqIFdoZW4gdXNlZCB3aXRoIHRoZSBMb2dHcm91cE5hbWUgZGltZW5zaW9uLCB0aGlzIGlzIHRoZSBudW1iZXIgb2ZcbiAgICogbG9nIGV2ZW50cyB1cGxvYWRlZCB0byB0aGUgbG9nIGdyb3VwLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgUHJvcGVydGllcyBmb3IgdGhlIENsb3Vkd2F0Y2ggbWV0cmljXG4gICAqL1xuICBtZXRyaWNJbmNvbWluZ0xvZ0V2ZW50cyhwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWM7XG5cbiAgLyoqXG4gICAqIFRoZSB2b2x1bWUgb2YgbG9nIGV2ZW50cyBpbiB1bmNvbXByZXNzZWQgYnl0ZXMgdXBsb2FkZWQgdG8gQ2xvdWRXYXRjaCBMb2dzLlxuICAgKiBXaGVuIHVzZWQgd2l0aCB0aGUgTG9nR3JvdXBOYW1lIGRpbWVuc2lvbiwgdGhpcyBpcyB0aGUgdm9sdW1lIG9mIGxvZyBldmVudHNcbiAgICogaW4gdW5jb21wcmVzc2VkIGJ5dGVzIHVwbG9hZGVkIHRvIHRoZSBsb2cgZ3JvdXAuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyBQcm9wZXJ0aWVzIGZvciB0aGUgQ2xvdWR3YXRjaCBtZXRyaWNcbiAgICovXG4gIG1ldHJpY0luY29taW5nQnl0ZXMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xufVxuXG4vKipcbiAqIEFuIENsb3VkV2F0Y2ggTG9nIEdyb3VwXG4gKi9cbmFic3RyYWN0IGNsYXNzIExvZ0dyb3VwQmFzZSBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJTG9nR3JvdXAge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGlzIGxvZyBncm91cCwgd2l0aCAnOionIGFwcGVuZGVkXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgbG9nR3JvdXBBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhpcyBsb2cgZ3JvdXBcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBsb2dHcm91cE5hbWU6IHN0cmluZztcblxuICBwdWJsaWMgZ2V0IGxvZ0dyb3VwT3V0cHV0cygpOiBMb2dHcm91cE91dHB1dHMge1xuICAgIHJldHVybiB7XG4gICAgICBsb2dHcm91cEFybjogdGhpcy5sb2dHcm91cEFybixcbiAgICAgIGxvZ0dyb3VwTmFtZTogdGhpcy5sb2dHcm91cE5hbWUsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHRoaXMubG9nR3JvdXBPdXRwdXRzO1xuICB9XG5cbiAgcHJpdmF0ZSBwb2xpY3k/OiBSZXNvdXJjZVBvbGljeTtcblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IExvZyBTdHJlYW0gZm9yIHRoaXMgTG9nIEdyb3VwXG4gICAqXG4gICAqIEBwYXJhbSBpZCBVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGNvbnN0cnVjdCBpbiBpdHMgcGFyZW50XG4gICAqIEBwYXJhbSBwcm9wcyBQcm9wZXJ0aWVzIGZvciBjcmVhdGluZyB0aGUgTG9nU3RyZWFtXG4gICAqL1xuICBwdWJsaWMgYWRkU3RyZWFtKGlkOiBzdHJpbmcsIHByb3BzOiBTdHJlYW1PcHRpb25zID0ge30pOiBMb2dTdHJlYW0ge1xuICAgIHJldHVybiBuZXcgTG9nU3RyZWFtKHRoaXMsIGlkLCB7XG4gICAgICBsb2dHcm91cDogdGhpcyxcbiAgICAgIC4uLnByb3BzLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBTdWJzY3JpcHRpb24gRmlsdGVyIG9uIHRoaXMgTG9nIEdyb3VwXG4gICAqXG4gICAqIEBwYXJhbSBpZCBVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGNvbnN0cnVjdCBpbiBpdHMgcGFyZW50XG4gICAqIEBwYXJhbSBwcm9wcyBQcm9wZXJ0aWVzIGZvciBjcmVhdGluZyB0aGUgU3Vic2NyaXB0aW9uRmlsdGVyXG4gICAqL1xuICBwdWJsaWMgYWRkU3Vic2NyaXB0aW9uRmlsdGVyKFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IFN1YnNjcmlwdGlvbkZpbHRlck9wdGlvbnMsXG4gICk6IFN1YnNjcmlwdGlvbkZpbHRlciB7XG4gICAgcmV0dXJuIG5ldyBTdWJzY3JpcHRpb25GaWx0ZXIodGhpcywgaWQsIHtcbiAgICAgIGxvZ0dyb3VwOiB0aGlzLFxuICAgICAgLi4ucHJvcHMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IE1ldHJpYyBGaWx0ZXIgb24gdGhpcyBMb2cgR3JvdXBcbiAgICpcbiAgICogQHBhcmFtIGlkIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgY29uc3RydWN0IGluIGl0cyBwYXJlbnRcbiAgICogQHBhcmFtIHByb3BzIFByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIHRoZSBNZXRyaWNGaWx0ZXJcbiAgICovXG4gIHB1YmxpYyBhZGRNZXRyaWNGaWx0ZXIoaWQ6IHN0cmluZywgcHJvcHM6IE1ldHJpY0ZpbHRlck9wdGlvbnMpOiBNZXRyaWNGaWx0ZXIge1xuICAgIHJldHVybiBuZXcgTWV0cmljRmlsdGVyKHRoaXMsIGlkLCB7XG4gICAgICBsb2dHcm91cDogdGhpcyxcbiAgICAgIC4uLnByb3BzLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4dHJhY3QgYSBtZXRyaWMgZnJvbSBzdHJ1Y3R1cmVkIGxvZyBldmVudHMgaW4gdGhlIExvZ0dyb3VwXG4gICAqXG4gICAqIENyZWF0ZXMgYSBNZXRyaWNGaWx0ZXIgb24gdGhpcyBMb2dHcm91cCB0aGF0IHdpbGwgZXh0cmFjdCB0aGUgdmFsdWVcbiAgICogb2YgdGhlIGluZGljYXRlZCBKU09OIGZpZWxkIGluIGFsbCByZWNvcmRzIHdoZXJlIGl0IG9jY3Vycy5cbiAgICpcbiAgICogVGhlIG1ldHJpYyB3aWxsIGJlIGF2YWlsYWJsZSBpbiBDbG91ZFdhdGNoIE1ldHJpY3MgdW5kZXIgdGhlXG4gICAqIGluZGljYXRlZCBuYW1lc3BhY2UgYW5kIG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBqc29uRmllbGQgSlNPTiBmaWVsZCB0byBleHRyYWN0IChleGFtcGxlOiAnJC5teWZpZWxkJylcbiAgICogQHBhcmFtIG1ldHJpY05hbWVzcGFjZSBOYW1lc3BhY2UgdG8gZW1pdCB0aGUgbWV0cmljIHVuZGVyXG4gICAqIEBwYXJhbSBtZXRyaWNOYW1lIE5hbWUgdG8gZW1pdCB0aGUgbWV0cmljIHVuZGVyXG4gICAqIEByZXR1cm5zIEEgTWV0cmljIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGV4dHJhY3RlZCBtZXRyaWNcbiAgICovXG4gIHB1YmxpYyBleHRyYWN0TWV0cmljKFxuICAgIGpzb25GaWVsZDogc3RyaW5nLFxuICAgIG1ldHJpY05hbWVzcGFjZTogc3RyaW5nLFxuICAgIG1ldHJpY05hbWU6IHN0cmluZyxcbiAgKSB7XG4gICAgbmV3IE1ldHJpY0ZpbHRlcih0aGlzLCBgJHttZXRyaWNOYW1lc3BhY2V9XyR7bWV0cmljTmFtZX1gLCB7XG4gICAgICBsb2dHcm91cDogdGhpcyxcbiAgICAgIG1ldHJpY05hbWVzcGFjZSxcbiAgICAgIG1ldHJpY05hbWUsXG4gICAgICBmaWx0ZXJQYXR0ZXJuOiBGaWx0ZXJQYXR0ZXJuLmV4aXN0cyhqc29uRmllbGQpLFxuICAgICAgbWV0cmljVmFsdWU6IGpzb25GaWVsZCxcbiAgICB9KTtcblxuICAgIHJldHVybiBuZXcgTWV0cmljKHtcbiAgICAgIG1ldHJpY05hbWUsXG4gICAgICBuYW1lc3BhY2U6IG1ldHJpY05hbWVzcGFjZSxcbiAgICB9KS5hdHRhY2hUbyh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHaXZlIHBlcm1pc3Npb25zIHRvIGNyZWF0ZSBhbmQgd3JpdGUgdG8gc3RyZWFtcyBpbiB0aGlzIGxvZyBncm91cFxuICAgKi9cbiAgcHVibGljIGdyYW50V3JpdGUoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpIHtcbiAgICByZXR1cm4gdGhpcy5ncmFudChncmFudGVlLCBcImxvZ3M6Q3JlYXRlTG9nU3RyZWFtXCIsIFwibG9nczpQdXRMb2dFdmVudHNcIik7XG4gIH1cblxuICAvKipcbiAgICogR2l2ZSBwZXJtaXNzaW9ucyB0byByZWFkIGFuZCBmaWx0ZXIgZXZlbnRzIGZyb20gdGhpcyBsb2cgZ3JvdXBcbiAgICovXG4gIHB1YmxpYyBncmFudFJlYWQoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpIHtcbiAgICByZXR1cm4gdGhpcy5ncmFudChcbiAgICAgIGdyYW50ZWUsXG4gICAgICBcImxvZ3M6RmlsdGVyTG9nRXZlbnRzXCIsXG4gICAgICBcImxvZ3M6R2V0TG9nRXZlbnRzXCIsXG4gICAgICBcImxvZ3M6R2V0TG9nR3JvdXBGaWVsZHNcIixcbiAgICAgIFwibG9nczpEZXNjcmliZUxvZ0dyb3Vwc1wiLFxuICAgICAgXCJsb2dzOkRlc2NyaWJlTG9nU3RyZWFtc1wiLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2l2ZSB0aGUgaW5kaWNhdGVkIHBlcm1pc3Npb25zIG9uIHRoaXMgbG9nIGdyb3VwIGFuZCBhbGwgc3RyZWFtc1xuICAgKi9cbiAgcHVibGljIGdyYW50KGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlLCAuLi5hY3Rpb25zOiBzdHJpbmdbXSkge1xuICAgIHJldHVybiBpYW0uR3JhbnQuYWRkVG9QcmluY2lwYWxPclJlc291cmNlKHtcbiAgICAgIGdyYW50ZWUsXG4gICAgICBhY3Rpb25zLFxuICAgICAgLy8gQSBMb2dHcm91cCBBUk4gb3V0IG9mIENsb3VkRm9ybWF0aW9uIGFscmVhZHkgaW5jbHVkZXMgYSAnOionIGF0IHRoZSBlbmQgdG8gaW5jbHVkZSB0aGUgbG9nIHN0cmVhbXMgdW5kZXIgdGhlIGdyb3VwLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1sb2dzLWxvZ2dyb3VwLmh0bWwjdzJhYjFjMjFjMTBjNjNjNDNjMTFcbiAgICAgIHJlc291cmNlQXJuczogW3RoaXMubG9nR3JvdXBBcm5dLFxuICAgICAgcmVzb3VyY2U6IHRoaXMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUHVibGljIG1ldGhvZCB0byBnZXQgdGhlIHBoeXNpY2FsIG5hbWUgb2YgdGhpcyBsb2cgZ3JvdXBcbiAgICogQHJldHVybnMgUGh5c2ljYWwgbmFtZSBvZiBsb2cgZ3JvdXBcbiAgICovXG4gIHB1YmxpYyBsb2dHcm91cFBoeXNpY2FsTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmxvZ0dyb3VwTmFtZTtcbiAgfVxuICAvKipcbiAgICogQWRkcyBhIHN0YXRlbWVudCB0byB0aGUgcmVzb3VyY2UgcG9saWN5IGFzc29jaWF0ZWQgd2l0aCB0aGlzIGxvZyBncm91cC5cbiAgICogQSByZXNvdXJjZSBwb2xpY3kgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgdXBvbiB0aGUgZmlyc3QgY2FsbCB0byBgYWRkVG9SZXNvdXJjZVBvbGljeWAuXG4gICAqXG4gICAqIEFueSBBUk4gUHJpbmNpcGFscyBpbnNpZGUgb2YgdGhlIHN0YXRlbWVudCB3aWxsIGJlIGNvbnZlcnRlZCBpbnRvIEFXUyBBY2NvdW50IElEIHN0cmluZ3NcbiAgICogYmVjYXVzZSBDbG91ZFdhdGNoIExvZ3MgUmVzb3VyY2UgUG9saWNpZXMgZG8gbm90IGFjY2VwdCBBUk4gcHJpbmNpcGFscy5cbiAgICpcbiAgICogQHBhcmFtIHN0YXRlbWVudCBUaGUgcG9saWN5IHN0YXRlbWVudCB0byBhZGRcbiAgICovXG4gIHB1YmxpYyBhZGRUb1Jlc291cmNlUG9saWN5KFxuICAgIHN0YXRlbWVudDogaWFtLlBvbGljeVN0YXRlbWVudCxcbiAgKTogaWFtLkFkZFRvUmVzb3VyY2VQb2xpY3lSZXN1bHQge1xuICAgIGlmICghdGhpcy5wb2xpY3kpIHtcbiAgICAgIHRoaXMucG9saWN5ID0gbmV3IFJlc291cmNlUG9saWN5KHRoaXMsIFwiUG9saWN5XCIpO1xuICAgIH1cbiAgICB0aGlzLnBvbGljeS5kb2N1bWVudC5hZGRTdGF0ZW1lbnRzKFxuICAgICAgc3RhdGVtZW50LmNvcHkoe1xuICAgICAgICBwcmluY2lwYWxzOiBzdGF0ZW1lbnQucHJpbmNpcGFscy5tYXAoKHApID0+XG4gICAgICAgICAgdGhpcy5jb252ZXJ0QXJuUHJpbmNpcGFsVG9BY2NvdW50SWQocCksXG4gICAgICAgICksXG4gICAgICB9KSxcbiAgICApO1xuICAgIHJldHVybiB7IHN0YXRlbWVudEFkZGVkOiB0cnVlLCBwb2xpY3lEZXBlbmRhYmxlOiB0aGlzLnBvbGljeSB9O1xuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0QXJuUHJpbmNpcGFsVG9BY2NvdW50SWQocHJpbmNpcGFsOiBpYW0uSVByaW5jaXBhbCkge1xuICAgIGlmIChwcmluY2lwYWwucHJpbmNpcGFsQWNjb3VudCkge1xuICAgICAgLy8gd2UgdXNlIEFyblByaW5jaXBhbCBoZXJlIGJlY2F1c2UgdGhlIGNvbnN0cnVjdG9yIGluc2VydHMgdGhlIGFyZ3VtZW50XG4gICAgICAvLyBpbnRvIHRoZSB0ZW1wbGF0ZSB3aXRob3V0IG11dGF0aW5nIGl0LCB3aGljaCBtZWFucyB0aGF0IHRoZXJlIGlzIG5vXG4gICAgICAvLyBBUk4gY3JlYXRlZCBieSB0aGlzIGNhbGwuXG4gICAgICByZXR1cm4gbmV3IGlhbS5Bcm5QcmluY2lwYWwocHJpbmNpcGFsLnByaW5jaXBhbEFjY291bnQpO1xuICAgIH1cblxuICAgIGlmIChwcmluY2lwYWwgaW5zdGFuY2VvZiBpYW0uQXJuUHJpbmNpcGFsICYmIHByaW5jaXBhbC5hcm4gIT09IFwiKlwiKSB7XG4gICAgICBjb25zdCBwYXJzZWRBcm4gPSBBcm4uc3BsaXQocHJpbmNpcGFsLmFybiwgQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUpO1xuICAgICAgaWYgKHBhcnNlZEFybi5hY2NvdW50KSB7XG4gICAgICAgIHJldHVybiBuZXcgaWFtLkFyblByaW5jaXBhbChwYXJzZWRBcm4uYWNjb3VudCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHByaW5jaXBhbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgQ2xvdWRXYXRjaCBtZXRyaWMgZm9yIHRoZSBudW1iZXIgb2YgaW5jb21pbmcgbG9nIGV2ZW50cyB0byB0aGlzIGxvZyBncm91cC5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIC0gT3B0aW9uYWwuIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIG1ldHJpYy5cbiAgICogQHJldHVybnMgQSBDbG91ZFdhdGNoIE1ldHJpYyBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBJbmNvbWluZ0xvZ0V2ZW50cyBtZXRyaWMuXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kIGFsbG93cyB5b3UgdG8gbW9uaXRvciB0aGUgcmF0ZSBhdCB3aGljaCBsb2cgZXZlbnRzIGFyZSBiZWluZyBpbmdlc3RlZFxuICAgKiBpbnRvIHRoZSBsb2cgZ3JvdXAuIEl0J3MgdXNlZnVsIGZvciB1bmRlcnN0YW5kaW5nIHRoZSB2b2x1bWUgb2YgbG9nZ2luZyBhY3Rpdml0eVxuICAgKiBhbmQgY2FuIGhlbHAgaW4gY2FwYWNpdHkgcGxhbm5pbmcgb3IgZGV0ZWN0aW5nIHVudXN1YWwgc3Bpa2VzIGluIGxvZ2dpbmcuXG4gICAqXG4gICAqIEV4YW1wbGUgdXNhZ2U6XG4gICAqIGBgYFxuICAgKiBjb25zdCBsb2dHcm91cCA9IG5ldyBsb2dzLkxvZ0dyb3VwKHRoaXMsICdNeUxvZ0dyb3VwJyk7XG4gICAqIGxvZ0dyb3VwLm1ldHJpY0luY29taW5nTG9nRXZlbnRzKCkuY3JlYXRlQWxhcm0oc3RhY2ssICdJbmNvbWluZ0V2ZW50c1Blckluc3RhbmNlQWxhcm0nLCB7XG4gICAqIHRocmVzaG9sZDogMSxcbiAgICogZXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAqIH0pO1xuICAgKiBgYGBcbiAgICovXG4gIHB1YmxpYyBtZXRyaWNJbmNvbWluZ0xvZ0V2ZW50cyhwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLm1ldHJpYyhcIkluY29taW5nTG9nc1wiLCBwcm9wcyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIENsb3VkV2F0Y2ggbWV0cmljIGZvciB0aGUgdm9sdW1lIG9mIGluY29taW5nIGxvZyBkYXRhIGluIGJ5dGVzIHRvIHRoaXMgbG9nIGdyb3VwLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgLSBPcHRpb25hbC4gQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgbWV0cmljLlxuICAgKiBAcmV0dXJucyBBIENsb3VkV2F0Y2ggTWV0cmljIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIEluY29taW5nQnl0ZXMgbWV0cmljLlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBhbGxvd3MgeW91IHRvIG1vbml0b3IgdGhlIHZvbHVtZSBvZiBkYXRhIGJlaW5nIGluZ2VzdGVkIGludG8gdGhlIGxvZyBncm91cC5cbiAgICogSXQncyB1c2VmdWwgZm9yIHVuZGVyc3RhbmRpbmcgdGhlIHNpemUgb2YgeW91ciBsb2dzLCB3aGljaCBjYW4gaW1wYWN0IHN0b3JhZ2UgY29zdHNcbiAgICogYW5kIGhlbHAgaW4gaWRlbnRpZnlpbmcgdW5leHBlY3RlZGx5IGxhcmdlIGxvZyBlbnRyaWVzLlxuICAgKlxuICAgKiBFeGFtcGxlIHVzYWdlOlxuICAgKiBgYGBcbiAgICogY29uc3QgbG9nR3JvdXAgPSBuZXcgbG9ncy5Mb2dHcm91cCh0aGlzLCAnTXlMb2dHcm91cCcpO1xuICAgKiBsb2dHcm91cC5tZXRyaWNJbmNvbWluZ0J5dGVzKCkuY3JlYXRlQWxhcm0oc3RhY2ssICdJbmNvbWluZ0J5dGVzUGVySW5zdGFuY2VBbGFybScsIHtcbiAgICogICB0aHJlc2hvbGQ6IDEsXG4gICAqICAgZXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAqIH0pO1xuICAgKiBgYGBcbiAgICovXG4gIHB1YmxpYyBtZXRyaWNJbmNvbWluZ0J5dGVzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKFwiSW5jb21pbmdCeXRlc1wiLCBwcm9wcyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIENsb3VkV2F0Y2ggbWV0cmljIGZvciB0aGlzIGxvZyBncm91cC5cbiAgICpcbiAgICogQHBhcmFtIG1ldHJpY05hbWUgLSBUaGUgbmFtZSBvZiB0aGUgbWV0cmljIHRvIGNyZWF0ZS5cbiAgICogQHBhcmFtIHByb3BzIC0gT3B0aW9uYWwuIEFkZGl0aW9uYWwgcHJvcGVydGllcyB0byBjb25maWd1cmUgdGhlIG1ldHJpYy5cbiAgICogQHJldHVybnMgQSBDbG91ZFdhdGNoIE1ldHJpYyBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBzcGVjaWZpZWQgbWV0cmljIGZvciB0aGlzIGxvZyBncm91cC5cbiAgICpcbiAgICogVGhpcyBtZXRob2QgY3JlYXRlcyBhIENsb3VkV2F0Y2ggTWV0cmljIG9iamVjdCB3aXRoIHByZWRlZmluZWQgc2V0dGluZ3MgZm9yIHRoZSBsb2cgZ3JvdXAuXG4gICAqIEl0IHNldHMgdGhlIG5hbWVzcGFjZSB0byAnQVdTL0xvZ3MnIGFuZCB0aGUgc3RhdGlzdGljIHRvICdTdW0nIGJ5IGRlZmF1bHQuXG4gICAqXG4gICAqIFRoZSBjcmVhdGVkIG1ldHJpYyBpcyBhdXRvbWF0aWNhbGx5IGFzc29jaWF0ZWQgd2l0aCB0aGlzIGxvZyBncm91cCB1c2luZyB0aGUgYGF0dGFjaFRvYCBtZXRob2QuXG4gICAqXG4gICAqIENvbW1vbiBtZXRyaWMgbmFtZXMgZm9yIGxvZyBncm91cHMgaW5jbHVkZTpcbiAgICogLSAnSW5jb21pbmdCeXRlcyc6IFRoZSB2b2x1bWUgb2YgbG9nIGRhdGEgaW4gYnl0ZXMgaW5nZXN0ZWQgaW50byB0aGUgbG9nIGdyb3VwLlxuICAgKiAtICdJbmNvbWluZ0xvZ0V2ZW50cyc6IFRoZSBudW1iZXIgb2YgbG9nIGV2ZW50cyBpbmdlc3RlZCBpbnRvIHRoZSBsb2cgZ3JvdXAuXG4gICAqIGBgYFxuICAgKi9cbiAgcHVibGljIG1ldHJpYyhtZXRyaWNOYW1lOiBzdHJpbmcsIHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIG5ldyBNZXRyaWMoe1xuICAgICAgbmFtZXNwYWNlOiBcIkFXUy9Mb2dzXCIsXG4gICAgICBtZXRyaWNOYW1lLFxuICAgICAgc3RhdGlzdGljOiBcIlN1bVwiLFxuICAgICAgLi4ucHJvcHMsXG4gICAgfSkuYXR0YWNoVG8odGhpcyk7XG4gIH1cbn1cblxuLyoqXG4gKiBDbGFzcyBvZiBMb2cgR3JvdXAuXG4gKi9cbmV4cG9ydCBlbnVtIExvZ0dyb3VwQ2xhc3Mge1xuICAvKipcbiAgICogRGVmYXVsdCBjbGFzcyBvZiBsb2dzIHNlcnZpY2VzXG4gICAqL1xuICBTVEFOREFSRCA9IFwiU1RBTkRBUkRcIixcblxuICAvKipcbiAgICogQ2xhc3MgZm9yIHJlZHVjZWQgbG9ncyBzZXJ2aWNlc1xuICAgKi9cbiAgSU5GUkVRVUVOVF9BQ0NFU1MgPSBcIklORlJFUVVFTlRfQUNDRVNTXCIsXG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYSBMb2dHcm91cFxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvZ0dyb3VwUHJvcHMgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgS01TIGN1c3RvbWVyIG1hbmFnZWQga2V5IHRvIGVuY3J5cHQgdGhlIGxvZyBncm91cCB3aXRoLlxuICAgKlxuICAgKiBAZGVmYXVsdCBTZXJ2ZXItc2lkZSBlbmNyeXB0aW9uIG1hbmFnZWQgYnkgdGhlIENsb3VkV2F0Y2ggTG9ncyBzZXJ2aWNlXG4gICAqL1xuICByZWFkb25seSBlbmNyeXB0aW9uS2V5Pzoga21zLklLZXk7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGxvZyBncm91cC5cbiAgICpcbiAgICogQGRlZmF1bHQgQXV0b21hdGljYWxseSBnZW5lcmF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0dyb3VwTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogRGF0YSBQcm90ZWN0aW9uIFBvbGljeSBmb3IgdGhpcyBsb2cgZ3JvdXAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZGF0YSBwcm90ZWN0aW9uIHBvbGljeVxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YVByb3RlY3Rpb25Qb2xpY3k/OiBEYXRhUHJvdGVjdGlvblBvbGljeTtcblxuICAvKipcbiAgICogSG93IGxvbmcsIGluIGRheXMsIHRoZSBsb2cgY29udGVudHMgd2lsbCBiZSByZXRhaW5lZC5cbiAgICpcbiAgICogVG8gcmV0YWluIGFsbCBsb2dzLCBzZXQgdGhpcyB2YWx1ZSB0byBSZXRlbnRpb25EYXlzLklORklOSVRFLlxuICAgKlxuICAgKiBAZGVmYXVsdCBSZXRlbnRpb25EYXlzLlRXT19ZRUFSU1xuICAgKi9cbiAgcmVhZG9ubHkgcmV0ZW50aW9uPzogUmV0ZW50aW9uRGF5cztcblxuICAvKipcbiAgICogU2V0IHRvIHRydWUgaWYgeW91IGRvIG5vdCB3aXNoIHRoZSBsb2cgZ3JvdXAgKGFuZCBhbnkgbG9ncyBpdCBtYXkgY29udGFpbikgdG8gYmUgZGVsZXRlZCBhdCBkZXN0cm95IHRpbWUsIGFuZCBpbnN0ZWFkIGp1c3QgcmVtb3ZlIHRoZSBsb2cgZ3JvdXAgZnJvbSB0aGUgVGVycmFmb3JtIHN0YXRlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZSAtIHVubGVzcyBgcmV0ZW50aW9uYCBpcyBzZXQgdG8gUmV0ZW50aW9uRGF5cy5JTkZJTklURSwgaW4gd2hpY2ggY2FzZSB0aGlzIGlzIHNldCB0byB0cnVlXG4gICAqL1xuICByZWFkb25seSBza2lwRGVzdHJveT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBjbGFzcyBvZiB0aGUgbG9nIGdyb3VwLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOiBTVEFOREFSRCBhbmQgSU5GUkVRVUVOVF9BQ0NFU1MuXG4gICAqXG4gICAqIElORlJFUVVFTlRfQUNDRVNTIGNsYXNzIHByb3ZpZGVzIGN1c3RvbWVycyBhIGNvc3QtZWZmZWN0aXZlIHdheSB0byBjb25zb2xpZGF0ZVxuICAgKiBsb2dzIHdoaWNoIHN1cHBvcnRzIHF1ZXJ5aW5nIHVzaW5nIExvZ3MgSW5zaWdodHMuIFRoZSBsb2dHcm91cENsYXNzIHByb3BlcnR5IGNhbm5vdFxuICAgKiBiZSBjaGFuZ2VkIG9uY2UgdGhlIGxvZyBncm91cCBpcyBjcmVhdGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBMb2dHcm91cENsYXNzLlNUQU5EQVJEXG4gICAqL1xuICByZWFkb25seSBsb2dHcm91cENsYXNzPzogTG9nR3JvdXBDbGFzcztcbn1cblxuLyoqXG4gKiBUaGUgbWV0aG9kIHVzZWQgdG8gZGlzdHJpYnV0ZSBsb2cgZGF0YSB0byB0aGUgZGVzdGluYXRpb24uXG4gKi9cbmV4cG9ydCBlbnVtIERpc3RyaWJ1dGlvbiB7XG4gIC8qKlxuICAgKiBMb2cgZXZlbnRzIGZyb20gdGhlIHNhbWUgbG9nIHN0cmVhbSBhcmUga2VwdCB0b2dldGhlciBhbmQgc2VudCB0byB0aGUgc2FtZSBkZXN0aW5hdGlvbi5cbiAgICovXG4gIEJZX0xPR19TVFJFQU0gPSBcIkJ5TG9nU3RyZWFtXCIsXG5cbiAgLyoqXG4gICAqIExvZyBldmVudHMgYXJlIGRpc3RyaWJ1dGVkIGFjcm9zcyB0aGUgbG9nIGRlc3RpbmF0aW9ucyByYW5kb21seS5cbiAgICovXG4gIFJBTkRPTSA9IFwiUmFuZG9tXCIsXG59XG5cbi8qKlxuICogRGVmaW5lIGEgQ2xvdWRXYXRjaCBMb2cgR3JvdXBcbiAqL1xuZXhwb3J0IGNsYXNzIExvZ0dyb3VwIGV4dGVuZHMgTG9nR3JvdXBCYXNlIHtcbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyBMb2dHcm91cCBnaXZlbiBpdHMgQVJOXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Mb2dHcm91cEFybihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgbG9nR3JvdXBBcm46IHN0cmluZyxcbiAgKTogSUxvZ0dyb3VwIHtcbiAgICBjb25zdCBiYXNlTG9nR3JvdXBBcm4gPSBsb2dHcm91cEFybi5yZXBsYWNlKC86XFwqJC8sIFwiXCIpO1xuXG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgTG9nR3JvdXBCYXNlIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSBsb2dHcm91cEFybiA9IGAke2Jhc2VMb2dHcm91cEFybn06KmA7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgbG9nR3JvdXBOYW1lID0gQXdzU3RhY2sub2ZBd3NDb25zdHJ1Y3Qoc2NvcGUpLnNwbGl0QXJuKFxuICAgICAgICBiYXNlTG9nR3JvdXBBcm4sXG4gICAgICAgIEFybkZvcm1hdC5DT0xPTl9SRVNPVVJDRV9OQU1FLFxuICAgICAgKS5yZXNvdXJjZU5hbWUhO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCwge1xuICAgICAgZW52aXJvbm1lbnRGcm9tQXJuOiBiYXNlTG9nR3JvdXBBcm4sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIExvZ0dyb3VwIGdpdmVuIGl0cyBuYW1lXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Mb2dHcm91cE5hbWUoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGxvZ0dyb3VwTmFtZTogc3RyaW5nLFxuICApOiBJTG9nR3JvdXAge1xuICAgIGNvbnN0IGJhc2VMb2dHcm91cE5hbWUgPSBsb2dHcm91cE5hbWUucmVwbGFjZSgvOlxcKiQvLCBcIlwiKTtcblxuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIExvZ0dyb3VwQmFzZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgbG9nR3JvdXBOYW1lID0gYmFzZUxvZ0dyb3VwTmFtZTtcbiAgICAgIHB1YmxpYyByZWFkb25seSBsb2dHcm91cEFybiA9IEF3c1N0YWNrLm9mQXdzQ29uc3RydWN0KHNjb3BlKS5mb3JtYXRBcm4oe1xuICAgICAgICBzZXJ2aWNlOiBcImxvZ3NcIixcbiAgICAgICAgcmVzb3VyY2U6IFwibG9nLWdyb3VwXCIsXG4gICAgICAgIGFybkZvcm1hdDogQXJuRm9ybWF0LkNPTE9OX1JFU09VUkNFX05BTUUsXG4gICAgICAgIHJlc291cmNlTmFtZTogYmFzZUxvZ0dyb3VwTmFtZSArIFwiOipcIixcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgcmVzb3VyY2U6IGNsb3Vkd2F0Y2hMb2dHcm91cC5DbG91ZHdhdGNoTG9nR3JvdXA7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhpcyBsb2cgZ3JvdXBcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBsb2dHcm91cEFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGlzIGxvZyBncm91cFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGxvZ0dyb3VwTmFtZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBMb2dHcm91cFByb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcbiAgICBjb25zdCBuYW1lID1cbiAgICAgIHByb3BzLmxvZ0dyb3VwTmFtZSB8fFxuICAgICAgdGhpcy5zdGFjay51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywge1xuICAgICAgICBwcmVmaXg6IHRoaXMuZ3JpZFVVSUQsXG4gICAgICB9KTtcblxuICAgIGxldCByZXRlbnRpb25JbkRheXMgPSBwcm9wcy5yZXRlbnRpb247XG4gICAgbGV0IHNraXBEZXN0cm95ID0gcHJvcHMuc2tpcERlc3Ryb3k7XG4gICAgaWYgKHJldGVudGlvbkluRGF5cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXRlbnRpb25JbkRheXMgPSBSZXRlbnRpb25EYXlzLlRXT19ZRUFSUztcbiAgICB9XG4gICAgaWYgKFxuICAgICAgcmV0ZW50aW9uSW5EYXlzID09PSBJbmZpbml0eSB8fFxuICAgICAgcmV0ZW50aW9uSW5EYXlzID09PSBSZXRlbnRpb25EYXlzLklORklOSVRFXG4gICAgKSB7XG4gICAgICByZXRlbnRpb25JbkRheXMgPSB1bmRlZmluZWQ7XG4gICAgICBza2lwRGVzdHJveSA9IHByb3BzLnNraXBEZXN0cm95ID8/IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgcmV0ZW50aW9uSW5EYXlzICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICFUb2tlbi5pc1VucmVzb2x2ZWQocmV0ZW50aW9uSW5EYXlzKSAmJlxuICAgICAgcmV0ZW50aW9uSW5EYXlzIDw9IDBcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYHJldGVudGlvbkluRGF5cyBtdXN0IGJlIHBvc2l0aXZlLCBnb3QgJHtyZXRlbnRpb25JbkRheXN9YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgbG9nR3JvdXBDbGFzcyA9IHByb3BzLmxvZ0dyb3VwQ2xhc3M7XG5cbiAgICBjb25zdCBsb2dHcm91cENsYXNzVW5zdXBwb3J0ZWRSZWdpb25zID0gW1xuICAgICAgXCJ1cy1pc28td2VzdC0xXCIsIC8vIEFQQVxuICAgICAgXCJ1cy1pc28tZWFzdC0xXCIsIC8vIERDQVxuICAgICAgXCJ1cy1pc29iLWVhc3QtMVwiLCAvLyBMQ0tcbiAgICBdO1xuICAgIGlmIChcbiAgICAgIGxvZ0dyb3VwQ2xhc3MgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgIVRva2VuLmlzVW5yZXNvbHZlZCh0aGlzLnN0YWNrLnJlZ2lvbikgJiZcbiAgICAgIGxvZ0dyb3VwQ2xhc3NVbnN1cHBvcnRlZFJlZ2lvbnMuaW5jbHVkZXModGhpcy5zdGFjay5yZWdpb24pXG4gICAgKSB7XG4gICAgICAvLyBcIkBhd3MtY2RrL2F3cy1sb2dzOnByb3BlcnR5Tm90U3VwcG9ydGVkXCIsXG4gICAgICBBbm5vdGF0aW9ucy5vZih0aGlzKS5hZGRXYXJuaW5nKFxuICAgICAgICBgVGhlIExvZ0dyb3VwQ2xhc3MgcHJvcGVydHkgaXMgbm90IHN1cHBvcnRlZCBpbiB0aGUgZm9sbG93aW5nIHJlZ2lvbnM6ICR7bG9nR3JvdXBDbGFzc1Vuc3VwcG9ydGVkUmVnaW9uc31gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlc291cmNlID0gbmV3IGNsb3Vkd2F0Y2hMb2dHcm91cC5DbG91ZHdhdGNoTG9nR3JvdXAoXG4gICAgICB0aGlzLFxuICAgICAgXCJSZXNvdXJjZVwiLFxuICAgICAge1xuICAgICAgICBuYW1lLFxuICAgICAgICBsb2dHcm91cENsYXNzLFxuICAgICAgICByZXRlbnRpb25JbkRheXMsXG4gICAgICAgIHNraXBEZXN0cm95LFxuICAgICAgICBrbXNLZXlJZDogcHJvcHMuZW5jcnlwdGlvbktleT8ua2V5QXJuLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgLy8gaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9hd3MvNS44Mi4xL2RvY3MvcmVzb3VyY2VzL2Nsb3Vkd2F0Y2hfbG9nX2dyb3VwI2F0dHJpYnV0ZS1yZWZlcmVuY2VcbiAgICAvLyB0ZXJyYWZvcm0tcHJvdmlkZXItYXdzIGRyb3BzIHRoZSB0cmFpbGluZyAnOionIGZyb20gdGhlIEFSTiB3aGVuIHJldHVybmluZyBpdCBhcyBhbiBhdHRyaWJ1dGVcbiAgICB0aGlzLmxvZ0dyb3VwQXJuID0gYCR7dGhpcy5yZXNvdXJjZS5hcm59OipgO1xuICAgIHRoaXMubG9nR3JvdXBOYW1lID0gdGhpcy5yZXNvdXJjZS5uYW1lO1xuICAgIGlmIChwcm9wcy5kYXRhUHJvdGVjdGlvblBvbGljeSkge1xuICAgICAgcHJvcHMuZGF0YVByb3RlY3Rpb25Qb2xpY3k/Ll9iaW5kKHRoaXMpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgbmV3IExvZ1N0cmVhbSBjcmVhdGVkIGZyb20gYSBMb2dHcm91cFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0cmVhbU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGxvZyBzdHJlYW0gdG8gY3JlYXRlLlxuICAgKlxuICAgKiBUaGUgbmFtZSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGxvZyBncm91cC5cbiAgICpcbiAgICogQGRlZmF1bHQgQXV0b21hdGljYWxseSBnZW5lcmF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IGxvZ1N0cmVhbU5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYSBuZXcgU3Vic2NyaXB0aW9uRmlsdGVyIGNyZWF0ZWQgZnJvbSBhIExvZ0dyb3VwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uRmlsdGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgZGVzdGluYXRpb24gdG8gc2VuZCB0aGUgZmlsdGVyZWQgZXZlbnRzIHRvLlxuICAgKlxuICAgKiBGb3IgZXhhbXBsZSwgYSBLaW5lc2lzIHN0cmVhbSBvciBhIExhbWJkYSBmdW5jdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGRlc3RpbmF0aW9uOiBJTG9nU3Vic2NyaXB0aW9uRGVzdGluYXRpb247XG5cbiAgLyoqXG4gICAqIExvZyBldmVudHMgbWF0Y2hpbmcgdGhpcyBwYXR0ZXJuIHdpbGwgYmUgc2VudCB0byB0aGUgZGVzdGluYXRpb24uXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXJQYXR0ZXJuOiBJRmlsdGVyUGF0dGVybjtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHN1YnNjcmlwdGlvbiBmaWx0ZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXJOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbWV0aG9kIHVzZWQgdG8gZGlzdHJpYnV0ZSBsb2cgZGF0YSB0byB0aGUgZGVzdGluYXRpb24uXG4gICAqIFRoaXMgcHJvcGVydHkgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIEtpbmVzaXNEZXN0aW5hdGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgRGlzdHJpYnV0aW9uLkJZX0xPR19TVFJFQU1cbiAgICovXG4gIHJlYWRvbmx5IGRpc3RyaWJ1dGlvbj86IERpc3RyaWJ1dGlvbjtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhIE1ldHJpY0ZpbHRlciBjcmVhdGVkIGZyb20gYSBMb2dHcm91cFxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1ldHJpY0ZpbHRlck9wdGlvbnMge1xuICAvKipcbiAgICogUGF0dGVybiB0byBzZWFyY2ggZm9yIGxvZyBldmVudHMuXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXJQYXR0ZXJuOiBJRmlsdGVyUGF0dGVybjtcblxuICAvKipcbiAgICogVGhlIG5hbWVzcGFjZSBvZiB0aGUgbWV0cmljIHRvIGVtaXQuXG4gICAqL1xuICByZWFkb25seSBtZXRyaWNOYW1lc3BhY2U6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIG1ldHJpYyB0byBlbWl0LlxuICAgKi9cbiAgcmVhZG9ubHkgbWV0cmljTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgdG8gZW1pdCBmb3IgdGhlIG1ldHJpYy5cbiAgICpcbiAgICogQ2FuIGVpdGhlciBiZSBhIGxpdGVyYWwgbnVtYmVyICh0eXBpY2FsbHkgXCIxXCIpLCBvciB0aGUgbmFtZSBvZiBhIGZpZWxkIGluIHRoZSBzdHJ1Y3R1cmVcbiAgICogdG8gdGFrZSB0aGUgdmFsdWUgZnJvbSB0aGUgbWF0Y2hlZCBldmVudC4gSWYgeW91IGFyZSB1c2luZyBhIGZpZWxkIHZhbHVlLCB0aGUgZmllbGRcbiAgICogdmFsdWUgbXVzdCBoYXZlIGJlZW4gbWF0Y2hlZCB1c2luZyB0aGUgcGF0dGVybi5cbiAgICpcbiAgICogSWYgeW91IHdhbnQgdG8gc3BlY2lmeSBhIGZpZWxkIGZyb20gYSBtYXRjaGVkIEpTT04gc3RydWN0dXJlLCB1c2UgJyQuZmllbGROYW1lJyxcbiAgICogYW5kIG1ha2Ugc3VyZSB0aGUgZmllbGQgaXMgaW4gdGhlIHBhdHRlcm4gKGlmIG9ubHkgYXMgJyQuZmllbGROYW1lID0gKicpLlxuICAgKlxuICAgKiBJZiB5b3Ugd2FudCB0byBzcGVjaWZ5IGEgZmllbGQgZnJvbSBhIG1hdGNoZWQgc3BhY2UtZGVsaW1pdGVkIHN0cnVjdHVyZSxcbiAgICogdXNlICckZmllbGROYW1lJy5cbiAgICpcbiAgICogQGRlZmF1bHQgXCIxXCJcbiAgICovXG4gIHJlYWRvbmx5IG1ldHJpY1ZhbHVlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgdG8gZW1pdCBpZiB0aGUgcGF0dGVybiBkb2VzIG5vdCBtYXRjaCBhIHBhcnRpY3VsYXIgZXZlbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IE5vIG1ldHJpYyBlbWl0dGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFZhbHVlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgZmllbGRzIHRvIHVzZSBhcyBkaW1lbnNpb25zIGZvciB0aGUgbWV0cmljLiBPbmUgbWV0cmljIGZpbHRlciBjYW4gaW5jbHVkZSBhcyBtYW55IGFzIHRocmVlIGRpbWVuc2lvbnMuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXByb3BlcnRpZXMtbG9ncy1tZXRyaWNmaWx0ZXItbWV0cmljdHJhbnNmb3JtYXRpb24uaHRtbCNjZm4tbG9ncy1tZXRyaWNmaWx0ZXItbWV0cmljdHJhbnNmb3JtYXRpb24tZGltZW5zaW9uc1xuICAgKiBAZGVmYXVsdCAtIE5vIGRpbWVuc2lvbnMgYXR0YWNoZWQgdG8gbWV0cmljcy5cbiAgICovXG4gIHJlYWRvbmx5IGRpbWVuc2lvbnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBUaGUgdW5pdCB0byBhc3NpZ24gdG8gdGhlIG1ldHJpYy5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1sb2dzLW1ldHJpY2ZpbHRlci1tZXRyaWN0cmFuc2Zvcm1hdGlvbi5odG1sI2Nmbi1sb2dzLW1ldHJpY2ZpbHRlci1tZXRyaWN0cmFuc2Zvcm1hdGlvbi11bml0XG4gICAqIEBkZWZhdWx0IC0gTm8gdW5pdCBhdHRhY2hlZCB0byBtZXRyaWNzLlxuICAgKi9cbiAgcmVhZG9ubHkgdW5pdD86IFVuaXQ7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBtZXRyaWMgZmlsdGVyLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIENsb3VkZm9ybWF0aW9uIGdlbmVyYXRlZCBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgZmlsdGVyTmFtZT86IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -81,5 +81,5 @@ class LogQueryWidget extends widget_1.ConcreteWidget {
|
|
|
81
81
|
}
|
|
82
82
|
exports.LogQueryWidget = LogQueryWidget;
|
|
83
83
|
_a = JSII_RTTI_SYMBOL_1;
|
|
84
|
-
LogQueryWidget[_a] = { fqn: "terraconstructs.aws.cloudwatch.LogQueryWidget", version: "0.2.
|
|
84
|
+
LogQueryWidget[_a] = { fqn: "terraconstructs.aws.cloudwatch.LogQueryWidget", version: "0.2.5" };
|
|
85
85
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLXF1ZXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9jbG91ZHdhdGNoL2xvZy1xdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLHFDQUEwQztBQUUxQzs7R0FFRztBQUNILElBQVkseUJBcUJYO0FBckJELFdBQVkseUJBQXlCO0lBQ25DOztPQUVHO0lBQ0gsNENBQWUsQ0FBQTtJQUNmOztPQUVHO0lBQ0gsMENBQWEsQ0FBQTtJQUNiOztPQUVHO0lBQ0gsd0RBQTJCLENBQUE7SUFDM0I7O09BRUc7SUFDSCx3Q0FBVyxDQUFBO0lBQ1g7O09BRUc7SUFDSCx3Q0FBVyxDQUFBO0FBQ2IsQ0FBQyxFQXJCVyx5QkFBeUIseUNBQXpCLHlCQUF5QixRQXFCcEM7QUFrRUQ7O0dBRUc7QUFDSCxNQUFhLGNBQWUsU0FBUSx1QkFBYztJQUdoRCxZQUFZLEtBQWdCLEVBQUUsS0FBMEI7UUFDdEQsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFFRCxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDL0MsTUFBTSxJQUFJLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO1FBQzNFLENBQUM7SUFDSCxDQUFDO0lBRU0sTUFBTTtRQUNYLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYTthQUNyQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUM7YUFDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVO1lBQ2pDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3BDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUUzQixNQUFNLFVBQVUsR0FBUTtZQUN0QixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLO1lBQ3pFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUs7WUFDdkIsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTtZQUM5QyxLQUFLLEVBQUUsR0FBRyxPQUFPLE1BQU0sS0FBSyxFQUFFO1NBQy9CLENBQUM7UUFFRix5REFBeUQ7UUFDekQsSUFDRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyx5QkFBeUIsQ0FBQyxJQUFJO1lBQ2xELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLHlCQUF5QixDQUFDLFdBQVcsRUFDekQsQ0FBQztZQUNELHNFQUFzRTtZQUN0RSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDO2dCQUM5QixDQUFDLFVBQVUsQ0FBQyxPQUFPO29CQUNqQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyx5QkFBeUIsQ0FBQyxXQUFXO3dCQUN2RCxDQUFDLENBQUMsSUFBSTt3QkFDTixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakIsQ0FBQztRQUVELE9BQU87WUFDTDtnQkFDRSxJQUFJLEVBQUUsS0FBSztnQkFDWCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDbkIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNULENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDVCxVQUFVLEVBQUUsVUFBVTthQUN2QjtTQUNGLENBQUM7SUFDSixDQUFDOztBQXRESCx3Q0F1REMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xNzAuMC9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaC9saWIvbG9nLXF1ZXJ5LnRzXG5cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBDb25jcmV0ZVdpZGdldCB9IGZyb20gXCIuL3dpZGdldFwiO1xuXG4vKipcbiAqIFR5cGVzIG9mIHZpZXdcbiAqL1xuZXhwb3J0IGVudW0gTG9nUXVlcnlWaXN1YWxpemF0aW9uVHlwZSB7XG4gIC8qKlxuICAgKiBUYWJsZSB2aWV3XG4gICAqL1xuICBUQUJMRSA9IFwidGFibGVcIixcbiAgLyoqXG4gICAqIExpbmUgdmlld1xuICAgKi9cbiAgTElORSA9IFwibGluZVwiLFxuICAvKipcbiAgICogU3RhY2tlZCBhcmVhIHZpZXdcbiAgICovXG4gIFNUQUNLRURBUkVBID0gXCJzdGFja2VkYXJlYVwiLFxuICAvKipcbiAgICogQmFyIHZpZXdcbiAgICovXG4gIEJBUiA9IFwiYmFyXCIsXG4gIC8qKlxuICAgKiBQaWUgdmlld1xuICAgKi9cbiAgUElFID0gXCJwaWVcIixcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhIFF1ZXJ5IHdpZGdldFxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvZ1F1ZXJ5V2lkZ2V0UHJvcHMge1xuICAvKipcbiAgICogVGl0bGUgZm9yIHRoZSB3aWRnZXRcbiAgICpcbiAgICogQGRlZmF1bHQgTm8gdGl0bGVcbiAgICovXG4gIHJlYWRvbmx5IHRpdGxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lcyBvZiBsb2cgZ3JvdXBzIHRvIHF1ZXJ5XG4gICAqL1xuICByZWFkb25seSBsb2dHcm91cE5hbWVzOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogRnVsbCBxdWVyeSBzdHJpbmcgZm9yIGxvZyBpbnNpZ2h0c1xuICAgKlxuICAgKiBCZSBzdXJlIHRvIHByZXBlbmQgZXZlcnkgbmV3IGxpbmUgd2l0aCBhIG5ld2xpbmUgYW5kIHBpcGUgY2hhcmFjdGVyXG4gICAqIChgXFxufGApLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEV4YWN0bHkgb25lIG9mIGBxdWVyeVN0cmluZ2AsIGBxdWVyeUxpbmVzYCBpcyByZXF1aXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IHF1ZXJ5U3RyaW5nPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHNlcXVlbmNlIG9mIGxpbmVzIHRvIHVzZSB0byBidWlsZCB0aGUgcXVlcnlcbiAgICpcbiAgICogVGhlIHF1ZXJ5IHdpbGwgYmUgYnVpbHQgYnkgam9pbmluZyB0aGUgbGluZXMgdG9nZXRoZXIgdXNpbmcgYFxcbnxgLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEV4YWN0bHkgb25lIG9mIGBxdWVyeVN0cmluZ2AsIGBxdWVyeUxpbmVzYCBpcyByZXF1aXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IHF1ZXJ5TGluZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIHJlZ2lvbiB0aGUgbWV0cmljcyBvZiB0aGlzIHdpZGdldCBzaG91bGQgYmUgdGFrZW4gZnJvbVxuICAgKlxuICAgKiBAZGVmYXVsdCBDdXJyZW50IHJlZ2lvblxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiB2aWV3IHRvIHVzZVxuICAgKlxuICAgKiBAZGVmYXVsdCBMb2dRdWVyeVZpc3VhbGl6YXRpb25UeXBlLlRBQkxFXG4gICAqL1xuICByZWFkb25seSB2aWV3PzogTG9nUXVlcnlWaXN1YWxpemF0aW9uVHlwZTtcblxuICAvKipcbiAgICogV2lkdGggb2YgdGhlIHdpZGdldCwgaW4gYSBncmlkIG9mIDI0IHVuaXRzIHdpZGVcbiAgICpcbiAgICogQGRlZmF1bHQgNlxuICAgKi9cbiAgcmVhZG9ubHkgd2lkdGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEhlaWdodCBvZiB0aGUgd2lkZ2V0XG4gICAqXG4gICAqIEBkZWZhdWx0IDZcbiAgICovXG4gIHJlYWRvbmx5IGhlaWdodD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBEaXNwbGF5IHF1ZXJ5IHJlc3VsdHMgZnJvbSBMb2dzIEluc2lnaHRzXG4gKi9cbmV4cG9ydCBjbGFzcyBMb2dRdWVyeVdpZGdldCBleHRlbmRzIENvbmNyZXRlV2lkZ2V0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogTG9nUXVlcnlXaWRnZXRQcm9wcztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBwcm9wczogTG9nUXVlcnlXaWRnZXRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBwcm9wcy53aWR0aCB8fCA2LCBwcm9wcy5oZWlnaHQgfHwgNik7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuXG4gICAgaWYgKHByb3BzLmxvZ0dyb3VwTmFtZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJTcGVjaWZ5IGF0IGxlYXN0IG9uZSBsb2cgZ3JvdXAgbmFtZS5cIik7XG4gICAgfVxuXG4gICAgaWYgKCEhcHJvcHMucXVlcnlTdHJpbmcgPT09ICEhcHJvcHMucXVlcnlMaW5lcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiU3BlY2lmeSBleGFjdGx5IG9uZSBvZiAncXVlcnlTdHJpbmcnIGFuZCAncXVlcnlMaW5lcydcIik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHRvSnNvbigpOiBhbnlbXSB7XG4gICAgY29uc3Qgc291cmNlcyA9IHRoaXMucHJvcHMubG9nR3JvdXBOYW1lc1xuICAgICAgLm1hcCgobCkgPT4gYFNPVVJDRSAnJHtsfSdgKVxuICAgICAgLmpvaW4oXCIgfCBcIik7XG4gICAgY29uc3QgcXVlcnkgPSB0aGlzLnByb3BzLnF1ZXJ5TGluZXNcbiAgICAgID8gdGhpcy5wcm9wcy5xdWVyeUxpbmVzLmpvaW4oXCJcXG58IFwiKVxuICAgICAgOiB0aGlzLnByb3BzLnF1ZXJ5U3RyaW5nO1xuXG4gICAgY29uc3QgcHJvcGVydGllczogYW55ID0ge1xuICAgICAgdmlldzogdGhpcy5wcm9wcy52aWV3ID8gdGhpcy5wcm9wcy52aWV3IDogTG9nUXVlcnlWaXN1YWxpemF0aW9uVHlwZS5UQUJMRSxcbiAgICAgIHRpdGxlOiB0aGlzLnByb3BzLnRpdGxlLFxuICAgICAgcmVnaW9uOiB0aGlzLnByb3BzLnJlZ2lvbiB8fCB0aGlzLnN0YWNrLnJlZ2lvbixcbiAgICAgIHF1ZXJ5OiBgJHtzb3VyY2VzfSB8ICR7cXVlcnl9YCxcbiAgICB9O1xuXG4gICAgLy8gYWRkaW5nIHN0YWNrZWQgcHJvcGVydHkgaW4gY2FzZSBvZiBMSU5FIG9yIFNUQUNLRURBUkVBXG4gICAgaWYgKFxuICAgICAgdGhpcy5wcm9wcy52aWV3ID09PSBMb2dRdWVyeVZpc3VhbGl6YXRpb25UeXBlLkxJTkUgfHxcbiAgICAgIHRoaXMucHJvcHMudmlldyA9PT0gTG9nUXVlcnlWaXN1YWxpemF0aW9uVHlwZS5TVEFDS0VEQVJFQVxuICAgICkge1xuICAgICAgLy8gYXNzaWduIHRoZSByaWdodCBuYXRpdmUgdmlldyB2YWx1ZS4gYm90aCB0eXBlcyBzaGFyZSB0aGUgc2FtZSB2YWx1ZVxuICAgICAgKHByb3BlcnRpZXMudmlldyA9IFwidGltZVNlcmllc1wiKSxcbiAgICAgICAgKHByb3BlcnRpZXMuc3RhY2tlZCA9XG4gICAgICAgICAgdGhpcy5wcm9wcy52aWV3ID09PSBMb2dRdWVyeVZpc3VhbGl6YXRpb25UeXBlLlNUQUNLRURBUkVBXG4gICAgICAgICAgICA/IHRydWVcbiAgICAgICAgICAgIDogZmFsc2UpO1xuICAgIH1cblxuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHR5cGU6IFwibG9nXCIsXG4gICAgICAgIHdpZHRoOiB0aGlzLndpZHRoLFxuICAgICAgICBoZWlnaHQ6IHRoaXMuaGVpZ2h0LFxuICAgICAgICB4OiB0aGlzLngsXG4gICAgICAgIHk6IHRoaXMueSxcbiAgICAgICAgcHJvcGVydGllczogcHJvcGVydGllcyxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cloudwatchLogStream } from "@
|
|
1
|
+
import { cloudwatchLogStream } from "@cdktn/provider-aws";
|
|
2
2
|
import { Construct } from "constructs";
|
|
3
3
|
import { IAwsConstruct, AwsConstructBase, AwsConstructProps } from "../aws-construct";
|
|
4
4
|
import { ILogGroup } from "./log-group";
|