terraconstructs 0.2.4 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +3099 -2917
- 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 +19 -4
- package/lib/aws/aws-stack.js +43 -18
- 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 +24 -22
- 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.KeyValueStore = exports.FileKeyValuePairs = exports.InlineKeyValuePairs = exports.KeyValuePairs = void 0;
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
6
|
const fs = require("fs");
|
|
7
|
-
const provider_aws_1 = require("@
|
|
7
|
+
const provider_aws_1 = require("@cdktn/provider-aws");
|
|
8
8
|
const aws_construct_1 = require("../aws-construct");
|
|
9
9
|
/**
|
|
10
10
|
* The initial data to set for the key value store.
|
|
@@ -57,7 +57,7 @@ class KeyValuePairs {
|
|
|
57
57
|
}
|
|
58
58
|
exports.KeyValuePairs = KeyValuePairs;
|
|
59
59
|
_a = JSII_RTTI_SYMBOL_1;
|
|
60
|
-
KeyValuePairs[_a] = { fqn: "terraconstructs.aws.edge.KeyValuePairs", version: "0.2.
|
|
60
|
+
KeyValuePairs[_a] = { fqn: "terraconstructs.aws.edge.KeyValuePairs", version: "0.2.6" };
|
|
61
61
|
/**
|
|
62
62
|
* inline Key Value pairs.
|
|
63
63
|
*/
|
|
@@ -72,7 +72,7 @@ class InlineKeyValuePairs extends KeyValuePairs {
|
|
|
72
72
|
}
|
|
73
73
|
exports.InlineKeyValuePairs = InlineKeyValuePairs;
|
|
74
74
|
_b = JSII_RTTI_SYMBOL_1;
|
|
75
|
-
InlineKeyValuePairs[_b] = { fqn: "terraconstructs.aws.edge.InlineKeyValuePairs", version: "0.2.
|
|
75
|
+
InlineKeyValuePairs[_b] = { fqn: "terraconstructs.aws.edge.InlineKeyValuePairs", version: "0.2.6" };
|
|
76
76
|
/**
|
|
77
77
|
* Key Value pairs stored in a local file.
|
|
78
78
|
*/
|
|
@@ -105,7 +105,7 @@ class FileKeyValuePairs extends KeyValuePairs {
|
|
|
105
105
|
}
|
|
106
106
|
exports.FileKeyValuePairs = FileKeyValuePairs;
|
|
107
107
|
_c = JSII_RTTI_SYMBOL_1;
|
|
108
|
-
FileKeyValuePairs[_c] = { fqn: "terraconstructs.aws.edge.FileKeyValuePairs", version: "0.2.
|
|
108
|
+
FileKeyValuePairs[_c] = { fqn: "terraconstructs.aws.edge.FileKeyValuePairs", version: "0.2.6" };
|
|
109
109
|
/**
|
|
110
110
|
* A CloudFront Key Value Store.
|
|
111
111
|
*
|
|
@@ -159,5 +159,5 @@ class KeyValueStore extends aws_construct_1.AwsConstructBase {
|
|
|
159
159
|
}
|
|
160
160
|
exports.KeyValueStore = KeyValueStore;
|
|
161
161
|
_d = JSII_RTTI_SYMBOL_1;
|
|
162
|
-
KeyValueStore[_d] = { fqn: "terraconstructs.aws.edge.KeyValueStore", version: "0.2.
|
|
163
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LXZhbHVlLXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9lZGdlL2tleS12YWx1ZS1zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHlCQUF5QjtBQUN6QixzREFHNkI7QUFFN0Isb0RBSTBCO0FBWTFCOzs7OztHQUtHO0FBQ0gsTUFBc0IsYUFBYTtJQUFuQztRQTJCRSxxRUFBcUU7UUFDM0QsU0FBSSxHQUF3QixFQUFFLENBQUM7S0FpQjFDO0lBNUNDOzs7Ozs7Ozs7Ozs7T0FZRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBZ0I7UUFDckMsT0FBTyxJQUFJLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUF5QjtRQUNoRCxPQUFPLElBQUksbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUlEOztPQUVHO0lBQ0ksTUFBTSxDQUNYLGdCQUF3QjtRQUV4QixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUU7WUFDdkQsTUFBTSxLQUFLLEdBQ1QsT0FBTyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckUsT0FBTztnQkFDTCxHQUFHLEVBQUUsbURBQW1EO2dCQUN4RCxLQUFLLEVBQUUsc0RBQXNEO2dCQUM3RCxnQkFBZ0I7YUFDakIsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUE1Q0gsc0NBNkNDOzs7QUFFRDs7R0FFRztBQUNILE1BQWEsbUJBQW9CLFNBQVEsYUFBYTtJQUNwRDs7T0FFRztJQUNI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QUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDckMsSUFBSSx5Q0FBMEIsQ0FBQywwQkFBMEIsQ0FDdkQsSUFBSSxFQUNKLE9BQU8sQ0FBQyxFQUFFLEVBQ1YsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNSLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFDN0IsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDZCxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7U0FDWixDQUFDO0lBQ0osQ0FBQzs7QUExREgsc0NBMkRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQge1xuICBjbG91ZGZyb250S2V5VmFsdWVTdG9yZSxcbiAgY2xvdWRmcm9udGtleXZhbHVlc3RvcmVLZXksXG59IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXdzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgQXdzQ29uc3RydWN0QmFzZSxcbiAgSUF3c0NvbnN0cnVjdCxcbiAgQXdzQ29uc3RydWN0UHJvcHMsXG59IGZyb20gXCIuLi9hd3MtY29uc3RydWN0XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVN0b3JlRGF0YSB7XG4gIC8qKlxuICAgKiBUaGUgbWV0aG9kIGNhbGxlZCB3aGVuIGdpdmVuIFN0b3JlRGF0YSBpcyBhZGRlZFxuICAgKiAoZm9yIHRoZSBmaXJzdCB0aW1lKSB0byBhIEtleVZhbHVlU3RvcmUuXG4gICAqL1xuICByZW5kZXIoXG4gICAga2V5VmFsdWVTdG9yZUFybjogc3RyaW5nLFxuICApOiBjbG91ZGZyb250a2V5dmFsdWVzdG9yZUtleS5DbG91ZGZyb250a2V5dmFsdWVzdG9yZUtleUNvbmZpZ1tdO1xufVxuXG4vKipcbiAqIFRoZSBpbml0aWFsIGRhdGEgdG8gc2V0IGZvciB0aGUga2V5IHZhbHVlIHN0b3JlLlxuICpcbiAqIFRoaXMgaXMgd29yayBhcm91bmQgZm9yIGxhY2sgb2Ygc3VwcG9ydCBmb3IgaW1wb3J0X3NvdXJjZVxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2hhc2hpY29ycC90ZXJyYWZvcm0tcHJvdmlkZXItYXdzL2lzc3Vlcy8zNjUyNFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgS2V5VmFsdWVQYWlycyBpbXBsZW1lbnRzIElTdG9yZURhdGEge1xuICAvKipcbiAgICogS2V5IFZhbHVlIHBhaXJzIHN0b3JlZCBpbiBhIGxvY2FsIGZpbGUuXG4gICAqXG4gICAqIFRoZSBrZXktdmFsdWUgcGFpcnMgaGF2ZSB0aGUgZm9sbG93aW5nIGxpbWl0czpcbiAgICpcbiAgICogLSBGaWxlIHNpemUg4oCTIDUgTUJcbiAgICogLSBLZXkgc2l6ZSDigJMgNTEyIGNoYXJhY3RlcnNcbiAgICogLSBWYWx1ZSBzaXplIOKAkyAxMDI0IGNoYXJhY3RlcnNcbiAgICpcbiAgICogQGxpbmsgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkRnJvbnQvbGF0ZXN0L0RldmVsb3Blckd1aWRlL2t2cy13aXRoLWZ1bmN0aW9ucy1jcmVhdGUtczMta3ZwLmh0bWxcbiAgICpcbiAgICogQHBhcmFtIGZpbGVQYXRoIHRoZSBwYXRoIHRvIHRoZSBsb2NhbCBmaWxlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21QYXRoKGZpbGVQYXRoOiBzdHJpbmcpOiBLZXlWYWx1ZVBhaXJzIHtcbiAgICByZXR1cm4gbmV3IEZpbGVLZXlWYWx1ZVBhaXJzKGZpbGVQYXRoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBLZXkgVmFsdWUgcGFpcnMgaW5saW5lIHdpdGggQ29uc3RydWN0IHByb3BzLlxuICAgKlxuICAgKiBAcGFyYW0gZGF0YSB0aGUgY29udGVudHMgb2YgdGhlIEtleVZhbHVlU3RvcmVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUlubGluZShkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogS2V5VmFsdWVQYWlycyB7XG4gICAgcmV0dXJuIG5ldyBJbmxpbmVLZXlWYWx1ZVBhaXJzKGRhdGEpO1xuICB9XG5cbiAgLy8gVE9ETzogc3VwcG9ydCBUZXJyYWZvcm1SZXNvdXJjZUxpZmVjeWNsZSBvbiB0aGUga2V5IHZhbHVlIGVudHJpZXM/XG4gIHByb3RlY3RlZCBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gIC8qKlxuICAgKiBDYWxsZWQgaW50ZXJuYWxseSBieSB0aGUgS2V5VmFsdWVTdG9yZSB0byByZW5kZXIgdGhlIHN0b3JlIGRhdGEuXG4gICAqL1xuICBwdWJsaWMgcmVuZGVyKFxuICAgIGtleVZhbHVlU3RvcmVBcm46IHN0cmluZyxcbiAgKTogY2xvdWRmcm9udGtleXZhbHVlc3RvcmVLZXkuQ2xvdWRmcm9udGtleXZhbHVlc3RvcmVLZXlDb25maWdbXSB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHRoaXMuZGF0YSkubWFwKChba2V5LCB2YWx1ZUFueV0pID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID1cbiAgICAgICAgdHlwZW9mIHZhbHVlQW55ID09PSBcInN0cmluZ1wiID8gdmFsdWVBbnkgOiBKU09OLnN0cmluZ2lmeSh2YWx1ZUFueSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBrZXksIC8vVE9ETzogdmFsaWRhdGUga2V5IHN0cmluZyBsaW1pdCAoNTEyIGNoYXJhY3RlcnMpP1xuICAgICAgICB2YWx1ZSwgLy9UT0RPOiB2YWxpZGF0ZSB2YWx1ZSBzdHJpbmcgbGltaXQgKDEwMjQgY2hhcmFjdGVycyk/XG4gICAgICAgIGtleVZhbHVlU3RvcmVBcm4sXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogaW5saW5lIEtleSBWYWx1ZSBwYWlycy5cbiAqL1xuZXhwb3J0IGNsYXNzIElubGluZUtleVZhbHVlUGFpcnMgZXh0ZW5kcyBLZXlWYWx1ZVBhaXJzIHtcbiAgLyoqXG4gICAqIEBwYXJhbSBkYXRhIHRoZSBjb250ZW50cyBvZiB0aGUgS2V5VmFsdWVTdG9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IoZGF0YTogUmVjb3JkPHN0cmluZywgYW55Pikge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgfVxufVxuXG4vKipcbiAqIEtleSBWYWx1ZSBwYWlycyBzdG9yZWQgaW4gYSBsb2NhbCBmaWxlLlxuICovXG5leHBvcnQgY2xhc3MgRmlsZUtleVZhbHVlUGFpcnMgZXh0ZW5kcyBLZXlWYWx1ZVBhaXJzIHtcbiAgLyoqXG4gICAqIEBwYXJhbSBmaWxlUGF0aCB0aGUgcGF0aCB0byB0aGUgbG9jYWwgZmlsZVxuICAgKi9cbiAgY29uc3RydWN0b3IoZmlsZVBhdGg6IHN0cmluZykge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3Qgc3RhdHMgPSBmcy5zdGF0U3luYyhmaWxlUGF0aCk7XG4gICAgaWYgKHN0YXRzLnNpemUgPiA1ICogMTAyNCAqIDEwMjQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZSBmaWxlIHNpemUgb2YgJHtmaWxlUGF0aH0gc2hvdWxkIG5vdCBleGNlZWQgNU1CLiBSZWNlaXZlZDogJHtzdGF0cy5zaXplfWAsXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCBjb250ZW50ID0gZnMucmVhZEZpbGVTeW5jKGZpbGVQYXRoLCBcInV0ZjhcIik7XG4gICAgbGV0IHBhcnNlZERhdGE6IGFueTtcbiAgICB0cnkge1xuICAgICAgcGFyc2VkRGF0YSA9IEpTT04ucGFyc2UoY29udGVudCk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEpTT04gZm9ybWF0OiAke2Vycm9yLm1lc3NhZ2V9YCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmlzUmVjb3JkT2ZTdHJpbmdBbnkocGFyc2VkRGF0YSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZSAke2ZpbGVQYXRofSBjb250ZW50cyBkb2VzIG5vdCBtYXRjaCB0aGUgcmVxdWlyZWQgdHlwZSBSZWNvcmQ8c3RyaW5nLCBhbnk+YCxcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuZGF0YSA9IHBhcnNlZERhdGE7XG4gIH1cbiAgcHJpdmF0ZSBpc1JlY29yZE9mU3RyaW5nQW55KG9iajogYW55KTogb2JqIGlzIFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB0eXBlb2Ygb2JqID09PSBcIm9iamVjdFwiICYmIG9iaiAhPT0gbnVsbCAmJiAhQXJyYXkuaXNBcnJheShvYmopO1xuICB9XG59XG5cbi8qKlxuICogVGhlIHByb3BlcnRpZXMgdG8gY3JlYXRlIGEgS2V5IFZhbHVlIFN0b3JlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEtleVZhbHVlU3RvcmVQcm9wcyBleHRlbmRzIEF3c0NvbnN0cnVjdFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgbmFtZSBvZiB0aGUgS2V5IFZhbHVlIFN0b3JlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBBIGdlbmVyYXRlZCBuYW1lXG4gICAqL1xuICByZWFkb25seSBuYW1lU3VmZml4OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgY29tbWVudCBmb3IgdGhlIEtleSBWYWx1ZSBTdG9yZVxuICAgKlxuICAgKiBAZGVmYXVsdCBObyBjb21tZW50IHdpbGwgYmUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSBjb21tZW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgS2V5IFZhbHVlIHN0b3JlIGRhdGEuXG4gICAqXG4gICAqIFRoaXMgd2lsbCBwb3B1bGF0ZSB0aGUgaW5pdGlhbCBpdGVtcyBpbiB0aGUgS2V5IFZhbHVlIFN0b3JlLiBUaGVcbiAgICogc291cmNlIGRhdGEgbXVzdCBiZSBpbiBhIHZhbGlkIEpTT04gZm9ybWF0LlxuICAgKlxuICAgKiBUaGUga2V5LXZhbHVlIHBhaXJzIGhhdmUgdGhlIGZvbGxvd2luZyBsaW1pdHM6XG4gICAqXG4gICAqIC0gRmlsZSBzaXplIOKAkyA1IE1CXG4gICAqIC0gS2V5IHNpemUg4oCTIDUxMiBjaGFyYWN0ZXJzXG4gICAqIC0gVmFsdWUgc2l6ZSDigJMgMTAyNCBjaGFyYWN0ZXJzXG4gICAqXG4gICAqIEBkZWZhdWx0IE5vIGRhdGEgd2lsbCBiZSBpbXBvcnRlZCB0byB0aGUgc3RvcmVcbiAgICovXG4gIHJlYWRvbmx5IGRhdGE/OiBJU3RvcmVEYXRhO1xufVxuXG4vKipcbiAqIENsb3VkRnJvbnQgS2V5IFZhbHVlIFN0b3JlIG91dHB1dHMgZm9yIGEgc3RhY2suXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2V5VmFsdWVTdG9yZU91dHB1dHMge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgS2V5IFZhbHVlIFN0b3JlLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBhcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFVuaXF1ZSBJRCBvZiB0aGUgS2V5IFZhbHVlIFN0b3JlLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgQ2xvdWRGcm9udCBLZXkgVmFsdWUgU3RvcmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUtleVZhbHVlU3RvcmUgZXh0ZW5kcyBJQXdzQ29uc3RydWN0IHtcbiAgLyoqIFN0cm9uZ2x5IHR5cGVkIG91dHB1dHNcbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkga2V5VmFsdWVTdG9yZU91dHB1dHM6IEtleVZhbHVlU3RvcmVPdXRwdXRzO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBLZXkgVmFsdWUgU3RvcmUuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgVW5pcXVlIElEIG9mIHRoZSBLZXkgVmFsdWUgU3RvcmUuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdGF0dXMgb2YgdGhlIEtleSBWYWx1ZSBTdG9yZS5cbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdHVzOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBDbG91ZEZyb250IEtleSBWYWx1ZSBTdG9yZS5cbiAqXG4gKiBZb3UgY2FuIHN0b3JlIGFueSBvZiB0aGUgZm9sbG93aW5nIGZvcm1hdHM6XG4gKlxuICogLSBTdHJpbmdcbiAqIC0gQnl0ZS1lbmNvZGVkIHN0cmluZ1xuICogLSBKU09OXG4gKlxuICogQGxpbmsgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkRnJvbnQvbGF0ZXN0L0RldmVsb3Blckd1aWRlL2t2cy13aXRoLWZ1bmN0aW9ucy5odG1sXG4gKlxuICogQHJlc291cmNlIGF3c19jbG91ZGZyb250X2tleV92YWx1ZV9zdG9yZVxuICovXG5leHBvcnQgY2xhc3MgS2V5VmFsdWVTdG9yZSBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJS2V5VmFsdWVTdG9yZSB7XG4gIC8vIFRPRE86IEFkZCBzdGF0aWMgZnJvbUxvb2t1cD9cbiAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlOiBjbG91ZGZyb250S2V5VmFsdWVTdG9yZS5DbG91ZGZyb250S2V5VmFsdWVTdG9yZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9vdXRwdXRzOiBLZXlWYWx1ZVN0b3JlT3V0cHV0cztcbiAgcHVibGljIGdldCBrZXlWYWx1ZVN0b3JlT3V0cHV0cygpOiBLZXlWYWx1ZVN0b3JlT3V0cHV0cyB7XG4gICAgcmV0dXJuIHRoaXMuX291dHB1dHM7XG4gIH1cbiAgcHVibGljIGdldCBvdXRwdXRzKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB0aGlzLmtleVZhbHVlU3RvcmVPdXRwdXRzO1xuICB9XG4gIHJlYWRvbmx5IGFybjogc3RyaW5nO1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBzdGF0dXM6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogS2V5VmFsdWVTdG9yZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICBjb25zdCB7IG5hbWVTdWZmaXggfSA9IHByb3BzO1xuICAgIC8vIFRPRE86IGNvbnNpZGVyIHVzaW5nIHRoZSBgdGhpcy5zdGFjay5tYWtlVW5pcXVlUmVzb3VyY2VOYW1lYCBmdW5jdGlvbj9cbiAgICBsZXQgbmFtZSA9IHRoaXMuZ3JpZFVVSUQ7XG4gICAgaWYgKG5hbWVTdWZmaXgpIHtcbiAgICAgIG5hbWUgPSBgJHtuYW1lfS0ke25hbWVTdWZmaXh9YDtcbiAgICB9XG4gICAgaWYgKG5hbWUubGVuZ3RoID4gNjQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZSBuYW1lIG9mIHRoZSBLZXkgVmFsdWUgU3RvcmUgbXVzdCBiZSBsZXNzIHRoYW4gNjQgY2hhcmFjdGVycy4gUmVjZWl2ZWQ6ICR7bmFtZX1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlc291cmNlID0gbmV3IGNsb3VkZnJvbnRLZXlWYWx1ZVN0b3JlLkNsb3VkZnJvbnRLZXlWYWx1ZVN0b3JlKFxuICAgICAgdGhpcyxcbiAgICAgIFwiUmVzb3VyY2VcIixcbiAgICAgIHtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgY29tbWVudDogcHJvcHM/LmNvbW1lbnQsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBpZiAocHJvcHMuZGF0YSkge1xuICAgICAgLy8gVE9ETzogc3VwcG9ydCBUZXJyYWZvcm1SZXNvdXJjZUxpZmVjeWNsZSBvbiB0aGUga2V5IHZhbHVlIGVudHJpZXM/XG4gICAgICBjb25zdCBkYXRhID0gcHJvcHMuZGF0YS5yZW5kZXIodGhpcy5yZXNvdXJjZS5hcm4pO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIG5ldyBjbG91ZGZyb250a2V5dmFsdWVzdG9yZUtleS5DbG91ZGZyb250a2V5dmFsdWVzdG9yZUtleShcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIGBLZXktJHtpfWAsXG4gICAgICAgICAgZGF0YVtpXSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmFybiA9IHRoaXMucmVzb3VyY2UuYXJuO1xuICAgIHRoaXMuaWQgPSB0aGlzLnJlc291cmNlLmlkO1xuICAgIHRoaXMuc3RhdHVzID0gdGhpcy5yZXNvdXJjZS5ldGFnO1xuICAgIHRoaXMuX291dHB1dHMgPSB7XG4gICAgICBhcm46IHRoaXMuYXJuLFxuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
162
|
+
KeyValueStore[_d] = { fqn: "terraconstructs.aws.edge.KeyValueStore", version: "0.2.6" };
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LXZhbHVlLXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9lZGdlL2tleS12YWx1ZS1zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHlCQUF5QjtBQUN6QixzREFHNkI7QUFFN0Isb0RBSTBCO0FBWTFCOzs7OztHQUtHO0FBQ0gsTUFBc0IsYUFBYTtJQUFuQztRQTJCRSxxRUFBcUU7UUFDM0QsU0FBSSxHQUF3QixFQUFFLENBQUM7S0FpQjFDO0lBNUNDOzs7Ozs7Ozs7Ozs7T0FZRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBZ0I7UUFDckMsT0FBTyxJQUFJLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUF5QjtRQUNoRCxPQUFPLElBQUksbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUlEOztPQUVHO0lBQ0ksTUFBTSxDQUNYLGdCQUF3QjtRQUV4QixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUU7WUFDdkQsTUFBTSxLQUFLLEdBQ1QsT0FBTyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckUsT0FBTztnQkFDTCxHQUFHLEVBQUUsbURBQW1EO2dCQUN4RCxLQUFLLEVBQUUsc0RBQXNEO2dCQUM3RCxnQkFBZ0I7YUFDakIsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUE1Q0gsc0NBNkNDOzs7QUFFRDs7R0FFRztBQUNILE1BQWEsbUJBQW9CLFNBQVEsYUFBYTtJQUNwRDs7T0FFRztJQUNI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QUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDckMsSUFBSSx5Q0FBMEIsQ0FBQywwQkFBMEIsQ0FDdkQsSUFBSSxFQUNKLE9BQU8sQ0FBQyxFQUFFLEVBQ1YsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNSLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFDN0IsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDZCxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7U0FDWixDQUFDO0lBQ0osQ0FBQzs7QUExREgsc0NBMkRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQge1xuICBjbG91ZGZyb250S2V5VmFsdWVTdG9yZSxcbiAgY2xvdWRmcm9udGtleXZhbHVlc3RvcmVLZXksXG59IGZyb20gXCJAY2RrdG4vcHJvdmlkZXItYXdzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgQXdzQ29uc3RydWN0QmFzZSxcbiAgSUF3c0NvbnN0cnVjdCxcbiAgQXdzQ29uc3RydWN0UHJvcHMsXG59IGZyb20gXCIuLi9hd3MtY29uc3RydWN0XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVN0b3JlRGF0YSB7XG4gIC8qKlxuICAgKiBUaGUgbWV0aG9kIGNhbGxlZCB3aGVuIGdpdmVuIFN0b3JlRGF0YSBpcyBhZGRlZFxuICAgKiAoZm9yIHRoZSBmaXJzdCB0aW1lKSB0byBhIEtleVZhbHVlU3RvcmUuXG4gICAqL1xuICByZW5kZXIoXG4gICAga2V5VmFsdWVTdG9yZUFybjogc3RyaW5nLFxuICApOiBjbG91ZGZyb250a2V5dmFsdWVzdG9yZUtleS5DbG91ZGZyb250a2V5dmFsdWVzdG9yZUtleUNvbmZpZ1tdO1xufVxuXG4vKipcbiAqIFRoZSBpbml0aWFsIGRhdGEgdG8gc2V0IGZvciB0aGUga2V5IHZhbHVlIHN0b3JlLlxuICpcbiAqIFRoaXMgaXMgd29yayBhcm91bmQgZm9yIGxhY2sgb2Ygc3VwcG9ydCBmb3IgaW1wb3J0X3NvdXJjZVxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2hhc2hpY29ycC90ZXJyYWZvcm0tcHJvdmlkZXItYXdzL2lzc3Vlcy8zNjUyNFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgS2V5VmFsdWVQYWlycyBpbXBsZW1lbnRzIElTdG9yZURhdGEge1xuICAvKipcbiAgICogS2V5IFZhbHVlIHBhaXJzIHN0b3JlZCBpbiBhIGxvY2FsIGZpbGUuXG4gICAqXG4gICAqIFRoZSBrZXktdmFsdWUgcGFpcnMgaGF2ZSB0aGUgZm9sbG93aW5nIGxpbWl0czpcbiAgICpcbiAgICogLSBGaWxlIHNpemUg4oCTIDUgTUJcbiAgICogLSBLZXkgc2l6ZSDigJMgNTEyIGNoYXJhY3RlcnNcbiAgICogLSBWYWx1ZSBzaXplIOKAkyAxMDI0IGNoYXJhY3RlcnNcbiAgICpcbiAgICogQGxpbmsgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkRnJvbnQvbGF0ZXN0L0RldmVsb3Blckd1aWRlL2t2cy13aXRoLWZ1bmN0aW9ucy1jcmVhdGUtczMta3ZwLmh0bWxcbiAgICpcbiAgICogQHBhcmFtIGZpbGVQYXRoIHRoZSBwYXRoIHRvIHRoZSBsb2NhbCBmaWxlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21QYXRoKGZpbGVQYXRoOiBzdHJpbmcpOiBLZXlWYWx1ZVBhaXJzIHtcbiAgICByZXR1cm4gbmV3IEZpbGVLZXlWYWx1ZVBhaXJzKGZpbGVQYXRoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBLZXkgVmFsdWUgcGFpcnMgaW5saW5lIHdpdGggQ29uc3RydWN0IHByb3BzLlxuICAgKlxuICAgKiBAcGFyYW0gZGF0YSB0aGUgY29udGVudHMgb2YgdGhlIEtleVZhbHVlU3RvcmVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUlubGluZShkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogS2V5VmFsdWVQYWlycyB7XG4gICAgcmV0dXJuIG5ldyBJbmxpbmVLZXlWYWx1ZVBhaXJzKGRhdGEpO1xuICB9XG5cbiAgLy8gVE9ETzogc3VwcG9ydCBUZXJyYWZvcm1SZXNvdXJjZUxpZmVjeWNsZSBvbiB0aGUga2V5IHZhbHVlIGVudHJpZXM/XG4gIHByb3RlY3RlZCBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gIC8qKlxuICAgKiBDYWxsZWQgaW50ZXJuYWxseSBieSB0aGUgS2V5VmFsdWVTdG9yZSB0byByZW5kZXIgdGhlIHN0b3JlIGRhdGEuXG4gICAqL1xuICBwdWJsaWMgcmVuZGVyKFxuICAgIGtleVZhbHVlU3RvcmVBcm46IHN0cmluZyxcbiAgKTogY2xvdWRmcm9udGtleXZhbHVlc3RvcmVLZXkuQ2xvdWRmcm9udGtleXZhbHVlc3RvcmVLZXlDb25maWdbXSB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHRoaXMuZGF0YSkubWFwKChba2V5LCB2YWx1ZUFueV0pID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID1cbiAgICAgICAgdHlwZW9mIHZhbHVlQW55ID09PSBcInN0cmluZ1wiID8gdmFsdWVBbnkgOiBKU09OLnN0cmluZ2lmeSh2YWx1ZUFueSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBrZXksIC8vVE9ETzogdmFsaWRhdGUga2V5IHN0cmluZyBsaW1pdCAoNTEyIGNoYXJhY3RlcnMpP1xuICAgICAgICB2YWx1ZSwgLy9UT0RPOiB2YWxpZGF0ZSB2YWx1ZSBzdHJpbmcgbGltaXQgKDEwMjQgY2hhcmFjdGVycyk/XG4gICAgICAgIGtleVZhbHVlU3RvcmVBcm4sXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogaW5saW5lIEtleSBWYWx1ZSBwYWlycy5cbiAqL1xuZXhwb3J0IGNsYXNzIElubGluZUtleVZhbHVlUGFpcnMgZXh0ZW5kcyBLZXlWYWx1ZVBhaXJzIHtcbiAgLyoqXG4gICAqIEBwYXJhbSBkYXRhIHRoZSBjb250ZW50cyBvZiB0aGUgS2V5VmFsdWVTdG9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IoZGF0YTogUmVjb3JkPHN0cmluZywgYW55Pikge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgfVxufVxuXG4vKipcbiAqIEtleSBWYWx1ZSBwYWlycyBzdG9yZWQgaW4gYSBsb2NhbCBmaWxlLlxuICovXG5leHBvcnQgY2xhc3MgRmlsZUtleVZhbHVlUGFpcnMgZXh0ZW5kcyBLZXlWYWx1ZVBhaXJzIHtcbiAgLyoqXG4gICAqIEBwYXJhbSBmaWxlUGF0aCB0aGUgcGF0aCB0byB0aGUgbG9jYWwgZmlsZVxuICAgKi9cbiAgY29uc3RydWN0b3IoZmlsZVBhdGg6IHN0cmluZykge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3Qgc3RhdHMgPSBmcy5zdGF0U3luYyhmaWxlUGF0aCk7XG4gICAgaWYgKHN0YXRzLnNpemUgPiA1ICogMTAyNCAqIDEwMjQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZSBmaWxlIHNpemUgb2YgJHtmaWxlUGF0aH0gc2hvdWxkIG5vdCBleGNlZWQgNU1CLiBSZWNlaXZlZDogJHtzdGF0cy5zaXplfWAsXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCBjb250ZW50ID0gZnMucmVhZEZpbGVTeW5jKGZpbGVQYXRoLCBcInV0ZjhcIik7XG4gICAgbGV0IHBhcnNlZERhdGE6IGFueTtcbiAgICB0cnkge1xuICAgICAgcGFyc2VkRGF0YSA9IEpTT04ucGFyc2UoY29udGVudCk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEpTT04gZm9ybWF0OiAke2Vycm9yLm1lc3NhZ2V9YCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmlzUmVjb3JkT2ZTdHJpbmdBbnkocGFyc2VkRGF0YSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZSAke2ZpbGVQYXRofSBjb250ZW50cyBkb2VzIG5vdCBtYXRjaCB0aGUgcmVxdWlyZWQgdHlwZSBSZWNvcmQ8c3RyaW5nLCBhbnk+YCxcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuZGF0YSA9IHBhcnNlZERhdGE7XG4gIH1cbiAgcHJpdmF0ZSBpc1JlY29yZE9mU3RyaW5nQW55KG9iajogYW55KTogb2JqIGlzIFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB0eXBlb2Ygb2JqID09PSBcIm9iamVjdFwiICYmIG9iaiAhPT0gbnVsbCAmJiAhQXJyYXkuaXNBcnJheShvYmopO1xuICB9XG59XG5cbi8qKlxuICogVGhlIHByb3BlcnRpZXMgdG8gY3JlYXRlIGEgS2V5IFZhbHVlIFN0b3JlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEtleVZhbHVlU3RvcmVQcm9wcyBleHRlbmRzIEF3c0NvbnN0cnVjdFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgbmFtZSBvZiB0aGUgS2V5IFZhbHVlIFN0b3JlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBBIGdlbmVyYXRlZCBuYW1lXG4gICAqL1xuICByZWFkb25seSBuYW1lU3VmZml4OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgY29tbWVudCBmb3IgdGhlIEtleSBWYWx1ZSBTdG9yZVxuICAgKlxuICAgKiBAZGVmYXVsdCBObyBjb21tZW50IHdpbGwgYmUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSBjb21tZW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgS2V5IFZhbHVlIHN0b3JlIGRhdGEuXG4gICAqXG4gICAqIFRoaXMgd2lsbCBwb3B1bGF0ZSB0aGUgaW5pdGlhbCBpdGVtcyBpbiB0aGUgS2V5IFZhbHVlIFN0b3JlLiBUaGVcbiAgICogc291cmNlIGRhdGEgbXVzdCBiZSBpbiBhIHZhbGlkIEpTT04gZm9ybWF0LlxuICAgKlxuICAgKiBUaGUga2V5LXZhbHVlIHBhaXJzIGhhdmUgdGhlIGZvbGxvd2luZyBsaW1pdHM6XG4gICAqXG4gICAqIC0gRmlsZSBzaXplIOKAkyA1IE1CXG4gICAqIC0gS2V5IHNpemUg4oCTIDUxMiBjaGFyYWN0ZXJzXG4gICAqIC0gVmFsdWUgc2l6ZSDigJMgMTAyNCBjaGFyYWN0ZXJzXG4gICAqXG4gICAqIEBkZWZhdWx0IE5vIGRhdGEgd2lsbCBiZSBpbXBvcnRlZCB0byB0aGUgc3RvcmVcbiAgICovXG4gIHJlYWRvbmx5IGRhdGE/OiBJU3RvcmVEYXRhO1xufVxuXG4vKipcbiAqIENsb3VkRnJvbnQgS2V5IFZhbHVlIFN0b3JlIG91dHB1dHMgZm9yIGEgc3RhY2suXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2V5VmFsdWVTdG9yZU91dHB1dHMge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgS2V5IFZhbHVlIFN0b3JlLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBhcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFVuaXF1ZSBJRCBvZiB0aGUgS2V5IFZhbHVlIFN0b3JlLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgQ2xvdWRGcm9udCBLZXkgVmFsdWUgU3RvcmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUtleVZhbHVlU3RvcmUgZXh0ZW5kcyBJQXdzQ29uc3RydWN0IHtcbiAgLyoqIFN0cm9uZ2x5IHR5cGVkIG91dHB1dHNcbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkga2V5VmFsdWVTdG9yZU91dHB1dHM6IEtleVZhbHVlU3RvcmVPdXRwdXRzO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBLZXkgVmFsdWUgU3RvcmUuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgVW5pcXVlIElEIG9mIHRoZSBLZXkgVmFsdWUgU3RvcmUuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdGF0dXMgb2YgdGhlIEtleSBWYWx1ZSBTdG9yZS5cbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdHVzOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBDbG91ZEZyb250IEtleSBWYWx1ZSBTdG9yZS5cbiAqXG4gKiBZb3UgY2FuIHN0b3JlIGFueSBvZiB0aGUgZm9sbG93aW5nIGZvcm1hdHM6XG4gKlxuICogLSBTdHJpbmdcbiAqIC0gQnl0ZS1lbmNvZGVkIHN0cmluZ1xuICogLSBKU09OXG4gKlxuICogQGxpbmsgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkRnJvbnQvbGF0ZXN0L0RldmVsb3Blckd1aWRlL2t2cy13aXRoLWZ1bmN0aW9ucy5odG1sXG4gKlxuICogQHJlc291cmNlIGF3c19jbG91ZGZyb250X2tleV92YWx1ZV9zdG9yZVxuICovXG5leHBvcnQgY2xhc3MgS2V5VmFsdWVTdG9yZSBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJS2V5VmFsdWVTdG9yZSB7XG4gIC8vIFRPRE86IEFkZCBzdGF0aWMgZnJvbUxvb2t1cD9cbiAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlOiBjbG91ZGZyb250S2V5VmFsdWVTdG9yZS5DbG91ZGZyb250S2V5VmFsdWVTdG9yZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9vdXRwdXRzOiBLZXlWYWx1ZVN0b3JlT3V0cHV0cztcbiAgcHVibGljIGdldCBrZXlWYWx1ZVN0b3JlT3V0cHV0cygpOiBLZXlWYWx1ZVN0b3JlT3V0cHV0cyB7XG4gICAgcmV0dXJuIHRoaXMuX291dHB1dHM7XG4gIH1cbiAgcHVibGljIGdldCBvdXRwdXRzKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB0aGlzLmtleVZhbHVlU3RvcmVPdXRwdXRzO1xuICB9XG4gIHJlYWRvbmx5IGFybjogc3RyaW5nO1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBzdGF0dXM6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogS2V5VmFsdWVTdG9yZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICBjb25zdCB7IG5hbWVTdWZmaXggfSA9IHByb3BzO1xuICAgIC8vIFRPRE86IGNvbnNpZGVyIHVzaW5nIHRoZSBgdGhpcy5zdGFjay5tYWtlVW5pcXVlUmVzb3VyY2VOYW1lYCBmdW5jdGlvbj9cbiAgICBsZXQgbmFtZSA9IHRoaXMuZ3JpZFVVSUQ7XG4gICAgaWYgKG5hbWVTdWZmaXgpIHtcbiAgICAgIG5hbWUgPSBgJHtuYW1lfS0ke25hbWVTdWZmaXh9YDtcbiAgICB9XG4gICAgaWYgKG5hbWUubGVuZ3RoID4gNjQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZSBuYW1lIG9mIHRoZSBLZXkgVmFsdWUgU3RvcmUgbXVzdCBiZSBsZXNzIHRoYW4gNjQgY2hhcmFjdGVycy4gUmVjZWl2ZWQ6ICR7bmFtZX1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlc291cmNlID0gbmV3IGNsb3VkZnJvbnRLZXlWYWx1ZVN0b3JlLkNsb3VkZnJvbnRLZXlWYWx1ZVN0b3JlKFxuICAgICAgdGhpcyxcbiAgICAgIFwiUmVzb3VyY2VcIixcbiAgICAgIHtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgY29tbWVudDogcHJvcHM/LmNvbW1lbnQsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBpZiAocHJvcHMuZGF0YSkge1xuICAgICAgLy8gVE9ETzogc3VwcG9ydCBUZXJyYWZvcm1SZXNvdXJjZUxpZmVjeWNsZSBvbiB0aGUga2V5IHZhbHVlIGVudHJpZXM/XG4gICAgICBjb25zdCBkYXRhID0gcHJvcHMuZGF0YS5yZW5kZXIodGhpcy5yZXNvdXJjZS5hcm4pO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIG5ldyBjbG91ZGZyb250a2V5dmFsdWVzdG9yZUtleS5DbG91ZGZyb250a2V5dmFsdWVzdG9yZUtleShcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIGBLZXktJHtpfWAsXG4gICAgICAgICAgZGF0YVtpXSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmFybiA9IHRoaXMucmVzb3VyY2UuYXJuO1xuICAgIHRoaXMuaWQgPSB0aGlzLnJlc291cmNlLmlkO1xuICAgIHRoaXMuc3RhdHVzID0gdGhpcy5yZXNvdXJjZS5ldGFnO1xuICAgIHRoaXMuX291dHB1dHMgPSB7XG4gICAgICBhcm46IHRoaXMuYXJuLFxuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgfTtcbiAgfVxufVxuIl19
|
package/lib/aws/edge/origin.d.ts
CHANGED
package/lib/aws/edge/origin.js
CHANGED
|
@@ -3,7 +3,7 @@ var _a, _b, _c;
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.HttpOrigin = exports.S3Origin = exports.OriginBase = exports.OriginSslPolicy = exports.OriginProtocolPolicy = void 0;
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
-
const
|
|
6
|
+
const cdktn_1 = require("cdktn");
|
|
7
7
|
/**
|
|
8
8
|
* Defines what protocols CloudFront will use to connect to an origin.
|
|
9
9
|
*/
|
|
@@ -80,7 +80,7 @@ class OriginBase {
|
|
|
80
80
|
* This method takes in the originPath, and returns it back (if undefined) or adds/removes the '/' as appropriate.
|
|
81
81
|
*/
|
|
82
82
|
validateOriginPath(originPath) {
|
|
83
|
-
if (
|
|
83
|
+
if (cdktn_1.Token.isUnresolved(originPath)) {
|
|
84
84
|
return originPath;
|
|
85
85
|
}
|
|
86
86
|
if (originPath === undefined) {
|
|
@@ -98,7 +98,7 @@ class OriginBase {
|
|
|
98
98
|
}
|
|
99
99
|
exports.OriginBase = OriginBase;
|
|
100
100
|
_a = JSII_RTTI_SYMBOL_1;
|
|
101
|
-
OriginBase[_a] = { fqn: "terraconstructs.aws.edge.OriginBase", version: "0.2.
|
|
101
|
+
OriginBase[_a] = { fqn: "terraconstructs.aws.edge.OriginBase", version: "0.2.6" };
|
|
102
102
|
/**
|
|
103
103
|
* Throws an error if a value is defined and not an integer or not in a range.
|
|
104
104
|
*/
|
|
@@ -183,7 +183,7 @@ class S3Origin {
|
|
|
183
183
|
}
|
|
184
184
|
exports.S3Origin = S3Origin;
|
|
185
185
|
_b = JSII_RTTI_SYMBOL_1;
|
|
186
|
-
S3Origin[_b] = { fqn: "terraconstructs.aws.edge.S3Origin", version: "0.2.
|
|
186
|
+
S3Origin[_b] = { fqn: "terraconstructs.aws.edge.S3Origin", version: "0.2.6" };
|
|
187
187
|
// https://github.com/aws/aws-cdk/blob/v2.156.0/packages/aws-cdk-lib/aws-cloudfront-origins/lib/s3-origin.ts#L51
|
|
188
188
|
/**
|
|
189
189
|
* An Origin specific to a S3 bucket (not configured for website hosting).
|
|
@@ -231,7 +231,7 @@ class HttpOrigin extends OriginBase {
|
|
|
231
231
|
}
|
|
232
232
|
exports.HttpOrigin = HttpOrigin;
|
|
233
233
|
_c = JSII_RTTI_SYMBOL_1;
|
|
234
|
-
HttpOrigin[_c] = { fqn: "terraconstructs.aws.edge.HttpOrigin", version: "0.2.
|
|
234
|
+
HttpOrigin[_c] = { fqn: "terraconstructs.aws.edge.HttpOrigin", version: "0.2.6" };
|
|
235
235
|
/**
|
|
236
236
|
* Throws an error if a duration is defined and not an integer number of seconds within a range.
|
|
237
237
|
*/
|
|
@@ -244,4 +244,4 @@ function validateSecondsInRangeOrUndefined(name, min, max, duration) {
|
|
|
244
244
|
throw new Error(`${name}: Must be an int between ${min} and ${max} seconds (inclusive); received ${value}.`);
|
|
245
245
|
}
|
|
246
246
|
}
|
|
247
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JpZ2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9lZGdlL29yaWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLGlDQUE4QjtBQTBEOUI7O0dBRUc7QUFDSCxJQUFZLG9CQU9YO0FBUEQsV0FBWSxvQkFBb0I7SUFDOUIsMkJBQTJCO0lBQzNCLCtDQUF1QixDQUFBO0lBQ3ZCLG1EQUFtRDtJQUNuRCxxREFBNkIsQ0FBQTtJQUM3Qiw0QkFBNEI7SUFDNUIsaURBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQVBXLG9CQUFvQixvQ0FBcEIsb0JBQW9CLFFBTy9CO0FBRUQsSUFBWSxlQUtYO0FBTEQsV0FBWSxlQUFlO0lBQ3pCLG1DQUFnQixDQUFBO0lBQ2hCLG1DQUFnQixDQUFBO0lBQ2hCLHVDQUFvQixDQUFBO0lBQ3BCLHVDQUFvQixDQUFBO0FBQ3RCLENBQUMsRUFMVyxlQUFlLCtCQUFmLGVBQWUsUUFLMUI7QUFFRDs7O0dBR0c7QUFDSCxNQUFzQixVQUFVO0lBTTlCLFlBQXNCLFVBQWtCLEVBQUUsUUFBcUIsRUFBRTtRQUMvRCw2QkFBNkIsQ0FDM0IsbUJBQW1CLEVBQ25CLENBQUMsRUFDRCxFQUFFLEVBQ0YsS0FBSyxDQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxDQUNyQyxDQUFDO1FBQ0YsNkJBQTZCLENBQzNCLG9CQUFvQixFQUNwQixDQUFDLEVBQ0QsQ0FBQyxFQUNELEtBQUssQ0FBQyxrQkFBa0IsRUFDeEIsS0FBSyxDQUNOLENBQUM7UUFDRixxQkFBcUIsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFM0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUMsaUJBQWlCLENB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LENBQUMsVUFBVTtZQUM5RCxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksRUFBRTtZQUNuQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksR0FBRztZQUN0QyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUU7WUFDdEQsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLEVBQUU7U0FDakUsQ0FBQztJQUNKLENBQUM7O0FBOUJILGdDQStCQzs7O0FBRUQ7O0dBRUc7QUFDSCxTQUFTLGlDQUFpQyxDQUN4QyxJQUFZLEVBQ1osR0FBVyxFQUNYLEdBQVcsRUFDWCxRQUFtQjtJQUVuQixJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUMzQixPQUFPO0lBQ1QsQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLEdBQUcsR0FBRyxJQUFJLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUMzRCxNQUFNLElBQUksS0FBSyxDQUNiLEdBQUcsSUFBSSw0QkFBNEIsR0FBRyxRQUFRLEdBQUcsa0NBQWtDLEtBQUssR0FBRyxDQUM1RixDQUFDO0lBQ0osQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyByZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE1Ni4wL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1jbG91ZGZyb250L2xpYi9vcmlnaW4udHNcblxuaW1wb3J0IHsgY2xvdWRmcm9udERpc3RyaWJ1dGlvbiB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXdzXCI7XG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tIFwiLi4vLi4vXCI7XG5pbXBvcnQgeyBJQnVja2V0IH0gZnJvbSBcIi4uL3N0b3JhZ2VcIjtcblxuLy9UT0RPOiBBZGQgc3VwcG9ydCBmb3IgZmFpbG92ZXIgY29uZmlndXJhdGlvbiB1c2VkIGZvciBPcmlnaW4gR3JvdXBzXG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgY29uY2VwdCBvZiBhIENsb3VkRnJvbnQgT3JpZ2luLlxuICogWW91IHByb3ZpZGUgb25lIG9yIG1vcmUgb3JpZ2lucyB3aGVuIGNyZWF0aW5nIGEgRGlzdHJpYnV0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElPcmlnaW4ge1xuICAvKipcbiAgICogVGhlIG1ldGhvZCBjYWxsZWQgd2hlbiBhIGdpdmVuIE9yaWdpbiBpcyBhZGRlZFxuICAgKiAoZm9yIHRoZSBmaXJzdCB0aW1lKSB0byBhIERpc3RyaWJ1dGlvbi5cbiAgICovXG4gIHJlbmRlcihpZDogc3RyaW5nKTogY2xvdWRmcm9udERpc3RyaWJ1dGlvbi5DbG91ZGZyb250RGlzdHJpYnV0aW9uT3JpZ2luO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgdG8gZGVmaW5lIGFuIE9yaWdpbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcmlnaW5PcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2Ygc2Vjb25kcyB0aGF0IENsb3VkRnJvbnQgd2FpdHMgd2hlbiB0cnlpbmcgdG8gZXN0YWJsaXNoIGEgY29ubmVjdGlvbiB0byB0aGUgb3JpZ2luLlxuICAgKiBWYWxpZCB2YWx1ZXMgYXJlIDEtMTAgc2Vjb25kcywgaW5jbHVzaXZlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBEdXJhdGlvbi5zZWNvbmRzKDEwKVxuICAgKi9cbiAgcmVhZG9ubHkgY29ubmVjdGlvblRpbWVvdXQ/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiB0aW1lcyB0aGF0IENsb3VkRnJvbnQgYXR0ZW1wdHMgdG8gY29ubmVjdCB0byB0aGUgb3JpZ2luOyB2YWxpZCB2YWx1ZXMgYXJlIDEsIDIsIG9yIDMgYXR0ZW1wdHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IDNcbiAgICovXG4gIHJlYWRvbmx5IGNvbm5lY3Rpb25BdHRlbXB0cz86IG51bWJlcjtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIEhUVFAgaGVhZGVyIG5hbWVzIGFuZCB2YWx1ZXMgdGhhdCBDbG91ZEZyb250IGFkZHMgdG8gcmVxdWVzdHMgaXQgc2VuZHMgdG8gdGhlIG9yaWdpbi5cbiAgICpcbiAgICogQGRlZmF1bHQge31cbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbUhlYWRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgdG8gZGVmaW5lIGFuIE9yaWdpbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcmlnaW5Qcm9wcyBleHRlbmRzIE9yaWdpbk9wdGlvbnMge1xuICAvKipcbiAgICogQW4gb3B0aW9uYWwgcGF0aCB0aGF0IENsb3VkRnJvbnQgYXBwZW5kcyB0byB0aGUgb3JpZ2luIGRvbWFpbiBuYW1lIHdoZW4gQ2xvdWRGcm9udCByZXF1ZXN0cyBjb250ZW50IGZyb20gdGhlIG9yaWdpbi5cbiAgICogTXVzdCBiZWdpbiwgYnV0IG5vdCBlbmQsIHdpdGggJy8nIChlLmcuLCAnL3Byb2R1Y3Rpb24vaW1hZ2VzJykuXG4gICAqXG4gICAqIEBkZWZhdWx0ICcvJ1xuICAgKi9cbiAgcmVhZG9ubHkgb3JpZ2luUGF0aD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBEZWZpbmVzIHdoYXQgcHJvdG9jb2xzIENsb3VkRnJvbnQgd2lsbCB1c2UgdG8gY29ubmVjdCB0byBhbiBvcmlnaW4uXG4gKi9cbmV4cG9ydCBlbnVtIE9yaWdpblByb3RvY29sUG9saWN5IHtcbiAgLyoqIENvbm5lY3Qgb24gSFRUUCBvbmx5ICovXG4gIEhUVFBfT05MWSA9IFwiaHR0cC1vbmx5XCIsXG4gIC8qKiBDb25uZWN0IHdpdGggdGhlIHNhbWUgcHJvdG9jb2wgYXMgdGhlIHZpZXdlciAqL1xuICBNQVRDSF9WSUVXRVIgPSBcIm1hdGNoLXZpZXdlclwiLFxuICAvKiogQ29ubmVjdCBvbiBIVFRQUyBvbmx5ICovXG4gIEhUVFBTX09OTFkgPSBcImh0dHBzLW9ubHlcIixcbn1cblxuZXhwb3J0IGVudW0gT3JpZ2luU3NsUG9saWN5IHtcbiAgU1NMX1YzID0gXCJTU0x2M1wiLFxuICBUTFNfVjEgPSBcIlRMU3YxXCIsXG4gIFRMU19WMV8xID0gXCJUTFN2MS4xXCIsXG4gIFRMU19WMV8yID0gXCJUTFN2MS4yXCIsXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGRpc3RyaWJ1dGlvbiBvcmlnaW4sIHRoYXQgZGVzY3JpYmVzIHRoZSBBbWF6b24gUzMgYnVja2V0LCBIVFRQIHNlcnZlciAoZm9yIGV4YW1wbGUsIGEgd2ViIHNlcnZlciksXG4gKiBBbWF6b24gTWVkaWFTdG9yZSwgb3Igb3RoZXIgc2VydmVyIGZyb20gd2hpY2ggQ2xvdWRGcm9udCBnZXRzIHlvdXIgZmlsZXMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBPcmlnaW5CYXNlIGltcGxlbWVudHMgSU9yaWdpbiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IG9yaWdpblBhdGg/OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29ubmVjdGlvblRpbWVvdXQ/OiBEdXJhdGlvbjtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25uZWN0aW9uQXR0ZW1wdHM/OiBudW1iZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgY3VzdG9tSGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihkb21haW5OYW1lOiBzdHJpbmcsIHByb3BzOiBPcmlnaW5Qcm9wcyA9IHt9KSB7XG4gICAgdmFsaWRhdGVJbnRJblJhbmdlT3JVbmRlZmluZWQoXG4gICAgICBcImNvbm5lY3Rpb25UaW1lb3V0XCIsXG4gICAgICAxLFxuICAgICAgMTAsXG4gICAgICBwcm9wcy5jb25uZWN0aW9uVGltZW91dD8udG9TZWNvbmRzKCksXG4gICAgKTtcbiAgICB2YWxpZGF0ZUludEluUmFuZ2VPclVuZGVmaW5lZChcbiAgICAgIFwiY29ubmVjdGlvbkF0dGVtcHRzXCIsXG4gICAgICAxLFxuICAgICAgMyxcbiAgICAgIHByb3BzLmNvbm5lY3Rpb25BdHRlbXB0cyxcbiAgICAgIGZhbHNlLFxuICAgICk7XG4gICAgdmFsaWRhdGVDdXN0b21IZWFkZXJzKHByb3BzLmN1c3RvbUhlYWRlcnMpO1xuXG4gICAgdGhpcy5kb21haW5OYW1lID0gZG9tYWluTmFtZTtcbiAgICB0aGlzLm9yaWdpblBhdGggPSB0aGlzLnZhbGlkYXRlT3JpZ2luUGF0aChwcm9wcy5vcmlnaW5QYXRoKTtcbiAgICB0aGlzLmNvbm5lY3Rpb25UaW1lb3V0ID0gcHJvcHMuY29ubmVjdGlvblRpbWVvdXQ7XG4gICAgdGhpcy5jb25uZWN0aW9uQXR0ZW1wdHMgPSBwcm9wcy5jb25uZWN0aW9uQXR0ZW1wdHM7XG4gICAgdGhpcy5jdXN0b21IZWFkZXJzID0gcHJvcHMuY3VzdG9tSGVhZGVycztcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgaW50ZXJuYWxseSBieSB0aGUgRGlzdHJpYnV0aW9uIHRvIHJlbmRlciB0aGUgb3JpZ2luLlxuICAgKi9cbiAgcHVibGljIHJlbmRlcihcbiAgICBvcmlnaW5JZDogc3RyaW5nLFxuICApOiBjbG91ZGZyb250RGlzdHJpYnV0aW9uLkNsb3VkZnJvbnREaXN0cmlidXRpb25PcmlnaW4ge1xuICAgIGNvbnN0IHMzT3JpZ2luQ29uZmlnID0gdGhpcy5yZW5kZXJTM09yaWdpbkNvbmZpZygpO1xuICAgIGNvbnN0IGN1c3RvbU9yaWdpbkNvbmZpZyA9IHRoaXMucmVuZGVyQ3VzdG9tT3JpZ2luQ29uZmlnKCk7XG5cbiAgICBpZiAoIXMzT3JpZ2luQ29uZmlnICYmICFjdXN0b21PcmlnaW5Db25maWcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJTdWJjbGFzcyBtdXN0IG92ZXJyaWRlIGFuZCBwcm92aWRlIGVpdGhlciBzM09yaWdpbkNvbmZpZyBvciBjdXN0b21PcmlnaW5Db25maWdcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG9yaWdpbklkLFxuICAgICAgZG9tYWluTmFtZTogdGhpcy5kb21haW5OYW1lLFxuICAgICAgb3JpZ2luUGF0aDogdGhpcy5vcmlnaW5QYXRoLFxuICAgICAgY29ubmVjdGlvbkF0dGVtcHRzOiB0aGlzLmNvbm5lY3Rpb25BdHRlbXB0cyxcbiAgICAgIGNvbm5lY3Rpb25UaW1lb3V0OiB0aGlzLmNvbm5lY3Rpb25UaW1lb3V0Py50b1NlY29uZHMoKSxcbiAgICAgIGN1c3RvbUhlYWRlcjogdGhpcy5yZW5kZXJDdXN0b21IZWFkZXJzKCksXG4gICAgICBzM09yaWdpbkNvbmZpZyxcbiAgICAgIGN1c3RvbU9yaWdpbkNvbmZpZyxcbiAgICB9O1xuICB9XG5cbiAgLy8gT3ZlcnJpZGRlbiBieSBzdWItY2xhc3NlcyB0byBwcm92aWRlIFMzIG9yaWdpbiBjb25maWcuXG4gIHByb3RlY3RlZCByZW5kZXJTM09yaWdpbkNvbmZpZygpOlxuICAgIHwgY2xvdWRmcm9udERpc3RyaWJ1dGlvbi5DbG91ZGZyb250RGlzdHJpYnV0aW9uT3JpZ2luUzNPcmlnaW5Db25maWdcbiAgICB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8vIE92ZXJyaWRkZW4gYnkgc3ViLWNsYXNzZXMgdG8gcHJvdmlkZSBjdXN0b20gb3JpZ2luIGNvbmZpZy5cbiAgcHJvdGVjdGVkIHJlbmRlckN1c3RvbU9yaWdpbkNvbmZpZygpOlxuICAgIHwgY2xvdWRmcm9udERpc3RyaWJ1dGlvbi5DbG91ZGZyb250RGlzdHJpYnV0aW9uT3JpZ2luQ3VzdG9tT3JpZ2luQ29uZmlnXG4gICAgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlckN1c3RvbUhlYWRlcnMoKTpcbiAgICB8IGNsb3VkZnJvbnREaXN0cmlidXRpb24uQ2xvdWRmcm9udERpc3RyaWJ1dGlvbk9yaWdpbkN1c3RvbUhlYWRlcltdXG4gICAgfCB1bmRlZmluZWQge1xuICAgIGlmIChcbiAgICAgICF0aGlzLmN1c3RvbUhlYWRlcnMgfHxcbiAgICAgIE9iamVjdC5lbnRyaWVzKHRoaXMuY3VzdG9tSGVhZGVycykubGVuZ3RoID09PSAwXG4gICAgKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXModGhpcy5jdXN0b21IZWFkZXJzKS5tYXAoKFtuYW1lLCB2YWx1ZV0pID0+IHtcbiAgICAgIHJldHVybiB7IG5hbWUsIHZhbHVlIH07XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSWYgdGhlIHBhdGggaXMgZGVmaW5lZCwgaXQgbXVzdCBzdGFydCB3aXRoIGEgJy8nIGFuZCBub3QgZW5kIHdpdGggYSAnLycuXG4gICAqIFRoaXMgbWV0aG9kIHRha2VzIGluIHRoZSBvcmlnaW5QYXRoLCBhbmQgcmV0dXJucyBpdCBiYWNrIChpZiB1bmRlZmluZWQpIG9yIGFkZHMvcmVtb3ZlcyB0aGUgJy8nIGFzIGFwcHJvcHJpYXRlLlxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZU9yaWdpblBhdGgob3JpZ2luUGF0aD86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZChvcmlnaW5QYXRoKSkge1xuICAgICAgcmV0dXJuIG9yaWdpblBhdGg7XG4gICAgfVxuICAgIGlmIChvcmlnaW5QYXRoID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGxldCBwYXRoID0gb3JpZ2luUGF0aDtcbiAgICBpZiAoIXBhdGguc3RhcnRzV2l0aChcIi9cIikpIHtcbiAgICAgIHBhdGggPSBcIi9cIiArIHBhdGg7XG4gICAgfVxuICAgIGlmIChwYXRoLmVuZHNXaXRoKFwiL1wiKSkge1xuICAgICAgcGF0aCA9IHBhdGguc2xpY2UoMCwgLTEpO1xuICAgIH1cbiAgICByZXR1cm4gcGF0aDtcbiAgfVxufVxuXG4vKipcbiAqIFRocm93cyBhbiBlcnJvciBpZiBhIHZhbHVlIGlzIGRlZmluZWQgYW5kIG5vdCBhbiBpbnRlZ2VyIG9yIG5vdCBpbiBhIHJhbmdlLlxuICovXG5mdW5jdGlvbiB2YWxpZGF0ZUludEluUmFuZ2VPclVuZGVmaW5lZChcbiAgbmFtZTogc3RyaW5nLFxuICBtaW46IG51bWJlcixcbiAgbWF4OiBudW1iZXIsXG4gIHZhbHVlPzogbnVtYmVyLFxuICBpc0R1cmF0aW9uOiBib29sZWFuID0gdHJ1ZSxcbikge1xuICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybjtcbiAgfVxuICBpZiAoIU51bWJlci5pc0ludGVnZXIodmFsdWUpIHx8IHZhbHVlIDwgbWluIHx8IHZhbHVlID4gbWF4KSB7XG4gICAgY29uc3Qgc2Vjb25kcyA9IGlzRHVyYXRpb24gPyBcIiBzZWNvbmRzXCIgOiBcIlwiO1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGAke25hbWV9OiBNdXN0IGJlIGFuIGludCBiZXR3ZWVuICR7bWlufSBhbmQgJHttYXh9JHtzZWNvbmRzfSAoaW5jbHVzaXZlKTsgcmVjZWl2ZWQgJHt2YWx1ZX0uYCxcbiAgICApO1xuICB9XG59XG5cbi8qKlxuICogVGhyb3dzIGFuIGVycm9yIGlmIGN1c3RvbSBoZWFkZXIgYXNzaWdubWVudCBpcyBwcm9oaWJpdGVkIGJ5IENsb3VkRnJvbnQuXG4gKiBAbGluazogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkRnJvbnQvbGF0ZXN0L0RldmVsb3Blckd1aWRlL2FkZC1vcmlnaW4tY3VzdG9tLWhlYWRlcnMuaHRtbCNhZGQtb3JpZ2luLWN1c3RvbS1oZWFkZXJzLWRlbnlsaXN0XG4gKi9cbmZ1bmN0aW9uIHZhbGlkYXRlQ3VzdG9tSGVhZGVycyhjdXN0b21IZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPikge1xuICBpZiAoIWN1c3RvbUhlYWRlcnMgfHwgT2JqZWN0LmVudHJpZXMoY3VzdG9tSGVhZGVycykubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IGN1c3RvbUhlYWRlcktleXMgPSBPYmplY3Qua2V5cyhjdXN0b21IZWFkZXJzKTtcbiAgY29uc3QgcHJvaGliaXRlZEhlYWRlcktleXMgPSBbXG4gICAgXCJDYWNoZS1Db250cm9sXCIsXG4gICAgXCJDb25uZWN0aW9uXCIsXG4gICAgXCJDb250ZW50LUxlbmd0aFwiLFxuICAgIFwiQ29va2llXCIsXG4gICAgXCJIb3N0XCIsXG4gICAgXCJJZi1NYXRjaFwiLFxuICAgIFwiSWYtTW9kaWZpZWQtU2luY2VcIixcbiAgICBcIklmLU5vbmUtTWF0Y2hcIixcbiAgICBcIklmLVJhbmdlXCIsXG4gICAgXCJJZi1Vbm1vZGlmaWVkLVNpbmNlXCIsXG4gICAgXCJNYXgtRm9yd2FyZHNcIixcbiAgICBcIlByYWdtYVwiLFxuICAgIFwiUHJveHktQXV0aG9yaXphdGlvblwiLFxuICAgIFwiUHJveHktQ29ubmVjdGlvblwiLFxuICAgIFwiUmFuZ2VcIixcbiAgICBcIlJlcXVlc3QtUmFuZ2VcIixcbiAgICBcIlRFXCIsXG4gICAgXCJUcmFpbGVyXCIsXG4gICAgXCJUcmFuc2Zlci1FbmNvZGluZ1wiLFxuICAgIFwiVXBncmFkZVwiLFxuICAgIFwiVmlhXCIsXG4gICAgXCJYLVJlYWwtSXBcIixcbiAgXTtcbiAgY29uc3QgcHJvaGliaXRlZEhlYWRlcktleVByZWZpeGVzID0gW1wiWC1BbXotXCIsIFwiWC1FZGdlLVwiXTtcblxuICBjb25zdCBwcm9oaWJpdGVkSGVhZGVyc0tleXNNYXRjaGVzID0gY3VzdG9tSGVhZGVyS2V5cy5maWx0ZXIoKGN1c3RvbUtleSkgPT4ge1xuICAgIHJldHVybiBwcm9oaWJpdGVkSGVhZGVyS2V5c1xuICAgICAgLm1hcCgocHJvaGliaXRlZEtleSkgPT4gcHJvaGliaXRlZEtleS50b0xvd2VyQ2FzZSgpKVxuICAgICAgLmluY2x1ZGVzKGN1c3RvbUtleS50b0xvd2VyQ2FzZSgpKTtcbiAgfSk7XG4gIGNvbnN0IHByb2hpYml0ZWRIZWFkZXJQcmVmaXhNYXRjaGVzID0gY3VzdG9tSGVhZGVyS2V5cy5maWx0ZXIoKGN1c3RvbUtleSkgPT4ge1xuICAgIHJldHVybiBwcm9oaWJpdGVkSGVhZGVyS2V5UHJlZml4ZXMuc29tZSgocHJvaGliaXRlZEtleVByZWZpeCkgPT5cbiAgICAgIGN1c3RvbUtleS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgocHJvaGliaXRlZEtleVByZWZpeC50b0xvd2VyQ2FzZSgpKSxcbiAgICApO1xuICB9KTtcblxuICBpZiAocHJvaGliaXRlZEhlYWRlcnNLZXlzTWF0Y2hlcy5sZW5ndGggIT09IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgVGhlIGZvbGxvd2luZyBoZWFkZXJzIGNhbm5vdCBiZSBjb25maWd1cmVkIGFzIGN1c3RvbSBvcmlnaW4gaGVhZGVyczogJHtwcm9oaWJpdGVkSGVhZGVyc0tleXNNYXRjaGVzLmpvaW4oXCIsIFwiKX1gLFxuICAgICk7XG4gIH1cbiAgaWYgKHByb2hpYml0ZWRIZWFkZXJQcmVmaXhNYXRjaGVzLmxlbmd0aCAhPT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBUaGUgZm9sbG93aW5nIGhlYWRlcnMgY2Fubm90IGJlIHVzZWQgYXMgcHJlZml4ZXMgZm9yIGN1c3RvbSBvcmlnaW4gaGVhZGVyczogJHtwcm9oaWJpdGVkSGVhZGVyUHJlZml4TWF0Y2hlcy5qb2luKFwiLCBcIil9YCxcbiAgICApO1xuICB9XG59XG5cbi8vIHJlZjogaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTU2LjAvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQtb3JpZ2lucy9saWIvczMtb3JpZ2luLnRzXG5cbi8qKlxuICogQW4gT3JpZ2luIHRoYXQgaXMgYmFja2VkIGJ5IGFuIFMzIGJ1Y2tldC5cbiAqXG4gKiBJZiB0aGUgYnVja2V0IGlzIGNvbmZpZ3VyZWQgZm9yIHdlYnNpdGUgaG9zdGluZywgdGhpcyBvcmlnaW4gd2lsbCBiZSBjb25maWd1cmVkIHRvIHVzZSB0aGUgYnVja2V0IGFzIGFuXG4gKiBIVFRQIHNlcnZlciBvcmlnaW4gYW5kIHdpbGwgdXNlIHRoZSBidWNrZXQncyBjb25maWd1cmVkIHdlYnNpdGUgcmVkaXJlY3RzIGFuZCBlcnJvciBoYW5kbGluZy4gT3RoZXJ3aXNlLFxuICogdGhlIG9yaWdpbiBpcyBjcmVhdGVkIGFzIGEgYnVja2V0IG9yaWdpbiBhbmQgd2lsbCB1c2UgQ2xvdWRGcm9udCdzIHJlZGlyZWN0IGFuZCBlcnJvciBoYW5kbGluZy5cbiAqL1xuZXhwb3J0IGNsYXNzIFMzT3JpZ2luIGltcGxlbWVudHMgSU9yaWdpbiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3JpZ2luOiBJT3JpZ2luO1xuXG4gIGNvbnN0cnVjdG9yKGJ1Y2tldDogSUJ1Y2tldCwgcHJvcHM6IE9yaWdpblByb3BzID0ge30pIHtcbiAgICB0aGlzLm9yaWdpbiA9IGJ1Y2tldC5pc1dlYnNpdGUoKVxuICAgICAgPyBuZXcgSHR0cE9yaWdpbihidWNrZXQuYnVja2V0T3V0cHV0cy53ZWJzaXRlVXJsLCB7XG4gICAgICAgICAgcHJvdG9jb2xQb2xpY3k6IE9yaWdpblByb3RvY29sUG9saWN5LkhUVFBfT05MWSwgLy8gUzMgb25seSBzdXBwb3J0cyBIVFRQIGZvciB3ZWJzaXRlIGJ1Y2tldHNcbiAgICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgfSlcbiAgICAgIDogbmV3IFMzQnVja2V0T3JpZ2luKGJ1Y2tldCwgcHJvcHMpO1xuICB9XG5cbiAgcHVibGljIHJlbmRlcihcbiAgICBvcmlnaW5JZDogc3RyaW5nLFxuICApOiBjbG91ZGZyb250RGlzdHJpYnV0aW9uLkNsb3VkZnJvbnREaXN0cmlidXRpb25PcmlnaW4ge1xuICAgIHJldHVybiB0aGlzLm9yaWdpbi5yZW5kZXIob3JpZ2luSWQpO1xuICB9XG59XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE1Ni4wL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1jbG91ZGZyb250LW9yaWdpbnMvbGliL3MzLW9yaWdpbi50cyNMNTFcblxuLyoqXG4gKiBBbiBPcmlnaW4gc3BlY2lmaWMgdG8gYSBTMyBidWNrZXQgKG5vdCBjb25maWd1cmVkIGZvciB3ZWJzaXRlIGhvc3RpbmcpLlxuICpcbiAqIENvbnRhaW5zIGFkZGl0aW9uYWwgbG9naWMgYXJvdW5kIGJ1Y2tldCBwZXJtaXNzaW9ucyBhbmQgb3JpZ2luIGFjY2VzcyBpZGVudGl0aWVzLlxuICovXG5jbGFzcyBTM0J1Y2tldE9yaWdpbiBleHRlbmRzIE9yaWdpbkJhc2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJ1Y2tldDogSUJ1Y2tldCxcbiAgICBwcm9wczogT3JpZ2luUHJvcHMsXG4gICkge1xuICAgIHN1cGVyKGJ1Y2tldC5idWNrZXRPdXRwdXRzLnJlZ2lvbmFsRG9tYWluTmFtZSwgcHJvcHMpO1xuICAgIGlmICghdGhpcy5idWNrZXQuYnVja2V0T3V0cHV0cy5vcmlnaW5BY2Nlc3NJZGVudGl0eSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlRoZSBidWNrZXQgbXVzdCBoYXZlIGFuIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkgdG8gYmUgdXNlZCBhcyBhIENsb3VkRnJvbnQgb3JpZ2luLiBcIiArXG4gICAgICAgICAgXCJJZiB0aGUgYnVja2V0IGlzIGltcG9ydGVkLCB5b3UgbXVzdCBpbmNsdWRlIHRoZSBvcmlnaW5hY2Nlc3MgaWRlbnRpdHkgaW4gdGhlIGltcG9ydCBvcHRpb25zLlwiLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVuZGVyUzNPcmlnaW5Db25maWcoKTpcbiAgICB8IGNsb3VkZnJvbnREaXN0cmlidXRpb24uQ2xvdWRmcm9udERpc3RyaWJ1dGlvbk9yaWdpblMzT3JpZ2luQ29uZmlnXG4gICAgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB7XG4gICAgICAvLyBjb25zdHJ1Y3RvciB0aHJvd3MgaWYgdW5kZWZpbmVkLCBzbyB0aGlzIGlzIHNhZmU/XG4gICAgICBvcmlnaW5BY2Nlc3NJZGVudGl0eTogdGhpcy5idWNrZXQuYnVja2V0T3V0cHV0cy5vcmlnaW5BY2Nlc3NJZGVudGl0eSEsXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGFuIE9yaWdpbiBiYWNrZWQgYnkgYW4gUzMgd2Vic2l0ZS1jb25maWd1cmVkIGJ1Y2tldCwgbG9hZCBiYWxhbmNlciwgb3IgY3VzdG9tIEhUVFAgc2VydmVyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBPcmlnaW5Qcm9wcyBleHRlbmRzIE9yaWdpblByb3BzIHtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgcHJvdG9jb2wgKEhUVFAgb3IgSFRUUFMpIHRoYXQgQ2xvdWRGcm9udCB1c2VzIHRvIGNvbm5lY3QgdG8gdGhlIG9yaWdpbi5cbiAgICpcbiAgICogQGRlZmF1bHQgT3JpZ2luUHJvdG9jb2xQb2xpY3kuSFRUUFNfT05MWVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdG9jb2xQb2xpY3k/OiBPcmlnaW5Qcm90b2NvbFBvbGljeTtcblxuICAvKipcbiAgICogVGhlIFNTTCB2ZXJzaW9ucyB0byB1c2Ugd2hlbiBpbnRlcmFjdGluZyB3aXRoIHRoZSBvcmlnaW4uXG4gICAqXG4gICAqIEBkZWZhdWx0IE9yaWdpblNzbFBvbGljeS5UTFNfVjFfMlxuICAgKi9cbiAgcmVhZG9ubHkgb3JpZ2luU3NsUHJvdG9jb2xzPzogT3JpZ2luU3NsUG9saWN5W107XG5cbiAgLyoqXG4gICAqIFRoZSBIVFRQIHBvcnQgdGhhdCBDbG91ZEZyb250IHVzZXMgdG8gY29ubmVjdCB0byB0aGUgb3JpZ2luLlxuICAgKlxuICAgKiBAZGVmYXVsdCA4MFxuICAgKi9cbiAgcmVhZG9ubHkgaHR0cFBvcnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBIVFRQUyBwb3J0IHRoYXQgQ2xvdWRGcm9udCB1c2VzIHRvIGNvbm5lY3QgdG8gdGhlIG9yaWdpbi5cbiAgICpcbiAgICogQGRlZmF1bHQgNDQzXG4gICAqL1xuICByZWFkb25seSBodHRwc1BvcnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBob3cgbG9uZywgaW4gc2Vjb25kcywgQ2xvdWRGcm9udCB3YWl0cyBmb3IgYSByZXNwb25zZSBmcm9tIHRoZSBvcmlnaW4sIGFsc28ga25vd24gYXMgdGhlIG9yaWdpbiByZXNwb25zZSB0aW1lb3V0LlxuICAgKiBUaGUgdmFsaWQgcmFuZ2UgaXMgZnJvbSAxIHRvIDE4MCBzZWNvbmRzLCBpbmNsdXNpdmUuXG4gICAqXG4gICAqIE5vdGUgdGhhdCB2YWx1ZXMgb3ZlciA2MCBzZWNvbmRzIGFyZSBwb3NzaWJsZSBvbmx5IGFmdGVyIGEgbGltaXQgaW5jcmVhc2UgcmVxdWVzdCBmb3IgdGhlIG9yaWdpbiByZXNwb25zZSB0aW1lb3V0IHF1b3RhXG4gICAqIGhhcyBiZWVuIGFwcHJvdmVkIGluIHRoZSB0YXJnZXQgYWNjb3VudDsgb3RoZXJ3aXNlLCB2YWx1ZXMgb3ZlciA2MCBzZWNvbmRzIHdpbGwgcHJvZHVjZSBhbiBlcnJvciBhdCBkZXBsb3kgdGltZS5cbiAgICpcbiAgICogQGRlZmF1bHQgRHVyYXRpb24uc2Vjb25kcygzMClcbiAgICovXG4gIHJlYWRvbmx5IHJlYWRUaW1lb3V0PzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBob3cgbG9uZywgaW4gc2Vjb25kcywgQ2xvdWRGcm9udCBwZXJzaXN0cyBpdHMgY29ubmVjdGlvbiB0byB0aGUgb3JpZ2luLlxuICAgKiBUaGUgdmFsaWQgcmFuZ2UgaXMgZnJvbSAxIHRvIDE4MCBzZWNvbmRzLCBpbmNsdXNpdmUuXG4gICAqXG4gICAqIE5vdGUgdGhhdCB2YWx1ZXMgb3ZlciA2MCBzZWNvbmRzIGFyZSBwb3NzaWJsZSBvbmx5IGFmdGVyIGEgbGltaXQgaW5jcmVhc2UgcmVxdWVzdCBmb3IgdGhlIG9yaWdpbiByZXNwb25zZSB0aW1lb3V0IHF1b3RhXG4gICAqIGhhcyBiZWVuIGFwcHJvdmVkIGluIHRoZSB0YXJnZXQgYWNjb3VudDsgb3RoZXJ3aXNlLCB2YWx1ZXMgb3ZlciA2MCBzZWNvbmRzIHdpbGwgcHJvZHVjZSBhbiBlcnJvciBhdCBkZXBsb3kgdGltZS5cbiAgICpcbiAgICogQGRlZmF1bHQgRHVyYXRpb24uc2Vjb25kcyg1KVxuICAgKi9cbiAgcmVhZG9ubHkga2VlcGFsaXZlVGltZW91dD86IER1cmF0aW9uO1xufVxuXG4vKipcbiAqIEFuIE9yaWdpbiBmb3IgYW4gSFRUUCBzZXJ2ZXIgb3IgUzMgYnVja2V0IGNvbmZpZ3VyZWQgZm9yIHdlYnNpdGUgaG9zdGluZy5cbiAqL1xuZXhwb3J0IGNsYXNzIEh0dHBPcmlnaW4gZXh0ZW5kcyBPcmlnaW5CYXNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgZG9tYWluTmFtZTogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IEh0dHBPcmlnaW5Qcm9wcyA9IHt9LFxuICApIHtcbiAgICBzdXBlcihkb21haW5OYW1lLCBwcm9wcyk7XG5cbiAgICB2YWxpZGF0ZVNlY29uZHNJblJhbmdlT3JVbmRlZmluZWQoXCJyZWFkVGltZW91dFwiLCAxLCAxODAsIHByb3BzLnJlYWRUaW1lb3V0KTtcbiAgICB2YWxpZGF0ZVNlY29uZHNJblJhbmdlT3JVbmRlZmluZWQoXG4gICAgICBcImtlZXBhbGl2ZVRpbWVvdXRcIixcbiAgICAgIDEsXG4gICAgICAxODAsXG4gICAgICBwcm9wcy5rZWVwYWxpdmVUaW1lb3V0LFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVuZGVyQ3VzdG9tT3JpZ2luQ29uZmlnKCk6XG4gICAgfCBjbG91ZGZyb250RGlzdHJpYnV0aW9uLkNsb3VkZnJvbnREaXN0cmlidXRpb25PcmlnaW5DdXN0b21PcmlnaW5Db25maWdcbiAgICB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9yaWdpblNzbFByb3RvY29sczogdGhpcy5wcm9wcy5vcmlnaW5Tc2xQcm90b2NvbHMgPz8gW1xuICAgICAgICBPcmlnaW5Tc2xQb2xpY3kuVExTX1YxXzIsXG4gICAgICBdLFxuICAgICAgb3JpZ2luUHJvdG9jb2xQb2xpY3k6XG4gICAgICAgIHRoaXMucHJvcHMucHJvdG9jb2xQb2xpY3kgPz8gT3JpZ2luUHJvdG9jb2xQb2xpY3kuSFRUUFNfT05MWSxcbiAgICAgIGh0dHBQb3J0OiB0aGlzLnByb3BzLmh0dHBQb3J0ID8/IDgwLFxuICAgICAgaHR0cHNQb3J0OiB0aGlzLnByb3BzLmh0dHBzUG9ydCA/PyA0NDMsXG4gICAgICBvcmlnaW5SZWFkVGltZW91dDogdGhpcy5wcm9wcy5yZWFkVGltZW91dD8udG9TZWNvbmRzKCksXG4gICAgICBvcmlnaW5LZWVwYWxpdmVUaW1lb3V0OiB0aGlzLnByb3BzLmtlZXBhbGl2ZVRpbWVvdXQ/LnRvU2Vjb25kcygpLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBUaHJvd3MgYW4gZXJyb3IgaWYgYSBkdXJhdGlvbiBpcyBkZWZpbmVkIGFuZCBub3QgYW4gaW50ZWdlciBudW1iZXIgb2Ygc2Vjb25kcyB3aXRoaW4gYSByYW5nZS5cbiAqL1xuZnVuY3Rpb24gdmFsaWRhdGVTZWNvbmRzSW5SYW5nZU9yVW5kZWZpbmVkKFxuICBuYW1lOiBzdHJpbmcsXG4gIG1pbjogbnVtYmVyLFxuICBtYXg6IG51bWJlcixcbiAgZHVyYXRpb24/OiBEdXJhdGlvbixcbikge1xuICBpZiAoZHVyYXRpb24gPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCB2YWx1ZSA9IGR1cmF0aW9uLnRvU2Vjb25kcygpO1xuICBpZiAoIU51bWJlci5pc0ludGVnZXIodmFsdWUpIHx8IHZhbHVlIDwgbWluIHx8IHZhbHVlID4gbWF4KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYCR7bmFtZX06IE11c3QgYmUgYW4gaW50IGJldHdlZW4gJHttaW59IGFuZCAke21heH0gc2Vjb25kcyAoaW5jbHVzaXZlKTsgcmVjZWl2ZWQgJHt2YWx1ZX0uYCxcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
247
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JpZ2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9lZGdlL29yaWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLGlDQUE4QjtBQTBEOUI7O0dBRUc7QUFDSCxJQUFZLG9CQU9YO0FBUEQsV0FBWSxvQkFBb0I7SUFDOUIsMkJBQTJCO0lBQzNCLCtDQUF1QixDQUFBO0lBQ3ZCLG1EQUFtRDtJQUNuRCxxREFBNkIsQ0FBQTtJQUM3Qiw0QkFBNEI7SUFDNUIsaURBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQVBXLG9CQUFvQixvQ0FBcEIsb0JBQW9CLFFBTy9CO0FBRUQsSUFBWSxlQUtYO0FBTEQsV0FBWSxlQUFlO0lBQ3pCLG1DQUFnQixDQUFBO0lBQ2hCLG1DQUFnQixDQUFBO0lBQ2hCLHVDQUFvQixDQUFBO0lBQ3BCLHVDQUFvQixDQUFBO0FBQ3RCLENBQUMsRUFMVyxlQUFlLCtCQUFmLGVBQWUsUUFLMUI7QUFFRDs7O0dBR0c7QUFDSCxNQUFzQixVQUFVO0lBTTlCLFlBQXNCLFVBQWtCLEVBQUUsUUFBcUIsRUFBRTtRQUMvRCw2QkFBNkIsQ0FDM0IsbUJBQW1CLEVBQ25CLENBQUMsRUFDRCxFQUFFLEVBQ0YsS0FBSyxDQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxDQUNyQyxDQUFDO1FBQ0YsNkJBQTZCLENBQzNCLG9CQUFvQixFQUNwQixDQUFDLEVBQ0QsQ0FBQyxFQUNELEtBQUssQ0FBQyxrQkFBa0IsRUFDeEIsS0FBSyxDQUNOLENBQUM7UUFDRixxQkFBcUIsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFM0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUMsaUJBQWlCLENB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LENBQUMsVUFBVTtZQUM5RCxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksRUFBRTtZQUNuQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksR0FBRztZQUN0QyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUU7WUFDdEQsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLEVBQUU7U0FDakUsQ0FBQztJQUNKLENBQUM7O0FBOUJILGdDQStCQzs7O0FBRUQ7O0dBRUc7QUFDSCxTQUFTLGlDQUFpQyxDQUN4QyxJQUFZLEVBQ1osR0FBVyxFQUNYLEdBQVcsRUFDWCxRQUFtQjtJQUVuQixJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUMzQixPQUFPO0lBQ1QsQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLEdBQUcsR0FBRyxJQUFJLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUMzRCxNQUFNLElBQUksS0FBSyxDQUNiLEdBQUcsSUFBSSw0QkFBNEIsR0FBRyxRQUFRLEdBQUcsa0NBQWtDLEtBQUssR0FBRyxDQUM1RixDQUFDO0lBQ0osQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyByZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE1Ni4wL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1jbG91ZGZyb250L2xpYi9vcmlnaW4udHNcblxuaW1wb3J0IHsgY2xvdWRmcm9udERpc3RyaWJ1dGlvbiB9IGZyb20gXCJAY2RrdG4vcHJvdmlkZXItYXdzXCI7XG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gXCJjZGt0blwiO1xuaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tIFwiLi4vLi4vXCI7XG5pbXBvcnQgeyBJQnVja2V0IH0gZnJvbSBcIi4uL3N0b3JhZ2VcIjtcblxuLy9UT0RPOiBBZGQgc3VwcG9ydCBmb3IgZmFpbG92ZXIgY29uZmlndXJhdGlvbiB1c2VkIGZvciBPcmlnaW4gR3JvdXBzXG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgY29uY2VwdCBvZiBhIENsb3VkRnJvbnQgT3JpZ2luLlxuICogWW91IHByb3ZpZGUgb25lIG9yIG1vcmUgb3JpZ2lucyB3aGVuIGNyZWF0aW5nIGEgRGlzdHJpYnV0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElPcmlnaW4ge1xuICAvKipcbiAgICogVGhlIG1ldGhvZCBjYWxsZWQgd2hlbiBhIGdpdmVuIE9yaWdpbiBpcyBhZGRlZFxuICAgKiAoZm9yIHRoZSBmaXJzdCB0aW1lKSB0byBhIERpc3RyaWJ1dGlvbi5cbiAgICovXG4gIHJlbmRlcihpZDogc3RyaW5nKTogY2xvdWRmcm9udERpc3RyaWJ1dGlvbi5DbG91ZGZyb250RGlzdHJpYnV0aW9uT3JpZ2luO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgdG8gZGVmaW5lIGFuIE9yaWdpbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcmlnaW5PcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2Ygc2Vjb25kcyB0aGF0IENsb3VkRnJvbnQgd2FpdHMgd2hlbiB0cnlpbmcgdG8gZXN0YWJsaXNoIGEgY29ubmVjdGlvbiB0byB0aGUgb3JpZ2luLlxuICAgKiBWYWxpZCB2YWx1ZXMgYXJlIDEtMTAgc2Vjb25kcywgaW5jbHVzaXZlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBEdXJhdGlvbi5zZWNvbmRzKDEwKVxuICAgKi9cbiAgcmVhZG9ubHkgY29ubmVjdGlvblRpbWVvdXQ/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiB0aW1lcyB0aGF0IENsb3VkRnJvbnQgYXR0ZW1wdHMgdG8gY29ubmVjdCB0byB0aGUgb3JpZ2luOyB2YWxpZCB2YWx1ZXMgYXJlIDEsIDIsIG9yIDMgYXR0ZW1wdHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IDNcbiAgICovXG4gIHJlYWRvbmx5IGNvbm5lY3Rpb25BdHRlbXB0cz86IG51bWJlcjtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIEhUVFAgaGVhZGVyIG5hbWVzIGFuZCB2YWx1ZXMgdGhhdCBDbG91ZEZyb250IGFkZHMgdG8gcmVxdWVzdHMgaXQgc2VuZHMgdG8gdGhlIG9yaWdpbi5cbiAgICpcbiAgICogQGRlZmF1bHQge31cbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbUhlYWRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgdG8gZGVmaW5lIGFuIE9yaWdpbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcmlnaW5Qcm9wcyBleHRlbmRzIE9yaWdpbk9wdGlvbnMge1xuICAvKipcbiAgICogQW4gb3B0aW9uYWwgcGF0aCB0aGF0IENsb3VkRnJvbnQgYXBwZW5kcyB0byB0aGUgb3JpZ2luIGRvbWFpbiBuYW1lIHdoZW4gQ2xvdWRGcm9udCByZXF1ZXN0cyBjb250ZW50IGZyb20gdGhlIG9yaWdpbi5cbiAgICogTXVzdCBiZWdpbiwgYnV0IG5vdCBlbmQsIHdpdGggJy8nIChlLmcuLCAnL3Byb2R1Y3Rpb24vaW1hZ2VzJykuXG4gICAqXG4gICAqIEBkZWZhdWx0ICcvJ1xuICAgKi9cbiAgcmVhZG9ubHkgb3JpZ2luUGF0aD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBEZWZpbmVzIHdoYXQgcHJvdG9jb2xzIENsb3VkRnJvbnQgd2lsbCB1c2UgdG8gY29ubmVjdCB0byBhbiBvcmlnaW4uXG4gKi9cbmV4cG9ydCBlbnVtIE9yaWdpblByb3RvY29sUG9saWN5IHtcbiAgLyoqIENvbm5lY3Qgb24gSFRUUCBvbmx5ICovXG4gIEhUVFBfT05MWSA9IFwiaHR0cC1vbmx5XCIsXG4gIC8qKiBDb25uZWN0IHdpdGggdGhlIHNhbWUgcHJvdG9jb2wgYXMgdGhlIHZpZXdlciAqL1xuICBNQVRDSF9WSUVXRVIgPSBcIm1hdGNoLXZpZXdlclwiLFxuICAvKiogQ29ubmVjdCBvbiBIVFRQUyBvbmx5ICovXG4gIEhUVFBTX09OTFkgPSBcImh0dHBzLW9ubHlcIixcbn1cblxuZXhwb3J0IGVudW0gT3JpZ2luU3NsUG9saWN5IHtcbiAgU1NMX1YzID0gXCJTU0x2M1wiLFxuICBUTFNfVjEgPSBcIlRMU3YxXCIsXG4gIFRMU19WMV8xID0gXCJUTFN2MS4xXCIsXG4gIFRMU19WMV8yID0gXCJUTFN2MS4yXCIsXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGRpc3RyaWJ1dGlvbiBvcmlnaW4sIHRoYXQgZGVzY3JpYmVzIHRoZSBBbWF6b24gUzMgYnVja2V0LCBIVFRQIHNlcnZlciAoZm9yIGV4YW1wbGUsIGEgd2ViIHNlcnZlciksXG4gKiBBbWF6b24gTWVkaWFTdG9yZSwgb3Igb3RoZXIgc2VydmVyIGZyb20gd2hpY2ggQ2xvdWRGcm9udCBnZXRzIHlvdXIgZmlsZXMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBPcmlnaW5CYXNlIGltcGxlbWVudHMgSU9yaWdpbiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IG9yaWdpblBhdGg/OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29ubmVjdGlvblRpbWVvdXQ/OiBEdXJhdGlvbjtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25uZWN0aW9uQXR0ZW1wdHM/OiBudW1iZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgY3VzdG9tSGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihkb21haW5OYW1lOiBzdHJpbmcsIHByb3BzOiBPcmlnaW5Qcm9wcyA9IHt9KSB7XG4gICAgdmFsaWRhdGVJbnRJblJhbmdlT3JVbmRlZmluZWQoXG4gICAgICBcImNvbm5lY3Rpb25UaW1lb3V0XCIsXG4gICAgICAxLFxuICAgICAgMTAsXG4gICAgICBwcm9wcy5jb25uZWN0aW9uVGltZW91dD8udG9TZWNvbmRzKCksXG4gICAgKTtcbiAgICB2YWxpZGF0ZUludEluUmFuZ2VPclVuZGVmaW5lZChcbiAgICAgIFwiY29ubmVjdGlvbkF0dGVtcHRzXCIsXG4gICAgICAxLFxuICAgICAgMyxcbiAgICAgIHByb3BzLmNvbm5lY3Rpb25BdHRlbXB0cyxcbiAgICAgIGZhbHNlLFxuICAgICk7XG4gICAgdmFsaWRhdGVDdXN0b21IZWFkZXJzKHByb3BzLmN1c3RvbUhlYWRlcnMpO1xuXG4gICAgdGhpcy5kb21haW5OYW1lID0gZG9tYWluTmFtZTtcbiAgICB0aGlzLm9yaWdpblBhdGggPSB0aGlzLnZhbGlkYXRlT3JpZ2luUGF0aChwcm9wcy5vcmlnaW5QYXRoKTtcbiAgICB0aGlzLmNvbm5lY3Rpb25UaW1lb3V0ID0gcHJvcHMuY29ubmVjdGlvblRpbWVvdXQ7XG4gICAgdGhpcy5jb25uZWN0aW9uQXR0ZW1wdHMgPSBwcm9wcy5jb25uZWN0aW9uQXR0ZW1wdHM7XG4gICAgdGhpcy5jdXN0b21IZWFkZXJzID0gcHJvcHMuY3VzdG9tSGVhZGVycztcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgaW50ZXJuYWxseSBieSB0aGUgRGlzdHJpYnV0aW9uIHRvIHJlbmRlciB0aGUgb3JpZ2luLlxuICAgKi9cbiAgcHVibGljIHJlbmRlcihcbiAgICBvcmlnaW5JZDogc3RyaW5nLFxuICApOiBjbG91ZGZyb250RGlzdHJpYnV0aW9uLkNsb3VkZnJvbnREaXN0cmlidXRpb25PcmlnaW4ge1xuICAgIGNvbnN0IHMzT3JpZ2luQ29uZmlnID0gdGhpcy5yZW5kZXJTM09yaWdpbkNvbmZpZygpO1xuICAgIGNvbnN0IGN1c3RvbU9yaWdpbkNvbmZpZyA9IHRoaXMucmVuZGVyQ3VzdG9tT3JpZ2luQ29uZmlnKCk7XG5cbiAgICBpZiAoIXMzT3JpZ2luQ29uZmlnICYmICFjdXN0b21PcmlnaW5Db25maWcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJTdWJjbGFzcyBtdXN0IG92ZXJyaWRlIGFuZCBwcm92aWRlIGVpdGhlciBzM09yaWdpbkNvbmZpZyBvciBjdXN0b21PcmlnaW5Db25maWdcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG9yaWdpbklkLFxuICAgICAgZG9tYWluTmFtZTogdGhpcy5kb21haW5OYW1lLFxuICAgICAgb3JpZ2luUGF0aDogdGhpcy5vcmlnaW5QYXRoLFxuICAgICAgY29ubmVjdGlvbkF0dGVtcHRzOiB0aGlzLmNvbm5lY3Rpb25BdHRlbXB0cyxcbiAgICAgIGNvbm5lY3Rpb25UaW1lb3V0OiB0aGlzLmNvbm5lY3Rpb25UaW1lb3V0Py50b1NlY29uZHMoKSxcbiAgICAgIGN1c3RvbUhlYWRlcjogdGhpcy5yZW5kZXJDdXN0b21IZWFkZXJzKCksXG4gICAgICBzM09yaWdpbkNvbmZpZyxcbiAgICAgIGN1c3RvbU9yaWdpbkNvbmZpZyxcbiAgICB9O1xuICB9XG5cbiAgLy8gT3ZlcnJpZGRlbiBieSBzdWItY2xhc3NlcyB0byBwcm92aWRlIFMzIG9yaWdpbiBjb25maWcuXG4gIHByb3RlY3RlZCByZW5kZXJTM09yaWdpbkNvbmZpZygpOlxuICAgIHwgY2xvdWRmcm9udERpc3RyaWJ1dGlvbi5DbG91ZGZyb250RGlzdHJpYnV0aW9uT3JpZ2luUzNPcmlnaW5Db25maWdcbiAgICB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8vIE92ZXJyaWRkZW4gYnkgc3ViLWNsYXNzZXMgdG8gcHJvdmlkZSBjdXN0b20gb3JpZ2luIGNvbmZpZy5cbiAgcHJvdGVjdGVkIHJlbmRlckN1c3RvbU9yaWdpbkNvbmZpZygpOlxuICAgIHwgY2xvdWRmcm9udERpc3RyaWJ1dGlvbi5DbG91ZGZyb250RGlzdHJpYnV0aW9uT3JpZ2luQ3VzdG9tT3JpZ2luQ29uZmlnXG4gICAgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlckN1c3RvbUhlYWRlcnMoKTpcbiAgICB8IGNsb3VkZnJvbnREaXN0cmlidXRpb24uQ2xvdWRmcm9udERpc3RyaWJ1dGlvbk9yaWdpbkN1c3RvbUhlYWRlcltdXG4gICAgfCB1bmRlZmluZWQge1xuICAgIGlmIChcbiAgICAgICF0aGlzLmN1c3RvbUhlYWRlcnMgfHxcbiAgICAgIE9iamVjdC5lbnRyaWVzKHRoaXMuY3VzdG9tSGVhZGVycykubGVuZ3RoID09PSAwXG4gICAgKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXModGhpcy5jdXN0b21IZWFkZXJzKS5tYXAoKFtuYW1lLCB2YWx1ZV0pID0+IHtcbiAgICAgIHJldHVybiB7IG5hbWUsIHZhbHVlIH07XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSWYgdGhlIHBhdGggaXMgZGVmaW5lZCwgaXQgbXVzdCBzdGFydCB3aXRoIGEgJy8nIGFuZCBub3QgZW5kIHdpdGggYSAnLycuXG4gICAqIFRoaXMgbWV0aG9kIHRha2VzIGluIHRoZSBvcmlnaW5QYXRoLCBhbmQgcmV0dXJucyBpdCBiYWNrIChpZiB1bmRlZmluZWQpIG9yIGFkZHMvcmVtb3ZlcyB0aGUgJy8nIGFzIGFwcHJvcHJpYXRlLlxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZU9yaWdpblBhdGgob3JpZ2luUGF0aD86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZChvcmlnaW5QYXRoKSkge1xuICAgICAgcmV0dXJuIG9yaWdpblBhdGg7XG4gICAgfVxuICAgIGlmIChvcmlnaW5QYXRoID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGxldCBwYXRoID0gb3JpZ2luUGF0aDtcbiAgICBpZiAoIXBhdGguc3RhcnRzV2l0aChcIi9cIikpIHtcbiAgICAgIHBhdGggPSBcIi9cIiArIHBhdGg7XG4gICAgfVxuICAgIGlmIChwYXRoLmVuZHNXaXRoKFwiL1wiKSkge1xuICAgICAgcGF0aCA9IHBhdGguc2xpY2UoMCwgLTEpO1xuICAgIH1cbiAgICByZXR1cm4gcGF0aDtcbiAgfVxufVxuXG4vKipcbiAqIFRocm93cyBhbiBlcnJvciBpZiBhIHZhbHVlIGlzIGRlZmluZWQgYW5kIG5vdCBhbiBpbnRlZ2VyIG9yIG5vdCBpbiBhIHJhbmdlLlxuICovXG5mdW5jdGlvbiB2YWxpZGF0ZUludEluUmFuZ2VPclVuZGVmaW5lZChcbiAgbmFtZTogc3RyaW5nLFxuICBtaW46IG51bWJlcixcbiAgbWF4OiBudW1iZXIsXG4gIHZhbHVlPzogbnVtYmVyLFxuICBpc0R1cmF0aW9uOiBib29sZWFuID0gdHJ1ZSxcbikge1xuICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybjtcbiAgfVxuICBpZiAoIU51bWJlci5pc0ludGVnZXIodmFsdWUpIHx8IHZhbHVlIDwgbWluIHx8IHZhbHVlID4gbWF4KSB7XG4gICAgY29uc3Qgc2Vjb25kcyA9IGlzRHVyYXRpb24gPyBcIiBzZWNvbmRzXCIgOiBcIlwiO1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGAke25hbWV9OiBNdXN0IGJlIGFuIGludCBiZXR3ZWVuICR7bWlufSBhbmQgJHttYXh9JHtzZWNvbmRzfSAoaW5jbHVzaXZlKTsgcmVjZWl2ZWQgJHt2YWx1ZX0uYCxcbiAgICApO1xuICB9XG59XG5cbi8qKlxuICogVGhyb3dzIGFuIGVycm9yIGlmIGN1c3RvbSBoZWFkZXIgYXNzaWdubWVudCBpcyBwcm9oaWJpdGVkIGJ5IENsb3VkRnJvbnQuXG4gKiBAbGluazogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkRnJvbnQvbGF0ZXN0L0RldmVsb3Blckd1aWRlL2FkZC1vcmlnaW4tY3VzdG9tLWhlYWRlcnMuaHRtbCNhZGQtb3JpZ2luLWN1c3RvbS1oZWFkZXJzLWRlbnlsaXN0XG4gKi9cbmZ1bmN0aW9uIHZhbGlkYXRlQ3VzdG9tSGVhZGVycyhjdXN0b21IZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPikge1xuICBpZiAoIWN1c3RvbUhlYWRlcnMgfHwgT2JqZWN0LmVudHJpZXMoY3VzdG9tSGVhZGVycykubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IGN1c3RvbUhlYWRlcktleXMgPSBPYmplY3Qua2V5cyhjdXN0b21IZWFkZXJzKTtcbiAgY29uc3QgcHJvaGliaXRlZEhlYWRlcktleXMgPSBbXG4gICAgXCJDYWNoZS1Db250cm9sXCIsXG4gICAgXCJDb25uZWN0aW9uXCIsXG4gICAgXCJDb250ZW50LUxlbmd0aFwiLFxuICAgIFwiQ29va2llXCIsXG4gICAgXCJIb3N0XCIsXG4gICAgXCJJZi1NYXRjaFwiLFxuICAgIFwiSWYtTW9kaWZpZWQtU2luY2VcIixcbiAgICBcIklmLU5vbmUtTWF0Y2hcIixcbiAgICBcIklmLVJhbmdlXCIsXG4gICAgXCJJZi1Vbm1vZGlmaWVkLVNpbmNlXCIsXG4gICAgXCJNYXgtRm9yd2FyZHNcIixcbiAgICBcIlByYWdtYVwiLFxuICAgIFwiUHJveHktQXV0aG9yaXphdGlvblwiLFxuICAgIFwiUHJveHktQ29ubmVjdGlvblwiLFxuICAgIFwiUmFuZ2VcIixcbiAgICBcIlJlcXVlc3QtUmFuZ2VcIixcbiAgICBcIlRFXCIsXG4gICAgXCJUcmFpbGVyXCIsXG4gICAgXCJUcmFuc2Zlci1FbmNvZGluZ1wiLFxuICAgIFwiVXBncmFkZVwiLFxuICAgIFwiVmlhXCIsXG4gICAgXCJYLVJlYWwtSXBcIixcbiAgXTtcbiAgY29uc3QgcHJvaGliaXRlZEhlYWRlcktleVByZWZpeGVzID0gW1wiWC1BbXotXCIsIFwiWC1FZGdlLVwiXTtcblxuICBjb25zdCBwcm9oaWJpdGVkSGVhZGVyc0tleXNNYXRjaGVzID0gY3VzdG9tSGVhZGVyS2V5cy5maWx0ZXIoKGN1c3RvbUtleSkgPT4ge1xuICAgIHJldHVybiBwcm9oaWJpdGVkSGVhZGVyS2V5c1xuICAgICAgLm1hcCgocHJvaGliaXRlZEtleSkgPT4gcHJvaGliaXRlZEtleS50b0xvd2VyQ2FzZSgpKVxuICAgICAgLmluY2x1ZGVzKGN1c3RvbUtleS50b0xvd2VyQ2FzZSgpKTtcbiAgfSk7XG4gIGNvbnN0IHByb2hpYml0ZWRIZWFkZXJQcmVmaXhNYXRjaGVzID0gY3VzdG9tSGVhZGVyS2V5cy5maWx0ZXIoKGN1c3RvbUtleSkgPT4ge1xuICAgIHJldHVybiBwcm9oaWJpdGVkSGVhZGVyS2V5UHJlZml4ZXMuc29tZSgocHJvaGliaXRlZEtleVByZWZpeCkgPT5cbiAgICAgIGN1c3RvbUtleS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgocHJvaGliaXRlZEtleVByZWZpeC50b0xvd2VyQ2FzZSgpKSxcbiAgICApO1xuICB9KTtcblxuICBpZiAocHJvaGliaXRlZEhlYWRlcnNLZXlzTWF0Y2hlcy5sZW5ndGggIT09IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgVGhlIGZvbGxvd2luZyBoZWFkZXJzIGNhbm5vdCBiZSBjb25maWd1cmVkIGFzIGN1c3RvbSBvcmlnaW4gaGVhZGVyczogJHtwcm9oaWJpdGVkSGVhZGVyc0tleXNNYXRjaGVzLmpvaW4oXCIsIFwiKX1gLFxuICAgICk7XG4gIH1cbiAgaWYgKHByb2hpYml0ZWRIZWFkZXJQcmVmaXhNYXRjaGVzLmxlbmd0aCAhPT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBUaGUgZm9sbG93aW5nIGhlYWRlcnMgY2Fubm90IGJlIHVzZWQgYXMgcHJlZml4ZXMgZm9yIGN1c3RvbSBvcmlnaW4gaGVhZGVyczogJHtwcm9oaWJpdGVkSGVhZGVyUHJlZml4TWF0Y2hlcy5qb2luKFwiLCBcIil9YCxcbiAgICApO1xuICB9XG59XG5cbi8vIHJlZjogaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTU2LjAvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQtb3JpZ2lucy9saWIvczMtb3JpZ2luLnRzXG5cbi8qKlxuICogQW4gT3JpZ2luIHRoYXQgaXMgYmFja2VkIGJ5IGFuIFMzIGJ1Y2tldC5cbiAqXG4gKiBJZiB0aGUgYnVja2V0IGlzIGNvbmZpZ3VyZWQgZm9yIHdlYnNpdGUgaG9zdGluZywgdGhpcyBvcmlnaW4gd2lsbCBiZSBjb25maWd1cmVkIHRvIHVzZSB0aGUgYnVja2V0IGFzIGFuXG4gKiBIVFRQIHNlcnZlciBvcmlnaW4gYW5kIHdpbGwgdXNlIHRoZSBidWNrZXQncyBjb25maWd1cmVkIHdlYnNpdGUgcmVkaXJlY3RzIGFuZCBlcnJvciBoYW5kbGluZy4gT3RoZXJ3aXNlLFxuICogdGhlIG9yaWdpbiBpcyBjcmVhdGVkIGFzIGEgYnVja2V0IG9yaWdpbiBhbmQgd2lsbCB1c2UgQ2xvdWRGcm9udCdzIHJlZGlyZWN0IGFuZCBlcnJvciBoYW5kbGluZy5cbiAqL1xuZXhwb3J0IGNsYXNzIFMzT3JpZ2luIGltcGxlbWVudHMgSU9yaWdpbiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3JpZ2luOiBJT3JpZ2luO1xuXG4gIGNvbnN0cnVjdG9yKGJ1Y2tldDogSUJ1Y2tldCwgcHJvcHM6IE9yaWdpblByb3BzID0ge30pIHtcbiAgICB0aGlzLm9yaWdpbiA9IGJ1Y2tldC5pc1dlYnNpdGUoKVxuICAgICAgPyBuZXcgSHR0cE9yaWdpbihidWNrZXQuYnVja2V0T3V0cHV0cy53ZWJzaXRlVXJsLCB7XG4gICAgICAgICAgcHJvdG9jb2xQb2xpY3k6IE9yaWdpblByb3RvY29sUG9saWN5LkhUVFBfT05MWSwgLy8gUzMgb25seSBzdXBwb3J0cyBIVFRQIGZvciB3ZWJzaXRlIGJ1Y2tldHNcbiAgICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgfSlcbiAgICAgIDogbmV3IFMzQnVja2V0T3JpZ2luKGJ1Y2tldCwgcHJvcHMpO1xuICB9XG5cbiAgcHVibGljIHJlbmRlcihcbiAgICBvcmlnaW5JZDogc3RyaW5nLFxuICApOiBjbG91ZGZyb250RGlzdHJpYnV0aW9uLkNsb3VkZnJvbnREaXN0cmlidXRpb25PcmlnaW4ge1xuICAgIHJldHVybiB0aGlzLm9yaWdpbi5yZW5kZXIob3JpZ2luSWQpO1xuICB9XG59XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE1Ni4wL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1jbG91ZGZyb250LW9yaWdpbnMvbGliL3MzLW9yaWdpbi50cyNMNTFcblxuLyoqXG4gKiBBbiBPcmlnaW4gc3BlY2lmaWMgdG8gYSBTMyBidWNrZXQgKG5vdCBjb25maWd1cmVkIGZvciB3ZWJzaXRlIGhvc3RpbmcpLlxuICpcbiAqIENvbnRhaW5zIGFkZGl0aW9uYWwgbG9naWMgYXJvdW5kIGJ1Y2tldCBwZXJtaXNzaW9ucyBhbmQgb3JpZ2luIGFjY2VzcyBpZGVudGl0aWVzLlxuICovXG5jbGFzcyBTM0J1Y2tldE9yaWdpbiBleHRlbmRzIE9yaWdpbkJhc2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJ1Y2tldDogSUJ1Y2tldCxcbiAgICBwcm9wczogT3JpZ2luUHJvcHMsXG4gICkge1xuICAgIHN1cGVyKGJ1Y2tldC5idWNrZXRPdXRwdXRzLnJlZ2lvbmFsRG9tYWluTmFtZSwgcHJvcHMpO1xuICAgIGlmICghdGhpcy5idWNrZXQuYnVja2V0T3V0cHV0cy5vcmlnaW5BY2Nlc3NJZGVudGl0eSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlRoZSBidWNrZXQgbXVzdCBoYXZlIGFuIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkgdG8gYmUgdXNlZCBhcyBhIENsb3VkRnJvbnQgb3JpZ2luLiBcIiArXG4gICAgICAgICAgXCJJZiB0aGUgYnVja2V0IGlzIGltcG9ydGVkLCB5b3UgbXVzdCBpbmNsdWRlIHRoZSBvcmlnaW5hY2Nlc3MgaWRlbnRpdHkgaW4gdGhlIGltcG9ydCBvcHRpb25zLlwiLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVuZGVyUzNPcmlnaW5Db25maWcoKTpcbiAgICB8IGNsb3VkZnJvbnREaXN0cmlidXRpb24uQ2xvdWRmcm9udERpc3RyaWJ1dGlvbk9yaWdpblMzT3JpZ2luQ29uZmlnXG4gICAgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB7XG4gICAgICAvLyBjb25zdHJ1Y3RvciB0aHJvd3MgaWYgdW5kZWZpbmVkLCBzbyB0aGlzIGlzIHNhZmU/XG4gICAgICBvcmlnaW5BY2Nlc3NJZGVudGl0eTogdGhpcy5idWNrZXQuYnVja2V0T3V0cHV0cy5vcmlnaW5BY2Nlc3NJZGVudGl0eSEsXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGFuIE9yaWdpbiBiYWNrZWQgYnkgYW4gUzMgd2Vic2l0ZS1jb25maWd1cmVkIGJ1Y2tldCwgbG9hZCBiYWxhbmNlciwgb3IgY3VzdG9tIEhUVFAgc2VydmVyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBPcmlnaW5Qcm9wcyBleHRlbmRzIE9yaWdpblByb3BzIHtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgcHJvdG9jb2wgKEhUVFAgb3IgSFRUUFMpIHRoYXQgQ2xvdWRGcm9udCB1c2VzIHRvIGNvbm5lY3QgdG8gdGhlIG9yaWdpbi5cbiAgICpcbiAgICogQGRlZmF1bHQgT3JpZ2luUHJvdG9jb2xQb2xpY3kuSFRUUFNfT05MWVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdG9jb2xQb2xpY3k/OiBPcmlnaW5Qcm90b2NvbFBvbGljeTtcblxuICAvKipcbiAgICogVGhlIFNTTCB2ZXJzaW9ucyB0byB1c2Ugd2hlbiBpbnRlcmFjdGluZyB3aXRoIHRoZSBvcmlnaW4uXG4gICAqXG4gICAqIEBkZWZhdWx0IE9yaWdpblNzbFBvbGljeS5UTFNfVjFfMlxuICAgKi9cbiAgcmVhZG9ubHkgb3JpZ2luU3NsUHJvdG9jb2xzPzogT3JpZ2luU3NsUG9saWN5W107XG5cbiAgLyoqXG4gICAqIFRoZSBIVFRQIHBvcnQgdGhhdCBDbG91ZEZyb250IHVzZXMgdG8gY29ubmVjdCB0byB0aGUgb3JpZ2luLlxuICAgKlxuICAgKiBAZGVmYXVsdCA4MFxuICAgKi9cbiAgcmVhZG9ubHkgaHR0cFBvcnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBIVFRQUyBwb3J0IHRoYXQgQ2xvdWRGcm9udCB1c2VzIHRvIGNvbm5lY3QgdG8gdGhlIG9yaWdpbi5cbiAgICpcbiAgICogQGRlZmF1bHQgNDQzXG4gICAqL1xuICByZWFkb25seSBodHRwc1BvcnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBob3cgbG9uZywgaW4gc2Vjb25kcywgQ2xvdWRGcm9udCB3YWl0cyBmb3IgYSByZXNwb25zZSBmcm9tIHRoZSBvcmlnaW4sIGFsc28ga25vd24gYXMgdGhlIG9yaWdpbiByZXNwb25zZSB0aW1lb3V0LlxuICAgKiBUaGUgdmFsaWQgcmFuZ2UgaXMgZnJvbSAxIHRvIDE4MCBzZWNvbmRzLCBpbmNsdXNpdmUuXG4gICAqXG4gICAqIE5vdGUgdGhhdCB2YWx1ZXMgb3ZlciA2MCBzZWNvbmRzIGFyZSBwb3NzaWJsZSBvbmx5IGFmdGVyIGEgbGltaXQgaW5jcmVhc2UgcmVxdWVzdCBmb3IgdGhlIG9yaWdpbiByZXNwb25zZSB0aW1lb3V0IHF1b3RhXG4gICAqIGhhcyBiZWVuIGFwcHJvdmVkIGluIHRoZSB0YXJnZXQgYWNjb3VudDsgb3RoZXJ3aXNlLCB2YWx1ZXMgb3ZlciA2MCBzZWNvbmRzIHdpbGwgcHJvZHVjZSBhbiBlcnJvciBhdCBkZXBsb3kgdGltZS5cbiAgICpcbiAgICogQGRlZmF1bHQgRHVyYXRpb24uc2Vjb25kcygzMClcbiAgICovXG4gIHJlYWRvbmx5IHJlYWRUaW1lb3V0PzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBob3cgbG9uZywgaW4gc2Vjb25kcywgQ2xvdWRGcm9udCBwZXJzaXN0cyBpdHMgY29ubmVjdGlvbiB0byB0aGUgb3JpZ2luLlxuICAgKiBUaGUgdmFsaWQgcmFuZ2UgaXMgZnJvbSAxIHRvIDE4MCBzZWNvbmRzLCBpbmNsdXNpdmUuXG4gICAqXG4gICAqIE5vdGUgdGhhdCB2YWx1ZXMgb3ZlciA2MCBzZWNvbmRzIGFyZSBwb3NzaWJsZSBvbmx5IGFmdGVyIGEgbGltaXQgaW5jcmVhc2UgcmVxdWVzdCBmb3IgdGhlIG9yaWdpbiByZXNwb25zZSB0aW1lb3V0IHF1b3RhXG4gICAqIGhhcyBiZWVuIGFwcHJvdmVkIGluIHRoZSB0YXJnZXQgYWNjb3VudDsgb3RoZXJ3aXNlLCB2YWx1ZXMgb3ZlciA2MCBzZWNvbmRzIHdpbGwgcHJvZHVjZSBhbiBlcnJvciBhdCBkZXBsb3kgdGltZS5cbiAgICpcbiAgICogQGRlZmF1bHQgRHVyYXRpb24uc2Vjb25kcyg1KVxuICAgKi9cbiAgcmVhZG9ubHkga2VlcGFsaXZlVGltZW91dD86IER1cmF0aW9uO1xufVxuXG4vKipcbiAqIEFuIE9yaWdpbiBmb3IgYW4gSFRUUCBzZXJ2ZXIgb3IgUzMgYnVja2V0IGNvbmZpZ3VyZWQgZm9yIHdlYnNpdGUgaG9zdGluZy5cbiAqL1xuZXhwb3J0IGNsYXNzIEh0dHBPcmlnaW4gZXh0ZW5kcyBPcmlnaW5CYXNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgZG9tYWluTmFtZTogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IEh0dHBPcmlnaW5Qcm9wcyA9IHt9LFxuICApIHtcbiAgICBzdXBlcihkb21haW5OYW1lLCBwcm9wcyk7XG5cbiAgICB2YWxpZGF0ZVNlY29uZHNJblJhbmdlT3JVbmRlZmluZWQoXCJyZWFkVGltZW91dFwiLCAxLCAxODAsIHByb3BzLnJlYWRUaW1lb3V0KTtcbiAgICB2YWxpZGF0ZVNlY29uZHNJblJhbmdlT3JVbmRlZmluZWQoXG4gICAgICBcImtlZXBhbGl2ZVRpbWVvdXRcIixcbiAgICAgIDEsXG4gICAgICAxODAsXG4gICAgICBwcm9wcy5rZWVwYWxpdmVUaW1lb3V0LFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVuZGVyQ3VzdG9tT3JpZ2luQ29uZmlnKCk6XG4gICAgfCBjbG91ZGZyb250RGlzdHJpYnV0aW9uLkNsb3VkZnJvbnREaXN0cmlidXRpb25PcmlnaW5DdXN0b21PcmlnaW5Db25maWdcbiAgICB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9yaWdpblNzbFByb3RvY29sczogdGhpcy5wcm9wcy5vcmlnaW5Tc2xQcm90b2NvbHMgPz8gW1xuICAgICAgICBPcmlnaW5Tc2xQb2xpY3kuVExTX1YxXzIsXG4gICAgICBdLFxuICAgICAgb3JpZ2luUHJvdG9jb2xQb2xpY3k6XG4gICAgICAgIHRoaXMucHJvcHMucHJvdG9jb2xQb2xpY3kgPz8gT3JpZ2luUHJvdG9jb2xQb2xpY3kuSFRUUFNfT05MWSxcbiAgICAgIGh0dHBQb3J0OiB0aGlzLnByb3BzLmh0dHBQb3J0ID8/IDgwLFxuICAgICAgaHR0cHNQb3J0OiB0aGlzLnByb3BzLmh0dHBzUG9ydCA/PyA0NDMsXG4gICAgICBvcmlnaW5SZWFkVGltZW91dDogdGhpcy5wcm9wcy5yZWFkVGltZW91dD8udG9TZWNvbmRzKCksXG4gICAgICBvcmlnaW5LZWVwYWxpdmVUaW1lb3V0OiB0aGlzLnByb3BzLmtlZXBhbGl2ZVRpbWVvdXQ/LnRvU2Vjb25kcygpLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBUaHJvd3MgYW4gZXJyb3IgaWYgYSBkdXJhdGlvbiBpcyBkZWZpbmVkIGFuZCBub3QgYW4gaW50ZWdlciBudW1iZXIgb2Ygc2Vjb25kcyB3aXRoaW4gYSByYW5nZS5cbiAqL1xuZnVuY3Rpb24gdmFsaWRhdGVTZWNvbmRzSW5SYW5nZU9yVW5kZWZpbmVkKFxuICBuYW1lOiBzdHJpbmcsXG4gIG1pbjogbnVtYmVyLFxuICBtYXg6IG51bWJlcixcbiAgZHVyYXRpb24/OiBEdXJhdGlvbixcbikge1xuICBpZiAoZHVyYXRpb24gPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCB2YWx1ZSA9IGR1cmF0aW9uLnRvU2Vjb25kcygpO1xuICBpZiAoIU51bWJlci5pc0ludGVnZXIodmFsdWUpIHx8IHZhbHVlIDwgbWluIHx8IHZhbHVlID4gbWF4KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYCR7bmFtZX06IE11c3QgYmUgYW4gaW50IGJldHdlZW4gJHttaW59IGFuZCAke21heH0gc2Vjb25kcyAoaW5jbHVzaXZlKTsgcmVjZWl2ZWQgJHt2YWx1ZX0uYCxcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cloudfrontResponseHeadersPolicy } from "@
|
|
1
|
+
import { cloudfrontResponseHeadersPolicy } from "@cdktn/provider-aws";
|
|
2
2
|
import { Construct } from "constructs";
|
|
3
3
|
import { Duration } from "../../duration";
|
|
4
4
|
import { AwsConstructBase, AwsConstructProps } from "../aws-construct";
|
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.ManagedResponseHeadersPolicy = exports.HeadersReferrerPolicy = exports.HeadersFrameOption = exports.ResponseHeadersPolicy = void 0;
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
6
|
// https://github.com/aws/aws-cdk/blob/0f077c0a6adc1e5258d073f6de232d09cbb7ae54/packages/aws-cdk-lib/aws-cloudfront/lib/response-headers-policy.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 aws_construct_1 = require("../aws-construct");
|
|
10
10
|
/**
|
|
11
11
|
* A Response Headers Policy configuration
|
|
@@ -116,7 +116,7 @@ class ResponseHeadersPolicy extends aws_construct_1.AwsConstructBase {
|
|
|
116
116
|
];
|
|
117
117
|
return {
|
|
118
118
|
items: headers.map((header) => {
|
|
119
|
-
if (!
|
|
119
|
+
if (!cdktn_1.Token.isUnresolved(header) &&
|
|
120
120
|
readonlyHeaders.includes(header.toLowerCase())) {
|
|
121
121
|
throw new Error(`Cannot remove read-only header ${header}`);
|
|
122
122
|
}
|
|
@@ -125,7 +125,7 @@ class ResponseHeadersPolicy extends aws_construct_1.AwsConstructBase {
|
|
|
125
125
|
};
|
|
126
126
|
}
|
|
127
127
|
_renderServerTimingHeadersConfig(samplingRate) {
|
|
128
|
-
if (!
|
|
128
|
+
if (!cdktn_1.Token.isUnresolved(samplingRate)) {
|
|
129
129
|
if (samplingRate < 0 || samplingRate > 100) {
|
|
130
130
|
throw new Error(`Sampling rate must be between 0 and 100 (inclusive), received ${samplingRate}`);
|
|
131
131
|
}
|
|
@@ -141,7 +141,7 @@ class ResponseHeadersPolicy extends aws_construct_1.AwsConstructBase {
|
|
|
141
141
|
}
|
|
142
142
|
exports.ResponseHeadersPolicy = ResponseHeadersPolicy;
|
|
143
143
|
_a = JSII_RTTI_SYMBOL_1;
|
|
144
|
-
ResponseHeadersPolicy[_a] = { fqn: "terraconstructs.aws.edge.ResponseHeadersPolicy", version: "0.2.
|
|
144
|
+
ResponseHeadersPolicy[_a] = { fqn: "terraconstructs.aws.edge.ResponseHeadersPolicy", version: "0.2.6" };
|
|
145
145
|
/**
|
|
146
146
|
* Enum representing possible values of the X-Frame-Options HTTP response header.
|
|
147
147
|
*/
|
|
@@ -217,4 +217,4 @@ var ManagedResponseHeadersPolicy;
|
|
|
217
217
|
/** Use this managed policy to allow CORS requests from any origin, including preflight requests, and add a set of security headers to all responses that CloudFront sends to viewers. */
|
|
218
218
|
ManagedResponseHeadersPolicy["CORS_ALLOW_ALL_ORIGINS_WITH_PREFLIGHT_AND_SECURITY_HEADERS"] = "Managed-CORS-with-preflight-and-SecurityHeadersPolicy";
|
|
219
219
|
})(ManagedResponseHeadersPolicy || (exports.ManagedResponseHeadersPolicy = ManagedResponseHeadersPolicy = {}));
|
|
220
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2UtaGVhZGVycy1wb2xpY3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL2VkZ2UvcmVzcG9uc2UtaGVhZGVycy1wb2xpY3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrSkFBa0o7QUFDbEosc0RBRzZCO0FBQzdCLGlDQUE4QjtBQUc5QixvREFBdUU7QUFxRXZFOzs7OztHQUtHO0FBQ0gsTUFBYSxxQkFDWCxTQUFRLGdDQUFnQjtJQUd4Qjs7T0FFRztJQUNJLE1BQU0sQ0FBQywyQkFBMkIsQ0FDdkMsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLHVCQUErQjtRQUUvQixNQUFNLE1BQU8sU0FBUSxnQ0FBZ0I7WUFBckM7O2dCQUNrQixZQUFPLEdBQXdCLEVBQUUsQ0FBQztnQkFDbEMsNEJBQXVCLEdBQUcsdUJBQXVCLENBQUM7WUFDcEUsQ0FBQztTQUFBO1FBQ0QsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVNLE1BQU0sQ0FBQyxxQkFBcUIsQ0FDakMsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLGdDQUE4RDtRQUU5RCxNQUFNLE1BQU8sU0FBUSxnQ0FBZ0I7WUFJbkM7Z0JBQ0UsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFKSCxZQUFPLEdBQXdCLEVBQUUsQ0FBQztnQkFLaEQsSUFBSSxDQUFDLFFBQVE7b0JBQ1gsSUFBSSxxREFBc0MsQ0FBQyxzQ0FBc0MsQ0FDL0UsSUFBSSxFQUNKLFVBQVUsRUFDVjt3QkFDRSxJQUFJLEVBQUUsZ0NBQWdDO3FCQUN2QyxDQUNGLENBQUM7Z0JBQ0osSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ2xELENBQUM7U0FDRjtRQUNELE9BQU8sSUFBSSxNQUFNLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBTUQsWUFDRSxLQUFnQixF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RSw2RUFBNkMsQ0FBQTtJQUM3QyxvR0FBb0c7SUFDcEcscUdBQXFFLENBQUE7SUFDckUsa0hBQWtIO0lBQ2xILGtGQUFrRCxDQUFBO0lBQ2xELGlLQUFpSztJQUNqSyxzSEFBc0YsQ0FBQTtJQUN0Rix5TEFBeUw7SUFDekwsb0pBQW9ILENBQUE7QUFDdEgsQ0FBQyxFQVhXLDRCQUE0Qiw0Q0FBNUIsNEJBQTRCLFFBV3ZDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvMGYwNzdjMGE2YWRjMWU1MjU4ZDA3M2Y2ZGUyMzJkMDljYmI3YWU1NC9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udC9saWIvcmVzcG9uc2UtaGVhZGVycy1wb2xpY3kudHNcbmltcG9ydCB7XG4gIGNsb3VkZnJvbnRSZXNwb25zZUhlYWRlcnNQb2xpY3ksXG4gIGRhdGFBd3NDbG91ZGZyb250UmVzcG9uc2VIZWFkZXJzUG9saWN5LFxufSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgVG9rZW4gfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gXCIuLi8uLi9kdXJhdGlvblwiO1xuaW1wb3J0IHsgQXdzQ29uc3RydWN0QmFzZSwgQXdzQ29uc3RydWN0UHJvcHMgfSBmcm9tIFwiLi4vYXdzLWNvbnN0cnVjdFwiO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSByZXNwb25zZSBoZWFkZXJzIHBvbGljeS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUmVzcG9uc2VIZWFkZXJzUG9saWN5IHtcbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgcmVzcG9uc2UgaGVhZGVycyBwb2xpY3lcbiAgICogQGF0dHJpYnV0ZVxuICAgKiovXG4gIHJlYWRvbmx5IHJlc3BvbnNlSGVhZGVyc1BvbGljeUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgY3JlYXRpbmcgYSBSZXNwb25zZSBIZWFkZXJzIFBvbGljeVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzIGV4dGVuZHMgQXdzQ29uc3RydWN0UHJvcHMge1xuICAvKipcbiAgICogQSB1bmlxdWUgbmFtZSB0byBpZGVudGlmeSB0aGUgcmVzcG9uc2UgaGVhZGVycyBwb2xpY3kuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZ2VuZXJhdGVkIGZyb20gdGhlIGBpZGBcbiAgICovXG4gIHJlYWRvbmx5IHJlc3BvbnNlSGVhZGVyc1BvbGljeU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgY29tbWVudCB0byBkZXNjcmliZSB0aGUgcmVzcG9uc2UgaGVhZGVycyBwb2xpY3kuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gY29tbWVudFxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWVudD86IHN0cmluZztcblxuICAvKipcbiAgICogQSBjb25maWd1cmF0aW9uIGZvciBhIHNldCBvZiBIVFRQIHJlc3BvbnNlIGhlYWRlcnMgdGhhdCBhcmUgdXNlZCBmb3IgY3Jvc3Mtb3JpZ2luIHJlc291cmNlIHNoYXJpbmcgKENPUlMpLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGNvcnMgYmVoYXZpb3JcbiAgICovXG4gIHJlYWRvbmx5IGNvcnNCZWhhdmlvcj86IFJlc3BvbnNlSGVhZGVyc0NvcnNCZWhhdmlvcjtcblxuICAvKipcbiAgICogQSBjb25maWd1cmF0aW9uIGZvciBhIHNldCBvZiBjdXN0b20gSFRUUCByZXNwb25zZSBoZWFkZXJzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGN1c3RvbSBoZWFkZXJzIGJlaGF2aW9yXG4gICAqL1xuICByZWFkb25seSBjdXN0b21IZWFkZXJzQmVoYXZpb3I/OiBSZXNwb25zZUN1c3RvbUhlYWRlcnNCZWhhdmlvcjtcblxuICAvKipcbiAgICogQSBjb25maWd1cmF0aW9uIGZvciBhIHNldCBvZiBzZWN1cml0eS1yZWxhdGVkIEhUVFAgcmVzcG9uc2UgaGVhZGVycy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBzZWN1cml0eSBoZWFkZXJzIGJlaGF2aW9yXG4gICAqL1xuICByZWFkb25seSBzZWN1cml0eUhlYWRlcnNCZWhhdmlvcj86IFJlc3BvbnNlU2VjdXJpdHlIZWFkZXJzQmVoYXZpb3I7XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBIVFRQIHJlc3BvbnNlIGhlYWRlcnMgdGhhdCBDbG91ZEZyb250IHJlbW92ZXMgZnJvbSBIVFRQIHJlc3BvbnNlc1xuICAgKiB0aGF0IGl0IHNlbmRzIHRvIHZpZXdlcnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gaGVhZGVycyBhcmUgcmVtb3ZlZFxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3ZlSGVhZGVycz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgcGVyY2VudGFnZSBvZiByZXNwb25zZXMgdGhhdCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGFkZCB0aGUgU2VydmVyLVRpbWluZ1xuICAgKiBoZWFkZXIgdG8uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gU2VydmVyLVRpbWluZyBoZWFkZXIgaXMgYWRkZWQgdG8gSFRUUCByZXNwb25zZXNcbiAgICovXG4gIHJlYWRvbmx5IHNlcnZlclRpbWluZ1NhbXBsaW5nUmF0ZT86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBBIFJlc3BvbnNlIEhlYWRlcnMgUG9saWN5IGNvbmZpZ3VyYXRpb25cbiAqXG4gKiBAbGluayBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uQ2xvdWRGcm9udC9sYXRlc3QvRGV2ZWxvcGVyR3VpZGUvdXNpbmctbWFuYWdlZC1yZXNwb25zZS1oZWFkZXJzLXBvbGljaWVzLmh0bWxcbiAqIEBsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXdzLzUuNjAuMC9kb2NzL3Jlc291cmNlcy9jbG91ZGZyb250X3Jlc3BvbnNlX2hlYWRlcnNfcG9saWN5XG4gKi9cbmV4cG9ydCBjbGFzcyBSZXNwb25zZUhlYWRlcnNQb2xpY3lcbiAgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RCYXNlXG4gIGltcGxlbWVudHMgSVJlc3BvbnNlSGVhZGVyc1BvbGljeVxue1xuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIFJlc3BvbnNlIEhlYWRlcnMgUG9saWN5IGZyb20gaXRzIElELlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tUmVzcG9uc2VIZWFkZXJzUG9saWN5SWQoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHJlc3BvbnNlSGVhZGVyc1BvbGljeUlkOiBzdHJpbmcsXG4gICk6IElSZXNwb25zZUhlYWRlcnNQb2xpY3kge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJUmVzcG9uc2VIZWFkZXJzUG9saWN5IHtcbiAgICAgIHB1YmxpYyByZWFkb25seSBvdXRwdXRzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgcmVzcG9uc2VIZWFkZXJzUG9saWN5SWQgPSByZXNwb25zZUhlYWRlcnNQb2xpY3lJZDtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbU1hbmFnZWRQb2xpY3lOYW1lKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBtYW5hZ2VkUmVzcG9uc2VIZWFkZXJzUG9saWN5TmFtZTogTWFuYWdlZFJlc3BvbnNlSGVhZGVyc1BvbGljeSxcbiAgKTogSVJlc3BvbnNlSGVhZGVyc1BvbGljeSB7XG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgQXdzQ29uc3RydWN0QmFzZSBpbXBsZW1lbnRzIElSZXNwb25zZUhlYWRlcnNQb2xpY3kge1xuICAgICAgcHVibGljIHJlYWRvbmx5IG91dHB1dHM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICAgIHB1YmxpYyByZWFkb25seSByZXNwb25zZUhlYWRlcnNQb2xpY3lJZDogc3RyaW5nO1xuICAgICAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlOiBkYXRhQXdzQ2xvdWRmcm9udFJlc3BvbnNlSGVhZGVyc1BvbGljeS5EYXRhQXdzQ2xvdWRmcm9udFJlc3BvbnNlSGVhZGVyc1BvbGljeTtcbiAgICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICAgICAgdGhpcy5yZXNvdXJjZSA9XG4gICAgICAgICAgbmV3IGRhdGFBd3NDbG91ZGZyb250UmVzcG9uc2VIZWFkZXJzUG9saWN5LkRhdGFBd3NDbG91ZGZyb250UmVzcG9uc2VIZWFkZXJzUG9saWN5KFxuICAgICAgICAgICAgdGhpcyxcbiAgICAgICAgICAgIFwiUmVzb3VyY2VcIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogbWFuYWdlZFJlc3BvbnNlSGVhZGVyc1BvbGljeU5hbWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICk7XG4gICAgICAgIHRoaXMucmVzcG9uc2VIZWFkZXJzUG9saWN5SWQgPSB0aGlzLnJlc291cmNlLmlkO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3IEltcG9ydCgpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlOiBjbG91ZGZyb250UmVzcG9uc2VIZWFkZXJzUG9saWN5LkNsb3VkZnJvbnRSZXNwb25zZUhlYWRlcnNQb2xpY3k7XG4gIHB1YmxpYyByZWFkb25seSByZXNwb25zZUhlYWRlcnNQb2xpY3lJZDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgb3V0cHV0czogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogUmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHMgPSB7fSxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gICAgY29uc3QgcmVzcG9uc2VIZWFkZXJzUG9saWN5TmFtZSA9XG4gICAgICBwcm9wcy5yZXNwb25zZUhlYWRlcnNQb2xpY3lOYW1lIHx8XG4gICAgICB0aGlzLnN0YWNrLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzLCB7XG4gICAgICAgIHByZWZpeDogdGhpcy5ncmlkVVVJRCxcbiAgICAgICAgbWF4TGVuZ3RoOiAxMjgsXG4gICAgICB9KTtcblxuICAgIHRoaXMucmVzb3VyY2UgPVxuICAgICAgbmV3IGNsb3VkZnJvbnRSZXNwb25zZUhlYWRlcnNQb2xpY3kuQ2xvdWRmcm9udFJlc3BvbnNlSGVhZGVyc1BvbGljeShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgXCJSZXNvdXJjZVwiLFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogcmVzcG9uc2VIZWFkZXJzUG9saWN5TmFtZSxcbiAgICAgICAgICBjb21tZW50OiBwcm9wcy5jb21tZW50LFxuICAgICAgICAgIGNvcnNDb25maWc6IHByb3BzLmNvcnNCZWhhdmlvclxuICAgICAgICAgICAgPyB0aGlzLl9yZW5kZXJDb3JzQ29uZmlnKHByb3BzLmNvcnNCZWhhdmlvcilcbiAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgIGN1c3RvbUhlYWRlcnNDb25maWc6IHByb3BzLmN1c3RvbUhlYWRlcnNCZWhhdmlvclxuICAgICAgICAgICAgPyB0aGlzLl9yZW5kZXJDdXN0b21IZWFkZXJzQ29uZmlnKHByb3BzLmN1c3RvbUhlYWRlcnNCZWhhdmlvcilcbiAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgIHNlY3VyaXR5SGVhZGVyc0NvbmZpZzogcHJvcHMuc2VjdXJpdHlIZWFkZXJzQmVoYXZpb3JcbiAgICAgICAgICAgID8gdGhpcy5fcmVuZGVyU2VjdXJpdHlIZWFkZXJzQ29uZmlnKHByb3BzLnNlY3VyaXR5SGVhZGVyc0JlaGF2aW9yKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgcmVtb3ZlSGVhZGVyc0NvbmZpZzogcHJvcHMucmVtb3ZlSGVhZGVyc1xuICAgICAgICAgICAgPyB0aGlzLl9yZW5kZXJSZW1vdmVIZWFkZXJzQ29uZmlnKHByb3BzLnJlbW92ZUhlYWRlcnMpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBzZXJ2ZXJUaW1pbmdIZWFkZXJzQ29uZmlnOiBwcm9wcy5zZXJ2ZXJUaW1pbmdTYW1wbGluZ1JhdGVcbiAgICAgICAgICAgID8gdGhpcy5fcmVuZGVyU2VydmVyVGltaW5nSGVhZGVyc0NvbmZpZyhcbiAgICAgICAgICAgICAgICBwcm9wcy5zZXJ2ZXJUaW1pbmdTYW1wbGluZ1JhdGUsXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgIHRoaXMucmVzcG9uc2VIZWFkZXJzUG9saWN5SWQgPSB0aGlzLnJlc291cmNlLmlkO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVyQ29yc0NvbmZpZyhcbiAgICBiZWhhdmlvcjogUmVzcG9uc2VIZWFkZXJzQ29yc0JlaGF2aW9yLFxuICApOiBjbG91ZGZyb250UmVzcG9uc2VIZWFkZXJzUG9saWN5LkNsb3VkZnJvbnRSZXNwb25zZUhlYWRlcnNQb2xpY3lDb3JzQ29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgYWNjZXNzQ29udHJvbEFsbG93Q3JlZGVudGlhbHM6IGJlaGF2aW9yLmFjY2Vzc0NvbnRyb2xBbGxvd0NyZWRlbnRpYWxzLFxuICAgICAgYWNjZXNzQ29udHJvbEFsbG93SGVhZGVyczogeyBpdGVtczogYmVoYXZpb3IuYWNjZXNzQ29udHJvbEFsbG93SGVhZGVycyB9LFxuICAgICAgYWNjZXNzQ29udHJvbEFsbG93TWV0aG9kczogeyBpdGVtczogYmVoYXZpb3IuYWNjZXNzQ29udHJvbEFsbG93TWV0aG9kcyB9LFxuICAgICAgYWNjZXNzQ29udHJvbEFsbG93T3JpZ2luczogeyBpdGVtczogYmVoYXZpb3IuYWNjZXNzQ29udHJvbEFsbG93T3JpZ2lucyB9LFxuICAgICAgYWNjZXNzQ29udHJvbEV4cG9zZUhlYWRlcnM6IGJlaGF2aW9yLmFjY2Vzc0NvbnRyb2xFeHBvc2VIZWFkZXJzXG4gICAgICAgID8geyBpdGVtczogYmVoYXZpb3IuYWNjZXNzQ29udHJvbEV4cG9zZUhlYWRlcnMgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIGFjY2Vzc0NvbnRyb2xNYXhBZ2VTZWM6IGJlaGF2aW9yLmFjY2Vzc0NvbnRyb2xNYXhBZ2VcbiAgICAgICAgPyBiZWhhdmlvci5hY2Nlc3NDb250cm9sTWF4QWdlLnRvU2Vjb25kcygpXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgb3JpZ2luT3ZlcnJpZGU6IGJlaGF2aW9yLm9yaWdpbk92ZXJyaWRlLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJDdXN0b21IZWFkZXJzQ29uZmlnKFxuICAgIGJlaGF2aW9yOiBSZXNwb25zZUN1c3RvbUhlYWRlcnNCZWhhdmlvcixcbiAgKTogY2xvdWRmcm9udFJlc3BvbnNlSGVhZGVyc1BvbGljeS5DbG91ZGZyb250UmVzcG9uc2VIZWFkZXJzUG9saWN5Q3VzdG9tSGVhZGVyc0NvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGl0ZW1zOiBiZWhhdmlvci5jdXN0b21IZWFkZXJzLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJTZWN1cml0eUhlYWRlcnNDb25maWcoXG4gICAgYmVoYXZpb3I6IFJlc3BvbnNlU2VjdXJpdHlIZWFkZXJzQmVoYXZpb3IsXG4gICk6IGNsb3VkZnJvbnRSZXNwb25zZUhlYWRlcnNQb2xpY3kuQ2xvdWRmcm9udFJlc3BvbnNlSGVhZGVyc1BvbGljeVNlY3VyaXR5SGVhZGVyc0NvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRlbnRTZWN1cml0eVBvbGljeTogYmVoYXZpb3IuY29udGVudFNlY3VyaXR5UG9saWN5LFxuICAgICAgY29udGVudFR5cGVPcHRpb25zOiBiZWhhdmlvci5jb250ZW50VHlwZU9wdGlvbnMsXG4gICAgICBmcmFtZU9wdGlvbnM6IGJlaGF2aW9yLmZyYW1lT3B0aW9ucyxcbiAgICAgIHJlZmVycmVyUG9saWN5OiBiZWhhdmlvci5yZWZlcnJlclBvbGljeSxcbiAgICAgIHN0cmljdFRyYW5zcG9ydFNlY3VyaXR5OiBiZWhhdmlvci5zdHJpY3RUcmFuc3BvcnRTZWN1cml0eVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIC4uLmJlaGF2aW9yLnN0cmljdFRyYW5zcG9ydFNlY3VyaXR5LFxuICAgICAgICAgICAgYWNjZXNzQ29udHJvbE1heEFnZVNlYzpcbiAgICAgICAgICAgICAgYmVoYXZpb3Iuc3RyaWN0VHJhbnNwb3J0U2VjdXJpdHkuYWNjZXNzQ29udHJvbE1heEFnZS50b1NlY29uZHMoKSxcbiAgICAgICAgICB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgeHNzUHJvdGVjdGlvbjogYmVoYXZpb3IueHNzUHJvdGVjdGlvbixcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVyUmVtb3ZlSGVhZGVyc0NvbmZpZyhcbiAgICBoZWFkZXJzOiBzdHJpbmdbXSxcbiAgKTogY2xvdWRmcm9udFJlc3BvbnNlSGVhZGVyc1BvbGljeS5DbG91ZGZyb250UmVzcG9uc2VIZWFkZXJzUG9saWN5UmVtb3ZlSGVhZGVyc0NvbmZpZyB7XG4gICAgY29uc3QgcmVhZG9ubHlIZWFkZXJzID0gW1xuICAgICAgXCJjb250ZW50LWVuY29kaW5nXCIsXG4gICAgICBcImNvbnRlbnQtbGVuZ3RoXCIsXG4gICAgICBcInRyYW5zZmVyLWVuY29kaW5nXCIsXG4gICAgICBcIndhcm5pbmdcIixcbiAgICAgIFwidmlhXCIsXG4gICAgXTtcblxuICAgIHJldHVybiB7XG4gICAgICBpdGVtczogaGVhZGVycy5tYXAoKGhlYWRlcikgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgIVRva2VuLmlzVW5yZXNvbHZlZChoZWFkZXIpICYmXG4gICAgICAgICAgcmVhZG9ubHlIZWFkZXJzLmluY2x1ZGVzKGhlYWRlci50b0xvd2VyQ2FzZSgpKVxuICAgICAgICApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCByZW1vdmUgcmVhZC1vbmx5IGhlYWRlciAke2hlYWRlcn1gKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBoZWFkZXIgfTtcbiAgICAgIH0pLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJTZXJ2ZXJUaW1pbmdIZWFkZXJzQ29uZmlnKFxuICAgIHNhbXBsaW5nUmF0ZTogbnVtYmVyLFxuICApOiBjbG91ZGZyb250UmVzcG9uc2VIZWFkZXJzUG9saWN5LkNsb3VkZnJvbnRSZXNwb25zZUhlYWRlcnNQb2xpY3lTZXJ2ZXJUaW1pbmdIZWFkZXJzQ29uZmlnIHtcbiAgICBpZiAoIVRva2VuLmlzVW5yZXNvbHZlZChzYW1wbGluZ1JhdGUpKSB7XG4gICAgICBpZiAoc2FtcGxpbmdSYXRlIDwgMCB8fCBzYW1wbGluZ1JhdGUgPiAxMDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBTYW1wbGluZyByYXRlIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAxMDAgKGluY2x1c2l2ZSksIHJlY2VpdmVkICR7c2FtcGxpbmdSYXRlfWAsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmICghaGFzTWF4RGVjaW1hbFBsYWNlcyhzYW1wbGluZ1JhdGUsIDQpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgU2FtcGxpbmcgcmF0ZSBjYW4gaGF2ZSB1cCB0byBmb3VyIGRlY2ltYWwgcGxhY2VzLCByZWNlaXZlZCAke3NhbXBsaW5nUmF0ZX1gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgc2FtcGxpbmdSYXRlLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBhIHNldCBvZiBIVFRQIHJlc3BvbnNlIGhlYWRlcnMgdGhhdCBhcmUgdXNlZCBmb3IgY3Jvc3Mtb3JpZ2luIHJlc291cmNlIHNoYXJpbmcgKENPUlMpLlxuICogQ2xvdWRGcm9udCBhZGRzIHRoZXNlIGhlYWRlcnMgdG8gSFRUUCByZXNwb25zZXMgdGhhdCBpdCBzZW5kcyBmb3IgQ09SUyByZXF1ZXN0cyB0aGF0IG1hdGNoIGEgY2FjaGUgYmVoYXZpb3JcbiAqIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHJlc3BvbnNlIGhlYWRlcnMgcG9saWN5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc3BvbnNlSGVhZGVyc0NvcnNCZWhhdmlvciB7XG4gIC8qKlxuICAgKiBBIEJvb2xlYW4gdGhhdCBDbG91ZEZyb250IHVzZXMgYXMgdGhlIHZhbHVlIGZvciB0aGUgQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMgSFRUUCByZXNwb25zZSBoZWFkZXIuXG4gICAqL1xuICByZWFkb25seSBhY2Nlc3NDb250cm9sQWxsb3dDcmVkZW50aWFsczogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIEhUVFAgaGVhZGVyIG5hbWVzIHRoYXQgQ2xvdWRGcm9udCBpbmNsdWRlcyBhcyB2YWx1ZXMgZm9yIHRoZSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIEhUVFAgcmVzcG9uc2UgaGVhZGVyLlxuICAgKiBZb3UgY2FuIHNwZWNpZnkgYFsnKiddYCB0byBhbGxvdyBhbGwgaGVhZGVycy5cbiAgICovXG4gIHJlYWRvbmx5IGFjY2Vzc0NvbnRyb2xBbGxvd0hlYWRlcnM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgSFRUUCBtZXRob2RzIHRoYXQgQ2xvdWRGcm9udCBpbmNsdWRlcyBhcyB2YWx1ZXMgZm9yIHRoZSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIEhUVFAgcmVzcG9uc2UgaGVhZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgYWNjZXNzQ29udHJvbEFsbG93TWV0aG9kczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBvcmlnaW5zIChkb21haW4gbmFtZXMpIHRoYXQgQ2xvdWRGcm9udCBjYW4gdXNlIGFzIHRoZSB2YWx1ZSBmb3IgdGhlIEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiBIVFRQIHJlc3BvbnNlIGhlYWRlci5cbiAgICogWW91IGNhbiBzcGVjaWZ5IGBbJyonXWAgdG8gYWxsb3cgYWxsIG9yaWdpbnMuXG4gICAqL1xuICByZWFkb25seSBhY2Nlc3NDb250cm9sQWxsb3dPcmlnaW5zOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIEhUVFAgaGVhZGVycyB0aGF0IENsb3VkRnJvbnQgaW5jbHVkZXMgYXMgdmFsdWVzIGZvciB0aGUgQWNjZXNzLUNvbnRyb2wtRXhwb3NlLUhlYWRlcnMgSFRUUCByZXNwb25zZSBoZWFkZXIuXG4gICAqIFlvdSBjYW4gc3BlY2lmeSBgWycqJ11gIHRvIGV4cG9zZSBhbGwgaGVhZGVycy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBoZWFkZXJzIGV4cG9zZWRcbiAgICovXG4gIHJlYWRvbmx5IGFjY2Vzc0NvbnRyb2xFeHBvc2VIZWFkZXJzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEEgbnVtYmVyIHRoYXQgQ2xvdWRGcm9udCB1c2VzIGFzIHRoZSB2YWx1ZSBmb3IgdGhlIEFjY2Vzcy1Db250cm9sLU1heC1BZ2UgSFRUUCByZXNwb25zZSBoZWFkZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gbWF4IGFnZVxuICAgKi9cbiAgcmVhZG9ubHkgYWNjZXNzQ29udHJvbE1heEFnZT86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBBIEJvb2xlYW4gdGhhdCBkZXRlcm1pbmVzIHdoZXRoZXIgQ2xvdWRGcm9udCBvdmVycmlkZXMgSFRUUCByZXNwb25zZSBoZWFkZXJzIHJlY2VpdmVkIGZyb20gdGhlIG9yaWdpbiB3aXRoIHRoZSBvbmVzIHNwZWNpZmllZCBpbiB0aGlzIHJlc3BvbnNlIGhlYWRlcnMgcG9saWN5LlxuICAgKi9cbiAgcmVhZG9ubHkgb3JpZ2luT3ZlcnJpZGU6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgYSBzZXQgb2YgSFRUUCByZXNwb25zZSBoZWFkZXJzIHRoYXQgYXJlIHNlbnQgZm9yIHJlcXVlc3RzIHRoYXQgbWF0Y2ggYSBjYWNoZSBiZWhhdmlvclxuICogdGhhdOKAmXMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgcmVzcG9uc2UgaGVhZGVycyBwb2xpY3kuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzcG9uc2VDdXN0b21IZWFkZXJzQmVoYXZpb3Ige1xuICAvKipcbiAgICogVGhlIGxpc3Qgb2YgSFRUUCByZXNwb25zZSBoZWFkZXJzIGFuZCB0aGVpciB2YWx1ZXMuXG4gICAqL1xuICByZWFkb25seSBjdXN0b21IZWFkZXJzOiBSZXNwb25zZUN1c3RvbUhlYWRlcltdO1xufVxuXG4vKipcbiAqIEFuIEhUVFAgcmVzcG9uc2UgaGVhZGVyIG5hbWUgYW5kIGl0cyB2YWx1ZS5cbiAqIENsb3VkRnJvbnQgaW5jbHVkZXMgdGhpcyBoZWFkZXIgaW4gSFRUUCByZXNwb25zZXMgdGhhdCBpdCBzZW5kcyBmb3IgcmVxdWVzdHMgdGhhdCBtYXRjaCBhIGNhY2hlIGJlaGF2aW9yIHRoYXTigJlzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHJlc3BvbnNlIGhlYWRlcnMgcG9saWN5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc3BvbnNlQ3VzdG9tSGVhZGVyIHtcbiAgLyoqXG4gICAqIFRoZSBIVFRQIHJlc3BvbnNlIGhlYWRlciBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgaGVhZGVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgQm9vbGVhbiB0aGF0IGRldGVybWluZXMgd2hldGhlciBDbG91ZEZyb250IG92ZXJyaWRlcyBhIHJlc3BvbnNlIGhlYWRlciB3aXRoIHRoZSBzYW1lIG5hbWVcbiAgICogcmVjZWl2ZWQgZnJvbSB0aGUgb3JpZ2luIHdpdGggdGhlIGhlYWRlciBzcGVjaWZpZWQgaGVyZS5cbiAgICovXG4gIHJlYWRvbmx5IG92ZXJyaWRlOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgZm9yIHRoZSBIVFRQIHJlc3BvbnNlIGhlYWRlci5cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgYSBzZXQgb2Ygc2VjdXJpdHktcmVsYXRlZCBIVFRQIHJlc3BvbnNlIGhlYWRlcnMuXG4gKiBDbG91ZEZyb250IGFkZHMgdGhlc2UgaGVhZGVycyB0byBIVFRQIHJlc3BvbnNlcyB0aGF0IGl0IHNlbmRzIGZvciByZXF1ZXN0cyB0aGF0IG1hdGNoIGEgY2FjaGUgYmVoYXZpb3JcbiAqIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHJlc3BvbnNlIGhlYWRlcnMgcG9saWN5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc3BvbnNlU2VjdXJpdHlIZWFkZXJzQmVoYXZpb3Ige1xuICAvKipcbiAgICogVGhlIHBvbGljeSBkaXJlY3RpdmVzIGFuZCB0aGVpciB2YWx1ZXMgdGhhdCBDbG91ZEZyb250IGluY2x1ZGVzIGFzIHZhbHVlcyBmb3IgdGhlIENvbnRlbnQtU2VjdXJpdHktUG9saWN5IEhUVFAgcmVzcG9uc2UgaGVhZGVyLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGNvbnRlbnQgc2VjdXJpdHkgcG9saWN5XG4gICAqL1xuICByZWFkb25seSBjb250ZW50U2VjdXJpdHlQb2xpY3k/OiBSZXNwb25zZUhlYWRlcnNDb250ZW50U2VjdXJpdHlQb2xpY3k7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciBDbG91ZEZyb250IGluY2x1ZGVzIHRoZSBYLUNvbnRlbnQtVHlwZS1PcHRpb25zIEhUVFAgcmVzcG9uc2UgaGVhZGVyIHdpdGggaXRzIHZhbHVlIHNldCB0byBub3NuaWZmLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGNvbnRlbnQgdHlwZSBvcHRpb25zXG4gICAqL1xuICByZWFkb25seSBjb250ZW50VHlwZU9wdGlvbnM/OiBSZXNwb25zZUhlYWRlcnNDb250ZW50VHlwZU9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciBDbG91ZEZyb250IGluY2x1ZGVzIHRoZSBYLUZyYW1lLU9wdGlvbnMgSFRUUCByZXNwb25zZSBoZWFkZXIgYW5kIHRoZSBoZWFkZXLigJlzIHZhbHVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGZyYW1lIG9wdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IGZyYW1lT3B0aW9ucz86IFJlc3BvbnNlSGVhZGVyc0ZyYW1lT3B0aW9ucztcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIENsb3VkRnJvbnQgaW5jbHVkZXMgdGhlIFJlZmVycmVyLVBvbGljeSBIVFRQIHJlc3BvbnNlIGhlYWRlciBhbmQgdGhlIGhlYWRlcuKAmXMgdmFsdWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcmVmZXJyZXIgcG9saWN5XG4gICAqL1xuICByZWFkb25seSByZWZlcnJlclBvbGljeT86IFJlc3BvbnNlSGVhZGVyc1JlZmVycmVyUG9saWN5O1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgQ2xvdWRGcm9udCBpbmNsdWRlcyB0aGUgU3RyaWN0LVRyYW5zcG9ydC1TZWN1cml0eSBIVFRQIHJlc3BvbnNlIGhlYWRlciBhbmQgdGhlIGhlYWRlcuKAmXMgdmFsdWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gc3RyaWN0IHRyYW5zcG9ydCBzZWN1cml0eVxuICAgKi9cbiAgcmVhZG9ubHkgc3RyaWN0VHJhbnNwb3J0U2VjdXJpdHk/OiBSZXNwb25zZUhlYWRlcnNTdHJpY3RUcmFuc3BvcnRTZWN1cml0eTtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIENsb3VkRnJvbnQgaW5jbHVkZXMgdGhlIFgtWFNTLVByb3RlY3Rpb24gSFRUUCByZXNwb25zZSBoZWFkZXIgYW5kIHRoZSBoZWFkZXLigJlzIHZhbHVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHhzcyBwcm90ZWN0aW9uXG4gICAqL1xuICByZWFkb25seSB4c3NQcm90ZWN0aW9uPzogUmVzcG9uc2VIZWFkZXJzWFNTUHJvdGVjdGlvbjtcbn1cblxuLyoqXG4gKiBUaGUgcG9saWN5IGRpcmVjdGl2ZXMgYW5kIHRoZWlyIHZhbHVlcyB0aGF0IENsb3VkRnJvbnQgaW5jbHVkZXMgYXMgdmFsdWVzIGZvciB0aGUgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgSFRUUCByZXNwb25zZSBoZWFkZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzcG9uc2VIZWFkZXJzQ29udGVudFNlY3VyaXR5UG9saWN5IHtcbiAgLyoqXG4gICAqIFRoZSBwb2xpY3kgZGlyZWN0aXZlcyBhbmQgdGhlaXIgdmFsdWVzIHRoYXQgQ2xvdWRGcm9udCBpbmNsdWRlcyBhcyB2YWx1ZXMgZm9yIHRoZSBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBIVFRQIHJlc3BvbnNlIGhlYWRlci5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRlbnRTZWN1cml0eVBvbGljeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIEJvb2xlYW4gdGhhdCBkZXRlcm1pbmVzIHdoZXRoZXIgQ2xvdWRGcm9udCBvdmVycmlkZXMgdGhlIENvbnRlbnQtU2VjdXJpdHktUG9saWN5IEhUVFAgcmVzcG9uc2UgaGVhZGVyXG4gICAqIHJlY2VpdmVkIGZyb20gdGhlIG9yaWdpbiB3aXRoIHRoZSBvbmUgc3BlY2lmaWVkIGluIHRoaXMgcmVzcG9uc2UgaGVhZGVycyBwb2xpY3kuXG4gICAqL1xuICByZWFkb25seSBvdmVycmlkZTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgQ2xvdWRGcm9udCBpbmNsdWRlcyB0aGUgWC1Db250ZW50LVR5cGUtT3B0aW9ucyBIVFRQIHJlc3BvbnNlIGhlYWRlciB3aXRoIGl0cyB2YWx1ZSBzZXQgdG8gbm9zbmlmZi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNwb25zZUhlYWRlcnNDb250ZW50VHlwZU9wdGlvbnMge1xuICAvKipcbiAgICogQSBCb29sZWFuIHRoYXQgZGV0ZXJtaW5lcyB3aGV0aGVyIENsb3VkRnJvbnQgb3ZlcnJpZGVzIHRoZSBYLUNvbnRlbnQtVHlwZS1PcHRpb25zIEhUVFAgcmVzcG9uc2UgaGVhZGVyXG4gICAqIHJlY2VpdmVkIGZyb20gdGhlIG9yaWdpbiB3aXRoIHRoZSBvbmUgc3BlY2lmaWVkIGluIHRoaXMgcmVzcG9uc2UgaGVhZGVycyBwb2xpY3kuXG4gICAqL1xuICByZWFkb25seSBvdmVycmlkZTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgQ2xvdWRGcm9udCBpbmNsdWRlcyB0aGUgWC1GcmFtZS1PcHRpb25zIEhUVFAgcmVzcG9uc2UgaGVhZGVyIGFuZCB0aGUgaGVhZGVy4oCZcyB2YWx1ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNwb25zZUhlYWRlcnNGcmFtZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBYLUZyYW1lLU9wdGlvbnMgSFRUUCByZXNwb25zZSBoZWFkZXIuXG4gICAqL1xuICByZWFkb25seSBmcmFtZU9wdGlvbjogSGVhZGVyc0ZyYW1lT3B0aW9uO1xuXG4gIC8qKlxuICAgKiBBIEJvb2xlYW4gdGhhdCBkZXRlcm1pbmVzIHdoZXRoZXIgQ2xvdWRGcm9udCBvdmVycmlkZXMgdGhlIFgtRnJhbWUtT3B0aW9ucyBIVFRQIHJlc3BvbnNlIGhlYWRlclxuICAgKiByZWNlaXZlZCBmcm9tIHRoZSBvcmlnaW4gd2l0aCB0aGUgb25lIHNwZWNpZmllZCBpbiB0aGlzIHJlc3BvbnNlIGhlYWRlcnMgcG9saWN5LlxuICAgKi9cbiAgcmVhZG9ubHkgb3ZlcnJpZGU6IGJvb2xlYW47XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIENsb3VkRnJvbnQgaW5jbHVkZXMgdGhlIFJlZmVycmVyLVBvbGljeSBIVFRQIHJlc3BvbnNlIGhlYWRlciBhbmQgdGhlIGhlYWRlcuKAmXMgdmFsdWUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzcG9uc2VIZWFkZXJzUmVmZXJyZXJQb2xpY3kge1xuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBSZWZlcnJlci1Qb2xpY3kgSFRUUCByZXNwb25zZSBoZWFkZXIuXG4gICAqL1xuICByZWFkb25seSByZWZlcnJlclBvbGljeTogSGVhZGVyc1JlZmVycmVyUG9saWN5O1xuXG4gIC8qKlxuICAgKiBBIEJvb2xlYW4gdGhhdCBkZXRlcm1pbmVzIHdoZXRoZXIgQ2xvdWRGcm9udCBvdmVycmlkZXMgdGhlIFJlZmVycmVyLVBvbGljeSBIVFRQIHJlc3BvbnNlIGhlYWRlclxuICAgKiByZWNlaXZlZCBmcm9tIHRoZSBvcmlnaW4gd2l0aCB0aGUgb25lIHNwZWNpZmllZCBpbiB0aGlzIHJlc3BvbnNlIGhlYWRlcnMgcG9saWN5LlxuICAgKi9cbiAgcmVhZG9ubHkgb3ZlcnJpZGU6IGJvb2xlYW47XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIENsb3VkRnJvbnQgaW5jbHVkZXMgdGhlIFN0cmljdC1UcmFuc3BvcnQtU2VjdXJpdHkgSFRUUCByZXNwb25zZSBoZWFkZXIgYW5kIHRoZSBoZWFkZXLigJlzIHZhbHVlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc3BvbnNlSGVhZGVyc1N0cmljdFRyYW5zcG9ydFNlY3VyaXR5IHtcbiAgLyoqXG4gICAqIEEgbnVtYmVyIHRoYXQgQ2xvdWRGcm9udCB1c2VzIGFzIHRoZSB2YWx1ZSBmb3IgdGhlIG1heC1hZ2UgZGlyZWN0aXZlIGluIHRoZSBTdHJpY3QtVHJhbnNwb3J0LVNlY3VyaXR5IEhUVFAgcmVzcG9uc2UgaGVhZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgYWNjZXNzQ29udHJvbE1heEFnZTogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIEEgQm9vbGVhbiB0aGF0IGRldGVybWluZXMgd2hldGhlciBDbG91ZEZyb250IGluY2x1ZGVzIHRoZSBpbmNsdWRlU3ViRG9tYWlucyBkaXJlY3RpdmUgaW4gdGhlIFN0cmljdC1UcmFuc3BvcnQtU2VjdXJpdHkgSFRUUCByZXNwb25zZSBoZWFkZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBpbmNsdWRlU3ViZG9tYWlucz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEEgQm9vbGVhbiB0aGF0IGRldGVybWluZXMgd2hldGhlciBDbG91ZEZyb250IG92ZXJyaWRlcyB0aGUgU3RyaWN0LVRyYW5zcG9ydC1TZWN1cml0eSBIVFRQIHJlc3BvbnNlIGhlYWRlclxuICAgKiByZWNlaXZlZCBmcm9tIHRoZSBvcmlnaW4gd2l0aCB0aGUgb25lIHNwZWNpZmllZCBpbiB0aGlzIHJlc3BvbnNlIGhlYWRlcnMgcG9saWN5LlxuICAgKi9cbiAgcmVhZG9ubHkgb3ZlcnJpZGU6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEEgQm9vbGVhbiB0aGF0IGRldGVybWluZXMgd2hldGhlciBDbG91ZEZyb250IGluY2x1ZGVzIHRoZSBwcmVsb2FkIGRpcmVjdGl2ZSBpbiB0aGUgU3RyaWN0LVRyYW5zcG9ydC1TZWN1cml0eSBIVFRQIHJlc3BvbnNlIGhlYWRlci5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHByZWxvYWQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciBDbG91ZEZyb250IGluY2x1ZGVzIHRoZSBYLVhTUy1Qcm90ZWN0aW9uIEhUVFAgcmVzcG9uc2UgaGVhZGVyIGFuZCB0aGUgaGVhZGVy4oCZcyB2YWx1ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNwb25zZUhlYWRlcnNYU1NQcm90ZWN0aW9uIHtcbiAgLyoqXG4gICAqIEEgQm9vbGVhbiB0aGF0IGRldGVybWluZXMgd2hldGhlciBDbG91ZEZyb250IGluY2x1ZGVzIHRoZSBtb2RlPWJsb2NrIGRpcmVjdGl2ZSBpbiB0aGUgWC1YU1MtUHJvdGVjdGlvbiBoZWFkZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBtb2RlQmxvY2s/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBIEJvb2xlYW4gdGhhdCBkZXRlcm1pbmVzIHdoZXRoZXIgQ2xvdWRGcm9udCBvdmVycmlkZXMgdGhlIFgtWFNTLVByb3RlY3Rpb24gSFRUUCByZXNwb25zZSBoZWFkZXJcbiAgICogcmVjZWl2ZWQgZnJvbSB0aGUgb3JpZ2luIHdpdGggdGhlIG9uZSBzcGVjaWZpZWQgaW4gdGhpcyByZXNwb25zZSBoZWFkZXJzIHBvbGljeS5cbiAgICovXG4gIHJlYWRvbmx5IG92ZXJyaWRlOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBIEJvb2xlYW4gdGhhdCBkZXRlcm1pbmVzIHRoZSB2YWx1ZSBvZiB0aGUgWC1YU1MtUHJvdGVjdGlvbiBIVFRQIHJlc3BvbnNlIGhlYWRlci5cbiAgICogV2hlbiB0aGlzIHNldHRpbmcgaXMgdHJ1ZSwgdGhlIHZhbHVlIG9mIHRoZSBYLVhTUy1Qcm90ZWN0aW9uIGhlYWRlciBpcyAxLlxuICAgKiBXaGVuIHRoaXMgc2V0dGluZyBpcyBmYWxzZSwgdGhlIHZhbHVlIG9mIHRoZSBYLVhTUy1Qcm90ZWN0aW9uIGhlYWRlciBpcyAwLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdGVjdGlvbjogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSByZXBvcnRpbmcgVVJJLCB3aGljaCBDbG91ZEZyb250IHVzZXMgYXMgdGhlIHZhbHVlIG9mIHRoZSByZXBvcnQgZGlyZWN0aXZlIGluIHRoZSBYLVhTUy1Qcm90ZWN0aW9uIGhlYWRlci5cbiAgICogWW91IGNhbm5vdCBzcGVjaWZ5IGEgUmVwb3J0VXJpIHdoZW4gTW9kZUJsb2NrIGlzIHRydWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcmVwb3J0IHVyaVxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb3J0VXJpPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEVudW0gcmVwcmVzZW50aW5nIHBvc3NpYmxlIHZhbHVlcyBvZiB0aGUgWC1GcmFtZS1PcHRpb25zIEhUVFAgcmVzcG9uc2UgaGVhZGVyLlxuICovXG5leHBvcnQgZW51bSBIZWFkZXJzRnJhbWVPcHRpb24ge1xuICAvKipcbiAgICogVGhlIHBhZ2UgY2FuIG9ubHkgYmUgZGlzcGxheWVkIGluIGEgZnJhbWUgb24gdGhlIHNhbWUgb3JpZ2luIGFzIHRoZSBwYWdlIGl0c2VsZi5cbiAgICovXG4gIERFTlkgPSBcIkRFTllcIixcblxuICAvKipcbiAgICogVGhlIHBhZ2UgY2FuIG9ubHkgYmUgZGlzcGxheWVkIGluIGEgZnJhbWUgb24gdGhlIHNwZWNpZmllZCBvcmlnaW4uXG4gICAqL1xuICBTQU1FT1JJR0lOID0gXCJTQU1FT1JJR0lOXCIsXG59XG5cbi8qKlxuICogRW51bSByZXByZXNlbnRpbmcgcG9zc2libGUgdmFsdWVzIG9mIHRoZSBSZWZlcnJlci1Qb2xpY3kgSFRUUCByZXNwb25zZSBoZWFkZXIuXG4gKi9cbmV4cG9ydCBlbnVtIEhlYWRlcnNSZWZlcnJlclBvbGljeSB7XG4gIC8qKlxuICAgKiBUaGUgcmVmZXJyZXIgcG9saWN5IGlzIG5vdCBzZXQuXG4gICAqL1xuICBOT19SRUZFUlJFUiA9IFwibm8tcmVmZXJyZXJcIixcblxuICAvKipcbiAgICogVGhlIHJlZmVycmVyIHBvbGljeSBpcyBuby1yZWZlcnJlci13aGVuLWRvd25ncmFkZS5cbiAgICovXG4gIE5PX1JFRkVSUkVSX1dIRU5fRE9XTkdSQURFID0gXCJuby1yZWZlcnJlci13aGVuLWRvd25ncmFkZVwiLFxuXG4gIC8qKlxuICAgKiBUaGUgcmVmZXJyZXIgcG9saWN5IGlzIG9yaWdpbi5cbiAgICovXG4gIE9SSUdJTiA9IFwib3JpZ2luXCIsXG5cbiAgLyoqXG4gICAqIFRoZSByZWZlcnJlciBwb2xpY3kgaXMgb3JpZ2luLXdoZW4tY3Jvc3Mtb3JpZ2luLlxuICAgKi9cbiAgT1JJR0lOX1dIRU5fQ1JPU1NfT1JJR0lOID0gXCJvcmlnaW4td2hlbi1jcm9zcy1vcmlnaW5cIixcblxuICAvKipcbiAgICogVGhlIHJlZmVycmVyIHBvbGljeSBpcyBzYW1lLW9yaWdpbi5cbiAgICovXG4gIFNBTUVfT1JJR0lOID0gXCJzYW1lLW9yaWdpblwiLFxuXG4gIC8qKlxuICAgKiBUaGUgcmVmZXJyZXIgcG9saWN5IGlzIHN0cmljdC1vcmlnaW4uXG4gICAqL1xuICBTVFJJQ1RfT1JJR0lOID0gXCJzdHJpY3Qtb3JpZ2luXCIsXG5cbiAgLyoqXG4gICAqIFRoZSByZWZlcnJlciBwb2xpY3kgaXMgc3RyaWN0LW9yaWdpbi13aGVuLWNyb3NzLW9yaWdpbi5cbiAgICovXG4gIFNUUklDVF9PUklHSU5fV0hFTl9DUk9TU19PUklHSU4gPSBcInN0cmljdC1vcmlnaW4td2hlbi1jcm9zcy1vcmlnaW5cIixcblxuICAvKipcbiAgICogVGhlIHJlZmVycmVyIHBvbGljeSBpcyB1bnNhZmUtdXJsLlxuICAgKi9cbiAgVU5TQUZFX1VSTCA9IFwidW5zYWZlLXVybFwiLFxufVxuXG5mdW5jdGlvbiBoYXNNYXhEZWNpbWFsUGxhY2VzKG51bTogbnVtYmVyLCBkZWNpbWFsczogbnVtYmVyKTogYm9vbGVhbiB7XG4gIGNvbnN0IHBhcnRzID0gbnVtLnRvU3RyaW5nKCkuc3BsaXQoXCIuXCIpO1xuICByZXR1cm4gcGFydHMubGVuZ3RoID09PSAxIHx8IHBhcnRzWzFdLmxlbmd0aCA8PSBkZWNpbWFscztcbn1cblxuLyoqXG4gKiBBIFJlc3BvbnNlIEhlYWRlcnMgUG9saWN5IGNvbmZpZ3VyYXRpb25cbiAqXG4gKiBAbGluayBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uQ2xvdWRGcm9udC9sYXRlc3QvRGV2ZWxvcGVyR3VpZGUvdXNpbmctbWFuYWdlZC1yZXNwb25zZS1oZWFkZXJzLXBvbGljaWVzLmh0bWxcbiAqIEBsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXdzLzUuNjAuMC9kb2NzL2RhdGEtc291cmNlcy9jbG91ZGZyb250X3Jlc3BvbnNlX2hlYWRlcnNfcG9saWN5I2F3cy1tYW5hZ2VkLXBvbGljaWVzXG4gKi9cbmV4cG9ydCBlbnVtIE1hbmFnZWRSZXNwb25zZUhlYWRlcnNQb2xpY3kge1xuICAvKiogVXNlIHRoaXMgbWFuYWdlZCBwb2xpY3kgdG8gYWxsb3cgc2ltcGxlIENPUlMgcmVxdWVzdHMgZnJvbSBhbnkgb3JpZ2luLiAqL1xuICBDT1JTX0FMTE9XX0FMTF9PUklHSU5TID0gXCJNYW5hZ2VkLVNpbXBsZUNPUlNcIiwgLy82MDY2OTY1Mi00NTViLTRhZTktODVhNC1jNGMwMjM5M2Y4NmNcbiAgLyoqIFVzZSB0aGlzIG1hbmFnZWQgcG9saWN5IHRvIGFsbG93IENPUlMgcmVxdWVzdHMgZnJvbSBhbnkgb3JpZ2luLCBpbmNsdWRpbmcgcHJlZmxpZ2h0IHJlcXVlc3RzLiAqL1xuICBDT1JTX0FMTE9XX0FMTF9PUklHSU5TX1dJVEhfUFJFRkxJR0hUID0gXCJNYW5hZ2VkLUNPUlMtV2l0aC1QcmVmbGlnaHRcIiwgLy81Y2MzYjkwOC1lNjE5LTRiOTktODhlNS0yY2Y3ZjQ1OTY1YmRcbiAgLyoqIFVzZSB0aGlzIG1hbmFnZWQgcG9saWN5IHRvIGFkZCBhIHNldCBvZiBzZWN1cml0eSBoZWFkZXJzIHRvIGFsbCByZXNwb25zZXMgdGhhdCBDbG91ZEZyb250IHNlbmRzIHRvIHZpZXdlcnMuICovXG4gIFNFQ1VSSVRZX0hFQURFUlMgPSBcIk1hbmFnZWQtU2VjdXJpdHlIZWFkZXJzUG9saWN5XCIsIC8vNjdmNzcyNWMtNmY5Ny00MjEwLTgyZDctNTUxMmIzMWU5ZDAzXG4gIC8qKiBVc2UgdGhpcyBtYW5hZ2VkIHBvbGljeSB0byBhbGxvdyBzaW1wbGUgQ09SUyByZXF1ZXN0cyBmcm9tIGFueSBvcmlnaW4gYW5kIGFkZCBhIHNldCBvZiBzZWN1cml0eSBoZWFkZXJzIHRvIGFsbCByZXNwb25zZXMgdGhhdCBDbG91ZEZyb250IHNlbmRzIHRvIHZpZXdlcnMuICovXG4gIENPUlNfQUxMT1dfQUxMX09SSUdJTlNfQU5EX1NFQ1VSSVRZX0hFQURFUlMgPSBcIk1hbmFnZWQtQ09SUy1hbmQtU2VjdXJpdHlIZWFkZXJzUG9saWN5XCIsIC8vZTYxZWI2MGMtOWMzNS00ZDIwLWE5MjgtMmI4NGUwMmFmODljXG4gIC8qKiBVc2UgdGhpcyBtYW5hZ2VkIHBvbGljeSB0byBhbGxvdyBDT1JTIHJlcXVlc3RzIGZyb20gYW55IG9yaWdpbiwgaW5jbHVkaW5nIHByZWZsaWdodCByZXF1ZXN0cywgYW5kIGFkZCBhIHNldCBvZiBzZWN1cml0eSBoZWFkZXJzIHRvIGFsbCByZXNwb25zZXMgdGhhdCBDbG91ZEZyb250IHNlbmRzIHRvIHZpZXdlcnMuICovXG4gIENPUlNfQUxMT1dfQUxMX09SSUdJTlNfV0lUSF9QUkVGTElHSFRfQU5EX1NFQ1VSSVRZX0hFQURFUlMgPSBcIk1hbmFnZWQtQ09SUy13aXRoLXByZWZsaWdodC1hbmQtU2VjdXJpdHlIZWFkZXJzUG9saWN5XCIsIC8vZWFhYjQzODEtZWQzMy00YTg2LTg4Y2EtZDk1NThkYzZjZDYzXG59XG4iXX0=
|
|
220
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2UtaGVhZGVycy1wb2xpY3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL2VkZ2UvcmVzcG9uc2UtaGVhZGVycy1wb2xpY3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrSkFBa0o7QUFDbEosc0RBRzZCO0FBQzdCLGlDQUE4QjtBQUc5QixvREFBdUU7QUFxRXZFOzs7OztHQUtHO0FBQ0gsTUFBYSxxQkFDWCxTQUFRLGdDQUFnQjtJQUd4Qjs7T0FFRztJQUNJLE1BQU0sQ0FBQywyQkFBMkIsQ0FDdkMsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLHVCQUErQjtRQUUvQixNQUFNLE1BQU8sU0FBUSxnQ0FBZ0I7WUFBckM7O2dCQUNrQixZQUFPLEdBQXdCLEVBQUUsQ0FBQztnQkFDbEMsNEJBQXVCLEdBQUcsdUJBQXVCLENBQUM7WUFDcEUsQ0FBQztTQUFBO1FBQ0QsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVNLE1BQU0sQ0FBQyxxQkFBcUIsQ0FDakMsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLGdDQUE4RDtRQUU5RCxNQUFNLE1BQU8sU0FBUSxnQ0FBZ0I7WUFJbkM7Z0JBQ0UsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFKSCxZQUFPLEdBQXdCLEVBQUUsQ0FBQztnQkFLaEQsSUFBSSxDQUFDLFFBQVE7b0JBQ1gsSUFBSSxxREFBc0MsQ0FBQyxzQ0FBc0MsQ0FDL0UsSUFBSSxFQUNKLFVBQVUsRUFDVjt3QkFDRSxJQUFJLEVBQUUsZ0NBQWdDO3FCQUN2QyxDQUNGLENBQUM7Z0JBQ0osSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ2xELENBQUM7U0FDRjtRQUNELE9BQU8sSUFBSSxNQUFNLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBTUQsWUFDRSxLQUFnQixF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RSw2RUFBNkMsQ0FBQTtJQUM3QyxvR0FBb0c7SUFDcEcscUdBQXFFLENBQUE7SUFDckUsa0hBQWtIO0lBQ2xILGtGQUFrRCxDQUFBO0lBQ2xELGlLQUFpSztJQUNqSyxzSEFBc0YsQ0FBQTtJQUN0Rix5TEFBeUw7SUFDekwsb0pBQW9ILENBQUE7QUFDdEgsQ0FBQyxFQVhXLDRCQUE0Qiw0Q0FBNUIsNEJBQTRCLFFBV3ZDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvMGYwNzdjMGE2YWRjMWU1MjU4ZDA3M2Y2ZGUyMzJkMDljYmI3YWU1NC9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udC9saWIvcmVzcG9uc2UtaGVhZGVycy1wb2xpY3kudHNcbmltcG9ydCB7XG4gIGNsb3VkZnJvbnRSZXNwb25zZUhlYWRlcnNQb2xpY3ksXG4gIGRhdGFBd3NDbG91ZGZyb250UmVzcG9uc2VIZWFkZXJzUG9saWN5LFxufSBmcm9tIFwiQGNka3RuL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgVG9rZW4gfSBmcm9tIFwiY2RrdG5cIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gXCIuLi8uLi9kdXJhdGlvblwiO1xuaW1wb3J0IHsgQXdzQ29uc3RydWN0QmFzZSwgQXdzQ29uc3RydWN0UHJvcHMgfSBmcm9tIFwiLi4vYXdzLWNvbnN0cnVjdFwiO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSByZXNwb25zZSBoZWFkZXJzIHBvbGljeS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUmVzcG9uc2VIZWFkZXJzUG9saWN5IHtcbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgcmVzcG9uc2UgaGVhZGVycyBwb2xpY3lcbiAgICogQGF0dHJpYnV0ZVxuICAgKiovXG4gIHJlYWRvbmx5IHJlc3BvbnNlSGVhZGVyc1BvbGljeUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgY3JlYXRpbmcgYSBSZXNwb25zZSBIZWFkZXJzIFBvbGljeVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzIGV4dGVuZHMgQXdzQ29uc3RydWN0UHJvcHMge1xuICAvKipcbiAgICogQSB1bmlxdWUgbmFtZSB0byBpZGVudGlmeSB0aGUgcmVzcG9uc2UgaGVhZGVycyBwb2xpY3kuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZ2VuZXJhdGVkIGZyb20gdGhlIGBpZGBcbiAgICovXG4gIHJlYWRvbmx5IHJlc3BvbnNlSGVhZGVyc1BvbGljeU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgY29tbWVudCB0byBkZXNjcmliZSB0aGUgcmVzcG9uc2UgaGVhZGVycyBwb2xpY3kuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gY29tbWVudFxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWVudD86IHN0cmluZztcblxuICAvKipcbiAgICogQSBjb25maWd1cmF0aW9uIGZvciBhIHNldCBvZiBIVFRQIHJlc3BvbnNlIGhlYWRlcnMgdGhhdCBhcmUgdXNlZCBmb3IgY3Jvc3Mtb3JpZ2luIHJlc291cmNlIHNoYXJpbmcgKENPUlMpLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGNvcnMgYmVoYXZpb3JcbiAgICovXG4gIHJlYWRvbmx5IGNvcnNCZWhhdmlvcj86IFJlc3BvbnNlSGVhZGVyc0NvcnNCZWhhdmlvcjtcblxuICAvKipcbiAgICogQSBjb25maWd1cmF0aW9uIGZvciBhIHNldCBvZiBjdXN0b20gSFRUUCByZXNwb25zZSBoZWFkZXJzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGN1c3RvbSBoZWFkZXJzIGJlaGF2aW9yXG4gICAqL1xuICByZWFkb25seSBjdXN0b21IZWFkZXJzQmVoYXZpb3I/OiBSZXNwb25zZUN1c3RvbUhlYWRlcnNCZWhhdmlvcjtcblxuICAvKipcbiAgICogQSBjb25maWd1cmF0aW9uIGZvciBhIHNldCBvZiBzZWN1cml0eS1yZWxhdGVkIEhUVFAgcmVzcG9uc2UgaGVhZGVycy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBzZWN1cml0eSBoZWFkZXJzIGJlaGF2aW9yXG4gICAqL1xuICByZWFkb25seSBzZWN1cml0eUhlYWRlcnNCZWhhdmlvcj86IFJlc3BvbnNlU2VjdXJpdHlIZWFkZXJzQmVoYXZpb3I7XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBIVFRQIHJlc3BvbnNlIGhlYWRlcnMgdGhhdCBDbG91ZEZyb250IHJlbW92ZXMgZnJvbSBIVFRQIHJlc3BvbnNlc1xuICAgKiB0aGF0IGl0IHNlbmRzIHRvIHZpZXdlcnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gaGVhZGVycyBhcmUgcmVtb3ZlZFxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3ZlSGVhZGVycz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgcGVyY2VudGFnZSBvZiByZXNwb25zZXMgdGhhdCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIGFkZCB0aGUgU2VydmVyLVRpbWluZ1xuICAgKiBoZWFkZXIgdG8uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gU2VydmVyLVRpbWluZyBoZWFkZXIgaXMgYWRkZWQgdG8gSFRUUCByZXNwb25zZXNcbiAgICovXG4gIHJlYWRvbmx5IHNlcnZlclRpbWluZ1NhbXBsaW5nUmF0ZT86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBBIFJlc3BvbnNlIEhlYWRlcnMgUG9saWN5IGNvbmZpZ3VyYXRpb25cbiAqXG4gKiBAbGluayBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uQ2xvdWRGcm9udC9sYXRlc3QvRGV2ZWxvcGVyR3VpZGUvdXNpbmctbWFuYWdlZC1yZXNwb25zZS1oZWFkZXJzLXBvbGljaWVzLmh0bWxcbiAqIEBsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXdzLzUuNjAuMC9kb2NzL3Jlc291cmNlcy9jbG91ZGZyb250X3Jlc3BvbnNlX2hlYWRlcnNfcG9saWN5XG4gKi9cbmV4cG9ydCBjbGFzcyBSZXNwb25zZUhlYWRlcnNQb2xpY3lcbiAgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RCYXNlXG4gIGltcGxlbWVudHMgSVJlc3BvbnNlSGVhZGVyc1BvbGljeVxue1xuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIFJlc3BvbnNlIEhlYWRlcnMgUG9saWN5IGZyb20gaXRzIElELlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tUmVzcG9uc2VIZWFkZXJzUG9saWN5SWQoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHJlc3BvbnNlSGVhZGVyc1BvbGljeUlkOiBzdHJpbmcsXG4gICk6IElSZXNwb25zZUhlYWRlcnNQb2xpY3kge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJUmVzcG9uc2VIZWFkZXJzUG9saWN5IHtcbiAgICAgIHB1YmxpYyByZWFkb25seSBvdXRwdXRzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgcmVzcG9uc2VIZWFkZXJzUG9saWN5SWQgPSByZXNwb25zZUhlYWRlcnNQb2xpY3lJZDtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbU1hbmFnZWRQb2xpY3lOYW1lKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBtYW5hZ2VkUmVzcG9uc2VIZWFkZXJzUG9saWN5TmFtZTogTWFuYWdlZFJlc3BvbnNlSGVhZGVyc1BvbGljeSxcbiAgKTogSVJlc3BvbnNlSGVhZGVyc1BvbGljeSB7XG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgQXdzQ29uc3RydWN0QmFzZSBpbXBsZW1lbnRzIElSZXNwb25zZUhlYWRlcnNQb2xpY3kge1xuICAgICAgcHVibGljIHJlYWRvbmx5IG91dHB1dHM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICAgIHB1YmxpYyByZWFkb25seSByZXNwb25zZUhlYWRlcnNQb2xpY3lJZDogc3RyaW5nO1xuICAgICAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlOiBkYXRhQXdzQ2xvdWRmcm9udFJlc3BvbnNlSGVhZGVyc1BvbGljeS5EYXRhQXdzQ2xvdWRmcm9udFJlc3BvbnNlSGVhZGVyc1BvbGljeTtcbiAgICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICAgICAgdGhpcy5yZXNvdXJjZSA9XG4gICAgICAgICAgbmV3IGRhdGFBd3NDbG91ZGZyb250UmVzcG9uc2VIZWFkZXJzUG9saWN5LkRhdGFBd3NDbG91ZGZyb250UmVzcG9uc2VIZWFkZXJzUG9saWN5KFxuICAgICAgICAgICAgdGhpcyxcbiAgICAgICAgICAgIFwiUmVzb3VyY2VcIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogbWFuYWdlZFJlc3BvbnNlSGVhZGVyc1BvbGljeU5hbWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICk7XG4gICAgICAgIHRoaXMucmVzcG9uc2VIZWFkZXJzUG9saWN5SWQgPSB0aGlzLnJlc291cmNlLmlkO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3IEltcG9ydCgpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlOiBjbG91ZGZyb250UmVzcG9uc2VIZWFkZXJzUG9saWN5LkNsb3VkZnJvbnRSZXNwb25zZUhlYWRlcnNQb2xpY3k7XG4gIHB1YmxpYyByZWFkb25seSByZXNwb25zZUhlYWRlcnNQb2xpY3lJZDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgb3V0cHV0czogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogUmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHMgPSB7fSxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gICAgY29uc3QgcmVzcG9uc2VIZWFkZXJzUG9saWN5TmFtZSA9XG4gICAgICBwcm9wcy5yZXNwb25zZUhlYWRlcnNQb2xpY3lOYW1lIHx8XG4gICAgICB0aGlzLnN0YWNrLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzLCB7XG4gICAgICAgIHByZWZpeDogdGhpcy5ncmlkVVVJRCxcbiAgICAgICAgbWF4TGVuZ3RoOiAxMjgsXG4gICAgICB9KTtcblxuICAgIHRoaXMucmVzb3VyY2UgPVxuICAgICAgbmV3IGNsb3VkZnJvbnRSZXNwb25zZUhlYWRlcnNQb2xpY3kuQ2xvdWRmcm9udFJlc3BvbnNlSGVhZGVyc1BvbGljeShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgXCJSZXNvdXJjZVwiLFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogcmVzcG9uc2VIZWFkZXJzUG9saWN5TmFtZSxcbiAgICAgICAgICBjb21tZW50OiBwcm9wcy5jb21tZW50LFxuICAgICAgICAgIGNvcnNDb25maWc6IHByb3BzLmNvcnNCZWhhdmlvclxuICAgICAgICAgICAgPyB0aGlzLl9yZW5kZXJDb3JzQ29uZmlnKHByb3BzLmNvcnNCZWhhdmlvcilcbiAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgIGN1c3RvbUhlYWRlcnNDb25maWc6IHByb3BzLmN1c3RvbUhlYWRlcnNCZWhhdmlvclxuICAgICAgICAgICAgPyB0aGlzLl9yZW5kZXJDdXN0b21IZWFkZXJzQ29uZmlnKHByb3BzLmN1c3RvbUhlYWRlcnNCZWhhdmlvcilcbiAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgIHNlY3VyaXR5SGVhZGVyc0NvbmZpZzogcHJvcHMuc2VjdXJpdHlIZWFkZXJzQmVoYXZpb3JcbiAgICAgICAgICAgID8gdGhpcy5fcmVuZGVyU2VjdXJpdHlIZWFkZXJzQ29uZmlnKHByb3BzLnNlY3VyaXR5SGVhZGVyc0JlaGF2aW9yKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgcmVtb3ZlSGVhZGVyc0NvbmZpZzogcHJvcHMucmVtb3ZlSGVhZGVyc1xuICAgICAgICAgICAgPyB0aGlzLl9yZW5kZXJSZW1vdmVIZWFkZXJzQ29uZmlnKHByb3BzLnJlbW92ZUhlYWRlcnMpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBzZXJ2ZXJUaW1pbmdIZWFkZXJzQ29uZmlnOiBwcm9wcy5zZXJ2ZXJUaW1pbmdTYW1wbGluZ1JhdGVcbiAgICAgICAgICAgID8gdGhpcy5fcmVuZGVyU2VydmVyVGltaW5nSGVhZGVyc0NvbmZpZyhcbiAgICAgICAgICAgICAgICBwcm9wcy5zZXJ2ZXJUaW1pbmdTYW1wbGluZ1JhdGUsXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgIHRoaXMucmVzcG9uc2VIZWFkZXJzUG9saWN5SWQgPSB0aGlzLnJlc291cmNlLmlkO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVyQ29yc0NvbmZpZyhcbiAgICBiZWhhdmlvcjogUmVzcG9uc2VIZWFkZXJzQ29yc0JlaGF2aW9yLFxuICApOiBjbG91ZGZyb250UmVzcG9uc2VIZWFkZXJzUG9saWN5LkNsb3VkZnJvbnRSZXNwb25zZUhlYWRlcnNQb2xpY3lDb3JzQ29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgYWNjZXNzQ29udHJvbEFsbG93Q3JlZGVudGlhbHM6IGJlaGF2aW9yLmFjY2Vzc0NvbnRyb2xBbGxvd0NyZWRlbnRpYWxzLFxuICAgICAgYWNjZXNzQ29udHJvbEFsbG93SGVhZGVyczogeyBpdGVtczogYmVoYXZpb3IuYWNjZXNzQ29udHJvbEFsbG93SGVhZGVycyB9LFxuICAgICAgYWNjZXNzQ29udHJvbEFsbG93TWV0aG9kczogeyBpdGVtczogYmVoYXZpb3IuYWNjZXNzQ29udHJvbEFsbG93TWV0aG9kcyB9LFxuICAgICAgYWNjZXNzQ29udHJvbEFsbG93T3JpZ2luczogeyBpdGVtczogYmVoYXZpb3IuYWNjZXNzQ29udHJvbEFsbG93T3JpZ2lucyB9LFxuICAgICAgYWNjZXNzQ29udHJvbEV4cG9zZUhlYWRlcnM6IGJlaGF2aW9yLmFjY2Vzc0NvbnRyb2xFeHBvc2VIZWFkZXJzXG4gICAgICAgID8geyBpdGVtczogYmVoYXZpb3IuYWNjZXNzQ29udHJvbEV4cG9zZUhlYWRlcnMgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIGFjY2Vzc0NvbnRyb2xNYXhBZ2VTZWM6IGJlaGF2aW9yLmFjY2Vzc0NvbnRyb2xNYXhBZ2VcbiAgICAgICAgPyBiZWhhdmlvci5hY2Nlc3NDb250cm9sTWF4QWdlLnRvU2Vjb25kcygpXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgb3JpZ2luT3ZlcnJpZGU6IGJlaGF2aW9yLm9yaWdpbk92ZXJyaWRlLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJDdXN0b21IZWFkZXJzQ29uZmlnKFxuICAgIGJlaGF2aW9yOiBSZXNwb25zZUN1c3RvbUhlYWRlcnNCZWhhdmlvcixcbiAgKTogY2xvdWRmcm9udFJlc3BvbnNlSGVhZGVyc1BvbGljeS5DbG91ZGZyb250UmVzcG9uc2VIZWFkZXJzUG9saWN5Q3VzdG9tSGVhZGVyc0NvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGl0ZW1zOiBiZWhhdmlvci5jdXN0b21IZWFkZXJzLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJTZWN1cml0eUhlYWRlcnNDb25maWcoXG4gICAgYmVoYXZpb3I6IFJlc3BvbnNlU2VjdXJpdHlIZWFkZXJzQmVoYXZpb3IsXG4gICk6IGNsb3VkZnJvbnRSZXNwb25zZUhlYWRlcnNQb2xpY3kuQ2xvdWRmcm9udFJlc3BvbnNlSGVhZGVyc1BvbGljeVNlY3VyaXR5SGVhZGVyc0NvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRlbnRTZWN1cml0eVBvbGljeTogYmVoYXZpb3IuY29udGVudFNlY3VyaXR5UG9saWN5LFxuICAgICAgY29udGVudFR5cGVPcHRpb25zOiBiZWhhdmlvci5jb250ZW50VHlwZU9wdGlvbnMsXG4gICAgICBmcmFtZU9wdGlvbnM6IGJlaGF2aW9yLmZyYW1lT3B0aW9ucyxcbiAgICAgIHJlZmVycmVyUG9saWN5OiBiZWhhdmlvci5yZWZlcnJlclBvbGljeSxcbiAgICAgIHN0cmljdFRyYW5zcG9ydFNlY3VyaXR5OiBiZWhhdmlvci5zdHJpY3RUcmFuc3BvcnRTZWN1cml0eVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIC4uLmJlaGF2aW9yLnN0cmljdFRyYW5zcG9ydFNlY3VyaXR5LFxuICAgICAgICAgICAgYWNjZXNzQ29udHJvbE1heEFnZVNlYzpcbiAgICAgICAgICAgICAgYmVoYXZpb3Iuc3RyaWN0VHJhbnNwb3J0U2VjdXJpdHkuYWNjZXNzQ29udHJvbE1heEFnZS50b1NlY29uZHMoKSxcbiAgICAgICAgICB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgeHNzUHJvdGVjdGlvbjogYmVoYXZpb3IueHNzUHJvdGVjdGlvbixcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVyUmVtb3ZlSGVhZGVyc0NvbmZpZyhcbiAgICBoZWFkZXJzOiBzdHJpbmdbXSxcbiAgKTogY2xvdWRmcm9udFJlc3BvbnNlSGVhZGVyc1BvbGljeS5DbG91ZGZyb250UmVzcG9uc2VIZWFkZXJzUG9saWN5UmVtb3ZlSGVhZGVyc0NvbmZpZyB7XG4gICAgY29uc3QgcmVhZG9ubHlIZWFkZXJzID0gW1xuICAgICAgXCJjb250ZW50LWVuY29kaW5nXCIsXG4gICAgICBcImNvbnRlbnQtbGVuZ3RoXCIsXG4gICAgICBcInRyYW5zZmVyLWVuY29kaW5nXCIsXG4gICAgICBcIndhcm5pbmdcIixcbiAgICAgIFwidmlhXCIsXG4gICAgXTtcblxuICAgIHJldHVybiB7XG4gICAgICBpdGVtczogaGVhZGVycy5tYXAoKGhlYWRlcikgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgIVRva2VuLmlzVW5yZXNvbHZlZChoZWFkZXIpICYmXG4gICAgICAgICAgcmVhZG9ubHlIZWFkZXJzLmluY2x1ZGVzKGhlYWRlci50b0xvd2VyQ2FzZSgpKVxuICAgICAgICApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCByZW1vdmUgcmVhZC1vbmx5IGhlYWRlciAke2hlYWRlcn1gKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBoZWFkZXIgfTtcbiAgICAgIH0pLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJTZXJ2ZXJUaW1pbmdIZWFkZXJzQ29uZmlnKFxuICAgIHNhbXBsaW5nUmF0ZTogbnVtYmVyLFxuICApOiBjbG91ZGZyb250UmVzcG9uc2VIZWFkZXJzUG9saWN5LkNsb3VkZnJvbnRSZXNwb25zZUhlYWRlcnNQb2xpY3lTZXJ2ZXJUaW1pbmdIZWFkZXJzQ29uZmlnIHtcbiAgICBpZiAoIVRva2VuLmlzVW5yZXNvbHZlZChzYW1wbGluZ1JhdGUpKSB7XG4gICAgICBpZiAoc2FtcGxpbmdSYXRlIDwgMCB8fCBzYW1wbGluZ1JhdGUgPiAxMDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBTYW1wbGluZyByYXRlIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAxMDAgKGluY2x1c2l2ZSksIHJlY2VpdmVkICR7c2FtcGxpbmdSYXRlfWAsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmICghaGFzTWF4RGVjaW1hbFBsYWNlcyhzYW1wbGluZ1JhdGUsIDQpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgU2FtcGxpbmcgcmF0ZSBjYW4gaGF2ZSB1cCB0byBmb3VyIGRlY2ltYWwgcGxhY2VzLCByZWNlaXZlZCAke3NhbXBsaW5nUmF0ZX1gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgc2FtcGxpbmdSYXRlLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBhIHNldCBvZiBIVFRQIHJlc3BvbnNlIGhlYWRlcnMgdGhhdCBhcmUgdXNlZCBmb3IgY3Jvc3Mtb3JpZ2luIHJlc291cmNlIHNoYXJpbmcgKENPUlMpLlxuICogQ2xvdWRGcm9udCBhZGRzIHRoZXNlIGhlYWRlcnMgdG8gSFRUUCByZXNwb25zZXMgdGhhdCBpdCBzZW5kcyBmb3IgQ09SUyByZXF1ZXN0cyB0aGF0IG1hdGNoIGEgY2FjaGUgYmVoYXZpb3JcbiAqIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHJlc3BvbnNlIGhlYWRlcnMgcG9saWN5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc3BvbnNlSGVhZGVyc0NvcnNCZWhhdmlvciB7XG4gIC8qKlxuICAgKiBBIEJvb2xlYW4gdGhhdCBDbG91ZEZyb250IHVzZXMgYXMgdGhlIHZhbHVlIGZvciB0aGUgQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMgSFRUUCByZXNwb25zZSBoZWFkZXIuXG4gICAqL1xuICByZWFkb25seSBhY2Nlc3NDb250cm9sQWxsb3dDcmVkZW50aWFsczogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIEhUVFAgaGVhZGVyIG5hbWVzIHRoYXQgQ2xvdWRGcm9udCBpbmNsdWRlcyBhcyB2YWx1ZXMgZm9yIHRoZSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIEhUVFAgcmVzcG9uc2UgaGVhZGVyLlxuICAgKiBZb3UgY2FuIHNwZWNpZnkgYFsnKiddYCB0byBhbGxvdyBhbGwgaGVhZGVycy5cbiAgICovXG4gIHJlYWRvbmx5IGFjY2Vzc0NvbnRyb2xBbGxvd0hlYWRlcnM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgSFRUUCBtZXRob2RzIHRoYXQgQ2xvdWRGcm9udCBpbmNsdWRlcyBhcyB2YWx1ZXMgZm9yIHRoZSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIEhUVFAgcmVzcG9uc2UgaGVhZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgYWNjZXNzQ29udHJvbEFsbG93TWV0aG9kczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBvcmlnaW5zIChkb21haW4gbmFtZXMpIHRoYXQgQ2xvdWRGcm9udCBjYW4gdXNlIGFzIHRoZSB2YWx1ZSBmb3IgdGhlIEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiBIVFRQIHJlc3BvbnNlIGhlYWRlci5cbiAgICogWW91IGNhbiBzcGVjaWZ5IGBbJyonXWAgdG8gYWxsb3cgYWxsIG9yaWdpbnMuXG4gICAqL1xuICByZWFkb25seSBhY2Nlc3NDb250cm9sQWxsb3dPcmlnaW5zOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIEhUVFAgaGVhZGVycyB0aGF0IENsb3VkRnJvbnQgaW5jbHVkZXMgYXMgdmFsdWVzIGZvciB0aGUgQWNjZXNzLUNvbnRyb2wtRXhwb3NlLUhlYWRlcnMgSFRUUCByZXNwb25zZSBoZWFkZXIuXG4gICAqIFlvdSBjYW4gc3BlY2lmeSBgWycqJ11gIHRvIGV4cG9zZSBhbGwgaGVhZGVycy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBoZWFkZXJzIGV4cG9zZWRcbiAgICovXG4gIHJlYWRvbmx5IGFjY2Vzc0NvbnRyb2xFeHBvc2VIZWFkZXJzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEEgbnVtYmVyIHRoYXQgQ2xvdWRGcm9udCB1c2VzIGFzIHRoZSB2YWx1ZSBmb3IgdGhlIEFjY2Vzcy1Db250cm9sLU1heC1BZ2UgSFRUUCByZXNwb25zZSBoZWFkZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gbWF4IGFnZVxuICAgKi9cbiAgcmVhZG9ubHkgYWNjZXNzQ29udHJvbE1heEFnZT86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBBIEJvb2xlYW4gdGhhdCBkZXRlcm1pbmVzIHdoZXRoZXIgQ2xvdWRGcm9udCBvdmVycmlkZXMgSFRUUCByZXNwb25zZSBoZWFkZXJzIHJlY2VpdmVkIGZyb20gdGhlIG9yaWdpbiB3aXRoIHRoZSBvbmVzIHNwZWNpZmllZCBpbiB0aGlzIHJlc3BvbnNlIGhlYWRlcnMgcG9saWN5LlxuICAgKi9cbiAgcmVhZG9ubHkgb3JpZ2luT3ZlcnJpZGU6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgYSBzZXQgb2YgSFRUUCByZXNwb25zZSBoZWFkZXJzIHRoYXQgYXJlIHNlbnQgZm9yIHJlcXVlc3RzIHRoYXQgbWF0Y2ggYSBjYWNoZSBiZWhhdmlvclxuICogdGhhdOKAmXMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgcmVzcG9uc2UgaGVhZGVycyBwb2xpY3kuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzcG9uc2VDdXN0b21IZWFkZXJzQmVoYXZpb3Ige1xuICAvKipcbiAgICogVGhlIGxpc3Qgb2YgSFRUUCByZXNwb25zZSBoZWFkZXJzIGFuZCB0aGVpciB2YWx1ZXMuXG4gICAqL1xuICByZWFkb25seSBjdXN0b21IZWFkZXJzOiBSZXNwb25zZUN1c3RvbUhlYWRlcltdO1xufVxuXG4vKipcbiAqIEFuIEhUVFAgcmVzcG9uc2UgaGVhZGVyIG5hbWUgYW5kIGl0cyB2YWx1ZS5cbiAqIENsb3VkRnJvbnQgaW5jbHVkZXMgdGhpcyBoZWFkZXIgaW4gSFRUUCByZXNwb25zZXMgdGhhdCBpdCBzZW5kcyBmb3IgcmVxdWVzdHMgdGhhdCBtYXRjaCBhIGNhY2hlIGJlaGF2aW9yIHRoYXTigJlzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHJlc3BvbnNlIGhlYWRlcnMgcG9saWN5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc3BvbnNlQ3VzdG9tSGVhZGVyIHtcbiAgLyoqXG4gICAqIFRoZSBIVFRQIHJlc3BvbnNlIGhlYWRlciBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgaGVhZGVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgQm9vbGVhbiB0aGF0IGRldGVybWluZXMgd2hldGhlciBDbG91ZEZyb250IG92ZXJyaWRlcyBhIHJlc3BvbnNlIGhlYWRlciB3aXRoIHRoZSBzYW1lIG5hbWVcbiAgICogcmVjZWl2ZWQgZnJvbSB0aGUgb3JpZ2luIHdpdGggdGhlIGhlYWRlciBzcGVjaWZpZWQgaGVyZS5cbiAgICovXG4gIHJlYWRvbmx5IG92ZXJyaWRlOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgZm9yIHRoZSBIVFRQIHJlc3BvbnNlIGhlYWRlci5cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgYSBzZXQgb2Ygc2VjdXJpdHktcmVsYXRlZCBIVFRQIHJlc3BvbnNlIGhlYWRlcnMuXG4gKiBDbG91ZEZyb250IGFkZHMgdGhlc2UgaGVhZGVycyB0byBIVFRQIHJlc3BvbnNlcyB0aGF0IGl0IHNlbmRzIGZvciByZXF1ZXN0cyB0aGF0IG1hdGNoIGEgY2FjaGUgYmVoYXZpb3JcbiAqIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHJlc3BvbnNlIGhlYWRlcnMgcG9saWN5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc3BvbnNlU2VjdXJpdHlIZWFkZXJzQmVoYXZpb3Ige1xuICAvKipcbiAgICogVGhlIHBvbGljeSBkaXJlY3RpdmVzIGFuZCB0aGVpciB2YWx1ZXMgdGhhdCBDbG91ZEZyb250IGluY2x1ZGVzIGFzIHZhbHVlcyBmb3IgdGhlIENvbnRlbnQtU2VjdXJpdHktUG9saWN5IEhUVFAgcmVzcG9uc2UgaGVhZGVyLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGNvbnRlbnQgc2VjdXJpdHkgcG9saWN5XG4gICAqL1xuICByZWFkb25seSBjb250ZW50U2VjdXJpdHlQb2xpY3k/OiBSZXNwb25zZUhlYWRlcnNDb250ZW50U2VjdXJpdHlQb2xpY3k7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciBDbG91ZEZyb250IGluY2x1ZGVzIHRoZSBYLUNvbnRlbnQtVHlwZS1PcHRpb25zIEhUVFAgcmVzcG9uc2UgaGVhZGVyIHdpdGggaXRzIHZhbHVlIHNldCB0byBub3NuaWZmLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGNvbnRlbnQgdHlwZSBvcHRpb25zXG4gICAqL1xuICByZWFkb25seSBjb250ZW50VHlwZU9wdGlvbnM/OiBSZXNwb25zZUhlYWRlcnNDb250ZW50VHlwZU9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciBDbG91ZEZyb250IGluY2x1ZGVzIHRoZSBYLUZyYW1lLU9wdGlvbnMgSFRUUCByZXNwb25zZSBoZWFkZXIgYW5kIHRoZSBoZWFkZXLigJlzIHZhbHVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGZyYW1lIG9wdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IGZyYW1lT3B0aW9ucz86IFJlc3BvbnNlSGVhZGVyc0ZyYW1lT3B0aW9ucztcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIENsb3VkRnJvbnQgaW5jbHVkZXMgdGhlIFJlZmVycmVyLVBvbGljeSBIVFRQIHJlc3BvbnNlIGhlYWRlciBhbmQgdGhlIGhlYWRlcuKAmXMgdmFsdWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcmVmZXJyZXIgcG9saWN5XG4gICAqL1xuICByZWFkb25seSByZWZlcnJlclBvbGljeT86IFJlc3BvbnNlSGVhZGVyc1JlZmVycmVyUG9saWN5O1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgQ2xvdWRGcm9udCBpbmNsdWRlcyB0aGUgU3RyaWN0LVRyYW5zcG9ydC1TZWN1cml0eSBIVFRQIHJlc3BvbnNlIGhlYWRlciBhbmQgdGhlIGhlYWRlcuKAmXMgdmFsdWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gc3RyaWN0IHRyYW5zcG9ydCBzZWN1cml0eVxuICAgKi9cbiAgcmVhZG9ubHkgc3RyaWN0VHJhbnNwb3J0U2VjdXJpdHk/OiBSZXNwb25zZUhlYWRlcnNTdHJpY3RUcmFuc3BvcnRTZWN1cml0eTtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIENsb3VkRnJvbnQgaW5jbHVkZXMgdGhlIFgtWFNTLVByb3RlY3Rpb24gSFRUUCByZXNwb25zZSBoZWFkZXIgYW5kIHRoZSBoZWFkZXLigJlzIHZhbHVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHhzcyBwcm90ZWN0aW9uXG4gICAqL1xuICByZWFkb25seSB4c3NQcm90ZWN0aW9uPzogUmVzcG9uc2VIZWFkZXJzWFNTUHJvdGVjdGlvbjtcbn1cblxuLyoqXG4gKiBUaGUgcG9saWN5IGRpcmVjdGl2ZXMgYW5kIHRoZWlyIHZhbHVlcyB0aGF0IENsb3VkRnJvbnQgaW5jbHVkZXMgYXMgdmFsdWVzIGZvciB0aGUgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgSFRUUCByZXNwb25zZSBoZWFkZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzcG9uc2VIZWFkZXJzQ29udGVudFNlY3VyaXR5UG9saWN5IHtcbiAgLyoqXG4gICAqIFRoZSBwb2xpY3kgZGlyZWN0aXZlcyBhbmQgdGhlaXIgdmFsdWVzIHRoYXQgQ2xvdWRGcm9udCBpbmNsdWRlcyBhcyB2YWx1ZXMgZm9yIHRoZSBDb250ZW50LVNlY3VyaXR5LVBvbGljeSBIVFRQIHJlc3BvbnNlIGhlYWRlci5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRlbnRTZWN1cml0eVBvbGljeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIEJvb2xlYW4gdGhhdCBkZXRlcm1pbmVzIHdoZXRoZXIgQ2xvdWRGcm9udCBvdmVycmlkZXMgdGhlIENvbnRlbnQtU2VjdXJpdHktUG9saWN5IEhUVFAgcmVzcG9uc2UgaGVhZGVyXG4gICAqIHJlY2VpdmVkIGZyb20gdGhlIG9yaWdpbiB3aXRoIHRoZSBvbmUgc3BlY2lmaWVkIGluIHRoaXMgcmVzcG9uc2UgaGVhZGVycyBwb2xpY3kuXG4gICAqL1xuICByZWFkb25seSBvdmVycmlkZTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgQ2xvdWRGcm9udCBpbmNsdWRlcyB0aGUgWC1Db250ZW50LVR5cGUtT3B0aW9ucyBIVFRQIHJlc3BvbnNlIGhlYWRlciB3aXRoIGl0cyB2YWx1ZSBzZXQgdG8gbm9zbmlmZi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNwb25zZUhlYWRlcnNDb250ZW50VHlwZU9wdGlvbnMge1xuICAvKipcbiAgICogQSBCb29sZWFuIHRoYXQgZGV0ZXJtaW5lcyB3aGV0aGVyIENsb3VkRnJvbnQgb3ZlcnJpZGVzIHRoZSBYLUNvbnRlbnQtVHlwZS1PcHRpb25zIEhUVFAgcmVzcG9uc2UgaGVhZGVyXG4gICAqIHJlY2VpdmVkIGZyb20gdGhlIG9yaWdpbiB3aXRoIHRoZSBvbmUgc3BlY2lmaWVkIGluIHRoaXMgcmVzcG9uc2UgaGVhZGVycyBwb2xpY3kuXG4gICAqL1xuICByZWFkb25seSBvdmVycmlkZTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgQ2xvdWRGcm9udCBpbmNsdWRlcyB0aGUgWC1GcmFtZS1PcHRpb25zIEhUVFAgcmVzcG9uc2UgaGVhZGVyIGFuZCB0aGUgaGVhZGVy4oCZcyB2YWx1ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNwb25zZUhlYWRlcnNGcmFtZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBYLUZyYW1lLU9wdGlvbnMgSFRUUCByZXNwb25zZSBoZWFkZXIuXG4gICAqL1xuICByZWFkb25seSBmcmFtZU9wdGlvbjogSGVhZGVyc0ZyYW1lT3B0aW9uO1xuXG4gIC8qKlxuICAgKiBBIEJvb2xlYW4gdGhhdCBkZXRlcm1pbmVzIHdoZXRoZXIgQ2xvdWRGcm9udCBvdmVycmlkZXMgdGhlIFgtRnJhbWUtT3B0aW9ucyBIVFRQIHJlc3BvbnNlIGhlYWRlclxuICAgKiByZWNlaXZlZCBmcm9tIHRoZSBvcmlnaW4gd2l0aCB0aGUgb25lIHNwZWNpZmllZCBpbiB0aGlzIHJlc3BvbnNlIGhlYWRlcnMgcG9saWN5LlxuICAgKi9cbiAgcmVhZG9ubHkgb3ZlcnJpZGU6IGJvb2xlYW47XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIENsb3VkRnJvbnQgaW5jbHVkZXMgdGhlIFJlZmVycmVyLVBvbGljeSBIVFRQIHJlc3BvbnNlIGhlYWRlciBhbmQgdGhlIGhlYWRlcuKAmXMgdmFsdWUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzcG9uc2VIZWFkZXJzUmVmZXJyZXJQb2xpY3kge1xuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBSZWZlcnJlci1Qb2xpY3kgSFRUUCByZXNwb25zZSBoZWFkZXIuXG4gICAqL1xuICByZWFkb25seSByZWZlcnJlclBvbGljeTogSGVhZGVyc1JlZmVycmVyUG9saWN5O1xuXG4gIC8qKlxuICAgKiBBIEJvb2xlYW4gdGhhdCBkZXRlcm1pbmVzIHdoZXRoZXIgQ2xvdWRGcm9udCBvdmVycmlkZXMgdGhlIFJlZmVycmVyLVBvbGljeSBIVFRQIHJlc3BvbnNlIGhlYWRlclxuICAgKiByZWNlaXZlZCBmcm9tIHRoZSBvcmlnaW4gd2l0aCB0aGUgb25lIHNwZWNpZmllZCBpbiB0aGlzIHJlc3BvbnNlIGhlYWRlcnMgcG9saWN5LlxuICAgKi9cbiAgcmVhZG9ubHkgb3ZlcnJpZGU6IGJvb2xlYW47XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIENsb3VkRnJvbnQgaW5jbHVkZXMgdGhlIFN0cmljdC1UcmFuc3BvcnQtU2VjdXJpdHkgSFRUUCByZXNwb25zZSBoZWFkZXIgYW5kIHRoZSBoZWFkZXLigJlzIHZhbHVlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc3BvbnNlSGVhZGVyc1N0cmljdFRyYW5zcG9ydFNlY3VyaXR5IHtcbiAgLyoqXG4gICAqIEEgbnVtYmVyIHRoYXQgQ2xvdWRGcm9udCB1c2VzIGFzIHRoZSB2YWx1ZSBmb3IgdGhlIG1heC1hZ2UgZGlyZWN0aXZlIGluIHRoZSBTdHJpY3QtVHJhbnNwb3J0LVNlY3VyaXR5IEhUVFAgcmVzcG9uc2UgaGVhZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgYWNjZXNzQ29udHJvbE1heEFnZTogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIEEgQm9vbGVhbiB0aGF0IGRldGVybWluZXMgd2hldGhlciBDbG91ZEZyb250IGluY2x1ZGVzIHRoZSBpbmNsdWRlU3ViRG9tYWlucyBkaXJlY3RpdmUgaW4gdGhlIFN0cmljdC1UcmFuc3BvcnQtU2VjdXJpdHkgSFRUUCByZXNwb25zZSBoZWFkZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBpbmNsdWRlU3ViZG9tYWlucz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEEgQm9vbGVhbiB0aGF0IGRldGVybWluZXMgd2hldGhlciBDbG91ZEZyb250IG92ZXJyaWRlcyB0aGUgU3RyaWN0LVRyYW5zcG9ydC1TZWN1cml0eSBIVFRQIHJlc3BvbnNlIGhlYWRlclxuICAgKiByZWNlaXZlZCBmcm9tIHRoZSBvcmlnaW4gd2l0aCB0aGUgb25lIHNwZWNpZmllZCBpbiB0aGlzIHJlc3BvbnNlIGhlYWRlcnMgcG9saWN5LlxuICAgKi9cbiAgcmVhZG9ubHkgb3ZlcnJpZGU6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEEgQm9vbGVhbiB0aGF0IGRldGVybWluZXMgd2hldGhlciBDbG91ZEZyb250IGluY2x1ZGVzIHRoZSBwcmVsb2FkIGRpcmVjdGl2ZSBpbiB0aGUgU3RyaWN0LVRyYW5zcG9ydC1TZWN1cml0eSBIVFRQIHJlc3BvbnNlIGhlYWRlci5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHByZWxvYWQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciBDbG91ZEZyb250IGluY2x1ZGVzIHRoZSBYLVhTUy1Qcm90ZWN0aW9uIEhUVFAgcmVzcG9uc2UgaGVhZGVyIGFuZCB0aGUgaGVhZGVy4oCZcyB2YWx1ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNwb25zZUhlYWRlcnNYU1NQcm90ZWN0aW9uIHtcbiAgLyoqXG4gICAqIEEgQm9vbGVhbiB0aGF0IGRldGVybWluZXMgd2hldGhlciBDbG91ZEZyb250IGluY2x1ZGVzIHRoZSBtb2RlPWJsb2NrIGRpcmVjdGl2ZSBpbiB0aGUgWC1YU1MtUHJvdGVjdGlvbiBoZWFkZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBtb2RlQmxvY2s/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBIEJvb2xlYW4gdGhhdCBkZXRlcm1pbmVzIHdoZXRoZXIgQ2xvdWRGcm9udCBvdmVycmlkZXMgdGhlIFgtWFNTLVByb3RlY3Rpb24gSFRUUCByZXNwb25zZSBoZWFkZXJcbiAgICogcmVjZWl2ZWQgZnJvbSB0aGUgb3JpZ2luIHdpdGggdGhlIG9uZSBzcGVjaWZpZWQgaW4gdGhpcyByZXNwb25zZSBoZWFkZXJzIHBvbGljeS5cbiAgICovXG4gIHJlYWRvbmx5IG92ZXJyaWRlOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBIEJvb2xlYW4gdGhhdCBkZXRlcm1pbmVzIHRoZSB2YWx1ZSBvZiB0aGUgWC1YU1MtUHJvdGVjdGlvbiBIVFRQIHJlc3BvbnNlIGhlYWRlci5cbiAgICogV2hlbiB0aGlzIHNldHRpbmcgaXMgdHJ1ZSwgdGhlIHZhbHVlIG9mIHRoZSBYLVhTUy1Qcm90ZWN0aW9uIGhlYWRlciBpcyAxLlxuICAgKiBXaGVuIHRoaXMgc2V0dGluZyBpcyBmYWxzZSwgdGhlIHZhbHVlIG9mIHRoZSBYLVhTUy1Qcm90ZWN0aW9uIGhlYWRlciBpcyAwLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdGVjdGlvbjogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSByZXBvcnRpbmcgVVJJLCB3aGljaCBDbG91ZEZyb250IHVzZXMgYXMgdGhlIHZhbHVlIG9mIHRoZSByZXBvcnQgZGlyZWN0aXZlIGluIHRoZSBYLVhTUy1Qcm90ZWN0aW9uIGhlYWRlci5cbiAgICogWW91IGNhbm5vdCBzcGVjaWZ5IGEgUmVwb3J0VXJpIHdoZW4gTW9kZUJsb2NrIGlzIHRydWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcmVwb3J0IHVyaVxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb3J0VXJpPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEVudW0gcmVwcmVzZW50aW5nIHBvc3NpYmxlIHZhbHVlcyBvZiB0aGUgWC1GcmFtZS1PcHRpb25zIEhUVFAgcmVzcG9uc2UgaGVhZGVyLlxuICovXG5leHBvcnQgZW51bSBIZWFkZXJzRnJhbWVPcHRpb24ge1xuICAvKipcbiAgICogVGhlIHBhZ2UgY2FuIG9ubHkgYmUgZGlzcGxheWVkIGluIGEgZnJhbWUgb24gdGhlIHNhbWUgb3JpZ2luIGFzIHRoZSBwYWdlIGl0c2VsZi5cbiAgICovXG4gIERFTlkgPSBcIkRFTllcIixcblxuICAvKipcbiAgICogVGhlIHBhZ2UgY2FuIG9ubHkgYmUgZGlzcGxheWVkIGluIGEgZnJhbWUgb24gdGhlIHNwZWNpZmllZCBvcmlnaW4uXG4gICAqL1xuICBTQU1FT1JJR0lOID0gXCJTQU1FT1JJR0lOXCIsXG59XG5cbi8qKlxuICogRW51bSByZXByZXNlbnRpbmcgcG9zc2libGUgdmFsdWVzIG9mIHRoZSBSZWZlcnJlci1Qb2xpY3kgSFRUUCByZXNwb25zZSBoZWFkZXIuXG4gKi9cbmV4cG9ydCBlbnVtIEhlYWRlcnNSZWZlcnJlclBvbGljeSB7XG4gIC8qKlxuICAgKiBUaGUgcmVmZXJyZXIgcG9saWN5IGlzIG5vdCBzZXQuXG4gICAqL1xuICBOT19SRUZFUlJFUiA9IFwibm8tcmVmZXJyZXJcIixcblxuICAvKipcbiAgICogVGhlIHJlZmVycmVyIHBvbGljeSBpcyBuby1yZWZlcnJlci13aGVuLWRvd25ncmFkZS5cbiAgICovXG4gIE5PX1JFRkVSUkVSX1dIRU5fRE9XTkdSQURFID0gXCJuby1yZWZlcnJlci13aGVuLWRvd25ncmFkZVwiLFxuXG4gIC8qKlxuICAgKiBUaGUgcmVmZXJyZXIgcG9saWN5IGlzIG9yaWdpbi5cbiAgICovXG4gIE9SSUdJTiA9IFwib3JpZ2luXCIsXG5cbiAgLyoqXG4gICAqIFRoZSByZWZlcnJlciBwb2xpY3kgaXMgb3JpZ2luLXdoZW4tY3Jvc3Mtb3JpZ2luLlxuICAgKi9cbiAgT1JJR0lOX1dIRU5fQ1JPU1NfT1JJR0lOID0gXCJvcmlnaW4td2hlbi1jcm9zcy1vcmlnaW5cIixcblxuICAvKipcbiAgICogVGhlIHJlZmVycmVyIHBvbGljeSBpcyBzYW1lLW9yaWdpbi5cbiAgICovXG4gIFNBTUVfT1JJR0lOID0gXCJzYW1lLW9yaWdpblwiLFxuXG4gIC8qKlxuICAgKiBUaGUgcmVmZXJyZXIgcG9saWN5IGlzIHN0cmljdC1vcmlnaW4uXG4gICAqL1xuICBTVFJJQ1RfT1JJR0lOID0gXCJzdHJpY3Qtb3JpZ2luXCIsXG5cbiAgLyoqXG4gICAqIFRoZSByZWZlcnJlciBwb2xpY3kgaXMgc3RyaWN0LW9yaWdpbi13aGVuLWNyb3NzLW9yaWdpbi5cbiAgICovXG4gIFNUUklDVF9PUklHSU5fV0hFTl9DUk9TU19PUklHSU4gPSBcInN0cmljdC1vcmlnaW4td2hlbi1jcm9zcy1vcmlnaW5cIixcblxuICAvKipcbiAgICogVGhlIHJlZmVycmVyIHBvbGljeSBpcyB1bnNhZmUtdXJsLlxuICAgKi9cbiAgVU5TQUZFX1VSTCA9IFwidW5zYWZlLXVybFwiLFxufVxuXG5mdW5jdGlvbiBoYXNNYXhEZWNpbWFsUGxhY2VzKG51bTogbnVtYmVyLCBkZWNpbWFsczogbnVtYmVyKTogYm9vbGVhbiB7XG4gIGNvbnN0IHBhcnRzID0gbnVtLnRvU3RyaW5nKCkuc3BsaXQoXCIuXCIpO1xuICByZXR1cm4gcGFydHMubGVuZ3RoID09PSAxIHx8IHBhcnRzWzFdLmxlbmd0aCA8PSBkZWNpbWFscztcbn1cblxuLyoqXG4gKiBBIFJlc3BvbnNlIEhlYWRlcnMgUG9saWN5IGNvbmZpZ3VyYXRpb25cbiAqXG4gKiBAbGluayBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uQ2xvdWRGcm9udC9sYXRlc3QvRGV2ZWxvcGVyR3VpZGUvdXNpbmctbWFuYWdlZC1yZXNwb25zZS1oZWFkZXJzLXBvbGljaWVzLmh0bWxcbiAqIEBsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXdzLzUuNjAuMC9kb2NzL2RhdGEtc291cmNlcy9jbG91ZGZyb250X3Jlc3BvbnNlX2hlYWRlcnNfcG9saWN5I2F3cy1tYW5hZ2VkLXBvbGljaWVzXG4gKi9cbmV4cG9ydCBlbnVtIE1hbmFnZWRSZXNwb25zZUhlYWRlcnNQb2xpY3kge1xuICAvKiogVXNlIHRoaXMgbWFuYWdlZCBwb2xpY3kgdG8gYWxsb3cgc2ltcGxlIENPUlMgcmVxdWVzdHMgZnJvbSBhbnkgb3JpZ2luLiAqL1xuICBDT1JTX0FMTE9XX0FMTF9PUklHSU5TID0gXCJNYW5hZ2VkLVNpbXBsZUNPUlNcIiwgLy82MDY2OTY1Mi00NTViLTRhZTktODVhNC1jNGMwMjM5M2Y4NmNcbiAgLyoqIFVzZSB0aGlzIG1hbmFnZWQgcG9saWN5IHRvIGFsbG93IENPUlMgcmVxdWVzdHMgZnJvbSBhbnkgb3JpZ2luLCBpbmNsdWRpbmcgcHJlZmxpZ2h0IHJlcXVlc3RzLiAqL1xuICBDT1JTX0FMTE9XX0FMTF9PUklHSU5TX1dJVEhfUFJFRkxJR0hUID0gXCJNYW5hZ2VkLUNPUlMtV2l0aC1QcmVmbGlnaHRcIiwgLy81Y2MzYjkwOC1lNjE5LTRiOTktODhlNS0yY2Y3ZjQ1OTY1YmRcbiAgLyoqIFVzZSB0aGlzIG1hbmFnZWQgcG9saWN5IHRvIGFkZCBhIHNldCBvZiBzZWN1cml0eSBoZWFkZXJzIHRvIGFsbCByZXNwb25zZXMgdGhhdCBDbG91ZEZyb250IHNlbmRzIHRvIHZpZXdlcnMuICovXG4gIFNFQ1VSSVRZX0hFQURFUlMgPSBcIk1hbmFnZWQtU2VjdXJpdHlIZWFkZXJzUG9saWN5XCIsIC8vNjdmNzcyNWMtNmY5Ny00MjEwLTgyZDctNTUxMmIzMWU5ZDAzXG4gIC8qKiBVc2UgdGhpcyBtYW5hZ2VkIHBvbGljeSB0byBhbGxvdyBzaW1wbGUgQ09SUyByZXF1ZXN0cyBmcm9tIGFueSBvcmlnaW4gYW5kIGFkZCBhIHNldCBvZiBzZWN1cml0eSBoZWFkZXJzIHRvIGFsbCByZXNwb25zZXMgdGhhdCBDbG91ZEZyb250IHNlbmRzIHRvIHZpZXdlcnMuICovXG4gIENPUlNfQUxMT1dfQUxMX09SSUdJTlNfQU5EX1NFQ1VSSVRZX0hFQURFUlMgPSBcIk1hbmFnZWQtQ09SUy1hbmQtU2VjdXJpdHlIZWFkZXJzUG9saWN5XCIsIC8vZTYxZWI2MGMtOWMzNS00ZDIwLWE5MjgtMmI4NGUwMmFmODljXG4gIC8qKiBVc2UgdGhpcyBtYW5hZ2VkIHBvbGljeSB0byBhbGxvdyBDT1JTIHJlcXVlc3RzIGZyb20gYW55IG9yaWdpbiwgaW5jbHVkaW5nIHByZWZsaWdodCByZXF1ZXN0cywgYW5kIGFkZCBhIHNldCBvZiBzZWN1cml0eSBoZWFkZXJzIHRvIGFsbCByZXNwb25zZXMgdGhhdCBDbG91ZEZyb250IHNlbmRzIHRvIHZpZXdlcnMuICovXG4gIENPUlNfQUxMT1dfQUxMX09SSUdJTlNfV0lUSF9QUkVGTElHSFRfQU5EX1NFQ1VSSVRZX0hFQURFUlMgPSBcIk1hbmFnZWQtQ09SUy13aXRoLXByZWZsaWdodC1hbmQtU2VjdXJpdHlIZWFkZXJzUG9saWN5XCIsIC8vZWFhYjQzODEtZWQzMy00YTg2LTg4Y2EtZDk1NThkYzZjZDYzXG59XG4iXX0=
|