@cdk_utils/iam 1.18.0 → 1.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +2770 -2323
- package/lib/generated/services/a2c.js +1 -1
- package/lib/generated/services/a4b.js +3 -3
- package/lib/generated/services/access-analyzer.js +4 -4
- package/lib/generated/services/account-access.js +4 -4
- package/lib/generated/services/account.js +4 -4
- package/lib/generated/services/acm-pca.js +4 -4
- package/lib/generated/services/acm.js +4 -4
- package/lib/generated/services/aco-automation.js +4 -4
- package/lib/generated/services/action-recommendations.js +1 -1
- package/lib/generated/services/activate.js +1 -1
- package/lib/generated/services/agent-registry.js +4 -4
- package/lib/generated/services/agentaccess-mcp.js +2 -2
- package/lib/generated/services/aidevops.js +4 -4
- package/lib/generated/services/aiops.js +4 -4
- package/lib/generated/services/airflow-serverless.js +4 -4
- package/lib/generated/services/airflow.js +4 -4
- package/lib/generated/services/amplify.js +4 -4
- package/lib/generated/services/amplifybackend.js +3 -3
- package/lib/generated/services/amplifyuibuilder.js +4 -4
- package/lib/generated/services/aoss.js +4 -4
- package/lib/generated/services/apigateway.js +4 -4
- package/lib/generated/services/app-integrations.js +4 -4
- package/lib/generated/services/appconfig.js +4 -4
- package/lib/generated/services/appfabric.js +4 -4
- package/lib/generated/services/appflow.js +4 -4
- package/lib/generated/services/application-autoscaling.js +4 -4
- package/lib/generated/services/application-signals-mcp.js +3 -3
- package/lib/generated/services/application-signals.js +4 -4
- package/lib/generated/services/application-transformation.js +1 -1
- package/lib/generated/services/applicationinsights.js +3 -3
- package/lib/generated/services/appmesh-preview.js +2 -2
- package/lib/generated/services/appmesh.js +4 -4
- package/lib/generated/services/apprunner.js +4 -4
- package/lib/generated/services/appstream.js +4 -4
- package/lib/generated/services/appstudio.js +2 -2
- package/lib/generated/services/appsync.js +4 -4
- package/lib/generated/services/apptest.js +3 -3
- package/lib/generated/services/aps.js +4 -4
- package/lib/generated/services/arc-region-switch.js +4 -4
- package/lib/generated/services/arc-zonal-shift.js +4 -4
- package/lib/generated/services/arsenal.js +1 -1
- package/lib/generated/services/artifact.js +4 -4
- package/lib/generated/services/athena.js +4 -4
- package/lib/generated/services/auditmanager.js +4 -4
- package/lib/generated/services/autoscaling-plans.js +2 -2
- package/lib/generated/services/autoscaling.js +4 -4
- package/lib/generated/services/aws-external-anthropic.js +3 -3
- package/lib/generated/services/aws-marketplace-management.js +1 -1
- package/lib/generated/services/aws-marketplace.js +4 -4
- package/lib/generated/services/aws-portal.js +1 -1
- package/lib/generated/services/awsconnector.js +1 -1
- package/lib/generated/services/b2bi.js +4 -4
- package/lib/generated/services/backup-gateway.js +4 -4
- package/lib/generated/services/backup-search.js +4 -4
- package/lib/generated/services/backup-storage.js +1 -1
- package/lib/generated/services/backup.js +4 -4
- package/lib/generated/services/batch.js +4 -4
- package/lib/generated/services/bcm-dashboards.js +4 -4
- package/lib/generated/services/bcm-data-exports.js +4 -4
- package/lib/generated/services/bcm-pricing-calculator.js +4 -4
- package/lib/generated/services/bcm-recommended-actions.js +2 -2
- package/lib/generated/services/bedrock-agentcore.js +9 -6
- package/lib/generated/services/bedrock-mantle.js +3 -3
- package/lib/generated/services/bedrock-websearch.js +2 -2
- package/lib/generated/services/bedrock.js +6 -9
- package/lib/generated/services/billing.js +4 -4
- package/lib/generated/services/billingconductor.js +4 -4
- package/lib/generated/services/braket.js +4 -4
- package/lib/generated/services/budgets.js +4 -4
- package/lib/generated/services/bugbust.js +3 -3
- package/lib/generated/services/cases.js +4 -4
- package/lib/generated/services/cassandra.js +4 -4
- package/lib/generated/services/ce.js +4 -4
- package/lib/generated/services/chatbot.js +4 -4
- package/lib/generated/services/chime.js +4 -4
- package/lib/generated/services/cleanrooms-ml.js +4 -4
- package/lib/generated/services/cleanrooms.js +4 -4
- package/lib/generated/services/cloud9.js +4 -4
- package/lib/generated/services/clouddirectory.js +3 -3
- package/lib/generated/services/cloudformation.js +4 -4
- package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
- package/lib/generated/services/cloudfront.js +4 -4
- package/lib/generated/services/cloudhsm.js +4 -4
- package/lib/generated/services/cloudsearch.js +3 -3
- package/lib/generated/services/cloudshell.js +3 -3
- package/lib/generated/services/cloudtrail-data.js +4 -4
- package/lib/generated/services/cloudtrail.js +4 -4
- package/lib/generated/services/cloudwatch.js +4 -4
- package/lib/generated/services/codeartifact.js +4 -4
- package/lib/generated/services/codebuild.js +4 -4
- package/lib/generated/services/codecatalyst.js +4 -4
- package/lib/generated/services/codecommit.js +4 -4
- package/lib/generated/services/codeconnections.js +4 -4
- package/lib/generated/services/codedeploy-commands-secure.js +1 -1
- package/lib/generated/services/codedeploy.js +4 -4
- package/lib/generated/services/codeguru-profiler.js +4 -4
- package/lib/generated/services/codeguru-reviewer.js +4 -4
- package/lib/generated/services/codeguru-security.js +4 -4
- package/lib/generated/services/codeguru.js +1 -1
- package/lib/generated/services/codepipeline.js +4 -4
- package/lib/generated/services/codestar-connections.js +4 -4
- package/lib/generated/services/codestar-notifications.js +4 -4
- package/lib/generated/services/codestar.js +3 -3
- package/lib/generated/services/codewhisperer.js +3 -3
- package/lib/generated/services/cognito-identity.js +4 -4
- package/lib/generated/services/cognito-idp.js +4 -4
- package/lib/generated/services/cognito-sync.js +3 -3
- package/lib/generated/services/comprehend.js +6 -5
- package/lib/generated/services/comprehendmedical.js +3 -3
- package/lib/generated/services/compute-optimizer.js +3 -3
- package/lib/generated/services/config.js +4 -4
- package/lib/generated/services/connect-campaigns.js +4 -4
- package/lib/generated/services/connect.js +4 -4
- package/lib/generated/services/consoleapp.js +2 -2
- package/lib/generated/services/consolidatedbilling.js +1 -1
- package/lib/generated/services/controlcatalog.js +3 -3
- package/lib/generated/services/controltower.js +4 -4
- package/lib/generated/services/cost-optimization-hub.js +2 -2
- package/lib/generated/services/cur.js +4 -4
- package/lib/generated/services/customer-verification.js +1 -1
- package/lib/generated/services/databrew.js +4 -4
- package/lib/generated/services/dataexchange.js +4 -4
- package/lib/generated/services/datapipeline.js +4 -4
- package/lib/generated/services/datasync.js +4 -4
- package/lib/generated/services/datazone.js +6 -6
- package/lib/generated/services/dax.js +4 -4
- package/lib/generated/services/dbqms.js +1 -1
- package/lib/generated/services/deadline.js +4 -4
- package/lib/generated/services/detective.js +4 -4
- package/lib/generated/services/devicefarm.js +4 -4
- package/lib/generated/services/devops-guru.js +4 -4
- package/lib/generated/services/directconnect.js +4 -4
- package/lib/generated/services/discovery.js +3 -3
- package/lib/generated/services/dlm.js +4 -4
- package/lib/generated/services/dms.js +4 -4
- package/lib/generated/services/docdb-elastic.js +4 -4
- package/lib/generated/services/drs.js +4 -4
- package/lib/generated/services/ds-data.js +4 -4
- package/lib/generated/services/ds.js +4 -4
- package/lib/generated/services/dsql.js +4 -4
- package/lib/generated/services/dynamodb.js +4 -4
- package/lib/generated/services/ebs.js +4 -4
- package/lib/generated/services/ec2-instance-connect.js +4 -4
- package/lib/generated/services/ec2.d.ts +2 -0
- package/lib/generated/services/ec2.js +7 -5
- package/lib/generated/services/ec2messages.js +2 -2
- package/lib/generated/services/ecr-public.js +4 -4
- package/lib/generated/services/ecr.js +4 -4
- package/lib/generated/services/ecs-mcp.js +1 -1
- package/lib/generated/services/ecs.js +4 -4
- package/lib/generated/services/eks-auth.js +4 -4
- package/lib/generated/services/eks-mcp.js +1 -1
- package/lib/generated/services/eks.js +4 -4
- package/lib/generated/services/elasticache.js +4 -4
- package/lib/generated/services/elasticbeanstalk.js +4 -4
- package/lib/generated/services/elasticfilesystem.js +4 -4
- package/lib/generated/services/elasticloadbalancing.js +4 -4
- package/lib/generated/services/elasticmapreduce.js +4 -4
- package/lib/generated/services/elastictranscoder.js +2 -2
- package/lib/generated/services/elemental-activations.js +1 -1
- package/lib/generated/services/elemental-appliances-software.js +2 -2
- package/lib/generated/services/elemental-inference.js +4 -4
- package/lib/generated/services/elemental-support-cases.js +3 -3
- package/lib/generated/services/elemental-support-content.js +1 -1
- package/lib/generated/services/emr-containers.js +4 -4
- package/lib/generated/services/emr-serverless.js +4 -4
- package/lib/generated/services/entityresolution.js +4 -4
- package/lib/generated/services/es.js +4 -4
- package/lib/generated/services/events.js +4 -4
- package/lib/generated/services/eventsbilltoaws.js +3 -3
- package/lib/generated/services/evidently.js +3 -3
- package/lib/generated/services/evs.js +4 -4
- package/lib/generated/services/execute-api.js +4 -4
- package/lib/generated/services/finops-agent.js +1 -1
- package/lib/generated/services/finspace-api.js +3 -3
- package/lib/generated/services/finspace.js +4 -4
- package/lib/generated/services/firehose.js +4 -4
- package/lib/generated/services/fis.js +4 -4
- package/lib/generated/services/fms.js +4 -4
- package/lib/generated/services/forecast.js +4 -4
- package/lib/generated/services/frauddetector.js +4 -4
- package/lib/generated/services/freertos.js +3 -3
- package/lib/generated/services/freetier.js +2 -2
- package/lib/generated/services/fsx.js +4 -4
- package/lib/generated/services/gamelift.js +4 -4
- package/lib/generated/services/gameliftstreams.js +4 -4
- package/lib/generated/services/geo-maps.js +3 -3
- package/lib/generated/services/geo-places.js +3 -3
- package/lib/generated/services/geo-routes.js +3 -3
- package/lib/generated/services/geo.js +4 -4
- package/lib/generated/services/glacier.js +4 -4
- package/lib/generated/services/globalaccelerator.js +4 -4
- package/lib/generated/services/glue.js +4 -4
- package/lib/generated/services/grafana.js +4 -4
- package/lib/generated/services/greengrass.js +4 -4
- package/lib/generated/services/groundstation.js +4 -4
- package/lib/generated/services/groundtruthlabeling.js +1 -1
- package/lib/generated/services/guardduty.js +4 -4
- package/lib/generated/services/health-agent.js +4 -4
- package/lib/generated/services/health.js +4 -4
- package/lib/generated/services/healthlake.js +4 -4
- package/lib/generated/services/honeycode.js +2 -2
- package/lib/generated/services/iam.js +4 -4
- package/lib/generated/services/identity-sync.js +2 -2
- package/lib/generated/services/identitystore-auth.js +1 -1
- package/lib/generated/services/identitystore.js +4 -4
- package/lib/generated/services/imagebuilder.js +4 -4
- package/lib/generated/services/importexport.js +2 -2
- package/lib/generated/services/inspector-scan.js +2 -2
- package/lib/generated/services/inspector.js +2 -2
- package/lib/generated/services/inspector2-telemetry.js +1 -1
- package/lib/generated/services/inspector2.js +4 -4
- package/lib/generated/services/interconnect.js +4 -4
- package/lib/generated/services/internetmonitor.js +4 -4
- package/lib/generated/services/invoicing.js +4 -4
- package/lib/generated/services/iot-device-tester.js +1 -1
- package/lib/generated/services/iot.js +4 -4
- package/lib/generated/services/iotanalytics.js +3 -3
- package/lib/generated/services/iotdeviceadvisor.js +4 -4
- package/lib/generated/services/iotevents.js +3 -3
- package/lib/generated/services/iotfleethub.js +3 -3
- package/lib/generated/services/iotfleetwise.js +4 -4
- package/lib/generated/services/iotjobsdata.js +4 -4
- package/lib/generated/services/iotmanagedintegrations.js +4 -4
- package/lib/generated/services/iotsitewise.js +4 -4
- package/lib/generated/services/iottwinmaker.js +4 -4
- package/lib/generated/services/iotwireless.js +4 -4
- package/lib/generated/services/iq-permission.js +2 -2
- package/lib/generated/services/iq.js +2 -2
- package/lib/generated/services/ivs.js +4 -4
- package/lib/generated/services/ivschat.js +4 -4
- package/lib/generated/services/kafka-cluster.js +3 -3
- package/lib/generated/services/kafka.js +4 -4
- package/lib/generated/services/kafkaconnect.js +4 -4
- package/lib/generated/services/kendra-ranking.js +4 -4
- package/lib/generated/services/kendra.js +4 -4
- package/lib/generated/services/kinesis.js +4 -4
- package/lib/generated/services/kinesisanalytics.js +4 -4
- package/lib/generated/services/kinesisvideo.js +4 -4
- package/lib/generated/services/kms.js +4 -4
- package/lib/generated/services/lakeformation.js +3 -3
- package/lib/generated/services/lambda.js +4 -4
- package/lib/generated/services/launchwizard.js +4 -4
- package/lib/generated/services/lex.js +4 -4
- package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
- package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
- package/lib/generated/services/license-manager.js +4 -4
- package/lib/generated/services/lightsail.js +4 -4
- package/lib/generated/services/logs.js +4 -4
- package/lib/generated/services/lookoutequipment.js +4 -4
- package/lib/generated/services/lookoutmetrics.js +3 -3
- package/lib/generated/services/lookoutvision.js +3 -3
- package/lib/generated/services/m2.js +4 -4
- package/lib/generated/services/machinelearning.js +3 -3
- package/lib/generated/services/macie2.js +4 -4
- package/lib/generated/services/managedblockchain-query.js +2 -2
- package/lib/generated/services/managedblockchain.js +4 -4
- package/lib/generated/services/mapcredits.js +2 -2
- package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
- package/lib/generated/services/mechanicalturk.js +2 -2
- package/lib/generated/services/mediaconnect.js +4 -4
- package/lib/generated/services/mediaconvert.js +4 -4
- package/lib/generated/services/mediaimport.js +1 -1
- package/lib/generated/services/medialive.js +4 -4
- package/lib/generated/services/mediapackage-vod.js +4 -4
- package/lib/generated/services/mediapackage.js +4 -4
- package/lib/generated/services/mediapackagev2.js +4 -4
- package/lib/generated/services/mediastore.js +4 -4
- package/lib/generated/services/mediatailor.js +4 -4
- package/lib/generated/services/medical-imaging.js +4 -4
- package/lib/generated/services/memorydb.js +4 -4
- package/lib/generated/services/mgh.js +4 -4
- package/lib/generated/services/mgn.js +4 -4
- package/lib/generated/services/migrationhub-orchestrator.js +4 -4
- package/lib/generated/services/migrationhub-strategy.js +2 -2
- package/lib/generated/services/mobileanalytics.js +1 -1
- package/lib/generated/services/mobiletargeting.js +4 -4
- package/lib/generated/services/monitron.js +3 -3
- package/lib/generated/services/mpa.js +4 -4
- package/lib/generated/services/mq.js +4 -4
- package/lib/generated/services/neptune-db.js +4 -4
- package/lib/generated/services/neptune-graph.js +4 -4
- package/lib/generated/services/network-firewall.js +4 -4
- package/lib/generated/services/network-security-director.js +1 -1
- package/lib/generated/services/networkflowmonitor.js +4 -4
- package/lib/generated/services/networkmanager-chat.js +1 -1
- package/lib/generated/services/networkmanager.js +4 -4
- package/lib/generated/services/networkmonitor.js +4 -4
- package/lib/generated/services/nimble.js +3 -3
- package/lib/generated/services/notifications-contacts.js +4 -4
- package/lib/generated/services/notifications.js +4 -4
- package/lib/generated/services/nova-act.js +3 -3
- package/lib/generated/services/oam.js +4 -4
- package/lib/generated/services/observabilityadmin.js +4 -4
- package/lib/generated/services/odb.js +8 -6
- package/lib/generated/services/omics.js +6 -9
- package/lib/generated/services/one.js +3 -3
- package/lib/generated/services/opensearch.js +3 -3
- package/lib/generated/services/opsworks-cm.js +2 -2
- package/lib/generated/services/opsworks.js +2 -2
- package/lib/generated/services/organizations.js +4 -4
- package/lib/generated/services/osis.js +4 -4
- package/lib/generated/services/outposts.js +4 -4
- package/lib/generated/services/panorama.js +3 -3
- package/lib/generated/services/partnercentral-account-management.js +2 -2
- package/lib/generated/services/partnercentral.js +4 -4
- package/lib/generated/services/payment-cryptography.d.ts +34 -0
- package/lib/generated/services/payment-cryptography.js +64 -5
- package/lib/generated/services/payments.js +3 -3
- package/lib/generated/services/pca-connector-ad.js +4 -4
- package/lib/generated/services/pca-connector-scep.js +4 -4
- package/lib/generated/services/pcs.js +4 -4
- package/lib/generated/services/personalize.js +4 -4
- package/lib/generated/services/pi.js +4 -4
- package/lib/generated/services/pipes.js +4 -4
- package/lib/generated/services/polly.js +3 -3
- package/lib/generated/services/pricing.js +2 -2
- package/lib/generated/services/pricingplanmanager.js +3 -3
- package/lib/generated/services/private-networks.js +3 -3
- package/lib/generated/services/profile.js +4 -4
- package/lib/generated/services/proton.js +4 -4
- package/lib/generated/services/purchase-orders.js +3 -3
- package/lib/generated/services/q.js +3 -3
- package/lib/generated/services/qapps.js +4 -4
- package/lib/generated/services/qbusiness.js +4 -4
- package/lib/generated/services/qdeveloper.js +3 -3
- package/lib/generated/services/qldb.js +3 -3
- package/lib/generated/services/quicksight.js +4 -4
- package/lib/generated/services/ram.js +4 -4
- package/lib/generated/services/rbin.js +4 -4
- package/lib/generated/services/rds-data.js +4 -4
- package/lib/generated/services/rds-db.js +2 -2
- package/lib/generated/services/rds.js +4 -4
- package/lib/generated/services/redshift-data.js +4 -4
- package/lib/generated/services/redshift-serverless.js +4 -4
- package/lib/generated/services/redshift.js +4 -4
- package/lib/generated/services/refactor-spaces.js +4 -4
- package/lib/generated/services/rekognition.js +4 -4
- package/lib/generated/services/repostspace.js +4 -4
- package/lib/generated/services/researchstudio.js +1 -1
- package/lib/generated/services/resiliencehub.js +13 -7
- package/lib/generated/services/resource-explorer-2.js +4 -4
- package/lib/generated/services/resource-explorer.js +1 -1
- package/lib/generated/services/resource-groups.js +4 -4
- package/lib/generated/services/rhelkb.js +1 -1
- package/lib/generated/services/robomaker.js +3 -3
- package/lib/generated/services/rolesanywhere.js +4 -4
- package/lib/generated/services/route53-recovery-cluster.js +4 -4
- package/lib/generated/services/route53-recovery-control-config.js +4 -4
- package/lib/generated/services/route53-recovery-readiness.js +4 -4
- package/lib/generated/services/route53.js +4 -4
- package/lib/generated/services/route53domains.js +2 -2
- package/lib/generated/services/route53globalresolver.js +4 -4
- package/lib/generated/services/route53profiles.js +4 -4
- package/lib/generated/services/route53resolver.js +4 -4
- package/lib/generated/services/rtbfabric.js +4 -4
- package/lib/generated/services/rum.js +4 -4
- package/lib/generated/services/s3-object-lambda.js +3 -3
- package/lib/generated/services/s3-outposts.js +4 -4
- package/lib/generated/services/s3.d.ts +12 -0
- package/lib/generated/services/s3.js +29 -5
- package/lib/generated/services/s3express.js +3 -3
- package/lib/generated/services/s3files.js +4 -4
- package/lib/generated/services/s3tables.js +4 -4
- package/lib/generated/services/s3vectors.js +4 -4
- package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
- package/lib/generated/services/sagemaker-geospatial.js +4 -4
- package/lib/generated/services/sagemaker-mlflow.js +3 -3
- package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
- package/lib/generated/services/sagemaker.js +4 -4
- package/lib/generated/services/savingsplans.js +4 -4
- package/lib/generated/services/scheduler.js +4 -4
- package/lib/generated/services/schemas.js +4 -4
- package/lib/generated/services/scn.js +4 -4
- package/lib/generated/services/sdb.js +3 -3
- package/lib/generated/services/secretsmanager.js +4 -4
- package/lib/generated/services/security-ir.js +4 -4
- package/lib/generated/services/securityagent.js +4 -4
- package/lib/generated/services/securityhub.js +4 -4
- package/lib/generated/services/securitylake.js +4 -4
- package/lib/generated/services/serverlessrepo.js +4 -4
- package/lib/generated/services/servicecatalog.js +4 -4
- package/lib/generated/services/servicediscovery.js +4 -4
- package/lib/generated/services/serviceextract.js +1 -1
- package/lib/generated/services/servicequotas.js +4 -4
- package/lib/generated/services/ses.js +4 -4
- package/lib/generated/services/shield.js +4 -4
- package/lib/generated/services/signer.js +4 -4
- package/lib/generated/services/signin.js +4 -4
- package/lib/generated/services/simspaceweaver.js +3 -3
- package/lib/generated/services/sms-voice.d.ts +2 -0
- package/lib/generated/services/sms-voice.js +7 -5
- package/lib/generated/services/sms.js +1 -1
- package/lib/generated/services/snow-device-management.js +4 -4
- package/lib/generated/services/snowball.js +2 -2
- package/lib/generated/services/sns.js +4 -4
- package/lib/generated/services/social-messaging.js +4 -4
- package/lib/generated/services/sqlworkbench.js +3 -3
- package/lib/generated/services/sqs.js +4 -4
- package/lib/generated/services/ssm-contacts.js +4 -4
- package/lib/generated/services/ssm-guiconnect.js +2 -2
- package/lib/generated/services/ssm-incidents.js +4 -4
- package/lib/generated/services/ssm-quicksetup.js +4 -4
- package/lib/generated/services/ssm-sap.js +4 -4
- package/lib/generated/services/ssm.js +4 -4
- package/lib/generated/services/ssmmessages.js +2 -2
- package/lib/generated/services/sso-directory.js +1 -1
- package/lib/generated/services/sso-oauth.js +3 -3
- package/lib/generated/services/sso.js +4 -4
- package/lib/generated/services/states.js +4 -4
- package/lib/generated/services/storagegateway.js +4 -4
- package/lib/generated/services/sts.js +4 -4
- package/lib/generated/services/support-console.js +1 -1
- package/lib/generated/services/support.js +2 -2
- package/lib/generated/services/supportapp.js +2 -2
- package/lib/generated/services/supportauthz.js +4 -4
- package/lib/generated/services/supportplans.js +1 -1
- package/lib/generated/services/sustainability.js +2 -2
- package/lib/generated/services/swf.js +4 -4
- package/lib/generated/services/synthetics.js +4 -4
- package/lib/generated/services/tag.js +2 -2
- package/lib/generated/services/tax.js +2 -2
- package/lib/generated/services/textract.js +4 -4
- package/lib/generated/services/thinclient.js +4 -4
- package/lib/generated/services/timestream-influxdb.js +4 -4
- package/lib/generated/services/timestream.js +4 -4
- package/lib/generated/services/tiros.js +1 -1
- package/lib/generated/services/tnb.js +4 -4
- package/lib/generated/services/transcribe.js +4 -4
- package/lib/generated/services/transfer.js +4 -4
- package/lib/generated/services/transform-custom.js +3 -3
- package/lib/generated/services/transform.js +3 -3
- package/lib/generated/services/translate.js +4 -4
- package/lib/generated/services/trustedadvisor.js +3 -3
- package/lib/generated/services/ts.js +3 -3
- package/lib/generated/services/user-subscriptions.js +2 -2
- package/lib/generated/services/uxc.js +2 -2
- package/lib/generated/services/vendor-insights.js +3 -3
- package/lib/generated/services/verified-access.js +1 -1
- package/lib/generated/services/verifiedpermissions.js +4 -4
- package/lib/generated/services/voiceid.js +4 -4
- package/lib/generated/services/vpc-lattice-svcs.js +3 -3
- package/lib/generated/services/vpc-lattice.js +4 -4
- package/lib/generated/services/vpce.js +2 -2
- package/lib/generated/services/waf-regional.js +4 -4
- package/lib/generated/services/waf.js +4 -4
- package/lib/generated/services/wafv2.js +4 -4
- package/lib/generated/services/wam.js +1 -1
- package/lib/generated/services/wellarchitected.js +4 -4
- package/lib/generated/services/wickr.js +4 -4
- package/lib/generated/services/wisdom.js +4 -4
- package/lib/generated/services/workdocs.js +3 -3
- package/lib/generated/services/worklink.js +3 -3
- package/lib/generated/services/workmail.js +4 -4
- package/lib/generated/services/workmailmessageflow.js +3 -3
- package/lib/generated/services/workspaces-instances.js +4 -4
- package/lib/generated/services/workspaces-web.js +4 -4
- package/lib/generated/services/workspaces.js +4 -4
- package/lib/generated/services/xray.js +4 -4
- package/package.json +1 -1
|
@@ -16,7 +16,7 @@ class SMSVoiceActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.SMSVoiceActions = SMSVoiceActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
SMSVoiceActions[_a] = { fqn: "@cdk_utils/iam.sms_voice.SMSVoiceActions", version: "1.
|
|
19
|
+
SMSVoiceActions[_a] = { fqn: "@cdk_utils/iam.sms_voice.SMSVoiceActions", version: "1.20.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
SMSVoiceActions.SERVICE_PREFIX = "sms-voice";
|
|
22
22
|
/** [Write] sms-voice:AssociateOriginationIdentity */
|
|
@@ -731,7 +731,7 @@ class SMSVoiceResources {
|
|
|
731
731
|
}
|
|
732
732
|
exports.SMSVoiceResources = SMSVoiceResources;
|
|
733
733
|
_b = JSII_RTTI_SYMBOL_1;
|
|
734
|
-
SMSVoiceResources[_b] = { fqn: "@cdk_utils/iam.sms_voice.SMSVoiceResources", version: "1.
|
|
734
|
+
SMSVoiceResources[_b] = { fqn: "@cdk_utils/iam.sms_voice.SMSVoiceResources", version: "1.20.0" };
|
|
735
735
|
/**
|
|
736
736
|
* API operation to required IAM actions mapping for sms-voice.
|
|
737
737
|
*/
|
|
@@ -739,7 +739,7 @@ class SMSVoiceOperations {
|
|
|
739
739
|
}
|
|
740
740
|
exports.SMSVoiceOperations = SMSVoiceOperations;
|
|
741
741
|
_c = JSII_RTTI_SYMBOL_1;
|
|
742
|
-
SMSVoiceOperations[_c] = { fqn: "@cdk_utils/iam.sms_voice.SMSVoiceOperations", version: "1.
|
|
742
|
+
SMSVoiceOperations[_c] = { fqn: "@cdk_utils/iam.sms_voice.SMSVoiceOperations", version: "1.20.0" };
|
|
743
743
|
/** IAM actions required for the AssociateOriginationIdentity API call. */
|
|
744
744
|
SMSVoiceOperations.AssociateOriginationIdentity = [
|
|
745
745
|
"sms-voice:AssociateOriginationIdentity",
|
|
@@ -1009,6 +1009,8 @@ SMSVoiceOperations.opGetProtectConfigurationCountryRuleSet = [
|
|
|
1009
1009
|
SMSVoiceOperations.opGetResourcePolicy = [
|
|
1010
1010
|
"sms-voice:GetResourcePolicy",
|
|
1011
1011
|
];
|
|
1012
|
+
/** IAM actions required for the ListAvailablePhoneNumbers API call. */
|
|
1013
|
+
SMSVoiceOperations.ListAvailablePhoneNumbers = [];
|
|
1012
1014
|
/** IAM actions required for the ListConfigurationSets API call. */
|
|
1013
1015
|
SMSVoiceOperations.ListConfigurationSets = [
|
|
1014
1016
|
"sms-voice:ListConfigurationSets",
|
|
@@ -1201,7 +1203,7 @@ class SMSVoiceConditions {
|
|
|
1201
1203
|
}
|
|
1202
1204
|
exports.SMSVoiceConditions = SMSVoiceConditions;
|
|
1203
1205
|
_d = JSII_RTTI_SYMBOL_1;
|
|
1204
|
-
SMSVoiceConditions[_d] = { fqn: "@cdk_utils/iam.sms_voice.SMSVoiceConditions", version: "1.
|
|
1206
|
+
SMSVoiceConditions[_d] = { fqn: "@cdk_utils/iam.sms_voice.SMSVoiceConditions", version: "1.20.0" };
|
|
1205
1207
|
/** Condition keys applicable to the CreateConfigurationSet action. */
|
|
1206
1208
|
SMSVoiceConditions.CreateConfigurationSetConditionKeys = [
|
|
1207
1209
|
"aws:RequestTag/${TagKey}",
|
|
@@ -1270,4 +1272,4 @@ SMSVoiceConditions.AWS_REQUEST_TAG = "aws:RequestTag/${TagKey}";
|
|
|
1270
1272
|
SMSVoiceConditions.AWS_RESOURCE_TAG = "aws:ResourceTag/${TagKey}";
|
|
1271
1273
|
/** Condition key: aws:TagKeys (ArrayOfString) */
|
|
1272
1274
|
SMSVoiceConditions.AWS_TAG_KEYS = "aws:TagKeys";
|
|
1273
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21zLXZvaWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9zbXMtdm9pY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCxnREFBZ0Q7QUFDaEQsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsZUFBZTs7QUFBNUIsMENBb2FDOzs7QUFuYUEsOEJBQThCO0FBQ2QsOEJBQWMsR0FBRyxXQUFXLENBQUM7QUFFN0MscURBQXFEO0FBQ3JDLDRDQUE0QixHQUMzQyx3Q0FBd0MsQ0FBQztBQUMxQyxzREFBc0Q7QUFDdEMsNkNBQTZCLEdBQzVDLHlDQUF5QyxDQUFDO0FBQzNDLHFDQUFxQztBQUNyQiw2QkFBYSxHQUFHLHlCQUF5QixDQUFDO0FBQzFELCtDQUErQztBQUMvQixzQ0FBc0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM1RSwrREFBK0Q7QUFDL0Msc0RBQXNDLEdBQ3JELGtEQUFrRCxDQUFDO0FBQ3BELCtDQUErQztBQUMvQixzQ0FBc0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM1RSxrREFBa0Q7QUFDbEMseUNBQXlCLEdBQ3hDLHFDQUFxQyxDQUFDO0FBQ3ZDLHlDQUF5QztBQUN6QixnQ0FBZ0IsR0FBRyw0QkFBNEIsQ0FBQztBQUNoRSxtQ0FBbUM7QUFDbkIsMEJBQVUsR0FBRyxzQkFBc0IsQ0FBQztBQUNwRCxtREFBbUQ7QUFDbkMsMENBQTBCLEdBQ3pDLHNDQUFzQyxDQUFDO0FBQ3hDLHVDQUF1QztBQUN2Qiw4QkFBYyxHQUFHLDBCQUEwQixDQUFDO0FBQzVELDJDQUEyQztBQUMzQixrQ0FBa0IsR0FBRyw4QkFBOEIsQ0FBQztBQUNwRSxzREFBc0Q7QUFDdEMsNkNBQTZCLEdBQzVDLHlDQUF5QyxDQUFDO0FBQzNDLHFEQUFxRDtBQUNyQyw0Q0FBNEIsR0FDM0Msd0NBQXdDLENB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QUErRDtBQUMvQywrQ0FBNEIsR0FBYTtJQUN4RCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiwyREFBMkQ7QUFDM0MsMkNBQXdCLEdBQWE7SUFDcEQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLDZDQUEwQixHQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7QUFFdkUsdURBQXVEO0FBQ3ZDLGtDQUFlLEdBQUcsMEJBQTBCLENBQUM7QUFDN0Qsd0RBQXdEO0FBQ3hDLG1DQUFnQixHQUFHLDJCQUEyQixDQUFDO0FBQy9ELGlEQUFpRDtBQUNqQywrQkFBWSxHQUFHLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL3Ntcy12b2ljZS5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgc21zLXZvaWNlIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBTTVNWb2ljZUFjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJzbXMtdm9pY2VcIjtcblxuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6QXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eSA9XG5cdFx0XCJzbXMtdm9pY2U6QXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6QXNzb2NpYXRlUHJvdGVjdENvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZVByb3RlY3RDb25maWd1cmF0aW9uID1cblx0XHRcInNtcy12b2ljZTpBc3NvY2lhdGVQcm90ZWN0Q29uZmlndXJhdGlvblwiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpDYXJyaWVyTG9va3VwICovXG5cdHN0YXRpYyByZWFkb25seSBDYXJyaWVyTG9va3VwID0gXCJzbXMtdm9pY2U6Q2Fycmllckxvb2t1cFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6Q3JlYXRlQ29uZmlndXJhdGlvblNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29uZmlndXJhdGlvblNldCA9IFwic21zLXZvaWNlOkNyZWF0ZUNvbmZpZ3VyYXRpb25TZXRcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkNyZWF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbiA9XG5cdFx0XCJzbXMtdm9pY2U6Q3JlYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkNyZWF0ZUV2ZW50RGVzdGluYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV2ZW50RGVzdGluYXRpb24gPSBcInNtcy12b2ljZTpDcmVhdGVFdmVudERlc3RpbmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpDcmVhdGVOb3RpZnlDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVOb3RpZnlDb25maWd1cmF0aW9uID1cblx0XHRcInNtcy12b2ljZTpDcmVhdGVOb3RpZnlDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpDcmVhdGVPcHRPdXRMaXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVPcHRPdXRMaXN0ID0gXCJzbXMtdm9pY2U6Q3JlYXRlT3B0T3V0TGlzdFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6Q3JlYXRlUG9vbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUG9vbCA9IFwic21zLXZvaWNlOkNyZWF0ZVBvb2xcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkNyZWF0ZVByb3RlY3RDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm90ZWN0Q29uZmlndXJhdGlvbiA9XG5cdFx0XCJzbXMtdm9pY2U6Q3JlYXRlUHJvdGVjdENvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkNyZWF0ZVJjc0FnZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSY3NBZ2VudCA9IFwic21zLXZvaWNlOkNyZWF0ZVJjc0FnZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpDcmVhdGVSZWdpc3RyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlZ2lzdHJhdGlvbiA9IFwic21zLXZvaWNlOkNyZWF0ZVJlZ2lzdHJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6Q3JlYXRlUmVnaXN0cmF0aW9uQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlZ2lzdHJhdGlvbkFzc29jaWF0aW9uID1cblx0XHRcInNtcy12b2ljZTpDcmVhdGVSZWdpc3RyYXRpb25Bc3NvY2lhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6Q3JlYXRlUmVnaXN0cmF0aW9uQXR0YWNobWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVnaXN0cmF0aW9uQXR0YWNobWVudCA9XG5cdFx0XCJzbXMtdm9pY2U6Q3JlYXRlUmVnaXN0cmF0aW9uQXR0YWNobWVudFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6Q3JlYXRlUmVnaXN0cmF0aW9uVmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVnaXN0cmF0aW9uVmVyc2lvbiA9XG5cdFx0XCJzbXMtdm9pY2U6Q3JlYXRlUmVnaXN0cmF0aW9uVmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6Q3JlYXRlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlciA9XG5cdFx0XCJzbXMtdm9pY2U6Q3JlYXRlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlclwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlQWNjb3VudERlZmF1bHRQcm90ZWN0Q29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWNjb3VudERlZmF1bHRQcm90ZWN0Q29uZmlndXJhdGlvbiA9XG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlQWNjb3VudERlZmF1bHRQcm90ZWN0Q29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlQ29uZmlndXJhdGlvblNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29uZmlndXJhdGlvblNldCA9IFwic21zLXZvaWNlOkRlbGV0ZUNvbmZpZ3VyYXRpb25TZXRcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbiA9XG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZURlZmF1bHRNZXNzYWdlVHlwZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGVmYXVsdE1lc3NhZ2VUeXBlID1cblx0XHRcInNtcy12b2ljZTpEZWxldGVEZWZhdWx0TWVzc2FnZVR5cGVcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZURlZmF1bHRTZW5kZXJJZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGVmYXVsdFNlbmRlcklkID0gXCJzbXMtdm9pY2U6RGVsZXRlRGVmYXVsdFNlbmRlcklkXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVFdmVudERlc3RpbmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFdmVudERlc3RpbmF0aW9uID0gXCJzbXMtdm9pY2U6RGVsZXRlRXZlbnREZXN0aW5hdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlS2V5d29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlS2V5d29yZCA9IFwic21zLXZvaWNlOkRlbGV0ZUtleXdvcmRcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZU1lZGlhTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWVkaWFNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlID1cblx0XHRcInNtcy12b2ljZTpEZWxldGVNZWRpYU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGVcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZU5vdGlmeUNvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU5vdGlmeUNvbmZpZ3VyYXRpb24gPVxuXHRcdFwic21zLXZvaWNlOkRlbGV0ZU5vdGlmeUNvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZU5vdGlmeU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU5vdGlmeU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgPVxuXHRcdFwic21zLXZvaWNlOkRlbGV0ZU5vdGlmeU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGVcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZU9wdE91dExpc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU9wdE91dExpc3QgPSBcInNtcy12b2ljZTpEZWxldGVPcHRPdXRMaXN0XCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVPcHRlZE91dE51bWJlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlT3B0ZWRPdXROdW1iZXIgPSBcInNtcy12b2ljZTpEZWxldGVPcHRlZE91dE51bWJlclwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlUG9vbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUG9vbCA9IFwic21zLXZvaWNlOkRlbGV0ZVBvb2xcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZVByb3RlY3RDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm90ZWN0Q29uZmlndXJhdGlvbiA9XG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlUHJvdGVjdENvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZVByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZSA9XG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlUHJvdGVjdENvbmZpZ3VyYXRpb25SdWxlU2V0TnVtYmVyT3ZlcnJpZGVcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZVJjc0FnZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSY3NBZ2VudCA9IFwic21zLXZvaWNlOkRlbGV0ZVJjc0FnZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlID1cblx0XHRcInNtcy12b2ljZTpEZWxldGVSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVSZWdpc3RyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlZ2lzdHJhdGlvbiA9IFwic21zLXZvaWNlOkRlbGV0ZVJlZ2lzdHJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlUmVnaXN0cmF0aW9uQXR0YWNobWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVnaXN0cmF0aW9uQXR0YWNobWVudCA9XG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlUmVnaXN0cmF0aW9uQXR0YWNobWVudFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlUmVnaXN0cmF0aW9uRmllbGRWYWx1ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVnaXN0cmF0aW9uRmllbGRWYWx1ZSA9XG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlUmVnaXN0cmF0aW9uRmllbGRWYWx1ZVwiO1xuXHQvKiogW1Blcm1pc3Npb25NYW5hZ2VtZW50XSBzbXMtdm9pY2U6RGVsZXRlUmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlUG9saWN5ID0gXCJzbXMtdm9pY2U6RGVsZXRlUmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZVRleHRNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUZXh0TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSA9XG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlVGV4dE1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGVcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZVZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXIgPVxuXHRcdFwic21zLXZvaWNlOkRlbGV0ZVZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXJcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZVZvaWNlTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVm9pY2VNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlID1cblx0XHRcInNtcy12b2ljZTpEZWxldGVWb2ljZU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGVcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVBY2NvdW50QXR0cmlidXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBY2NvdW50QXR0cmlidXRlcyA9XG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVBY2NvdW50QXR0cmlidXRlc1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZUFjY291bnRMaW1pdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWNjb3VudExpbWl0cyA9IFwic21zLXZvaWNlOkRlc2NyaWJlQWNjb3VudExpbWl0c1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZUNvbmZpZ3VyYXRpb25TZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbmZpZ3VyYXRpb25TZXRzID1cblx0XHRcInNtcy12b2ljZTpEZXNjcmliZUNvbmZpZ3VyYXRpb25TZXRzXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlS2V5d29yZHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlS2V5d29yZHMgPSBcInNtcy12b2ljZTpEZXNjcmliZUtleXdvcmRzXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlTm90aWZ5Q29uZmlndXJhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTm90aWZ5Q29uZmlndXJhdGlvbnMgPVxuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlTm90aWZ5Q29uZmlndXJhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVOb3RpZnlUZW1wbGF0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTm90aWZ5VGVtcGxhdGVzID0gXCJzbXMtdm9pY2U6RGVzY3JpYmVOb3RpZnlUZW1wbGF0ZXNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVPcHRPdXRMaXN0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVPcHRPdXRMaXN0cyA9IFwic21zLXZvaWNlOkRlc2NyaWJlT3B0T3V0TGlzdHNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVPcHRlZE91dE51bWJlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlT3B0ZWRPdXROdW1iZXJzID0gXCJzbXMtdm9pY2U6RGVzY3JpYmVPcHRlZE91dE51bWJlcnNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVQaG9uZU51bWJlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGhvbmVOdW1iZXJzID0gXCJzbXMtdm9pY2U6RGVzY3JpYmVQaG9uZU51bWJlcnNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVQb29scyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQb29scyA9IFwic21zLXZvaWNlOkRlc2NyaWJlUG9vbHNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVQcm90ZWN0Q29uZmlndXJhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUHJvdGVjdENvbmZpZ3VyYXRpb25zID1cblx0XHRcInNtcy12b2ljZTpEZXNjcmliZVByb3RlY3RDb25maWd1cmF0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZVJjc0FnZW50Q291bnRyeUxhdW5jaFN0YXR1cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSY3NBZ2VudENvdW50cnlMYXVuY2hTdGF0dXMgPVxuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlUmNzQWdlbnRDb3VudHJ5TGF1bmNoU3RhdHVzXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlUmNzQWdlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJjc0FnZW50cyA9IFwic21zLXZvaWNlOkRlc2NyaWJlUmNzQWdlbnRzXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9uQXR0YWNobWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVnaXN0cmF0aW9uQXR0YWNobWVudHMgPVxuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9uQXR0YWNobWVudHNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25GaWVsZERlZmluaXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlZ2lzdHJhdGlvbkZpZWxkRGVmaW5pdGlvbnMgPVxuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9uRmllbGREZWZpbml0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvbkZpZWxkVmFsdWVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlZ2lzdHJhdGlvbkZpZWxkVmFsdWVzID1cblx0XHRcInNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvbkZpZWxkVmFsdWVzXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9uU2VjdGlvbkRlZmluaXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlZ2lzdHJhdGlvblNlY3Rpb25EZWZpbml0aW9ucyA9XG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25TZWN0aW9uRGVmaW5pdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25UeXBlRGVmaW5pdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVnaXN0cmF0aW9uVHlwZURlZmluaXRpb25zID1cblx0XHRcInNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvblR5cGVEZWZpbml0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvblZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlZ2lzdHJhdGlvblZlcnNpb25zID1cblx0XHRcInNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvblZlcnNpb25zXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWdpc3RyYXRpb25zID0gXCJzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlU2VuZGVySWRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNlbmRlcklkcyA9IFwic21zLXZvaWNlOkRlc2NyaWJlU2VuZGVySWRzXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlU3BlbmRMaW1pdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU3BlbmRMaW1pdHMgPSBcInNtcy12b2ljZTpEZXNjcmliZVNwZW5kTGltaXRzXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcnMgPVxuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcnNcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRpc2Fzc29jaWF0ZU9yaWdpbmF0aW9uSWRlbnRpdHkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZU9yaWdpbmF0aW9uSWRlbnRpdHkgPVxuXHRcdFwic21zLXZvaWNlOkRpc2Fzc29jaWF0ZU9yaWdpbmF0aW9uSWRlbnRpdHlcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRpc2Fzc29jaWF0ZVByb3RlY3RDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVQcm90ZWN0Q29uZmlndXJhdGlvbiA9XG5cdFx0XCJzbXMtdm9pY2U6RGlzYXNzb2NpYXRlUHJvdGVjdENvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRpc2NhcmRSZWdpc3RyYXRpb25WZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNjYXJkUmVnaXN0cmF0aW9uVmVyc2lvbiA9XG5cdFx0XCJzbXMtdm9pY2U6RGlzY2FyZFJlZ2lzdHJhdGlvblZlcnNpb25cIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6R2V0Q29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbnMgPVxuXHRcdFwic21zLXZvaWNlOkdldENvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpHZXRQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0ID1cblx0XHRcInNtcy12b2ljZTpHZXRQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0XCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkdldFJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZVBvbGljeSA9IFwic21zLXZvaWNlOkdldFJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkxpc3RDb25maWd1cmF0aW9uU2V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbmZpZ3VyYXRpb25TZXRzID0gXCJzbXMtdm9pY2U6TGlzdENvbmZpZ3VyYXRpb25TZXRzXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkxpc3ROb3RpZnlDb3VudHJpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROb3RpZnlDb3VudHJpZXMgPSBcInNtcy12b2ljZTpMaXN0Tm90aWZ5Q291bnRyaWVzXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkxpc3RQb29sT3JpZ2luYXRpb25JZGVudGl0aWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UG9vbE9yaWdpbmF0aW9uSWRlbnRpdGllcyA9XG5cdFx0XCJzbXMtdm9pY2U6TGlzdFBvb2xPcmlnaW5hdGlvbklkZW50aXRpZXNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6TGlzdFByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlcyA9XG5cdFx0XCJzbXMtdm9pY2U6TGlzdFByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlc1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpMaXN0UmVnaXN0cmF0aW9uQXNzb2NpYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVnaXN0cmF0aW9uQXNzb2NpYXRpb25zID1cblx0XHRcInNtcy12b2ljZTpMaXN0UmVnaXN0cmF0aW9uQXNzb2NpYXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcInNtcy12b2ljZTpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpQdXRLZXl3b3JkICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRLZXl3b3JkID0gXCJzbXMtdm9pY2U6UHV0S2V5d29yZFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6UHV0TWVzc2FnZUZlZWRiYWNrICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRNZXNzYWdlRmVlZGJhY2sgPSBcInNtcy12b2ljZTpQdXRNZXNzYWdlRmVlZGJhY2tcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlB1dE9wdGVkT3V0TnVtYmVyICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRPcHRlZE91dE51bWJlciA9IFwic21zLXZvaWNlOlB1dE9wdGVkT3V0TnVtYmVyXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpQdXRQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UHJvdGVjdENvbmZpZ3VyYXRpb25SdWxlU2V0TnVtYmVyT3ZlcnJpZGUgPVxuXHRcdFwic21zLXZvaWNlOlB1dFByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpQdXRSZWdpc3RyYXRpb25GaWVsZFZhbHVlICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZWdpc3RyYXRpb25GaWVsZFZhbHVlID1cblx0XHRcInNtcy12b2ljZTpQdXRSZWdpc3RyYXRpb25GaWVsZFZhbHVlXCI7XG5cdC8qKiBbUGVybWlzc2lvbk1hbmFnZW1lbnRdIHNtcy12b2ljZTpQdXRSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVzb3VyY2VQb2xpY3kgPSBcInNtcy12b2ljZTpQdXRSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6UmVsZWFzZVBob25lTnVtYmVyICovXG5cdHN0YXRpYyByZWFkb25seSBSZWxlYXNlUGhvbmVOdW1iZXIgPSBcInNtcy12b2ljZTpSZWxlYXNlUGhvbmVOdW1iZXJcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlJlbGVhc2VTZW5kZXJJZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVsZWFzZVNlbmRlcklkID0gXCJzbXMtdm9pY2U6UmVsZWFzZVNlbmRlcklkXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpSZXF1ZXN0UGhvbmVOdW1iZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlcXVlc3RQaG9uZU51bWJlciA9IFwic21zLXZvaWNlOlJlcXVlc3RQaG9uZU51bWJlclwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6UmVxdWVzdFNlbmRlcklkICovXG5cdHN0YXRpYyByZWFkb25seSBSZXF1ZXN0U2VuZGVySWQgPSBcInNtcy12b2ljZTpSZXF1ZXN0U2VuZGVySWRcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNlbmREZXN0aW5hdGlvbk51bWJlclZlcmlmaWNhdGlvbkNvZGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmREZXN0aW5hdGlvbk51bWJlclZlcmlmaWNhdGlvbkNvZGUgPVxuXHRcdFwic21zLXZvaWNlOlNlbmREZXN0aW5hdGlvbk51bWJlclZlcmlmaWNhdGlvbkNvZGVcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNlbmRNZWRpYU1lc3NhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRNZWRpYU1lc3NhZ2UgPSBcInNtcy12b2ljZTpTZW5kTWVkaWFNZXNzYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpTZW5kTm90aWZ5VGV4dE1lc3NhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmROb3RpZnlUZXh0TWVzc2FnZSA9IFwic21zLXZvaWNlOlNlbmROb3RpZnlUZXh0TWVzc2FnZVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6U2VuZE5vdGlmeVZvaWNlTWVzc2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZE5vdGlmeVZvaWNlTWVzc2FnZSA9IFwic21zLXZvaWNlOlNlbmROb3RpZnlWb2ljZU1lc3NhZ2VcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNlbmRSY3NNZXNzYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kUmNzTWVzc2FnZSA9IFwic21zLXZvaWNlOlNlbmRSY3NNZXNzYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpTZW5kVGV4dE1lc3NhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRUZXh0TWVzc2FnZSA9IFwic21zLXZvaWNlOlNlbmRUZXh0TWVzc2FnZVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6U2VuZFZvaWNlTWVzc2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZFZvaWNlTWVzc2FnZSA9IFwic21zLXZvaWNlOlNlbmRWb2ljZU1lc3NhZ2VcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNldEFjY291bnREZWZhdWx0UHJvdGVjdENvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvblNldEFjY291bnREZWZhdWx0UHJvdGVjdENvbmZpZ3VyYXRpb24gPVxuXHRcdFwic21zLXZvaWNlOlNldEFjY291bnREZWZhdWx0UHJvdGVjdENvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNldERlZmF1bHRNZXNzYWdlRmVlZGJhY2tFbmFibGVkICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25TZXREZWZhdWx0TWVzc2FnZUZlZWRiYWNrRW5hYmxlZCA9XG5cdFx0XCJzbXMtdm9pY2U6U2V0RGVmYXVsdE1lc3NhZ2VGZWVkYmFja0VuYWJsZWRcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNldERlZmF1bHRNZXNzYWdlVHlwZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uU2V0RGVmYXVsdE1lc3NhZ2VUeXBlID1cblx0XHRcInNtcy12b2ljZTpTZXREZWZhdWx0TWVzc2FnZVR5cGVcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNldERlZmF1bHRTZW5kZXJJZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uU2V0RGVmYXVsdFNlbmRlcklkID0gXCJzbXMtdm9pY2U6U2V0RGVmYXVsdFNlbmRlcklkXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpTZXRNZWRpYU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvblNldE1lZGlhTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSA9XG5cdFx0XCJzbXMtdm9pY2U6U2V0TWVkaWFNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpTZXROb3RpZnlNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25TZXROb3RpZnlNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlID1cblx0XHRcInNtcy12b2ljZTpTZXROb3RpZnlNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpTZXRSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25TZXRSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlID1cblx0XHRcInNtcy12b2ljZTpTZXRSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpTZXRUZXh0TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uU2V0VGV4dE1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgPVxuXHRcdFwic21zLXZvaWNlOlNldFRleHRNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpTZXRWb2ljZU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvblNldFZvaWNlTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSA9XG5cdFx0XCJzbXMtdm9pY2U6U2V0Vm9pY2VNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpTdWJtaXRSZWdpc3RyYXRpb25WZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdWJtaXRSZWdpc3RyYXRpb25WZXJzaW9uID1cblx0XHRcInNtcy12b2ljZTpTdWJtaXRSZWdpc3RyYXRpb25WZXJzaW9uXCI7XG5cdC8qKiBbVGFnZ2luZ10gc21zLXZvaWNlOlRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZSA9IFwic21zLXZvaWNlOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gc21zLXZvaWNlOlVudGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2UgPSBcInNtcy12b2ljZTpVbnRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpVcGRhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb24gPVxuXHRcdFwic21zLXZvaWNlOlVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpVcGRhdGVFdmVudERlc3RpbmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFdmVudERlc3RpbmF0aW9uID0gXCJzbXMtdm9pY2U6VXBkYXRlRXZlbnREZXN0aW5hdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6VXBkYXRlTm90aWZ5Q29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTm90aWZ5Q29uZmlndXJhdGlvbiA9XG5cdFx0XCJzbXMtdm9pY2U6VXBkYXRlTm90aWZ5Q29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6VXBkYXRlUGhvbmVOdW1iZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBob25lTnVtYmVyID0gXCJzbXMtdm9pY2U6VXBkYXRlUGhvbmVOdW1iZXJcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlVwZGF0ZVBvb2wgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBvb2wgPSBcInNtcy12b2ljZTpVcGRhdGVQb29sXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpVcGRhdGVQcm90ZWN0Q29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvdGVjdENvbmZpZ3VyYXRpb24gPVxuXHRcdFwic21zLXZvaWNlOlVwZGF0ZVByb3RlY3RDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpVcGRhdGVQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0ID1cblx0XHRcInNtcy12b2ljZTpVcGRhdGVQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0XCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpVcGRhdGVSY3NBZ2VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmNzQWdlbnQgPSBcInNtcy12b2ljZTpVcGRhdGVSY3NBZ2VudFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6VXBkYXRlU2VuZGVySWQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlbmRlcklkID0gXCJzbXMtdm9pY2U6VXBkYXRlU2VuZGVySWRcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlZlcmlmeURlc3RpbmF0aW9uTnVtYmVyICovXG5cdHN0YXRpYyByZWFkb25seSBWZXJpZnlEZXN0aW5hdGlvbk51bWJlciA9IFwic21zLXZvaWNlOlZlcmlmeURlc3RpbmF0aW9uTnVtYmVyXCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0U01TVm9pY2VBY3Rpb25zLkNhcnJpZXJMb29rdXAsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlc2NyaWJlQWNjb3VudEF0dHJpYnV0ZXMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlc2NyaWJlQWNjb3VudExpbWl0cyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVDb25maWd1cmF0aW9uU2V0cyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVLZXl3b3Jkcyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVOb3RpZnlDb25maWd1cmF0aW9ucyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVOb3RpZnlUZW1wbGF0ZXMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlc2NyaWJlT3B0T3V0TGlzdHMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlc2NyaWJlT3B0ZWRPdXROdW1iZXJzLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZVBob25lTnVtYmVycyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVQb29scyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVQcm90ZWN0Q29uZmlndXJhdGlvbnMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlc2NyaWJlUmNzQWdlbnRDb3VudHJ5TGF1bmNoU3RhdHVzLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZVJjc0FnZW50cyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVSZWdpc3RyYXRpb25BdHRhY2htZW50cyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVSZWdpc3RyYXRpb25GaWVsZERlZmluaXRpb25zLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZVJlZ2lzdHJhdGlvbkZpZWxkVmFsdWVzLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZVJlZ2lzdHJhdGlvblNlY3Rpb25EZWZpbml0aW9ucyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVSZWdpc3RyYXRpb25UeXBlRGVmaW5pdGlvbnMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlc2NyaWJlUmVnaXN0cmF0aW9uVmVyc2lvbnMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlc2NyaWJlUmVnaXN0cmF0aW9ucyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVTZW5kZXJJZHMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlc2NyaWJlU3BlbmRMaW1pdHMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlc2NyaWJlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcnMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLmFjdGlvbkdldENvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9ucyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuYWN0aW9uR2V0UHJvdGVjdENvbmZpZ3VyYXRpb25Db3VudHJ5UnVsZVNldCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuYWN0aW9uR2V0UmVzb3VyY2VQb2xpY3ksXG5cdFx0U01TVm9pY2VBY3Rpb25zLkxpc3RDb25maWd1cmF0aW9uU2V0cyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuTGlzdE5vdGlmeUNvdW50cmllcyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuTGlzdFBvb2xPcmlnaW5hdGlvbklkZW50aXRpZXMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkxpc3RQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZXMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkxpc3RSZWdpc3RyYXRpb25Bc3NvY2lhdGlvbnMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0U01TVm9pY2VBY3Rpb25zLkFzc29jaWF0ZU9yaWdpbmF0aW9uSWRlbnRpdHksXG5cdFx0U01TVm9pY2VBY3Rpb25zLkFzc29jaWF0ZVByb3RlY3RDb25maWd1cmF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5DcmVhdGVDb25maWd1cmF0aW9uU2V0LFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5DcmVhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuQ3JlYXRlRXZlbnREZXN0aW5hdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuQ3JlYXRlTm90aWZ5Q29uZmlndXJhdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuQ3JlYXRlT3B0T3V0TGlzdCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuQ3JlYXRlUG9vbCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuQ3JlYXRlUHJvdGVjdENvbmZpZ3VyYXRpb24sXG5cdFx0U01TVm9pY2VBY3Rpb25zLkNyZWF0ZVJjc0FnZW50LFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5DcmVhdGVSZWdpc3RyYXRpb24sXG5cdFx0U01TVm9pY2VBY3Rpb25zLkNyZWF0ZVJlZ2lzdHJhdGlvbkFzc29jaWF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5DcmVhdGVSZWdpc3RyYXRpb25BdHRhY2htZW50LFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5DcmVhdGVSZWdpc3RyYXRpb25WZXJzaW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5DcmVhdGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVBY2NvdW50RGVmYXVsdFByb3RlY3RDb25maWd1cmF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVDb25maWd1cmF0aW9uU2V0LFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlRGVmYXVsdE1lc3NhZ2VUeXBlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVEZWZhdWx0U2VuZGVySWQsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZUV2ZW50RGVzdGluYXRpb24sXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZUtleXdvcmQsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZU1lZGlhTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlTm90aWZ5Q29uZmlndXJhdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlTm90aWZ5TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlT3B0T3V0TGlzdCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlT3B0ZWRPdXROdW1iZXIsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZVBvb2wsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZVByb3RlY3RDb25maWd1cmF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlUmNzQWdlbnQsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZVJjc01lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZVJlZ2lzdHJhdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlUmVnaXN0cmF0aW9uQXR0YWNobWVudCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlUmVnaXN0cmF0aW9uRmllbGRWYWx1ZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlVGV4dE1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZVZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXIsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZVZvaWNlTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGlzYXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGlzYXNzb2NpYXRlUHJvdGVjdENvbmZpZ3VyYXRpb24sXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRpc2NhcmRSZWdpc3RyYXRpb25WZXJzaW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5QdXRLZXl3b3JkLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5QdXRNZXNzYWdlRmVlZGJhY2ssXG5cdFx0U01TVm9pY2VBY3Rpb25zLlB1dE9wdGVkT3V0TnVtYmVyLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5QdXRQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuUHV0UmVnaXN0cmF0aW9uRmllbGRWYWx1ZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuUmVsZWFzZVBob25lTnVtYmVyLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5SZWxlYXNlU2VuZGVySWQsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlJlcXVlc3RQaG9uZU51bWJlcixcblx0XHRTTVNWb2ljZUFjdGlvbnMuUmVxdWVzdFNlbmRlcklkLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5TZW5kRGVzdGluYXRpb25OdW1iZXJWZXJpZmljYXRpb25Db2RlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5TZW5kTWVkaWFNZXNzYWdlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5TZW5kTm90aWZ5VGV4dE1lc3NhZ2UsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlNlbmROb3RpZnlWb2ljZU1lc3NhZ2UsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlNlbmRSY3NNZXNzYWdlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5TZW5kVGV4dE1lc3NhZ2UsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlNlbmRWb2ljZU1lc3NhZ2UsXG5cdFx0U01TVm9pY2VBY3Rpb25zLmFjdGlvblNldEFjY291bnREZWZhdWx0UHJvdGVjdENvbmZpZ3VyYXRpb24sXG5cdFx0U01TVm9pY2VBY3Rpb25zLmFjdGlvblNldERlZmF1bHRNZXNzYWdlRmVlZGJhY2tFbmFibGVkLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5hY3Rpb25TZXREZWZhdWx0TWVzc2FnZVR5cGUsXG5cdFx0U01TVm9pY2VBY3Rpb25zLmFjdGlvblNldERlZmF1bHRTZW5kZXJJZCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuYWN0aW9uU2V0TWVkaWFNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5hY3Rpb25TZXROb3RpZnlNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5hY3Rpb25TZXRSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5hY3Rpb25TZXRUZXh0TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuYWN0aW9uU2V0Vm9pY2VNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5TdWJtaXRSZWdpc3RyYXRpb25WZXJzaW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5VcGRhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuVXBkYXRlRXZlbnREZXN0aW5hdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuVXBkYXRlTm90aWZ5Q29uZmlndXJhdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuVXBkYXRlUGhvbmVOdW1iZXIsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlVwZGF0ZVBvb2wsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlVwZGF0ZVByb3RlY3RDb25maWd1cmF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5VcGRhdGVQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0LFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5VcGRhdGVSY3NBZ2VudCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuVXBkYXRlU2VuZGVySWQsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlZlcmlmeURlc3RpbmF0aW9uTnVtYmVyLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlUmVzb3VyY2VQb2xpY3ksXG5cdFx0U01TVm9pY2VBY3Rpb25zLlB1dFJlc291cmNlUG9saWN5LFxuXHRdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRTTVNWb2ljZUFjdGlvbnMuVGFnUmVzb3VyY2UsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBDb25maWd1cmF0aW9uU2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZUNvbmZpZ3VyYXRpb25TZXRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ29uZmlndXJhdGlvblNldE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbmZpZ3VyYXRpb25TZXROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgQ29uZmlndXJhdGlvblNldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VDb25maWd1cmF0aW9uU2V0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDb25maWd1cmF0aW9uU2V0TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbmZpZ3VyYXRpb25TZXROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBNZXNzYWdlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZU1lc3NhZ2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTWVzc2FnZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtZXNzYWdlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBNZXNzYWdlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZU1lc3NhZ2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1lc3NhZ2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1lc3NhZ2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgTm90aWZ5Q29uZmlndXJhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VOb3RpZnlDb25maWd1cmF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIE5vdGlmeUNvbmZpZ3VyYXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbm90aWZ5Q29uZmlndXJhdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgTm90aWZ5Q29uZmlndXJhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VOb3RpZnlDb25maWd1cmF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBOb3RpZnlDb25maWd1cmF0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBub3RpZnlDb25maWd1cmF0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIE9wdE91dExpc3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlT3B0T3V0TGlzdEFyblByb3BzIHtcblx0LyoqIFRoZSBPcHRPdXRMaXN0TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgb3B0T3V0TGlzdE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBPcHRPdXRMaXN0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZU9wdE91dExpc3RBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE9wdE91dExpc3ROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgb3B0T3V0TGlzdE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFBob25lTnVtYmVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZVBob25lTnVtYmVyQXJuUHJvcHMge1xuXHQvKiogVGhlIFBob25lTnVtYmVySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHBob25lTnVtYmVySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBQaG9uZU51bWJlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VQaG9uZU51bWJlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUGhvbmVOdW1iZXJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHBob25lTnVtYmVySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFBvb2wgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlUG9vbEFyblByb3BzIHtcblx0LyoqIFRoZSBQb29sSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHBvb2xJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFBvb2wgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlUG9vbEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUG9vbElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcG9vbElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBQcm90ZWN0Q29uZmlndXJhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VQcm90ZWN0Q29uZmlndXJhdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBQcm90ZWN0Q29uZmlndXJhdGlvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcm90ZWN0Q29uZmlndXJhdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUHJvdGVjdENvbmZpZ3VyYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlUHJvdGVjdENvbmZpZ3VyYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFByb3RlY3RDb25maWd1cmF0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwcm90ZWN0Q29uZmlndXJhdGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBSY3NBZ2VudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VSY3NBZ2VudEFyblByb3BzIHtcblx0LyoqIFRoZSBSY3NBZ2VudElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByY3NBZ2VudElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmNzQWdlbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlUmNzQWdlbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJjc0FnZW50SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByY3NBZ2VudElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBSZWdpc3RyYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlUmVnaXN0cmF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlZ2lzdHJhdGlvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZWdpc3RyYXRpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFJlZ2lzdHJhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VSZWdpc3RyYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlZ2lzdHJhdGlvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVnaXN0cmF0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFJlZ2lzdHJhdGlvbkF0dGFjaG1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlUmVnaXN0cmF0aW9uQXR0YWNobWVudEFyblByb3BzIHtcblx0LyoqIFRoZSBSZWdpc3RyYXRpb25BdHRhY2htZW50SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFJlZ2lzdHJhdGlvbkF0dGFjaG1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlUmVnaXN0cmF0aW9uQXR0YWNobWVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVnaXN0cmF0aW9uQXR0YWNobWVudElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVnaXN0cmF0aW9uQXR0YWNobWVudElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBTZW5kZXJJZCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VTZW5kZXJJZEFyblByb3BzIHtcblx0LyoqIFRoZSBTZW5kZXJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2VuZGVySWQ6IHN0cmluZztcblx0LyoqIFRoZSBJc29Db3VudHJ5Q29kZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaXNvQ291bnRyeUNvZGU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBTZW5kZXJJZCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VTZW5kZXJJZEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VuZGVySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZW5kZXJJZDogc3RyaW5nO1xuXHQvKiogVGhlIElzb0NvdW50cnlDb2RlIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaXNvQ291bnRyeUNvZGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlckFyblByb3BzIHtcblx0LyoqIFRoZSBWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXJJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcklkOiBzdHJpbmc7XG59XG5cbmNvbnN0IENvbmZpZ3VyYXRpb25TZXRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c21zLXZvaWNlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29uZmlndXJhdGlvbi1zZXRcXC8oPzxjb25maWd1cmF0aW9uU2V0TmFtZT5bXjovP10rKSQvO1xuY29uc3QgTWVzc2FnZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzbXMtdm9pY2U6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptZXNzYWdlXFwvKD88bWVzc2FnZUlkPlteOi8/XSspJC87XG5jb25zdCBOb3RpZnlDb25maWd1cmF0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNtcy12b2ljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm5vdGlmeS1jb25maWd1cmF0aW9uXFwvKD88bm90aWZ5Q29uZmlndXJhdGlvbklkPlteOi8/XSspJC87XG5jb25zdCBPcHRPdXRMaXN0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNtcy12b2ljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm9wdC1vdXQtbGlzdFxcLyg/PG9wdE91dExpc3ROYW1lPlteOi8/XSspJC87XG5jb25zdCBQaG9uZU51bWJlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzbXMtdm9pY2U6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwaG9uZS1udW1iZXJcXC8oPzxwaG9uZU51bWJlcklkPlteOi8/XSspJC87XG5jb25zdCBQb29sQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNtcy12b2ljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnBvb2xcXC8oPzxwb29sSWQ+W146Lz9dKykkLztcbmNvbnN0IFByb3RlY3RDb25maWd1cmF0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNtcy12b2ljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnByb3RlY3QtY29uZmlndXJhdGlvblxcLyg/PHByb3RlY3RDb25maWd1cmF0aW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IFJjc0FnZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNtcy12b2ljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJjcy1hZ2VudFxcLyg/PHJjc0FnZW50SWQ+W146Lz9dKykkLztcbmNvbnN0IFJlZ2lzdHJhdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzbXMtdm9pY2U6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZWdpc3RyYXRpb25cXC8oPzxyZWdpc3RyYXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgUmVnaXN0cmF0aW9uQXR0YWNobWVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzbXMtdm9pY2U6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZWdpc3RyYXRpb24tYXR0YWNobWVudFxcLyg/PHJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRJZD5bXjovP10rKSQvO1xuY29uc3QgU2VuZGVySWRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c21zLXZvaWNlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2VuZGVyLWlkXFwvKD88c2VuZGVySWQ+W146Lz9dKylcXC8oPzxpc29Db3VudHJ5Q29kZT5bXjovP10rKSQvO1xuY29uc3QgVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzbXMtdm9pY2U6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp2ZXJpZmllZC1kZXN0aW5hdGlvbi1udW1iZXJcXC8oPzx2ZXJpZmllZERlc3RpbmF0aW9uTnVtYmVySWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBzbXMtdm9pY2UgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgU01TVm9pY2VSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIENvbmZpZ3VyYXRpb25TZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29uZmlndXJhdGlvblNldChwcm9wczogU01TVm9pY2VDb25maWd1cmF0aW9uU2V0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNtcy12b2ljZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb25maWd1cmF0aW9uLXNldC8ke3Byb3BzLmNvbmZpZ3VyYXRpb25TZXROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBDb25maWd1cmF0aW9uU2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb25maWd1cmF0aW9uU2V0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbmZpZ3VyYXRpb25TZXRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQ29uZmlndXJhdGlvblNldCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb25maWd1cmF0aW9uU2V0QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTTVNWb2ljZUNvbmZpZ3VyYXRpb25TZXRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbmZpZ3VyYXRpb25TZXRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQ29uZmlndXJhdGlvblNldCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjb25maWd1cmF0aW9uU2V0TmFtZTogbWF0Y2guZ3JvdXBzIS5jb25maWd1cmF0aW9uU2V0TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBNZXNzYWdlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1lc3NhZ2UocHJvcHM6IFNNU1ZvaWNlTWVzc2FnZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzbXMtdm9pY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bWVzc2FnZS8ke3Byb3BzLm1lc3NhZ2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgTWVzc2FnZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTWVzc2FnZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNZXNzYWdlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIE1lc3NhZ2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTWVzc2FnZUFybihhcm46IHN0cmluZyk6IFNNU1ZvaWNlTWVzc2FnZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTWVzc2FnZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBNZXNzYWdlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1lc3NhZ2VJZDogbWF0Y2guZ3JvdXBzIS5tZXNzYWdlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgTm90aWZ5Q29uZmlndXJhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBub3RpZnlDb25maWd1cmF0aW9uKFxuXHRcdHByb3BzOiBTTVNWb2ljZU5vdGlmeUNvbmZpZ3VyYXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzbXMtdm9pY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bm90aWZ5LWNvbmZpZ3VyYXRpb24vJHtwcm9wcy5ub3RpZnlDb25maWd1cmF0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIE5vdGlmeUNvbmZpZ3VyYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE5vdGlmeUNvbmZpZ3VyYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTm90aWZ5Q29uZmlndXJhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBOb3RpZnlDb25maWd1cmF0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU5vdGlmeUNvbmZpZ3VyYXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNNU1ZvaWNlTm90aWZ5Q29uZmlndXJhdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTm90aWZ5Q29uZmlndXJhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBOb3RpZnlDb25maWd1cmF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG5vdGlmeUNvbmZpZ3VyYXRpb25JZDogbWF0Y2guZ3JvdXBzIS5ub3RpZnlDb25maWd1cmF0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgT3B0T3V0TGlzdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBvcHRPdXRMaXN0KHByb3BzOiBTTVNWb2ljZU9wdE91dExpc3RBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c21zLXZvaWNlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om9wdC1vdXQtbGlzdC8ke3Byb3BzLm9wdE91dExpc3ROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBPcHRPdXRMaXN0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRPcHRPdXRMaXN0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE9wdE91dExpc3RBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgT3B0T3V0TGlzdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VPcHRPdXRMaXN0QXJuKGFybjogc3RyaW5nKTogU01TVm9pY2VPcHRPdXRMaXN0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBPcHRPdXRMaXN0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIE9wdE91dExpc3QgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0b3B0T3V0TGlzdE5hbWU6IG1hdGNoLmdyb3VwcyEub3B0T3V0TGlzdE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUGhvbmVOdW1iZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcGhvbmVOdW1iZXIocHJvcHM6IFNNU1ZvaWNlUGhvbmVOdW1iZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c21zLXZvaWNlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnBob25lLW51bWJlci8ke3Byb3BzLnBob25lTnVtYmVySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFBob25lTnVtYmVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQaG9uZU51bWJlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQaG9uZU51bWJlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBQaG9uZU51bWJlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQaG9uZU51bWJlckFybihhcm46IHN0cmluZyk6IFNNU1ZvaWNlUGhvbmVOdW1iZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFBob25lTnVtYmVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFBob25lTnVtYmVyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHBob25lTnVtYmVySWQ6IG1hdGNoLmdyb3VwcyEucGhvbmVOdW1iZXJJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBQb29sIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHBvb2wocHJvcHM6IFNNU1ZvaWNlUG9vbEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzbXMtdm9pY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cG9vbC8ke3Byb3BzLnBvb2xJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUG9vbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUG9vbEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQb29sQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFBvb2wgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUG9vbEFybihhcm46IHN0cmluZyk6IFNNU1ZvaWNlUG9vbEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUG9vbEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBQb29sIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHBvb2xJZDogbWF0Y2guZ3JvdXBzIS5wb29sSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUHJvdGVjdENvbmZpZ3VyYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcHJvdGVjdENvbmZpZ3VyYXRpb24oXG5cdFx0cHJvcHM6IFNNU1ZvaWNlUHJvdGVjdENvbmZpZ3VyYXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzbXMtdm9pY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cHJvdGVjdC1jb25maWd1cmF0aW9uLyR7cHJvcHMucHJvdGVjdENvbmZpZ3VyYXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUHJvdGVjdENvbmZpZ3VyYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFByb3RlY3RDb25maWd1cmF0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFByb3RlY3RDb25maWd1cmF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFByb3RlY3RDb25maWd1cmF0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByb3RlY3RDb25maWd1cmF0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTTVNWb2ljZVByb3RlY3RDb25maWd1cmF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcm90ZWN0Q29uZmlndXJhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBQcm90ZWN0Q29uZmlndXJhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwcm90ZWN0Q29uZmlndXJhdGlvbklkOiBtYXRjaC5ncm91cHMhLnByb3RlY3RDb25maWd1cmF0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUmNzQWdlbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmNzQWdlbnQocHJvcHM6IFNNU1ZvaWNlUmNzQWdlbnRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c21zLXZvaWNlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJjcy1hZ2VudC8ke3Byb3BzLnJjc0FnZW50SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFJjc0FnZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSY3NBZ2VudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSY3NBZ2VudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBSY3NBZ2VudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSY3NBZ2VudEFybihhcm46IHN0cmluZyk6IFNNU1ZvaWNlUmNzQWdlbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJjc0FnZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFJjc0FnZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJjc0FnZW50SWQ6IG1hdGNoLmdyb3VwcyEucmNzQWdlbnRJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBSZWdpc3RyYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVnaXN0cmF0aW9uKHByb3BzOiBTTVNWb2ljZVJlZ2lzdHJhdGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzbXMtdm9pY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cmVnaXN0cmF0aW9uLyR7cHJvcHMucmVnaXN0cmF0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFJlZ2lzdHJhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVnaXN0cmF0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlZ2lzdHJhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBSZWdpc3RyYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVnaXN0cmF0aW9uQXJuKGFybjogc3RyaW5nKTogU01TVm9pY2VSZWdpc3RyYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlZ2lzdHJhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBSZWdpc3RyYXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVnaXN0cmF0aW9uSWQ6IG1hdGNoLmdyb3VwcyEucmVnaXN0cmF0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUmVnaXN0cmF0aW9uQXR0YWNobWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZWdpc3RyYXRpb25BdHRhY2htZW50KFxuXHRcdHByb3BzOiBTTVNWb2ljZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzbXMtdm9pY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cmVnaXN0cmF0aW9uLWF0dGFjaG1lbnQvJHtwcm9wcy5yZWdpc3RyYXRpb25BdHRhY2htZW50SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFJlZ2lzdHJhdGlvbkF0dGFjaG1lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVnaXN0cmF0aW9uQXR0YWNobWVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBSZWdpc3RyYXRpb25BdHRhY2htZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNNU1ZvaWNlUmVnaXN0cmF0aW9uQXR0YWNobWVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVnaXN0cmF0aW9uQXR0YWNobWVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBSZWdpc3RyYXRpb25BdHRhY2htZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRJZDogbWF0Y2guZ3JvdXBzIS5yZWdpc3RyYXRpb25BdHRhY2htZW50SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgU2VuZGVySWQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2VuZGVySWQocHJvcHM6IFNNU1ZvaWNlU2VuZGVySWRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c21zLXZvaWNlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlbmRlci1pZC8ke3Byb3BzLnNlbmRlcklkfS8ke3Byb3BzLmlzb0NvdW50cnlDb2RlfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBTZW5kZXJJZCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2VuZGVySWRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2VuZGVySWRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgU2VuZGVySWQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2VuZGVySWRBcm4oYXJuOiBzdHJpbmcpOiBTTVNWb2ljZVNlbmRlcklkQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZW5kZXJJZEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBTZW5kZXJJZCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzZW5kZXJJZDogbWF0Y2guZ3JvdXBzIS5zZW5kZXJJZCxcblx0XHRcdGlzb0NvdW50cnlDb2RlOiBtYXRjaC5ncm91cHMhLmlzb0NvdW50cnlDb2RlLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcihcblx0XHRwcm9wczogU01TVm9pY2VWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c21zLXZvaWNlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnZlcmlmaWVkLWRlc3RpbmF0aW9uLW51bWJlci8ke3Byb3BzLnZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlckFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU01TVm9pY2VWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0dmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcklkOiBtYXRjaC5ncm91cHMhLnZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXJJZCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBzbXMtdm9pY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBTTVNWb2ljZU9wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVPcmlnaW5hdGlvbklkZW50aXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6QXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVQcm90ZWN0Q29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZVByb3RlY3RDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpBc3NvY2lhdGVQcm90ZWN0Q29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDYXJyaWVyTG9va3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2Fycmllckxvb2t1cDogc3RyaW5nW10gPSBbXCJzbXMtdm9pY2U6Q2Fycmllckxvb2t1cFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29uZmlndXJhdGlvblNldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbmZpZ3VyYXRpb25TZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkNyZWF0ZUNvbmZpZ3VyYXRpb25TZXRcIixcblx0XHRcInNtcy12b2ljZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpDcmVhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvblwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUV2ZW50RGVzdGluYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmVudERlc3RpbmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpDcmVhdGVFdmVudERlc3RpbmF0aW9uXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTm90aWZ5Q29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGlmeUNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkNyZWF0ZU5vdGlmeUNvbmZpZ3VyYXRpb25cIixcblx0XHRcInNtcy12b2ljZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVPcHRPdXRMaXN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT3B0T3V0TGlzdDogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6Q3JlYXRlT3B0T3V0TGlzdFwiLFxuXHRcdFwic21zLXZvaWNlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVBvb2wgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQb29sOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpDcmVhdGVQb29sXCIsXG5cdFx0XCJzbXMtdm9pY2U6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJvdGVjdENvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm90ZWN0Q29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6Q3JlYXRlUHJvdGVjdENvbmZpZ3VyYXRpb25cIixcblx0XHRcInNtcy12b2ljZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSY3NBZ2VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJjc0FnZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpDcmVhdGVSY3NBZ2VudFwiLFxuXHRcdFwic21zLXZvaWNlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlZ2lzdHJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlZ2lzdHJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6Q3JlYXRlUmVnaXN0cmF0aW9uXCIsXG5cdFx0XCJzbXMtdm9pY2U6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVnaXN0cmF0aW9uQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWdpc3RyYXRpb25Bc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6Q3JlYXRlUmVnaXN0cmF0aW9uQXNzb2NpYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVnaXN0cmF0aW9uQXR0YWNobWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkNyZWF0ZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRcIixcblx0XHRcInNtcy12b2ljZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZWdpc3RyYXRpb25WZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVnaXN0cmF0aW9uVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6Q3JlYXRlUmVnaXN0cmF0aW9uVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6Q3JlYXRlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlclwiLFxuXHRcdFwic21zLXZvaWNlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFjY291bnREZWZhdWx0UHJvdGVjdENvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBY2NvdW50RGVmYXVsdFByb3RlY3RDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVBY2NvdW50RGVmYXVsdFByb3RlY3RDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbmZpZ3VyYXRpb25TZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25maWd1cmF0aW9uU2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVDb25maWd1cmF0aW9uU2V0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlbGV0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURlZmF1bHRNZXNzYWdlVHlwZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURlZmF1bHRNZXNzYWdlVHlwZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlRGVmYXVsdE1lc3NhZ2VUeXBlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURlZmF1bHRTZW5kZXJJZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURlZmF1bHRTZW5kZXJJZDogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlRGVmYXVsdFNlbmRlcklkXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUV2ZW50RGVzdGluYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFdmVudERlc3RpbmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVFdmVudERlc3RpbmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUtleXdvcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVLZXl3b3JkOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpEZWxldGVLZXl3b3JkXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNZWRpYU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNZWRpYU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlbGV0ZU1lZGlhTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVOb3RpZnlDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTm90aWZ5Q29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlTm90aWZ5Q29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVOb3RpZnlNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTm90aWZ5TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlTm90aWZ5TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVPcHRPdXRMaXN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlT3B0T3V0TGlzdDogc3RyaW5nW10gPSBbXCJzbXMtdm9pY2U6RGVsZXRlT3B0T3V0TGlzdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlT3B0ZWRPdXROdW1iZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVPcHRlZE91dE51bWJlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlT3B0ZWRPdXROdW1iZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUG9vbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBvb2w6IHN0cmluZ1tdID0gW1wic21zLXZvaWNlOkRlbGV0ZVBvb2xcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVByb3RlY3RDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvdGVjdENvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlbGV0ZVByb3RlY3RDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvdGVjdENvbmZpZ3VyYXRpb25SdWxlU2V0TnVtYmVyT3ZlcnJpZGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlbGV0ZVByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJjc0FnZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmNzQWdlbnQ6IHN0cmluZ1tdID0gW1wic21zLXZvaWNlOkRlbGV0ZVJjc0FnZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmNzTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlUmNzTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZWdpc3RyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWdpc3RyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlbGV0ZVJlZ2lzdHJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZWdpc3RyYXRpb25BdHRhY2htZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVnaXN0cmF0aW9uQXR0YWNobWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlUmVnaXN0cmF0aW9uQXR0YWNobWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZWdpc3RyYXRpb25GaWVsZFZhbHVlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVnaXN0cmF0aW9uRmllbGRWYWx1ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlUmVnaXN0cmF0aW9uRmllbGRWYWx1ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVSZXNvdXJjZVBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVUZXh0TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRleHRNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVUZXh0TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVWb2ljZU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVWb2ljZU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlbGV0ZVZvaWNlTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBY2NvdW50QXR0cmlidXRlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVBY2NvdW50QXR0cmlidXRlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFjY291bnRMaW1pdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFjY291bnRMaW1pdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlQWNjb3VudExpbWl0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNvbmZpZ3VyYXRpb25TZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25maWd1cmF0aW9uU2V0czogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVDb25maWd1cmF0aW9uU2V0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUtleXdvcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVLZXl3b3Jkczogc3RyaW5nW10gPSBbXCJzbXMtdm9pY2U6RGVzY3JpYmVLZXl3b3Jkc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVOb3RpZnlDb25maWd1cmF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTm90aWZ5Q29uZmlndXJhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlTm90aWZ5Q29uZmlndXJhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVOb3RpZnlUZW1wbGF0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU5vdGlmeVRlbXBsYXRlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVOb3RpZnlUZW1wbGF0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVPcHRPdXRMaXN0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlT3B0T3V0TGlzdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlT3B0T3V0TGlzdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVPcHRlZE91dE51bWJlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU9wdGVkT3V0TnVtYmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVPcHRlZE91dE51bWJlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVQaG9uZU51bWJlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBob25lTnVtYmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVQaG9uZU51bWJlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVQb29scyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUG9vbHM6IHN0cmluZ1tdID0gW1wic21zLXZvaWNlOkRlc2NyaWJlUG9vbHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUHJvdGVjdENvbmZpZ3VyYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQcm90ZWN0Q29uZmlndXJhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlUHJvdGVjdENvbmZpZ3VyYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmNzQWdlbnRDb3VudHJ5TGF1bmNoU3RhdHVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSY3NBZ2VudENvdW50cnlMYXVuY2hTdGF0dXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlUmNzQWdlbnRDb3VudHJ5TGF1bmNoU3RhdHVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmNzQWdlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSY3NBZ2VudHM6IHN0cmluZ1tdID0gW1wic21zLXZvaWNlOkRlc2NyaWJlUmNzQWdlbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWdpc3RyYXRpb25BdHRhY2htZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25BdHRhY2htZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlZ2lzdHJhdGlvbkZpZWxkRGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlZ2lzdHJhdGlvbkZpZWxkRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9uRmllbGREZWZpbml0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlZ2lzdHJhdGlvbkZpZWxkVmFsdWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWdpc3RyYXRpb25GaWVsZFZhbHVlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25GaWVsZFZhbHVlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlZ2lzdHJhdGlvblNlY3Rpb25EZWZpbml0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVnaXN0cmF0aW9uU2VjdGlvbkRlZmluaXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvblNlY3Rpb25EZWZpbml0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlZ2lzdHJhdGlvblR5cGVEZWZpbml0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVnaXN0cmF0aW9uVHlwZURlZmluaXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvblR5cGVEZWZpbml0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlZ2lzdHJhdGlvblZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWdpc3RyYXRpb25WZXJzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25WZXJzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlZ2lzdHJhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlZ2lzdHJhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVNlbmRlcklkcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2VuZGVySWRzOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpEZXNjcmliZVNlbmRlcklkc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTcGVuZExpbWl0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU3BlbmRMaW1pdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlU3BlbmRMaW1pdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZU9yaWdpbmF0aW9uSWRlbnRpdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRpc2Fzc29jaWF0ZU9yaWdpbmF0aW9uSWRlbnRpdHlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlUHJvdGVjdENvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVQcm90ZWN0Q29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGlzYXNzb2NpYXRlUHJvdGVjdENvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzY2FyZFJlZ2lzdHJhdGlvblZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNjYXJkUmVnaXN0cmF0aW9uVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGlzY2FyZFJlZ2lzdHJhdGlvblZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkdldENvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpHZXRQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6R2V0UmVzb3VyY2VQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbmZpZ3VyYXRpb25TZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbmZpZ3VyYXRpb25TZXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpMaXN0Q29uZmlndXJhdGlvblNldHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5vdGlmeUNvdW50cmllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROb3RpZnlDb3VudHJpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkxpc3ROb3RpZnlDb3VudHJpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFBvb2xPcmlnaW5hdGlvbklkZW50aXRpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UG9vbE9yaWdpbmF0aW9uSWRlbnRpdGllczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6TGlzdFBvb2xPcmlnaW5hdGlvbklkZW50aXRpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkxpc3RQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlZ2lzdHJhdGlvbkFzc29jaWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWdpc3RyYXRpb25Bc3NvY2lhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkxpc3RSZWdpc3RyYXRpb25Bc3NvY2lhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkxpc3RUYWdzRm9yUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0S2V5d29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEtleXdvcmQ6IHN0cmluZ1tdID0gW1wic21zLXZvaWNlOlB1dEtleXdvcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dE1lc3NhZ2VGZWVkYmFjayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dE1lc3NhZ2VGZWVkYmFjazogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6UHV0TWVzc2FnZUZlZWRiYWNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dE9wdGVkT3V0TnVtYmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0T3B0ZWRPdXROdW1iZXI6IHN0cmluZ1tdID0gW1wic21zLXZvaWNlOlB1dE9wdGVkT3V0TnVtYmVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpQdXRQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRSZWdpc3RyYXRpb25GaWVsZFZhbHVlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVnaXN0cmF0aW9uRmllbGRWYWx1ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6UHV0UmVnaXN0cmF0aW9uRmllbGRWYWx1ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpQdXRSZXNvdXJjZVBvbGljeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVsZWFzZVBob25lTnVtYmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVsZWFzZVBob25lTnVtYmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpSZWxlYXNlUGhvbmVOdW1iZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVsZWFzZVNlbmRlcklkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVsZWFzZVNlbmRlcklkOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpSZWxlYXNlU2VuZGVySWRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlcXVlc3RQaG9uZU51bWJlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlcXVlc3RQaG9uZU51bWJlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6QXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eVwiLFxuXHRcdFwic21zLXZvaWNlOlJlcXVlc3RQaG9uZU51bWJlclwiLFxuXHRcdFwic21zLXZvaWNlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlcXVlc3RTZW5kZXJJZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlcXVlc3RTZW5kZXJJZDogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6UmVxdWVzdFNlbmRlcklkXCIsXG5cdFx0XCJzbXMtdm9pY2U6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VuZERlc3RpbmF0aW9uTnVtYmVyVmVyaWZpY2F0aW9uQ29kZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmREZXN0aW5hdGlvbk51bWJlclZlcmlmaWNhdGlvbkNvZGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlNlbmREZXN0aW5hdGlvbk51bWJlclZlcmlmaWNhdGlvbkNvZGVcIixcblx0XHRcInNtcy12b2ljZTpTZW5kVGV4dE1lc3NhZ2VcIixcblx0XHRcInNtcy12b2ljZTpTZW5kVm9pY2VNZXNzYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNlbmRNZWRpYU1lc3NhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kTWVkaWFNZXNzYWdlOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpTZW5kTWVkaWFNZXNzYWdlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZW5kTm90aWZ5VGV4dE1lc3NhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kTm90aWZ5VGV4dE1lc3NhZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlNlbmROb3RpZnlUZXh0TWVzc2FnZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZW5kTm90aWZ5Vm9pY2VNZXNzYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZE5vdGlmeVZvaWNlTWVzc2FnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6U2VuZE5vdGlmeVZvaWNlTWVzc2FnZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZW5kUmNzTWVzc2FnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRSY3NNZXNzYWdlOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpTZW5kUmNzTWVzc2FnZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VuZFRleHRNZXNzYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZFRleHRNZXNzYWdlOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpTZW5kVGV4dE1lc3NhZ2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNlbmRWb2ljZU1lc3NhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kVm9pY2VNZXNzYWdlOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpTZW5kVm9pY2VNZXNzYWdlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZXRBY2NvdW50RGVmYXVsdFByb3RlY3RDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXRBY2NvdW50RGVmYXVsdFByb3RlY3RDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpTZXRBY2NvdW50RGVmYXVsdFByb3RlY3RDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNldERlZmF1bHRNZXNzYWdlRmVlZGJhY2tFbmFibGVkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXREZWZhdWx0TWVzc2FnZUZlZWRiYWNrRW5hYmxlZDogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6U2V0RGVmYXVsdE1lc3NhZ2VGZWVkYmFja0VuYWJsZWRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2V0RGVmYXVsdE1lc3NhZ2VUeXBlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXREZWZhdWx0TWVzc2FnZVR5cGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlNldERlZmF1bHRNZXNzYWdlVHlwZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZXREZWZhdWx0U2VuZGVySWQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcFNldERlZmF1bHRTZW5kZXJJZDogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6U2V0RGVmYXVsdFNlbmRlcklkXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNldE1lZGlhTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wU2V0TWVkaWFNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpTZXRNZWRpYU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2V0Tm90aWZ5TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wU2V0Tm90aWZ5TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6U2V0Tm90aWZ5TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZXRSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXRSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpTZXRSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNldFRleHRNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXRUZXh0TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6U2V0VGV4dE1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2V0Vm9pY2VNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXRWb2ljZU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlNldFZvaWNlTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdWJtaXRSZWdpc3RyYXRpb25WZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3VibWl0UmVnaXN0cmF0aW9uVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6U3VibWl0UmVnaXN0cmF0aW9uVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wic21zLXZvaWNlOlVudGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUV2ZW50RGVzdGluYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFdmVudERlc3RpbmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwic21zLXZvaWNlOlVwZGF0ZUV2ZW50RGVzdGluYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTm90aWZ5Q29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU5vdGlmeUNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlVwZGF0ZU5vdGlmeUNvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUGhvbmVOdW1iZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQaG9uZU51bWJlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNtcy12b2ljZTpVcGRhdGVQaG9uZU51bWJlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQb29sIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUG9vbDogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNtcy12b2ljZTpVcGRhdGVQb29sXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVByb3RlY3RDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvdGVjdENvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlVwZGF0ZVByb3RlY3RDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVByb3RlY3RDb25maWd1cmF0aW9uQ291bnRyeVJ1bGVTZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpVcGRhdGVQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVJjc0FnZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmNzQWdlbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzbXMtdm9pY2U6VXBkYXRlUmNzQWdlbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2VuZGVySWQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZW5kZXJJZDogc3RyaW5nW10gPSBbXCJzbXMtdm9pY2U6VXBkYXRlU2VuZGVySWRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFZlcmlmeURlc3RpbmF0aW9uTnVtYmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVmVyaWZ5RGVzdGluYXRpb25OdW1iZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlZlcmlmeURlc3RpbmF0aW9uTnVtYmVyXCIsXG5cdF07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBzbXMtdm9pY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBTTVNWb2ljZUNvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ29uZmlndXJhdGlvblNldCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25maWd1cmF0aW9uU2V0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVOb3RpZnlDb25maWd1cmF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGlmeUNvbmZpZ3VyYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU9wdE91dExpc3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT3B0T3V0TGlzdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUG9vbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQb29sQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQcm90ZWN0Q29uZmlndXJhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm90ZWN0Q29uZmlndXJhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmNzQWdlbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmNzQWdlbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlZ2lzdHJhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWdpc3RyYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVnaXN0cmF0aW9uQXR0YWNobWVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZXF1ZXN0UGhvbmVOdW1iZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVxdWVzdFBob25lTnVtYmVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZXF1ZXN0U2VuZGVySWQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVxdWVzdFNlbmRlcklkQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUYWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJhd3M6VGFnS2V5c1wiXTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG59XG4iXX0=
|
|
1275
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21zLXZvaWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9zbXMtdm9pY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCxnREFBZ0Q7QUFDaEQsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsZUFBZTs7QUFBNUIsMENBb2FDOzs7QUFuYUEsOEJBQThCO0FBQ2QsOEJBQWMsR0FBRyxXQUFXLENBQUM7QUFFN0MscURBQXFEO0FBQ3JDLDRDQUE0QixHQUMzQyx3Q0FBd0MsQ0FBQztBQUMxQyxzREFBc0Q7QUFDdEMsNkNBQTZCLEdBQzVDLHlDQUF5QyxDQUFDO0FBQzNDLHFDQUFxQztBQUNyQiw2QkFBYSxHQUFHLHlCQUF5QixDQUFDO0FBQzFELCtDQUErQztBQUMvQixzQ0FBc0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM1RSwrREFBK0Q7QUFDL0Msc0RBQXNDLEdBQ3JELGtEQUFrRCxDQUFDO0FBQ3BELCtDQUErQztBQUMvQixzQ0FBc0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM1RSxrREFBa0Q7QUFDbEMseUNBQXlCLEdBQ3hDLHFDQUFxQyxDQUFDO0FBQ3ZDLHlDQUF5QztBQUN6QixnQ0FBZ0IsR0FBRyw0QkFBNEIsQ0FBQztBQUNoRSxtQ0FBbUM7QUFDbkIsMEJBQVUsR0FBRyxzQkFBc0IsQ0FBQztBQUNwRCxtREFBbUQ7QUFDbkMsMENBQTBCLEdBQ3pDLHNDQUFzQyxDQUFDO0FBQ3hDLHVDQUF1QztBQUN2Qiw4QkFBYyxHQUFHLDBCQUEwQixDQUFDO0FBQzVELDJDQUEyQztBQUMzQixrQ0FBa0IsR0FBRyw4QkFBOEIsQ0FBQztBQUNwRSxzREFBc0Q7QUFDdEMsNkNBQTZCLEdBQzVDLHlDQUF5QyxDQUFDO0FBQzNDLHFEQUFxRDtBQUNyQyw0Q0FBNEIsR0FDM0Msd0NBQXdDLENB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SUFDM0QsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsK0RBQStEO0FBQy9DLCtDQUE0QixHQUFhO0lBQ3hELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQywyQ0FBd0IsR0FBYTtJQUNwRCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsNkNBQTBCLEdBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUV2RSx1REFBdUQ7QUFDdkMsa0NBQWUsR0FBRywwQkFBMEIsQ0FBQztBQUM3RCx3REFBd0Q7QUFDeEMsbUNBQWdCLEdBQUcsMkJBQTJCLENBQUM7QUFDL0QsaURBQWlEO0FBQ2pDLCtCQUFZLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2Uvc21zLXZvaWNlLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBzbXMtdm9pY2Ugc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNNU1ZvaWNlQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcInNtcy12b2ljZVwiO1xuXG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpBc3NvY2lhdGVPcmlnaW5hdGlvbklkZW50aXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVPcmlnaW5hdGlvbklkZW50aXR5ID1cblx0XHRcInNtcy12b2ljZTpBc3NvY2lhdGVPcmlnaW5hdGlvbklkZW50aXR5XCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpBc3NvY2lhdGVQcm90ZWN0Q29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlUHJvdGVjdENvbmZpZ3VyYXRpb24gPVxuXHRcdFwic21zLXZvaWNlOkFzc29jaWF0ZVByb3RlY3RDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkNhcnJpZXJMb29rdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENhcnJpZXJMb29rdXAgPSBcInNtcy12b2ljZTpDYXJyaWVyTG9va3VwXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpDcmVhdGVDb25maWd1cmF0aW9uU2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25maWd1cmF0aW9uU2V0ID0gXCJzbXMtdm9pY2U6Q3JlYXRlQ29uZmlndXJhdGlvblNldFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6Q3JlYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uID1cblx0XHRcInNtcy12b2ljZTpDcmVhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6Q3JlYXRlRXZlbnREZXN0aW5hdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXZlbnREZXN0aW5hdGlvbiA9IFwic21zLXZvaWNlOkNyZWF0ZUV2ZW50RGVzdGluYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkNyZWF0ZU5vdGlmeUNvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGlmeUNvbmZpZ3VyYXRpb24gPVxuXHRcdFwic21zLXZvaWNlOkNyZWF0ZU5vdGlmeUNvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkNyZWF0ZU9wdE91dExpc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9wdE91dExpc3QgPSBcInNtcy12b2ljZTpDcmVhdGVPcHRPdXRMaXN0XCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpDcmVhdGVQb29sICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQb29sID0gXCJzbXMtdm9pY2U6Q3JlYXRlUG9vbFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6Q3JlYXRlUHJvdGVjdENvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb3RlY3RDb25maWd1cmF0aW9uID1cblx0XHRcInNtcy12b2ljZTpDcmVhdGVQcm90ZWN0Q29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6Q3JlYXRlUmNzQWdlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJjc0FnZW50ID0gXCJzbXMtdm9pY2U6Q3JlYXRlUmNzQWdlbnRcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkNyZWF0ZVJlZ2lzdHJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVnaXN0cmF0aW9uID0gXCJzbXMtdm9pY2U6Q3JlYXRlUmVnaXN0cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpDcmVhdGVSZWdpc3RyYXRpb25Bc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVnaXN0cmF0aW9uQXNzb2NpYXRpb24gPVxuXHRcdFwic21zLXZvaWNlOkNyZWF0ZVJlZ2lzdHJhdGlvbkFzc29jaWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpDcmVhdGVSZWdpc3RyYXRpb25BdHRhY2htZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWdpc3RyYXRpb25BdHRhY2htZW50ID1cblx0XHRcInNtcy12b2ljZTpDcmVhdGVSZWdpc3RyYXRpb25BdHRhY2htZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpDcmVhdGVSZWdpc3RyYXRpb25WZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWdpc3RyYXRpb25WZXJzaW9uID1cblx0XHRcInNtcy12b2ljZTpDcmVhdGVSZWdpc3RyYXRpb25WZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpDcmVhdGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyID1cblx0XHRcInNtcy12b2ljZTpDcmVhdGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVBY2NvdW50RGVmYXVsdFByb3RlY3RDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBY2NvdW50RGVmYXVsdFByb3RlY3RDb25maWd1cmF0aW9uID1cblx0XHRcInNtcy12b2ljZTpEZWxldGVBY2NvdW50RGVmYXVsdFByb3RlY3RDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVDb25maWd1cmF0aW9uU2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25maWd1cmF0aW9uU2V0ID0gXCJzbXMtdm9pY2U6RGVsZXRlQ29uZmlndXJhdGlvblNldFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uID1cblx0XHRcInNtcy12b2ljZTpEZWxldGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlRGVmYXVsdE1lc3NhZ2VUeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEZWZhdWx0TWVzc2FnZVR5cGUgPVxuXHRcdFwic21zLXZvaWNlOkRlbGV0ZURlZmF1bHRNZXNzYWdlVHlwZVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlRGVmYXVsdFNlbmRlcklkICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEZWZhdWx0U2VuZGVySWQgPSBcInNtcy12b2ljZTpEZWxldGVEZWZhdWx0U2VuZGVySWRcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZUV2ZW50RGVzdGluYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV2ZW50RGVzdGluYXRpb24gPSBcInNtcy12b2ljZTpEZWxldGVFdmVudERlc3RpbmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVLZXl3b3JkICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVLZXl3b3JkID0gXCJzbXMtdm9pY2U6RGVsZXRlS2V5d29yZFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlTWVkaWFNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNZWRpYU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgPVxuXHRcdFwic21zLXZvaWNlOkRlbGV0ZU1lZGlhTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlTm90aWZ5Q29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTm90aWZ5Q29uZmlndXJhdGlvbiA9XG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlTm90aWZ5Q29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlTm90aWZ5TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTm90aWZ5TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSA9XG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlTm90aWZ5TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlT3B0T3V0TGlzdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlT3B0T3V0TGlzdCA9IFwic21zLXZvaWNlOkRlbGV0ZU9wdE91dExpc3RcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZU9wdGVkT3V0TnVtYmVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVPcHRlZE91dE51bWJlciA9IFwic21zLXZvaWNlOkRlbGV0ZU9wdGVkT3V0TnVtYmVyXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVQb29sICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQb29sID0gXCJzbXMtdm9pY2U6RGVsZXRlUG9vbFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlUHJvdGVjdENvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb3RlY3RDb25maWd1cmF0aW9uID1cblx0XHRcInNtcy12b2ljZTpEZWxldGVQcm90ZWN0Q29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlUHJvdGVjdENvbmZpZ3VyYXRpb25SdWxlU2V0TnVtYmVyT3ZlcnJpZGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlID1cblx0XHRcInNtcy12b2ljZTpEZWxldGVQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlUmNzQWdlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJjc0FnZW50ID0gXCJzbXMtdm9pY2U6RGVsZXRlUmNzQWdlbnRcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZVJjc01lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJjc01lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgPVxuXHRcdFwic21zLXZvaWNlOkRlbGV0ZVJjc01lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGVcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZVJlZ2lzdHJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVnaXN0cmF0aW9uID0gXCJzbXMtdm9pY2U6RGVsZXRlUmVnaXN0cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVSZWdpc3RyYXRpb25BdHRhY2htZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWdpc3RyYXRpb25BdHRhY2htZW50ID1cblx0XHRcInNtcy12b2ljZTpEZWxldGVSZWdpc3RyYXRpb25BdHRhY2htZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVSZWdpc3RyYXRpb25GaWVsZFZhbHVlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWdpc3RyYXRpb25GaWVsZFZhbHVlID1cblx0XHRcInNtcy12b2ljZTpEZWxldGVSZWdpc3RyYXRpb25GaWVsZFZhbHVlXCI7XG5cdC8qKiBbUGVybWlzc2lvbk1hbmFnZW1lbnRdIHNtcy12b2ljZTpEZWxldGVSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VQb2xpY3kgPSBcInNtcy12b2ljZTpEZWxldGVSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlVGV4dE1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRleHRNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlID1cblx0XHRcInNtcy12b2ljZTpEZWxldGVUZXh0TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlciA9XG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlclwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlVm9pY2VNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVWb2ljZU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgPVxuXHRcdFwic21zLXZvaWNlOkRlbGV0ZVZvaWNlTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzID1cblx0XHRcInNtcy12b2ljZTpEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlQWNjb3VudExpbWl0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBY2NvdW50TGltaXRzID0gXCJzbXMtdm9pY2U6RGVzY3JpYmVBY2NvdW50TGltaXRzXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlQ29uZmlndXJhdGlvblNldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29uZmlndXJhdGlvblNldHMgPVxuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlQ29uZmlndXJhdGlvblNldHNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVLZXl3b3JkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVLZXl3b3JkcyA9IFwic21zLXZvaWNlOkRlc2NyaWJlS2V5d29yZHNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVOb3RpZnlDb25maWd1cmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVOb3RpZnlDb25maWd1cmF0aW9ucyA9XG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVOb3RpZnlDb25maWd1cmF0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZU5vdGlmeVRlbXBsYXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVOb3RpZnlUZW1wbGF0ZXMgPSBcInNtcy12b2ljZTpEZXNjcmliZU5vdGlmeVRlbXBsYXRlc1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZU9wdE91dExpc3RzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU9wdE91dExpc3RzID0gXCJzbXMtdm9pY2U6RGVzY3JpYmVPcHRPdXRMaXN0c1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZU9wdGVkT3V0TnVtYmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVPcHRlZE91dE51bWJlcnMgPSBcInNtcy12b2ljZTpEZXNjcmliZU9wdGVkT3V0TnVtYmVyc1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZVBob25lTnVtYmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQaG9uZU51bWJlcnMgPSBcInNtcy12b2ljZTpEZXNjcmliZVBob25lTnVtYmVyc1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZVBvb2xzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBvb2xzID0gXCJzbXMtdm9pY2U6RGVzY3JpYmVQb29sc1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZVByb3RlY3RDb25maWd1cmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQcm90ZWN0Q29uZmlndXJhdGlvbnMgPVxuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlUHJvdGVjdENvbmZpZ3VyYXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlUmNzQWdlbnRDb3VudHJ5TGF1bmNoU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJjc0FnZW50Q291bnRyeUxhdW5jaFN0YXR1cyA9XG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVSY3NBZ2VudENvdW50cnlMYXVuY2hTdGF0dXNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVSY3NBZ2VudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmNzQWdlbnRzID0gXCJzbXMtdm9pY2U6RGVzY3JpYmVSY3NBZ2VudHNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25BdHRhY2htZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWdpc3RyYXRpb25BdHRhY2htZW50cyA9XG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25BdHRhY2htZW50c1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvbkZpZWxkRGVmaW5pdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVnaXN0cmF0aW9uRmllbGREZWZpbml0aW9ucyA9XG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25GaWVsZERlZmluaXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9uRmllbGRWYWx1ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVnaXN0cmF0aW9uRmllbGRWYWx1ZXMgPVxuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9uRmllbGRWYWx1ZXNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25TZWN0aW9uRGVmaW5pdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVnaXN0cmF0aW9uU2VjdGlvbkRlZmluaXRpb25zID1cblx0XHRcInNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvblNlY3Rpb25EZWZpbml0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvblR5cGVEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWdpc3RyYXRpb25UeXBlRGVmaW5pdGlvbnMgPVxuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9uVHlwZURlZmluaXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9uVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVnaXN0cmF0aW9uVmVyc2lvbnMgPVxuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9uVmVyc2lvbnNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlZ2lzdHJhdGlvbnMgPSBcInNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVTZW5kZXJJZHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2VuZGVySWRzID0gXCJzbXMtdm9pY2U6RGVzY3JpYmVTZW5kZXJJZHNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVTcGVuZExpbWl0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTcGVuZExpbWl0cyA9IFwic21zLXZvaWNlOkRlc2NyaWJlU3BlbmRMaW1pdHNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVycyA9XG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyc1wiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGlzYXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eSA9XG5cdFx0XCJzbXMtdm9pY2U6RGlzYXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGlzYXNzb2NpYXRlUHJvdGVjdENvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZVByb3RlY3RDb25maWd1cmF0aW9uID1cblx0XHRcInNtcy12b2ljZTpEaXNhc3NvY2lhdGVQcm90ZWN0Q29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGlzY2FyZFJlZ2lzdHJhdGlvblZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2NhcmRSZWdpc3RyYXRpb25WZXJzaW9uID1cblx0XHRcInNtcy12b2ljZTpEaXNjYXJkUmVnaXN0cmF0aW9uVmVyc2lvblwiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpHZXRDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9ucyA9XG5cdFx0XCJzbXMtdm9pY2U6R2V0Q29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkdldFByb3RlY3RDb25maWd1cmF0aW9uQ291bnRyeVJ1bGVTZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb3RlY3RDb25maWd1cmF0aW9uQ291bnRyeVJ1bGVTZXQgPVxuXHRcdFwic21zLXZvaWNlOkdldFByb3RlY3RDb25maWd1cmF0aW9uQ291bnRyeVJ1bGVTZXRcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6R2V0UmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlc291cmNlUG9saWN5ID0gXCJzbXMtdm9pY2U6R2V0UmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6TGlzdENvbmZpZ3VyYXRpb25TZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29uZmlndXJhdGlvblNldHMgPSBcInNtcy12b2ljZTpMaXN0Q29uZmlndXJhdGlvblNldHNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6TGlzdE5vdGlmeUNvdW50cmllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5vdGlmeUNvdW50cmllcyA9IFwic21zLXZvaWNlOkxpc3ROb3RpZnlDb3VudHJpZXNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6TGlzdFBvb2xPcmlnaW5hdGlvbklkZW50aXRpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQb29sT3JpZ2luYXRpb25JZGVudGl0aWVzID1cblx0XHRcInNtcy12b2ljZTpMaXN0UG9vbE9yaWdpbmF0aW9uSWRlbnRpdGllc1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpMaXN0UHJvdGVjdENvbmZpZ3VyYXRpb25SdWxlU2V0TnVtYmVyT3ZlcnJpZGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvdGVjdENvbmZpZ3VyYXRpb25SdWxlU2V0TnVtYmVyT3ZlcnJpZGVzID1cblx0XHRcInNtcy12b2ljZTpMaXN0UHJvdGVjdENvbmZpZ3VyYXRpb25SdWxlU2V0TnVtYmVyT3ZlcnJpZGVzXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkxpc3RSZWdpc3RyYXRpb25Bc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWdpc3RyYXRpb25Bc3NvY2lhdGlvbnMgPVxuXHRcdFwic21zLXZvaWNlOkxpc3RSZWdpc3RyYXRpb25Bc3NvY2lhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwic21zLXZvaWNlOkxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlB1dEtleXdvcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEtleXdvcmQgPSBcInNtcy12b2ljZTpQdXRLZXl3b3JkXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpQdXRNZXNzYWdlRmVlZGJhY2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dE1lc3NhZ2VGZWVkYmFjayA9IFwic21zLXZvaWNlOlB1dE1lc3NhZ2VGZWVkYmFja1wiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6UHV0T3B0ZWRPdXROdW1iZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dE9wdGVkT3V0TnVtYmVyID0gXCJzbXMtdm9pY2U6UHV0T3B0ZWRPdXROdW1iZXJcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlB1dFByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZSA9XG5cdFx0XCJzbXMtdm9pY2U6UHV0UHJvdGVjdENvbmZpZ3VyYXRpb25SdWxlU2V0TnVtYmVyT3ZlcnJpZGVcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlB1dFJlZ2lzdHJhdGlvbkZpZWxkVmFsdWUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlZ2lzdHJhdGlvbkZpZWxkVmFsdWUgPVxuXHRcdFwic21zLXZvaWNlOlB1dFJlZ2lzdHJhdGlvbkZpZWxkVmFsdWVcIjtcblx0LyoqIFtQZXJtaXNzaW9uTWFuYWdlbWVudF0gc21zLXZvaWNlOlB1dFJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZVBvbGljeSA9IFwic21zLXZvaWNlOlB1dFJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpSZWxlYXNlUGhvbmVOdW1iZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbGVhc2VQaG9uZU51bWJlciA9IFwic21zLXZvaWNlOlJlbGVhc2VQaG9uZU51bWJlclwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6UmVsZWFzZVNlbmRlcklkICovXG5cdHN0YXRpYyByZWFkb25seSBSZWxlYXNlU2VuZGVySWQgPSBcInNtcy12b2ljZTpSZWxlYXNlU2VuZGVySWRcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlJlcXVlc3RQaG9uZU51bWJlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVxdWVzdFBob25lTnVtYmVyID0gXCJzbXMtdm9pY2U6UmVxdWVzdFBob25lTnVtYmVyXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpSZXF1ZXN0U2VuZGVySWQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlcXVlc3RTZW5kZXJJZCA9IFwic21zLXZvaWNlOlJlcXVlc3RTZW5kZXJJZFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6U2VuZERlc3RpbmF0aW9uTnVtYmVyVmVyaWZpY2F0aW9uQ29kZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZERlc3RpbmF0aW9uTnVtYmVyVmVyaWZpY2F0aW9uQ29kZSA9XG5cdFx0XCJzbXMtdm9pY2U6U2VuZERlc3RpbmF0aW9uTnVtYmVyVmVyaWZpY2F0aW9uQ29kZVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6U2VuZE1lZGlhTWVzc2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZE1lZGlhTWVzc2FnZSA9IFwic21zLXZvaWNlOlNlbmRNZWRpYU1lc3NhZ2VcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNlbmROb3RpZnlUZXh0TWVzc2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZE5vdGlmeVRleHRNZXNzYWdlID0gXCJzbXMtdm9pY2U6U2VuZE5vdGlmeVRleHRNZXNzYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpTZW5kTm90aWZ5Vm9pY2VNZXNzYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kTm90aWZ5Vm9pY2VNZXNzYWdlID0gXCJzbXMtdm9pY2U6U2VuZE5vdGlmeVZvaWNlTWVzc2FnZVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6U2VuZFJjc01lc3NhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRSY3NNZXNzYWdlID0gXCJzbXMtdm9pY2U6U2VuZFJjc01lc3NhZ2VcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNlbmRUZXh0TWVzc2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZFRleHRNZXNzYWdlID0gXCJzbXMtdm9pY2U6U2VuZFRleHRNZXNzYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpTZW5kVm9pY2VNZXNzYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kVm9pY2VNZXNzYWdlID0gXCJzbXMtdm9pY2U6U2VuZFZvaWNlTWVzc2FnZVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6U2V0QWNjb3VudERlZmF1bHRQcm90ZWN0Q29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uU2V0QWNjb3VudERlZmF1bHRQcm90ZWN0Q29uZmlndXJhdGlvbiA9XG5cdFx0XCJzbXMtdm9pY2U6U2V0QWNjb3VudERlZmF1bHRQcm90ZWN0Q29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6U2V0RGVmYXVsdE1lc3NhZ2VGZWVkYmFja0VuYWJsZWQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvblNldERlZmF1bHRNZXNzYWdlRmVlZGJhY2tFbmFibGVkID1cblx0XHRcInNtcy12b2ljZTpTZXREZWZhdWx0TWVzc2FnZUZlZWRiYWNrRW5hYmxlZFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6U2V0RGVmYXVsdE1lc3NhZ2VUeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25TZXREZWZhdWx0TWVzc2FnZVR5cGUgPVxuXHRcdFwic21zLXZvaWNlOlNldERlZmF1bHRNZXNzYWdlVHlwZVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6U2V0RGVmYXVsdFNlbmRlcklkICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25TZXREZWZhdWx0U2VuZGVySWQgPSBcInNtcy12b2ljZTpTZXREZWZhdWx0U2VuZGVySWRcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNldE1lZGlhTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uU2V0TWVkaWFNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlID1cblx0XHRcInNtcy12b2ljZTpTZXRNZWRpYU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGVcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNldE5vdGlmeU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvblNldE5vdGlmeU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgPVxuXHRcdFwic21zLXZvaWNlOlNldE5vdGlmeU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGVcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNldFJjc01lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvblNldFJjc01lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgPVxuXHRcdFwic21zLXZvaWNlOlNldFJjc01lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGVcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNldFRleHRNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25TZXRUZXh0TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSA9XG5cdFx0XCJzbXMtdm9pY2U6U2V0VGV4dE1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGVcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNldFZvaWNlTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uU2V0Vm9pY2VNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlID1cblx0XHRcInNtcy12b2ljZTpTZXRWb2ljZU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGVcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlN1Ym1pdFJlZ2lzdHJhdGlvblZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdFJlZ2lzdHJhdGlvblZlcnNpb24gPVxuXHRcdFwic21zLXZvaWNlOlN1Ym1pdFJlZ2lzdHJhdGlvblZlcnNpb25cIjtcblx0LyoqIFtUYWdnaW5nXSBzbXMtdm9pY2U6VGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlID0gXCJzbXMtdm9pY2U6VGFnUmVzb3VyY2VcIjtcblx0LyoqIFtUYWdnaW5nXSBzbXMtdm9pY2U6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwic21zLXZvaWNlOlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbiA9XG5cdFx0XCJzbXMtdm9pY2U6VXBkYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlVwZGF0ZUV2ZW50RGVzdGluYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUV2ZW50RGVzdGluYXRpb24gPSBcInNtcy12b2ljZTpVcGRhdGVFdmVudERlc3RpbmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpVcGRhdGVOb3RpZnlDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVOb3RpZnlDb25maWd1cmF0aW9uID1cblx0XHRcInNtcy12b2ljZTpVcGRhdGVOb3RpZnlDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpVcGRhdGVQaG9uZU51bWJlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGhvbmVOdW1iZXIgPSBcInNtcy12b2ljZTpVcGRhdGVQaG9uZU51bWJlclwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6VXBkYXRlUG9vbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUG9vbCA9IFwic21zLXZvaWNlOlVwZGF0ZVBvb2xcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlVwZGF0ZVByb3RlY3RDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm90ZWN0Q29uZmlndXJhdGlvbiA9XG5cdFx0XCJzbXMtdm9pY2U6VXBkYXRlUHJvdGVjdENvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlVwZGF0ZVByb3RlY3RDb25maWd1cmF0aW9uQ291bnRyeVJ1bGVTZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByb3RlY3RDb25maWd1cmF0aW9uQ291bnRyeVJ1bGVTZXQgPVxuXHRcdFwic21zLXZvaWNlOlVwZGF0ZVByb3RlY3RDb25maWd1cmF0aW9uQ291bnRyeVJ1bGVTZXRcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlVwZGF0ZVJjc0FnZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSY3NBZ2VudCA9IFwic21zLXZvaWNlOlVwZGF0ZVJjc0FnZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpVcGRhdGVTZW5kZXJJZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VuZGVySWQgPSBcInNtcy12b2ljZTpVcGRhdGVTZW5kZXJJZFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6VmVyaWZ5RGVzdGluYXRpb25OdW1iZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFZlcmlmeURlc3RpbmF0aW9uTnVtYmVyID0gXCJzbXMtdm9pY2U6VmVyaWZ5RGVzdGluYXRpb25OdW1iZXJcIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRTTVNWb2ljZUFjdGlvbnMuQ2Fycmllckxvb2t1cCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVBY2NvdW50QXR0cmlidXRlcyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVBY2NvdW50TGltaXRzLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZUNvbmZpZ3VyYXRpb25TZXRzLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZUtleXdvcmRzLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZU5vdGlmeUNvbmZpZ3VyYXRpb25zLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZU5vdGlmeVRlbXBsYXRlcyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVPcHRPdXRMaXN0cyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVPcHRlZE91dE51bWJlcnMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlc2NyaWJlUGhvbmVOdW1iZXJzLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZVBvb2xzLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZVByb3RlY3RDb25maWd1cmF0aW9ucyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVSY3NBZ2VudENvdW50cnlMYXVuY2hTdGF0dXMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlc2NyaWJlUmNzQWdlbnRzLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRzLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZVJlZ2lzdHJhdGlvbkZpZWxkRGVmaW5pdGlvbnMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlc2NyaWJlUmVnaXN0cmF0aW9uRmllbGRWYWx1ZXMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlc2NyaWJlUmVnaXN0cmF0aW9uU2VjdGlvbkRlZmluaXRpb25zLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZVJlZ2lzdHJhdGlvblR5cGVEZWZpbml0aW9ucyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVSZWdpc3RyYXRpb25WZXJzaW9ucyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVSZWdpc3RyYXRpb25zLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZVNlbmRlcklkcyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVTcGVuZExpbWl0cyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVycyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuYWN0aW9uR2V0Q29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25zLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5hY3Rpb25HZXRQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0LFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5hY3Rpb25HZXRSZXNvdXJjZVBvbGljeSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuTGlzdENvbmZpZ3VyYXRpb25TZXRzLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5MaXN0Tm90aWZ5Q291bnRyaWVzLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5MaXN0UG9vbE9yaWdpbmF0aW9uSWRlbnRpdGllcyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuTGlzdFByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlcyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuTGlzdFJlZ2lzdHJhdGlvbkFzc29jaWF0aW9ucyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuTGlzdFRhZ3NGb3JSZXNvdXJjZSxcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRTTVNWb2ljZUFjdGlvbnMuQXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuQXNzb2NpYXRlUHJvdGVjdENvbmZpZ3VyYXRpb24sXG5cdFx0U01TVm9pY2VBY3Rpb25zLkNyZWF0ZUNvbmZpZ3VyYXRpb25TZXQsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkNyZWF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5DcmVhdGVFdmVudERlc3RpbmF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5DcmVhdGVOb3RpZnlDb25maWd1cmF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5DcmVhdGVPcHRPdXRMaXN0LFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5DcmVhdGVQb29sLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5DcmVhdGVQcm90ZWN0Q29uZmlndXJhdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuQ3JlYXRlUmNzQWdlbnQsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkNyZWF0ZVJlZ2lzdHJhdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuQ3JlYXRlUmVnaXN0cmF0aW9uQXNzb2NpYXRpb24sXG5cdFx0U01TVm9pY2VBY3Rpb25zLkNyZWF0ZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnQsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkNyZWF0ZVJlZ2lzdHJhdGlvblZlcnNpb24sXG5cdFx0U01TVm9pY2VBY3Rpb25zLkNyZWF0ZVZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXIsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZUFjY291bnREZWZhdWx0UHJvdGVjdENvbmZpZ3VyYXRpb24sXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZUNvbmZpZ3VyYXRpb25TZXQsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVEZWZhdWx0TWVzc2FnZVR5cGUsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZURlZmF1bHRTZW5kZXJJZCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlRXZlbnREZXN0aW5hdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlS2V5d29yZCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlTWVkaWFNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVOb3RpZnlDb25maWd1cmF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVOb3RpZnlNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVPcHRPdXRMaXN0LFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVPcHRlZE91dE51bWJlcixcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlUG9vbCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlUHJvdGVjdENvbmZpZ3VyYXRpb24sXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZVByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVSY3NBZ2VudCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlUmNzTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlUmVnaXN0cmF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVSZWdpc3RyYXRpb25BdHRhY2htZW50LFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVSZWdpc3RyYXRpb25GaWVsZFZhbHVlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVUZXh0TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcixcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlVm9pY2VNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EaXNhc3NvY2lhdGVPcmlnaW5hdGlvbklkZW50aXR5LFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EaXNhc3NvY2lhdGVQcm90ZWN0Q29uZmlndXJhdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGlzY2FyZFJlZ2lzdHJhdGlvblZlcnNpb24sXG5cdFx0U01TVm9pY2VBY3Rpb25zLlB1dEtleXdvcmQsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlB1dE1lc3NhZ2VGZWVkYmFjayxcblx0XHRTTVNWb2ljZUFjdGlvbnMuUHV0T3B0ZWRPdXROdW1iZXIsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlB1dFByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5QdXRSZWdpc3RyYXRpb25GaWVsZFZhbHVlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5SZWxlYXNlUGhvbmVOdW1iZXIsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlJlbGVhc2VTZW5kZXJJZCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuUmVxdWVzdFBob25lTnVtYmVyLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5SZXF1ZXN0U2VuZGVySWQsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlNlbmREZXN0aW5hdGlvbk51bWJlclZlcmlmaWNhdGlvbkNvZGUsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlNlbmRNZWRpYU1lc3NhZ2UsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlNlbmROb3RpZnlUZXh0TWVzc2FnZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuU2VuZE5vdGlmeVZvaWNlTWVzc2FnZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuU2VuZFJjc01lc3NhZ2UsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlNlbmRUZXh0TWVzc2FnZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuU2VuZFZvaWNlTWVzc2FnZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuYWN0aW9uU2V0QWNjb3VudERlZmF1bHRQcm90ZWN0Q29uZmlndXJhdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuYWN0aW9uU2V0RGVmYXVsdE1lc3NhZ2VGZWVkYmFja0VuYWJsZWQsXG5cdFx0U01TVm9pY2VBY3Rpb25zLmFjdGlvblNldERlZmF1bHRNZXNzYWdlVHlwZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuYWN0aW9uU2V0RGVmYXVsdFNlbmRlcklkLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5hY3Rpb25TZXRNZWRpYU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUsXG5cdFx0U01TVm9pY2VBY3Rpb25zLmFjdGlvblNldE5vdGlmeU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUsXG5cdFx0U01TVm9pY2VBY3Rpb25zLmFjdGlvblNldFJjc01lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUsXG5cdFx0U01TVm9pY2VBY3Rpb25zLmFjdGlvblNldFRleHRNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5hY3Rpb25TZXRWb2ljZU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlN1Ym1pdFJlZ2lzdHJhdGlvblZlcnNpb24sXG5cdFx0U01TVm9pY2VBY3Rpb25zLlVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5VcGRhdGVFdmVudERlc3RpbmF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5VcGRhdGVOb3RpZnlDb25maWd1cmF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5VcGRhdGVQaG9uZU51bWJlcixcblx0XHRTTVNWb2ljZUFjdGlvbnMuVXBkYXRlUG9vbCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuVXBkYXRlUHJvdGVjdENvbmZpZ3VyYXRpb24sXG5cdFx0U01TVm9pY2VBY3Rpb25zLlVwZGF0ZVByb3RlY3RDb25maWd1cmF0aW9uQ291bnRyeVJ1bGVTZXQsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlVwZGF0ZVJjc0FnZW50LFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5VcGRhdGVTZW5kZXJJZCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuVmVyaWZ5RGVzdGluYXRpb25OdW1iZXIsXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVSZXNvdXJjZVBvbGljeSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuUHV0UmVzb3VyY2VQb2xpY3ksXG5cdF07XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFNNU1ZvaWNlQWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuVW50YWdSZXNvdXJjZSxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIENvbmZpZ3VyYXRpb25TZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlQ29uZmlndXJhdGlvblNldEFyblByb3BzIHtcblx0LyoqIFRoZSBDb25maWd1cmF0aW9uU2V0TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29uZmlndXJhdGlvblNldE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBDb25maWd1cmF0aW9uU2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZUNvbmZpZ3VyYXRpb25TZXRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENvbmZpZ3VyYXRpb25TZXROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29uZmlndXJhdGlvblNldE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIE1lc3NhZ2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlTWVzc2FnZUFyblByb3BzIHtcblx0LyoqIFRoZSBNZXNzYWdlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1lc3NhZ2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIE1lc3NhZ2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlTWVzc2FnZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTWVzc2FnZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbWVzc2FnZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBOb3RpZnlDb25maWd1cmF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZU5vdGlmeUNvbmZpZ3VyYXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTm90aWZ5Q29uZmlndXJhdGlvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBub3RpZnlDb25maWd1cmF0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBOb3RpZnlDb25maWd1cmF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZU5vdGlmeUNvbmZpZ3VyYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE5vdGlmeUNvbmZpZ3VyYXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG5vdGlmeUNvbmZpZ3VyYXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgT3B0T3V0TGlzdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VPcHRPdXRMaXN0QXJuUHJvcHMge1xuXHQvKiogVGhlIE9wdE91dExpc3ROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBvcHRPdXRMaXN0TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIE9wdE91dExpc3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlT3B0T3V0TGlzdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgT3B0T3V0TGlzdE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBvcHRPdXRMaXN0TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUGhvbmVOdW1iZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlUGhvbmVOdW1iZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUGhvbmVOdW1iZXJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcGhvbmVOdW1iZXJJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFBob25lTnVtYmVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZVBob25lTnVtYmVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQaG9uZU51bWJlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcGhvbmVOdW1iZXJJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUG9vbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VQb29sQXJuUHJvcHMge1xuXHQvKiogVGhlIFBvb2xJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcG9vbElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUG9vbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VQb29sQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQb29sSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwb29sSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFByb3RlY3RDb25maWd1cmF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZVByb3RlY3RDb25maWd1cmF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIFByb3RlY3RDb25maWd1cmF0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHByb3RlY3RDb25maWd1cmF0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBQcm90ZWN0Q29uZmlndXJhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VQcm90ZWN0Q29uZmlndXJhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvdGVjdENvbmZpZ3VyYXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByb3RlY3RDb25maWd1cmF0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFJjc0FnZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZVJjc0FnZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIFJjc0FnZW50SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJjc0FnZW50SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBSY3NBZ2VudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VSY3NBZ2VudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmNzQWdlbnRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJjc0FnZW50SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFJlZ2lzdHJhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VSZWdpc3RyYXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVnaXN0cmF0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlZ2lzdHJhdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmVnaXN0cmF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZVJlZ2lzdHJhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVnaXN0cmF0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZWdpc3RyYXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUmVnaXN0cmF0aW9uQXR0YWNobWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VSZWdpc3RyYXRpb25BdHRhY2htZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIFJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVnaXN0cmF0aW9uQXR0YWNobWVudElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmVnaXN0cmF0aW9uQXR0YWNobWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VSZWdpc3RyYXRpb25BdHRhY2htZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZWdpc3RyYXRpb25BdHRhY2htZW50SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZWdpc3RyYXRpb25BdHRhY2htZW50SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFNlbmRlcklkIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZVNlbmRlcklkQXJuUHJvcHMge1xuXHQvKiogVGhlIFNlbmRlcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZW5kZXJJZDogc3RyaW5nO1xuXHQvKiogVGhlIElzb0NvdW50cnlDb2RlIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpc29Db3VudHJ5Q29kZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFNlbmRlcklkIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZVNlbmRlcklkQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTZW5kZXJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNlbmRlcklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgSXNvQ291bnRyeUNvZGUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpc29Db3VudHJ5Q29kZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyQXJuUHJvcHMge1xuXHQvKiogVGhlIFZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB2ZXJpZmllZERlc3RpbmF0aW9uTnVtYmVySWQ6IHN0cmluZztcbn1cblxuY29uc3QgQ29uZmlndXJhdGlvblNldEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzbXMtdm9pY2U6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb25maWd1cmF0aW9uLXNldFxcLyg/PGNvbmZpZ3VyYXRpb25TZXROYW1lPlteOi8/XSspJC87XG5jb25zdCBNZXNzYWdlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNtcy12b2ljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1lc3NhZ2VcXC8oPzxtZXNzYWdlSWQ+W146Lz9dKykkLztcbmNvbnN0IE5vdGlmeUNvbmZpZ3VyYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c21zLXZvaWNlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bm90aWZ5LWNvbmZpZ3VyYXRpb25cXC8oPzxub3RpZnlDb25maWd1cmF0aW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IE9wdE91dExpc3RBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c21zLXZvaWNlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6b3B0LW91dC1saXN0XFwvKD88b3B0T3V0TGlzdE5hbWU+W146Lz9dKykkLztcbmNvbnN0IFBob25lTnVtYmVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNtcy12b2ljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnBob25lLW51bWJlclxcLyg/PHBob25lTnVtYmVySWQ+W146Lz9dKykkLztcbmNvbnN0IFBvb2xBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c21zLXZvaWNlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cG9vbFxcLyg/PHBvb2xJZD5bXjovP10rKSQvO1xuY29uc3QgUHJvdGVjdENvbmZpZ3VyYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c21zLXZvaWNlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cHJvdGVjdC1jb25maWd1cmF0aW9uXFwvKD88cHJvdGVjdENvbmZpZ3VyYXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgUmNzQWdlbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c21zLXZvaWNlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cmNzLWFnZW50XFwvKD88cmNzQWdlbnRJZD5bXjovP10rKSQvO1xuY29uc3QgUmVnaXN0cmF0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNtcy12b2ljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlZ2lzdHJhdGlvblxcLyg/PHJlZ2lzdHJhdGlvbklkPlteOi8/XSspJC87XG5jb25zdCBSZWdpc3RyYXRpb25BdHRhY2htZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNtcy12b2ljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlZ2lzdHJhdGlvbi1hdHRhY2htZW50XFwvKD88cmVnaXN0cmF0aW9uQXR0YWNobWVudElkPlteOi8/XSspJC87XG5jb25zdCBTZW5kZXJJZEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzbXMtdm9pY2U6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzZW5kZXItaWRcXC8oPzxzZW5kZXJJZD5bXjovP10rKVxcLyg/PGlzb0NvdW50cnlDb2RlPlteOi8/XSspJC87XG5jb25zdCBWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNtcy12b2ljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnZlcmlmaWVkLWRlc3RpbmF0aW9uLW51bWJlclxcLyg/PHZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXJJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIHNtcy12b2ljZSByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTTVNWb2ljZVJlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgQ29uZmlndXJhdGlvblNldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb25maWd1cmF0aW9uU2V0KHByb3BzOiBTTVNWb2ljZUNvbmZpZ3VyYXRpb25TZXRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c21zLXZvaWNlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvbmZpZ3VyYXRpb24tc2V0LyR7cHJvcHMuY29uZmlndXJhdGlvblNldE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIENvbmZpZ3VyYXRpb25TZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbmZpZ3VyYXRpb25TZXRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29uZmlndXJhdGlvblNldEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBDb25maWd1cmF0aW9uU2V0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbmZpZ3VyYXRpb25TZXRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNNU1ZvaWNlQ29uZmlndXJhdGlvblNldEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29uZmlndXJhdGlvblNldEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBDb25maWd1cmF0aW9uU2V0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvbmZpZ3VyYXRpb25TZXROYW1lOiBtYXRjaC5ncm91cHMhLmNvbmZpZ3VyYXRpb25TZXROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIE1lc3NhZ2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbWVzc2FnZShwcm9wczogU01TVm9pY2VNZXNzYWdlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNtcy12b2ljZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptZXNzYWdlLyR7cHJvcHMubWVzc2FnZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBNZXNzYWdlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNZXNzYWdlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1lc3NhZ2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgTWVzc2FnZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNZXNzYWdlQXJuKGFybjogc3RyaW5nKTogU01TVm9pY2VNZXNzYWdlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNZXNzYWdlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIE1lc3NhZ2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bWVzc2FnZUlkOiBtYXRjaC5ncm91cHMhLm1lc3NhZ2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBOb3RpZnlDb25maWd1cmF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG5vdGlmeUNvbmZpZ3VyYXRpb24oXG5cdFx0cHJvcHM6IFNNU1ZvaWNlTm90aWZ5Q29uZmlndXJhdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNtcy12b2ljZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpub3RpZnktY29uZmlndXJhdGlvbi8ke3Byb3BzLm5vdGlmeUNvbmZpZ3VyYXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgTm90aWZ5Q29uZmlndXJhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTm90aWZ5Q29uZmlndXJhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBOb3RpZnlDb25maWd1cmF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIE5vdGlmeUNvbmZpZ3VyYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTm90aWZ5Q29uZmlndXJhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU01TVm9pY2VOb3RpZnlDb25maWd1cmF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBOb3RpZnlDb25maWd1cmF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIE5vdGlmeUNvbmZpZ3VyYXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bm90aWZ5Q29uZmlndXJhdGlvbklkOiBtYXRjaC5ncm91cHMhLm5vdGlmeUNvbmZpZ3VyYXRpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBPcHRPdXRMaXN0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG9wdE91dExpc3QocHJvcHM6IFNNU1ZvaWNlT3B0T3V0TGlzdEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzbXMtdm9pY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06b3B0LW91dC1saXN0LyR7cHJvcHMub3B0T3V0TGlzdE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIE9wdE91dExpc3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE9wdE91dExpc3RBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gT3B0T3V0TGlzdEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBPcHRPdXRMaXN0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU9wdE91dExpc3RBcm4oYXJuOiBzdHJpbmcpOiBTTVNWb2ljZU9wdE91dExpc3RBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE9wdE91dExpc3RBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgT3B0T3V0TGlzdCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRvcHRPdXRMaXN0TmFtZTogbWF0Y2guZ3JvdXBzIS5vcHRPdXRMaXN0TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBQaG9uZU51bWJlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwaG9uZU51bWJlcihwcm9wczogU01TVm9pY2VQaG9uZU51bWJlckFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzbXMtdm9pY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cGhvbmUtbnVtYmVyLyR7cHJvcHMucGhvbmVOdW1iZXJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUGhvbmVOdW1iZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFBob25lTnVtYmVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFBob25lTnVtYmVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFBob25lTnVtYmVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVBob25lTnVtYmVyQXJuKGFybjogc3RyaW5nKTogU01TVm9pY2VQaG9uZU51bWJlckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUGhvbmVOdW1iZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgUGhvbmVOdW1iZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cGhvbmVOdW1iZXJJZDogbWF0Y2guZ3JvdXBzIS5waG9uZU51bWJlcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFBvb2wgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcG9vbChwcm9wczogU01TVm9pY2VQb29sQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNtcy12b2ljZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwb29sLyR7cHJvcHMucG9vbElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBQb29sIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQb29sQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFBvb2xBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUG9vbCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQb29sQXJuKGFybjogc3RyaW5nKTogU01TVm9pY2VQb29sQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQb29sQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFBvb2wgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cG9vbElkOiBtYXRjaC5ncm91cHMhLnBvb2xJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBQcm90ZWN0Q29uZmlndXJhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcm90ZWN0Q29uZmlndXJhdGlvbihcblx0XHRwcm9wczogU01TVm9pY2VQcm90ZWN0Q29uZmlndXJhdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNtcy12b2ljZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwcm90ZWN0LWNvbmZpZ3VyYXRpb24vJHtwcm9wcy5wcm90ZWN0Q29uZmlndXJhdGlvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBQcm90ZWN0Q29uZmlndXJhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUHJvdGVjdENvbmZpZ3VyYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUHJvdGVjdENvbmZpZ3VyYXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUHJvdGVjdENvbmZpZ3VyYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUHJvdGVjdENvbmZpZ3VyYXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNNU1ZvaWNlUHJvdGVjdENvbmZpZ3VyYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFByb3RlY3RDb25maWd1cmF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFByb3RlY3RDb25maWd1cmF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHByb3RlY3RDb25maWd1cmF0aW9uSWQ6IG1hdGNoLmdyb3VwcyEucHJvdGVjdENvbmZpZ3VyYXRpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBSY3NBZ2VudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByY3NBZ2VudChwcm9wczogU01TVm9pY2VSY3NBZ2VudEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzbXMtdm9pY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cmNzLWFnZW50LyR7cHJvcHMucmNzQWdlbnRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmNzQWdlbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJjc0FnZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJjc0FnZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJjc0FnZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJjc0FnZW50QXJuKGFybjogc3RyaW5nKTogU01TVm9pY2VSY3NBZ2VudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmNzQWdlbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgUmNzQWdlbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmNzQWdlbnRJZDogbWF0Y2guZ3JvdXBzIS5yY3NBZ2VudElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFJlZ2lzdHJhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZWdpc3RyYXRpb24ocHJvcHM6IFNNU1ZvaWNlUmVnaXN0cmF0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNtcy12b2ljZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZWdpc3RyYXRpb24vJHtwcm9wcy5yZWdpc3RyYXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmVnaXN0cmF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZWdpc3RyYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVnaXN0cmF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJlZ2lzdHJhdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZWdpc3RyYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBTTVNWb2ljZVJlZ2lzdHJhdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVnaXN0cmF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFJlZ2lzdHJhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZWdpc3RyYXRpb25JZDogbWF0Y2guZ3JvdXBzIS5yZWdpc3RyYXRpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBSZWdpc3RyYXRpb25BdHRhY2htZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlZ2lzdHJhdGlvbkF0dGFjaG1lbnQoXG5cdFx0cHJvcHM6IFNNU1ZvaWNlUmVnaXN0cmF0aW9uQXR0YWNobWVudEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNtcy12b2ljZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZWdpc3RyYXRpb24tYXR0YWNobWVudC8ke3Byb3BzLnJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmVnaXN0cmF0aW9uQXR0YWNobWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVnaXN0cmF0aW9uQXR0YWNobWVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZWdpc3RyYXRpb25BdHRhY2htZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJlZ2lzdHJhdGlvbkF0dGFjaG1lbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVnaXN0cmF0aW9uQXR0YWNobWVudEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU01TVm9pY2VSZWdpc3RyYXRpb25BdHRhY2htZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZWdpc3RyYXRpb25BdHRhY2htZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFJlZ2lzdHJhdGlvbkF0dGFjaG1lbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVnaXN0cmF0aW9uQXR0YWNobWVudElkOiBtYXRjaC5ncm91cHMhLnJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBTZW5kZXJJZCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzZW5kZXJJZChwcm9wczogU01TVm9pY2VTZW5kZXJJZEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzbXMtdm9pY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2VuZGVyLWlkLyR7cHJvcHMuc2VuZGVySWR9LyR7cHJvcHMuaXNvQ291bnRyeUNvZGV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFNlbmRlcklkIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTZW5kZXJJZEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTZW5kZXJJZEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBTZW5kZXJJZCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTZW5kZXJJZEFybihhcm46IHN0cmluZyk6IFNNU1ZvaWNlU2VuZGVySWRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNlbmRlcklkQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFNlbmRlcklkIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHNlbmRlcklkOiBtYXRjaC5ncm91cHMhLnNlbmRlcklkLFxuXHRcdFx0aXNvQ291bnRyeUNvZGU6IG1hdGNoLmdyb3VwcyEuaXNvQ291bnRyeUNvZGUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB2ZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyKFxuXHRcdHByb3BzOiBTTVNWb2ljZVZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXJBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzbXMtdm9pY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dmVyaWZpZWQtZGVzdGluYXRpb24tbnVtYmVyLyR7cHJvcHMudmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTTVNWb2ljZVZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR2ZXJpZmllZERlc3RpbmF0aW9uTnVtYmVySWQ6IG1hdGNoLmdyb3VwcyEudmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcklkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIHNtcy12b2ljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNNU1ZvaWNlT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZU9yaWdpbmF0aW9uSWRlbnRpdHkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVPcmlnaW5hdGlvbklkZW50aXR5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpBc3NvY2lhdGVPcmlnaW5hdGlvbklkZW50aXR5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZVByb3RlY3RDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlUHJvdGVjdENvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkFzc29jaWF0ZVByb3RlY3RDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENhcnJpZXJMb29rdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDYXJyaWVyTG9va3VwOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpDYXJyaWVyTG9va3VwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDb25maWd1cmF0aW9uU2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29uZmlndXJhdGlvblNldDogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6Q3JlYXRlQ29uZmlndXJhdGlvblNldFwiLFxuXHRcdFwic21zLXZvaWNlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkNyZWF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRXZlbnREZXN0aW5hdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV2ZW50RGVzdGluYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkNyZWF0ZUV2ZW50RGVzdGluYXRpb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVOb3RpZnlDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTm90aWZ5Q29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6Q3JlYXRlTm90aWZ5Q29uZmlndXJhdGlvblwiLFxuXHRcdFwic21zLXZvaWNlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU9wdE91dExpc3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVPcHRPdXRMaXN0OiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpDcmVhdGVPcHRPdXRMaXN0XCIsXG5cdFx0XCJzbXMtdm9pY2U6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUG9vbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBvb2w6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkNyZWF0ZVBvb2xcIixcblx0XHRcInNtcy12b2ljZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQcm90ZWN0Q29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb3RlY3RDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpDcmVhdGVQcm90ZWN0Q29uZmlndXJhdGlvblwiLFxuXHRcdFwic21zLXZvaWNlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJjc0FnZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmNzQWdlbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkNyZWF0ZVJjc0FnZW50XCIsXG5cdFx0XCJzbXMtdm9pY2U6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVnaXN0cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVnaXN0cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpDcmVhdGVSZWdpc3RyYXRpb25cIixcblx0XHRcInNtcy12b2ljZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZWdpc3RyYXRpb25Bc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlZ2lzdHJhdGlvbkFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpDcmVhdGVSZWdpc3RyYXRpb25Bc3NvY2lhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZWdpc3RyYXRpb25BdHRhY2htZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVnaXN0cmF0aW9uQXR0YWNobWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6Q3JlYXRlUmVnaXN0cmF0aW9uQXR0YWNobWVudFwiLFxuXHRcdFwic21zLXZvaWNlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlZ2lzdHJhdGlvblZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWdpc3RyYXRpb25WZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpDcmVhdGVSZWdpc3RyYXRpb25WZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpDcmVhdGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyXCIsXG5cdFx0XCJzbXMtdm9pY2U6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWNjb3VudERlZmF1bHRQcm90ZWN0Q29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFjY291bnREZWZhdWx0UHJvdGVjdENvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlbGV0ZUFjY291bnREZWZhdWx0UHJvdGVjdENvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29uZmlndXJhdGlvblNldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbmZpZ3VyYXRpb25TZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlbGV0ZUNvbmZpZ3VyYXRpb25TZXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRGVmYXVsdE1lc3NhZ2VUeXBlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGVmYXVsdE1lc3NhZ2VUeXBlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVEZWZhdWx0TWVzc2FnZVR5cGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRGVmYXVsdFNlbmRlcklkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGVmYXVsdFNlbmRlcklkOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVEZWZhdWx0U2VuZGVySWRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRXZlbnREZXN0aW5hdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV2ZW50RGVzdGluYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlbGV0ZUV2ZW50RGVzdGluYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlS2V5d29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUtleXdvcmQ6IHN0cmluZ1tdID0gW1wic21zLXZvaWNlOkRlbGV0ZUtleXdvcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1lZGlhTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1lZGlhTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlTWVkaWFNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU5vdGlmeUNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVOb3RpZnlDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVOb3RpZnlDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU5vdGlmeU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVOb3RpZnlNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVOb3RpZnlNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU9wdE91dExpc3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVPcHRPdXRMaXN0OiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpEZWxldGVPcHRPdXRMaXN0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVPcHRlZE91dE51bWJlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU9wdGVkT3V0TnVtYmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVPcHRlZE91dE51bWJlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQb29sIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUG9vbDogc3RyaW5nW10gPSBbXCJzbXMtdm9pY2U6RGVsZXRlUG9vbFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJvdGVjdENvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm90ZWN0Q29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlUHJvdGVjdENvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJvdGVjdENvbmZpZ3VyYXRpb25SdWxlU2V0TnVtYmVyT3ZlcnJpZGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlUHJvdGVjdENvbmZpZ3VyYXRpb25SdWxlU2V0TnVtYmVyT3ZlcnJpZGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmNzQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSY3NBZ2VudDogc3RyaW5nW10gPSBbXCJzbXMtdm9pY2U6RGVsZXRlUmNzQWdlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJjc01lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlZ2lzdHJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlZ2lzdHJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlUmVnaXN0cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWdpc3RyYXRpb25BdHRhY2htZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVSZWdpc3RyYXRpb25BdHRhY2htZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlZ2lzdHJhdGlvbkZpZWxkVmFsdWUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWdpc3RyYXRpb25GaWVsZFZhbHVlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVSZWdpc3RyYXRpb25GaWVsZFZhbHVlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlbGV0ZVJlc291cmNlUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVRleHRNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGV4dE1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlbGV0ZVRleHRNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVZvaWNlTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVZvaWNlTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlVm9pY2VNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQWNjb3VudEF0dHJpYnV0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQWNjb3VudExpbWl0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWNjb3VudExpbWl0czogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVBY2NvdW50TGltaXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ29uZmlndXJhdGlvblNldHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbmZpZ3VyYXRpb25TZXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZXNjcmliZUNvbmZpZ3VyYXRpb25TZXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlS2V5d29yZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUtleXdvcmRzOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpEZXNjcmliZUtleXdvcmRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU5vdGlmeUNvbmZpZ3VyYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVOb3RpZnlDb25maWd1cmF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVOb3RpZnlDb25maWd1cmF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU5vdGlmeVRlbXBsYXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTm90aWZ5VGVtcGxhdGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZXNjcmliZU5vdGlmeVRlbXBsYXRlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU9wdE91dExpc3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVPcHRPdXRMaXN0czogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVPcHRPdXRMaXN0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU9wdGVkT3V0TnVtYmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlT3B0ZWRPdXROdW1iZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZXNjcmliZU9wdGVkT3V0TnVtYmVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVBob25lTnVtYmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGhvbmVOdW1iZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZXNjcmliZVBob25lTnVtYmVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVBvb2xzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQb29sczogc3RyaW5nW10gPSBbXCJzbXMtdm9pY2U6RGVzY3JpYmVQb29sc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVQcm90ZWN0Q29uZmlndXJhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVByb3RlY3RDb25maWd1cmF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVQcm90ZWN0Q29uZmlndXJhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSY3NBZ2VudENvdW50cnlMYXVuY2hTdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJjc0FnZW50Q291bnRyeUxhdW5jaFN0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVSY3NBZ2VudENvdW50cnlMYXVuY2hTdGF0dXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSY3NBZ2VudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJjc0FnZW50czogc3RyaW5nW10gPSBbXCJzbXMtdm9pY2U6RGVzY3JpYmVSY3NBZ2VudHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVnaXN0cmF0aW9uQXR0YWNobWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVnaXN0cmF0aW9uRmllbGREZWZpbml0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVnaXN0cmF0aW9uRmllbGREZWZpbml0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25GaWVsZERlZmluaXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVnaXN0cmF0aW9uRmllbGRWYWx1ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlZ2lzdHJhdGlvbkZpZWxkVmFsdWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvbkZpZWxkVmFsdWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVnaXN0cmF0aW9uU2VjdGlvbkRlZmluaXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWdpc3RyYXRpb25TZWN0aW9uRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9uU2VjdGlvbkRlZmluaXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVnaXN0cmF0aW9uVHlwZURlZmluaXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWdpc3RyYXRpb25UeXBlRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9uVHlwZURlZmluaXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVnaXN0cmF0aW9uVmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlZ2lzdHJhdGlvblZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvblZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVnaXN0cmF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVnaXN0cmF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU2VuZGVySWRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZW5kZXJJZHM6IHN0cmluZ1tdID0gW1wic21zLXZvaWNlOkRlc2NyaWJlU2VuZGVySWRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVNwZW5kTGltaXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTcGVuZExpbWl0czogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVTcGVuZExpbWl0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVPcmlnaW5hdGlvbklkZW50aXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGlzYXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVQcm90ZWN0Q29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZVByb3RlY3RDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEaXNhc3NvY2lhdGVQcm90ZWN0Q29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNjYXJkUmVnaXN0cmF0aW9uVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2NhcmRSZWdpc3RyYXRpb25WZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEaXNjYXJkUmVnaXN0cmF0aW9uVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6R2V0Q29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFByb3RlY3RDb25maWd1cmF0aW9uQ291bnRyeVJ1bGVTZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFByb3RlY3RDb25maWd1cmF0aW9uQ291bnRyeVJ1bGVTZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkdldFByb3RlY3RDb25maWd1cmF0aW9uQ291bnRyeVJ1bGVTZXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVzb3VyY2VQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpHZXRSZXNvdXJjZVBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXZhaWxhYmxlUGhvbmVOdW1iZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF2YWlsYWJsZVBob25lTnVtYmVyczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbmZpZ3VyYXRpb25TZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbmZpZ3VyYXRpb25TZXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpMaXN0Q29uZmlndXJhdGlvblNldHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5vdGlmeUNvdW50cmllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROb3RpZnlDb3VudHJpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkxpc3ROb3RpZnlDb3VudHJpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFBvb2xPcmlnaW5hdGlvbklkZW50aXRpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UG9vbE9yaWdpbmF0aW9uSWRlbnRpdGllczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6TGlzdFBvb2xPcmlnaW5hdGlvbklkZW50aXRpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkxpc3RQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlZ2lzdHJhdGlvbkFzc29jaWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWdpc3RyYXRpb25Bc3NvY2lhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkxpc3RSZWdpc3RyYXRpb25Bc3NvY2lhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkxpc3RUYWdzRm9yUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0S2V5d29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEtleXdvcmQ6IHN0cmluZ1tdID0gW1wic21zLXZvaWNlOlB1dEtleXdvcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dE1lc3NhZ2VGZWVkYmFjayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dE1lc3NhZ2VGZWVkYmFjazogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6UHV0TWVzc2FnZUZlZWRiYWNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dE9wdGVkT3V0TnVtYmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0T3B0ZWRPdXROdW1iZXI6IHN0cmluZ1tdID0gW1wic21zLXZvaWNlOlB1dE9wdGVkT3V0TnVtYmVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpQdXRQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRSZWdpc3RyYXRpb25GaWVsZFZhbHVlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVnaXN0cmF0aW9uRmllbGRWYWx1ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6UHV0UmVnaXN0cmF0aW9uRmllbGRWYWx1ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpQdXRSZXNvdXJjZVBvbGljeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVsZWFzZVBob25lTnVtYmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVsZWFzZVBob25lTnVtYmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpSZWxlYXNlUGhvbmVOdW1iZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVsZWFzZVNlbmRlcklkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVsZWFzZVNlbmRlcklkOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpSZWxlYXNlU2VuZGVySWRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlcXVlc3RQaG9uZU51bWJlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlcXVlc3RQaG9uZU51bWJlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6QXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eVwiLFxuXHRcdFwic21zLXZvaWNlOlJlcXVlc3RQaG9uZU51bWJlclwiLFxuXHRcdFwic21zLXZvaWNlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlcXVlc3RTZW5kZXJJZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlcXVlc3RTZW5kZXJJZDogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6UmVxdWVzdFNlbmRlcklkXCIsXG5cdFx0XCJzbXMtdm9pY2U6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VuZERlc3RpbmF0aW9uTnVtYmVyVmVyaWZpY2F0aW9uQ29kZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmREZXN0aW5hdGlvbk51bWJlclZlcmlmaWNhdGlvbkNvZGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlNlbmREZXN0aW5hdGlvbk51bWJlclZlcmlmaWNhdGlvbkNvZGVcIixcblx0XHRcInNtcy12b2ljZTpTZW5kVGV4dE1lc3NhZ2VcIixcblx0XHRcInNtcy12b2ljZTpTZW5kVm9pY2VNZXNzYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNlbmRNZWRpYU1lc3NhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kTWVkaWFNZXNzYWdlOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpTZW5kTWVkaWFNZXNzYWdlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZW5kTm90aWZ5VGV4dE1lc3NhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kTm90aWZ5VGV4dE1lc3NhZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlNlbmROb3RpZnlUZXh0TWVzc2FnZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZW5kTm90aWZ5Vm9pY2VNZXNzYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZE5vdGlmeVZvaWNlTWVzc2FnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6U2VuZE5vdGlmeVZvaWNlTWVzc2FnZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZW5kUmNzTWVzc2FnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRSY3NNZXNzYWdlOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpTZW5kUmNzTWVzc2FnZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VuZFRleHRNZXNzYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZFRleHRNZXNzYWdlOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpTZW5kVGV4dE1lc3NhZ2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNlbmRWb2ljZU1lc3NhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kVm9pY2VNZXNzYWdlOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpTZW5kVm9pY2VNZXNzYWdlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZXRBY2NvdW50RGVmYXVsdFByb3RlY3RDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXRBY2NvdW50RGVmYXVsdFByb3RlY3RDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpTZXRBY2NvdW50RGVmYXVsdFByb3RlY3RDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNldERlZmF1bHRNZXNzYWdlRmVlZGJhY2tFbmFibGVkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXREZWZhdWx0TWVzc2FnZUZlZWRiYWNrRW5hYmxlZDogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6U2V0RGVmYXVsdE1lc3NhZ2VGZWVkYmFja0VuYWJsZWRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2V0RGVmYXVsdE1lc3NhZ2VUeXBlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXREZWZhdWx0TWVzc2FnZVR5cGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlNldERlZmF1bHRNZXNzYWdlVHlwZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZXREZWZhdWx0U2VuZGVySWQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcFNldERlZmF1bHRTZW5kZXJJZDogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6U2V0RGVmYXVsdFNlbmRlcklkXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNldE1lZGlhTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wU2V0TWVkaWFNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpTZXRNZWRpYU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2V0Tm90aWZ5TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wU2V0Tm90aWZ5TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6U2V0Tm90aWZ5TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZXRSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXRSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpTZXRSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNldFRleHRNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXRUZXh0TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6U2V0VGV4dE1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2V0Vm9pY2VNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXRWb2ljZU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlNldFZvaWNlTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdWJtaXRSZWdpc3RyYXRpb25WZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3VibWl0UmVnaXN0cmF0aW9uVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6U3VibWl0UmVnaXN0cmF0aW9uVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wic21zLXZvaWNlOlVudGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUV2ZW50RGVzdGluYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFdmVudERlc3RpbmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwic21zLXZvaWNlOlVwZGF0ZUV2ZW50RGVzdGluYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTm90aWZ5Q29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU5vdGlmeUNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlVwZGF0ZU5vdGlmeUNvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUGhvbmVOdW1iZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQaG9uZU51bWJlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNtcy12b2ljZTpVcGRhdGVQaG9uZU51bWJlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQb29sIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUG9vbDogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNtcy12b2ljZTpVcGRhdGVQb29sXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVByb3RlY3RDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvdGVjdENvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlVwZGF0ZVByb3RlY3RDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVByb3RlY3RDb25maWd1cmF0aW9uQ291bnRyeVJ1bGVTZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpVcGRhdGVQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVJjc0FnZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmNzQWdlbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzbXMtdm9pY2U6VXBkYXRlUmNzQWdlbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2VuZGVySWQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZW5kZXJJZDogc3RyaW5nW10gPSBbXCJzbXMtdm9pY2U6VXBkYXRlU2VuZGVySWRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFZlcmlmeURlc3RpbmF0aW9uTnVtYmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVmVyaWZ5RGVzdGluYXRpb25OdW1iZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlZlcmlmeURlc3RpbmF0aW9uTnVtYmVyXCIsXG5cdF07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBzbXMtdm9pY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBTTVNWb2ljZUNvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ29uZmlndXJhdGlvblNldCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25maWd1cmF0aW9uU2V0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVOb3RpZnlDb25maWd1cmF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGlmeUNvbmZpZ3VyYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU9wdE91dExpc3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT3B0T3V0TGlzdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUG9vbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQb29sQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQcm90ZWN0Q29uZmlndXJhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm90ZWN0Q29uZmlndXJhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmNzQWdlbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmNzQWdlbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlZ2lzdHJhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWdpc3RyYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVnaXN0cmF0aW9uQXR0YWNobWVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZXF1ZXN0UGhvbmVOdW1iZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVxdWVzdFBob25lTnVtYmVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZXF1ZXN0U2VuZGVySWQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVxdWVzdFNlbmRlcklkQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUYWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJhd3M6VGFnS2V5c1wiXTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG59XG4iXX0=
|