@cdk_utils/iam 1.13.0 → 1.14.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 +3403 -2901
- 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.d.ts +2 -0
- package/lib/generated/services/bedrock-agentcore.js +7 -5
- package/lib/generated/services/bedrock-mantle.js +3 -3
- package/lib/generated/services/bedrock-websearch.js +2 -2
- package/lib/generated/services/bedrock.js +4 -4
- 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 +9 -6
- 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.d.ts +4 -0
- package/lib/generated/services/cognito-idp.js +9 -5
- package/lib/generated/services/cognito-sync.js +3 -3
- package/lib/generated/services/comprehend.js +4 -4
- 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 +4 -4
- 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.js +4 -4
- 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.d.ts +6 -0
- package/lib/generated/services/healthlake.js +18 -5
- 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 +4 -4
- package/lib/generated/services/omics.js +4 -4
- 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.js +4 -4
- 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.d.ts +14 -0
- package/lib/generated/services/profile.js +26 -5
- 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 +4 -4
- 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.js +4 -4
- 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.d.ts +28 -0
- package/lib/generated/services/sagemaker.js +61 -9
- 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.js +4 -4
- 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 SageMakerActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.SageMakerActions = SageMakerActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
SageMakerActions[_a] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerActions", version: "1.
|
|
19
|
+
SageMakerActions[_a] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerActions", version: "1.14.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
SageMakerActions.SERVICE_PREFIX = "sagemaker";
|
|
22
22
|
/** [Read] sagemaker:AccessModelPackage */
|
|
@@ -41,6 +41,10 @@ SageMakerActions.BatchGetMetrics = "sagemaker:BatchGetMetrics";
|
|
|
41
41
|
SageMakerActions.BatchGetRecord = "sagemaker:BatchGetRecord";
|
|
42
42
|
/** [Write] sagemaker:BatchPutMetrics */
|
|
43
43
|
SageMakerActions.BatchPutMetrics = "sagemaker:BatchPutMetrics";
|
|
44
|
+
/** [Write] sagemaker:BatchRebootClusterNodes */
|
|
45
|
+
SageMakerActions.BatchRebootClusterNodes = "sagemaker:BatchRebootClusterNodes";
|
|
46
|
+
/** [Write] sagemaker:BatchReplaceClusterNodes */
|
|
47
|
+
SageMakerActions.BatchReplaceClusterNodes = "sagemaker:BatchReplaceClusterNodes";
|
|
44
48
|
/** [Write] sagemaker:BatchWriteRecord */
|
|
45
49
|
SageMakerActions.BatchWriteRecord = "sagemaker:BatchWriteRecord";
|
|
46
50
|
/** [Write] sagemaker:CallMlflowAppApi */
|
|
@@ -481,6 +485,8 @@ SageMakerActions.DescribeSubscribedWorkteam = "sagemaker:DescribeSubscribedWorkt
|
|
|
481
485
|
SageMakerActions.DescribeTrainingJob = "sagemaker:DescribeTrainingJob";
|
|
482
486
|
/** [Read] sagemaker:DescribeTrainingPlan */
|
|
483
487
|
SageMakerActions.DescribeTrainingPlan = "sagemaker:DescribeTrainingPlan";
|
|
488
|
+
/** [Read] sagemaker:DescribeTrainingPlanExtensionHistory */
|
|
489
|
+
SageMakerActions.DescribeTrainingPlanExtensionHistory = "sagemaker:DescribeTrainingPlanExtensionHistory";
|
|
484
490
|
/** [Read] sagemaker:DescribeTransformJob */
|
|
485
491
|
SageMakerActions.DescribeTransformJob = "sagemaker:DescribeTransformJob";
|
|
486
492
|
/** [Read] sagemaker:DescribeTrial */
|
|
@@ -501,6 +507,8 @@ SageMakerActions.DisableSagemakerServicecatalogPortfolio = "sagemaker:DisableSag
|
|
|
501
507
|
SageMakerActions.DisassociateTrialComponent = "sagemaker:DisassociateTrialComponent";
|
|
502
508
|
/** [Write] sagemaker:EnableSagemakerServicecatalogPortfolio */
|
|
503
509
|
SageMakerActions.EnableSagemakerServicecatalogPortfolio = "sagemaker:EnableSagemakerServicecatalogPortfolio";
|
|
510
|
+
/** [Write] sagemaker:ExtendTrainingPlan */
|
|
511
|
+
SageMakerActions.ExtendTrainingPlan = "sagemaker:ExtendTrainingPlan";
|
|
504
512
|
/** [Read] sagemaker:GetDeployments */
|
|
505
513
|
SageMakerActions.actionGetDeployments = "sagemaker:GetDeployments";
|
|
506
514
|
/** [Read] sagemaker:GetDeviceFleetReport */
|
|
@@ -987,6 +995,7 @@ SageMakerActions.AllReadActions = [
|
|
|
987
995
|
SageMakerActions.DescribeSubscribedWorkteam,
|
|
988
996
|
SageMakerActions.DescribeTrainingJob,
|
|
989
997
|
SageMakerActions.DescribeTrainingPlan,
|
|
998
|
+
SageMakerActions.DescribeTrainingPlanExtensionHistory,
|
|
990
999
|
SageMakerActions.DescribeTransformJob,
|
|
991
1000
|
SageMakerActions.DescribeTrial,
|
|
992
1001
|
SageMakerActions.DescribeTrialComponent,
|
|
@@ -1018,6 +1027,8 @@ SageMakerActions.AllWriteActions = [
|
|
|
1018
1027
|
SageMakerActions.BatchAddClusterNodes,
|
|
1019
1028
|
SageMakerActions.BatchDeleteClusterNodes,
|
|
1020
1029
|
SageMakerActions.BatchPutMetrics,
|
|
1030
|
+
SageMakerActions.BatchRebootClusterNodes,
|
|
1031
|
+
SageMakerActions.BatchReplaceClusterNodes,
|
|
1021
1032
|
SageMakerActions.BatchWriteRecord,
|
|
1022
1033
|
SageMakerActions.CallMlflowAppApi,
|
|
1023
1034
|
SageMakerActions.CallPartnerAppApi,
|
|
@@ -1167,6 +1178,7 @@ SageMakerActions.AllWriteActions = [
|
|
|
1167
1178
|
SageMakerActions.DisableSagemakerServicecatalogPortfolio,
|
|
1168
1179
|
SageMakerActions.DisassociateTrialComponent,
|
|
1169
1180
|
SageMakerActions.EnableSagemakerServicecatalogPortfolio,
|
|
1181
|
+
SageMakerActions.ExtendTrainingPlan,
|
|
1170
1182
|
SageMakerActions.ImportHubContent,
|
|
1171
1183
|
SageMakerActions.PutLineageGroupPolicy,
|
|
1172
1184
|
SageMakerActions.PutModelPackageGroupPolicy,
|
|
@@ -3502,7 +3514,7 @@ class SageMakerResources {
|
|
|
3502
3514
|
}
|
|
3503
3515
|
exports.SageMakerResources = SageMakerResources;
|
|
3504
3516
|
_b = JSII_RTTI_SYMBOL_1;
|
|
3505
|
-
SageMakerResources[_b] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerResources", version: "1.
|
|
3517
|
+
SageMakerResources[_b] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerResources", version: "1.14.0" };
|
|
3506
3518
|
/**
|
|
3507
3519
|
* API operation to required IAM actions mapping for sagemaker.
|
|
3508
3520
|
*/
|
|
@@ -3510,7 +3522,7 @@ class SageMakerOperations {
|
|
|
3510
3522
|
}
|
|
3511
3523
|
exports.SageMakerOperations = SageMakerOperations;
|
|
3512
3524
|
_c = JSII_RTTI_SYMBOL_1;
|
|
3513
|
-
SageMakerOperations[_c] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerOperations", version: "1.
|
|
3525
|
+
SageMakerOperations[_c] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerOperations", version: "1.14.0" };
|
|
3514
3526
|
/** IAM actions required for the AddAssociation API call. */
|
|
3515
3527
|
SageMakerOperations.AddAssociation = ["sagemaker:AddAssociation"];
|
|
3516
3528
|
/** IAM actions required for the AddTags API call. */
|
|
@@ -3542,9 +3554,13 @@ SageMakerOperations.BatchGetRecord = ["sagemaker:BatchGetRecord"];
|
|
|
3542
3554
|
/** IAM actions required for the BatchPutMetrics API call. */
|
|
3543
3555
|
SageMakerOperations.BatchPutMetrics = ["sagemaker:BatchPutMetrics"];
|
|
3544
3556
|
/** IAM actions required for the BatchRebootClusterNodes API call. */
|
|
3545
|
-
SageMakerOperations.BatchRebootClusterNodes = [
|
|
3557
|
+
SageMakerOperations.BatchRebootClusterNodes = [
|
|
3558
|
+
"sagemaker:BatchRebootClusterNodes",
|
|
3559
|
+
];
|
|
3546
3560
|
/** IAM actions required for the BatchReplaceClusterNodes API call. */
|
|
3547
|
-
SageMakerOperations.BatchReplaceClusterNodes = [
|
|
3561
|
+
SageMakerOperations.BatchReplaceClusterNodes = [
|
|
3562
|
+
"sagemaker:BatchReplaceClusterNodes",
|
|
3563
|
+
];
|
|
3548
3564
|
/** IAM actions required for the BatchWriteRecord API call. */
|
|
3549
3565
|
SageMakerOperations.BatchWriteRecord = [
|
|
3550
3566
|
"sagemaker:BatchWriteRecord",
|
|
@@ -4361,7 +4377,9 @@ SageMakerOperations.DescribeTrainingPlan = [
|
|
|
4361
4377
|
"sagemaker:DescribeTrainingPlan",
|
|
4362
4378
|
];
|
|
4363
4379
|
/** IAM actions required for the DescribeTrainingPlanExtensionHistory API call. */
|
|
4364
|
-
SageMakerOperations.DescribeTrainingPlanExtensionHistory = [
|
|
4380
|
+
SageMakerOperations.DescribeTrainingPlanExtensionHistory = [
|
|
4381
|
+
"sagemaker:DescribeTrainingPlanExtensionHistory",
|
|
4382
|
+
];
|
|
4365
4383
|
/** IAM actions required for the DescribeTransformJob API call. */
|
|
4366
4384
|
SageMakerOperations.DescribeTransformJob = [
|
|
4367
4385
|
"sagemaker:DescribeTransformJob",
|
|
@@ -4397,7 +4415,9 @@ SageMakerOperations.EnableSagemakerServicecatalogPortfolio = [
|
|
|
4397
4415
|
"sagemaker:EnableSagemakerServicecatalogPortfolio",
|
|
4398
4416
|
];
|
|
4399
4417
|
/** IAM actions required for the ExtendTrainingPlan API call. */
|
|
4400
|
-
SageMakerOperations.ExtendTrainingPlan = [
|
|
4418
|
+
SageMakerOperations.ExtendTrainingPlan = [
|
|
4419
|
+
"sagemaker:ExtendTrainingPlan",
|
|
4420
|
+
];
|
|
4401
4421
|
/** IAM actions required for the GetDeployments API call. */
|
|
4402
4422
|
SageMakerOperations.opGetDeployments = [];
|
|
4403
4423
|
/** IAM actions required for the GetDeviceFleetReport API call. */
|
|
@@ -5053,6 +5073,12 @@ class SageMakerConditions {
|
|
|
5053
5073
|
static appNetworkAccessType(value) {
|
|
5054
5074
|
return { StringEquals: { "sagemaker:AppNetworkAccessType": value } };
|
|
5055
5075
|
}
|
|
5076
|
+
/**
|
|
5077
|
+
* Generates a condition block for `sagemaker:AuthMode`.
|
|
5078
|
+
*/
|
|
5079
|
+
static authMode(value) {
|
|
5080
|
+
return { StringEquals: { "sagemaker:AuthMode": value } };
|
|
5081
|
+
}
|
|
5056
5082
|
/**
|
|
5057
5083
|
* Generates a condition block for `sagemaker:BearerTokenType`.
|
|
5058
5084
|
*/
|
|
@@ -5253,6 +5279,12 @@ class SageMakerConditions {
|
|
|
5253
5279
|
static interContainerTrafficEncryption(value) {
|
|
5254
5280
|
return { Bool: { "sagemaker:InterContainerTrafficEncryption": value } };
|
|
5255
5281
|
}
|
|
5282
|
+
/**
|
|
5283
|
+
* Generates a condition block for `sagemaker:IsUpdateRecord`.
|
|
5284
|
+
*/
|
|
5285
|
+
static isUpdateRecord(value) {
|
|
5286
|
+
return { Bool: { "sagemaker:IsUpdateRecord": value } };
|
|
5287
|
+
}
|
|
5256
5288
|
/**
|
|
5257
5289
|
* Generates a condition block for `sagemaker:KeepAlivePeriod`.
|
|
5258
5290
|
*/
|
|
@@ -5401,6 +5433,14 @@ class SageMakerConditions {
|
|
|
5401
5433
|
static targetModel(value) {
|
|
5402
5434
|
return { StringEquals: { "sagemaker:TargetModel": value } };
|
|
5403
5435
|
}
|
|
5436
|
+
/**
|
|
5437
|
+
* Generates a condition block for `sagemaker:UpdatableFeatures`.
|
|
5438
|
+
*/
|
|
5439
|
+
static updatableFeatures(values) {
|
|
5440
|
+
return {
|
|
5441
|
+
"ForAllValues:StringEquals": { "sagemaker:UpdatableFeatures": values },
|
|
5442
|
+
};
|
|
5443
|
+
}
|
|
5404
5444
|
/**
|
|
5405
5445
|
* Generates a condition block for `sagemaker:UserProfileName`.
|
|
5406
5446
|
*/
|
|
@@ -5448,7 +5488,7 @@ class SageMakerConditions {
|
|
|
5448
5488
|
}
|
|
5449
5489
|
exports.SageMakerConditions = SageMakerConditions;
|
|
5450
5490
|
_d = JSII_RTTI_SYMBOL_1;
|
|
5451
|
-
SageMakerConditions[_d] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerConditions", version: "1.
|
|
5491
|
+
SageMakerConditions[_d] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerConditions", version: "1.14.0" };
|
|
5452
5492
|
/** Condition keys applicable to the AddTags action. */
|
|
5453
5493
|
SageMakerConditions.AddTagsConditionKeys = [
|
|
5454
5494
|
"aws:RequestTag/${TagKey}",
|
|
@@ -5581,6 +5621,7 @@ SageMakerConditions.CreateDomainConditionKeys = [
|
|
|
5581
5621
|
"aws:RequestTag/${TagKey}",
|
|
5582
5622
|
"aws:TagKeys",
|
|
5583
5623
|
"sagemaker:AppNetworkAccessType",
|
|
5624
|
+
"sagemaker:AuthMode",
|
|
5584
5625
|
"sagemaker:DomainSharingOutputKmsKeyArn",
|
|
5585
5626
|
"sagemaker:ImageArns",
|
|
5586
5627
|
"sagemaker:ImageVersionArns",
|
|
@@ -5972,6 +6013,11 @@ SageMakerConditions.ImportHubContentConditionKeys = [
|
|
|
5972
6013
|
SageMakerConditions.InvokeEndpointConditionKeys = [
|
|
5973
6014
|
"sagemaker:TargetModel",
|
|
5974
6015
|
];
|
|
6016
|
+
/** Condition keys applicable to the PutRecord action. */
|
|
6017
|
+
SageMakerConditions.PutRecordConditionKeys = [
|
|
6018
|
+
"sagemaker:IsUpdateRecord",
|
|
6019
|
+
"sagemaker:UpdatableFeatures",
|
|
6020
|
+
];
|
|
5975
6021
|
/** Condition keys applicable to the RegisterDevices action. */
|
|
5976
6022
|
SageMakerConditions.RegisterDevicesConditionKeys = [
|
|
5977
6023
|
"aws:RequestTag/${TagKey}",
|
|
@@ -6076,6 +6122,8 @@ SageMakerConditions.AWS_TAG_KEYS = "aws:TagKeys";
|
|
|
6076
6122
|
SageMakerConditions.ACCELERATOR_TYPES = "sagemaker:AcceleratorTypes";
|
|
6077
6123
|
/** Condition key: sagemaker:AppNetworkAccessType (String) */
|
|
6078
6124
|
SageMakerConditions.APP_NETWORK_ACCESS_TYPE = "sagemaker:AppNetworkAccessType";
|
|
6125
|
+
/** Condition key: sagemaker:AuthMode (String) */
|
|
6126
|
+
SageMakerConditions.AUTH_MODE = "sagemaker:AuthMode";
|
|
6079
6127
|
/** Condition key: sagemaker:BearerTokenType (String) */
|
|
6080
6128
|
SageMakerConditions.BEARER_TOKEN_TYPE = "sagemaker:BearerTokenType";
|
|
6081
6129
|
/** Condition key: sagemaker:CurrentCustomerMetadataProperties/${MetadataKey} (String) */
|
|
@@ -6134,6 +6182,8 @@ SageMakerConditions.IMAGE_VERSION_ARNS = "sagemaker:ImageVersionArns";
|
|
|
6134
6182
|
SageMakerConditions.INSTANCE_TYPES = "sagemaker:InstanceTypes";
|
|
6135
6183
|
/** Condition key: sagemaker:InterContainerTrafficEncryption (Bool) */
|
|
6136
6184
|
SageMakerConditions.INTER_CONTAINER_TRAFFIC_ENCRYPTION = "sagemaker:InterContainerTrafficEncryption";
|
|
6185
|
+
/** Condition key: sagemaker:IsUpdateRecord (Bool) */
|
|
6186
|
+
SageMakerConditions.IS_UPDATE_RECORD = "sagemaker:IsUpdateRecord";
|
|
6137
6187
|
/** Condition key: sagemaker:KeepAlivePeriod (Numeric) */
|
|
6138
6188
|
SageMakerConditions.KEEP_ALIVE_PERIOD = "sagemaker:KeepAlivePeriod";
|
|
6139
6189
|
/** Condition key: sagemaker:MaxRuntimeInSeconds (Numeric) */
|
|
@@ -6180,6 +6230,8 @@ SageMakerConditions.STUDIO_LIFECYCLE_CONFIG_ARNS = "sagemaker:StudioLifecycleCon
|
|
|
6180
6230
|
SageMakerConditions.TAGGING_ACTION = "sagemaker:TaggingAction";
|
|
6181
6231
|
/** Condition key: sagemaker:TargetModel (String) */
|
|
6182
6232
|
SageMakerConditions.TARGET_MODEL = "sagemaker:TargetModel";
|
|
6233
|
+
/** Condition key: sagemaker:UpdatableFeatures (ArrayOfString) */
|
|
6234
|
+
SageMakerConditions.UPDATABLE_FEATURES = "sagemaker:UpdatableFeatures";
|
|
6183
6235
|
/** Condition key: sagemaker:UserProfileName (String) */
|
|
6184
6236
|
SageMakerConditions.USER_PROFILE_NAME = "sagemaker:UserProfileName";
|
|
6185
6237
|
/** Condition key: sagemaker:VolumeKmsKey (ARN) */
|
|
@@ -6194,4 +6246,4 @@ SageMakerConditions.VPC_SUBNETS = "sagemaker:VpcSubnets";
|
|
|
6194
6246
|
SageMakerConditions.WORKTEAM_ARN = "sagemaker:WorkteamArn";
|
|
6195
6247
|
/** Condition key: sagemaker:WorkteamType (String) */
|
|
6196
6248
|
SageMakerConditions.WORKTEAM_TYPE = "sagemaker:WorkteamType";
|
|
6197
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FnZW1ha2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9zYWdlbWFrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCxnREFBZ0Q7QUFDaEQsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsZ0JBQWdCOztBQUE3Qiw0Q0ErN0NDOzs7QUE5N0NBLDhCQUE4QjtBQUNkLCtCQUFjLEdBQUcsV0FBVyxDQUFDO0FBRTdDLDBDQUEwQztBQUMxQixtQ0FBa0IsR0FBRyw4QkFBOEIsQ0FBQztBQUNwRSx1Q0FBdUM7QUFDdkIsK0JBQWMsR0FBRywwQkFBMEIsQ0FBQztBQUM1RCxrQ0FBa0M7QUFDbEIsd0JBQU8sR0FBRyxtQkFBbUIsQ0FBQztBQUM5QyxnREFBZ0Q7QUFDaEMsd0NBQXVCLEdBQUcsbUNBQW1DLENBQUM7QUFDOUUsZ0RBQWdEO0FBQ2hDLHdDQUF1QixHQUFHLG1DQUFtQyxDQUFDO0FBQzlFLDZDQUE2QztBQUM3QixxQ0FBb0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN4RSxnREFBZ0Q7QUFDaEMsd0NBQXVCLEdBQUcsbUNBQW1DLENBQUM7QUFDOUUsaURBQWlEO0FBQ2pDLDBDQUF5QixHQUN4QyxxQ0FBcUMsQ0FBQztBQUN2Qyx1Q0FBdUM7QUFDdkIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCxzQ0FBc0M7QUFDdEIsK0JBQWMsR0FBRywwQkFBMEIsQ0FBQztBQUM1RCx3Q0FBd0M7QUFDeEIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCx5Q0FBeUM7QUFDekIsaUNBQWdCLEdBQUcsNEJBQTRCLENBQUM7QUFDaEUseUNBQXlDO0FBQ3pCLGlDQUFnQixHQUFHLDRCQUE0QixDQUFDO0FBQ2hFLDBDQUEwQztBQUMxQixrQ0FBaUIsR0FBRyw2QkFBNkIsQ0FBQztB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QyxxQ0FBcUMsQ0FBQztBQUN2QyxzREFBc0Q7QUFDdEMsa0NBQWMsR0FBRyx5QkFBeUIsQ0FBQztBQUMzRCxvREFBb0Q7QUFDcEMsZ0NBQVksR0FBRyx1QkFBdUIsQ0FBQztBQUN2RCx3REFBd0Q7QUFDeEMscUNBQWlCLEdBQUcsMkJBQTJCLENBQUM7QUFDaEUsa0RBQWtEO0FBQ2xDLGtDQUFjLEdBQUcsd0JBQXdCLENBQUM7QUFDMUQscURBQXFEO0FBQ3JDLHNDQUFrQixHQUFHLDJCQUEyQixDQUFDO0FBQ2pFLG1FQUFtRTtBQUNuRCwwQ0FBc0IsR0FBRywrQkFBK0IsQ0FBQztBQUN6RSwwREFBMEQ7QUFDMUMsK0JBQVcsR0FBRyxzQkFBc0IsQ0FBQztBQUNyRCxpREFBaUQ7QUFDakMsZ0NBQVksR0FBRyx1QkFBdUIsQ0FBQztBQUN2RCxxREFBcUQ7QUFDckMsaUNBQWEsR0FBRyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL3NhZ2VtYWtlci5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgc2FnZW1ha2VyIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYWdlTWFrZXJBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwic2FnZW1ha2VyXCI7XG5cblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6QWNjZXNzTW9kZWxQYWNrYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBBY2Nlc3NNb2RlbFBhY2thZ2UgPSBcInNhZ2VtYWtlcjpBY2Nlc3NNb2RlbFBhY2thZ2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkFkZEFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRBc3NvY2lhdGlvbiA9IFwic2FnZW1ha2VyOkFkZEFzc29jaWF0aW9uXCI7XG5cdC8qKiBbVGFnZ2luZ10gc2FnZW1ha2VyOkFkZFRhZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFRhZ3MgPSBcInNhZ2VtYWtlcjpBZGRUYWdzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpBc3NvY2lhdGVUcmlhbENvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlVHJpYWxDb21wb25lbnQgPSBcInNhZ2VtYWtlcjpBc3NvY2lhdGVUcmlhbENvbXBvbmVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6QXR0YWNoQ2x1c3Rlck5vZGVWb2x1bWUgKi9cblx0c3RhdGljIHJlYWRvbmx5IEF0dGFjaENsdXN0ZXJOb2RlVm9sdW1lID0gXCJzYWdlbWFrZXI6QXR0YWNoQ2x1c3Rlck5vZGVWb2x1bWVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkJhdGNoQWRkQ2x1c3Rlck5vZGVzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEFkZENsdXN0ZXJOb2RlcyA9IFwic2FnZW1ha2VyOkJhdGNoQWRkQ2x1c3Rlck5vZGVzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpCYXRjaERlbGV0ZUNsdXN0ZXJOb2RlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVDbHVzdGVyTm9kZXMgPSBcInNhZ2VtYWtlcjpCYXRjaERlbGV0ZUNsdXN0ZXJOb2Rlc1wiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpCYXRjaERlc2NyaWJlTW9kZWxQYWNrYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlc2NyaWJlTW9kZWxQYWNrYWdlID1cblx0XHRcInNhZ2VtYWtlcjpCYXRjaERlc2NyaWJlTW9kZWxQYWNrYWdlXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkJhdGNoR2V0TWV0cmljcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRNZXRyaWNzID0gXCJzYWdlbWFrZXI6QmF0Y2hHZXRNZXRyaWNzXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkJhdGNoR2V0UmVjb3JkICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldFJlY29yZCA9IFwic2FnZW1ha2VyOkJhdGNoR2V0UmVjb3JkXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpCYXRjaFB1dE1ldHJpY3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoUHV0TWV0cmljcyA9IFwic2FnZW1ha2VyOkJhdGNoUHV0TWV0cmljc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6QmF0Y2hXcml0ZVJlY29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hXcml0ZVJlY29yZCA9IFwic2FnZW1ha2VyOkJhdGNoV3JpdGVSZWNvcmRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNhbGxNbGZsb3dBcHBBcGkgKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbGxNbGZsb3dBcHBBcGkgPSBcInNhZ2VtYWtlcjpDYWxsTWxmbG93QXBwQXBpXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDYWxsUGFydG5lckFwcEFwaSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FsbFBhcnRuZXJBcHBBcGkgPSBcInNhZ2VtYWtlcjpDYWxsUGFydG5lckFwcEFwaVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpDYWxsV2l0aEJlYXJlclRva2VuICovXG5cdHN0YXRpYyByZWFkb25seSBDYWxsV2l0aEJlYXJlclRva2VuID0gXCJzYWdlbWFrZXI6Q2FsbFdpdGhCZWFyZXJUb2tlblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q29tcGxldGVSb2xsb3V0ICovXG5cdHN0YXRpYyByZWFkb25seSBDb21wbGV0ZVJvbGxvdXQgPSBcInNhZ2VtYWtlcjpDb21wbGV0ZVJvbGxvdXRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUFJQmVuY2htYXJrSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBSUJlbmNobWFya0pvYiA9IFwic2FnZW1ha2VyOkNyZWF0ZUFJQmVuY2htYXJrSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVBSVdvcmtsb2FkQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBSVdvcmtsb2FkQ29uZmlnID0gXCJzYWdlbWFrZXI6Q3JlYXRlQUlXb3JrbG9hZENvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBY3Rpb24gPSBcInNhZ2VtYWtlcjpDcmVhdGVBY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUFsZ29yaXRobSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWxnb3JpdGhtID0gXCJzYWdlbWFrZXI6Q3JlYXRlQWxnb3JpdGhtXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcCA9IFwic2FnZW1ha2VyOkNyZWF0ZUFwcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQXBwSW1hZ2VDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcEltYWdlQ29uZmlnID0gXCJzYWdlbWFrZXI6Q3JlYXRlQXBwSW1hZ2VDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUFydGlmYWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcnRpZmFjdCA9IFwic2FnZW1ha2VyOkNyZWF0ZUFydGlmYWN0XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVBdXRvTUxKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9NTEpvYiA9IFwic2FnZW1ha2VyOkNyZWF0ZUF1dG9NTEpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQXV0b01MSm9iVjIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9NTEpvYlYyID0gXCJzYWdlbWFrZXI6Q3JlYXRlQXV0b01MSm9iVjJcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsdXN0ZXIgPSBcInNhZ2VtYWtlcjpDcmVhdGVDbHVzdGVyXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVDb2RlUmVwb3NpdG9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29kZVJlcG9zaXRvcnkgPSBcInNhZ2VtYWtlcjpDcmVhdGVDb2RlUmVwb3NpdG9yeVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQ29tcGlsYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbXBpbGF0aW9uSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlQ29tcGlsYXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUNvbXB1dGVRdW90YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29tcHV0ZVF1b3RhID0gXCJzYWdlbWFrZXI6Q3JlYXRlQ29tcHV0ZVF1b3RhXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVDb250ZXh0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb250ZXh0ID0gXCJzYWdlbWFrZXI6Q3JlYXRlQ29udGV4dFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlRGV2aWNlRmxlZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURldmljZUZsZWV0ID0gXCJzYWdlbWFrZXI6Q3JlYXRlRGV2aWNlRmxlZXRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZURvbWFpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRG9tYWluID0gXCJzYWdlbWFrZXI6Q3JlYXRlRG9tYWluXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVFZGdlRGVwbG95bWVudFBsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVkZ2VEZXBsb3ltZW50UGxhbiA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlRWRnZURlcGxveW1lbnRQbGFuXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVFZGdlRGVwbG95bWVudFN0YWdlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlRGVwbG95bWVudFN0YWdlID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVFZGdlRGVwbG95bWVudFN0YWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVFZGdlUGFja2FnaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlUGFja2FnaW5nSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlRWRnZVBhY2thZ2luZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZHBvaW50ID0gXCJzYWdlbWFrZXI6Q3JlYXRlRW5kcG9pbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUVuZHBvaW50Q29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmRwb2ludENvbmZpZyA9IFwic2FnZW1ha2VyOkNyZWF0ZUVuZHBvaW50Q29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVFeHBlcmltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeHBlcmltZW50ID0gXCJzYWdlbWFrZXI6Q3JlYXRlRXhwZXJpbWVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlRmVhdHVyZUdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGZWF0dXJlR3JvdXAgPSBcInNhZ2VtYWtlcjpDcmVhdGVGZWF0dXJlR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUZsb3dEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbG93RGVmaW5pdGlvbiA9IFwic2FnZW1ha2VyOkNyZWF0ZUZsb3dEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVIdWIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh1YiA9IFwic2FnZW1ha2VyOkNyZWF0ZUh1YlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpDcmVhdGVIdWJDb250ZW50UHJlc2lnbmVkVXJscyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHViQ29udGVudFByZXNpZ25lZFVybHMgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUh1YkNvbnRlbnRQcmVzaWduZWRVcmxzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVIdWJDb250ZW50UmVmZXJlbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdWJDb250ZW50UmVmZXJlbmNlID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVIdWJDb250ZW50UmVmZXJlbmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVIdW1hblRhc2tVaSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHVtYW5UYXNrVWkgPSBcInNhZ2VtYWtlcjpDcmVhdGVIdW1hblRhc2tVaVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlSW1hZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUltYWdlID0gXCJzYWdlbWFrZXI6Q3JlYXRlSW1hZ2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUltYWdlVmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW1hZ2VWZXJzaW9uID0gXCJzYWdlbWFrZXI6Q3JlYXRlSW1hZ2VWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZUNvbXBvbmVudCA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSW5mZXJlbmNlQ29tcG9uZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50ID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUpvYiA9IFwic2FnZW1ha2VyOkNyZWF0ZUpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTGFiZWxpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxhYmVsaW5nSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlTGFiZWxpbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUxpbmVhZ2VHcm91cFBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTGluZWFnZUdyb3VwUG9saWN5ID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVMaW5lYWdlR3JvdXBQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU1sZmxvd0FwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWxmbG93QXBwID0gXCJzYWdlbWFrZXI6Q3JlYXRlTWxmbG93QXBwXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVNbGZsb3dUcmFja2luZ1NlcnZlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1sZmxvd1RyYWNraW5nU2VydmVyXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWwgPSBcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTW9kZWxDYXJkICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbENhcmQgPSBcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbENhcmRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU1vZGVsQ2FyZEV4cG9ydEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDYXJkRXhwb3J0Sm9iID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbENhcmRFeHBvcnRKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU1vZGVsUGFja2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxQYWNrYWdlID0gXCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxQYWNrYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVNb2RlbFBhY2thZ2VHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxQYWNrYWdlR3JvdXAgPSBcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbFBhY2thZ2VHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb25pdG9yaW5nU2NoZWR1bGUgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1vbml0b3JpbmdTY2hlZHVsZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTm90ZWJvb2tJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZSA9IFwic2FnZW1ha2VyOkNyZWF0ZU5vdGVib29rSW5zdGFuY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU9wdGltaXphdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT3B0aW1pemF0aW9uSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlT3B0aW1pemF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVQYXJ0bmVyQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXJ0bmVyQXBwID0gXCJzYWdlbWFrZXI6Q3JlYXRlUGFydG5lckFwcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlUGFydG5lckFwcFByZXNpZ25lZFVybCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGFydG5lckFwcFByZXNpZ25lZFVybCA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUGFydG5lckFwcFByZXNpZ25lZFVybFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlUGlwZWxpbmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBpcGVsaW5lID0gXCJzYWdlbWFrZXI6Q3JlYXRlUGlwZWxpbmVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZERvbWFpblVybCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJlc2lnbmVkRG9tYWluVXJsID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcmVzaWduZWREb21haW5VcmxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZE1sZmxvd0FwcFVybCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJlc2lnbmVkTWxmbG93QXBwVXJsID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcmVzaWduZWRNbGZsb3dBcHBVcmxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZE1sZmxvd1RyYWNraW5nU2VydmVyVXJsICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcmVzaWduZWRNbGZsb3dUcmFja2luZ1NlcnZlclVybCA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUHJlc2lnbmVkTWxmbG93VHJhY2tpbmdTZXJ2ZXJVcmxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZE5vdGVib29rSW5zdGFuY2VVcmwgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByZXNpZ25lZE5vdGVib29rSW5zdGFuY2VVcmwgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZE5vdGVib29rSW5zdGFuY2VVcmxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVByb2Nlc3NpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb2Nlc3NpbmdKb2IgPSBcInNhZ2VtYWtlcjpDcmVhdGVQcm9jZXNzaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVQcm9qZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9qZWN0ID0gXCJzYWdlbWFrZXI6Q3JlYXRlUHJvamVjdFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlUmVzZXJ2ZWRDYXBhY2l0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzZXJ2ZWRDYXBhY2l0eSA9IFwic2FnZW1ha2VyOkNyZWF0ZVJlc2VydmVkQ2FwYWNpdHlcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVNoYXJlZE1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTaGFyZWRNb2RlbCA9IFwic2FnZW1ha2VyOkNyZWF0ZVNoYXJlZE1vZGVsXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVTcGFjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU3BhY2UgPSBcInNhZ2VtYWtlcjpDcmVhdGVTcGFjZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTdHVkaW9MaWZlY3ljbGVDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlVHJhaW5pbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyYWluaW5nSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlVHJhaW5pbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVRyYWluaW5nUGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJhaW5pbmdQbGFuID0gXCJzYWdlbWFrZXI6Q3JlYXRlVHJhaW5pbmdQbGFuXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVUcmFuc2Zvcm1Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyYW5zZm9ybUpvYiA9IFwic2FnZW1ha2VyOkNyZWF0ZVRyYW5zZm9ybUpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlVHJpYWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyaWFsID0gXCJzYWdlbWFrZXI6Q3JlYXRlVHJpYWxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVRyaWFsQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmlhbENvbXBvbmVudCA9IFwic2FnZW1ha2VyOkNyZWF0ZVRyaWFsQ29tcG9uZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVVc2VyUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXNlclByb2ZpbGUgPSBcInNhZ2VtYWtlcjpDcmVhdGVVc2VyUHJvZmlsZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlV29ya2ZvcmNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3JrZm9yY2UgPSBcInNhZ2VtYWtlcjpDcmVhdGVXb3JrZm9yY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVdvcmt0ZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3JrdGVhbSA9IFwic2FnZW1ha2VyOkNyZWF0ZVdvcmt0ZWFtXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVBSUJlbmNobWFya0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQUlCZW5jaG1hcmtKb2IgPSBcInNhZ2VtYWtlcjpEZWxldGVBSUJlbmNobWFya0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQUlSZWNvbW1lbmRhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQUlSZWNvbW1lbmRhdGlvbkpvYiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlQUlSZWNvbW1lbmRhdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQUlXb3JrbG9hZENvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQUlXb3JrbG9hZENvbmZpZyA9IFwic2FnZW1ha2VyOkRlbGV0ZUFJV29ya2xvYWRDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUFjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWN0aW9uID0gXCJzYWdlbWFrZXI6RGVsZXRlQWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVBbGdvcml0aG0gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFsZ29yaXRobSA9IFwic2FnZW1ha2VyOkRlbGV0ZUFsZ29yaXRobVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHAgPSBcInNhZ2VtYWtlcjpEZWxldGVBcHBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUFwcEltYWdlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHBJbWFnZUNvbmZpZyA9IFwic2FnZW1ha2VyOkRlbGV0ZUFwcEltYWdlQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVBcnRpZmFjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXJ0aWZhY3QgPSBcInNhZ2VtYWtlcjpEZWxldGVBcnRpZmFjdFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFzc29jaWF0aW9uID0gXCJzYWdlbWFrZXI6RGVsZXRlQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNsdXN0ZXIgPSBcInNhZ2VtYWtlcjpEZWxldGVDbHVzdGVyXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVDb2RlUmVwb3NpdG9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29kZVJlcG9zaXRvcnkgPSBcInNhZ2VtYWtlcjpEZWxldGVDb2RlUmVwb3NpdG9yeVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQ29tcGlsYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbXBpbGF0aW9uSm9iID0gXCJzYWdlbWFrZXI6RGVsZXRlQ29tcGlsYXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUNvbXB1dGVRdW90YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29tcHV0ZVF1b3RhID0gXCJzYWdlbWFrZXI6RGVsZXRlQ29tcHV0ZVF1b3RhXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVDb250ZXh0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb250ZXh0ID0gXCJzYWdlbWFrZXI6RGVsZXRlQ29udGV4dFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlRGV2aWNlRmxlZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURldmljZUZsZWV0ID0gXCJzYWdlbWFrZXI6RGVsZXRlRGV2aWNlRmxlZXRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZURvbWFpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRG9tYWluID0gXCJzYWdlbWFrZXI6RGVsZXRlRG9tYWluXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVFZGdlRGVwbG95bWVudFBsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUVkZ2VEZXBsb3ltZW50UGxhbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlRWRnZURlcGxveW1lbnRQbGFuXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVFZGdlRGVwbG95bWVudFN0YWdlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFZGdlRGVwbG95bWVudFN0YWdlID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVFZGdlRGVwbG95bWVudFN0YWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRW5kcG9pbnQgPSBcInNhZ2VtYWtlcjpEZWxldGVFbmRwb2ludFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlRW5kcG9pbnRDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUVuZHBvaW50Q29uZmlnID0gXCJzYWdlbWFrZXI6RGVsZXRlRW5kcG9pbnRDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUV4cGVyaW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV4cGVyaW1lbnQgPSBcInNhZ2VtYWtlcjpEZWxldGVFeHBlcmltZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVGZWF0dXJlR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZlYXR1cmVHcm91cCA9IFwic2FnZW1ha2VyOkRlbGV0ZUZlYXR1cmVHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlRmxvd0RlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZsb3dEZWZpbml0aW9uID0gXCJzYWdlbWFrZXI6RGVsZXRlRmxvd0RlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUh1YiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHViID0gXCJzYWdlbWFrZXI6RGVsZXRlSHViXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVIdWJDb250ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIdWJDb250ZW50ID0gXCJzYWdlbWFrZXI6RGVsZXRlSHViQ29udGVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlSHViQ29udGVudFJlZmVyZW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHViQ29udGVudFJlZmVyZW5jZSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlSHViQ29udGVudFJlZmVyZW5jZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlSHVtYW5Mb29wICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIdW1hbkxvb3AgPSBcInNhZ2VtYWtlcjpEZWxldGVIdW1hbkxvb3BcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUh1bWFuVGFza1VpICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIdW1hblRhc2tVaSA9IFwic2FnZW1ha2VyOkRlbGV0ZUh1bWFuVGFza1VpXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVJbWFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW1hZ2UgPSBcInNhZ2VtYWtlcjpEZWxldGVJbWFnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlSW1hZ2VWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbWFnZVZlcnNpb24gPSBcInNhZ2VtYWtlcjpEZWxldGVJbWFnZVZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUluZmVyZW5jZUNvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5mZXJlbmNlQ29tcG9uZW50ID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVJbmZlcmVuY2VDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUluZmVyZW5jZUV4cGVyaW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUluZmVyZW5jZUV4cGVyaW1lbnQgPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUluZmVyZW5jZUV4cGVyaW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSm9iID0gXCJzYWdlbWFrZXI6RGVsZXRlSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVMaW5lYWdlR3JvdXBQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUxpbmVhZ2VHcm91cFBvbGljeSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTGluZWFnZUdyb3VwUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVNbGZsb3dBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1sZmxvd0FwcCA9IFwic2FnZW1ha2VyOkRlbGV0ZU1sZmxvd0FwcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1sZmxvd1RyYWNraW5nU2VydmVyID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNbGZsb3dUcmFja2luZ1NlcnZlclwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsID0gXCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1vZGVsQ2FyZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxDYXJkID0gXCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxDYXJkXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVNb2RlbFBhY2thZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsUGFja2FnZSA9IFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsUGFja2FnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTW9kZWxQYWNrYWdlR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsUGFja2FnZUdyb3VwID0gXCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxQYWNrYWdlR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1vZGVsUGFja2FnZUdyb3VwUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbFBhY2thZ2VHcm91cFBvbGljeSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxQYWNrYWdlR3JvdXBQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1vbml0b3JpbmdTY2hlZHVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9uaXRvcmluZ1NjaGVkdWxlID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNb25pdG9yaW5nU2NoZWR1bGVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU5vdGVib29rSW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU5vdGVib29rSW5zdGFuY2UgPSBcInNhZ2VtYWtlcjpEZWxldGVOb3RlYm9va0luc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVPcHRpbWl6YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU9wdGltaXphdGlvbkpvYiA9IFwic2FnZW1ha2VyOkRlbGV0ZU9wdGltaXphdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlUGFydG5lckFwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUGFydG5lckFwcCA9IFwic2FnZW1ha2VyOkRlbGV0ZVBhcnRuZXJBcHBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVBpcGVsaW5lICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQaXBlbGluZSA9IFwic2FnZW1ha2VyOkRlbGV0ZVBpcGVsaW5lXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVQcm9jZXNzaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9jZXNzaW5nSm9iID0gXCJzYWdlbWFrZXI6RGVsZXRlUHJvY2Vzc2luZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlUHJvamVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvamVjdCA9IFwic2FnZW1ha2VyOkRlbGV0ZVByb2plY3RcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVJlY29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb3JkID0gXCJzYWdlbWFrZXI6RGVsZXRlUmVjb3JkXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VQb2xpY3kgPSBcInNhZ2VtYWtlcjpEZWxldGVSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlU3BhY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNwYWNlID0gXCJzYWdlbWFrZXI6RGVsZXRlU3BhY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVTdHVkaW9MaWZlY3ljbGVDb25maWdcIjtcblx0LyoqIFtUYWdnaW5nXSBzYWdlbWFrZXI6RGVsZXRlVGFncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGFncyA9IFwic2FnZW1ha2VyOkRlbGV0ZVRhZ3NcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVRyYWluaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUcmFpbmluZ0pvYiA9IFwic2FnZW1ha2VyOkRlbGV0ZVRyYWluaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVUcmlhbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVHJpYWwgPSBcInNhZ2VtYWtlcjpEZWxldGVUcmlhbFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlVHJpYWxDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRyaWFsQ29tcG9uZW50ID0gXCJzYWdlbWFrZXI6RGVsZXRlVHJpYWxDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVVzZXJQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVVc2VyUHJvZmlsZSA9IFwic2FnZW1ha2VyOkRlbGV0ZVVzZXJQcm9maWxlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVXb3JrZm9yY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmtmb3JjZSA9IFwic2FnZW1ha2VyOkRlbGV0ZVdvcmtmb3JjZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlV29ya3RlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmt0ZWFtID0gXCJzYWdlbWFrZXI6RGVsZXRlV29ya3RlYW1cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlcGxveUh1Yk1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBEZXBsb3lIdWJNb2RlbCA9IFwic2FnZW1ha2VyOkRlcGxveUh1Yk1vZGVsXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZXJlZ2lzdGVyRGV2aWNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3RlckRldmljZXMgPSBcInNhZ2VtYWtlcjpEZXJlZ2lzdGVyRGV2aWNlc1wiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUFJQmVuY2htYXJrSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFJQmVuY2htYXJrSm9iID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVBSUJlbmNobWFya0pvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUFJUmVjb21tZW5kYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQUlSZWNvbW1lbmRhdGlvbkpvYiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVBSVJlY29tbWVuZGF0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQUlXb3JrbG9hZENvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBSVdvcmtsb2FkQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUFJV29ya2xvYWRDb25maWdcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWN0aW9uID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVBY3Rpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBbGdvcml0aG0gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWxnb3JpdGhtID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVBbGdvcml0aG1cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVBcHBcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBcHBJbWFnZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHBJbWFnZUNvbmZpZyA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQXBwSW1hZ2VDb25maWdcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBcnRpZmFjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcnRpZmFjdCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQXJ0aWZhY3RcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBdXRvTUxKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXV0b01MSm9iID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVBdXRvTUxKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBdXRvTUxKb2JWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBdXRvTUxKb2JWMiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQXV0b01MSm9iVjJcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXIgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyRXZlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2x1c3RlckV2ZW50ID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyRXZlbnRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVySW5mZXJlbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXJJbmZlcmVuY2UgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3RlckluZmVyZW5jZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJOb2RlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXJOb2RlID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyTm9kZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQ29kZVJlcG9zaXRvcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29kZVJlcG9zaXRvcnkgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUNvZGVSZXBvc2l0b3J5XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQ29tcGlsYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29tcGlsYXRpb25Kb2IgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUNvbXBpbGF0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQ29tcHV0ZVF1b3RhICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbXB1dGVRdW90YSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQ29tcHV0ZVF1b3RhXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQ29udGV4dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb250ZXh0ID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVDb250ZXh0XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVEZXZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGV2aWNlID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVEZXZpY2VcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVEZXZpY2VGbGVldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEZXZpY2VGbGVldCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlRGV2aWNlRmxlZXRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVEb21haW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRG9tYWluID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVEb21haW5cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVFZGdlRGVwbG95bWVudFBsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRWRnZURlcGxveW1lbnRQbGFuID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUVkZ2VEZXBsb3ltZW50UGxhblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUVkZ2VQYWNrYWdpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRWRnZVBhY2thZ2luZ0pvYiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVFZGdlUGFja2FnaW5nSm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW5kcG9pbnQgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUVuZHBvaW50XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRW5kcG9pbnRDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW5kcG9pbnRDb25maWcgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUVuZHBvaW50Q29uZmlnXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRXhwZXJpbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFeHBlcmltZW50ID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVFeHBlcmltZW50XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRmVhdHVyZUdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZlYXR1cmVHcm91cCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlRmVhdHVyZUdyb3VwXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRmVhdHVyZU1ldGFkYXRhICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZlYXR1cmVNZXRhZGF0YSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlRmVhdHVyZU1ldGFkYXRhXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRmxvd0RlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRmxvd0RlZmluaXRpb24gPSBcInNhZ2VtYWtlcjpEZXNjcmliZUZsb3dEZWZpbml0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSHViICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUh1YiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlSHViXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSHViQ29udGVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVIdWJDb250ZW50ID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVIdWJDb250ZW50XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSHVtYW5Mb29wICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUh1bWFuTG9vcCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlSHVtYW5Mb29wXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSHVtYW5UYXNrVWkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSHVtYW5UYXNrVWkgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUh1bWFuVGFza1VpXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVJbWFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbWFnZSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlSW1hZ2VcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVJbWFnZVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW1hZ2VWZXJzaW9uID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVJbWFnZVZlcnNpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVJbmZlcmVuY2VDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5mZXJlbmNlQ29tcG9uZW50ID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUluZmVyZW5jZUNvbXBvbmVudFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUluZmVyZW5jZUV4cGVyaW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5mZXJlbmNlRXhwZXJpbWVudCA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVJbmZlcmVuY2VFeHBlcmltZW50XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSm9iID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVKb2JTY2hlbWFWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUpvYlNjaGVtYVZlcnNpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSm9iU2NoZW1hVmVyc2lvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUxhYmVsaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxhYmVsaW5nSm9iID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVMYWJlbGluZ0pvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUxpbmVhZ2VHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMaW5lYWdlR3JvdXAgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUxpbmVhZ2VHcm91cFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU1sZmxvd0FwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNbGZsb3dBcHAgPSBcInNhZ2VtYWtlcjpEZXNjcmliZU1sZmxvd0FwcFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU1sZmxvd1RyYWNraW5nU2VydmVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1sZmxvd1RyYWNraW5nU2VydmVyID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1sZmxvd1RyYWNraW5nU2VydmVyXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWwgPSBcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbEJpYXNKb2JEZWZpbml0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsQmlhc0pvYkRlZmluaXRpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbENhcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxDYXJkID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbENhcmRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbENhcmRFeHBvcnRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxDYXJkRXhwb3J0Sm9iID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsQ2FyZEV4cG9ydEpvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxQYWNrYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsUGFja2FnZSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxQYWNrYWdlXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxQYWNrYWdlR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxQYWNrYWdlR3JvdXAgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxQYWNrYWdlR3JvdXBcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU1vbml0b3JpbmdTY2hlZHVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb25pdG9yaW5nU2NoZWR1bGUgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9uaXRvcmluZ1NjaGVkdWxlXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVOb3RlYm9va0luc3RhbmNlID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU5vdGVib29rSW5zdGFuY2VcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ1wiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU9wdGltaXphdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVPcHRpbWl6YXRpb25Kb2IgPSBcInNhZ2VtYWtlcjpEZXNjcmliZU9wdGltaXphdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVBhcnRuZXJBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGFydG5lckFwcCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlUGFydG5lckFwcFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVBpcGVsaW5lICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBpcGVsaW5lID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVQaXBlbGluZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVBpcGVsaW5lRGVmaW5pdGlvbkZvckV4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQaXBlbGluZURlZmluaXRpb25Gb3JFeGVjdXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlUGlwZWxpbmVEZWZpbml0aW9uRm9yRXhlY3V0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlUGlwZWxpbmVFeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGlwZWxpbmVFeGVjdXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlUGlwZWxpbmVFeGVjdXRpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVQcm9jZXNzaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVByb2Nlc3NpbmdKb2IgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVByb2Nlc3NpbmdKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVQcm9qZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVByb2plY3QgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVByb2plY3RcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVSZXNlcnZlZENhcGFjaXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlc2VydmVkQ2FwYWNpdHkgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlUmVzZXJ2ZWRDYXBhY2l0eVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVNoYXJlZE1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNoYXJlZE1vZGVsID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVTaGFyZWRNb2RlbFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVNwYWNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNwYWNlID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVTcGFjZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTdHVkaW9MaWZlY3ljbGVDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlU3Vic2NyaWJlZFdvcmt0ZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVN1YnNjcmliZWRXb3JrdGVhbSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVTdWJzY3JpYmVkV29ya3RlYW1cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVUcmFpbmluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmFpbmluZ0pvYiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlVHJhaW5pbmdKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVUcmFpbmluZ1BsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJhaW5pbmdQbGFuID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVUcmFpbmluZ1BsYW5cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVUcmFuc2Zvcm1Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJhbnNmb3JtSm9iID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVUcmFuc2Zvcm1Kb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVUcmlhbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmlhbCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlVHJpYWxcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVUcmlhbENvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmlhbENvbXBvbmVudCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlVHJpYWxDb21wb25lbnRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVVc2VyUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVVc2VyUHJvZmlsZSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlVXNlclByb2ZpbGVcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVXb3JrZm9yY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlV29ya2ZvcmNlID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVXb3JrZm9yY2VcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVXb3JrdGVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVXb3JrdGVhbSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlV29ya3RlYW1cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRldGFjaENsdXN0ZXJOb2RlVm9sdW1lICovXG5cdHN0YXRpYyByZWFkb25seSBEZXRhY2hDbHVzdGVyTm9kZVZvbHVtZSA9IFwic2FnZW1ha2VyOkRldGFjaENsdXN0ZXJOb2RlVm9sdW1lXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEaXNhYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW8gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpbyA9XG5cdFx0XCJzYWdlbWFrZXI6RGlzYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEaXNhc3NvY2lhdGVUcmlhbENvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlVHJpYWxDb21wb25lbnQgPVxuXHRcdFwic2FnZW1ha2VyOkRpc2Fzc29jaWF0ZVRyaWFsQ29tcG9uZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpFbmFibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpbyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5hYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW8gPVxuXHRcdFwic2FnZW1ha2VyOkVuYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldERlcGxveW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREZXBsb3ltZW50cyA9IFwic2FnZW1ha2VyOkdldERlcGxveW1lbnRzXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldERldmljZUZsZWV0UmVwb3J0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREZXZpY2VGbGVldFJlcG9ydCA9IFwic2FnZW1ha2VyOkdldERldmljZUZsZWV0UmVwb3J0XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldERldmljZVJlZ2lzdHJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGV2aWNlUmVnaXN0cmF0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpHZXREZXZpY2VSZWdpc3RyYXRpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6R2V0TGluZWFnZUdyb3VwUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRMaW5lYWdlR3JvdXBQb2xpY3kgPVxuXHRcdFwic2FnZW1ha2VyOkdldExpbmVhZ2VHcm91cFBvbGljeVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpHZXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3kgPVxuXHRcdFwic2FnZW1ha2VyOkdldE1vZGVsUGFja2FnZUdyb3VwUG9saWN5XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldFJlY29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVjb3JkID0gXCJzYWdlbWFrZXI6R2V0UmVjb3JkXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldFJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZVBvbGljeSA9IFwic2FnZW1ha2VyOkdldFJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldFNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpb1N0YXR1cyA9XG5cdFx0XCJzYWdlbWFrZXI6R2V0U2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW9TdGF0dXNcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6R2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6R2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpHZXRTZWFyY2hTdWdnZXN0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VhcmNoU3VnZ2VzdGlvbnMgPSBcInNhZ2VtYWtlcjpHZXRTZWFyY2hTdWdnZXN0aW9uc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6SW1wb3J0SHViQ29udGVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0SHViQ29udGVudCA9IFwic2FnZW1ha2VyOkltcG9ydEh1YkNvbnRlbnRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUVuZHBvaW50ID0gXCJzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnRBc3luYyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRW5kcG9pbnRBc3luYyA9IFwic2FnZW1ha2VyOkludm9rZUVuZHBvaW50QXN5bmNcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnRXaXRoUmVzcG9uc2VTdHJlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUVuZHBvaW50V2l0aFJlc3BvbnNlU3RyZWFtID1cblx0XHRcInNhZ2VtYWtlcjpJbnZva2VFbmRwb2ludFdpdGhSZXNwb25zZVN0cmVhbVwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0QUlCZW5jaG1hcmtKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QUlCZW5jaG1hcmtKb2JzID0gXCJzYWdlbWFrZXI6TGlzdEFJQmVuY2htYXJrSm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0QUlSZWNvbW1lbmRhdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBSVJlY29tbWVuZGF0aW9uSm9icyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdEFJUmVjb21tZW5kYXRpb25Kb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBSVdvcmtsb2FkQ29uZmlncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFJV29ya2xvYWRDb25maWdzID0gXCJzYWdlbWFrZXI6TGlzdEFJV29ya2xvYWRDb25maWdzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBY3Rpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWN0aW9ucyA9IFwic2FnZW1ha2VyOkxpc3RBY3Rpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBbGdvcml0aG1zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWxnb3JpdGhtcyA9IFwic2FnZW1ha2VyOkxpc3RBbGdvcml0aG1zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBbGlhc2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWxpYXNlcyA9IFwic2FnZW1ha2VyOkxpc3RBbGlhc2VzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBcHBJbWFnZUNvbmZpZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBJbWFnZUNvbmZpZ3MgPSBcInNhZ2VtYWtlcjpMaXN0QXBwSW1hZ2VDb25maWdzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBcHBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwcyA9IFwic2FnZW1ha2VyOkxpc3RBcHBzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBcnRpZmFjdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcnRpZmFjdHMgPSBcInNhZ2VtYWtlcjpMaXN0QXJ0aWZhY3RzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NvY2lhdGlvbnMgPSBcInNhZ2VtYWtlcjpMaXN0QXNzb2NpYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBdXRvTUxKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b01MSm9icyA9IFwic2FnZW1ha2VyOkxpc3RBdXRvTUxKb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RDYW5kaWRhdGVzRm9yQXV0b01MSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2FuZGlkYXRlc0ZvckF1dG9NTEpvYiA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdENhbmRpZGF0ZXNGb3JBdXRvTUxKb2JcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdENsdXN0ZXJFdmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDbHVzdGVyRXZlbnRzID0gXCJzYWdlbWFrZXI6TGlzdENsdXN0ZXJFdmVudHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdENsdXN0ZXJOb2RlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJOb2RlcyA9IFwic2FnZW1ha2VyOkxpc3RDbHVzdGVyTm9kZXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdENsdXN0ZXJTY2hlZHVsZXJDb25maWdzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2x1c3RlclNjaGVkdWxlckNvbmZpZ3MgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RDbHVzdGVyU2NoZWR1bGVyQ29uZmlnc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q2x1c3RlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDbHVzdGVycyA9IFwic2FnZW1ha2VyOkxpc3RDbHVzdGVyc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q29kZVJlcG9zaXRvcmllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvZGVSZXBvc2l0b3JpZXMgPSBcInNhZ2VtYWtlcjpMaXN0Q29kZVJlcG9zaXRvcmllc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q29tcGlsYXRpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29tcGlsYXRpb25Kb2JzID0gXCJzYWdlbWFrZXI6TGlzdENvbXBpbGF0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q29tcHV0ZVF1b3RhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbXB1dGVRdW90YXMgPSBcInNhZ2VtYWtlcjpMaXN0Q29tcHV0ZVF1b3Rhc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q29udGV4dHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb250ZXh0cyA9IFwic2FnZW1ha2VyOkxpc3RDb250ZXh0c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0RGF0YVF1YWxpdHlKb2JEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbnMgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3REYXRhUXVhbGl0eUpvYkRlZmluaXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3REZXZpY2VGbGVldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REZXZpY2VGbGVldHMgPSBcInNhZ2VtYWtlcjpMaXN0RGV2aWNlRmxlZXRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3REZXZpY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGV2aWNlcyA9IFwic2FnZW1ha2VyOkxpc3REZXZpY2VzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3REb21haW5zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RG9tYWlucyA9IFwic2FnZW1ha2VyOkxpc3REb21haW5zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RFZGdlRGVwbG95bWVudFBsYW5zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RWRnZURlcGxveW1lbnRQbGFucyA9IFwic2FnZW1ha2VyOkxpc3RFZGdlRGVwbG95bWVudFBsYW5zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RFZGdlUGFja2FnaW5nSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVkZ2VQYWNrYWdpbmdKb2JzID0gXCJzYWdlbWFrZXI6TGlzdEVkZ2VQYWNrYWdpbmdKb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RFbmRwb2ludENvbmZpZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmRwb2ludENvbmZpZ3MgPSBcInNhZ2VtYWtlcjpMaXN0RW5kcG9pbnRDb25maWdzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RFbmRwb2ludHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmRwb2ludHMgPSBcInNhZ2VtYWtlcjpMaXN0RW5kcG9pbnRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RFeHBlcmltZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV4cGVyaW1lbnRzID0gXCJzYWdlbWFrZXI6TGlzdEV4cGVyaW1lbnRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RGZWF0dXJlR3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RmVhdHVyZUdyb3VwcyA9IFwic2FnZW1ha2VyOkxpc3RGZWF0dXJlR3JvdXBzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RGbG93RGVmaW5pdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGbG93RGVmaW5pdGlvbnMgPSBcInNhZ2VtYWtlcjpMaXN0Rmxvd0RlZmluaXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RIdWJDb250ZW50VmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIdWJDb250ZW50VmVyc2lvbnMgPSBcInNhZ2VtYWtlcjpMaXN0SHViQ29udGVudFZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RIdWJDb250ZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEh1YkNvbnRlbnRzID0gXCJzYWdlbWFrZXI6TGlzdEh1YkNvbnRlbnRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RIdWJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHVicyA9IFwic2FnZW1ha2VyOkxpc3RIdWJzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RIdW1hbkxvb3BzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHVtYW5Mb29wcyA9IFwic2FnZW1ha2VyOkxpc3RIdW1hbkxvb3BzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RIdW1hblRhc2tVaXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIdW1hblRhc2tVaXMgPSBcInNhZ2VtYWtlcjpMaXN0SHVtYW5UYXNrVWlzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RIeXBlclBhcmFtZXRlclR1bmluZ0pvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIeXBlclBhcmFtZXRlclR1bmluZ0pvYnMgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RIeXBlclBhcmFtZXRlclR1bmluZ0pvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEltYWdlVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbWFnZVZlcnNpb25zID0gXCJzYWdlbWFrZXI6TGlzdEltYWdlVmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEltYWdlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEltYWdlcyA9IFwic2FnZW1ha2VyOkxpc3RJbWFnZXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEluZmVyZW5jZUNvbXBvbmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VDb21wb25lbnRzID0gXCJzYWdlbWFrZXI6TGlzdEluZmVyZW5jZUNvbXBvbmVudHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEluZmVyZW5jZUV4cGVyaW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW5mZXJlbmNlRXhwZXJpbWVudHMgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VFeHBlcmltZW50c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0SW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iU3RlcHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JTdGVwcyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYlN0ZXBzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9icyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEpvYlNjaGVtYVZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Sm9iU2NoZW1hVmVyc2lvbnMgPSBcInNhZ2VtYWtlcjpMaXN0Sm9iU2NoZW1hVmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RKb2JzID0gXCJzYWdlbWFrZXI6TGlzdEpvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdExhYmVsaW5nSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdExhYmVsaW5nSm9icyA9IFwic2FnZW1ha2VyOkxpc3RMYWJlbGluZ0pvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdExhYmVsaW5nSm9ic0Zvcldvcmt0ZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TGFiZWxpbmdKb2JzRm9yV29ya3RlYW0gPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RMYWJlbGluZ0pvYnNGb3JXb3JrdGVhbVwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TGluZWFnZUdyb3VwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdExpbmVhZ2VHcm91cHMgPSBcInNhZ2VtYWtlcjpMaXN0TGluZWFnZUdyb3Vwc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TWxmbG93QXBwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1sZmxvd0FwcHMgPSBcInNhZ2VtYWtlcjpMaXN0TWxmbG93QXBwc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TWxmbG93VHJhY2tpbmdTZXJ2ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWxmbG93VHJhY2tpbmdTZXJ2ZXJzID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0TWxmbG93VHJhY2tpbmdTZXJ2ZXJzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb2RlbEJpYXNKb2JEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQmlhc0pvYkRlZmluaXRpb25zID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9kZWxCaWFzSm9iRGVmaW5pdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vZGVsQ2FyZEV4cG9ydEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbENhcmRFeHBvcnRKb2JzID0gXCJzYWdlbWFrZXI6TGlzdE1vZGVsQ2FyZEV4cG9ydEpvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vZGVsQ2FyZFZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxDYXJkVmVyc2lvbnMgPSBcInNhZ2VtYWtlcjpMaXN0TW9kZWxDYXJkVmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vZGVsQ2FyZHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbENhcmRzID0gXCJzYWdlbWFrZXI6TGlzdE1vZGVsQ2FyZHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9ucyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9kZWxNZXRhZGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsTWV0YWRhdGEgPSBcInNhZ2VtYWtlcjpMaXN0TW9kZWxNZXRhZGF0YVwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9kZWxQYWNrYWdlR3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxQYWNrYWdlR3JvdXBzID0gXCJzYWdlbWFrZXI6TGlzdE1vZGVsUGFja2FnZUdyb3Vwc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9kZWxQYWNrYWdlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsUGFja2FnZXMgPSBcInNhZ2VtYWtlcjpMaXN0TW9kZWxQYWNrYWdlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9ucyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb2RlbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbHMgPSBcInNhZ2VtYWtlcjpMaXN0TW9kZWxzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb25pdG9yaW5nQWxlcnRIaXN0b3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9uaXRvcmluZ0FsZXJ0SGlzdG9yeSA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdBbGVydEhpc3RvcnlcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdBbGVydHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb25pdG9yaW5nQWxlcnRzID0gXCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdBbGVydHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdFeGVjdXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9uaXRvcmluZ0V4ZWN1dGlvbnMgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RNb25pdG9yaW5nRXhlY3V0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9uaXRvcmluZ1NjaGVkdWxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vbml0b3JpbmdTY2hlZHVsZXMgPSBcInNhZ2VtYWtlcjpMaXN0TW9uaXRvcmluZ1NjaGVkdWxlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlncyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3ROb3RlYm9va0luc3RhbmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5vdGVib29rSW5zdGFuY2VzID0gXCJzYWdlbWFrZXI6TGlzdE5vdGVib29rSW5zdGFuY2VzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RPcHRpbWl6YXRpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T3B0aW1pemF0aW9uSm9icyA9IFwic2FnZW1ha2VyOkxpc3RPcHRpbWl6YXRpb25Kb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RQYXJ0bmVyQXBwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBhcnRuZXJBcHBzID0gXCJzYWdlbWFrZXI6TGlzdFBhcnRuZXJBcHBzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RQaXBlbGluZUV4ZWN1dGlvblN0ZXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVFeGVjdXRpb25TdGVwcyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdFBpcGVsaW5lRXhlY3V0aW9uU3RlcHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFBpcGVsaW5lRXhlY3V0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lRXhlY3V0aW9ucyA9IFwic2FnZW1ha2VyOkxpc3RQaXBlbGluZUV4ZWN1dGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFBpcGVsaW5lUGFyYW1ldGVyc0ZvckV4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lUGFyYW1ldGVyc0ZvckV4ZWN1dGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdFBpcGVsaW5lUGFyYW1ldGVyc0ZvckV4ZWN1dGlvblwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lVmVyc2lvbnMgPSBcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVzID0gXCJzYWdlbWFrZXI6TGlzdFBpcGVsaW5lc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UHJvY2Vzc2luZ0pvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9jZXNzaW5nSm9icyA9IFwic2FnZW1ha2VyOkxpc3RQcm9jZXNzaW5nSm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UHJvamVjdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm9qZWN0cyA9IFwic2FnZW1ha2VyOkxpc3RQcm9qZWN0c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UmVjb3JkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY29yZHMgPSBcInNhZ2VtYWtlcjpMaXN0UmVjb3Jkc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UmVzb3VyY2VDYXRhbG9ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlQ2F0YWxvZ3MgPSBcInNhZ2VtYWtlcjpMaXN0UmVzb3VyY2VDYXRhbG9nc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0U2hhcmVkTW9kZWxFdmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTaGFyZWRNb2RlbEV2ZW50cyA9IFwic2FnZW1ha2VyOkxpc3RTaGFyZWRNb2RlbEV2ZW50c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0U2hhcmVkTW9kZWxWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNoYXJlZE1vZGVsVmVyc2lvbnMgPSBcInNhZ2VtYWtlcjpMaXN0U2hhcmVkTW9kZWxWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0U2hhcmVkTW9kZWxzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2hhcmVkTW9kZWxzID0gXCJzYWdlbWFrZXI6TGlzdFNoYXJlZE1vZGVsc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0U3BhY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3BhY2VzID0gXCJzYWdlbWFrZXI6TGlzdFNwYWNlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0U3RhZ2VEZXZpY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3RhZ2VEZXZpY2VzID0gXCJzYWdlbWFrZXI6TGlzdFN0YWdlRGV2aWNlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0U3R1ZGlvTGlmZWN5Y2xlQ29uZmlncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN0dWRpb0xpZmVjeWNsZUNvbmZpZ3MgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RTdHVkaW9MaWZlY3ljbGVDb25maWdzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RTdWJzY3JpYmVkV29ya3RlYW1zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3Vic2NyaWJlZFdvcmt0ZWFtcyA9IFwic2FnZW1ha2VyOkxpc3RTdWJzY3JpYmVkV29ya3RlYW1zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RUYWdzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFncyA9IFwic2FnZW1ha2VyOkxpc3RUYWdzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RUcmFpbmluZ0pvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcmFpbmluZ0pvYnMgPSBcInNhZ2VtYWtlcjpMaXN0VHJhaW5pbmdKb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RUcmFpbmluZ0pvYnNGb3JIeXBlclBhcmFtZXRlclR1bmluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyYWluaW5nSm9ic0Zvckh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0VHJhaW5pbmdKb2JzRm9ySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFRyYWluaW5nUGxhbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcmFpbmluZ1BsYW5zID0gXCJzYWdlbWFrZXI6TGlzdFRyYWluaW5nUGxhbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFRyYW5zZm9ybUpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcmFuc2Zvcm1Kb2JzID0gXCJzYWdlbWFrZXI6TGlzdFRyYW5zZm9ybUpvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFRyaWFsQ29tcG9uZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyaWFsQ29tcG9uZW50cyA9IFwic2FnZW1ha2VyOkxpc3RUcmlhbENvbXBvbmVudHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFRyaWFscyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyaWFscyA9IFwic2FnZW1ha2VyOkxpc3RUcmlhbHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFVsdHJhU2VydmVyc0J5UmVzZXJ2ZWRDYXBhY2l0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFVsdHJhU2VydmVyc0J5UmVzZXJ2ZWRDYXBhY2l0eSA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdFVsdHJhU2VydmVyc0J5UmVzZXJ2ZWRDYXBhY2l0eVwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0VXNlclByb2ZpbGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VXNlclByb2ZpbGVzID0gXCJzYWdlbWFrZXI6TGlzdFVzZXJQcm9maWxlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0V29ya2ZvcmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFdvcmtmb3JjZXMgPSBcInNhZ2VtYWtlcjpMaXN0V29ya2ZvcmNlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0V29ya3RlYW1zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya3RlYW1zID0gXCJzYWdlbWFrZXI6TGlzdFdvcmt0ZWFtc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6UHV0TGluZWFnZUdyb3VwUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRMaW5lYWdlR3JvdXBQb2xpY3kgPSBcInNhZ2VtYWtlcjpQdXRMaW5lYWdlR3JvdXBQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlB1dE1vZGVsUGFja2FnZUdyb3VwUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSA9XG5cdFx0XCJzYWdlbWFrZXI6UHV0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlB1dFJlY29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVjb3JkID0gXCJzYWdlbWFrZXI6UHV0UmVjb3JkXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpQdXRSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVzb3VyY2VQb2xpY3kgPSBcInNhZ2VtYWtlcjpQdXRSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpRdWVyeUxpbmVhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFF1ZXJ5TGluZWFnZSA9IFwic2FnZW1ha2VyOlF1ZXJ5TGluZWFnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6UmVnaXN0ZXJEZXZpY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlckRldmljZXMgPSBcInNhZ2VtYWtlcjpSZWdpc3RlckRldmljZXNcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6UmVuZGVyVWlUZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVuZGVyVWlUZW1wbGF0ZSA9IFwic2FnZW1ha2VyOlJlbmRlclVpVGVtcGxhdGVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlJldHJ5UGlwZWxpbmVFeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldHJ5UGlwZWxpbmVFeGVjdXRpb24gPSBcInNhZ2VtYWtlcjpSZXRyeVBpcGVsaW5lRXhlY3V0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTYW1wbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNhbXBsZSA9IFwic2FnZW1ha2VyOlNhbXBsZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U2FtcGxlV2l0aFJlc3BvbnNlU3RyZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBTYW1wbGVXaXRoUmVzcG9uc2VTdHJlYW0gPVxuXHRcdFwic2FnZW1ha2VyOlNhbXBsZVdpdGhSZXNwb25zZVN0cmVhbVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpTZWFyY2ggKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaCA9IFwic2FnZW1ha2VyOlNlYXJjaFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpTZWFyY2hUcmFpbmluZ1BsYW5PZmZlcmluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaFRyYWluaW5nUGxhbk9mZmVyaW5ncyA9XG5cdFx0XCJzYWdlbWFrZXI6U2VhcmNoVHJhaW5pbmdQbGFuT2ZmZXJpbmdzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTZW5kSGVhcnRiZWF0ICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kSGVhcnRiZWF0ID0gXCJzYWdlbWFrZXI6U2VuZEhlYXJ0YmVhdFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcEZhaWx1cmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBGYWlsdXJlID1cblx0XHRcInNhZ2VtYWtlcjpTZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwRmFpbHVyZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcFN1Y2Nlc3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBTdWNjZXNzID1cblx0XHRcInNhZ2VtYWtlcjpTZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwU3VjY2Vzc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U2VuZFNoYXJlZE1vZGVsRXZlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRTaGFyZWRNb2RlbEV2ZW50ID0gXCJzYWdlbWFrZXI6U2VuZFNoYXJlZE1vZGVsRXZlbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0YXJ0Q2x1c3RlckhlYWx0aENoZWNrICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydENsdXN0ZXJIZWFsdGhDaGVjayA9IFwic2FnZW1ha2VyOlN0YXJ0Q2x1c3RlckhlYWx0aENoZWNrXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdGFydEVkZ2VEZXBsb3ltZW50U3RhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RWRnZURlcGxveW1lbnRTdGFnZSA9XG5cdFx0XCJzYWdlbWFrZXI6U3RhcnRFZGdlRGVwbG95bWVudFN0YWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdGFydEh1bWFuTG9vcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRIdW1hbkxvb3AgPSBcInNhZ2VtYWtlcjpTdGFydEh1bWFuTG9vcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RhcnRJbmZlcmVuY2VFeHBlcmltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEluZmVyZW5jZUV4cGVyaW1lbnQgPVxuXHRcdFwic2FnZW1ha2VyOlN0YXJ0SW5mZXJlbmNlRXhwZXJpbWVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RhcnRNbGZsb3dUcmFja2luZ1NlcnZlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRNbGZsb3dUcmFja2luZ1NlcnZlciA9XG5cdFx0XCJzYWdlbWFrZXI6U3RhcnRNbGZsb3dUcmFja2luZ1NlcnZlclwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RhcnRNb25pdG9yaW5nU2NoZWR1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TW9uaXRvcmluZ1NjaGVkdWxlID0gXCJzYWdlbWFrZXI6U3RhcnRNb25pdG9yaW5nU2NoZWR1bGVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0YXJ0Tm90ZWJvb2tJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnROb3RlYm9va0luc3RhbmNlID0gXCJzYWdlbWFrZXI6U3RhcnROb3RlYm9va0luc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdGFydFBpcGVsaW5lRXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFBpcGVsaW5lRXhlY3V0aW9uID0gXCJzYWdlbWFrZXI6U3RhcnRQaXBlbGluZUV4ZWN1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RhcnRTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFNlc3Npb24gPSBcInNhZ2VtYWtlcjpTdGFydFNlc3Npb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BBSUJlbmNobWFya0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEFJQmVuY2htYXJrSm9iID0gXCJzYWdlbWFrZXI6U3RvcEFJQmVuY2htYXJrSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wQUlSZWNvbW1lbmRhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEFJUmVjb21tZW5kYXRpb25Kb2IgPSBcInNhZ2VtYWtlcjpTdG9wQUlSZWNvbW1lbmRhdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcEF1dG9NTEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEF1dG9NTEpvYiA9IFwic2FnZW1ha2VyOlN0b3BBdXRvTUxKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BDb21waWxhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcENvbXBpbGF0aW9uSm9iID0gXCJzYWdlbWFrZXI6U3RvcENvbXBpbGF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wRWRnZURlcGxveW1lbnRTdGFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEVkZ2VEZXBsb3ltZW50U3RhZ2UgPSBcInNhZ2VtYWtlcjpTdG9wRWRnZURlcGxveW1lbnRTdGFnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcEVkZ2VQYWNrYWdpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BFZGdlUGFja2FnaW5nSm9iID0gXCJzYWdlbWFrZXI6U3RvcEVkZ2VQYWNrYWdpbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BIdW1hbkxvb3AgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BIdW1hbkxvb3AgPSBcInNhZ2VtYWtlcjpTdG9wSHVtYW5Mb29wXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BIeXBlclBhcmFtZXRlclR1bmluZ0pvYiA9XG5cdFx0XCJzYWdlbWFrZXI6U3RvcEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wSW5mZXJlbmNlRXhwZXJpbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEluZmVyZW5jZUV4cGVyaW1lbnQgPSBcInNhZ2VtYWtlcjpTdG9wSW5mZXJlbmNlRXhwZXJpbWVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiA9XG5cdFx0XCJzYWdlbWFrZXI6U3RvcEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEpvYiA9IFwic2FnZW1ha2VyOlN0b3BKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BMYWJlbGluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcExhYmVsaW5nSm9iID0gXCJzYWdlbWFrZXI6U3RvcExhYmVsaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wTWxmbG93VHJhY2tpbmdTZXJ2ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BNbGZsb3dUcmFja2luZ1NlcnZlciA9XG5cdFx0XCJzYWdlbWFrZXI6U3RvcE1sZmxvd1RyYWNraW5nU2VydmVyXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wTW9uaXRvcmluZ1NjaGVkdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wTW9uaXRvcmluZ1NjaGVkdWxlID0gXCJzYWdlbWFrZXI6U3RvcE1vbml0b3JpbmdTY2hlZHVsZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcE5vdGVib29rSW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BOb3RlYm9va0luc3RhbmNlID0gXCJzYWdlbWFrZXI6U3RvcE5vdGVib29rSW5zdGFuY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BPcHRpbWl6YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BPcHRpbWl6YXRpb25Kb2IgPSBcInNhZ2VtYWtlcjpTdG9wT3B0aW1pemF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wUGlwZWxpbmVFeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BQaXBlbGluZUV4ZWN1dGlvbiA9IFwic2FnZW1ha2VyOlN0b3BQaXBlbGluZUV4ZWN1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcFByb2Nlc3NpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BQcm9jZXNzaW5nSm9iID0gXCJzYWdlbWFrZXI6U3RvcFByb2Nlc3NpbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BUcmFpbmluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRyYWluaW5nSm9iID0gXCJzYWdlbWFrZXI6U3RvcFRyYWluaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wVHJhbnNmb3JtSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wVHJhbnNmb3JtSm9iID0gXCJzYWdlbWFrZXI6U3RvcFRyYW5zZm9ybUpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VHJhaW5IdWJNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVHJhaW5IdWJNb2RlbCA9IFwic2FnZW1ha2VyOlRyYWluSHViTW9kZWxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUFjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWN0aW9uID0gXCJzYWdlbWFrZXI6VXBkYXRlQWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVBcHBJbWFnZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXBwSW1hZ2VDb25maWcgPSBcInNhZ2VtYWtlcjpVcGRhdGVBcHBJbWFnZUNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlQXJ0aWZhY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFydGlmYWN0ID0gXCJzYWdlbWFrZXI6VXBkYXRlQXJ0aWZhY3RcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsdXN0ZXIgPSBcInNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVyXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVySW5mZXJlbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVySW5mZXJlbmNlID0gXCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlckluZmVyZW5jZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyA9XG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNvZnR3YXJlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyU29mdHdhcmUgPSBcInNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVyU29mdHdhcmVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUNvZGVSZXBvc2l0b3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb2RlUmVwb3NpdG9yeSA9IFwic2FnZW1ha2VyOlVwZGF0ZUNvZGVSZXBvc2l0b3J5XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVDb21wdXRlUXVvdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbXB1dGVRdW90YSA9IFwic2FnZW1ha2VyOlVwZGF0ZUNvbXB1dGVRdW90YVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlQ29udGV4dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29udGV4dCA9IFwic2FnZW1ha2VyOlVwZGF0ZUNvbnRleHRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZURldmljZUZsZWV0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEZXZpY2VGbGVldCA9IFwic2FnZW1ha2VyOlVwZGF0ZURldmljZUZsZWV0XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVEZXZpY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEZXZpY2VzID0gXCJzYWdlbWFrZXI6VXBkYXRlRGV2aWNlc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlRG9tYWluICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEb21haW4gPSBcInNhZ2VtYWtlcjpVcGRhdGVEb21haW5cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFbmRwb2ludCA9IFwic2FnZW1ha2VyOlVwZGF0ZUVuZHBvaW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVFbmRwb2ludFdlaWdodHNBbmRDYXBhY2l0aWVzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFbmRwb2ludFdlaWdodHNBbmRDYXBhY2l0aWVzID1cblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVFbmRwb2ludFdlaWdodHNBbmRDYXBhY2l0aWVzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVFeHBlcmltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFeHBlcmltZW50ID0gXCJzYWdlbWFrZXI6VXBkYXRlRXhwZXJpbWVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlRmVhdHVyZUdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGZWF0dXJlR3JvdXAgPSBcInNhZ2VtYWtlcjpVcGRhdGVGZWF0dXJlR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUZlYXR1cmVNZXRhZGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmVhdHVyZU1ldGFkYXRhID0gXCJzYWdlbWFrZXI6VXBkYXRlRmVhdHVyZU1ldGFkYXRhXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVIdWIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUh1YiA9IFwic2FnZW1ha2VyOlVwZGF0ZUh1YlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlSHViQ29udGVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSHViQ29udGVudCA9IFwic2FnZW1ha2VyOlVwZGF0ZUh1YkNvbnRlbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUh1YkNvbnRlbnRSZWZlcmVuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUh1YkNvbnRlbnRSZWZlcmVuY2UgPVxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUh1YkNvbnRlbnRSZWZlcmVuY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUltYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbWFnZSA9IFwic2FnZW1ha2VyOlVwZGF0ZUltYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVJbWFnZVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUltYWdlVmVyc2lvbiA9IFwic2FnZW1ha2VyOlVwZGF0ZUltYWdlVmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbmZlcmVuY2VDb21wb25lbnQgPVxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUluZmVyZW5jZUNvbXBvbmVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50UnVudGltZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50UnVudGltZUNvbmZpZyA9XG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50UnVudGltZUNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudCA9XG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlTWxmbG93QXBwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNbGZsb3dBcHAgPSBcInNhZ2VtYWtlcjpVcGRhdGVNbGZsb3dBcHBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZU1sZmxvd1RyYWNraW5nU2VydmVyICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNbGZsb3dUcmFja2luZ1NlcnZlciA9XG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZU1vZGVsQ2FyZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTW9kZWxDYXJkID0gXCJzYWdlbWFrZXI6VXBkYXRlTW9kZWxDYXJkXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVNb2RlbFBhY2thZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vZGVsUGFja2FnZSA9IFwic2FnZW1ha2VyOlVwZGF0ZU1vZGVsUGFja2FnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlTW9uaXRvcmluZ0FsZXJ0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNb25pdG9yaW5nQWxlcnQgPSBcInNhZ2VtYWtlcjpVcGRhdGVNb25pdG9yaW5nQWxlcnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZU1vbml0b3JpbmdTY2hlZHVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTW9uaXRvcmluZ1NjaGVkdWxlID1cblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVNb25pdG9yaW5nU2NoZWR1bGVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZU5vdGVib29rSW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU5vdGVib29rSW5zdGFuY2UgPSBcInNhZ2VtYWtlcjpVcGRhdGVOb3RlYm9va0luc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVQYXJ0bmVyQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQYXJ0bmVyQXBwID0gXCJzYWdlbWFrZXI6VXBkYXRlUGFydG5lckFwcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlUGlwZWxpbmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBpcGVsaW5lID0gXCJzYWdlbWFrZXI6VXBkYXRlUGlwZWxpbmVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVBpcGVsaW5lRXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQaXBlbGluZUV4ZWN1dGlvbiA9IFwic2FnZW1ha2VyOlVwZGF0ZVBpcGVsaW5lRXhlY3V0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVQaXBlbGluZVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBpcGVsaW5lVmVyc2lvbiA9IFwic2FnZW1ha2VyOlVwZGF0ZVBpcGVsaW5lVmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlUHJvamVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvamVjdCA9IFwic2FnZW1ha2VyOlVwZGF0ZVByb2plY3RcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVJld2FyZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmV3YXJkID0gXCJzYWdlbWFrZXI6VXBkYXRlUmV3YXJkXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVTaGFyZWRNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2hhcmVkTW9kZWwgPSBcInNhZ2VtYWtlcjpVcGRhdGVTaGFyZWRNb2RlbFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlU3BhY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNwYWNlID0gXCJzYWdlbWFrZXI6VXBkYXRlU3BhY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVRyYWluaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUcmFpbmluZ0pvYiA9IFwic2FnZW1ha2VyOlVwZGF0ZVRyYWluaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVUcmlhbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVHJpYWwgPSBcInNhZ2VtYWtlcjpVcGRhdGVUcmlhbFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlVHJpYWxDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRyaWFsQ29tcG9uZW50ID0gXCJzYWdlbWFrZXI6VXBkYXRlVHJpYWxDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVVzZXJQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVVc2VyUHJvZmlsZSA9IFwic2FnZW1ha2VyOlVwZGF0ZVVzZXJQcm9maWxlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVXb3JrZm9yY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVdvcmtmb3JjZSA9IFwic2FnZW1ha2VyOlVwZGF0ZVdvcmtmb3JjZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlV29ya3RlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVdvcmt0ZWFtID0gXCJzYWdlbWFrZXI6VXBkYXRlV29ya3RlYW1cIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkFjY2Vzc01vZGVsUGFja2FnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkJhdGNoRGVzY3JpYmVNb2RlbFBhY2thZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5CYXRjaEdldE1ldHJpY3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5CYXRjaEdldFJlY29yZCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNhbGxXaXRoQmVhcmVyVG9rZW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVIdWJDb250ZW50UHJlc2lnbmVkVXJscyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQUlCZW5jaG1hcmtKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUFJUmVjb21tZW5kYXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUFJV29ya2xvYWRDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUFjdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQWxnb3JpdGhtLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUFwcEltYWdlQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVBcnRpZmFjdCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQXV0b01MSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVBdXRvTUxKb2JWMixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQ2x1c3Rlcixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQ2x1c3RlckV2ZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVDbHVzdGVySW5mZXJlbmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVDbHVzdGVyTm9kZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQ29kZVJlcG9zaXRvcnksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUNvbXBpbGF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVDb21wdXRlUXVvdGEsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUNvbnRleHQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRGV2aWNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVEZXZpY2VGbGVldCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRG9tYWluLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVFZGdlRGVwbG95bWVudFBsYW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUVkZ2VQYWNrYWdpbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUVuZHBvaW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVFbmRwb2ludENvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRXhwZXJpbWVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRmVhdHVyZUdyb3VwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVGZWF0dXJlTWV0YWRhdGEsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUZsb3dEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVIdWIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUh1YkNvbnRlbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUh1bWFuTG9vcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlSHVtYW5UYXNrVWksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVJbWFnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlSW1hZ2VWZXJzaW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVJbmZlcmVuY2VDb21wb25lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUluZmVyZW5jZUV4cGVyaW1lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVKb2JTY2hlbWFWZXJzaW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVMYWJlbGluZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTGluZWFnZUdyb3VwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNbGZsb3dBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU1sZmxvd1RyYWNraW5nU2VydmVyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNb2RlbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTW9kZWxDYXJkLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNb2RlbENhcmRFeHBvcnRKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNb2RlbFBhY2thZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU1vZGVsUGFja2FnZUdyb3VwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNb25pdG9yaW5nU2NoZWR1bGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU5vdGVib29rSW5zdGFuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU9wdGltaXphdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlUGFydG5lckFwcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlUGlwZWxpbmUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVBpcGVsaW5lRGVmaW5pdGlvbkZvckV4ZWN1dGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlUGlwZWxpbmVFeGVjdXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVByb2Nlc3NpbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVByb2plY3QsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVJlc2VydmVkQ2FwYWNpdHksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVNoYXJlZE1vZGVsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVTcGFjZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVTdWJzY3JpYmVkV29ya3RlYW0sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVRyYWluaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVUcmFpbmluZ1BsYW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVRyYW5zZm9ybUpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlVHJpYWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVRyaWFsQ29tcG9uZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVVc2VyUHJvZmlsZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlV29ya2ZvcmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVXb3JrdGVhbSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLmFjdGlvbkdldERlcGxveW1lbnRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuYWN0aW9uR2V0RGV2aWNlRmxlZXRSZXBvcnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5hY3Rpb25HZXREZXZpY2VSZWdpc3RyYXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5hY3Rpb25HZXRMaW5lYWdlR3JvdXBQb2xpY3ksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5hY3Rpb25HZXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLmFjdGlvbkdldFJlY29yZCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLmFjdGlvbkdldFJlc291cmNlUG9saWN5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuYWN0aW9uR2V0U2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW9TdGF0dXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5hY3Rpb25HZXRTY2FsaW5nQ29uZmlndXJhdGlvblJlY29tbWVuZGF0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuYWN0aW9uR2V0U2VhcmNoU3VnZ2VzdGlvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5JbnZva2VFbmRwb2ludCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkludm9rZUVuZHBvaW50QXN5bmMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5JbnZva2VFbmRwb2ludFdpdGhSZXNwb25zZVN0cmVhbSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlJlbmRlclVpVGVtcGxhdGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TZWFyY2gsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TZWFyY2hUcmFpbmluZ1BsYW5PZmZlcmluZ3MsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5BZGRBc3NvY2lhdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkFzc29jaWF0ZVRyaWFsQ29tcG9uZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQXR0YWNoQ2x1c3Rlck5vZGVWb2x1bWUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5CYXRjaEFkZENsdXN0ZXJOb2Rlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQmF0Y2hQdXRNZXRyaWNzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQmF0Y2hXcml0ZVJlY29yZCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNhbGxNbGZsb3dBcHBBcGksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DYWxsUGFydG5lckFwcEFwaSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNvbXBsZXRlUm9sbG91dCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUFJQmVuY2htYXJrSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQUlSZWNvbW1lbmRhdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUFJV29ya2xvYWRDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVBY3Rpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVBbGdvcml0aG0sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVBcHBJbWFnZUNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUFydGlmYWN0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQXV0b01MSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQXV0b01MSm9iVjIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVDbHVzdGVyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUNvZGVSZXBvc2l0b3J5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQ29tcGlsYXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVDb21wdXRlUXVvdGEsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVDb250ZXh0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlRGV2aWNlRmxlZXQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVEb21haW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVFZGdlRGVwbG95bWVudFBsYW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVFZGdlRGVwbG95bWVudFN0YWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlRWRnZVBhY2thZ2luZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUVuZHBvaW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlRW5kcG9pbnRDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVFeHBlcmltZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlRmVhdHVyZUdyb3VwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlRmxvd0RlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVIdWIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVIdWJDb250ZW50UmVmZXJlbmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlSHVtYW5UYXNrVWksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUltYWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlSW1hZ2VWZXJzaW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlSW5mZXJlbmNlQ29tcG9uZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlSW5mZXJlbmNlRXhwZXJpbWVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUxhYmVsaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTGluZWFnZUdyb3VwUG9saWN5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTWxmbG93QXBwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVNb2RlbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVNb2RlbENhcmQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVNb2RlbENhcmRFeHBvcnRKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU1vZGVsUGFja2FnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU1vZGVsUGFja2FnZUdyb3VwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU1vbml0b3JpbmdTY2hlZHVsZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU5vdGVib29rSW5zdGFuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlT3B0aW1pemF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlUGFydG5lckFwcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVBhcnRuZXJBcHBQcmVzaWduZWRVcmwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVQaXBlbGluZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVByZXNpZ25lZERvbWFpblVybCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVByZXNpZ25lZE1sZmxvd0FwcFVybCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVByZXNpZ25lZE1sZmxvd1RyYWNraW5nU2VydmVyVXJsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlUHJlc2lnbmVkTm90ZWJvb2tJbnN0YW5jZVVybCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVByb2Nlc3NpbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVQcm9qZWN0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlUmVzZXJ2ZWRDYXBhY2l0eSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVNoYXJlZE1vZGVsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlU3BhY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVTdHVkaW9MaWZlY3ljbGVDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVUcmFpbmluZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVRyYWluaW5nUGxhbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVRyYW5zZm9ybUpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVRyaWFsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlVHJpYWxDb21wb25lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVVc2VyUHJvZmlsZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVdvcmtmb3JjZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVdvcmt0ZWFtLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQUlCZW5jaG1hcmtKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVBSVJlY29tbWVuZGF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQUlXb3JrbG9hZENvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUFjdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUFsZ29yaXRobSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUFwcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUFwcEltYWdlQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQXJ0aWZhY3QsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVBc3NvY2lhdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUNsdXN0ZXIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQ29kZVJlcG9zaXRvcnksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVDb21waWxhdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUNvbXB1dGVRdW90YSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUNvbnRleHQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVEZXZpY2VGbGVldCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZURvbWFpbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUVkZ2VEZXBsb3ltZW50UGxhbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUVkZ2VEZXBsb3ltZW50U3RhZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVFbmRwb2ludCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUVuZHBvaW50Q29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlRXhwZXJpbWVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUZlYXR1cmVHcm91cCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUZsb3dEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlSHViLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlSHViQ29udGVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUh1YkNvbnRlbnRSZWZlcmVuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVIdW1hbkxvb3AsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVIdW1hblRhc2tVaSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlSW1hZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVJbWFnZVZlcnNpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVJbmZlcmVuY2VDb21wb25lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVJbmZlcmVuY2VFeHBlcmltZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTGluZWFnZUdyb3VwUG9saWN5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTWxmbG93QXBwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVNb2RlbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVNb2RlbENhcmQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU1vZGVsUGFja2FnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU1vZGVsUGFja2FnZUdyb3VwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTW9kZWxQYWNrYWdlR3JvdXBQb2xpY3ksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTW9uaXRvcmluZ1NjaGVkdWxlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTm90ZWJvb2tJbnN0YW5jZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVPcHRpbWl6YXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVQYXJ0bmVyQXBwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlUGlwZWxpbmUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVQcm9jZXNzaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlUHJvamVjdCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVJlY29yZCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVJlc291cmNlUG9saWN5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlU3BhY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVTdHVkaW9MaWZlY3ljbGVDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVUcmFpbmluZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVRyaWFsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlVHJpYWxDb21wb25lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVVc2VyUHJvZmlsZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVdvcmtmb3JjZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVdvcmt0ZWFtLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVwbG95SHViTW9kZWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXJlZ2lzdGVyRGV2aWNlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRldGFjaENsdXN0ZXJOb2RlVm9sdW1lLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGlzYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGlzYXNzb2NpYXRlVHJpYWxDb21wb25lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5FbmFibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpbyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkltcG9ydEh1YkNvbnRlbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5QdXRMaW5lYWdlR3JvdXBQb2xpY3ksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5QdXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlB1dFJlY29yZCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlB1dFJlc291cmNlUG9saWN5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuUmVnaXN0ZXJEZXZpY2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuUmV0cnlQaXBlbGluZUV4ZWN1dGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlNhbXBsZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlNhbXBsZVdpdGhSZXNwb25zZVN0cmVhbSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlNlbmRIZWFydGJlYXQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwRmFpbHVyZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBTdWNjZXNzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU2VuZFNoYXJlZE1vZGVsRXZlbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdGFydENsdXN0ZXJIZWFsdGhDaGVjayxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0YXJ0RWRnZURlcGxveW1lbnRTdGFnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0YXJ0SHVtYW5Mb29wLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RhcnRJbmZlcmVuY2VFeHBlcmltZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RhcnRNbGZsb3dUcmFja2luZ1NlcnZlcixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0YXJ0TW9uaXRvcmluZ1NjaGVkdWxlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RhcnROb3RlYm9va0luc3RhbmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RhcnRQaXBlbGluZUV4ZWN1dGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0YXJ0U2Vzc2lvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BBSUJlbmNobWFya0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BBSVJlY29tbWVuZGF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcEF1dG9NTEpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BDb21waWxhdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BFZGdlRGVwbG95bWVudFN0YWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcEVkZ2VQYWNrYWdpbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wSHVtYW5Mb29wLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcEluZmVyZW5jZUV4cGVyaW1lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcEpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BMYWJlbGluZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BNbGZsb3dUcmFja2luZ1NlcnZlcixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BNb25pdG9yaW5nU2NoZWR1bGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wTm90ZWJvb2tJbnN0YW5jZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BPcHRpbWl6YXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wUGlwZWxpbmVFeGVjdXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wUHJvY2Vzc2luZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BUcmFpbmluZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BUcmFuc2Zvcm1Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5UcmFpbkh1Yk1vZGVsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlQWN0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlQXBwSW1hZ2VDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVBcnRpZmFjdCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUNsdXN0ZXIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVDbHVzdGVySW5mZXJlbmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUNsdXN0ZXJTb2Z0d2FyZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUNvZGVSZXBvc2l0b3J5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlQ29tcHV0ZVF1b3RhLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlQ29udGV4dCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZURldmljZUZsZWV0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlRGV2aWNlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZURvbWFpbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUVuZHBvaW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlRW5kcG9pbnRXZWlnaHRzQW5kQ2FwYWNpdGllcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUV4cGVyaW1lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVGZWF0dXJlR3JvdXAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVGZWF0dXJlTWV0YWRhdGEsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVIdWIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVIdWJDb250ZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlSHViQ29udGVudFJlZmVyZW5jZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUltYWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlSW1hZ2VWZXJzaW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50UnVudGltZUNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUluZmVyZW5jZUV4cGVyaW1lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVNbGZsb3dBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVNbGZsb3dUcmFja2luZ1NlcnZlcixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZU1vZGVsQ2FyZCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZU1vZGVsUGFja2FnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZU1vbml0b3JpbmdBbGVydCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZU1vbml0b3JpbmdTY2hlZHVsZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZU5vdGVib29rSW5zdGFuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlUGFydG5lckFwcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVBpcGVsaW5lLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlUGlwZWxpbmVFeGVjdXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVQaXBlbGluZVZlcnNpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVQcm9qZWN0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlUmV3YXJkLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlU2hhcmVkTW9kZWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVTcGFjZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVRyYWluaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlVHJpYWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVUcmlhbENvbXBvbmVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVVzZXJQcm9maWxlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlV29ya2ZvcmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlV29ya3RlYW0sXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEFJQmVuY2htYXJrSm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RBSVJlY29tbWVuZGF0aW9uSm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RBSVdvcmtsb2FkQ29uZmlncyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RBY3Rpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEFsZ29yaXRobXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0QWxpYXNlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RBcHBJbWFnZUNvbmZpZ3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0QXBwcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RBcnRpZmFjdHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0QXNzb2NpYXRpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEF1dG9NTEpvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Q2FuZGlkYXRlc0ZvckF1dG9NTEpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RDbHVzdGVyRXZlbnRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdENsdXN0ZXJOb2Rlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RDbHVzdGVyU2NoZWR1bGVyQ29uZmlncyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RDbHVzdGVycyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RDb2RlUmVwb3NpdG9yaWVzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdENvbXBpbGF0aW9uSm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RDb21wdXRlUXVvdGFzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdENvbnRleHRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0RGV2aWNlRmxlZXRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdERldmljZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0RG9tYWlucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RFZGdlRGVwbG95bWVudFBsYW5zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEVkZ2VQYWNrYWdpbmdKb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEVuZHBvaW50Q29uZmlncyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RFbmRwb2ludHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0RXhwZXJpbWVudHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0RmVhdHVyZUdyb3Vwcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RGbG93RGVmaW5pdGlvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SHViQ29udGVudFZlcnNpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEh1YkNvbnRlbnRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEh1YnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SHVtYW5Mb29wcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RIdW1hblRhc2tVaXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEltYWdlVmVyc2lvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SW1hZ2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEluZmVyZW5jZUNvbXBvbmVudHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SW5mZXJlbmNlRXhwZXJpbWVudHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iU3RlcHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RKb2JTY2hlbWFWZXJzaW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RKb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdExhYmVsaW5nSm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RMYWJlbGluZ0pvYnNGb3JXb3JrdGVhbSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RMaW5lYWdlR3JvdXBzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1sZmxvd0FwcHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TWxmbG93VHJhY2tpbmdTZXJ2ZXJzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vZGVsQmlhc0pvYkRlZmluaXRpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vZGVsQ2FyZEV4cG9ydEpvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9kZWxDYXJkVmVyc2lvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9kZWxDYXJkcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9kZWxNZXRhZGF0YSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb2RlbFBhY2thZ2VHcm91cHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9kZWxQYWNrYWdlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb2RlbHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9uaXRvcmluZ0FsZXJ0SGlzdG9yeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb25pdG9yaW5nQWxlcnRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vbml0b3JpbmdFeGVjdXRpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vbml0b3JpbmdTY2hlZHVsZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Tm90ZWJvb2tJbnN0YW5jZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0T3B0aW1pemF0aW9uSm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RQYXJ0bmVyQXBwcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RQaXBlbGluZUV4ZWN1dGlvblN0ZXBzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFBpcGVsaW5lRXhlY3V0aW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RQaXBlbGluZVBhcmFtZXRlcnNGb3JFeGVjdXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0UGlwZWxpbmVWZXJzaW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RQaXBlbGluZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0UHJvY2Vzc2luZ0pvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0UHJvamVjdHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0UmVjb3Jkcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RSZXNvdXJjZUNhdGFsb2dzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFNoYXJlZE1vZGVsRXZlbnRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFNoYXJlZE1vZGVsVmVyc2lvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0U2hhcmVkTW9kZWxzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFNwYWNlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RTdGFnZURldmljZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0U3R1ZGlvTGlmZWN5Y2xlQ29uZmlncyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RTdWJzY3JpYmVkV29ya3RlYW1zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFRhZ3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0VHJhaW5pbmdKb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFRyYWluaW5nSm9ic0Zvckh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFRyYWluaW5nUGxhbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0VHJhbnNmb3JtSm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RUcmlhbENvbXBvbmVudHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0VHJpYWxzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFVsdHJhU2VydmVyc0J5UmVzZXJ2ZWRDYXBhY2l0eSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RVc2VyUHJvZmlsZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0V29ya2ZvcmNlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RXb3JrdGVhbXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5RdWVyeUxpbmVhZ2UsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQWRkVGFncyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVRhZ3MsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhY3Rpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFjdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBBY3Rpb25OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhY3Rpb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYWN0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBY3Rpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFjdGlvbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhY3Rpb25OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhaS1iZW5jaG1hcmstam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBaUJlbmNobWFya0pvYkFyblByb3BzIHtcblx0LyoqIFRoZSBBSUJlbmNobWFya0pvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFpQmVuY2htYXJrSm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFpLWJlbmNobWFyay1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFpQmVuY2htYXJrSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBSUJlbmNobWFya0pvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhaUJlbmNobWFya0pvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFpLXJlY29tbWVuZGF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQWlSZWNvbW1lbmRhdGlvbkpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBBSVJlY29tbWVuZGF0aW9uSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWlSZWNvbW1lbmRhdGlvbkpvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhaS1yZWNvbW1lbmRhdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFpUmVjb21tZW5kYXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFJUmVjb21tZW5kYXRpb25Kb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYWlSZWNvbW1lbmRhdGlvbkpvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFpLXdvcmtsb2FkLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQWlXb3JrbG9hZENvbmZpZ0FyblByb3BzIHtcblx0LyoqIFRoZSBBSVdvcmtsb2FkQ29uZmlnTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWlXb3JrbG9hZENvbmZpZ05hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhaS13b3JrbG9hZC1jb25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFpV29ya2xvYWRDb25maWdBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFJV29ya2xvYWRDb25maWdOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYWlXb3JrbG9hZENvbmZpZ05hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFsZ29yaXRobSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQWxnb3JpdGhtQXJuUHJvcHMge1xuXHQvKiogVGhlIEFsZ29yaXRobU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFsZ29yaXRobU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhbGdvcml0aG0gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFsZ29yaXRobUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQWxnb3JpdGhtTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFsZ29yaXRobU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFwcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQXBwQXJuUHJvcHMge1xuXHQvKiogVGhlIERvbWFpbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkb21haW5JZDogc3RyaW5nO1xuXHQvKiogVGhlIFVzZXJQcm9maWxlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdXNlclByb2ZpbGVOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQXBwVHlwZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXBwVHlwZTogc3RyaW5nO1xuXHQvKiogVGhlIEFwcE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFwcE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhcHAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFwcEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRG9tYWluSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5JZDogc3RyaW5nO1xuXHQvKiogVGhlIFVzZXJQcm9maWxlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHVzZXJQcm9maWxlTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIEFwcFR5cGUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhcHBUeXBlOiBzdHJpbmc7XG5cdC8qKiBUaGUgQXBwTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFwcE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFwcC1pbWFnZS1jb25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFwcEltYWdlQ29uZmlnQXJuUHJvcHMge1xuXHQvKiogVGhlIEFwcEltYWdlQ29uZmlnTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXBwSW1hZ2VDb25maWdOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXBwLWltYWdlLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQXBwSW1hZ2VDb25maWdBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFwcEltYWdlQ29uZmlnTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFwcEltYWdlQ29uZmlnTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXJ0aWZhY3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFydGlmYWN0QXJuUHJvcHMge1xuXHQvKiogVGhlIEhhc2hPZkFydGlmYWN0U291cmNlIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBoYXNoT2ZBcnRpZmFjdFNvdXJjZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFydGlmYWN0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBcnRpZmFjdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSGFzaE9mQXJ0aWZhY3RTb3VyY2UgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBoYXNoT2ZBcnRpZmFjdFNvdXJjZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXV0b21sLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQXV0b21sSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEF1dG9NTEpvYkpvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGF1dG9NbEpvYkpvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhdXRvbWwtam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBdXRvbWxKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEF1dG9NTEpvYkpvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhdXRvTWxKb2JKb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjbHVzdGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDbHVzdGVyQXJuUHJvcHMge1xuXHQvKiogVGhlIENsdXN0ZXJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2x1c3RlcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY2x1c3RlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ2x1c3RlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2x1c3RlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2x1c3RlcklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjbHVzdGVyLXNjaGVkdWxlci1jb25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNsdXN0ZXJTY2hlZHVsZXJDb25maWdBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0lkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbHVzdGVyU2NoZWR1bGVyQ29uZmlnSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjbHVzdGVyLXNjaGVkdWxlci1jb25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNsdXN0ZXJTY2hlZHVsZXJDb25maWdBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENsdXN0ZXJTY2hlZHVsZXJDb25maWdJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJTY2hlZHVsZXJDb25maWdJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY29kZS1yZXBvc2l0b3J5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDb2RlUmVwb3NpdG9yeUFyblByb3BzIHtcblx0LyoqIFRoZSBDb2RlUmVwb3NpdG9yeU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvZGVSZXBvc2l0b3J5TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNvZGUtcmVwb3NpdG9yeSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ29kZVJlcG9zaXRvcnlBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENvZGVSZXBvc2l0b3J5TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvZGVSZXBvc2l0b3J5TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY29tcGlsYXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDb21waWxhdGlvbkpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBDb21waWxhdGlvbkpvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbXBpbGF0aW9uSm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNvbXBpbGF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ29tcGlsYXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENvbXBpbGF0aW9uSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbXBpbGF0aW9uSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY29tcHV0ZS1xdW90YSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ29tcHV0ZVF1b3RhQXJuUHJvcHMge1xuXHQvKiogVGhlIENvbXB1dGVRdW90YUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb21wdXRlUXVvdGFJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNvbXB1dGUtcXVvdGEgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNvbXB1dGVRdW90YUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29tcHV0ZVF1b3RhSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjb21wdXRlUXVvdGFJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY29udGV4dCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ29udGV4dEFyblByb3BzIHtcblx0LyoqIFRoZSBDb250ZXh0TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29udGV4dE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjb250ZXh0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDb250ZXh0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDb250ZXh0TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbnRleHROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkYXRhLXF1YWxpdHktam9iLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkYXRhUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZGF0YS1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkYXRhUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkZXZpY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckRldmljZUFyblByb3BzIHtcblx0LyoqIFRoZSBEZXZpY2VGbGVldE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRldmljZUZsZWV0TmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIERldmljZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRldmljZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkZXZpY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckRldmljZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRGV2aWNlRmxlZXROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGV2aWNlRmxlZXROYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRGV2aWNlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRldmljZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRldmljZS1mbGVldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRGV2aWNlRmxlZXRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRGV2aWNlRmxlZXROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkZXZpY2VGbGVldE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkZXZpY2UtZmxlZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckRldmljZUZsZWV0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEZXZpY2VGbGVldE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkZXZpY2VGbGVldE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRvbWFpbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRG9tYWluQXJuUHJvcHMge1xuXHQvKiogVGhlIERvbWFpbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkb21haW5JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRvbWFpbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRG9tYWluQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRvbWFpbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBlZGdlLWRlcGxveW1lbnQtcGxhbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRWRnZURlcGxveW1lbnRQbGFuQXJuUHJvcHMge1xuXHQvKiogVGhlIEVkZ2VEZXBsb3ltZW50UGxhbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGVkZ2VEZXBsb3ltZW50UGxhbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBlZGdlLWRlcGxveW1lbnQtcGxhbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRWRnZURlcGxveW1lbnRQbGFuQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBFZGdlRGVwbG95bWVudFBsYW5OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZWRnZURlcGxveW1lbnRQbGFuTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZWRnZS1wYWNrYWdpbmctam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFZGdlUGFja2FnaW5nSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEVkZ2VQYWNrYWdpbmdKb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBlZGdlUGFja2FnaW5nSm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGVkZ2UtcGFja2FnaW5nLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRWRnZVBhY2thZ2luZ0pvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRWRnZVBhY2thZ2luZ0pvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBlZGdlUGFja2FnaW5nSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZW5kcG9pbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckVuZHBvaW50QXJuUHJvcHMge1xuXHQvKiogVGhlIEVuZHBvaW50TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZW5kcG9pbnROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZW5kcG9pbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckVuZHBvaW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBFbmRwb2ludE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBlbmRwb2ludE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGVuZHBvaW50LWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRW5kcG9pbnRDb25maWdBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRW5kcG9pbnRDb25maWdOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBlbmRwb2ludENvbmZpZ05hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBlbmRwb2ludC1jb25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckVuZHBvaW50Q29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBFbmRwb2ludENvbmZpZ05hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBlbmRwb2ludENvbmZpZ05hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGV4cGVyaW1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckV4cGVyaW1lbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRXhwZXJpbWVudE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGV4cGVyaW1lbnROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZXhwZXJpbWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRXhwZXJpbWVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRXhwZXJpbWVudE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBleHBlcmltZW50TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZXhwZXJpbWVudC10cmlhbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRXhwZXJpbWVudFRyaWFsQXJuUHJvcHMge1xuXHQvKiogVGhlIFRyaWFsTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdHJpYWxOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZXhwZXJpbWVudC10cmlhbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRXhwZXJpbWVudFRyaWFsQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBUcmlhbE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0cmlhbE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGV4cGVyaW1lbnQtdHJpYWwtY29tcG9uZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFeHBlcmltZW50VHJpYWxDb21wb25lbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVHJpYWxDb21wb25lbnROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0cmlhbENvbXBvbmVudE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBleHBlcmltZW50LXRyaWFsLWNvbXBvbmVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRXhwZXJpbWVudFRyaWFsQ29tcG9uZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBUcmlhbENvbXBvbmVudE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0cmlhbENvbXBvbmVudE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGZlYXR1cmUtZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckZlYXR1cmVHcm91cEFyblByb3BzIHtcblx0LyoqIFRoZSBGZWF0dXJlR3JvdXBOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBmZWF0dXJlR3JvdXBOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZmVhdHVyZS1ncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRmVhdHVyZUdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBGZWF0dXJlR3JvdXBOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZmVhdHVyZUdyb3VwTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZmxvdy1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJGbG93RGVmaW5pdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBGbG93RGVmaW5pdGlvbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGZsb3dEZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGZsb3ctZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRmxvd0RlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEZsb3dEZWZpbml0aW9uTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGZsb3dEZWZpbml0aW9uTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaHViIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJIdWJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSHViTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaHViTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGh1YiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySHViQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBIdWJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaHViTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaHViLWNvbnRlbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckh1YkNvbnRlbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSHViTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaHViTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIEh1YkNvbnRlbnRUeXBlIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBodWJDb250ZW50VHlwZTogc3RyaW5nO1xuXHQvKiogVGhlIEh1YkNvbnRlbnROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBodWJDb250ZW50TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGh1Yi1jb250ZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJIdWJDb250ZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBIdWJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaHViTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIEh1YkNvbnRlbnRUeXBlIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaHViQ29udGVudFR5cGU6IHN0cmluZztcblx0LyoqIFRoZSBIdWJDb250ZW50TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGh1YkNvbnRlbnROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBodW1hbi1sb29wIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJIdW1hbkxvb3BBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSHVtYW5Mb29wTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaHVtYW5Mb29wTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGh1bWFuLWxvb3AgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckh1bWFuTG9vcEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSHVtYW5Mb29wTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGh1bWFuTG9vcE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGh1bWFuLXRhc2stdWkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckh1bWFuVGFza1VpQXJuUHJvcHMge1xuXHQvKiogVGhlIEh1bWFuVGFza1VpTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaHVtYW5UYXNrVWlOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaHVtYW4tdGFzay11aSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySHVtYW5UYXNrVWlBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEh1bWFuVGFza1VpTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGh1bWFuVGFza1VpTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaHlwZXItcGFyYW1ldGVyLXR1bmluZy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaHlwZXItcGFyYW1ldGVyLXR1bmluZy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBIeXBlclBhcmFtZXRlclR1bmluZ0pvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBoeXBlclBhcmFtZXRlclR1bmluZ0pvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGltYWdlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJJbWFnZUFyblByb3BzIHtcblx0LyoqIFRoZSBJbWFnZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGltYWdlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGltYWdlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJJbWFnZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSW1hZ2VOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaW1hZ2VOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBpbWFnZS12ZXJzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJJbWFnZVZlcnNpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSW1hZ2VOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpbWFnZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBWZXJzaW9uIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaW1hZ2UtdmVyc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySW1hZ2VWZXJzaW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJbWFnZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpbWFnZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBWZXJzaW9uIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaW5mZXJlbmNlLWNvbXBvbmVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySW5mZXJlbmNlQ29tcG9uZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIEluZmVyZW5jZUNvbXBvbmVudE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGluZmVyZW5jZUNvbXBvbmVudE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBpbmZlcmVuY2UtY29tcG9uZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJJbmZlcmVuY2VDb21wb25lbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEluZmVyZW5jZUNvbXBvbmVudE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpbmZlcmVuY2VDb21wb25lbnROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBpbmZlcmVuY2UtZXhwZXJpbWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySW5mZXJlbmNlRXhwZXJpbWVudEFyblByb3BzIHtcblx0LyoqIFRoZSBJbmZlcmVuY2VFeHBlcmltZW50TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaW5mZXJlbmNlRXhwZXJpbWVudE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBpbmZlcmVuY2UtZXhwZXJpbWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySW5mZXJlbmNlRXhwZXJpbWVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSW5mZXJlbmNlRXhwZXJpbWVudE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpbmZlcmVuY2VFeHBlcmltZW50TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaW5mZXJlbmNlLXJlY29tbWVuZGF0aW9ucy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYkFyblByb3BzIHtcblx0LyoqIFRoZSBJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaW5mZXJlbmNlLXJlY29tbWVuZGF0aW9ucy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEpvYkNhdGVnb3J5IGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBqb2JDYXRlZ29yeTogc3RyaW5nO1xuXHQvKiogVGhlIEpvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGpvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBqb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSm9iQ2F0ZWdvcnkgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBqb2JDYXRlZ29yeTogc3RyaW5nO1xuXHQvKiogVGhlIEpvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBqb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBsYWJlbGluZy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckxhYmVsaW5nSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIExhYmVsaW5nSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbGFiZWxpbmdKb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbGFiZWxpbmctam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJMYWJlbGluZ0pvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTGFiZWxpbmdKb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbGFiZWxpbmdKb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBsaW5lYWdlLWdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJMaW5lYWdlR3JvdXBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTGluZWFnZUdyb3VwTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbGluZWFnZUdyb3VwTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGxpbmVhZ2UtZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckxpbmVhZ2VHcm91cEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTGluZWFnZUdyb3VwTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGxpbmVhZ2VHcm91cE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1sZmxvdy1hcHAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1sZmxvd0FwcEFyblByb3BzIHtcblx0LyoqIFRoZSBNTGZsb3dBcHBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbUxmbG93QXBwSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtbGZsb3ctYXBwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNbGZsb3dBcHBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1MZmxvd0FwcElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbUxmbG93QXBwSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1sZmxvdy10cmFja2luZy1zZXJ2ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1sZmxvd1RyYWNraW5nU2VydmVyQXJuUHJvcHMge1xuXHQvKiogVGhlIE1sZmxvd1RyYWNraW5nU2VydmVyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbWxmbG93VHJhY2tpbmdTZXJ2ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbWxmbG93LXRyYWNraW5nLXNlcnZlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTWxmbG93VHJhY2tpbmdTZXJ2ZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1sZmxvd1RyYWNraW5nU2VydmVyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1sZmxvd1RyYWNraW5nU2VydmVyTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9kZWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsQXJuUHJvcHMge1xuXHQvKiogVGhlIE1vZGVsTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9kZWxOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNb2RlbE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtb2RlbE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLWJpYXMtam9iLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsQmlhc0pvYkRlZmluaXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTW9kZWxCaWFzSm9iRGVmaW5pdGlvbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1vZGVsQmlhc0pvYkRlZmluaXRpb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwtYmlhcy1qb2ItZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxCaWFzSm9iRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9kZWxCaWFzSm9iRGVmaW5pdGlvbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtb2RlbEJpYXNKb2JEZWZpbml0aW9uTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9kZWwtY2FyZCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxDYXJkQXJuUHJvcHMge1xuXHQvKiogVGhlIE1vZGVsQ2FyZE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1vZGVsQ2FyZE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1jYXJkIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbENhcmRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1vZGVsQ2FyZE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtb2RlbENhcmROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbC1jYXJkLWV4cG9ydC1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsQ2FyZEV4cG9ydEpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBNb2RlbENhcmROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtb2RlbENhcmROYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRXhwb3J0Sm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZXhwb3J0Sm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsLWNhcmQtZXhwb3J0LWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxDYXJkRXhwb3J0Sm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNb2RlbENhcmROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbW9kZWxDYXJkTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIEV4cG9ydEpvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBleHBvcnRKb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbC1leHBsYWluYWJpbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1leHBsYWluYWJpbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9kZWwtcGFja2FnZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxQYWNrYWdlQXJuUHJvcHMge1xuXHQvKiogVGhlIE1vZGVsUGFja2FnZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1vZGVsUGFja2FnZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1wYWNrYWdlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbFBhY2thZ2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1vZGVsUGFja2FnZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtb2RlbFBhY2thZ2VOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbC1wYWNrYWdlLWdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbFBhY2thZ2VHcm91cEFyblByb3BzIHtcblx0LyoqIFRoZSBNb2RlbFBhY2thZ2VHcm91cE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1vZGVsUGFja2FnZUdyb3VwTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsLXBhY2thZ2UtZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsUGFja2FnZUdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNb2RlbFBhY2thZ2VHcm91cE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtb2RlbFBhY2thZ2VHcm91cE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLXF1YWxpdHktam9iLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9uaXRvcmluZy1zY2hlZHVsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9uaXRvcmluZ1NjaGVkdWxlQXJuUHJvcHMge1xuXHQvKiogVGhlIE1vbml0b3JpbmdTY2hlZHVsZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1vbml0b3JpbmdTY2hlZHVsZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb25pdG9yaW5nLXNjaGVkdWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb25pdG9yaW5nU2NoZWR1bGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1vbml0b3JpbmdTY2hlZHVsZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtb25pdG9yaW5nU2NoZWR1bGVOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb25pdG9yaW5nLXNjaGVkdWxlLWFsZXJ0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb25pdG9yaW5nU2NoZWR1bGVBbGVydEFyblByb3BzIHtcblx0LyoqIFRoZSBNb25pdG9yaW5nU2NoZWR1bGVOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtb25pdG9yaW5nU2NoZWR1bGVOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9uaXRvcmluZ1NjaGVkdWxlQWxlcnROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtb25pdG9yaW5nU2NoZWR1bGVBbGVydE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb25pdG9yaW5nLXNjaGVkdWxlLWFsZXJ0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb25pdG9yaW5nU2NoZWR1bGVBbGVydEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9uaXRvcmluZ1NjaGVkdWxlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vbml0b3JpbmdTY2hlZHVsZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBNb25pdG9yaW5nU2NoZWR1bGVBbGVydE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtb25pdG9yaW5nU2NoZWR1bGVBbGVydE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG5vdGVib29rLWluc3RhbmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJOb3RlYm9va0luc3RhbmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIE5vdGVib29rSW5zdGFuY2VOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBub3RlYm9va0luc3RhbmNlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG5vdGVib29rLWluc3RhbmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJOb3RlYm9va0luc3RhbmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBOb3RlYm9va0luc3RhbmNlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG5vdGVib29rSW5zdGFuY2VOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBub3RlYm9vay1pbnN0YW5jZS1saWZlY3ljbGUtY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuUHJvcHMge1xuXHQvKiogVGhlIE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBub3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG5vdGVib29rLWluc3RhbmNlLWxpZmVjeWNsZS1jb25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ05hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG9wdGltaXphdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck9wdGltaXphdGlvbkpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBPcHRpbWl6YXRpb25Kb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBvcHRpbWl6YXRpb25Kb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgb3B0aW1pemF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyT3B0aW1pemF0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBPcHRpbWl6YXRpb25Kb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgb3B0aW1pemF0aW9uSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcGFydG5lci1hcHAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclBhcnRuZXJBcHBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQXBwSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFwcElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcGFydG5lci1hcHAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclBhcnRuZXJBcHBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFwcElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXBwSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHBpcGVsaW5lIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJQaXBlbGluZUFyblByb3BzIHtcblx0LyoqIFRoZSBQaXBlbGluZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHBpcGVsaW5lTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHBpcGVsaW5lIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJQaXBlbGluZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUGlwZWxpbmVOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcGlwZWxpbmVOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwaXBlbGluZS1leGVjdXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclBpcGVsaW5lRXhlY3V0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIFBpcGVsaW5lTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcGlwZWxpbmVOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmFuZG9tU3RyaW5nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByYW5kb21TdHJpbmc6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwaXBlbGluZS1leGVjdXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclBpcGVsaW5lRXhlY3V0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQaXBlbGluZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwaXBlbGluZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBSYW5kb21TdHJpbmcgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByYW5kb21TdHJpbmc6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHByb2Nlc3Npbmctam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJQcm9jZXNzaW5nSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIFByb2Nlc3NpbmdKb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcm9jZXNzaW5nSm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHByb2Nlc3Npbmctam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJQcm9jZXNzaW5nSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQcm9jZXNzaW5nSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByb2Nlc3NpbmdKb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwcm9qZWN0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJQcm9qZWN0QXJuUHJvcHMge1xuXHQvKiogVGhlIFByb2plY3ROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcm9qZWN0TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHByb2plY3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclByb2plY3RBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFByb2plY3ROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcHJvamVjdE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHJlc2VydmVkLWNhcGFjaXR5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJSZXNlcnZlZENhcGFjaXR5QXJuUHJvcHMge1xuXHQvKiogVGhlIFJhbmRvbVN0cmluZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmFuZG9tU3RyaW5nOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcmVzZXJ2ZWQtY2FwYWNpdHkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclJlc2VydmVkQ2FwYWNpdHlBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJhbmRvbVN0cmluZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJhbmRvbVN0cmluZzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc2FnZW1ha2VyLWNhdGFsb2cgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclNhZ2VtYWtlckNhdGFsb2dBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VDYXRhbG9nTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VDYXRhbG9nTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNhZ2VtYWtlci1jYXRhbG9nIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJTYWdlbWFrZXJDYXRhbG9nQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUNhdGFsb2dOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VDYXRhbG9nTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc2hhcmVkLW1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJTaGFyZWRNb2RlbEFyblByb3BzIHtcblx0LyoqIFRoZSBTaGFyZWRNb2RlbElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzaGFyZWRNb2RlbElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc2hhcmVkLW1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJTaGFyZWRNb2RlbEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU2hhcmVkTW9kZWxJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNoYXJlZE1vZGVsSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNoYXJlZC1tb2RlbC1ldmVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyU2hhcmVkTW9kZWxFdmVudEFyblByb3BzIHtcblx0LyoqIFRoZSBFdmVudElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBldmVudElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc2hhcmVkLW1vZGVsLWV2ZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJTaGFyZWRNb2RlbEV2ZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBFdmVudElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZXZlbnRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc3BhY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclNwYWNlQXJuUHJvcHMge1xuXHQvKiogVGhlIERvbWFpbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkb21haW5JZDogc3RyaW5nO1xuXHQvKiogVGhlIFNwYWNlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc3BhY2VOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc3BhY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclNwYWNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRvbWFpbklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgU3BhY2VOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc3BhY2VOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzdHVkaW8tbGlmZWN5Y2xlLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuUHJvcHMge1xuXHQvKiogVGhlIFN0dWRpb0xpZmVjeWNsZUNvbmZpZ05hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHN0dWRpb0xpZmVjeWNsZUNvbmZpZ05hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzdHVkaW8tbGlmZWN5Y2xlLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTdHVkaW9MaWZlY3ljbGVDb25maWdOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc3R1ZGlvTGlmZWN5Y2xlQ29uZmlnTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdHJhaW5pbmctam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJUcmFpbmluZ0pvYkFyblByb3BzIHtcblx0LyoqIFRoZSBUcmFpbmluZ0pvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRyYWluaW5nSm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHRyYWluaW5nLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyVHJhaW5pbmdKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFRyYWluaW5nSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRyYWluaW5nSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdHJhaW5pbmctcGxhbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyVHJhaW5pbmdQbGFuQXJuUHJvcHMge1xuXHQvKiogVGhlIFRyYWluaW5nUGxhbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRyYWluaW5nUGxhbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB0cmFpbmluZy1wbGFuIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJUcmFpbmluZ1BsYW5Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFRyYWluaW5nUGxhbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0cmFpbmluZ1BsYW5OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB0cmFuc2Zvcm0tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJUcmFuc2Zvcm1Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVHJhbnNmb3JtSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdHJhbnNmb3JtSm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHRyYW5zZm9ybS1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclRyYW5zZm9ybUpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgVHJhbnNmb3JtSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRyYW5zZm9ybUpvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHVzZXItcHJvZmlsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyVXNlclByb2ZpbGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgVXNlclByb2ZpbGVOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB1c2VyUHJvZmlsZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB1c2VyLXByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclVzZXJQcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRvbWFpbklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgVXNlclByb2ZpbGVOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdXNlclByb2ZpbGVOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB3b3JrZm9yY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlcldvcmtmb3JjZUFyblByb3BzIHtcblx0LyoqIFRoZSBXb3JrZm9yY2VOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB3b3JrZm9yY2VOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgd29ya2ZvcmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJXb3JrZm9yY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFdvcmtmb3JjZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB3b3JrZm9yY2VOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB3b3JrdGVhbSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyV29ya3RlYW1Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgV29ya3RlYW1OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB3b3JrdGVhbU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB3b3JrdGVhbSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyV29ya3RlYW1Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFdvcmt0ZWFtTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHdvcmt0ZWFtTmFtZTogc3RyaW5nO1xufVxuXG5jb25zdCBBY3Rpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YWN0aW9uXFwvKD88YWN0aW9uTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQWlCZW5jaG1hcmtKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YWktYmVuY2htYXJrLWpvYlxcLyg/PGFpQmVuY2htYXJrSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQWlSZWNvbW1lbmRhdGlvbkpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphaS1yZWNvbW1lbmRhdGlvbi1qb2JcXC8oPzxhaVJlY29tbWVuZGF0aW9uSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQWlXb3JrbG9hZENvbmZpZ0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphaS13b3JrbG9hZC1jb25maWdcXC8oPzxhaVdvcmtsb2FkQ29uZmlnTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQWxnb3JpdGhtQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFsZ29yaXRobVxcLyg/PGFsZ29yaXRobU5hbWU+W146Lz9dKykkLztcbmNvbnN0IEFwcEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphcHBcXC8oPzxkb21haW5JZD5bXjovP10rKVxcLyg/PHVzZXJQcm9maWxlTmFtZT5bXjovP10rKVxcLyg/PGFwcFR5cGU+W146Lz9dKylcXC8oPzxhcHBOYW1lPlteOi8/XSspJC87XG5jb25zdCBBcHBJbWFnZUNvbmZpZ0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphcHAtaW1hZ2UtY29uZmlnXFwvKD88YXBwSW1hZ2VDb25maWdOYW1lPlteOi8/XSspJC87XG5jb25zdCBBcnRpZmFjdEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphcnRpZmFjdFxcLyg/PGhhc2hPZkFydGlmYWN0U291cmNlPlteOi8/XSspJC87XG5jb25zdCBBdXRvbWxKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YXV0b21sLWpvYlxcLyg/PGF1dG9NbEpvYkpvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IENsdXN0ZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2x1c3RlclxcLyg/PGNsdXN0ZXJJZD5bXjovP10rKSQvO1xuY29uc3QgQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjbHVzdGVyLXNjaGVkdWxlci1jb25maWdcXC8oPzxjbHVzdGVyU2NoZWR1bGVyQ29uZmlnSWQ+W146Lz9dKykkLztcbmNvbnN0IENvZGVSZXBvc2l0b3J5QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNvZGUtcmVwb3NpdG9yeVxcLyg/PGNvZGVSZXBvc2l0b3J5TmFtZT5bXjovP10rKSQvO1xuY29uc3QgQ29tcGlsYXRpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29tcGlsYXRpb24tam9iXFwvKD88Y29tcGlsYXRpb25Kb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBDb21wdXRlUXVvdGFBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29tcHV0ZS1xdW90YVxcLyg/PGNvbXB1dGVRdW90YUlkPlteOi8/XSspJC87XG5jb25zdCBDb250ZXh0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNvbnRleHRcXC8oPzxjb250ZXh0TmFtZT5bXjovP10rKSQvO1xuY29uc3QgRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRhdGEtcXVhbGl0eS1qb2ItZGVmaW5pdGlvblxcLyg/PGRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IERldmljZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkZXZpY2UtZmxlZXRcXC8oPzxkZXZpY2VGbGVldE5hbWU+W146Lz9dKylcXC9kZXZpY2VcXC8oPzxkZXZpY2VOYW1lPlteOi8/XSspJC87XG5jb25zdCBEZXZpY2VGbGVldEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkZXZpY2UtZmxlZXRcXC8oPzxkZXZpY2VGbGVldE5hbWU+W146Lz9dKykkLztcbmNvbnN0IERvbWFpbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkb21haW5cXC8oPzxkb21haW5JZD5bXjovP10rKSQvO1xuY29uc3QgRWRnZURlcGxveW1lbnRQbGFuQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmVkZ2UtZGVwbG95bWVudFxcLyg/PGVkZ2VEZXBsb3ltZW50UGxhbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IEVkZ2VQYWNrYWdpbmdKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZWRnZS1wYWNrYWdpbmctam9iXFwvKD88ZWRnZVBhY2thZ2luZ0pvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IEVuZHBvaW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmVuZHBvaW50XFwvKD88ZW5kcG9pbnROYW1lPlteOi8/XSspJC87XG5jb25zdCBFbmRwb2ludENvbmZpZ0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTplbmRwb2ludC1jb25maWdcXC8oPzxlbmRwb2ludENvbmZpZ05hbWU+W146Lz9dKykkLztcbmNvbnN0IEV4cGVyaW1lbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZXhwZXJpbWVudFxcLyg/PGV4cGVyaW1lbnROYW1lPlteOi8/XSspJC87XG5jb25zdCBFeHBlcmltZW50VHJpYWxBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZXhwZXJpbWVudC10cmlhbFxcLyg/PHRyaWFsTmFtZT5bXjovP10rKSQvO1xuY29uc3QgRXhwZXJpbWVudFRyaWFsQ29tcG9uZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmV4cGVyaW1lbnQtdHJpYWwtY29tcG9uZW50XFwvKD88dHJpYWxDb21wb25lbnROYW1lPlteOi8/XSspJC87XG5jb25zdCBGZWF0dXJlR3JvdXBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZmVhdHVyZS1ncm91cFxcLyg/PGZlYXR1cmVHcm91cE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEZsb3dEZWZpbml0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmZsb3ctZGVmaW5pdGlvblxcLyg/PGZsb3dEZWZpbml0aW9uTmFtZT5bXjovP10rKSQvO1xuY29uc3QgSHViQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmh1YlxcLyg/PGh1Yk5hbWU+W146Lz9dKykkLztcbmNvbnN0IEh1YkNvbnRlbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aHViLWNvbnRlbnRcXC8oPzxodWJOYW1lPlteOi8/XSspXFwvKD88aHViQ29udGVudFR5cGU+W146Lz9dKylcXC8oPzxodWJDb250ZW50TmFtZT5bXjovP10rKSQvO1xuY29uc3QgSHVtYW5Mb29wQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmh1bWFuLWxvb3BcXC8oPzxodW1hbkxvb3BOYW1lPlteOi8/XSspJC87XG5jb25zdCBIdW1hblRhc2tVaUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpodW1hbi10YXNrLXVpXFwvKD88aHVtYW5UYXNrVWlOYW1lPlteOi8/XSspJC87XG5jb25zdCBIeXBlclBhcmFtZXRlclR1bmluZ0pvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpoeXBlci1wYXJhbWV0ZXItdHVuaW5nLWpvYlxcLyg/PGh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgSW1hZ2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aW1hZ2VcXC8oPzxpbWFnZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IEltYWdlVmVyc2lvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTppbWFnZS12ZXJzaW9uXFwvKD88aW1hZ2VOYW1lPlteOi8/XSspXFwvKD88dmVyc2lvbj5bXjovP10rKSQvO1xuY29uc3QgSW5mZXJlbmNlQ29tcG9uZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmluZmVyZW5jZS1jb21wb25lbnRcXC8oPzxpbmZlcmVuY2VDb21wb25lbnROYW1lPlteOi8/XSspJC87XG5jb25zdCBJbmZlcmVuY2VFeHBlcmltZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmluZmVyZW5jZS1leHBlcmltZW50XFwvKD88aW5mZXJlbmNlRXhwZXJpbWVudE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTppbmZlcmVuY2UtcmVjb21tZW5kYXRpb25zLWpvYlxcLyg/PGluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IEpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpqb2JcXC8oPzxqb2JDYXRlZ29yeT5bXjovP10rKVxcLyg/PGpvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IExhYmVsaW5nSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmxhYmVsaW5nLWpvYlxcLyg/PGxhYmVsaW5nSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTGluZWFnZUdyb3VwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmxpbmVhZ2UtZ3JvdXBcXC8oPzxsaW5lYWdlR3JvdXBOYW1lPlteOi8/XSspJC87XG5jb25zdCBNbGZsb3dBcHBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bWxmbG93LWFwcFxcLyg/PG1MZmxvd0FwcElkPlteOi8/XSspJC87XG5jb25zdCBNbGZsb3dUcmFja2luZ1NlcnZlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptbGZsb3ctdHJhY2tpbmctc2VydmVyXFwvKD88bWxmbG93VHJhY2tpbmdTZXJ2ZXJOYW1lPlteOi8/XSspJC87XG5jb25zdCBNb2RlbEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbFxcLyg/PG1vZGVsTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxCaWFzSm9iRGVmaW5pdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbC1iaWFzLWpvYi1kZWZpbml0aW9uXFwvKD88bW9kZWxCaWFzSm9iRGVmaW5pdGlvbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsQ2FyZEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbC1jYXJkXFwvKD88bW9kZWxDYXJkTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxDYXJkRXhwb3J0Sm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLWNhcmRcXC8oPzxtb2RlbENhcmROYW1lPlteOi8/XSspXFwvZXhwb3J0LWpvYlxcLyg/PGV4cG9ydEpvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLWV4cGxhaW5hYmlsaXR5LWpvYi1kZWZpbml0aW9uXFwvKD88bW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25OYW1lPlteOi8/XSspJC87XG5jb25zdCBNb2RlbFBhY2thZ2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWwtcGFja2FnZVxcLyg/PG1vZGVsUGFja2FnZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsUGFja2FnZUdyb3VwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLXBhY2thZ2UtZ3JvdXBcXC8oPzxtb2RlbFBhY2thZ2VHcm91cE5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWwtcXVhbGl0eS1qb2ItZGVmaW5pdGlvblxcLyg/PG1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lPlteOi8/XSspJC87XG5jb25zdCBNb25pdG9yaW5nU2NoZWR1bGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9uaXRvcmluZy1zY2hlZHVsZVxcLyg/PG1vbml0b3JpbmdTY2hlZHVsZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vbml0b3Jpbmctc2NoZWR1bGVcXC8oPzxtb25pdG9yaW5nU2NoZWR1bGVOYW1lPlteOi8/XSspXFwvYWxlcnRcXC8oPzxtb25pdG9yaW5nU2NoZWR1bGVBbGVydE5hbWU+W146Lz9dKykkLztcbmNvbnN0IE5vdGVib29rSW5zdGFuY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bm90ZWJvb2staW5zdGFuY2VcXC8oPzxub3RlYm9va0luc3RhbmNlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpub3RlYm9vay1pbnN0YW5jZS1saWZlY3ljbGUtY29uZmlnXFwvKD88bm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ05hbWU+W146Lz9dKykkLztcbmNvbnN0IE9wdGltaXphdGlvbkpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpvcHRpbWl6YXRpb24tam9iXFwvKD88b3B0aW1pemF0aW9uSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgUGFydG5lckFwcEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwYXJ0bmVyLWFwcFxcLyg/PGFwcElkPlteOi8/XSspJC87XG5jb25zdCBQaXBlbGluZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwaXBlbGluZVxcLyg/PHBpcGVsaW5lTmFtZT5bXjovP10rKSQvO1xuY29uc3QgUGlwZWxpbmVFeGVjdXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cGlwZWxpbmVcXC8oPzxwaXBlbGluZU5hbWU+W146Lz9dKylcXC9leGVjdXRpb25cXC8oPzxyYW5kb21TdHJpbmc+W146Lz9dKykkLztcbmNvbnN0IFByb2Nlc3NpbmdKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cHJvY2Vzc2luZy1qb2JcXC8oPzxwcm9jZXNzaW5nSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgUHJvamVjdEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwcm9qZWN0XFwvKD88cHJvamVjdE5hbWU+W146Lz9dKykkLztcbmNvbnN0IFJlc2VydmVkQ2FwYWNpdHlBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cmVzZXJ2ZWQtY2FwYWNpdHlcXC8oPzxyYW5kb21TdHJpbmc+W146Lz9dKykkLztcbmNvbnN0IFNhZ2VtYWtlckNhdGFsb2dBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2FnZW1ha2VyLWNhdGFsb2dcXC8oPzxyZXNvdXJjZUNhdGFsb2dOYW1lPlteOi8/XSspJC87XG5jb25zdCBTaGFyZWRNb2RlbEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzaGFyZWQtbW9kZWxcXC8oPzxzaGFyZWRNb2RlbElkPlteOi8/XSspJC87XG5jb25zdCBTaGFyZWRNb2RlbEV2ZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNoYXJlZC1tb2RlbC1ldmVudFxcLyg/PGV2ZW50SWQ+W146Lz9dKykkLztcbmNvbnN0IFNwYWNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNwYWNlXFwvKD88ZG9tYWluSWQ+W146Lz9dKylcXC8oPzxzcGFjZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IFN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzdHVkaW8tbGlmZWN5Y2xlLWNvbmZpZ1xcLyg/PHN0dWRpb0xpZmVjeWNsZUNvbmZpZ05hbWU+W146Lz9dKykkLztcbmNvbnN0IFRyYWluaW5nSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnRyYWluaW5nLWpvYlxcLyg/PHRyYWluaW5nSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgVHJhaW5pbmdQbGFuQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnRyYWluaW5nLXBsYW5cXC8oPzx0cmFpbmluZ1BsYW5OYW1lPlteOi8/XSspJC87XG5jb25zdCBUcmFuc2Zvcm1Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dHJhbnNmb3JtLWpvYlxcLyg/PHRyYW5zZm9ybUpvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IFVzZXJQcm9maWxlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnVzZXItcHJvZmlsZVxcLyg/PGRvbWFpbklkPlteOi8/XSspXFwvKD88dXNlclByb2ZpbGVOYW1lPlteOi8/XSspJC87XG5jb25zdCBXb3JrZm9yY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6d29ya2ZvcmNlXFwvKD88d29ya2ZvcmNlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgV29ya3RlYW1Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6d29ya3RlYW1cXC8oPzx3b3JrdGVhbU5hbWU+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBzYWdlbWFrZXIgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgU2FnZU1ha2VyUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhY3Rpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYWN0aW9uKHByb3BzOiBTYWdlTWFrZXJBY3Rpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFjdGlvbi8ke3Byb3BzLmFjdGlvbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFjdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQWN0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFjdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhY3Rpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWN0aW9uQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyQWN0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBY3Rpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYWN0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFjdGlvbk5hbWU6IG1hdGNoLmdyb3VwcyEuYWN0aW9uTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhaS1iZW5jaG1hcmstam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFpQmVuY2htYXJrSm9iKHByb3BzOiBTYWdlTWFrZXJBaUJlbmNobWFya0pvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YWktYmVuY2htYXJrLWpvYi8ke3Byb3BzLmFpQmVuY2htYXJrSm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYWktYmVuY2htYXJrLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQWlCZW5jaG1hcmtKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQWlCZW5jaG1hcmtKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYWktYmVuY2htYXJrLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBaUJlbmNobWFya0pvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyQWlCZW5jaG1hcmtKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFpQmVuY2htYXJrSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFpLWJlbmNobWFyay1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YWlCZW5jaG1hcmtKb2JOYW1lOiBtYXRjaC5ncm91cHMhLmFpQmVuY2htYXJrSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhaS1yZWNvbW1lbmRhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYWlSZWNvbW1lbmRhdGlvbkpvYihcblx0XHRwcm9wczogU2FnZU1ha2VyQWlSZWNvbW1lbmRhdGlvbkpvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphaS1yZWNvbW1lbmRhdGlvbi1qb2IvJHtwcm9wcy5haVJlY29tbWVuZGF0aW9uSm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYWktcmVjb21tZW5kYXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBaVJlY29tbWVuZGF0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFpUmVjb21tZW5kYXRpb25Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYWktcmVjb21tZW5kYXRpb24tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFpUmVjb21tZW5kYXRpb25Kb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckFpUmVjb21tZW5kYXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFpUmVjb21tZW5kYXRpb25Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYWktcmVjb21tZW5kYXRpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFpUmVjb21tZW5kYXRpb25Kb2JOYW1lOiBtYXRjaC5ncm91cHMhLmFpUmVjb21tZW5kYXRpb25Kb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFpLXdvcmtsb2FkLWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhaVdvcmtsb2FkQ29uZmlnKHByb3BzOiBTYWdlTWFrZXJBaVdvcmtsb2FkQ29uZmlnQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphaS13b3JrbG9hZC1jb25maWcvJHtwcm9wcy5haVdvcmtsb2FkQ29uZmlnTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYWktd29ya2xvYWQtY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBaVdvcmtsb2FkQ29uZmlnQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFpV29ya2xvYWRDb25maWdBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYWktd29ya2xvYWQtY29uZmlnIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFpV29ya2xvYWRDb25maWdBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckFpV29ya2xvYWRDb25maWdBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFpV29ya2xvYWRDb25maWdBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYWktd29ya2xvYWQtY29uZmlnIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFpV29ya2xvYWRDb25maWdOYW1lOiBtYXRjaC5ncm91cHMhLmFpV29ya2xvYWRDb25maWdOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFsZ29yaXRobSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhbGdvcml0aG0ocHJvcHM6IFNhZ2VNYWtlckFsZ29yaXRobUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YWxnb3JpdGhtLyR7cHJvcHMuYWxnb3JpdGhtTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYWxnb3JpdGhtIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBbGdvcml0aG1Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQWxnb3JpdGhtQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFsZ29yaXRobSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBbGdvcml0aG1Bcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJBbGdvcml0aG1Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFsZ29yaXRobUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhbGdvcml0aG0gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YWxnb3JpdGhtTmFtZTogbWF0Y2guZ3JvdXBzIS5hbGdvcml0aG1OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFwcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhcHAocHJvcHM6IFNhZ2VNYWtlckFwcEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXBwLyR7cHJvcHMuZG9tYWluSWR9LyR7cHJvcHMudXNlclByb2ZpbGVOYW1lfS8ke3Byb3BzLmFwcFR5cGV9LyR7cHJvcHMuYXBwTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYXBwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBcHBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXBwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFwcCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBcHBBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJBcHBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFwcEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhcHAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9tYWluSWQ6IG1hdGNoLmdyb3VwcyEuZG9tYWluSWQsXG5cdFx0XHR1c2VyUHJvZmlsZU5hbWU6IG1hdGNoLmdyb3VwcyEudXNlclByb2ZpbGVOYW1lLFxuXHRcdFx0YXBwVHlwZTogbWF0Y2guZ3JvdXBzIS5hcHBUeXBlLFxuXHRcdFx0YXBwTmFtZTogbWF0Y2guZ3JvdXBzIS5hcHBOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFwcC1pbWFnZS1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXBwSW1hZ2VDb25maWcocHJvcHM6IFNhZ2VNYWtlckFwcEltYWdlQ29uZmlnQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphcHAtaW1hZ2UtY29uZmlnLyR7cHJvcHMuYXBwSW1hZ2VDb25maWdOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhcHAtaW1hZ2UtY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBcHBJbWFnZUNvbmZpZ0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBcHBJbWFnZUNvbmZpZ0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhcHAtaW1hZ2UtY29uZmlnIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFwcEltYWdlQ29uZmlnQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJBcHBJbWFnZUNvbmZpZ0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXBwSW1hZ2VDb25maWdBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXBwLWltYWdlLWNvbmZpZyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhcHBJbWFnZUNvbmZpZ05hbWU6IG1hdGNoLmdyb3VwcyEuYXBwSW1hZ2VDb25maWdOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFydGlmYWN0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFydGlmYWN0KHByb3BzOiBTYWdlTWFrZXJBcnRpZmFjdEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXJ0aWZhY3QvJHtwcm9wcy5oYXNoT2ZBcnRpZmFjdFNvdXJjZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYXJ0aWZhY3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFydGlmYWN0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFydGlmYWN0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFydGlmYWN0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFydGlmYWN0QXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyQXJ0aWZhY3RBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFydGlmYWN0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFydGlmYWN0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGhhc2hPZkFydGlmYWN0U291cmNlOiBtYXRjaC5ncm91cHMhLmhhc2hPZkFydGlmYWN0U291cmNlLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGF1dG9tbC1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXV0b21sSm9iKHByb3BzOiBTYWdlTWFrZXJBdXRvbWxKb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmF1dG9tbC1qb2IvJHtwcm9wcy5hdXRvTWxKb2JKb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhdXRvbWwtam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBdXRvbWxKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXV0b21sSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGF1dG9tbC1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXV0b21sSm9iQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyQXV0b21sSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBdXRvbWxKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXV0b21sLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhdXRvTWxKb2JKb2JOYW1lOiBtYXRjaC5ncm91cHMhLmF1dG9NbEpvYkpvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY2x1c3RlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjbHVzdGVyKHByb3BzOiBTYWdlTWFrZXJDbHVzdGVyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjbHVzdGVyLyR7cHJvcHMuY2x1c3RlcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjbHVzdGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDbHVzdGVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENsdXN0ZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY2x1c3RlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDbHVzdGVyQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyQ2x1c3RlckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ2x1c3RlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjbHVzdGVyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNsdXN0ZXJJZDogbWF0Y2guZ3JvdXBzIS5jbHVzdGVySWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY2x1c3Rlci1zY2hlZHVsZXItY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNsdXN0ZXJTY2hlZHVsZXJDb25maWcoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlckNsdXN0ZXJTY2hlZHVsZXJDb25maWdBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2x1c3Rlci1zY2hlZHVsZXItY29uZmlnLyR7cHJvcHMuY2x1c3RlclNjaGVkdWxlckNvbmZpZ0lkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjbHVzdGVyLXNjaGVkdWxlci1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENsdXN0ZXJTY2hlZHVsZXJDb25maWdBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjbHVzdGVyLXNjaGVkdWxlci1jb25maWcgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjbHVzdGVyLXNjaGVkdWxlci1jb25maWcgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2x1c3RlclNjaGVkdWxlckNvbmZpZ0lkOiBtYXRjaC5ncm91cHMhLmNsdXN0ZXJTY2hlZHVsZXJDb25maWdJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjb2RlLXJlcG9zaXRvcnkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29kZVJlcG9zaXRvcnkocHJvcHM6IFNhZ2VNYWtlckNvZGVSZXBvc2l0b3J5QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb2RlLXJlcG9zaXRvcnkvJHtwcm9wcy5jb2RlUmVwb3NpdG9yeU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNvZGUtcmVwb3NpdG9yeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29kZVJlcG9zaXRvcnlBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29kZVJlcG9zaXRvcnlBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY29kZS1yZXBvc2l0b3J5IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvZGVSZXBvc2l0b3J5QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJDb2RlUmVwb3NpdG9yeUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29kZVJlcG9zaXRvcnlBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29kZS1yZXBvc2l0b3J5IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvZGVSZXBvc2l0b3J5TmFtZTogbWF0Y2guZ3JvdXBzIS5jb2RlUmVwb3NpdG9yeU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY29tcGlsYXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbXBpbGF0aW9uSm9iKHByb3BzOiBTYWdlTWFrZXJDb21waWxhdGlvbkpvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29tcGlsYXRpb24tam9iLyR7cHJvcHMuY29tcGlsYXRpb25Kb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjb21waWxhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbXBpbGF0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbXBpbGF0aW9uSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNvbXBpbGF0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb21waWxhdGlvbkpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyQ29tcGlsYXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbXBpbGF0aW9uSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNvbXBpbGF0aW9uLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjb21waWxhdGlvbkpvYk5hbWU6IG1hdGNoLmdyb3VwcyEuY29tcGlsYXRpb25Kb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNvbXB1dGUtcXVvdGEgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29tcHV0ZVF1b3RhKHByb3BzOiBTYWdlTWFrZXJDb21wdXRlUXVvdGFBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvbXB1dGUtcXVvdGEvJHtwcm9wcy5jb21wdXRlUXVvdGFJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY29tcHV0ZS1xdW90YSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29tcHV0ZVF1b3RhQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbXB1dGVRdW90YUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjb21wdXRlLXF1b3RhIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbXB1dGVRdW90YUFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckNvbXB1dGVRdW90YUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29tcHV0ZVF1b3RhQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNvbXB1dGUtcXVvdGEgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y29tcHV0ZVF1b3RhSWQ6IG1hdGNoLmdyb3VwcyEuY29tcHV0ZVF1b3RhSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY29udGV4dCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb250ZXh0KHByb3BzOiBTYWdlTWFrZXJDb250ZXh0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb250ZXh0LyR7cHJvcHMuY29udGV4dE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNvbnRleHQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbnRleHRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29udGV4dEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjb250ZXh0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbnRleHRBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJDb250ZXh0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb250ZXh0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNvbnRleHQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y29udGV4dE5hbWU6IG1hdGNoLmdyb3VwcyEuY29udGV4dE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGF0YS1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbihcblx0XHRwcm9wczogU2FnZU1ha2VyRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRhdGEtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbi8ke3Byb3BzLmRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRhdGEtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkYXRhLXF1YWxpdHktam9iLWRlZmluaXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYXRhLXF1YWxpdHktam9iLWRlZmluaXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZTogbWF0Y2guZ3JvdXBzIS5kYXRhUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRldmljZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkZXZpY2UocHJvcHM6IFNhZ2VNYWtlckRldmljZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGV2aWNlLWZsZWV0LyR7cHJvcHMuZGV2aWNlRmxlZXROYW1lfS9kZXZpY2UvJHtwcm9wcy5kZXZpY2VOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkZXZpY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERldmljZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEZXZpY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZGV2aWNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURldmljZUFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckRldmljZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGV2aWNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRldmljZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkZXZpY2VGbGVldE5hbWU6IG1hdGNoLmdyb3VwcyEuZGV2aWNlRmxlZXROYW1lLFxuXHRcdFx0ZGV2aWNlTmFtZTogbWF0Y2guZ3JvdXBzIS5kZXZpY2VOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRldmljZS1mbGVldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkZXZpY2VGbGVldChwcm9wczogU2FnZU1ha2VyRGV2aWNlRmxlZXRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRldmljZS1mbGVldC8ke3Byb3BzLmRldmljZUZsZWV0TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGV2aWNlLWZsZWV0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREZXZpY2VGbGVldEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEZXZpY2VGbGVldEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkZXZpY2UtZmxlZXQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGV2aWNlRmxlZXRBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJEZXZpY2VGbGVldEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGV2aWNlRmxlZXRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGV2aWNlLWZsZWV0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRldmljZUZsZWV0TmFtZTogbWF0Y2guZ3JvdXBzIS5kZXZpY2VGbGVldE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZG9tYWluIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRvbWFpbihwcm9wczogU2FnZU1ha2VyRG9tYWluQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkb21haW4vJHtwcm9wcy5kb21haW5JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZG9tYWluIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREb21haW5Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRG9tYWluQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRvbWFpbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEb21haW5Bcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJEb21haW5Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERvbWFpbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkb21haW4gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9tYWluSWQ6IG1hdGNoLmdyb3VwcyEuZG9tYWluSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZWRnZS1kZXBsb3ltZW50LXBsYW4gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZWRnZURlcGxveW1lbnRQbGFuKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJFZGdlRGVwbG95bWVudFBsYW5Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZWRnZS1kZXBsb3ltZW50LyR7cHJvcHMuZWRnZURlcGxveW1lbnRQbGFuTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZWRnZS1kZXBsb3ltZW50LXBsYW4gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEVkZ2VEZXBsb3ltZW50UGxhbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFZGdlRGVwbG95bWVudFBsYW5Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZWRnZS1kZXBsb3ltZW50LXBsYW4gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRWRnZURlcGxveW1lbnRQbGFuQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJFZGdlRGVwbG95bWVudFBsYW5Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEVkZ2VEZXBsb3ltZW50UGxhbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBlZGdlLWRlcGxveW1lbnQtcGxhbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRlZGdlRGVwbG95bWVudFBsYW5OYW1lOiBtYXRjaC5ncm91cHMhLmVkZ2VEZXBsb3ltZW50UGxhbk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZWRnZS1wYWNrYWdpbmctam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGVkZ2VQYWNrYWdpbmdKb2IocHJvcHM6IFNhZ2VNYWtlckVkZ2VQYWNrYWdpbmdKb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmVkZ2UtcGFja2FnaW5nLWpvYi8ke3Byb3BzLmVkZ2VQYWNrYWdpbmdKb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBlZGdlLXBhY2thZ2luZy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEVkZ2VQYWNrYWdpbmdKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRWRnZVBhY2thZ2luZ0pvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBlZGdlLXBhY2thZ2luZy1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRWRnZVBhY2thZ2luZ0pvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyRWRnZVBhY2thZ2luZ0pvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRWRnZVBhY2thZ2luZ0pvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBlZGdlLXBhY2thZ2luZy1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZWRnZVBhY2thZ2luZ0pvYk5hbWU6IG1hdGNoLmdyb3VwcyEuZWRnZVBhY2thZ2luZ0pvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZW5kcG9pbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZW5kcG9pbnQocHJvcHM6IFNhZ2VNYWtlckVuZHBvaW50QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTplbmRwb2ludC8ke3Byb3BzLmVuZHBvaW50TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZW5kcG9pbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEVuZHBvaW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEVuZHBvaW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGVuZHBvaW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUVuZHBvaW50QXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyRW5kcG9pbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEVuZHBvaW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGVuZHBvaW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGVuZHBvaW50TmFtZTogbWF0Y2guZ3JvdXBzIS5lbmRwb2ludE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZW5kcG9pbnQtY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGVuZHBvaW50Q29uZmlnKHByb3BzOiBTYWdlTWFrZXJFbmRwb2ludENvbmZpZ0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZW5kcG9pbnQtY29uZmlnLyR7cHJvcHMuZW5kcG9pbnRDb25maWdOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBlbmRwb2ludC1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEVuZHBvaW50Q29uZmlnQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEVuZHBvaW50Q29uZmlnQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGVuZHBvaW50LWNvbmZpZyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFbmRwb2ludENvbmZpZ0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyRW5kcG9pbnRDb25maWdBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEVuZHBvaW50Q29uZmlnQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGVuZHBvaW50LWNvbmZpZyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRlbmRwb2ludENvbmZpZ05hbWU6IG1hdGNoLmdyb3VwcyEuZW5kcG9pbnRDb25maWdOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGV4cGVyaW1lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZXhwZXJpbWVudChwcm9wczogU2FnZU1ha2VyRXhwZXJpbWVudEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZXhwZXJpbWVudC8ke3Byb3BzLmV4cGVyaW1lbnROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBleHBlcmltZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFeHBlcmltZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEV4cGVyaW1lbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZXhwZXJpbWVudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFeHBlcmltZW50QXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyRXhwZXJpbWVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRXhwZXJpbWVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBleHBlcmltZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGV4cGVyaW1lbnROYW1lOiBtYXRjaC5ncm91cHMhLmV4cGVyaW1lbnROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGV4cGVyaW1lbnQtdHJpYWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZXhwZXJpbWVudFRyaWFsKHByb3BzOiBTYWdlTWFrZXJFeHBlcmltZW50VHJpYWxBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmV4cGVyaW1lbnQtdHJpYWwvJHtwcm9wcy50cmlhbE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGV4cGVyaW1lbnQtdHJpYWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEV4cGVyaW1lbnRUcmlhbEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFeHBlcmltZW50VHJpYWxBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZXhwZXJpbWVudC10cmlhbCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFeHBlcmltZW50VHJpYWxBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckV4cGVyaW1lbnRUcmlhbEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRXhwZXJpbWVudFRyaWFsQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGV4cGVyaW1lbnQtdHJpYWwgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0dHJpYWxOYW1lOiBtYXRjaC5ncm91cHMhLnRyaWFsTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBleHBlcmltZW50LXRyaWFsLWNvbXBvbmVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBleHBlcmltZW50VHJpYWxDb21wb25lbnQoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlckV4cGVyaW1lbnRUcmlhbENvbXBvbmVudEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpleHBlcmltZW50LXRyaWFsLWNvbXBvbmVudC8ke3Byb3BzLnRyaWFsQ29tcG9uZW50TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZXhwZXJpbWVudC10cmlhbC1jb21wb25lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEV4cGVyaW1lbnRUcmlhbENvbXBvbmVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFeHBlcmltZW50VHJpYWxDb21wb25lbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZXhwZXJpbWVudC10cmlhbC1jb21wb25lbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRXhwZXJpbWVudFRyaWFsQ29tcG9uZW50QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJFeHBlcmltZW50VHJpYWxDb21wb25lbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEV4cGVyaW1lbnRUcmlhbENvbXBvbmVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBleHBlcmltZW50LXRyaWFsLWNvbXBvbmVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR0cmlhbENvbXBvbmVudE5hbWU6IG1hdGNoLmdyb3VwcyEudHJpYWxDb21wb25lbnROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGZlYXR1cmUtZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZmVhdHVyZUdyb3VwKHByb3BzOiBTYWdlTWFrZXJGZWF0dXJlR3JvdXBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmZlYXR1cmUtZ3JvdXAvJHtwcm9wcy5mZWF0dXJlR3JvdXBOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBmZWF0dXJlLWdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRGZWF0dXJlR3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRmVhdHVyZUdyb3VwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGZlYXR1cmUtZ3JvdXAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRmVhdHVyZUdyb3VwQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyRmVhdHVyZUdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBGZWF0dXJlR3JvdXBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZmVhdHVyZS1ncm91cCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRmZWF0dXJlR3JvdXBOYW1lOiBtYXRjaC5ncm91cHMhLmZlYXR1cmVHcm91cE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZmxvdy1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGZsb3dEZWZpbml0aW9uKHByb3BzOiBTYWdlTWFrZXJGbG93RGVmaW5pdGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Zmxvdy1kZWZpbml0aW9uLyR7cHJvcHMuZmxvd0RlZmluaXRpb25OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBmbG93LWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEZsb3dEZWZpbml0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEZsb3dEZWZpbml0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGZsb3ctZGVmaW5pdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VGbG93RGVmaW5pdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyRmxvd0RlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEZsb3dEZWZpbml0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZsb3ctZGVmaW5pdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRmbG93RGVmaW5pdGlvbk5hbWU6IG1hdGNoLmdyb3VwcyEuZmxvd0RlZmluaXRpb25OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGh1YiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBodWIocHJvcHM6IFNhZ2VNYWtlckh1YkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aHViLyR7cHJvcHMuaHViTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaHViIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRIdWJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSHViQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGh1YiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VIdWJBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJIdWJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEh1YkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBodWIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aHViTmFtZTogbWF0Y2guZ3JvdXBzIS5odWJOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGh1Yi1jb250ZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGh1YkNvbnRlbnQocHJvcHM6IFNhZ2VNYWtlckh1YkNvbnRlbnRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omh1Yi1jb250ZW50LyR7cHJvcHMuaHViTmFtZX0vJHtwcm9wcy5odWJDb250ZW50VHlwZX0vJHtwcm9wcy5odWJDb250ZW50TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaHViLWNvbnRlbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEh1YkNvbnRlbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSHViQ29udGVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBodWItY29udGVudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VIdWJDb250ZW50QXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VySHViQ29udGVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSHViQ29udGVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBodWItY29udGVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRodWJOYW1lOiBtYXRjaC5ncm91cHMhLmh1Yk5hbWUsXG5cdFx0XHRodWJDb250ZW50VHlwZTogbWF0Y2guZ3JvdXBzIS5odWJDb250ZW50VHlwZSxcblx0XHRcdGh1YkNvbnRlbnROYW1lOiBtYXRjaC5ncm91cHMhLmh1YkNvbnRlbnROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGh1bWFuLWxvb3AgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaHVtYW5Mb29wKHByb3BzOiBTYWdlTWFrZXJIdW1hbkxvb3BBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omh1bWFuLWxvb3AvJHtwcm9wcy5odW1hbkxvb3BOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBodW1hbi1sb29wIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRIdW1hbkxvb3BBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSHVtYW5Mb29wQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGh1bWFuLWxvb3AgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSHVtYW5Mb29wQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VySHVtYW5Mb29wQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBIdW1hbkxvb3BBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaHVtYW4tbG9vcCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRodW1hbkxvb3BOYW1lOiBtYXRjaC5ncm91cHMhLmh1bWFuTG9vcE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaHVtYW4tdGFzay11aSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBodW1hblRhc2tVaShwcm9wczogU2FnZU1ha2VySHVtYW5UYXNrVWlBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omh1bWFuLXRhc2stdWkvJHtwcm9wcy5odW1hblRhc2tVaU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGh1bWFuLXRhc2stdWkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEh1bWFuVGFza1VpQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEh1bWFuVGFza1VpQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGh1bWFuLXRhc2stdWkgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSHVtYW5UYXNrVWlBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJIdW1hblRhc2tVaUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSHVtYW5UYXNrVWlBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaHVtYW4tdGFzay11aSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRodW1hblRhc2tVaU5hbWU6IG1hdGNoLmdyb3VwcyEuaHVtYW5UYXNrVWlOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGh5cGVyLXBhcmFtZXRlci10dW5pbmctam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJIeXBlclBhcmFtZXRlclR1bmluZ0pvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpoeXBlci1wYXJhbWV0ZXItdHVuaW5nLWpvYi8ke3Byb3BzLmh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaHlwZXItcGFyYW1ldGVyLXR1bmluZy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGh5cGVyLXBhcmFtZXRlci10dW5pbmctam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJIeXBlclBhcmFtZXRlclR1bmluZ0pvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaHlwZXItcGFyYW1ldGVyLXR1bmluZy1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JOYW1lOiBtYXRjaC5ncm91cHMhLmh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBpbWFnZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpbWFnZShwcm9wczogU2FnZU1ha2VySW1hZ2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmltYWdlLyR7cHJvcHMuaW1hZ2VOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBpbWFnZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSW1hZ2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSW1hZ2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaW1hZ2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSW1hZ2VBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJJbWFnZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSW1hZ2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW1hZ2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aW1hZ2VOYW1lOiBtYXRjaC5ncm91cHMhLmltYWdlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBpbWFnZS12ZXJzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGltYWdlVmVyc2lvbihwcm9wczogU2FnZU1ha2VySW1hZ2VWZXJzaW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTppbWFnZS12ZXJzaW9uLyR7cHJvcHMuaW1hZ2VOYW1lfS8ke3Byb3BzLnZlcnNpb259YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGltYWdlLXZlcnNpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEltYWdlVmVyc2lvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJbWFnZVZlcnNpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaW1hZ2UtdmVyc2lvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VJbWFnZVZlcnNpb25Bcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJJbWFnZVZlcnNpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEltYWdlVmVyc2lvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbWFnZS12ZXJzaW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGltYWdlTmFtZTogbWF0Y2guZ3JvdXBzIS5pbWFnZU5hbWUsXG5cdFx0XHR2ZXJzaW9uOiBtYXRjaC5ncm91cHMhLnZlcnNpb24sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaW5mZXJlbmNlLWNvbXBvbmVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpbmZlcmVuY2VDb21wb25lbnQoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlckluZmVyZW5jZUNvbXBvbmVudEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTppbmZlcmVuY2UtY29tcG9uZW50LyR7cHJvcHMuaW5mZXJlbmNlQ29tcG9uZW50TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaW5mZXJlbmNlLWNvbXBvbmVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSW5mZXJlbmNlQ29tcG9uZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEluZmVyZW5jZUNvbXBvbmVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBpbmZlcmVuY2UtY29tcG9uZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUluZmVyZW5jZUNvbXBvbmVudEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VySW5mZXJlbmNlQ29tcG9uZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJbmZlcmVuY2VDb21wb25lbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW5mZXJlbmNlLWNvbXBvbmVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpbmZlcmVuY2VDb21wb25lbnROYW1lOiBtYXRjaC5ncm91cHMhLmluZmVyZW5jZUNvbXBvbmVudE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaW5mZXJlbmNlLWV4cGVyaW1lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaW5mZXJlbmNlRXhwZXJpbWVudChcblx0XHRwcm9wczogU2FnZU1ha2VySW5mZXJlbmNlRXhwZXJpbWVudEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTppbmZlcmVuY2UtZXhwZXJpbWVudC8ke3Byb3BzLmluZmVyZW5jZUV4cGVyaW1lbnROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBpbmZlcmVuY2UtZXhwZXJpbWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSW5mZXJlbmNlRXhwZXJpbWVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJbmZlcmVuY2VFeHBlcmltZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGluZmVyZW5jZS1leHBlcmltZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUluZmVyZW5jZUV4cGVyaW1lbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckluZmVyZW5jZUV4cGVyaW1lbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEluZmVyZW5jZUV4cGVyaW1lbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW5mZXJlbmNlLWV4cGVyaW1lbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aW5mZXJlbmNlRXhwZXJpbWVudE5hbWU6IG1hdGNoLmdyb3VwcyEuaW5mZXJlbmNlRXhwZXJpbWVudE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaW5mZXJlbmNlLXJlY29tbWVuZGF0aW9ucy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aW5mZXJlbmNlLXJlY29tbWVuZGF0aW9ucy1qb2IvJHtwcm9wcy5pbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBpbmZlcmVuY2UtcmVjb21tZW5kYXRpb25zLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBpbmZlcmVuY2UtcmVjb21tZW5kYXRpb25zLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGluZmVyZW5jZS1yZWNvbW1lbmRhdGlvbnMtam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYk5hbWU6XG5cdFx0XHRcdG1hdGNoLmdyb3VwcyEuaW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBqb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgam9iKHByb3BzOiBTYWdlTWFrZXJKb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmpvYi8ke3Byb3BzLmpvYkNhdGVnb3J5fS8ke3Byb3BzLmpvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBqb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSm9iQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VySm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGpvYkNhdGVnb3J5OiBtYXRjaC5ncm91cHMhLmpvYkNhdGVnb3J5LFxuXHRcdFx0am9iTmFtZTogbWF0Y2guZ3JvdXBzIS5qb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGxhYmVsaW5nLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBsYWJlbGluZ0pvYihwcm9wczogU2FnZU1ha2VyTGFiZWxpbmdKb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmxhYmVsaW5nLWpvYi8ke3Byb3BzLmxhYmVsaW5nSm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbGFiZWxpbmctam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRMYWJlbGluZ0pvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBMYWJlbGluZ0pvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBsYWJlbGluZy1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTGFiZWxpbmdKb2JBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJMYWJlbGluZ0pvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTGFiZWxpbmdKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbGFiZWxpbmctam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGxhYmVsaW5nSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS5sYWJlbGluZ0pvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbGluZWFnZS1ncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBsaW5lYWdlR3JvdXAocHJvcHM6IFNhZ2VNYWtlckxpbmVhZ2VHcm91cEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bGluZWFnZS1ncm91cC8ke3Byb3BzLmxpbmVhZ2VHcm91cE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGxpbmVhZ2UtZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZExpbmVhZ2VHcm91cEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBMaW5lYWdlR3JvdXBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbGluZWFnZS1ncm91cCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VMaW5lYWdlR3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJMaW5lYWdlR3JvdXBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IExpbmVhZ2VHcm91cEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBsaW5lYWdlLWdyb3VwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGxpbmVhZ2VHcm91cE5hbWU6IG1hdGNoLmdyb3VwcyEubGluZWFnZUdyb3VwTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtbGZsb3ctYXBwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1sZmxvd0FwcChwcm9wczogU2FnZU1ha2VyTWxmbG93QXBwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptbGZsb3ctYXBwLyR7cHJvcHMubUxmbG93QXBwSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1sZmxvdy1hcHAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1sZmxvd0FwcEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNbGZsb3dBcHBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbWxmbG93LWFwcCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNbGZsb3dBcHBBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJNbGZsb3dBcHBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1sZmxvd0FwcEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtbGZsb3ctYXBwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1MZmxvd0FwcElkOiBtYXRjaC5ncm91cHMhLm1MZmxvd0FwcElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1sZmxvdy10cmFja2luZy1zZXJ2ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbWxmbG93VHJhY2tpbmdTZXJ2ZXIoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlck1sZmxvd1RyYWNraW5nU2VydmVyQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1sZmxvdy10cmFja2luZy1zZXJ2ZXIvJHtwcm9wcy5tbGZsb3dUcmFja2luZ1NlcnZlck5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1sZmxvdy10cmFja2luZy1zZXJ2ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1sZmxvd1RyYWNraW5nU2VydmVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1sZmxvd1RyYWNraW5nU2VydmVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1sZmxvdy10cmFja2luZy1zZXJ2ZXIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTWxmbG93VHJhY2tpbmdTZXJ2ZXJBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlck1sZmxvd1RyYWNraW5nU2VydmVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNbGZsb3dUcmFja2luZ1NlcnZlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtbGZsb3ctdHJhY2tpbmctc2VydmVyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1sZmxvd1RyYWNraW5nU2VydmVyTmFtZTogbWF0Y2guZ3JvdXBzIS5tbGZsb3dUcmFja2luZ1NlcnZlck5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWwocHJvcHM6IFNhZ2VNYWtlck1vZGVsQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptb2RlbC8ke3Byb3BzLm1vZGVsTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9kZWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vZGVsIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vZGVsQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyTW9kZWxBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vZGVsIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1vZGVsTmFtZTogbWF0Y2guZ3JvdXBzIS5tb2RlbE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtYmlhcy1qb2ItZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbEJpYXNKb2JEZWZpbml0aW9uKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJNb2RlbEJpYXNKb2JEZWZpbml0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLWJpYXMtam9iLWRlZmluaXRpb24vJHtwcm9wcy5tb2RlbEJpYXNKb2JEZWZpbml0aW9uTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9kZWwtYmlhcy1qb2ItZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxCaWFzSm9iRGVmaW5pdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbEJpYXNKb2JEZWZpbml0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vZGVsLWJpYXMtam9iLWRlZmluaXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyTW9kZWxCaWFzSm9iRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9kZWxCaWFzSm9iRGVmaW5pdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbC1iaWFzLWpvYi1kZWZpbml0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1vZGVsQmlhc0pvYkRlZmluaXRpb25OYW1lOiBtYXRjaC5ncm91cHMhLm1vZGVsQmlhc0pvYkRlZmluaXRpb25OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsLWNhcmQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxDYXJkKHByb3BzOiBTYWdlTWFrZXJNb2RlbENhcmRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLWNhcmQvJHtwcm9wcy5tb2RlbENhcmROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1jYXJkIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb2RlbENhcmRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9kZWxDYXJkQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vZGVsLWNhcmQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxDYXJkQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyTW9kZWxDYXJkQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbENhcmRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwtY2FyZCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtb2RlbENhcmROYW1lOiBtYXRjaC5ncm91cHMhLm1vZGVsQ2FyZE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtY2FyZC1leHBvcnQtam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsQ2FyZEV4cG9ydEpvYihcblx0XHRwcm9wczogU2FnZU1ha2VyTW9kZWxDYXJkRXhwb3J0Sm9iQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLWNhcmQvJHtwcm9wcy5tb2RlbENhcmROYW1lfS9leHBvcnQtam9iLyR7cHJvcHMuZXhwb3J0Sm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9kZWwtY2FyZC1leHBvcnQtam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb2RlbENhcmRFeHBvcnRKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9kZWxDYXJkRXhwb3J0Sm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vZGVsLWNhcmQtZXhwb3J0LWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbENhcmRFeHBvcnRKb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlck1vZGVsQ2FyZEV4cG9ydEpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9kZWxDYXJkRXhwb3J0Sm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vZGVsLWNhcmQtZXhwb3J0LWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtb2RlbENhcmROYW1lOiBtYXRjaC5ncm91cHMhLm1vZGVsQ2FyZE5hbWUsXG5cdFx0XHRleHBvcnRKb2JOYW1lOiBtYXRjaC5ncm91cHMhLmV4cG9ydEpvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtZXhwbGFpbmFiaWxpdHktam9iLWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24oXG5cdFx0cHJvcHM6IFNhZ2VNYWtlck1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLWV4cGxhaW5hYmlsaXR5LWpvYi1kZWZpbml0aW9uLyR7cHJvcHMubW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1leHBsYWluYWJpbGl0eS1qb2ItZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwtZXhwbGFpbmFiaWxpdHktam9iLWRlZmluaXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlck1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcblx0XHRcdFx0YEludmFsaWQgbW9kZWwtZXhwbGFpbmFiaWxpdHktam9iLWRlZmluaXRpb24gQVJOOiAke2Fybn1gLFxuXHRcdFx0KTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25OYW1lOlxuXHRcdFx0XHRtYXRjaC5ncm91cHMhLm1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb2RlbC1wYWNrYWdlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsUGFja2FnZShwcm9wczogU2FnZU1ha2VyTW9kZWxQYWNrYWdlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptb2RlbC1wYWNrYWdlLyR7cHJvcHMubW9kZWxQYWNrYWdlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9kZWwtcGFja2FnZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxQYWNrYWdlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsUGFja2FnZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1wYWNrYWdlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vZGVsUGFja2FnZUFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlck1vZGVsUGFja2FnZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9kZWxQYWNrYWdlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vZGVsLXBhY2thZ2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bW9kZWxQYWNrYWdlTmFtZTogbWF0Y2guZ3JvdXBzIS5tb2RlbFBhY2thZ2VOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsLXBhY2thZ2UtZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxQYWNrYWdlR3JvdXAocHJvcHM6IFNhZ2VNYWtlck1vZGVsUGFja2FnZUdyb3VwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptb2RlbC1wYWNrYWdlLWdyb3VwLyR7cHJvcHMubW9kZWxQYWNrYWdlR3JvdXBOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1wYWNrYWdlLWdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb2RlbFBhY2thZ2VHcm91cEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbFBhY2thZ2VHcm91cEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1wYWNrYWdlLWdyb3VwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vZGVsUGFja2FnZUdyb3VwQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJNb2RlbFBhY2thZ2VHcm91cEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9kZWxQYWNrYWdlR3JvdXBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwtcGFja2FnZS1ncm91cCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtb2RlbFBhY2thZ2VHcm91cE5hbWU6IG1hdGNoLmdyb3VwcyEubW9kZWxQYWNrYWdlR3JvdXBOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsLXF1YWxpdHktam9iLWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbihcblx0XHRwcm9wczogU2FnZU1ha2VyTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptb2RlbC1xdWFsaXR5LWpvYi1kZWZpbml0aW9uLyR7cHJvcHMubW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vZGVsLXF1YWxpdHktam9iLWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlck1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZTpcblx0XHRcdFx0bWF0Y2guZ3JvdXBzIS5tb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb25pdG9yaW5nLXNjaGVkdWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vbml0b3JpbmdTY2hlZHVsZShcblx0XHRwcm9wczogU2FnZU1ha2VyTW9uaXRvcmluZ1NjaGVkdWxlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vbml0b3Jpbmctc2NoZWR1bGUvJHtwcm9wcy5tb25pdG9yaW5nU2NoZWR1bGVOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb25pdG9yaW5nLXNjaGVkdWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb25pdG9yaW5nU2NoZWR1bGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9uaXRvcmluZ1NjaGVkdWxlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vbml0b3Jpbmctc2NoZWR1bGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9uaXRvcmluZ1NjaGVkdWxlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJNb25pdG9yaW5nU2NoZWR1bGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vbml0b3JpbmdTY2hlZHVsZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb25pdG9yaW5nLXNjaGVkdWxlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1vbml0b3JpbmdTY2hlZHVsZU5hbWU6IG1hdGNoLmdyb3VwcyEubW9uaXRvcmluZ1NjaGVkdWxlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb25pdG9yaW5nLXNjaGVkdWxlLWFsZXJ0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0KFxuXHRcdHByb3BzOiBTYWdlTWFrZXJNb25pdG9yaW5nU2NoZWR1bGVBbGVydEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptb25pdG9yaW5nLXNjaGVkdWxlLyR7cHJvcHMubW9uaXRvcmluZ1NjaGVkdWxlTmFtZX0vYWxlcnQvJHtwcm9wcy5tb25pdG9yaW5nU2NoZWR1bGVBbGVydE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vbml0b3Jpbmctc2NoZWR1bGUtYWxlcnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vbml0b3Jpbmctc2NoZWR1bGUtYWxlcnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9uaXRvcmluZ1NjaGVkdWxlQWxlcnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlck1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb25pdG9yaW5nU2NoZWR1bGVBbGVydEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb25pdG9yaW5nLXNjaGVkdWxlLWFsZXJ0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1vbml0b3JpbmdTY2hlZHVsZU5hbWU6IG1hdGNoLmdyb3VwcyEubW9uaXRvcmluZ1NjaGVkdWxlTmFtZSxcblx0XHRcdG1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0TmFtZTogbWF0Y2guZ3JvdXBzIS5tb25pdG9yaW5nU2NoZWR1bGVBbGVydE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbm90ZWJvb2staW5zdGFuY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbm90ZWJvb2tJbnN0YW5jZShwcm9wczogU2FnZU1ha2VyTm90ZWJvb2tJbnN0YW5jZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bm90ZWJvb2staW5zdGFuY2UvJHtwcm9wcy5ub3RlYm9va0luc3RhbmNlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbm90ZWJvb2staW5zdGFuY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE5vdGVib29rSW5zdGFuY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTm90ZWJvb2tJbnN0YW5jZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBub3RlYm9vay1pbnN0YW5jZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VOb3RlYm9va0luc3RhbmNlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJOb3RlYm9va0luc3RhbmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBOb3RlYm9va0luc3RhbmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG5vdGVib29rLWluc3RhbmNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG5vdGVib29rSW5zdGFuY2VOYW1lOiBtYXRjaC5ncm91cHMhLm5vdGVib29rSW5zdGFuY2VOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG5vdGVib29rLWluc3RhbmNlLWxpZmVjeWNsZS1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyhcblx0XHRwcm9wczogU2FnZU1ha2VyTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpub3RlYm9vay1pbnN0YW5jZS1saWZlY3ljbGUtY29uZmlnLyR7cHJvcHMubm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ05hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG5vdGVib29rLWluc3RhbmNlLWxpZmVjeWNsZS1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBub3RlYm9vay1pbnN0YW5jZS1saWZlY3ljbGUtY29uZmlnIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlck5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbm90ZWJvb2staW5zdGFuY2UtbGlmZWN5Y2xlLWNvbmZpZyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRub3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnTmFtZTpcblx0XHRcdFx0bWF0Y2guZ3JvdXBzIS5ub3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBvcHRpbWl6YXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG9wdGltaXphdGlvbkpvYihwcm9wczogU2FnZU1ha2VyT3B0aW1pemF0aW9uSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpvcHRpbWl6YXRpb24tam9iLyR7cHJvcHMub3B0aW1pemF0aW9uSm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgb3B0aW1pemF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkT3B0aW1pemF0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE9wdGltaXphdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBvcHRpbWl6YXRpb24tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU9wdGltaXphdGlvbkpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyT3B0aW1pemF0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBPcHRpbWl6YXRpb25Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgb3B0aW1pemF0aW9uLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRvcHRpbWl6YXRpb25Kb2JOYW1lOiBtYXRjaC5ncm91cHMhLm9wdGltaXphdGlvbkpvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcGFydG5lci1hcHAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcGFydG5lckFwcChwcm9wczogU2FnZU1ha2VyUGFydG5lckFwcEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cGFydG5lci1hcHAvJHtwcm9wcy5hcHBJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcGFydG5lci1hcHAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFBhcnRuZXJBcHBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUGFydG5lckFwcEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwYXJ0bmVyLWFwcCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQYXJ0bmVyQXBwQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyUGFydG5lckFwcEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUGFydG5lckFwcEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwYXJ0bmVyLWFwcCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhcHBJZDogbWF0Y2guZ3JvdXBzIS5hcHBJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwaXBlbGluZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwaXBlbGluZShwcm9wczogU2FnZU1ha2VyUGlwZWxpbmVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnBpcGVsaW5lLyR7cHJvcHMucGlwZWxpbmVOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwaXBlbGluZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUGlwZWxpbmVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUGlwZWxpbmVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcGlwZWxpbmUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUGlwZWxpbmVBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJQaXBlbGluZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUGlwZWxpbmVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcGlwZWxpbmUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cGlwZWxpbmVOYW1lOiBtYXRjaC5ncm91cHMhLnBpcGVsaW5lTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwaXBlbGluZS1leGVjdXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcGlwZWxpbmVFeGVjdXRpb24ocHJvcHM6IFNhZ2VNYWtlclBpcGVsaW5lRXhlY3V0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwaXBlbGluZS8ke3Byb3BzLnBpcGVsaW5lTmFtZX0vZXhlY3V0aW9uLyR7cHJvcHMucmFuZG9tU3RyaW5nfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwaXBlbGluZS1leGVjdXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFBpcGVsaW5lRXhlY3V0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFBpcGVsaW5lRXhlY3V0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHBpcGVsaW5lLWV4ZWN1dGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQaXBlbGluZUV4ZWN1dGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyUGlwZWxpbmVFeGVjdXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFBpcGVsaW5lRXhlY3V0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBpcGVsaW5lLWV4ZWN1dGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwaXBlbGluZU5hbWU6IG1hdGNoLmdyb3VwcyEucGlwZWxpbmVOYW1lLFxuXHRcdFx0cmFuZG9tU3RyaW5nOiBtYXRjaC5ncm91cHMhLnJhbmRvbVN0cmluZyxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwcm9jZXNzaW5nLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcm9jZXNzaW5nSm9iKHByb3BzOiBTYWdlTWFrZXJQcm9jZXNzaW5nSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwcm9jZXNzaW5nLWpvYi8ke3Byb3BzLnByb2Nlc3NpbmdKb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwcm9jZXNzaW5nLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUHJvY2Vzc2luZ0pvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQcm9jZXNzaW5nSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHByb2Nlc3Npbmctam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByb2Nlc3NpbmdKb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlclByb2Nlc3NpbmdKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFByb2Nlc3NpbmdKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcHJvY2Vzc2luZy1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cHJvY2Vzc2luZ0pvYk5hbWU6IG1hdGNoLmdyb3VwcyEucHJvY2Vzc2luZ0pvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcHJvamVjdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcm9qZWN0KHByb3BzOiBTYWdlTWFrZXJQcm9qZWN0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwcm9qZWN0LyR7cHJvcHMucHJvamVjdE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHByb2plY3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFByb2plY3RBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUHJvamVjdEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwcm9qZWN0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByb2plY3RBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJQcm9qZWN0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcm9qZWN0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHByb2plY3QgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cHJvamVjdE5hbWU6IG1hdGNoLmdyb3VwcyEucHJvamVjdE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcmVzZXJ2ZWQtY2FwYWNpdHkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVzZXJ2ZWRDYXBhY2l0eShwcm9wczogU2FnZU1ha2VyUmVzZXJ2ZWRDYXBhY2l0eUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cmVzZXJ2ZWQtY2FwYWNpdHkvJHtwcm9wcy5yYW5kb21TdHJpbmd9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHJlc2VydmVkLWNhcGFjaXR5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZXNlcnZlZENhcGFjaXR5QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlc2VydmVkQ2FwYWNpdHlBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcmVzZXJ2ZWQtY2FwYWNpdHkgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVzZXJ2ZWRDYXBhY2l0eUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyUmVzZXJ2ZWRDYXBhY2l0eUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVzZXJ2ZWRDYXBhY2l0eUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCByZXNlcnZlZC1jYXBhY2l0eSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyYW5kb21TdHJpbmc6IG1hdGNoLmdyb3VwcyEucmFuZG9tU3RyaW5nLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNhZ2VtYWtlci1jYXRhbG9nIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNhZ2VtYWtlckNhdGFsb2cocHJvcHM6IFNhZ2VNYWtlclNhZ2VtYWtlckNhdGFsb2dBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNhZ2VtYWtlci1jYXRhbG9nLyR7cHJvcHMucmVzb3VyY2VDYXRhbG9nTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2FnZW1ha2VyLWNhdGFsb2cgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNhZ2VtYWtlckNhdGFsb2dBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2FnZW1ha2VyQ2F0YWxvZ0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzYWdlbWFrZXItY2F0YWxvZyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTYWdlbWFrZXJDYXRhbG9nQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJTYWdlbWFrZXJDYXRhbG9nQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTYWdlbWFrZXJDYXRhbG9nQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNhZ2VtYWtlci1jYXRhbG9nIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlQ2F0YWxvZ05hbWU6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VDYXRhbG9nTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzaGFyZWQtbW9kZWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2hhcmVkTW9kZWwocHJvcHM6IFNhZ2VNYWtlclNoYXJlZE1vZGVsQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzaGFyZWQtbW9kZWwvJHtwcm9wcy5zaGFyZWRNb2RlbElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzaGFyZWQtbW9kZWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNoYXJlZE1vZGVsQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNoYXJlZE1vZGVsQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNoYXJlZC1tb2RlbCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTaGFyZWRNb2RlbEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlclNoYXJlZE1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTaGFyZWRNb2RlbEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzaGFyZWQtbW9kZWwgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c2hhcmVkTW9kZWxJZDogbWF0Y2guZ3JvdXBzIS5zaGFyZWRNb2RlbElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNoYXJlZC1tb2RlbC1ldmVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzaGFyZWRNb2RlbEV2ZW50KHByb3BzOiBTYWdlTWFrZXJTaGFyZWRNb2RlbEV2ZW50QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzaGFyZWQtbW9kZWwtZXZlbnQvJHtwcm9wcy5ldmVudElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzaGFyZWQtbW9kZWwtZXZlbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNoYXJlZE1vZGVsRXZlbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2hhcmVkTW9kZWxFdmVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzaGFyZWQtbW9kZWwtZXZlbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2hhcmVkTW9kZWxFdmVudEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyU2hhcmVkTW9kZWxFdmVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2hhcmVkTW9kZWxFdmVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzaGFyZWQtbW9kZWwtZXZlbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZXZlbnRJZDogbWF0Y2guZ3JvdXBzIS5ldmVudElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNwYWNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNwYWNlKHByb3BzOiBTYWdlTWFrZXJTcGFjZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c3BhY2UvJHtwcm9wcy5kb21haW5JZH0vJHtwcm9wcy5zcGFjZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNwYWNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTcGFjZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTcGFjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzcGFjZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTcGFjZUFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlclNwYWNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTcGFjZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzcGFjZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkb21haW5JZDogbWF0Y2guZ3JvdXBzIS5kb21haW5JZCxcblx0XHRcdHNwYWNlTmFtZTogbWF0Y2guZ3JvdXBzIS5zcGFjZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc3R1ZGlvLWxpZmVjeWNsZS1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc3R1ZGlvTGlmZWN5Y2xlQ29uZmlnKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c3R1ZGlvLWxpZmVjeWNsZS1jb25maWcvJHtwcm9wcy5zdHVkaW9MaWZlY3ljbGVDb25maWdOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzdHVkaW8tbGlmZWN5Y2xlLWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzdHVkaW8tbGlmZWN5Y2xlLWNvbmZpZyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTdHVkaW9MaWZlY3ljbGVDb25maWdBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlclN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHN0dWRpby1saWZlY3ljbGUtY29uZmlnIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHN0dWRpb0xpZmVjeWNsZUNvbmZpZ05hbWU6IG1hdGNoLmdyb3VwcyEuc3R1ZGlvTGlmZWN5Y2xlQ29uZmlnTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB0cmFpbmluZy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdHJhaW5pbmdKb2IocHJvcHM6IFNhZ2VNYWtlclRyYWluaW5nSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp0cmFpbmluZy1qb2IvJHtwcm9wcy50cmFpbmluZ0pvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHRyYWluaW5nLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVHJhaW5pbmdKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVHJhaW5pbmdKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdHJhaW5pbmctam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVRyYWluaW5nSm9iQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyVHJhaW5pbmdKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFRyYWluaW5nSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRyYWluaW5nLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR0cmFpbmluZ0pvYk5hbWU6IG1hdGNoLmdyb3VwcyEudHJhaW5pbmdKb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHRyYWluaW5nLXBsYW4gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdHJhaW5pbmdQbGFuKHByb3BzOiBTYWdlTWFrZXJUcmFpbmluZ1BsYW5Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnRyYWluaW5nLXBsYW4vJHtwcm9wcy50cmFpbmluZ1BsYW5OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB0cmFpbmluZy1wbGFuIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRUcmFpbmluZ1BsYW5Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVHJhaW5pbmdQbGFuQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHRyYWluaW5nLXBsYW4gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVHJhaW5pbmdQbGFuQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyVHJhaW5pbmdQbGFuQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBUcmFpbmluZ1BsYW5Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdHJhaW5pbmctcGxhbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR0cmFpbmluZ1BsYW5OYW1lOiBtYXRjaC5ncm91cHMhLnRyYWluaW5nUGxhbk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgdHJhbnNmb3JtLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB0cmFuc2Zvcm1Kb2IocHJvcHM6IFNhZ2VNYWtlclRyYW5zZm9ybUpvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dHJhbnNmb3JtLWpvYi8ke3Byb3BzLnRyYW5zZm9ybUpvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHRyYW5zZm9ybS1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFRyYW5zZm9ybUpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBUcmFuc2Zvcm1Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdHJhbnNmb3JtLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VUcmFuc2Zvcm1Kb2JBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJUcmFuc2Zvcm1Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFRyYW5zZm9ybUpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0cmFuc2Zvcm0tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRyYW5zZm9ybUpvYk5hbWU6IG1hdGNoLmdyb3VwcyEudHJhbnNmb3JtSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB1c2VyLXByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdXNlclByb2ZpbGUocHJvcHM6IFNhZ2VNYWtlclVzZXJQcm9maWxlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp1c2VyLXByb2ZpbGUvJHtwcm9wcy5kb21haW5JZH0vJHtwcm9wcy51c2VyUHJvZmlsZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHVzZXItcHJvZmlsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVXNlclByb2ZpbGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVXNlclByb2ZpbGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdXNlci1wcm9maWxlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVVzZXJQcm9maWxlQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyVXNlclByb2ZpbGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFVzZXJQcm9maWxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHVzZXItcHJvZmlsZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkb21haW5JZDogbWF0Y2guZ3JvdXBzIS5kb21haW5JZCxcblx0XHRcdHVzZXJQcm9maWxlTmFtZTogbWF0Y2guZ3JvdXBzIS51c2VyUHJvZmlsZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgd29ya2ZvcmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHdvcmtmb3JjZShwcm9wczogU2FnZU1ha2VyV29ya2ZvcmNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp3b3JrZm9yY2UvJHtwcm9wcy53b3JrZm9yY2VOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB3b3JrZm9yY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFdvcmtmb3JjZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBXb3JrZm9yY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgd29ya2ZvcmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVdvcmtmb3JjZUFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlcldvcmtmb3JjZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gV29ya2ZvcmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHdvcmtmb3JjZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR3b3JrZm9yY2VOYW1lOiBtYXRjaC5ncm91cHMhLndvcmtmb3JjZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgd29ya3RlYW0gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgd29ya3RlYW0ocHJvcHM6IFNhZ2VNYWtlcldvcmt0ZWFtQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp3b3JrdGVhbS8ke3Byb3BzLndvcmt0ZWFtTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgd29ya3RlYW0gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFdvcmt0ZWFtQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFdvcmt0ZWFtQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHdvcmt0ZWFtIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVdvcmt0ZWFtQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyV29ya3RlYW1Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFdvcmt0ZWFtQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHdvcmt0ZWFtIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHdvcmt0ZWFtTmFtZTogbWF0Y2guZ3JvdXBzIS53b3JrdGVhbU5hbWUsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3Igc2FnZW1ha2VyLlxuICovXG5leHBvcnQgY2xhc3MgU2FnZU1ha2VyT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFkZEFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkFkZEFzc29jaWF0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBZGRUYWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkVGFnczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6QWRkVGFnc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzb2NpYXRlVHJpYWxDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVUcmlhbENvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QXNzb2NpYXRlVHJpYWxDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXR0YWNoQ2x1c3Rlck5vZGVWb2x1bWUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBdHRhY2hDbHVzdGVyTm9kZVZvbHVtZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QXR0YWNoQ2x1c3Rlck5vZGVWb2x1bWVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hBZGRDbHVzdGVyTm9kZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEFkZENsdXN0ZXJOb2Rlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QmF0Y2hBZGRDbHVzdGVyTm9kZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hEZWxldGVDbHVzdGVyTm9kZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZUNsdXN0ZXJOb2Rlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QmF0Y2hEZWxldGVDbHVzdGVyTm9kZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hEZXNjcmliZU1vZGVsUGFja2FnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGVzY3JpYmVNb2RlbFBhY2thZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkJhdGNoRGVzY3JpYmVNb2RlbFBhY2thZ2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hHZXRNZXRyaWNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRNZXRyaWNzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpCYXRjaEdldE1ldHJpY3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoR2V0UmVjb3JkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRSZWNvcmQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkJhdGNoR2V0UmVjb3JkXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaFB1dE1ldHJpY3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFB1dE1ldHJpY3M6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkJhdGNoUHV0TWV0cmljc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hSZWJvb3RDbHVzdGVyTm9kZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFJlYm9vdENsdXN0ZXJOb2Rlczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hSZXBsYWNlQ2x1c3Rlck5vZGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hSZXBsYWNlQ2x1c3Rlck5vZGVzOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaFdyaXRlUmVjb3JkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hXcml0ZVJlY29yZDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QmF0Y2hXcml0ZVJlY29yZFwiLFxuXHRcdFwic2FnZW1ha2VyOlB1dFJlY29yZFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDb21wbGV0ZVJvbGxvdXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDb21wbGV0ZVJvbGxvdXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcInNhZ2VtYWtlcjpDb21wbGV0ZVJvbGxvdXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQUlCZW5jaG1hcmtKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBSUJlbmNobWFya0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFJQmVuY2htYXJrSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQUlSZWNvbW1lbmRhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFJUmVjb21tZW5kYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQUlXb3JrbG9hZENvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFJV29ya2xvYWRDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVBSVdvcmtsb2FkQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFjdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFjdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBbGdvcml0aG0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBbGdvcml0aG06IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVBbGdvcml0aG1cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcHA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVBcHBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQXBwSW1hZ2VDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcHBJbWFnZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFwcEltYWdlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFydGlmYWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXJ0aWZhY3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVBcnRpZmFjdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBdXRvTUxKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvTUxKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVBdXRvTUxKb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBdXRvTUxKb2JWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9NTEpvYlYyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQXV0b01MSm9iVjJcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2x1c3Rlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUNsdXN0ZXJcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUNsdXN0ZXJTb2Z0d2FyZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29kZVJlcG9zaXRvcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb2RlUmVwb3NpdG9yeTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUNvZGVSZXBvc2l0b3J5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbXBpbGF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29tcGlsYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVDb21waWxhdGlvbkpvYlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbXB1dGVRdW90YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbXB1dGVRdW90YTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUNvbXB1dGVRdW90YVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDb250ZXh0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29udGV4dDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUNvbnRleHRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRGV2aWNlRmxlZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEZXZpY2VGbGVldDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRG9tYWluIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRG9tYWluOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlRG9tYWluXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRWRnZURlcGxveW1lbnRQbGFuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRWRnZURlcGxveW1lbnRQbGFuOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFZGdlRGVwbG95bWVudFN0YWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRWRnZURlcGxveW1lbnRTdGFnZTogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRWRnZVBhY2thZ2luZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVkZ2VQYWNrYWdpbmdKb2I6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVFbmRwb2ludFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFbmRwb2ludENvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZHBvaW50Q29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlRW5kcG9pbnRDb25maWdcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFeHBlcmltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXhwZXJpbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUV4cGVyaW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRmVhdHVyZUdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmVhdHVyZUdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlRmVhdHVyZUdyb3VwXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRmxvd0RlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbG93RGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUZsb3dEZWZpbml0aW9uXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSHViIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHViOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSHViXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUh1YkNvbnRlbnRQcmVzaWduZWRVcmxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHViQ29udGVudFByZXNpZ25lZFVybHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUh1YkNvbnRlbnRQcmVzaWduZWRVcmxzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUh1YkNvbnRlbnRSZWZlcmVuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdWJDb250ZW50UmVmZXJlbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSHViQ29udGVudFJlZmVyZW5jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVIdW1hblRhc2tVaSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh1bWFuVGFza1VpOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSHVtYW5UYXNrVWlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSW1hZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbWFnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUltYWdlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSW1hZ2VWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW1hZ2VWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVJbWFnZVZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSW5mZXJlbmNlQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlQ29tcG9uZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSW5mZXJlbmNlQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUluZmVyZW5jZUV4cGVyaW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSW5mZXJlbmNlRXhwZXJpbWVudFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUpvYlwiLFxuXHRcdFwic2FnZW1ha2VyOkltcG9ydEh1YkNvbnRlbnRcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUh1YkNvbnRlbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTGFiZWxpbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMYWJlbGluZ0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUxhYmVsaW5nSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTWxmbG93QXBwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWxmbG93QXBwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTWxmbG93QXBwXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNbGZsb3dUcmFja2luZ1NlcnZlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1sZmxvd1RyYWNraW5nU2VydmVyXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTW9kZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsXCIsXG5cdFx0XCJzYWdlbWFrZXI6RGVwbG95SHViTW9kZWxcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbENhcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbENhcmQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbENhcmRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTW9kZWxDYXJkRXhwb3J0Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDYXJkRXhwb3J0Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbENhcmRFeHBvcnRKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTW9kZWxQYWNrYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxQYWNrYWdlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxQYWNrYWdlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTW9kZWxQYWNrYWdlR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbFBhY2thZ2VHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsUGFja2FnZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvblwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1vbml0b3JpbmdTY2hlZHVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vbml0b3JpbmdTY2hlZHVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1vbml0b3JpbmdTY2hlZHVsZVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU5vdGVib29rSW5zdGFuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVOb3RlYm9va0luc3RhbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTm90ZWJvb2tJbnN0YW5jZVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVPcHRpbWl6YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVPcHRpbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVPcHRpbWl6YXRpb25Kb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQYXJ0bmVyQXBwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGFydG5lckFwcDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVBhcnRuZXJBcHBcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQYXJ0bmVyQXBwUHJlc2lnbmVkVXJsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGFydG5lckFwcFByZXNpZ25lZFVybDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUGFydG5lckFwcFByZXNpZ25lZFVybFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQaXBlbGluZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBpcGVsaW5lOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUGlwZWxpbmVcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQcmVzaWduZWREb21haW5VcmwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcmVzaWduZWREb21haW5Vcmw6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZERvbWFpblVybFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQcmVzaWduZWRNbGZsb3dBcHBVcmwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcmVzaWduZWRNbGZsb3dBcHBVcmw6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZE1sZmxvd0FwcFVybFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQcmVzaWduZWRNbGZsb3dUcmFja2luZ1NlcnZlclVybCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByZXNpZ25lZE1sZmxvd1RyYWNraW5nU2VydmVyVXJsOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcmVzaWduZWRNbGZsb3dUcmFja2luZ1NlcnZlclVybFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQcmVzaWduZWROb3RlYm9va0luc3RhbmNlVXJsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJlc2lnbmVkTm90ZWJvb2tJbnN0YW5jZVVybDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUHJlc2lnbmVkTm90ZWJvb2tJbnN0YW5jZVVybFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQcm9jZXNzaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvY2Vzc2luZ0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVByb2Nlc3NpbmdKb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQcm9qZWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvamVjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVByb2plY3RcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTcGFjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNwYWNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlU3BhY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVRyYWluaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJhaW5pbmdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVUcmFpbmluZ0pvYlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVRyYWluaW5nUGxhbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyYWluaW5nUGxhbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVJlc2VydmVkQ2FwYWNpdHlcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVUcmFpbmluZ1BsYW5cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVHJhbnNmb3JtSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJhbnNmb3JtSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlVHJhbnNmb3JtSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVRyaWFsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJpYWw6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVUcmlhbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUcmlhbENvbXBvbmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyaWFsQ29tcG9uZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlVHJpYWxDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVXNlclByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVVc2VyUHJvZmlsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVVzZXJQcm9maWxlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlV29ya2ZvcmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV29ya2ZvcmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlV29ya2ZvcmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVdvcmt0ZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV29ya3RlYW06IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVXb3JrdGVhbVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBSUJlbmNobWFya0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFJQmVuY2htYXJrSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVBSUJlbmNobWFya0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBSVJlY29tbWVuZGF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQUlSZWNvbW1lbmRhdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlQUlSZWNvbW1lbmRhdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBSVdvcmtsb2FkQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQUlXb3JrbG9hZENvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlQUlXb3JrbG9hZENvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBY3Rpb246IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUFjdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWxnb3JpdGhtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWxnb3JpdGhtOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVBbGdvcml0aG1cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlQXBwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBcHBJbWFnZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcEltYWdlQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVBcHBJbWFnZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBcnRpZmFjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFydGlmYWN0OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVBcnRpZmFjdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlQXNzb2NpYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDbHVzdGVyOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVDbHVzdGVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDb2RlUmVwb3NpdG9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvZGVSZXBvc2l0b3J5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVDb2RlUmVwb3NpdG9yeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDb21waWxhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbXBpbGF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVDb21waWxhdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDb21wdXRlUXVvdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb21wdXRlUXVvdGE6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUNvbXB1dGVRdW90YVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDb250ZXh0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29udGV4dDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlQ29udGV4dFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRGV2aWNlRmxlZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEZXZpY2VGbGVldDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRG9tYWluIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRG9tYWluOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVEb21haW5cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUVkZ2VEZXBsb3ltZW50UGxhbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUVkZ2VEZXBsb3ltZW50UGxhbjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRWRnZURlcGxveW1lbnRTdGFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUVkZ2VEZXBsb3ltZW50U3RhZ2U6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUVuZHBvaW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVFbmRwb2ludENvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUVuZHBvaW50Q29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVFbmRwb2ludENvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVFeHBlcmltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRXhwZXJpbWVudDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlRXhwZXJpbWVudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRmVhdHVyZUdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRmVhdHVyZUdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVGZWF0dXJlR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRmxvd0RlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGbG93RGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlRmxvd0RlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSHViIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHViOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVIdWJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUh1YkNvbnRlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIdWJDb250ZW50OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVIdWJDb250ZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVIdWJDb250ZW50UmVmZXJlbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHViQ29udGVudFJlZmVyZW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlSHViQ29udGVudFJlZmVyZW5jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVIdW1hbkxvb3AgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIdW1hbkxvb3A6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUh1bWFuTG9vcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSHVtYW5UYXNrVWkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIdW1hblRhc2tVaTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlSHVtYW5UYXNrVWlcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUltYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW1hZ2U6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUltYWdlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJbWFnZVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbWFnZVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUltYWdlVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJbmZlcmVuY2VDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbmZlcmVuY2VDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUluZmVyZW5jZUNvbXBvbmVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJbmZlcmVuY2VFeHBlcmltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5mZXJlbmNlRXhwZXJpbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlSW5mZXJlbmNlRXhwZXJpbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVKb2I6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTWxmbG93QXBwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWxmbG93QXBwOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVNbGZsb3dBcHBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1sZmxvd1RyYWNraW5nU2VydmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1sZmxvd1RyYWNraW5nU2VydmVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWw6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZU1vZGVsXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNb2RlbENhcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbENhcmQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZU1vZGVsQ2FyZFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTW9kZWxQYWNrYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxQYWNrYWdlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNb2RlbFBhY2thZ2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTW9kZWxQYWNrYWdlR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbFBhY2thZ2VHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxQYWNrYWdlR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTW9kZWxQYWNrYWdlR3JvdXBQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbFBhY2thZ2VHcm91cFBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxQYWNrYWdlR3JvdXBQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTW9uaXRvcmluZ1NjaGVkdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9uaXRvcmluZ1NjaGVkdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNb25pdG9yaW5nU2NoZWR1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTm90ZWJvb2tJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU5vdGVib29rSW5zdGFuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU5vdGVib29rSW5zdGFuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlT3B0aW1pemF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlT3B0aW1pemF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVPcHRpbWl6YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUGFydG5lckFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBhcnRuZXJBcHA6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZVBhcnRuZXJBcHBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVBpcGVsaW5lIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUGlwZWxpbmU6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZVBpcGVsaW5lXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQcm9jZXNzaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvY2Vzc2luZ0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlUHJvY2Vzc2luZ0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQcm9qZWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvamVjdDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlUHJvamVjdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVjb3JkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb3JkOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVSZWNvcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVNwYWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU3BhY2U6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZVNwYWNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTdHVkaW9MaWZlY3ljbGVDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTdHVkaW9MaWZlY3ljbGVDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVUYWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGFnczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlVGFnc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVHJhaW5pbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUcmFpbmluZ0pvYjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlVHJhaW5pbmdKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVRyaWFsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVHJpYWw6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZVRyaWFsXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVUcmlhbENvbXBvbmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRyaWFsQ29tcG9uZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVUcmlhbENvbXBvbmVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVVc2VyUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVVzZXJQcm9maWxlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVVc2VyUHJvZmlsZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlV29ya2ZvcmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlV29ya2ZvcmNlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVXb3JrZm9yY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVdvcmt0ZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlV29ya3RlYW06IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZVdvcmt0ZWFtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXJlZ2lzdGVyRGV2aWNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJEZXZpY2VzOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFJQmVuY2htYXJrSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBSUJlbmNobWFya0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVBSUJlbmNobWFya0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFJUmVjb21tZW5kYXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFJUmVjb21tZW5kYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQUlSZWNvbW1lbmRhdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFJV29ya2xvYWRDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFJV29ya2xvYWRDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQUlXb3JrbG9hZENvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWN0aW9uOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZUFjdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBbGdvcml0aG0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFsZ29yaXRobTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVBbGdvcml0aG1cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXBwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHA6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlQXBwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFwcEltYWdlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHBJbWFnZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVBcHBJbWFnZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFydGlmYWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcnRpZmFjdDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVBcnRpZmFjdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBdXRvTUxKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUF1dG9NTEpvYjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVBdXRvTUxKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXV0b01MSm9iVjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUF1dG9NTEpvYlYyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUF1dG9NTEpvYlYyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ2x1c3RlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2x1c3Rlcjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNsdXN0ZXJFdmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2x1c3RlckV2ZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJFdmVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNsdXN0ZXJOb2RlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDbHVzdGVyTm9kZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyTm9kZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXJTY2hlZHVsZXJDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3RlclNjaGVkdWxlckNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNvZGVSZXBvc2l0b3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb2RlUmVwb3NpdG9yeTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVDb2RlUmVwb3NpdG9yeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNvbXBpbGF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb21waWxhdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVDb21waWxhdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNvbXB1dGVRdW90YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29tcHV0ZVF1b3RhOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUNvbXB1dGVRdW90YVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNvbnRleHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbnRleHQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlQ29udGV4dFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVEZXZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURldmljZTogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVEZXZpY2VGbGVldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGV2aWNlRmxlZXQ6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRG9tYWluIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEb21haW46IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlRG9tYWluXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUVkZ2VEZXBsb3ltZW50UGxhbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRWRnZURlcGxveW1lbnRQbGFuOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUVkZ2VQYWNrYWdpbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVkZ2VQYWNrYWdpbmdKb2I6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVuZHBvaW50OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZUVuZHBvaW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUVuZHBvaW50Q29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFbmRwb2ludENvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVFbmRwb2ludENvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUV4cGVyaW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUV4cGVyaW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlRXhwZXJpbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUZlYXR1cmVHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRmVhdHVyZUdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUZlYXR1cmVHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUZlYXR1cmVNZXRhZGF0YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRmVhdHVyZU1ldGFkYXRhOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUZlYXR1cmVNZXRhZGF0YVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUZsb3dEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVGbG93RGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVGbG93RGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUh1YiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSHViOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZUh1YlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVIdWJDb250ZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVIdWJDb250ZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUh1YkNvbnRlbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVIdW1hbkxvb3AgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUh1bWFuTG9vcDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVIdW1hbkxvb3BcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSHVtYW5UYXNrVWkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUh1bWFuVGFza1VpOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUh1bWFuVGFza1VpXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSW1hZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUltYWdlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZUltYWdlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUltYWdlVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW1hZ2VWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUltYWdlVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUluZmVyZW5jZUNvbXBvbmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5mZXJlbmNlQ29tcG9uZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUluZmVyZW5jZUNvbXBvbmVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUluZmVyZW5jZUV4cGVyaW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUluZmVyZW5jZUV4cGVyaW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSW5mZXJlbmNlRXhwZXJpbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZUpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVKb2JTY2hlbWFWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVKb2JTY2hlbWFWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUpvYlNjaGVtYVZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVMYWJlbGluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTGFiZWxpbmdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTGFiZWxpbmdKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVMaW5lYWdlR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxpbmVhZ2VHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVMaW5lYWdlR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNbGZsb3dBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1sZmxvd0FwcDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVNbGZsb3dBcHBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1sZmxvd1RyYWNraW5nU2VydmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1sZmxvd1RyYWNraW5nU2VydmVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9kZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1vZGVsQmlhc0pvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsQmlhc0pvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxCaWFzSm9iRGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1vZGVsQ2FyZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxDYXJkOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsQ2FyZFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNb2RlbENhcmRFeHBvcnRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsQ2FyZEV4cG9ydEpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbENhcmRFeHBvcnRKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNb2RlbFBhY2thZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsUGFja2FnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbFBhY2thZ2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNb2RlbFBhY2thZ2VHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxQYWNrYWdlR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxQYWNrYWdlR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNb25pdG9yaW5nU2NoZWR1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vbml0b3JpbmdTY2hlZHVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNb25pdG9yaW5nU2NoZWR1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVOb3RlYm9va0luc3RhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVOb3RlYm9va0luc3RhbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU5vdGVib29rSW5zdGFuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVPcHRpbWl6YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU9wdGltaXphdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVPcHRpbWl6YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVQYXJ0bmVyQXBwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQYXJ0bmVyQXBwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVBhcnRuZXJBcHBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVQaXBlbGluZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGlwZWxpbmU6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlUGlwZWxpbmVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUGlwZWxpbmVEZWZpbml0aW9uRm9yRXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQaXBlbGluZURlZmluaXRpb25Gb3JFeGVjdXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlUGlwZWxpbmVEZWZpbml0aW9uRm9yRXhlY3V0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUGlwZWxpbmVFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBpcGVsaW5lRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVBpcGVsaW5lRXhlY3V0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUHJvY2Vzc2luZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUHJvY2Vzc2luZ0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVQcm9jZXNzaW5nSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUHJvamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUHJvamVjdDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVQcm9qZWN0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlc2VydmVkQ2FwYWNpdHkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlc2VydmVkQ2FwYWNpdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlUmVzZXJ2ZWRDYXBhY2l0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVNwYWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTcGFjZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVTcGFjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTdHVkaW9MaWZlY3ljbGVDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVN0dWRpb0xpZmVjeWNsZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVTdHVkaW9MaWZlY3ljbGVDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTdWJzY3JpYmVkV29ya3RlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVN1YnNjcmliZWRXb3JrdGVhbTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVTdWJzY3JpYmVkV29ya3RlYW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVUcmFpbmluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJhaW5pbmdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlVHJhaW5pbmdKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVUcmFpbmluZ1BsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRyYWluaW5nUGxhbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVUcmFpbmluZ1BsYW5cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVUcmFpbmluZ1BsYW5FeHRlbnNpb25IaXN0b3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmFpbmluZ1BsYW5FeHRlbnNpb25IaXN0b3J5OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRyYW5zZm9ybUpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJhbnNmb3JtSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVRyYW5zZm9ybUpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRyaWFsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmlhbDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVUcmlhbFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVUcmlhbENvbXBvbmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJpYWxDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlVHJpYWxDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVVc2VyUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVXNlclByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlVXNlclByb2ZpbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVXb3JrZm9yY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmtmb3JjZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVXb3JrZm9yY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlV29ya3RlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmt0ZWFtOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZVdvcmt0ZWFtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXRhY2hDbHVzdGVyTm9kZVZvbHVtZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGFjaENsdXN0ZXJOb2RlVm9sdW1lOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXRhY2hDbHVzdGVyTm9kZVZvbHVtZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW8gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW86IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRpc2FibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpb1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVUcmlhbENvbXBvbmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZVRyaWFsQ29tcG9uZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEaXNhc3NvY2lhdGVUcmlhbENvbXBvbmVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBFbmFibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpbyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpFbmFibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpb1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBFeHRlbmRUcmFpbmluZ1BsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBFeHRlbmRUcmFpbmluZ1BsYW46IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERlcGxveW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREZXBsb3ltZW50czogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGV2aWNlRmxlZXRSZXBvcnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERldmljZUZsZWV0UmVwb3J0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREZXZpY2VSZWdpc3RyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERldmljZVJlZ2lzdHJhdGlvbjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TGluZWFnZUdyb3VwUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRMaW5lYWdlR3JvdXBQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkdldExpbmVhZ2VHcm91cFBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkdldE1vZGVsUGFja2FnZUdyb3VwUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlY29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb3JkOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpHZXRSZWNvcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvU3RhdHVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpb1N0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6R2V0U2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW9TdGF0dXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6R2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZWFyY2hTdWdnZXN0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U2VhcmNoU3VnZ2VzdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkdldFNlYXJjaFN1Z2dlc3Rpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEltcG9ydEh1YkNvbnRlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRIdWJDb250ZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1wb3J0SHViQ29udGVudFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEludm9rZUVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkludm9rZUVuZHBvaW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VFbmRwb2ludEFzeW5jIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRW5kcG9pbnRBc3luYzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnRBc3luY1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VFbmRwb2ludFdpdGhSZXNwb25zZVN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUVuZHBvaW50V2l0aFJlc3BvbnNlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFJQmVuY2htYXJrSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBSUJlbmNobWFya0pvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RBSUJlbmNobWFya0pvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFJUmVjb21tZW5kYXRpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFJUmVjb21tZW5kYXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0QUlSZWNvbW1lbmRhdGlvbkpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFJV29ya2xvYWRDb25maWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFJV29ya2xvYWRDb25maWdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0QUlXb3JrbG9hZENvbmZpZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFjdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEFjdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBbGdvcml0aG1zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFsZ29yaXRobXM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RBbGdvcml0aG1zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWxpYXNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbGlhc2VzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0QWxpYXNlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcEltYWdlQ29uZmlncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBJbWFnZUNvbmZpZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RBcHBJbWFnZUNvbmZpZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEFwcHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBcnRpZmFjdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXJ0aWZhY3RzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0QXJ0aWZhY3RzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXNzb2NpYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFzc29jaWF0aW9uczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEFzc29jaWF0aW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEF1dG9NTEpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b01MSm9iczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEF1dG9NTEpvYnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDYW5kaWRhdGVzRm9yQXV0b01MSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENhbmRpZGF0ZXNGb3JBdXRvTUxKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RDYW5kaWRhdGVzRm9yQXV0b01MSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDbHVzdGVyRXZlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJFdmVudHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RDbHVzdGVyRXZlbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q2x1c3Rlck5vZGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJOb2Rlczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdENsdXN0ZXJOb2Rlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENsdXN0ZXJTY2hlZHVsZXJDb25maWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJTY2hlZHVsZXJDb25maWdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Q2x1c3RlclNjaGVkdWxlckNvbmZpZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENsdXN0ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0Q2x1c3RlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb2RlUmVwb3NpdG9yaWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvZGVSZXBvc2l0b3JpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RDb2RlUmVwb3NpdG9yaWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb21waWxhdGlvbkpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29tcGlsYXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Q29tcGlsYXRpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb21wdXRlUXVvdGFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbXB1dGVRdW90YXM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RDb21wdXRlUXVvdGFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29udGV4dHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29udGV4dHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RDb250ZXh0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERldmljZUZsZWV0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REZXZpY2VGbGVldHM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REZXZpY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERldmljZXM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REb21haW5zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvbWFpbnM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3REb21haW5zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RWRnZURlcGxveW1lbnRQbGFucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFZGdlRGVwbG95bWVudFBsYW5zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RWRnZVBhY2thZ2luZ0pvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RWRnZVBhY2thZ2luZ0pvYnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFbmRwb2ludENvbmZpZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5kcG9pbnRDb25maWdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0RW5kcG9pbnRDb25maWdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFbmRwb2ludHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5kcG9pbnRzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0RW5kcG9pbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RXhwZXJpbWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXhwZXJpbWVudHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RFeHBlcmltZW50c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEZlYXR1cmVHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RmVhdHVyZUdyb3Vwczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEZlYXR1cmVHcm91cHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RGbG93RGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd0RlZmluaXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Rmxvd0RlZmluaXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RIdWJDb250ZW50VmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHViQ29udGVudFZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0SHViQ29udGVudFZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RIdWJDb250ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIdWJDb250ZW50czogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEh1YkNvbnRlbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SHVicyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIdWJzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0SHVic1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEh1bWFuTG9vcHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHVtYW5Mb29wczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEh1bWFuTG9vcHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RIdW1hblRhc2tVaXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHVtYW5UYXNrVWlzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0SHVtYW5UYXNrVWlzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW1hZ2VWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbWFnZVZlcnNpb25zOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0SW1hZ2VWZXJzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEltYWdlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbWFnZXM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RJbWFnZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmZlcmVuY2VDb21wb25lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluZmVyZW5jZUNvbXBvbmVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VDb21wb25lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmZlcmVuY2VFeHBlcmltZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VFeHBlcmltZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEluZmVyZW5jZUV4cGVyaW1lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JTdGVwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JTdGVwczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYlN0ZXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RKb2JTY2hlbWFWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RKb2JTY2hlbWFWZXJzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEpvYlNjaGVtYVZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEpvYnM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RKb2JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TGFiZWxpbmdKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdExhYmVsaW5nSm9iczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdExhYmVsaW5nSm9ic1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdExhYmVsaW5nSm9ic0Zvcldvcmt0ZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdExhYmVsaW5nSm9ic0Zvcldvcmt0ZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TGFiZWxpbmdKb2JzRm9yV29ya3RlYW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdExpbmVhZ2VHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TGluZWFnZUdyb3Vwczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdExpbmVhZ2VHcm91cHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNbGZsb3dBcHBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1sZmxvd0FwcHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RNbGZsb3dBcHBzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TWxmbG93VHJhY2tpbmdTZXJ2ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1sZmxvd1RyYWNraW5nU2VydmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1sZmxvd1RyYWNraW5nU2VydmVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxCaWFzSm9iRGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxCaWFzSm9iRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNb2RlbEJpYXNKb2JEZWZpbml0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxDYXJkRXhwb3J0Sm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbENhcmRFeHBvcnRKb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9kZWxDYXJkRXhwb3J0Sm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxDYXJkVmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxDYXJkVmVyc2lvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNb2RlbENhcmRWZXJzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxDYXJkcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbENhcmRzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0TW9kZWxDYXJkc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vZGVsTWV0YWRhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxNZXRhZGF0YTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdE1vZGVsTWV0YWRhdGFcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbFBhY2thZ2VHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxQYWNrYWdlR3JvdXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9kZWxQYWNrYWdlR3JvdXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbFBhY2thZ2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsUGFja2FnZXM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RNb2RlbFBhY2thZ2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdE1vZGVsc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vbml0b3JpbmdBbGVydEhpc3RvcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9uaXRvcmluZ0FsZXJ0SGlzdG9yeTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdBbGVydEhpc3RvcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vbml0b3JpbmdBbGVydHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9uaXRvcmluZ0FsZXJ0czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdBbGVydHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vbml0b3JpbmdFeGVjdXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vbml0b3JpbmdFeGVjdXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9uaXRvcmluZ0V4ZWN1dGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vbml0b3JpbmdTY2hlZHVsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9uaXRvcmluZ1NjaGVkdWxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdTY2hlZHVsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5vdGVib29rSW5zdGFuY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5vdGVib29rSW5zdGFuY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Tm90ZWJvb2tJbnN0YW5jZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE9wdGltaXphdGlvbkpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T3B0aW1pemF0aW9uSm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE9wdGltaXphdGlvbkpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFBhcnRuZXJBcHBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBhcnRuZXJBcHBzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0UGFydG5lckFwcHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQaXBlbGluZUV4ZWN1dGlvblN0ZXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lRXhlY3V0aW9uU3RlcHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RQaXBlbGluZUV4ZWN1dGlvblN0ZXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQaXBlbGluZUV4ZWN1dGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVFeGVjdXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVFeGVjdXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQaXBlbGluZVBhcmFtZXRlcnNGb3JFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVQYXJhbWV0ZXJzRm9yRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVQYXJhbWV0ZXJzRm9yRXhlY3V0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQaXBlbGluZVZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lVmVyc2lvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RQaXBlbGluZVZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQaXBlbGluZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvY2Vzc2luZ0pvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvY2Vzc2luZ0pvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RQcm9jZXNzaW5nSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvamVjdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvamVjdHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RQcm9qZWN0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY29yZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb3Jkczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFJlY29yZHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZXNvdXJjZUNhdGFsb2dzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlQ2F0YWxvZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RSZXNvdXJjZUNhdGFsb2dzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTcGFjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3BhY2VzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0U3BhY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U3RhZ2VEZXZpY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN0YWdlRGV2aWNlczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFN0dWRpb0xpZmVjeWNsZUNvbmZpZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdFN0dWRpb0xpZmVjeWNsZUNvbmZpZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFN1YnNjcmliZWRXb3JrdGVhbXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3Vic2NyaWJlZFdvcmt0ZWFtczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdFN1YnNjcmliZWRXb3JrdGVhbXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFRhZ3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUcmFpbmluZ0pvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJhaW5pbmdKb2JzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0VHJhaW5pbmdKb2JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VHJhaW5pbmdKb2JzRm9ySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJhaW5pbmdKb2JzRm9ySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RUcmFpbmluZ0pvYnNGb3JIeXBlclBhcmFtZXRlclR1bmluZ0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VHJhaW5pbmdQbGFucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcmFpbmluZ1BsYW5zOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0VHJhaW5pbmdQbGFuc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRyYW5zZm9ybUpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJhbnNmb3JtSm9iczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFRyYW5zZm9ybUpvYnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUcmlhbENvbXBvbmVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJpYWxDb21wb25lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0VHJpYWxDb21wb25lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUcmlhbHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJpYWxzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0VHJpYWxzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VWx0cmFTZXJ2ZXJzQnlSZXNlcnZlZENhcGFjaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFVsdHJhU2VydmVyc0J5UmVzZXJ2ZWRDYXBhY2l0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdFVsdHJhU2VydmVyc0J5UmVzZXJ2ZWRDYXBhY2l0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VXNlclByb2ZpbGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFVzZXJQcm9maWxlczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFVzZXJQcm9maWxlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFdvcmtmb3JjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya2ZvcmNlczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFdvcmtmb3JjZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RXb3JrdGVhbXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya3RlYW1zOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0V29ya3RlYW1zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dE1vZGVsUGFja2FnZUdyb3VwUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpQdXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRSZWNvcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZWNvcmQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlB1dFJlY29yZFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUXVlcnlMaW5lYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUXVlcnlMaW5lYWdlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpRdWVyeUxpbmVhZ2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVyRGV2aWNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyRGV2aWNlczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVuZGVyVWlUZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbmRlclVpVGVtcGxhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6UmVuZGVyVWlUZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXRyeVBpcGVsaW5lRXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cnlQaXBlbGluZUV4ZWN1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6UmV0cnlQaXBlbGluZUV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTYW1wbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTYW1wbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcInNhZ2VtYWtlcjpTYW1wbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2FtcGxlV2l0aFJlc3BvbnNlU3RyZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2FtcGxlV2l0aFJlc3BvbnNlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJzYWdlbWFrZXI6U2FtcGxlV2l0aFJlc3BvbnNlU3RyZWFtXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNlYXJjaCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U2VhcmNoXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZWFyY2hUcmFpbmluZ1BsYW5PZmZlcmluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZWFyY2hUcmFpbmluZ1BsYW5PZmZlcmluZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlNlYXJjaFRyYWluaW5nUGxhbk9mZmVyaW5nc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZW5kSGVhcnRiZWF0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZEhlYXJ0YmVhdDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcEZhaWx1cmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwRmFpbHVyZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcEZhaWx1cmVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcFN1Y2Nlc3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwU3VjY2Vzczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcFN1Y2Nlc3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRDbHVzdGVySGVhbHRoQ2hlY2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydENsdXN0ZXJIZWFsdGhDaGVjazogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RhcnRDbHVzdGVySGVhbHRoQ2hlY2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRFZGdlRGVwbG95bWVudFN0YWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRFZGdlRGVwbG95bWVudFN0YWdlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEh1bWFuTG9vcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0SHVtYW5Mb29wOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdGFydEh1bWFuTG9vcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRJbmZlcmVuY2VFeHBlcmltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRJbmZlcmVuY2VFeHBlcmltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdGFydEluZmVyZW5jZUV4cGVyaW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRNbGZsb3dUcmFja2luZ1NlcnZlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TWxmbG93VHJhY2tpbmdTZXJ2ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0YXJ0TWxmbG93VHJhY2tpbmdTZXJ2ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRNb25pdG9yaW5nU2NoZWR1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1vbml0b3JpbmdTY2hlZHVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RhcnRNb25pdG9yaW5nU2NoZWR1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnROb3RlYm9va0luc3RhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnROb3RlYm9va0luc3RhbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdGFydE5vdGVib29rSW5zdGFuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRQaXBlbGluZUV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UGlwZWxpbmVFeGVjdXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0YXJ0UGlwZWxpbmVFeGVjdXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRTZXNzaW9uOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdGFydFNlc3Npb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BBSUJlbmNobWFya0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BBSUJlbmNobWFya0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RvcEFJQmVuY2htYXJrSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BBSVJlY29tbWVuZGF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEFJUmVjb21tZW5kYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BBSVJlY29tbWVuZGF0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BBdXRvTUxKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQXV0b01MSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdG9wQXV0b01MSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wQ29tcGlsYXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQ29tcGlsYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BDb21waWxhdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wRWRnZURlcGxveW1lbnRTdGFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BFZGdlRGVwbG95bWVudFN0YWdlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wRWRnZVBhY2thZ2luZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BFZGdlUGFja2FnaW5nSm9iOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wSHVtYW5Mb29wIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEh1bWFuTG9vcDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U3RvcEh1bWFuTG9vcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdG9wSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEluZmVyZW5jZUV4cGVyaW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wSW5mZXJlbmNlRXhwZXJpbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RvcEluZmVyZW5jZUV4cGVyaW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BKb2I6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlN0b3BKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BMYWJlbGluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BMYWJlbGluZ0pvYjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U3RvcExhYmVsaW5nSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wTWxmbG93VHJhY2tpbmdTZXJ2ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wTWxmbG93VHJhY2tpbmdTZXJ2ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BNbGZsb3dUcmFja2luZ1NlcnZlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wTW9uaXRvcmluZ1NjaGVkdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcE1vbml0b3JpbmdTY2hlZHVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RvcE1vbml0b3JpbmdTY2hlZHVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wTm90ZWJvb2tJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BOb3RlYm9va0luc3RhbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdG9wTm90ZWJvb2tJbnN0YW5jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wT3B0aW1pemF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcE9wdGltaXphdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RvcE9wdGltaXphdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wUGlwZWxpbmVFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wUGlwZWxpbmVFeGVjdXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BQaXBlbGluZUV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wUHJvY2Vzc2luZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BQcm9jZXNzaW5nSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdG9wUHJvY2Vzc2luZ0pvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFRyYWluaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRyYWluaW5nSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdG9wVHJhaW5pbmdKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BUcmFuc2Zvcm1Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wVHJhbnNmb3JtSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdG9wVHJhbnNmb3JtSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBY3Rpb246IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZUFjdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQXBwSW1hZ2VDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcHBJbWFnZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQXBwSW1hZ2VDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQXJ0aWZhY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcnRpZmFjdDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlQXJ0aWZhY3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpCYXRjaEFkZENsdXN0ZXJOb2Rlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVyXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNvZnR3YXJlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNsdXN0ZXJTb2Z0d2FyZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsdXN0ZXJTb2Z0d2FyZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNvZnR3YXJlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvZGVSZXBvc2l0b3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29kZVJlcG9zaXRvcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUNvZGVSZXBvc2l0b3J5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbXB1dGVRdW90YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbXB1dGVRdW90YTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ29tcHV0ZVF1b3RhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbnRleHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb250ZXh0OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVDb250ZXh0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVEZXZpY2VGbGVldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURldmljZUZsZWV0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVEZXZpY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGV2aWNlczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRG9tYWluIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRG9tYWluOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZURvbWFpblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUVuZHBvaW50OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVFbmRwb2ludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRW5kcG9pbnRXZWlnaHRzQW5kQ2FwYWNpdGllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUVuZHBvaW50V2VpZ2h0c0FuZENhcGFjaXRpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUVuZHBvaW50V2VpZ2h0c0FuZENhcGFjaXRpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUV4cGVyaW1lbnQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZUV4cGVyaW1lbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUZlYXR1cmVHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZlYXR1cmVHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlRmVhdHVyZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUZlYXR1cmVNZXRhZGF0YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZlYXR1cmVNZXRhZGF0YTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlRmVhdHVyZU1ldGFkYXRhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUh1YiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUh1Yjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlSHViXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVIdWJDb250ZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSHViQ29udGVudDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlSHViQ29udGVudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSHViQ29udGVudFJlZmVyZW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUh1YkNvbnRlbnRSZWZlcmVuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUh1YkNvbnRlbnRSZWZlcmVuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSW1hZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbWFnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVJbWFnZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbWFnZVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbWFnZVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUltYWdlVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbmZlcmVuY2VDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbmZlcmVuY2VDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUluZmVyZW5jZUNvbXBvbmVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbmZlcmVuY2VDb21wb25lbnRSdW50aW1lQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50UnVudGltZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50UnVudGltZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbmZlcmVuY2VFeHBlcmltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVNbGZsb3dBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNbGZsb3dBcHA6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZU1sZmxvd0FwcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNbGZsb3dUcmFja2luZ1NlcnZlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTW9kZWxDYXJkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTW9kZWxDYXJkOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVNb2RlbENhcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1vZGVsUGFja2FnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vZGVsUGFja2FnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTW9kZWxQYWNrYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1vbml0b3JpbmdBbGVydCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vbml0b3JpbmdBbGVydDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTW9uaXRvcmluZ0FsZXJ0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1vbml0b3JpbmdTY2hlZHVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vbml0b3JpbmdTY2hlZHVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVNb25pdG9yaW5nU2NoZWR1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTm90ZWJvb2tJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU5vdGVib29rSW5zdGFuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTm90ZWJvb2tJbnN0YW5jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQYXJ0bmVyQXBwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGFydG5lckFwcDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZVBhcnRuZXJBcHBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUGlwZWxpbmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQaXBlbGluZTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVQaXBlbGluZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQaXBlbGluZUV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBpcGVsaW5lRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVQaXBlbGluZUV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQaXBlbGluZVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQaXBlbGluZVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZVBpcGVsaW5lVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQcm9qZWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvamVjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZVByb2plY3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUmV3YXJkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmV3YXJkOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlUmV3YXJkXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVNwYWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3BhY2U6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZVNwYWNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVUcmFpbmluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRyYWluaW5nSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVUcmFpbmluZ0pvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlVHJpYWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUcmlhbDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlVHJpYWxcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVRyaWFsQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVHJpYWxDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZVRyaWFsQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVVzZXJQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVXNlclByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlVXNlclByb2ZpbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlV29ya2ZvcmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlV29ya2ZvcmNlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVXb3JrZm9yY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVdvcmt0ZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlV29ya3RlYW06IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZVdvcmt0ZWFtXCJdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3Igc2FnZW1ha2VyLlxuICovXG5leHBvcnQgY2xhc3MgU2FnZU1ha2VyQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBZGRUYWdzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFRhZ3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpUYWdnaW5nQWN0aW9uXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDYWxsV2l0aEJlYXJlclRva2VuIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbGxXaXRoQmVhcmVyVG9rZW5Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpCZWFyZXJUb2tlblR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFJQmVuY2htYXJrSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFJQmVuY2htYXJrSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFJUmVjb21tZW5kYXRpb25Kb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFJV29ya2xvYWRDb25maWcgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQUlXb3JrbG9hZENvbmZpZ0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQWN0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFjdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQWxnb3JpdGhtIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFsZ29yaXRobUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQXBwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlVmVyc2lvbkFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3duZXJVc2VyUHJvZmlsZUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlNwYWNlU2hhcmluZ1R5cGVcIixcblx0XHRcInNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBcHBJbWFnZUNvbmZpZyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcHBJbWFnZUNvbmZpZ0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQXJ0aWZhY3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXJ0aWZhY3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUF1dG9NTEpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvTUxKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUF1dG9NTEpvYlYyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9NTEpvYlYyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDbHVzdGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsdXN0ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ29kZVJlcG9zaXRvcnkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29kZVJlcG9zaXRvcnlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNvbXBpbGF0aW9uSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbXBpbGF0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDb21wdXRlUXVvdGEgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29tcHV0ZVF1b3RhQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDb250ZXh0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbnRleHRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNcIixcblx0XHRcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZURldmljZUZsZWV0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURldmljZUZsZWV0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVEb21haW4gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRG9tYWluQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6QXBwTmV0d29ya0FjY2Vzc1R5cGVcIixcblx0XHRcInNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VWZXJzaW9uQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUVkZ2VEZXBsb3ltZW50UGxhbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlRGVwbG95bWVudFBsYW5Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUVkZ2VEZXBsb3ltZW50U3RhZ2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRWRnZURlcGxveW1lbnRTdGFnZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRWRnZVBhY2thZ2luZ0pvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlUGFja2FnaW5nSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVFbmRwb2ludCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmRwb2ludENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRW5kcG9pbnRDb25maWcgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW5kcG9pbnRDb25maWdDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpBY2NlbGVyYXRvclR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOk1vZGVsQXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOlNlcnZlcmxlc3NNYXhDb25jdXJyZW5jeVwiLFxuXHRcdFwic2FnZW1ha2VyOlNlcnZlcmxlc3NNZW1vcnlTaXplXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUV4cGVyaW1lbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXhwZXJpbWVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRmVhdHVyZUdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZlYXR1cmVHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cERpc2FibGVHbHVlVGFibGVDcmVhdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cEVuYWJsZU9ubGluZVN0b3JlXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlQ29uZmlnXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlUzNVcmlcIixcblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPbmxpbmVTdG9yZUttc0tleUFyblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRmxvd0RlZmluaXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmxvd0RlZmluaXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpXb3JrdGVhbUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOldvcmt0ZWFtVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSHViIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh1YkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSHViQ29udGVudFJlZmVyZW5jZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdWJDb250ZW50UmVmZXJlbmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVIdW1hblRhc2tVaSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdW1hblRhc2tVaUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpGaWxlU3lzdGVtQWNjZXNzTW9kZVwiLFxuXHRcdFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1EaXJlY3RvcnlQYXRoXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmlsZVN5c3RlbUlkXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmlsZVN5c3RlbVR5cGVcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNcIixcblx0XHRcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUltYWdlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUltYWdlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVJbmZlcmVuY2VDb21wb25lbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlQ29tcG9uZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TW9kZWxBcm5cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUluZmVyZW5jZUV4cGVyaW1lbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlRXhwZXJpbWVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVMYWJlbGluZ0pvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMYWJlbGluZ0pvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOldvcmt0ZWFtQXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6V29ya3RlYW1UeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNbGZsb3dBcHAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWxmbG93QXBwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNbGZsb3dUcmFja2luZ1NlcnZlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNbGZsb3dUcmFja2luZ1NlcnZlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTW9kZWwgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpEaXJlY3RHYXRlZE1vZGVsQWNjZXNzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNcIixcblx0XHRcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1vZGVsQ2FyZCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbENhcmRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcblx0XHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XHRcInNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzXCIsXG5cdFx0XHRcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCIsXG5cdFx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRcdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbFBhY2thZ2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxQYWNrYWdlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMvJHtNZXRhZGF0YUtleX1cIixcblx0XHRcInNhZ2VtYWtlcjpNb2RlbEFwcHJvdmFsU3RhdHVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TW9kZWxMaWZlQ3ljbGU6U3RhZ2VcIixcblx0XHRcInNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZVN0YXR1c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTW9kZWxQYWNrYWdlR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxQYWNrYWdlR3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiLFxuXHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vbml0b3JpbmdTY2hlZHVsZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiLFxuXHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVOb3RlYm9va0luc3RhbmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6QWNjZWxlcmF0b3JUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkRpcmVjdEludGVybmV0QWNjZXNzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOk1pbmltdW1JbnN0YW5jZU1ldGFkYXRhU2VydmljZVZlcnNpb25cIixcblx0XHRcInNhZ2VtYWtlcjpOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOlJvb3RBY2Nlc3NcIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLCBcImF3czpUYWdLZXlzXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlT3B0aW1pemF0aW9uSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9wdGltaXphdGlvbkpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUGFydG5lckFwcCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXJ0bmVyQXBwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQaXBlbGluZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQaXBlbGluZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUHJvY2Vzc2luZ0pvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9jZXNzaW5nSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQcm9qZWN0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb2plY3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlc2VydmVkQ2FwYWNpdHkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzZXJ2ZWRDYXBhY2l0eUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlU3BhY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU3BhY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZUFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOk93bmVyVXNlclByb2ZpbGVBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpSZW1vdGVBY2Nlc3NcIixcblx0XHRcInNhZ2VtYWtlcjpTcGFjZVNoYXJpbmdUeXBlXCIsXG5cdFx0XCJzYWdlbWFrZXI6U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZ0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVHJhaW5pbmdKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJhaW5pbmdKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpEaXJlY3RHYXRlZE1vZGVsQWNjZXNzXCIsXG5cdFx0XCJzYWdlbWFrZXI6RW5hYmxlUmVtb3RlRGVidWdcIixcblx0XHRcInNhZ2VtYWtlcjpGaWxlU3lzdGVtQWNjZXNzTW9kZVwiLFxuXHRcdFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1EaXJlY3RvcnlQYXRoXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmlsZVN5c3RlbUlkXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmlsZVN5c3RlbVR5cGVcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOktlZXBBbGl2ZVBlcmlvZFwiLFxuXHRcdFwic2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNcIixcblx0XHRcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVRyYWluaW5nUGxhbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmFpbmluZ1BsYW5Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVRyYW5zZm9ybUpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmFuc2Zvcm1Kb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TW9kZWxBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVRyaWFsIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyaWFsQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVUcmlhbENvbXBvbmVudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmlhbENvbXBvbmVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVXNlclByb2ZpbGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXNlclByb2ZpbGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VWZXJzaW9uQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlV29ya2ZvcmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmtmb3JjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlV29ya3RlYW0gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV29ya3RlYW1Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZUFwcCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpPd25lclVzZXJQcm9maWxlQXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6U3BhY2VTaGFyaW5nVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlRmVhdHVyZUdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZlYXR1cmVHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVTcGFjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTcGFjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOk93bmVyVXNlclByb2ZpbGVBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpTcGFjZVNoYXJpbmdUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVUYWdzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRhZ3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcImF3czpUYWdLZXlzXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVQaXBlbGluZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBpcGVsaW5lQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6UGlwZWxpbmVWZXJzaW9uSWRcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEltcG9ydEh1YkNvbnRlbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0SHViQ29udGVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgSW52b2tlRW5kcG9pbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRW5kcG9pbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpUYXJnZXRNb2RlbFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVnaXN0ZXJEZXZpY2VzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyRGV2aWNlc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU2VhcmNoIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlNlYXJjaFZpc2liaWxpdHlDb25kaXRpb24vJHtGaWx0ZXJLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFBpcGVsaW5lRXhlY3V0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UGlwZWxpbmVFeGVjdXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpQaXBlbGluZVZlcnNpb25JZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlQ2x1c3RlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVEb21haW4gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRG9tYWluQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QXBwTmV0d29ya0FjY2Vzc1R5cGVcIixcblx0XHRcInNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VWZXJzaW9uQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZU1vZGVsUGFja2FnZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNb2RlbFBhY2thZ2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllcy8ke01ldGFkYXRhS2V5fVwiLFxuXHRcdFwic2FnZW1ha2VyOkN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzVG9SZW1vdmVcIixcblx0XHRcInNhZ2VtYWtlcjpNb2RlbEFwcHJvdmFsU3RhdHVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TW9kZWxMaWZlQ3ljbGU6U3RhZ2VcIixcblx0XHRcInNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZVN0YXR1c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlTW9uaXRvcmluZ1NjaGVkdWxlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vbml0b3JpbmdTY2hlZHVsZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiLFxuXHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlTm90ZWJvb2tJbnN0YW5jZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVOb3RlYm9va0luc3RhbmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWNjZWxlcmF0b3JUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpNaW5pbXVtSW5zdGFuY2VNZXRhZGF0YVNlcnZpY2VWZXJzaW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FybnNcIixcblx0XHRcInNhZ2VtYWtlcjpSb290QWNjZXNzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVQaXBlbGluZVZlcnNpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGlwZWxpbmVWZXJzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6UGlwZWxpbmVWZXJzaW9uSWRcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVByb2plY3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvamVjdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlU3BhY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3BhY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpJbWFnZUFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOk93bmVyVXNlclByb2ZpbGVBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpSZW1vdGVBY2Nlc3NcIixcblx0XHRcInNhZ2VtYWtlcjpTcGFjZVNoYXJpbmdUeXBlXCIsXG5cdFx0XCJzYWdlbWFrZXI6U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlVHJhaW5pbmdKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVHJhaW5pbmdKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpFbmFibGVSZW1vdGVEZWJ1Z1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpLZWVwQWxpdmVQZXJpb2RcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVVzZXJQcm9maWxlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVVzZXJQcm9maWxlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RG9tYWluU2hhcmluZ091dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlVmVyc2lvbkFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOlN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdF07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkFjY2VsZXJhdG9yVHlwZXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBQ0NFTEVSQVRPUl9UWVBFUyA9IFwic2FnZW1ha2VyOkFjY2VsZXJhdG9yVHlwZXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpBcHBOZXR3b3JrQWNjZXNzVHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVBQX05FVFdPUktfQUNDRVNTX1RZUEUgPSBcInNhZ2VtYWtlcjpBcHBOZXR3b3JrQWNjZXNzVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkJlYXJlclRva2VuVHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQkVBUkVSX1RPS0VOX1RZUEUgPSBcInNhZ2VtYWtlcjpCZWFyZXJUb2tlblR5cGVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpDdXJyZW50Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMvJHtNZXRhZGF0YUtleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IENVUlJFTlRfQ1VTVE9NRVJfTUVUQURBVEFfUFJPUEVSVElFUyA9XG5cdFx0XCJzYWdlbWFrZXI6Q3VycmVudEN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzLyR7TWV0YWRhdGFLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6Q3VycmVudE1vZGVsTGlmZUN5Y2xlU3RhZ2UgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IENVUlJFTlRfTU9ERUxfTElGRV9DWUNMRV9TVEFHRSA9XG5cdFx0XCJzYWdlbWFrZXI6Q3VycmVudE1vZGVsTGlmZUN5Y2xlU3RhZ2VcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpDdXJyZW50TW9kZWxMaWZlQ3ljbGVTdGFnZVN0YXR1cyAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ1VSUkVOVF9NT0RFTF9MSUZFX0NZQ0xFX1NUQUdFX1NUQVRVUyA9XG5cdFx0XCJzYWdlbWFrZXI6Q3VycmVudE1vZGVsTGlmZUN5Y2xlU3RhZ2VTdGF0dXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllcy8ke01ldGFkYXRhS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ1VTVE9NRVJfTUVUQURBVEFfUFJPUEVSVElFUyA9XG5cdFx0XCJzYWdlbWFrZXI6Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMvJHtNZXRhZGF0YUtleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllc1RvUmVtb3ZlIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ1VTVE9NRVJfTUVUQURBVEFfUFJPUEVSVElFU19UT19SRU1PVkUgPVxuXHRcdFwic2FnZW1ha2VyOkN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzVG9SZW1vdmVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpEaXJlY3RHYXRlZE1vZGVsQWNjZXNzIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBESVJFQ1RfR0FURURfTU9ERUxfQUNDRVNTID1cblx0XHRcInNhZ2VtYWtlcjpEaXJlY3RHYXRlZE1vZGVsQWNjZXNzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RGlyZWN0SW50ZXJuZXRBY2Nlc3MgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IERJUkVDVF9JTlRFUk5FVF9BQ0NFU1MgPSBcInNhZ2VtYWtlcjpEaXJlY3RJbnRlcm5ldEFjY2Vzc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkRvbWFpbklkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBET01BSU5fSUQgPSBcInNhZ2VtYWtlcjpEb21haW5JZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXkgKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IERPTUFJTl9TSEFSSU5HX09VVFBVVF9LTVNfS0VZID1cblx0XHRcInNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RG9tYWluU2hhcmluZ091dHB1dEttc0tleUFybiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRE9NQUlOX1NIQVJJTkdfT1VUUFVUX0tNU19LRVlfQVJOID1cblx0XHRcInNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5QXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RW5hYmxlUmVtb3RlRGVidWcgKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBFTkFCTEVfUkVNT1RFX0RFQlVHID0gXCJzYWdlbWFrZXI6RW5hYmxlUmVtb3RlRGVidWdcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBEaXNhYmxlR2x1ZVRhYmxlQ3JlYXRpb24gKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX0RJU0FCTEVfR0xVRV9UQUJMRV9DUkVBVElPTiA9XG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwRGlzYWJsZUdsdWVUYWJsZUNyZWF0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwRW5hYmxlT25saW5lU3RvcmUgKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX0VOQUJMRV9PTkxJTkVfU1RPUkUgPVxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cEVuYWJsZU9ubGluZVN0b3JlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlQ29uZmlnIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRkVBVFVSRV9HUk9VUF9PRkZMSU5FX1NUT1JFX0NPTkZJRyA9XG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlQ29uZmlnXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS21zS2V5IChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX09GRkxJTkVfU1RPUkVfS01TX0tFWSA9XG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS21zS2V5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS21zS2V5QXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX09GRkxJTkVfU1RPUkVfS01TX0tFWV9BUk4gPVxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUttc0tleUFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZVMzVXJpIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX09GRkxJTkVfU1RPUkVfUzNfVVJJID1cblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVTM1VyaVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9ubGluZVN0b3JlS21zS2V5IChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX09OTElORV9TVE9SRV9LTVNfS0VZID1cblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPbmxpbmVTdG9yZUttc0tleVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9ubGluZVN0b3JlS21zS2V5QXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX09OTElORV9TVE9SRV9LTVNfS0VZX0FSTiA9XG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT25saW5lU3RvcmVLbXNLZXlBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpGaWxlU3lzdGVtQWNjZXNzTW9kZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRklMRV9TWVNURU1fQUNDRVNTX01PREUgPSBcInNhZ2VtYWtlcjpGaWxlU3lzdGVtQWNjZXNzTW9kZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZpbGVTeXN0ZW1EaXJlY3RvcnlQYXRoIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBGSUxFX1NZU1RFTV9ESVJFQ1RPUllfUEFUSCA9XG5cdFx0XCJzYWdlbWFrZXI6RmlsZVN5c3RlbURpcmVjdG9yeVBhdGhcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpGaWxlU3lzdGVtSWQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZJTEVfU1lTVEVNX0lEID0gXCJzYWdlbWFrZXI6RmlsZVN5c3RlbUlkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmlsZVN5c3RlbVR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZJTEVfU1lTVEVNX1RZUEUgPSBcInNhZ2VtYWtlcjpGaWxlU3lzdGVtVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkhvbWVFZnNGaWxlU3lzdGVtS21zS2V5IChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBIT01FX0VGU19GSUxFX1NZU1RFTV9LTVNfS0VZID1cblx0XHRcInNhZ2VtYWtlcjpIb21lRWZzRmlsZVN5c3RlbUttc0tleVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkltYWdlQXJucyAoQXJyYXlPZkFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IElNQUdFX0FSTlMgPSBcInNhZ2VtYWtlcjpJbWFnZUFybnNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zIChBcnJheU9mQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSU1BR0VfVkVSU0lPTl9BUk5TID0gXCJzYWdlbWFrZXI6SW1hZ2VWZXJzaW9uQXJuc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkluc3RhbmNlVHlwZXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBJTlNUQU5DRV9UWVBFUyA9IFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSU5URVJfQ09OVEFJTkVSX1RSQUZGSUNfRU5DUllQVElPTiA9XG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOktlZXBBbGl2ZVBlcmlvZCAoTnVtZXJpYykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEtFRVBfQUxJVkVfUEVSSU9EID0gXCJzYWdlbWFrZXI6S2VlcEFsaXZlUGVyaW9kXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kcyAoTnVtZXJpYykgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1BWF9SVU5USU1FX0lOX1NFQ09ORFMgPSBcInNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6TWluaW11bUluc3RhbmNlTWV0YWRhdGFTZXJ2aWNlVmVyc2lvbiAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTUlOSU1VTV9JTlNUQU5DRV9NRVRBREFUQV9TRVJWSUNFX1ZFUlNJT04gPVxuXHRcdFwic2FnZW1ha2VyOk1pbmltdW1JbnN0YW5jZU1ldGFkYXRhU2VydmljZVZlcnNpb25cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpNb2RlbEFwcHJvdmFsU3RhdHVzIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBNT0RFTF9BUFBST1ZBTF9TVEFUVVMgPSBcInNhZ2VtYWtlcjpNb2RlbEFwcHJvdmFsU3RhdHVzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6TW9kZWxBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1PREVMX0FSTiA9IFwic2FnZW1ha2VyOk1vZGVsQXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6TW9kZWxMaWZlQ3ljbGU6U3RhZ2UgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1PREVMX0xJRkVfQ1lDTEVfU1RBR0UgPSBcInNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOk1vZGVsTGlmZUN5Y2xlOlN0YWdlU3RhdHVzIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBNT0RFTF9MSUZFX0NZQ0xFX1NUQUdFX1NUQVRVUyA9XG5cdFx0XCJzYWdlbWFrZXI6TW9kZWxMaWZlQ3ljbGU6U3RhZ2VTdGF0dXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTkVUV09SS19JU09MQVRJT04gPSBcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FybnMgKEFycmF5T2ZBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBOT1RFQk9PS19JTlNUQU5DRV9MSUZFQ1lDTEVfQ09ORklHX0FSTlMgPVxuXHRcdFwic2FnZW1ha2VyOk5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5zXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6T3V0cHV0S21zS2V5IChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBPVVRQVVRfS01TX0tFWSA9IFwic2FnZW1ha2VyOk91dHB1dEttc0tleVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOk91dHB1dEttc0tleUFybiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgT1VUUFVUX0tNU19LRVlfQVJOID0gXCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6T3duZXJVc2VyUHJvZmlsZUFybiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgT1dORVJfVVNFUl9QUk9GSUxFX0FSTiA9IFwic2FnZW1ha2VyOk93bmVyVXNlclByb2ZpbGVBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpQaXBlbGluZVZlcnNpb25JZCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUElQRUxJTkVfVkVSU0lPTl9JRCA9IFwic2FnZW1ha2VyOlBpcGVsaW5lVmVyc2lvbklkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6UmVtb3RlQWNjZXNzIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBSRU1PVEVfQUNDRVNTID0gXCJzYWdlbWFrZXI6UmVtb3RlQWNjZXNzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6UmVzb3VyY2VUYWcvIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBSRVNPVVJDRV9UQUcgPSBcInNhZ2VtYWtlcjpSZXNvdXJjZVRhZy9cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpSb290QWNjZXNzIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBST09UX0FDQ0VTUyA9IFwic2FnZW1ha2VyOlJvb3RBY2Nlc3NcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpTZWFyY2hWaXNpYmlsaXR5Q29uZGl0aW9uLyR7RmlsdGVyS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VBUkNIX1ZJU0lCSUxJVFlfQ09ORElUSU9OID1cblx0XHRcInNhZ2VtYWtlcjpTZWFyY2hWaXNpYmlsaXR5Q29uZGl0aW9uLyR7RmlsdGVyS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlNlcnZlcmxlc3NNYXhDb25jdXJyZW5jeSAoTnVtZXJpYykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZFUkxFU1NfTUFYX0NPTkNVUlJFTkNZID1cblx0XHRcInNhZ2VtYWtlcjpTZXJ2ZXJsZXNzTWF4Q29uY3VycmVuY3lcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpTZXJ2ZXJsZXNzTWVtb3J5U2l6ZSAoTnVtZXJpYykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZFUkxFU1NfTUVNT1JZX1NJWkUgPSBcInNhZ2VtYWtlcjpTZXJ2ZXJsZXNzTWVtb3J5U2l6ZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlNwYWNlU2hhcmluZ1R5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNQQUNFX1NIQVJJTkdfVFlQRSA9IFwic2FnZW1ha2VyOlNwYWNlU2hhcmluZ1R5cGVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zIChBcnJheU9mQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU1RVRElPX0xJRkVDWUNMRV9DT05GSUdfQVJOUyA9XG5cdFx0XCJzYWdlbWFrZXI6U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlRhZ2dpbmdBY3Rpb24gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRBR0dJTkdfQUNUSU9OID0gXCJzYWdlbWFrZXI6VGFnZ2luZ0FjdGlvblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlRhcmdldE1vZGVsIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBUQVJHRVRfTU9ERUwgPSBcInNhZ2VtYWtlcjpUYXJnZXRNb2RlbFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlVzZXJQcm9maWxlTmFtZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVVNFUl9QUk9GSUxFX05BTUUgPSBcInNhZ2VtYWtlcjpVc2VyUHJvZmlsZU5hbWVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpWb2x1bWVLbXNLZXkgKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFZPTFVNRV9LTVNfS0VZID0gXCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBWT0xVTUVfS01TX0tFWV9BUk4gPSBcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVlBDX1NFQ1VSSVRZX0dST1VQX0lEUyA9IFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpWcGNTdWJuZXRzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVlBDX1NVQk5FVFMgPSBcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6V29ya3RlYW1Bcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFdPUktURUFNX0FSTiA9IFwic2FnZW1ha2VyOldvcmt0ZWFtQXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6V29ya3RlYW1UeXBlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBXT1JLVEVBTV9UWVBFID0gXCJzYWdlbWFrZXI6V29ya3RlYW1UeXBlXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpBY2NlbGVyYXRvclR5cGVzYC5cblx0ICovXG5cdHN0YXRpYyBhY2NlbGVyYXRvclR5cGVzKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcInNhZ2VtYWtlcjpBY2NlbGVyYXRvclR5cGVzXCI6IHZhbHVlcyB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkFwcE5ldHdvcmtBY2Nlc3NUeXBlYC5cblx0ICovXG5cdHN0YXRpYyBhcHBOZXR3b3JrQWNjZXNzVHlwZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkFwcE5ldHdvcmtBY2Nlc3NUeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6QmVhcmVyVG9rZW5UeXBlYC5cblx0ICovXG5cdHN0YXRpYyBiZWFyZXJUb2tlblR5cGUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpCZWFyZXJUb2tlblR5cGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpDdXJyZW50Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMvJHtNZXRhZGF0YUtleX1gLlxuXHQgKi9cblx0c3RhdGljIGN1cnJlbnRDdXN0b21lck1ldGFkYXRhUHJvcGVydGllcyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFN0cmluZ0VxdWFsczoge1xuXHRcdFx0XHRcInNhZ2VtYWtlcjpDdXJyZW50Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMvJHtNZXRhZGF0YUtleX1cIjogdmFsdWUsXG5cdFx0XHR9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkN1cnJlbnRNb2RlbExpZmVDeWNsZVN0YWdlYC5cblx0ICovXG5cdHN0YXRpYyBjdXJyZW50TW9kZWxMaWZlQ3ljbGVTdGFnZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkN1cnJlbnRNb2RlbExpZmVDeWNsZVN0YWdlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6Q3VycmVudE1vZGVsTGlmZUN5Y2xlU3RhZ2VTdGF0dXNgLlxuXHQgKi9cblx0c3RhdGljIGN1cnJlbnRNb2RlbExpZmVDeWNsZVN0YWdlU3RhdHVzKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkN1cnJlbnRNb2RlbExpZmVDeWNsZVN0YWdlU3RhdHVzXCI6IHZhbHVlIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMvJHtNZXRhZGF0YUtleX1gLlxuXHQgKi9cblx0c3RhdGljIGN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7XG5cdFx0XHRcdFwic2FnZW1ha2VyOkN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzLyR7TWV0YWRhdGFLZXl9XCI6IHZhbHVlLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllc1RvUmVtb3ZlYC5cblx0ICovXG5cdHN0YXRpYyBjdXN0b21lck1ldGFkYXRhUHJvcGVydGllc1RvUmVtb3ZlKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjoge1xuXHRcdFx0XHRcInNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllc1RvUmVtb3ZlXCI6IHZhbHVlcyxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RGlyZWN0R2F0ZWRNb2RlbEFjY2Vzc2AuXG5cdCAqL1xuXHRzdGF0aWMgZGlyZWN0R2F0ZWRNb2RlbEFjY2Vzcyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkRpcmVjdEdhdGVkTW9kZWxBY2Nlc3NcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpEaXJlY3RJbnRlcm5ldEFjY2Vzc2AuXG5cdCAqL1xuXHRzdGF0aWMgZGlyZWN0SW50ZXJuZXRBY2Nlc3MoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpEaXJlY3RJbnRlcm5ldEFjY2Vzc1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkRvbWFpbklkYC5cblx0ICovXG5cdHN0YXRpYyBkb21haW5JZCh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpEb21haW5JZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXlgLlxuXHQgKi9cblx0c3RhdGljIGRvbWFpblNoYXJpbmdPdXRwdXRLTVNLZXkoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcInNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RG9tYWluU2hhcmluZ091dHB1dEttc0tleUFybmAuXG5cdCAqL1xuXHRzdGF0aWMgZG9tYWluU2hhcmluZ091dHB1dEtNU0tleUFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXlBcm5cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpFbmFibGVSZW1vdGVEZWJ1Z2AuXG5cdCAqL1xuXHRzdGF0aWMgZW5hYmxlUmVtb3RlRGVidWcoXG5cdFx0dmFsdWU6IGJvb2xlYW4sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHsgQm9vbDogeyBcInNhZ2VtYWtlcjpFbmFibGVSZW1vdGVEZWJ1Z1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZlYXR1cmVHcm91cERpc2FibGVHbHVlVGFibGVDcmVhdGlvbmAuXG5cdCAqL1xuXHRzdGF0aWMgZmVhdHVyZUdyb3VwRGlzYWJsZUdsdWVUYWJsZUNyZWF0aW9uKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRCb29sOiB7IFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cERpc2FibGVHbHVlVGFibGVDcmVhdGlvblwiOiB2YWx1ZSB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZlYXR1cmVHcm91cEVuYWJsZU9ubGluZVN0b3JlYC5cblx0ICovXG5cdHN0YXRpYyBmZWF0dXJlR3JvdXBFbmFibGVPbmxpbmVTdG9yZShcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cEVuYWJsZU9ubGluZVN0b3JlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlQ29uZmlnYC5cblx0ICovXG5cdHN0YXRpYyBmZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVDb25maWcoXG5cdFx0dmFsdWU6IGJvb2xlYW4sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHsgQm9vbDogeyBcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVDb25maWdcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVLbXNLZXlgLlxuXHQgKi9cblx0c3RhdGljIGZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUtNU0tleShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUttc0tleVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUttc0tleUFybmAuXG5cdCAqL1xuXHRzdGF0aWMgZmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS01TS2V5QVJOKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0QXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUttc0tleUFyblwiOiB2YWx1ZSB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZVMzVXJpYC5cblx0ICovXG5cdHN0YXRpYyBmZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVTM1VSSShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVTM1VyaVwiOiB2YWx1ZSB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9ubGluZVN0b3JlS21zS2V5YC5cblx0ICovXG5cdHN0YXRpYyBmZWF0dXJlR3JvdXBPbmxpbmVTdG9yZUtNU0tleShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9ubGluZVN0b3JlS21zS2V5XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT25saW5lU3RvcmVLbXNLZXlBcm5gLlxuXHQgKi9cblx0c3RhdGljIGZlYXR1cmVHcm91cE9ubGluZVN0b3JlS01TS2V5QVJOKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0QXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9ubGluZVN0b3JlS21zS2V5QXJuXCI6IHZhbHVlIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RmlsZVN5c3RlbUFjY2Vzc01vZGVgLlxuXHQgKi9cblx0c3RhdGljIGZpbGVTeXN0ZW1BY2Nlc3NNb2RlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6RmlsZVN5c3RlbUFjY2Vzc01vZGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpGaWxlU3lzdGVtRGlyZWN0b3J5UGF0aGAuXG5cdCAqL1xuXHRzdGF0aWMgZmlsZVN5c3RlbURpcmVjdG9yeVBhdGgoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpGaWxlU3lzdGVtRGlyZWN0b3J5UGF0aFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZpbGVTeXN0ZW1JZGAuXG5cdCAqL1xuXHRzdGF0aWMgZmlsZVN5c3RlbUlkKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1JZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZpbGVTeXN0ZW1UeXBlYC5cblx0ICovXG5cdHN0YXRpYyBmaWxlU3lzdGVtVHlwZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpGaWxlU3lzdGVtVHlwZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkhvbWVFZnNGaWxlU3lzdGVtS21zS2V5YC5cblx0ICovXG5cdHN0YXRpYyBob21lRUZTRmlsZVN5c3RlbUtNU0tleShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOkhvbWVFZnNGaWxlU3lzdGVtS21zS2V5XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6SW1hZ2VBcm5zYC5cblx0ICovXG5cdHN0YXRpYyBpbWFnZUFybnModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOkFybkVxdWFsc1wiOiB7IFwic2FnZW1ha2VyOkltYWdlQXJuc1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zYC5cblx0ICovXG5cdHN0YXRpYyBpbWFnZVZlcnNpb25Bcm5zKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpBcm5FcXVhbHNcIjogeyBcInNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zXCI6IHZhbHVlcyB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkluc3RhbmNlVHlwZXNgLlxuXHQgKi9cblx0c3RhdGljIGluc3RhbmNlVHlwZXMoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIjogdmFsdWVzIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvbmAuXG5cdCAqL1xuXHRzdGF0aWMgaW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvbihcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpLZWVwQWxpdmVQZXJpb2RgLlxuXHQgKi9cblx0c3RhdGljIGtlZXBBbGl2ZVBlcmlvZChcblx0XHR2YWx1ZTogbnVtYmVyLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG5cdFx0cmV0dXJuIHsgTnVtZXJpY0VxdWFsczogeyBcInNhZ2VtYWtlcjpLZWVwQWxpdmVQZXJpb2RcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzYC5cblx0ICovXG5cdHN0YXRpYyBtYXhSdW50aW1lSW5TZWNvbmRzKFxuXHRcdHZhbHVlOiBudW1iZXIsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+IHtcblx0XHRyZXR1cm4geyBOdW1lcmljRXF1YWxzOiB7IFwic2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpNaW5pbXVtSW5zdGFuY2VNZXRhZGF0YVNlcnZpY2VWZXJzaW9uYC5cblx0ICovXG5cdHN0YXRpYyBtaW5pbXVtSW5zdGFuY2VNZXRhZGF0YVNlcnZpY2VWZXJzaW9uKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7XG5cdFx0XHRcdFwic2FnZW1ha2VyOk1pbmltdW1JbnN0YW5jZU1ldGFkYXRhU2VydmljZVZlcnNpb25cIjogdmFsdWUsXG5cdFx0XHR9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOk1vZGVsQXBwcm92YWxTdGF0dXNgLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsQXBwcm92YWxTdGF0dXMoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpNb2RlbEFwcHJvdmFsU3RhdHVzXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6TW9kZWxBcm5gLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsQVJOKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOk1vZGVsQXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6TW9kZWxMaWZlQ3ljbGU6U3RhZ2VgLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsTGlmZUN5Y2xlU3RhZ2UoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOk1vZGVsTGlmZUN5Y2xlOlN0YWdlU3RhdHVzYC5cblx0ICovXG5cdHN0YXRpYyBtb2RlbExpZmVDeWNsZVN0YWdlU3RhdHVzKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6TW9kZWxMaWZlQ3ljbGU6U3RhZ2VTdGF0dXNcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uYC5cblx0ICovXG5cdHN0YXRpYyBuZXR3b3JrSXNvbGF0aW9uKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOk5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5zYC5cblx0ICovXG5cdHN0YXRpYyBub3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJucyhcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6QXJuRXF1YWxzXCI6IHtcblx0XHRcdFx0XCJzYWdlbWFrZXI6Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FybnNcIjogdmFsdWVzLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlgLlxuXHQgKi9cblx0c3RhdGljIG91dHB1dEtNU0tleSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5gLlxuXHQgKi9cblx0c3RhdGljIG91dHB1dEtNU0tleUFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOk93bmVyVXNlclByb2ZpbGVBcm5gLlxuXHQgKi9cblx0c3RhdGljIG93bmVyVXNlclByb2ZpbGVBUk4oXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcInNhZ2VtYWtlcjpPd25lclVzZXJQcm9maWxlQXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6UGlwZWxpbmVWZXJzaW9uSWRgLlxuXHQgKi9cblx0c3RhdGljIHBpcGVsaW5lVmVyc2lvbklkKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6UGlwZWxpbmVWZXJzaW9uSWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpSZW1vdGVBY2Nlc3NgLlxuXHQgKi9cblx0c3RhdGljIHJlbW90ZUFjY2Vzcyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpSZW1vdGVBY2Nlc3NcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpSb290QWNjZXNzYC5cblx0ICovXG5cdHN0YXRpYyByb290QWNjZXNzKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOlJvb3RBY2Nlc3NcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpTZWFyY2hWaXNpYmlsaXR5Q29uZGl0aW9uLyR7RmlsdGVyS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgc2VhcmNoVmlzaWJpbGl0eUNvbmRpdGlvbihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFN0cmluZ0VxdWFsczoge1xuXHRcdFx0XHRcInNhZ2VtYWtlcjpTZWFyY2hWaXNpYmlsaXR5Q29uZGl0aW9uLyR7RmlsdGVyS2V5fVwiOiB2YWx1ZSxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6U2VydmVybGVzc01heENvbmN1cnJlbmN5YC5cblx0ICovXG5cdHN0YXRpYyBzZXJ2ZXJsZXNzTWF4Q29uY3VycmVuY3koXG5cdFx0dmFsdWU6IG51bWJlcixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgbnVtYmVyPj4ge1xuXHRcdHJldHVybiB7IE51bWVyaWNFcXVhbHM6IHsgXCJzYWdlbWFrZXI6U2VydmVybGVzc01heENvbmN1cnJlbmN5XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6U2VydmVybGVzc01lbW9yeVNpemVgLlxuXHQgKi9cblx0c3RhdGljIHNlcnZlcmxlc3NNZW1vcnlTaXplKFxuXHRcdHZhbHVlOiBudW1iZXIsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+IHtcblx0XHRyZXR1cm4geyBOdW1lcmljRXF1YWxzOiB7IFwic2FnZW1ha2VyOlNlcnZlcmxlc3NNZW1vcnlTaXplXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6U3BhY2VTaGFyaW5nVHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgc3BhY2VTaGFyaW5nVHlwZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOlNwYWNlU2hhcmluZ1R5cGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zYC5cblx0ICovXG5cdHN0YXRpYyBzdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpBcm5FcXVhbHNcIjoge1xuXHRcdFx0XHRcInNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zXCI6IHZhbHVlcyxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6VGFnZ2luZ0FjdGlvbmAuXG5cdCAqL1xuXHRzdGF0aWMgdGFnZ2luZ0FjdGlvbih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpUYWdnaW5nQWN0aW9uXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6VGFyZ2V0TW9kZWxgLlxuXHQgKi9cblx0c3RhdGljIHRhcmdldE1vZGVsKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOlRhcmdldE1vZGVsXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6VXNlclByb2ZpbGVOYW1lYC5cblx0ICovXG5cdHN0YXRpYyB1c2VyUHJvZmlsZU5hbWUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpVc2VyUHJvZmlsZU5hbWVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlgLlxuXHQgKi9cblx0c3RhdGljIHZvbHVtZUtNU0tleSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5gLlxuXHQgKi9cblx0c3RhdGljIHZvbHVtZUtNU0tleUFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNgLlxuXHQgKi9cblx0c3RhdGljIHZwY1NlY3VyaXR5R3JvdXBJZHMoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIjogdmFsdWVzIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6VnBjU3VibmV0c2AuXG5cdCAqL1xuXHRzdGF0aWMgdnBjU3VibmV0cyhcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOldvcmt0ZWFtQXJuYC5cblx0ICovXG5cdHN0YXRpYyB3b3JrdGVhbUFSTih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcInNhZ2VtYWtlcjpXb3JrdGVhbUFyblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOldvcmt0ZWFtVHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgd29ya3RlYW1UeXBlKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOldvcmt0ZWFtVHlwZVwiOiB2YWx1ZSB9IH07XG5cdH1cbn1cbiJdfQ==
|
|
6249
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FnZW1ha2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9zYWdlbWFrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCxnREFBZ0Q7QUFDaEQsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsZ0JBQWdCOztBQUE3Qiw0Q0E2OENDOzs7QUE1OENBLDhCQUE4QjtBQUNkLCtCQUFjLEdBQUcsV0FBVyxDQUFDO0FBRTdDLDBDQUEwQztBQUMxQixtQ0FBa0IsR0FBRyw4QkFBOEIsQ0FBQztBQUNwRSx1Q0FBdUM7QUFDdkIsK0JBQWMsR0FBRywwQkFBMEIsQ0FBQztBQUM1RCxrQ0FBa0M7QUFDbEIsd0JBQU8sR0FBRyxtQkFBbUIsQ0FBQztBQUM5QyxnREFBZ0Q7QUFDaEMsd0NBQXVCLEdBQUcsbUNBQW1DLENBQUM7QUFDOUUsZ0RBQWdEO0FBQ2hDLHdDQUF1QixHQUFHLG1DQUFtQyxDQUFDO0FBQzlFLDZDQUE2QztBQUM3QixxQ0FBb0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN4RSxnREFBZ0Q7QUFDaEMsd0NBQXVCLEdBQUcsbUNBQW1DLENBQUM7QUFDOUUsaURBQWlEO0FBQ2pDLDBDQUF5QixHQUN4QyxxQ0FBcUMsQ0FBQztBQUN2Qyx1Q0FBdUM7QUFDdkIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCxzQ0FBc0M7QUFDdEIsK0JBQWMsR0FBRywwQkFBMEIsQ0FBQztBQUM1RCx3Q0FBd0M7QUFDeEIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCxnREFBZ0Q7QUFDaEMsd0NBQXVCLEdBQUcsbUNBQW1DLENBQUM7QUFDOUUsaURBQWlEO0FBQ2pDLHlDQUF3QixHQUN2QyxvQ0FBb0MsQ0FBQztBQUN0Qyx5Q0FBeUM7QUFDekIsaUNBQWdCLEdBQUcsNEJBQTRCLENBQUM7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QzNELG9EQUFvRDtBQUNwQyxnQ0FBWSxHQUFHLHVCQUF1QixDQUFDO0FBQ3ZELGlFQUFpRTtBQUNqRCxzQ0FBa0IsR0FBRyw2QkFBNkIsQ0FBQztBQUNuRSx3REFBd0Q7QUFDeEMscUNBQWlCLEdBQUcsMkJBQTJCLENBQUM7QUFDaEUsa0RBQWtEO0FBQ2xDLGtDQUFjLEdBQUcsd0JBQXdCLENBQUM7QUFDMUQscURBQXFEO0FBQ3JDLHNDQUFrQixHQUFHLDJCQUEyQixDQUFDO0FBQ2pFLG1FQUFtRTtBQUNuRCwwQ0FBc0IsR0FBRywrQkFBK0IsQ0FBQztBQUN6RSwwREFBMEQ7QUFDMUMsK0JBQVcsR0FBRyxzQkFBc0IsQ0FBQztBQUNyRCxpREFBaUQ7QUFDakMsZ0NBQVksR0FBRyx1QkFBdUIsQ0FBQztBQUN2RCxxREFBcUQ7QUFDckMsaUNBQWEsR0FBRyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL3NhZ2VtYWtlci5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgc2FnZW1ha2VyIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYWdlTWFrZXJBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwic2FnZW1ha2VyXCI7XG5cblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6QWNjZXNzTW9kZWxQYWNrYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBBY2Nlc3NNb2RlbFBhY2thZ2UgPSBcInNhZ2VtYWtlcjpBY2Nlc3NNb2RlbFBhY2thZ2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkFkZEFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRBc3NvY2lhdGlvbiA9IFwic2FnZW1ha2VyOkFkZEFzc29jaWF0aW9uXCI7XG5cdC8qKiBbVGFnZ2luZ10gc2FnZW1ha2VyOkFkZFRhZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFRhZ3MgPSBcInNhZ2VtYWtlcjpBZGRUYWdzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpBc3NvY2lhdGVUcmlhbENvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlVHJpYWxDb21wb25lbnQgPSBcInNhZ2VtYWtlcjpBc3NvY2lhdGVUcmlhbENvbXBvbmVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6QXR0YWNoQ2x1c3Rlck5vZGVWb2x1bWUgKi9cblx0c3RhdGljIHJlYWRvbmx5IEF0dGFjaENsdXN0ZXJOb2RlVm9sdW1lID0gXCJzYWdlbWFrZXI6QXR0YWNoQ2x1c3Rlck5vZGVWb2x1bWVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkJhdGNoQWRkQ2x1c3Rlck5vZGVzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEFkZENsdXN0ZXJOb2RlcyA9IFwic2FnZW1ha2VyOkJhdGNoQWRkQ2x1c3Rlck5vZGVzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpCYXRjaERlbGV0ZUNsdXN0ZXJOb2RlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVDbHVzdGVyTm9kZXMgPSBcInNhZ2VtYWtlcjpCYXRjaERlbGV0ZUNsdXN0ZXJOb2Rlc1wiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpCYXRjaERlc2NyaWJlTW9kZWxQYWNrYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlc2NyaWJlTW9kZWxQYWNrYWdlID1cblx0XHRcInNhZ2VtYWtlcjpCYXRjaERlc2NyaWJlTW9kZWxQYWNrYWdlXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkJhdGNoR2V0TWV0cmljcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRNZXRyaWNzID0gXCJzYWdlbWFrZXI6QmF0Y2hHZXRNZXRyaWNzXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkJhdGNoR2V0UmVjb3JkICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldFJlY29yZCA9IFwic2FnZW1ha2VyOkJhdGNoR2V0UmVjb3JkXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpCYXRjaFB1dE1ldHJpY3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoUHV0TWV0cmljcyA9IFwic2FnZW1ha2VyOkJhdGNoUHV0TWV0cmljc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6QmF0Y2hSZWJvb3RDbHVzdGVyTm9kZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoUmVib290Q2x1c3Rlck5vZGVzID0gXCJzYWdlbWFrZXI6QmF0Y2hSZWJvb3RDbHVzdGVyTm9kZXNcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkJhdGNoUmVwbGFjZUNsdXN0ZXJOb2RlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hSZXBsYWNlQ2x1c3Rlck5vZGVzID1cblx0XHRcInNhZ2VtYWtlcjpCYXRjaFJlcGxhY2VDbHVzdGVyTm9kZXNcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkJhdGNoV3JpdGVSZWNvcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoV3JpdGVSZWNvcmQgPSBcInNhZ2VtYWtlcjpCYXRjaFdyaXRlUmVjb3JkXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDYWxsTWxmbG93QXBwQXBpICovXG5cdHN0YXRpYyByZWFkb25seSBDYWxsTWxmbG93QXBwQXBpID0gXCJzYWdlbWFrZXI6Q2FsbE1sZmxvd0FwcEFwaVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q2FsbFBhcnRuZXJBcHBBcGkgKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbGxQYXJ0bmVyQXBwQXBpID0gXCJzYWdlbWFrZXI6Q2FsbFBhcnRuZXJBcHBBcGlcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6Q2FsbFdpdGhCZWFyZXJUb2tlbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FsbFdpdGhCZWFyZXJUb2tlbiA9IFwic2FnZW1ha2VyOkNhbGxXaXRoQmVhcmVyVG9rZW5cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNvbXBsZXRlUm9sbG91dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29tcGxldGVSb2xsb3V0ID0gXCJzYWdlbWFrZXI6Q29tcGxldGVSb2xsb3V0XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVBSUJlbmNobWFya0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQUlCZW5jaG1hcmtKb2IgPSBcInNhZ2VtYWtlcjpDcmVhdGVBSUJlbmNobWFya0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQUlSZWNvbW1lbmRhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQUlSZWNvbW1lbmRhdGlvbkpvYiA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQUlSZWNvbW1lbmRhdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQUlXb3JrbG9hZENvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQUlXb3JrbG9hZENvbmZpZyA9IFwic2FnZW1ha2VyOkNyZWF0ZUFJV29ya2xvYWRDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUFjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWN0aW9uID0gXCJzYWdlbWFrZXI6Q3JlYXRlQWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVBbGdvcml0aG0gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFsZ29yaXRobSA9IFwic2FnZW1ha2VyOkNyZWF0ZUFsZ29yaXRobVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcHAgPSBcInNhZ2VtYWtlcjpDcmVhdGVBcHBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUFwcEltYWdlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcHBJbWFnZUNvbmZpZyA9IFwic2FnZW1ha2VyOkNyZWF0ZUFwcEltYWdlQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVBcnRpZmFjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXJ0aWZhY3QgPSBcInNhZ2VtYWtlcjpDcmVhdGVBcnRpZmFjdFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQXV0b01MSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvTUxKb2IgPSBcInNhZ2VtYWtlcjpDcmVhdGVBdXRvTUxKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUF1dG9NTEpvYlYyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvTUxKb2JWMiA9IFwic2FnZW1ha2VyOkNyZWF0ZUF1dG9NTEpvYlYyXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVDbHVzdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbHVzdGVyID0gXCJzYWdlbWFrZXI6Q3JlYXRlQ2x1c3RlclwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQ29kZVJlcG9zaXRvcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvZGVSZXBvc2l0b3J5ID0gXCJzYWdlbWFrZXI6Q3JlYXRlQ29kZVJlcG9zaXRvcnlcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUNvbXBpbGF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb21waWxhdGlvbkpvYiA9IFwic2FnZW1ha2VyOkNyZWF0ZUNvbXBpbGF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVDb21wdXRlUXVvdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbXB1dGVRdW90YSA9IFwic2FnZW1ha2VyOkNyZWF0ZUNvbXB1dGVRdW90YVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQ29udGV4dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29udGV4dCA9IFwic2FnZW1ha2VyOkNyZWF0ZUNvbnRleHRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZURldmljZUZsZWV0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEZXZpY2VGbGVldCA9IFwic2FnZW1ha2VyOkNyZWF0ZURldmljZUZsZWV0XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVEb21haW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURvbWFpbiA9IFwic2FnZW1ha2VyOkNyZWF0ZURvbWFpblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlRWRnZURlcGxveW1lbnRQbGFuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlRGVwbG95bWVudFBsYW4gPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUVkZ2VEZXBsb3ltZW50UGxhblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlRWRnZURlcGxveW1lbnRTdGFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRWRnZURlcGxveW1lbnRTdGFnZSA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlRWRnZURlcGxveW1lbnRTdGFnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlRWRnZVBhY2thZ2luZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRWRnZVBhY2thZ2luZ0pvYiA9IFwic2FnZW1ha2VyOkNyZWF0ZUVkZ2VQYWNrYWdpbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmRwb2ludCA9IFwic2FnZW1ha2VyOkNyZWF0ZUVuZHBvaW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVFbmRwb2ludENvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW5kcG9pbnRDb25maWcgPSBcInNhZ2VtYWtlcjpDcmVhdGVFbmRwb2ludENvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlRXhwZXJpbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXhwZXJpbWVudCA9IFwic2FnZW1ha2VyOkNyZWF0ZUV4cGVyaW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUZlYXR1cmVHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmVhdHVyZUdyb3VwID0gXCJzYWdlbWFrZXI6Q3JlYXRlRmVhdHVyZUdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVGbG93RGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmxvd0RlZmluaXRpb24gPSBcInNhZ2VtYWtlcjpDcmVhdGVGbG93RGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlSHViICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdWIgPSBcInNhZ2VtYWtlcjpDcmVhdGVIdWJcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6Q3JlYXRlSHViQ29udGVudFByZXNpZ25lZFVybHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh1YkNvbnRlbnRQcmVzaWduZWRVcmxzID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVIdWJDb250ZW50UHJlc2lnbmVkVXJsc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlSHViQ29udGVudFJlZmVyZW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHViQ29udGVudFJlZmVyZW5jZSA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSHViQ29udGVudFJlZmVyZW5jZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlSHVtYW5UYXNrVWkgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh1bWFuVGFza1VpID0gXCJzYWdlbWFrZXI6Q3JlYXRlSHVtYW5UYXNrVWlcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUltYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbWFnZSA9IFwic2FnZW1ha2VyOkNyZWF0ZUltYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVJbWFnZVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUltYWdlVmVyc2lvbiA9IFwic2FnZW1ha2VyOkNyZWF0ZUltYWdlVmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlSW5mZXJlbmNlQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbmZlcmVuY2VDb21wb25lbnQgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUluZmVyZW5jZUNvbXBvbmVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlSW5mZXJlbmNlRXhwZXJpbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlRXhwZXJpbWVudCA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSW5mZXJlbmNlRXhwZXJpbWVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVKb2IgPSBcInNhZ2VtYWtlcjpDcmVhdGVKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUxhYmVsaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMYWJlbGluZ0pvYiA9IFwic2FnZW1ha2VyOkNyZWF0ZUxhYmVsaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVMaW5lYWdlR3JvdXBQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxpbmVhZ2VHcm91cFBvbGljeSA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTGluZWFnZUdyb3VwUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVNbGZsb3dBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1sZmxvd0FwcCA9IFwic2FnZW1ha2VyOkNyZWF0ZU1sZmxvd0FwcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1sZmxvd1RyYWNraW5nU2VydmVyID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNbGZsb3dUcmFja2luZ1NlcnZlclwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsID0gXCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU1vZGVsQ2FyZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDYXJkID0gXCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxDYXJkXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVNb2RlbENhcmRFeHBvcnRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQ2FyZEV4cG9ydEpvYiA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxDYXJkRXhwb3J0Sm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVNb2RlbFBhY2thZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsUGFja2FnZSA9IFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsUGFja2FnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTW9kZWxQYWNrYWdlR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsUGFja2FnZUdyb3VwID0gXCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxQYWNrYWdlR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU1vbml0b3JpbmdTY2hlZHVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb25pdG9yaW5nU2NoZWR1bGVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU5vdGVib29rSW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGVib29rSW5zdGFuY2UgPSBcInNhZ2VtYWtlcjpDcmVhdGVOb3RlYm9va0luc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVPcHRpbWl6YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9wdGltaXphdGlvbkpvYiA9IFwic2FnZW1ha2VyOkNyZWF0ZU9wdGltaXphdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlUGFydG5lckFwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGFydG5lckFwcCA9IFwic2FnZW1ha2VyOkNyZWF0ZVBhcnRuZXJBcHBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVBhcnRuZXJBcHBQcmVzaWduZWRVcmwgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBhcnRuZXJBcHBQcmVzaWduZWRVcmwgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVBhcnRuZXJBcHBQcmVzaWduZWRVcmxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVBpcGVsaW5lICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQaXBlbGluZSA9IFwic2FnZW1ha2VyOkNyZWF0ZVBpcGVsaW5lXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVQcmVzaWduZWREb21haW5VcmwgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByZXNpZ25lZERvbWFpblVybCA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUHJlc2lnbmVkRG9tYWluVXJsXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVQcmVzaWduZWRNbGZsb3dBcHBVcmwgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByZXNpZ25lZE1sZmxvd0FwcFVybCA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUHJlc2lnbmVkTWxmbG93QXBwVXJsXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVQcmVzaWduZWRNbGZsb3dUcmFja2luZ1NlcnZlclVybCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJlc2lnbmVkTWxmbG93VHJhY2tpbmdTZXJ2ZXJVcmwgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZE1sZmxvd1RyYWNraW5nU2VydmVyVXJsXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVQcmVzaWduZWROb3RlYm9va0luc3RhbmNlVXJsICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcmVzaWduZWROb3RlYm9va0luc3RhbmNlVXJsID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcmVzaWduZWROb3RlYm9va0luc3RhbmNlVXJsXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVQcm9jZXNzaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9jZXNzaW5nSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlUHJvY2Vzc2luZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlUHJvamVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvamVjdCA9IFwic2FnZW1ha2VyOkNyZWF0ZVByb2plY3RcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVJlc2VydmVkQ2FwYWNpdHkgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlc2VydmVkQ2FwYWNpdHkgPSBcInNhZ2VtYWtlcjpDcmVhdGVSZXNlcnZlZENhcGFjaXR5XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVTaGFyZWRNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2hhcmVkTW9kZWwgPSBcInNhZ2VtYWtlcjpDcmVhdGVTaGFyZWRNb2RlbFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlU3BhY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNwYWNlID0gXCJzYWdlbWFrZXI6Q3JlYXRlU3BhY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVTdHVkaW9MaWZlY3ljbGVDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVRyYWluaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmFpbmluZ0pvYiA9IFwic2FnZW1ha2VyOkNyZWF0ZVRyYWluaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVUcmFpbmluZ1BsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyYWluaW5nUGxhbiA9IFwic2FnZW1ha2VyOkNyZWF0ZVRyYWluaW5nUGxhblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlVHJhbnNmb3JtSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmFuc2Zvcm1Kb2IgPSBcInNhZ2VtYWtlcjpDcmVhdGVUcmFuc2Zvcm1Kb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVRyaWFsICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmlhbCA9IFwic2FnZW1ha2VyOkNyZWF0ZVRyaWFsXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVUcmlhbENvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJpYWxDb21wb25lbnQgPSBcInNhZ2VtYWtlcjpDcmVhdGVUcmlhbENvbXBvbmVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlVXNlclByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVVzZXJQcm9maWxlID0gXCJzYWdlbWFrZXI6Q3JlYXRlVXNlclByb2ZpbGVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVdvcmtmb3JjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV29ya2ZvcmNlID0gXCJzYWdlbWFrZXI6Q3JlYXRlV29ya2ZvcmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVXb3JrdGVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV29ya3RlYW0gPSBcInNhZ2VtYWtlcjpDcmVhdGVXb3JrdGVhbVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQUlCZW5jaG1hcmtKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFJQmVuY2htYXJrSm9iID0gXCJzYWdlbWFrZXI6RGVsZXRlQUlCZW5jaG1hcmtKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUFJUmVjb21tZW5kYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFJUmVjb21tZW5kYXRpb25Kb2IgPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUFJUmVjb21tZW5kYXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUFJV29ya2xvYWRDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFJV29ya2xvYWRDb25maWcgPSBcInNhZ2VtYWtlcjpEZWxldGVBSVdvcmtsb2FkQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVBY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFjdGlvbiA9IFwic2FnZW1ha2VyOkRlbGV0ZUFjdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQWxnb3JpdGhtICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBbGdvcml0aG0gPSBcInNhZ2VtYWtlcjpEZWxldGVBbGdvcml0aG1cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUFwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXBwID0gXCJzYWdlbWFrZXI6RGVsZXRlQXBwXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVBcHBJbWFnZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXBwSW1hZ2VDb25maWcgPSBcInNhZ2VtYWtlcjpEZWxldGVBcHBJbWFnZUNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQXJ0aWZhY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFydGlmYWN0ID0gXCJzYWdlbWFrZXI6RGVsZXRlQXJ0aWZhY3RcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBc3NvY2lhdGlvbiA9IFwic2FnZW1ha2VyOkRlbGV0ZUFzc29jaWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVDbHVzdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDbHVzdGVyID0gXCJzYWdlbWFrZXI6RGVsZXRlQ2x1c3RlclwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQ29kZVJlcG9zaXRvcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvZGVSZXBvc2l0b3J5ID0gXCJzYWdlbWFrZXI6RGVsZXRlQ29kZVJlcG9zaXRvcnlcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUNvbXBpbGF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb21waWxhdGlvbkpvYiA9IFwic2FnZW1ha2VyOkRlbGV0ZUNvbXBpbGF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVDb21wdXRlUXVvdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbXB1dGVRdW90YSA9IFwic2FnZW1ha2VyOkRlbGV0ZUNvbXB1dGVRdW90YVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQ29udGV4dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29udGV4dCA9IFwic2FnZW1ha2VyOkRlbGV0ZUNvbnRleHRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZURldmljZUZsZWV0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEZXZpY2VGbGVldCA9IFwic2FnZW1ha2VyOkRlbGV0ZURldmljZUZsZWV0XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVEb21haW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURvbWFpbiA9IFwic2FnZW1ha2VyOkRlbGV0ZURvbWFpblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlRWRnZURlcGxveW1lbnRQbGFuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFZGdlRGVwbG95bWVudFBsYW4gPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUVkZ2VEZXBsb3ltZW50UGxhblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlRWRnZURlcGxveW1lbnRTdGFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRWRnZURlcGxveW1lbnRTdGFnZSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlRWRnZURlcGxveW1lbnRTdGFnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUVuZHBvaW50ID0gXCJzYWdlbWFrZXI6RGVsZXRlRW5kcG9pbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUVuZHBvaW50Q29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFbmRwb2ludENvbmZpZyA9IFwic2FnZW1ha2VyOkRlbGV0ZUVuZHBvaW50Q29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVFeHBlcmltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFeHBlcmltZW50ID0gXCJzYWdlbWFrZXI6RGVsZXRlRXhwZXJpbWVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlRmVhdHVyZUdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGZWF0dXJlR3JvdXAgPSBcInNhZ2VtYWtlcjpEZWxldGVGZWF0dXJlR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUZsb3dEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGbG93RGVmaW5pdGlvbiA9IFwic2FnZW1ha2VyOkRlbGV0ZUZsb3dEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVIdWIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh1YiA9IFwic2FnZW1ha2VyOkRlbGV0ZUh1YlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlSHViQ29udGVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHViQ29udGVudCA9IFwic2FnZW1ha2VyOkRlbGV0ZUh1YkNvbnRlbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUh1YkNvbnRlbnRSZWZlcmVuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh1YkNvbnRlbnRSZWZlcmVuY2UgPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUh1YkNvbnRlbnRSZWZlcmVuY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUh1bWFuTG9vcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHVtYW5Mb29wID0gXCJzYWdlbWFrZXI6RGVsZXRlSHVtYW5Mb29wXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVIdW1hblRhc2tVaSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHVtYW5UYXNrVWkgPSBcInNhZ2VtYWtlcjpEZWxldGVIdW1hblRhc2tVaVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlSW1hZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUltYWdlID0gXCJzYWdlbWFrZXI6RGVsZXRlSW1hZ2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUltYWdlVmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW1hZ2VWZXJzaW9uID0gXCJzYWdlbWFrZXI6RGVsZXRlSW1hZ2VWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVJbmZlcmVuY2VDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUluZmVyZW5jZUNvbXBvbmVudCA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlSW5mZXJlbmNlQ29tcG9uZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVJbmZlcmVuY2VFeHBlcmltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbmZlcmVuY2VFeHBlcmltZW50ID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVJbmZlcmVuY2VFeHBlcmltZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUpvYiA9IFwic2FnZW1ha2VyOkRlbGV0ZUpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTGluZWFnZUdyb3VwUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVMaW5lYWdlR3JvdXBQb2xpY3kgPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUxpbmVhZ2VHcm91cFBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTWxmbG93QXBwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNbGZsb3dBcHAgPSBcInNhZ2VtYWtlcjpEZWxldGVNbGZsb3dBcHBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1sZmxvd1RyYWNraW5nU2VydmVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNbGZsb3dUcmFja2luZ1NlcnZlciA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbCA9IFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVNb2RlbENhcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsQ2FyZCA9IFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsQ2FyZFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTW9kZWxQYWNrYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbFBhY2thZ2UgPSBcInNhZ2VtYWtlcjpEZWxldGVNb2RlbFBhY2thZ2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1vZGVsUGFja2FnZUdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbFBhY2thZ2VHcm91cCA9IFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsUGFja2FnZUdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVNb2RlbFBhY2thZ2VHcm91cFBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxQYWNrYWdlR3JvdXBQb2xpY3kgPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsUGFja2FnZUdyb3VwUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVNb25pdG9yaW5nU2NoZWR1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vbml0b3JpbmdTY2hlZHVsZSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTW9uaXRvcmluZ1NjaGVkdWxlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVOb3RlYm9va0luc3RhbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVOb3RlYm9va0luc3RhbmNlID0gXCJzYWdlbWFrZXI6RGVsZXRlTm90ZWJvb2tJbnN0YW5jZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlT3B0aW1pemF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVPcHRpbWl6YXRpb25Kb2IgPSBcInNhZ2VtYWtlcjpEZWxldGVPcHRpbWl6YXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVBhcnRuZXJBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBhcnRuZXJBcHAgPSBcInNhZ2VtYWtlcjpEZWxldGVQYXJ0bmVyQXBwXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVQaXBlbGluZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUGlwZWxpbmUgPSBcInNhZ2VtYWtlcjpEZWxldGVQaXBlbGluZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlUHJvY2Vzc2luZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvY2Vzc2luZ0pvYiA9IFwic2FnZW1ha2VyOkRlbGV0ZVByb2Nlc3NpbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVByb2plY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2plY3QgPSBcInNhZ2VtYWtlcjpEZWxldGVQcm9qZWN0XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVSZWNvcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlY29yZCA9IFwic2FnZW1ha2VyOkRlbGV0ZVJlY29yZFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlUmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlUG9saWN5ID0gXCJzYWdlbWFrZXI6RGVsZXRlUmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVNwYWNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTcGFjZSA9IFwic2FnZW1ha2VyOkRlbGV0ZVNwYWNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVTdHVkaW9MaWZlY3ljbGVDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnXCI7XG5cdC8qKiBbVGFnZ2luZ10gc2FnZW1ha2VyOkRlbGV0ZVRhZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRhZ3MgPSBcInNhZ2VtYWtlcjpEZWxldGVUYWdzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVUcmFpbmluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVHJhaW5pbmdKb2IgPSBcInNhZ2VtYWtlcjpEZWxldGVUcmFpbmluZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlVHJpYWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRyaWFsID0gXCJzYWdlbWFrZXI6RGVsZXRlVHJpYWxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVRyaWFsQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUcmlhbENvbXBvbmVudCA9IFwic2FnZW1ha2VyOkRlbGV0ZVRyaWFsQ29tcG9uZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVVc2VyUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVXNlclByb2ZpbGUgPSBcInNhZ2VtYWtlcjpEZWxldGVVc2VyUHJvZmlsZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlV29ya2ZvcmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVXb3JrZm9yY2UgPSBcInNhZ2VtYWtlcjpEZWxldGVXb3JrZm9yY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVdvcmt0ZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVXb3JrdGVhbSA9IFwic2FnZW1ha2VyOkRlbGV0ZVdvcmt0ZWFtXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZXBsb3lIdWJNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVwbG95SHViTW9kZWwgPSBcInNhZ2VtYWtlcjpEZXBsb3lIdWJNb2RlbFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVyZWdpc3RlckRldmljZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJEZXZpY2VzID0gXCJzYWdlbWFrZXI6RGVyZWdpc3RlckRldmljZXNcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBSUJlbmNobWFya0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBSUJlbmNobWFya0pvYiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQUlCZW5jaG1hcmtKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBSVJlY29tbWVuZGF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFJUmVjb21tZW5kYXRpb25Kb2IgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQUlSZWNvbW1lbmRhdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUFJV29ya2xvYWRDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQUlXb3JrbG9hZENvbmZpZyA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVBSVdvcmtsb2FkQ29uZmlnXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFjdGlvbiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQWN0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQWxnb3JpdGhtICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFsZ29yaXRobSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQWxnb3JpdGhtXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQXBwXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQXBwSW1hZ2VDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwSW1hZ2VDb25maWcgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUFwcEltYWdlQ29uZmlnXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQXJ0aWZhY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXJ0aWZhY3QgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUFydGlmYWN0XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQXV0b01MSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUF1dG9NTEpvYiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQXV0b01MSm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQXV0b01MSm9iVjIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXV0b01MSm9iVjIgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUF1dG9NTEpvYlYyXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3RlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDbHVzdGVyID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3RlckV2ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXJFdmVudCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3RlckV2ZW50XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3RlckluZmVyZW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDbHVzdGVySW5mZXJlbmNlID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJJbmZlcmVuY2VcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyTm9kZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDbHVzdGVyTm9kZSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3Rlck5vZGVcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3RlclNjaGVkdWxlckNvbmZpZ1wiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUNvZGVSZXBvc2l0b3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvZGVSZXBvc2l0b3J5ID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVDb2RlUmVwb3NpdG9yeVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUNvbXBpbGF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbXBpbGF0aW9uSm9iID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVDb21waWxhdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUNvbXB1dGVRdW90YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb21wdXRlUXVvdGEgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUNvbXB1dGVRdW90YVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUNvbnRleHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29udGV4dCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQ29udGV4dFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRGV2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURldmljZSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlRGV2aWNlXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRGV2aWNlRmxlZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGV2aWNlRmxlZXQgPSBcInNhZ2VtYWtlcjpEZXNjcmliZURldmljZUZsZWV0XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRG9tYWluICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURvbWFpbiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlRG9tYWluXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRWRnZURlcGxveW1lbnRQbGFuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVkZ2VEZXBsb3ltZW50UGxhbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVFZGdlRGVwbG95bWVudFBsYW5cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVFZGdlUGFja2FnaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVkZ2VQYWNrYWdpbmdKb2IgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlRWRnZVBhY2thZ2luZ0pvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVuZHBvaW50ID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVFbmRwb2ludFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUVuZHBvaW50Q29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVuZHBvaW50Q29uZmlnID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVFbmRwb2ludENvbmZpZ1wiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUV4cGVyaW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRXhwZXJpbWVudCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlRXhwZXJpbWVudFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUZlYXR1cmVHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVGZWF0dXJlR3JvdXAgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUZlYXR1cmVHcm91cFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUZlYXR1cmVNZXRhZGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVGZWF0dXJlTWV0YWRhdGEgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUZlYXR1cmVNZXRhZGF0YVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUZsb3dEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZsb3dEZWZpbml0aW9uID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVGbG93RGVmaW5pdGlvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUh1YiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVIdWIgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUh1YlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUh1YkNvbnRlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSHViQ29udGVudCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlSHViQ29udGVudFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUh1bWFuTG9vcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVIdW1hbkxvb3AgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUh1bWFuTG9vcFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUh1bWFuVGFza1VpICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUh1bWFuVGFza1VpID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVIdW1hblRhc2tVaVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSW1hZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW1hZ2UgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUltYWdlXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSW1hZ2VWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUltYWdlVmVyc2lvbiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlSW1hZ2VWZXJzaW9uXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSW5mZXJlbmNlQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUluZmVyZW5jZUNvbXBvbmVudCA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVJbmZlcmVuY2VDb21wb25lbnRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVJbmZlcmVuY2VFeHBlcmltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUluZmVyZW5jZUV4cGVyaW1lbnQgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSW5mZXJlbmNlRXhwZXJpbWVudFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUpvYiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlSm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSm9iU2NoZW1hVmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVKb2JTY2hlbWFWZXJzaW9uID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUpvYlNjaGVtYVZlcnNpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVMYWJlbGluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMYWJlbGluZ0pvYiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlTGFiZWxpbmdKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVMaW5lYWdlR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTGluZWFnZUdyb3VwID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVMaW5lYWdlR3JvdXBcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVNbGZsb3dBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWxmbG93QXBwID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVNbGZsb3dBcHBcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVNbGZsb3dUcmFja2luZ1NlcnZlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNbGZsb3dUcmFja2luZ1NlcnZlciA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNbGZsb3dUcmFja2luZ1NlcnZlclwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsQmlhc0pvYkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbEJpYXNKb2JEZWZpbml0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxDYXJkICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsQ2FyZCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxDYXJkXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxDYXJkRXhwb3J0Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsQ2FyZEV4cG9ydEpvYiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbENhcmRFeHBvcnRKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsUGFja2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbFBhY2thZ2UgPSBcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsUGFja2FnZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsUGFja2FnZUdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsUGFja2FnZUdyb3VwID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsUGFja2FnZUdyb3VwXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVNb25pdG9yaW5nU2NoZWR1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9uaXRvcmluZ1NjaGVkdWxlID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vbml0b3JpbmdTY2hlZHVsZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU5vdGVib29rSW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVOb3RlYm9va0luc3RhbmNlXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVPcHRpbWl6YXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlT3B0aW1pemF0aW9uSm9iID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVPcHRpbWl6YXRpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVQYXJ0bmVyQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBhcnRuZXJBcHAgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVBhcnRuZXJBcHBcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVQaXBlbGluZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQaXBlbGluZSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlUGlwZWxpbmVcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVQaXBlbGluZURlZmluaXRpb25Gb3JFeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGlwZWxpbmVEZWZpbml0aW9uRm9yRXhlY3V0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVBpcGVsaW5lRGVmaW5pdGlvbkZvckV4ZWN1dGlvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVBpcGVsaW5lRXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBpcGVsaW5lRXhlY3V0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVBpcGVsaW5lRXhlY3V0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlUHJvY2Vzc2luZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQcm9jZXNzaW5nSm9iID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVQcm9jZXNzaW5nSm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlUHJvamVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQcm9qZWN0ID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVQcm9qZWN0XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlUmVzZXJ2ZWRDYXBhY2l0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXNlcnZlZENhcGFjaXR5ID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVJlc2VydmVkQ2FwYWNpdHlcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVTaGFyZWRNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTaGFyZWRNb2RlbCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlU2hhcmVkTW9kZWxcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVTcGFjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTcGFjZSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlU3BhY2VcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVTdHVkaW9MaWZlY3ljbGVDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVN0dWRpb0xpZmVjeWNsZUNvbmZpZ1wiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVN1YnNjcmliZWRXb3JrdGVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTdWJzY3JpYmVkV29ya3RlYW0gPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlU3Vic2NyaWJlZFdvcmt0ZWFtXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlVHJhaW5pbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJhaW5pbmdKb2IgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVRyYWluaW5nSm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlVHJhaW5pbmdQbGFuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRyYWluaW5nUGxhbiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlVHJhaW5pbmdQbGFuXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlVHJhaW5pbmdQbGFuRXh0ZW5zaW9uSGlzdG9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmFpbmluZ1BsYW5FeHRlbnNpb25IaXN0b3J5ID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVRyYWluaW5nUGxhbkV4dGVuc2lvbkhpc3RvcnlcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVUcmFuc2Zvcm1Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJhbnNmb3JtSm9iID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVUcmFuc2Zvcm1Kb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVUcmlhbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmlhbCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlVHJpYWxcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVUcmlhbENvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmlhbENvbXBvbmVudCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlVHJpYWxDb21wb25lbnRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVVc2VyUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVVc2VyUHJvZmlsZSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlVXNlclByb2ZpbGVcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVXb3JrZm9yY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlV29ya2ZvcmNlID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVXb3JrZm9yY2VcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVXb3JrdGVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVXb3JrdGVhbSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlV29ya3RlYW1cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRldGFjaENsdXN0ZXJOb2RlVm9sdW1lICovXG5cdHN0YXRpYyByZWFkb25seSBEZXRhY2hDbHVzdGVyTm9kZVZvbHVtZSA9IFwic2FnZW1ha2VyOkRldGFjaENsdXN0ZXJOb2RlVm9sdW1lXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEaXNhYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW8gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpbyA9XG5cdFx0XCJzYWdlbWFrZXI6RGlzYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEaXNhc3NvY2lhdGVUcmlhbENvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlVHJpYWxDb21wb25lbnQgPVxuXHRcdFwic2FnZW1ha2VyOkRpc2Fzc29jaWF0ZVRyaWFsQ29tcG9uZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpFbmFibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpbyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5hYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW8gPVxuXHRcdFwic2FnZW1ha2VyOkVuYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpFeHRlbmRUcmFpbmluZ1BsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEV4dGVuZFRyYWluaW5nUGxhbiA9IFwic2FnZW1ha2VyOkV4dGVuZFRyYWluaW5nUGxhblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpHZXREZXBsb3ltZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGVwbG95bWVudHMgPSBcInNhZ2VtYWtlcjpHZXREZXBsb3ltZW50c1wiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpHZXREZXZpY2VGbGVldFJlcG9ydCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGV2aWNlRmxlZXRSZXBvcnQgPSBcInNhZ2VtYWtlcjpHZXREZXZpY2VGbGVldFJlcG9ydFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpHZXREZXZpY2VSZWdpc3RyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERldmljZVJlZ2lzdHJhdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6R2V0RGV2aWNlUmVnaXN0cmF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldExpbmVhZ2VHcm91cFBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TGluZWFnZUdyb3VwUG9saWN5ID1cblx0XHRcInNhZ2VtYWtlcjpHZXRMaW5lYWdlR3JvdXBQb2xpY3lcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6R2V0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1vZGVsUGFja2FnZUdyb3VwUG9saWN5ID1cblx0XHRcInNhZ2VtYWtlcjpHZXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpHZXRSZWNvcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlY29yZCA9IFwic2FnZW1ha2VyOkdldFJlY29yZFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpHZXRSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVzb3VyY2VQb2xpY3kgPSBcInNhZ2VtYWtlcjpHZXRSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpHZXRTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpb1N0YXR1cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW9TdGF0dXMgPVxuXHRcdFwic2FnZW1ha2VyOkdldFNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvU3RhdHVzXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldFNjYWxpbmdDb25maWd1cmF0aW9uUmVjb21tZW5kYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNjYWxpbmdDb25maWd1cmF0aW9uUmVjb21tZW5kYXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkdldFNjYWxpbmdDb25maWd1cmF0aW9uUmVjb21tZW5kYXRpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6R2V0U2VhcmNoU3VnZ2VzdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlYXJjaFN1Z2dlc3Rpb25zID0gXCJzYWdlbWFrZXI6R2V0U2VhcmNoU3VnZ2VzdGlvbnNcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkltcG9ydEh1YkNvbnRlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydEh1YkNvbnRlbnQgPSBcInNhZ2VtYWtlcjpJbXBvcnRIdWJDb250ZW50XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkludm9rZUVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VFbmRwb2ludCA9IFwic2FnZW1ha2VyOkludm9rZUVuZHBvaW50XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkludm9rZUVuZHBvaW50QXN5bmMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUVuZHBvaW50QXN5bmMgPSBcInNhZ2VtYWtlcjpJbnZva2VFbmRwb2ludEFzeW5jXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkludm9rZUVuZHBvaW50V2l0aFJlc3BvbnNlU3RyZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VFbmRwb2ludFdpdGhSZXNwb25zZVN0cmVhbSA9XG5cdFx0XCJzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnRXaXRoUmVzcG9uc2VTdHJlYW1cIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEFJQmVuY2htYXJrSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFJQmVuY2htYXJrSm9icyA9IFwic2FnZW1ha2VyOkxpc3RBSUJlbmNobWFya0pvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEFJUmVjb21tZW5kYXRpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QUlSZWNvbW1lbmRhdGlvbkpvYnMgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RBSVJlY29tbWVuZGF0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0QUlXb3JrbG9hZENvbmZpZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBSVdvcmtsb2FkQ29uZmlncyA9IFwic2FnZW1ha2VyOkxpc3RBSVdvcmtsb2FkQ29uZmlnc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0QWN0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFjdGlvbnMgPSBcInNhZ2VtYWtlcjpMaXN0QWN0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0QWxnb3JpdGhtcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFsZ29yaXRobXMgPSBcInNhZ2VtYWtlcjpMaXN0QWxnb3JpdGhtc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0QWxpYXNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFsaWFzZXMgPSBcInNhZ2VtYWtlcjpMaXN0QWxpYXNlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0QXBwSW1hZ2VDb25maWdzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwSW1hZ2VDb25maWdzID0gXCJzYWdlbWFrZXI6TGlzdEFwcEltYWdlQ29uZmlnc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0QXBwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcHMgPSBcInNhZ2VtYWtlcjpMaXN0QXBwc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0QXJ0aWZhY3RzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXJ0aWZhY3RzID0gXCJzYWdlbWFrZXI6TGlzdEFydGlmYWN0c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0QXNzb2NpYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXNzb2NpYXRpb25zID0gXCJzYWdlbWFrZXI6TGlzdEFzc29jaWF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0QXV0b01MSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9NTEpvYnMgPSBcInNhZ2VtYWtlcjpMaXN0QXV0b01MSm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q2FuZGlkYXRlc0ZvckF1dG9NTEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENhbmRpZGF0ZXNGb3JBdXRvTUxKb2IgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RDYW5kaWRhdGVzRm9yQXV0b01MSm9iXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RDbHVzdGVyRXZlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2x1c3RlckV2ZW50cyA9IFwic2FnZW1ha2VyOkxpc3RDbHVzdGVyRXZlbnRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RDbHVzdGVyTm9kZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDbHVzdGVyTm9kZXMgPSBcInNhZ2VtYWtlcjpMaXN0Q2x1c3Rlck5vZGVzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RDbHVzdGVyU2NoZWR1bGVyQ29uZmlncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJTY2hlZHVsZXJDb25maWdzID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0Q2x1c3RlclNjaGVkdWxlckNvbmZpZ3NcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdENsdXN0ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2x1c3RlcnMgPSBcInNhZ2VtYWtlcjpMaXN0Q2x1c3RlcnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdENvZGVSZXBvc2l0b3JpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb2RlUmVwb3NpdG9yaWVzID0gXCJzYWdlbWFrZXI6TGlzdENvZGVSZXBvc2l0b3JpZXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdENvbXBpbGF0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbXBpbGF0aW9uSm9icyA9IFwic2FnZW1ha2VyOkxpc3RDb21waWxhdGlvbkpvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdENvbXB1dGVRdW90YXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb21wdXRlUXVvdGFzID0gXCJzYWdlbWFrZXI6TGlzdENvbXB1dGVRdW90YXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdENvbnRleHRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29udGV4dHMgPSBcInNhZ2VtYWtlcjpMaXN0Q29udGV4dHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYXRhUXVhbGl0eUpvYkRlZmluaXRpb25zID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0RGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0RGV2aWNlRmxlZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGV2aWNlRmxlZXRzID0gXCJzYWdlbWFrZXI6TGlzdERldmljZUZsZWV0c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0RGV2aWNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERldmljZXMgPSBcInNhZ2VtYWtlcjpMaXN0RGV2aWNlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0RG9tYWlucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvbWFpbnMgPSBcInNhZ2VtYWtlcjpMaXN0RG9tYWluc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0RWRnZURlcGxveW1lbnRQbGFucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVkZ2VEZXBsb3ltZW50UGxhbnMgPSBcInNhZ2VtYWtlcjpMaXN0RWRnZURlcGxveW1lbnRQbGFuc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0RWRnZVBhY2thZ2luZ0pvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFZGdlUGFja2FnaW5nSm9icyA9IFwic2FnZW1ha2VyOkxpc3RFZGdlUGFja2FnaW5nSm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0RW5kcG9pbnRDb25maWdzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5kcG9pbnRDb25maWdzID0gXCJzYWdlbWFrZXI6TGlzdEVuZHBvaW50Q29uZmlnc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0RW5kcG9pbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5kcG9pbnRzID0gXCJzYWdlbWFrZXI6TGlzdEVuZHBvaW50c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0RXhwZXJpbWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFeHBlcmltZW50cyA9IFwic2FnZW1ha2VyOkxpc3RFeHBlcmltZW50c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0RmVhdHVyZUdyb3VwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZlYXR1cmVHcm91cHMgPSBcInNhZ2VtYWtlcjpMaXN0RmVhdHVyZUdyb3Vwc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Rmxvd0RlZmluaXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd0RlZmluaXRpb25zID0gXCJzYWdlbWFrZXI6TGlzdEZsb3dEZWZpbml0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0SHViQ29udGVudFZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHViQ29udGVudFZlcnNpb25zID0gXCJzYWdlbWFrZXI6TGlzdEh1YkNvbnRlbnRWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0SHViQ29udGVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIdWJDb250ZW50cyA9IFwic2FnZW1ha2VyOkxpc3RIdWJDb250ZW50c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0SHVicyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEh1YnMgPSBcInNhZ2VtYWtlcjpMaXN0SHVic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0SHVtYW5Mb29wcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEh1bWFuTG9vcHMgPSBcInNhZ2VtYWtlcjpMaXN0SHVtYW5Mb29wc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0SHVtYW5UYXNrVWlzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHVtYW5UYXNrVWlzID0gXCJzYWdlbWFrZXI6TGlzdEh1bWFuVGFza1Vpc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0SHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JzID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0SHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RJbWFnZVZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW1hZ2VWZXJzaW9ucyA9IFwic2FnZW1ha2VyOkxpc3RJbWFnZVZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RJbWFnZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbWFnZXMgPSBcInNhZ2VtYWtlcjpMaXN0SW1hZ2VzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VDb21wb25lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW5mZXJlbmNlQ29tcG9uZW50cyA9IFwic2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VDb21wb25lbnRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VFeHBlcmltZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluZmVyZW5jZUV4cGVyaW1lbnRzID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0SW5mZXJlbmNlRXhwZXJpbWVudHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYlN0ZXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iU3RlcHMgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JTdGVwc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0SW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYnMgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RKb2JTY2hlbWFWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEpvYlNjaGVtYVZlcnNpb25zID0gXCJzYWdlbWFrZXI6TGlzdEpvYlNjaGVtYVZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Sm9icyA9IFwic2FnZW1ha2VyOkxpc3RKb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RMYWJlbGluZ0pvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RMYWJlbGluZ0pvYnMgPSBcInNhZ2VtYWtlcjpMaXN0TGFiZWxpbmdKb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RMYWJlbGluZ0pvYnNGb3JXb3JrdGVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdExhYmVsaW5nSm9ic0Zvcldvcmt0ZWFtID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0TGFiZWxpbmdKb2JzRm9yV29ya3RlYW1cIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdExpbmVhZ2VHcm91cHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RMaW5lYWdlR3JvdXBzID0gXCJzYWdlbWFrZXI6TGlzdExpbmVhZ2VHcm91cHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1sZmxvd0FwcHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNbGZsb3dBcHBzID0gXCJzYWdlbWFrZXI6TGlzdE1sZmxvd0FwcHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1sZmxvd1RyYWNraW5nU2VydmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1sZmxvd1RyYWNraW5nU2VydmVycyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1sZmxvd1RyYWNraW5nU2VydmVyc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9kZWxCaWFzSm9iRGVmaW5pdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbEJpYXNKb2JEZWZpbml0aW9ucyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vZGVsQmlhc0pvYkRlZmluaXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb2RlbENhcmRFeHBvcnRKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxDYXJkRXhwb3J0Sm9icyA9IFwic2FnZW1ha2VyOkxpc3RNb2RlbENhcmRFeHBvcnRKb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb2RlbENhcmRWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQ2FyZFZlcnNpb25zID0gXCJzYWdlbWFrZXI6TGlzdE1vZGVsQ2FyZFZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb2RlbENhcmRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxDYXJkcyA9IFwic2FnZW1ha2VyOkxpc3RNb2RlbENhcmRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbnMgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vZGVsTWV0YWRhdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbE1ldGFkYXRhID0gXCJzYWdlbWFrZXI6TGlzdE1vZGVsTWV0YWRhdGFcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vZGVsUGFja2FnZUdyb3VwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsUGFja2FnZUdyb3VwcyA9IFwic2FnZW1ha2VyOkxpc3RNb2RlbFBhY2thZ2VHcm91cHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vZGVsUGFja2FnZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbFBhY2thZ2VzID0gXCJzYWdlbWFrZXI6TGlzdE1vZGVsUGFja2FnZXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbnMgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9kZWxzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxzID0gXCJzYWdlbWFrZXI6TGlzdE1vZGVsc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9uaXRvcmluZ0FsZXJ0SGlzdG9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vbml0b3JpbmdBbGVydEhpc3RvcnkgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RNb25pdG9yaW5nQWxlcnRIaXN0b3J5XCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb25pdG9yaW5nQWxlcnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9uaXRvcmluZ0FsZXJ0cyA9IFwic2FnZW1ha2VyOkxpc3RNb25pdG9yaW5nQWxlcnRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb25pdG9yaW5nRXhlY3V0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vbml0b3JpbmdFeGVjdXRpb25zID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9uaXRvcmluZ0V4ZWN1dGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdTY2hlZHVsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb25pdG9yaW5nU2NoZWR1bGVzID0gXCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdTY2hlZHVsZXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ3MgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3ROb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Tm90ZWJvb2tJbnN0YW5jZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROb3RlYm9va0luc3RhbmNlcyA9IFwic2FnZW1ha2VyOkxpc3ROb3RlYm9va0luc3RhbmNlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0T3B0aW1pemF0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9wdGltaXphdGlvbkpvYnMgPSBcInNhZ2VtYWtlcjpMaXN0T3B0aW1pemF0aW9uSm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UGFydG5lckFwcHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQYXJ0bmVyQXBwcyA9IFwic2FnZW1ha2VyOkxpc3RQYXJ0bmVyQXBwc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVFeGVjdXRpb25TdGVwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lRXhlY3V0aW9uU3RlcHMgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RQaXBlbGluZUV4ZWN1dGlvblN0ZXBzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RQaXBlbGluZUV4ZWN1dGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQaXBlbGluZUV4ZWN1dGlvbnMgPSBcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVFeGVjdXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RQaXBlbGluZVBhcmFtZXRlcnNGb3JFeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQaXBlbGluZVBhcmFtZXRlcnNGb3JFeGVjdXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RQaXBlbGluZVBhcmFtZXRlcnNGb3JFeGVjdXRpb25cIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFBpcGVsaW5lVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQaXBlbGluZVZlcnNpb25zID0gXCJzYWdlbWFrZXI6TGlzdFBpcGVsaW5lVmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFBpcGVsaW5lcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lcyA9IFwic2FnZW1ha2VyOkxpc3RQaXBlbGluZXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFByb2Nlc3NpbmdKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvY2Vzc2luZ0pvYnMgPSBcInNhZ2VtYWtlcjpMaXN0UHJvY2Vzc2luZ0pvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFByb2plY3RzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvamVjdHMgPSBcInNhZ2VtYWtlcjpMaXN0UHJvamVjdHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFJlY29yZHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvcmRzID0gXCJzYWdlbWFrZXI6TGlzdFJlY29yZHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFJlc291cmNlQ2F0YWxvZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZUNhdGFsb2dzID0gXCJzYWdlbWFrZXI6TGlzdFJlc291cmNlQ2F0YWxvZ3NcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFNoYXJlZE1vZGVsRXZlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2hhcmVkTW9kZWxFdmVudHMgPSBcInNhZ2VtYWtlcjpMaXN0U2hhcmVkTW9kZWxFdmVudHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFNoYXJlZE1vZGVsVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTaGFyZWRNb2RlbFZlcnNpb25zID0gXCJzYWdlbWFrZXI6TGlzdFNoYXJlZE1vZGVsVmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFNoYXJlZE1vZGVscyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNoYXJlZE1vZGVscyA9IFwic2FnZW1ha2VyOkxpc3RTaGFyZWRNb2RlbHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFNwYWNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNwYWNlcyA9IFwic2FnZW1ha2VyOkxpc3RTcGFjZXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFN0YWdlRGV2aWNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN0YWdlRGV2aWNlcyA9IFwic2FnZW1ha2VyOkxpc3RTdGFnZURldmljZXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFN0dWRpb0xpZmVjeWNsZUNvbmZpZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTdHVkaW9MaWZlY3ljbGVDb25maWdzID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0U3Vic2NyaWJlZFdvcmt0ZWFtcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN1YnNjcmliZWRXb3JrdGVhbXMgPSBcInNhZ2VtYWtlcjpMaXN0U3Vic2NyaWJlZFdvcmt0ZWFtc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0VGFncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3MgPSBcInNhZ2VtYWtlcjpMaXN0VGFnc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0VHJhaW5pbmdKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJhaW5pbmdKb2JzID0gXCJzYWdlbWFrZXI6TGlzdFRyYWluaW5nSm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0VHJhaW5pbmdKb2JzRm9ySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcmFpbmluZ0pvYnNGb3JIeXBlclBhcmFtZXRlclR1bmluZ0pvYiA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdFRyYWluaW5nSm9ic0Zvckh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RUcmFpbmluZ1BsYW5zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJhaW5pbmdQbGFucyA9IFwic2FnZW1ha2VyOkxpc3RUcmFpbmluZ1BsYW5zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RUcmFuc2Zvcm1Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJhbnNmb3JtSm9icyA9IFwic2FnZW1ha2VyOkxpc3RUcmFuc2Zvcm1Kb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RUcmlhbENvbXBvbmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcmlhbENvbXBvbmVudHMgPSBcInNhZ2VtYWtlcjpMaXN0VHJpYWxDb21wb25lbnRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RUcmlhbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcmlhbHMgPSBcInNhZ2VtYWtlcjpMaXN0VHJpYWxzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RVbHRyYVNlcnZlcnNCeVJlc2VydmVkQ2FwYWNpdHkgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RVbHRyYVNlcnZlcnNCeVJlc2VydmVkQ2FwYWNpdHkgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RVbHRyYVNlcnZlcnNCeVJlc2VydmVkQ2FwYWNpdHlcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFVzZXJQcm9maWxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFVzZXJQcm9maWxlcyA9IFwic2FnZW1ha2VyOkxpc3RVc2VyUHJvZmlsZXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFdvcmtmb3JjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RXb3JrZm9yY2VzID0gXCJzYWdlbWFrZXI6TGlzdFdvcmtmb3JjZXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFdvcmt0ZWFtcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFdvcmt0ZWFtcyA9IFwic2FnZW1ha2VyOkxpc3RXb3JrdGVhbXNcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlB1dExpbmVhZ2VHcm91cFBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0TGluZWFnZUdyb3VwUG9saWN5ID0gXCJzYWdlbWFrZXI6UHV0TGluZWFnZUdyb3VwUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpQdXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3kgPVxuXHRcdFwic2FnZW1ha2VyOlB1dE1vZGVsUGFja2FnZUdyb3VwUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpQdXRSZWNvcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlY29yZCA9IFwic2FnZW1ha2VyOlB1dFJlY29yZFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6UHV0UmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlc291cmNlUG9saWN5ID0gXCJzYWdlbWFrZXI6UHV0UmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6UXVlcnlMaW5lYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBRdWVyeUxpbmVhZ2UgPSBcInNhZ2VtYWtlcjpRdWVyeUxpbmVhZ2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlJlZ2lzdGVyRGV2aWNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJEZXZpY2VzID0gXCJzYWdlbWFrZXI6UmVnaXN0ZXJEZXZpY2VzXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOlJlbmRlclVpVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbmRlclVpVGVtcGxhdGUgPSBcInNhZ2VtYWtlcjpSZW5kZXJVaVRlbXBsYXRlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpSZXRyeVBpcGVsaW5lRXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBSZXRyeVBpcGVsaW5lRXhlY3V0aW9uID0gXCJzYWdlbWFrZXI6UmV0cnlQaXBlbGluZUV4ZWN1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U2FtcGxlICovXG5cdHN0YXRpYyByZWFkb25seSBTYW1wbGUgPSBcInNhZ2VtYWtlcjpTYW1wbGVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlNhbXBsZVdpdGhSZXNwb25zZVN0cmVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2FtcGxlV2l0aFJlc3BvbnNlU3RyZWFtID1cblx0XHRcInNhZ2VtYWtlcjpTYW1wbGVXaXRoUmVzcG9uc2VTdHJlYW1cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6U2VhcmNoICovXG5cdHN0YXRpYyByZWFkb25seSBTZWFyY2ggPSBcInNhZ2VtYWtlcjpTZWFyY2hcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6U2VhcmNoVHJhaW5pbmdQbGFuT2ZmZXJpbmdzICovXG5cdHN0YXRpYyByZWFkb25seSBTZWFyY2hUcmFpbmluZ1BsYW5PZmZlcmluZ3MgPVxuXHRcdFwic2FnZW1ha2VyOlNlYXJjaFRyYWluaW5nUGxhbk9mZmVyaW5nc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U2VuZEhlYXJ0YmVhdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZEhlYXJ0YmVhdCA9IFwic2FnZW1ha2VyOlNlbmRIZWFydGJlYXRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBGYWlsdXJlICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwRmFpbHVyZSA9XG5cdFx0XCJzYWdlbWFrZXI6U2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcEZhaWx1cmVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBTdWNjZXNzICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwU3VjY2VzcyA9XG5cdFx0XCJzYWdlbWFrZXI6U2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcFN1Y2Nlc3NcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlNlbmRTaGFyZWRNb2RlbEV2ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kU2hhcmVkTW9kZWxFdmVudCA9IFwic2FnZW1ha2VyOlNlbmRTaGFyZWRNb2RlbEV2ZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdGFydENsdXN0ZXJIZWFsdGhDaGVjayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRDbHVzdGVySGVhbHRoQ2hlY2sgPSBcInNhZ2VtYWtlcjpTdGFydENsdXN0ZXJIZWFsdGhDaGVja1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RhcnRFZGdlRGVwbG95bWVudFN0YWdlICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEVkZ2VEZXBsb3ltZW50U3RhZ2UgPVxuXHRcdFwic2FnZW1ha2VyOlN0YXJ0RWRnZURlcGxveW1lbnRTdGFnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RhcnRIdW1hbkxvb3AgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0SHVtYW5Mb29wID0gXCJzYWdlbWFrZXI6U3RhcnRIdW1hbkxvb3BcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0YXJ0SW5mZXJlbmNlRXhwZXJpbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRJbmZlcmVuY2VFeHBlcmltZW50ID1cblx0XHRcInNhZ2VtYWtlcjpTdGFydEluZmVyZW5jZUV4cGVyaW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0YXJ0TWxmbG93VHJhY2tpbmdTZXJ2ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TWxmbG93VHJhY2tpbmdTZXJ2ZXIgPVxuXHRcdFwic2FnZW1ha2VyOlN0YXJ0TWxmbG93VHJhY2tpbmdTZXJ2ZXJcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0YXJ0TW9uaXRvcmluZ1NjaGVkdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1vbml0b3JpbmdTY2hlZHVsZSA9IFwic2FnZW1ha2VyOlN0YXJ0TW9uaXRvcmluZ1NjaGVkdWxlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdGFydE5vdGVib29rSW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0Tm90ZWJvb2tJbnN0YW5jZSA9IFwic2FnZW1ha2VyOlN0YXJ0Tm90ZWJvb2tJbnN0YW5jZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RhcnRQaXBlbGluZUV4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRQaXBlbGluZUV4ZWN1dGlvbiA9IFwic2FnZW1ha2VyOlN0YXJ0UGlwZWxpbmVFeGVjdXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0YXJ0U2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRTZXNzaW9uID0gXCJzYWdlbWFrZXI6U3RhcnRTZXNzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wQUlCZW5jaG1hcmtKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BBSUJlbmNobWFya0pvYiA9IFwic2FnZW1ha2VyOlN0b3BBSUJlbmNobWFya0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcEFJUmVjb21tZW5kYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BBSVJlY29tbWVuZGF0aW9uSm9iID0gXCJzYWdlbWFrZXI6U3RvcEFJUmVjb21tZW5kYXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BBdXRvTUxKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BBdXRvTUxKb2IgPSBcInNhZ2VtYWtlcjpTdG9wQXV0b01MSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wQ29tcGlsYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BDb21waWxhdGlvbkpvYiA9IFwic2FnZW1ha2VyOlN0b3BDb21waWxhdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcEVkZ2VEZXBsb3ltZW50U3RhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BFZGdlRGVwbG95bWVudFN0YWdlID0gXCJzYWdlbWFrZXI6U3RvcEVkZ2VEZXBsb3ltZW50U3RhZ2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BFZGdlUGFja2FnaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wRWRnZVBhY2thZ2luZ0pvYiA9IFwic2FnZW1ha2VyOlN0b3BFZGdlUGFja2FnaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wSHVtYW5Mb29wICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wSHVtYW5Mb29wID0gXCJzYWdlbWFrZXI6U3RvcEh1bWFuTG9vcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgPVxuXHRcdFwic2FnZW1ha2VyOlN0b3BIeXBlclBhcmFtZXRlclR1bmluZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcEluZmVyZW5jZUV4cGVyaW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BJbmZlcmVuY2VFeHBlcmltZW50ID0gXCJzYWdlbWFrZXI6U3RvcEluZmVyZW5jZUV4cGVyaW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IgPVxuXHRcdFwic2FnZW1ha2VyOlN0b3BJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BKb2IgPSBcInNhZ2VtYWtlcjpTdG9wSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wTGFiZWxpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BMYWJlbGluZ0pvYiA9IFwic2FnZW1ha2VyOlN0b3BMYWJlbGluZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcE1sZmxvd1RyYWNraW5nU2VydmVyICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wTWxmbG93VHJhY2tpbmdTZXJ2ZXIgPVxuXHRcdFwic2FnZW1ha2VyOlN0b3BNbGZsb3dUcmFja2luZ1NlcnZlclwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcE1vbml0b3JpbmdTY2hlZHVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcE1vbml0b3JpbmdTY2hlZHVsZSA9IFwic2FnZW1ha2VyOlN0b3BNb25pdG9yaW5nU2NoZWR1bGVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BOb3RlYm9va0luc3RhbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wTm90ZWJvb2tJbnN0YW5jZSA9IFwic2FnZW1ha2VyOlN0b3BOb3RlYm9va0luc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wT3B0aW1pemF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wT3B0aW1pemF0aW9uSm9iID0gXCJzYWdlbWFrZXI6U3RvcE9wdGltaXphdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcFBpcGVsaW5lRXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wUGlwZWxpbmVFeGVjdXRpb24gPSBcInNhZ2VtYWtlcjpTdG9wUGlwZWxpbmVFeGVjdXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BQcm9jZXNzaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wUHJvY2Vzc2luZ0pvYiA9IFwic2FnZW1ha2VyOlN0b3BQcm9jZXNzaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wVHJhaW5pbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BUcmFpbmluZ0pvYiA9IFwic2FnZW1ha2VyOlN0b3BUcmFpbmluZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcFRyYW5zZm9ybUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRyYW5zZm9ybUpvYiA9IFwic2FnZW1ha2VyOlN0b3BUcmFuc2Zvcm1Kb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlRyYWluSHViTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRyYWluSHViTW9kZWwgPSBcInNhZ2VtYWtlcjpUcmFpbkh1Yk1vZGVsXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVBY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFjdGlvbiA9IFwic2FnZW1ha2VyOlVwZGF0ZUFjdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlQXBwSW1hZ2VDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFwcEltYWdlQ29uZmlnID0gXCJzYWdlbWFrZXI6VXBkYXRlQXBwSW1hZ2VDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUFydGlmYWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcnRpZmFjdCA9IFwic2FnZW1ha2VyOlVwZGF0ZUFydGlmYWN0XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyID0gXCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlckluZmVyZW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2x1c3RlckluZmVyZW5jZSA9IFwic2FnZW1ha2VyOlVwZGF0ZUNsdXN0ZXJJbmZlcmVuY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUNsdXN0ZXJTb2Z0d2FyZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2x1c3RlclNvZnR3YXJlID0gXCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNvZnR3YXJlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVDb2RlUmVwb3NpdG9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29kZVJlcG9zaXRvcnkgPSBcInNhZ2VtYWtlcjpVcGRhdGVDb2RlUmVwb3NpdG9yeVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlQ29tcHV0ZVF1b3RhICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb21wdXRlUXVvdGEgPSBcInNhZ2VtYWtlcjpVcGRhdGVDb21wdXRlUXVvdGFcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUNvbnRleHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbnRleHQgPSBcInNhZ2VtYWtlcjpVcGRhdGVDb250ZXh0XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVEZXZpY2VGbGVldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGV2aWNlRmxlZXQgPSBcInNhZ2VtYWtlcjpVcGRhdGVEZXZpY2VGbGVldFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlRGV2aWNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGV2aWNlcyA9IFwic2FnZW1ha2VyOlVwZGF0ZURldmljZXNcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZURvbWFpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRG9tYWluID0gXCJzYWdlbWFrZXI6VXBkYXRlRG9tYWluXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRW5kcG9pbnQgPSBcInNhZ2VtYWtlcjpVcGRhdGVFbmRwb2ludFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlRW5kcG9pbnRXZWlnaHRzQW5kQ2FwYWNpdGllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRW5kcG9pbnRXZWlnaHRzQW5kQ2FwYWNpdGllcyA9XG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlRW5kcG9pbnRXZWlnaHRzQW5kQ2FwYWNpdGllc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlRXhwZXJpbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRXhwZXJpbWVudCA9IFwic2FnZW1ha2VyOlVwZGF0ZUV4cGVyaW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUZlYXR1cmVHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmVhdHVyZUdyb3VwID0gXCJzYWdlbWFrZXI6VXBkYXRlRmVhdHVyZUdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVGZWF0dXJlTWV0YWRhdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZlYXR1cmVNZXRhZGF0YSA9IFwic2FnZW1ha2VyOlVwZGF0ZUZlYXR1cmVNZXRhZGF0YVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlSHViICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVIdWIgPSBcInNhZ2VtYWtlcjpVcGRhdGVIdWJcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUh1YkNvbnRlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUh1YkNvbnRlbnQgPSBcInNhZ2VtYWtlcjpVcGRhdGVIdWJDb250ZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVIdWJDb250ZW50UmVmZXJlbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVIdWJDb250ZW50UmVmZXJlbmNlID1cblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVIdWJDb250ZW50UmVmZXJlbmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVJbWFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW1hZ2UgPSBcInNhZ2VtYWtlcjpVcGRhdGVJbWFnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlSW1hZ2VWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbWFnZVZlcnNpb24gPSBcInNhZ2VtYWtlcjpVcGRhdGVJbWFnZVZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUluZmVyZW5jZUNvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50ID1cblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVJbmZlcmVuY2VDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUluZmVyZW5jZUNvbXBvbmVudFJ1bnRpbWVDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUluZmVyZW5jZUNvbXBvbmVudFJ1bnRpbWVDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUluZmVyZW5jZUNvbXBvbmVudFJ1bnRpbWVDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUluZmVyZW5jZUV4cGVyaW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUluZmVyZW5jZUV4cGVyaW1lbnQgPVxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUluZmVyZW5jZUV4cGVyaW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZU1sZmxvd0FwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWxmbG93QXBwID0gXCJzYWdlbWFrZXI6VXBkYXRlTWxmbG93QXBwXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVNbGZsb3dUcmFja2luZ1NlcnZlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgPVxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZU1sZmxvd1RyYWNraW5nU2VydmVyXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVNb2RlbENhcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vZGVsQ2FyZCA9IFwic2FnZW1ha2VyOlVwZGF0ZU1vZGVsQ2FyZFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlTW9kZWxQYWNrYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNb2RlbFBhY2thZ2UgPSBcInNhZ2VtYWtlcjpVcGRhdGVNb2RlbFBhY2thZ2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZU1vbml0b3JpbmdBbGVydCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTW9uaXRvcmluZ0FsZXJ0ID0gXCJzYWdlbWFrZXI6VXBkYXRlTW9uaXRvcmluZ0FsZXJ0XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVNb25pdG9yaW5nU2NoZWR1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vbml0b3JpbmdTY2hlZHVsZSA9XG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTW9uaXRvcmluZ1NjaGVkdWxlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVOb3RlYm9va0luc3RhbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVOb3RlYm9va0luc3RhbmNlID0gXCJzYWdlbWFrZXI6VXBkYXRlTm90ZWJvb2tJbnN0YW5jZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyA9XG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlUGFydG5lckFwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGFydG5lckFwcCA9IFwic2FnZW1ha2VyOlVwZGF0ZVBhcnRuZXJBcHBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVBpcGVsaW5lICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQaXBlbGluZSA9IFwic2FnZW1ha2VyOlVwZGF0ZVBpcGVsaW5lXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVQaXBlbGluZUV4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGlwZWxpbmVFeGVjdXRpb24gPSBcInNhZ2VtYWtlcjpVcGRhdGVQaXBlbGluZUV4ZWN1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlUGlwZWxpbmVWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQaXBlbGluZVZlcnNpb24gPSBcInNhZ2VtYWtlcjpVcGRhdGVQaXBlbGluZVZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVByb2plY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByb2plY3QgPSBcInNhZ2VtYWtlcjpVcGRhdGVQcm9qZWN0XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVSZXdhcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJld2FyZCA9IFwic2FnZW1ha2VyOlVwZGF0ZVJld2FyZFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlU2hhcmVkTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNoYXJlZE1vZGVsID0gXCJzYWdlbWFrZXI6VXBkYXRlU2hhcmVkTW9kZWxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVNwYWNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTcGFjZSA9IFwic2FnZW1ha2VyOlVwZGF0ZVNwYWNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVUcmFpbmluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVHJhaW5pbmdKb2IgPSBcInNhZ2VtYWtlcjpVcGRhdGVUcmFpbmluZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlVHJpYWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRyaWFsID0gXCJzYWdlbWFrZXI6VXBkYXRlVHJpYWxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVRyaWFsQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUcmlhbENvbXBvbmVudCA9IFwic2FnZW1ha2VyOlVwZGF0ZVRyaWFsQ29tcG9uZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVVc2VyUHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVXNlclByb2ZpbGUgPSBcInNhZ2VtYWtlcjpVcGRhdGVVc2VyUHJvZmlsZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlV29ya2ZvcmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVXb3JrZm9yY2UgPSBcInNhZ2VtYWtlcjpVcGRhdGVXb3JrZm9yY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVdvcmt0ZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVXb3JrdGVhbSA9IFwic2FnZW1ha2VyOlVwZGF0ZVdvcmt0ZWFtXCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5BY2Nlc3NNb2RlbFBhY2thZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5CYXRjaERlc2NyaWJlTW9kZWxQYWNrYWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQmF0Y2hHZXRNZXRyaWNzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQmF0Y2hHZXRSZWNvcmQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DYWxsV2l0aEJlYXJlclRva2VuLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlSHViQ29udGVudFByZXNpZ25lZFVybHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUFJQmVuY2htYXJrSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVBSVJlY29tbWVuZGF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVBSVdvcmtsb2FkQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVBY3Rpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUFsZ29yaXRobSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQXBwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVBcHBJbWFnZUNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQXJ0aWZhY3QsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUF1dG9NTEpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQXV0b01MSm9iVjIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUNsdXN0ZXIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUNsdXN0ZXJFdmVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQ2x1c3RlckluZmVyZW5jZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQ2x1c3Rlck5vZGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUNvZGVSZXBvc2l0b3J5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVDb21waWxhdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQ29tcHV0ZVF1b3RhLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVDb250ZXh0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZURldmljZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRGV2aWNlRmxlZXQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZURvbWFpbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRWRnZURlcGxveW1lbnRQbGFuLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVFZGdlUGFja2FnaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVFbmRwb2ludCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRW5kcG9pbnRDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUV4cGVyaW1lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUZlYXR1cmVHcm91cCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRmVhdHVyZU1ldGFkYXRhLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVGbG93RGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlSHViLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVIdWJDb250ZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVIdW1hbkxvb3AsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUh1bWFuVGFza1VpLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVIeXBlclBhcmFtZXRlclR1bmluZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlSW1hZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUltYWdlVmVyc2lvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlSW5mZXJlbmNlQ29tcG9uZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVJbmZlcmVuY2VFeHBlcmltZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlSm9iU2NoZW1hVmVyc2lvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTGFiZWxpbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUxpbmVhZ2VHcm91cCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTWxmbG93QXBwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNbGZsb3dUcmFja2luZ1NlcnZlcixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTW9kZWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU1vZGVsQmlhc0pvYkRlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU1vZGVsQ2FyZCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTW9kZWxDYXJkRXhwb3J0Sm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTW9kZWxQYWNrYWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNb2RlbFBhY2thZ2VHcm91cCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTW9uaXRvcmluZ1NjaGVkdWxlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVOb3RlYm9va0luc3RhbmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVPcHRpbWl6YXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVBhcnRuZXJBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVBpcGVsaW5lLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVQaXBlbGluZURlZmluaXRpb25Gb3JFeGVjdXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVBpcGVsaW5lRXhlY3V0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVQcm9jZXNzaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVQcm9qZWN0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVSZXNlcnZlZENhcGFjaXR5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVTaGFyZWRNb2RlbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlU3BhY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlU3Vic2NyaWJlZFdvcmt0ZWFtLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVUcmFpbmluZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlVHJhaW5pbmdQbGFuLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVUcmFpbmluZ1BsYW5FeHRlbnNpb25IaXN0b3J5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVUcmFuc2Zvcm1Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVRyaWFsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVUcmlhbENvbXBvbmVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlVXNlclByb2ZpbGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVdvcmtmb3JjZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlV29ya3RlYW0sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5hY3Rpb25HZXREZXBsb3ltZW50cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLmFjdGlvbkdldERldmljZUZsZWV0UmVwb3J0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuYWN0aW9uR2V0RGV2aWNlUmVnaXN0cmF0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuYWN0aW9uR2V0TGluZWFnZUdyb3VwUG9saWN5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuYWN0aW9uR2V0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3ksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5hY3Rpb25HZXRSZWNvcmQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5hY3Rpb25HZXRSZXNvdXJjZVBvbGljeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLmFjdGlvbkdldFNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvU3RhdHVzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuYWN0aW9uR2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLmFjdGlvbkdldFNlYXJjaFN1Z2dlc3Rpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuSW52b2tlRW5kcG9pbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5JbnZva2VFbmRwb2ludEFzeW5jLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuSW52b2tlRW5kcG9pbnRXaXRoUmVzcG9uc2VTdHJlYW0sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5SZW5kZXJVaVRlbXBsYXRlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU2VhcmNoLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU2VhcmNoVHJhaW5pbmdQbGFuT2ZmZXJpbmdzLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQWRkQXNzb2NpYXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5Bc3NvY2lhdGVUcmlhbENvbXBvbmVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkF0dGFjaENsdXN0ZXJOb2RlVm9sdW1lLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQmF0Y2hBZGRDbHVzdGVyTm9kZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5CYXRjaERlbGV0ZUNsdXN0ZXJOb2Rlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkJhdGNoUHV0TWV0cmljcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkJhdGNoUmVib290Q2x1c3Rlck5vZGVzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQmF0Y2hSZXBsYWNlQ2x1c3Rlck5vZGVzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQmF0Y2hXcml0ZVJlY29yZCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNhbGxNbGZsb3dBcHBBcGksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DYWxsUGFydG5lckFwcEFwaSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNvbXBsZXRlUm9sbG91dCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUFJQmVuY2htYXJrSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQUlSZWNvbW1lbmRhdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUFJV29ya2xvYWRDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVBY3Rpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVBbGdvcml0aG0sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVBcHBJbWFnZUNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUFydGlmYWN0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQXV0b01MSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQXV0b01MSm9iVjIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVDbHVzdGVyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUNvZGVSZXBvc2l0b3J5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQ29tcGlsYXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVDb21wdXRlUXVvdGEsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVDb250ZXh0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlRGV2aWNlRmxlZXQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVEb21haW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVFZGdlRGVwbG95bWVudFBsYW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVFZGdlRGVwbG95bWVudFN0YWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlRWRnZVBhY2thZ2luZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUVuZHBvaW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlRW5kcG9pbnRDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVFeHBlcmltZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlRmVhdHVyZUdyb3VwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlRmxvd0RlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVIdWIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVIdWJDb250ZW50UmVmZXJlbmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlSHVtYW5UYXNrVWksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUltYWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlSW1hZ2VWZXJzaW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlSW5mZXJlbmNlQ29tcG9uZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlSW5mZXJlbmNlRXhwZXJpbWVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUxhYmVsaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTGluZWFnZUdyb3VwUG9saWN5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTWxmbG93QXBwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVNb2RlbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVNb2RlbENhcmQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVNb2RlbENhcmRFeHBvcnRKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU1vZGVsUGFja2FnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU1vZGVsUGFja2FnZUdyb3VwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU1vbml0b3JpbmdTY2hlZHVsZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU5vdGVib29rSW5zdGFuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlT3B0aW1pemF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlUGFydG5lckFwcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVBhcnRuZXJBcHBQcmVzaWduZWRVcmwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVQaXBlbGluZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVByZXNpZ25lZERvbWFpblVybCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVByZXNpZ25lZE1sZmxvd0FwcFVybCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVByZXNpZ25lZE1sZmxvd1RyYWNraW5nU2VydmVyVXJsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlUHJlc2lnbmVkTm90ZWJvb2tJbnN0YW5jZVVybCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVByb2Nlc3NpbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVQcm9qZWN0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlUmVzZXJ2ZWRDYXBhY2l0eSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVNoYXJlZE1vZGVsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlU3BhY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVTdHVkaW9MaWZlY3ljbGVDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVUcmFpbmluZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVRyYWluaW5nUGxhbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVRyYW5zZm9ybUpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVRyaWFsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlVHJpYWxDb21wb25lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVVc2VyUHJvZmlsZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVdvcmtmb3JjZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVdvcmt0ZWFtLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQUlCZW5jaG1hcmtKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVBSVJlY29tbWVuZGF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQUlXb3JrbG9hZENvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUFjdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUFsZ29yaXRobSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUFwcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUFwcEltYWdlQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQXJ0aWZhY3QsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVBc3NvY2lhdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUNsdXN0ZXIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQ29kZVJlcG9zaXRvcnksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVDb21waWxhdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUNvbXB1dGVRdW90YSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUNvbnRleHQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVEZXZpY2VGbGVldCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZURvbWFpbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUVkZ2VEZXBsb3ltZW50UGxhbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUVkZ2VEZXBsb3ltZW50U3RhZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVFbmRwb2ludCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUVuZHBvaW50Q29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlRXhwZXJpbWVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUZlYXR1cmVHcm91cCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUZsb3dEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlSHViLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlSHViQ29udGVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUh1YkNvbnRlbnRSZWZlcmVuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVIdW1hbkxvb3AsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVIdW1hblRhc2tVaSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlSW1hZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVJbWFnZVZlcnNpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVJbmZlcmVuY2VDb21wb25lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVJbmZlcmVuY2VFeHBlcmltZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTGluZWFnZUdyb3VwUG9saWN5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTWxmbG93QXBwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVNb2RlbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVNb2RlbENhcmQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU1vZGVsUGFja2FnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU1vZGVsUGFja2FnZUdyb3VwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTW9kZWxQYWNrYWdlR3JvdXBQb2xpY3ksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTW9uaXRvcmluZ1NjaGVkdWxlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTm90ZWJvb2tJbnN0YW5jZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVPcHRpbWl6YXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVQYXJ0bmVyQXBwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlUGlwZWxpbmUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVQcm9jZXNzaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlUHJvamVjdCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVJlY29yZCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVJlc291cmNlUG9saWN5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlU3BhY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVTdHVkaW9MaWZlY3ljbGVDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVUcmFpbmluZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVRyaWFsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlVHJpYWxDb21wb25lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVVc2VyUHJvZmlsZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVdvcmtmb3JjZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVdvcmt0ZWFtLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVwbG95SHViTW9kZWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXJlZ2lzdGVyRGV2aWNlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRldGFjaENsdXN0ZXJOb2RlVm9sdW1lLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGlzYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGlzYXNzb2NpYXRlVHJpYWxDb21wb25lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5FbmFibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpbyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkV4dGVuZFRyYWluaW5nUGxhbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkltcG9ydEh1YkNvbnRlbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5QdXRMaW5lYWdlR3JvdXBQb2xpY3ksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5QdXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlB1dFJlY29yZCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlB1dFJlc291cmNlUG9saWN5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuUmVnaXN0ZXJEZXZpY2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuUmV0cnlQaXBlbGluZUV4ZWN1dGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlNhbXBsZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlNhbXBsZVdpdGhSZXNwb25zZVN0cmVhbSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlNlbmRIZWFydGJlYXQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwRmFpbHVyZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBTdWNjZXNzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU2VuZFNoYXJlZE1vZGVsRXZlbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdGFydENsdXN0ZXJIZWFsdGhDaGVjayxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0YXJ0RWRnZURlcGxveW1lbnRTdGFnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0YXJ0SHVtYW5Mb29wLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RhcnRJbmZlcmVuY2VFeHBlcmltZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RhcnRNbGZsb3dUcmFja2luZ1NlcnZlcixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0YXJ0TW9uaXRvcmluZ1NjaGVkdWxlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RhcnROb3RlYm9va0luc3RhbmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RhcnRQaXBlbGluZUV4ZWN1dGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0YXJ0U2Vzc2lvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BBSUJlbmNobWFya0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BBSVJlY29tbWVuZGF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcEF1dG9NTEpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BDb21waWxhdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BFZGdlRGVwbG95bWVudFN0YWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcEVkZ2VQYWNrYWdpbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wSHVtYW5Mb29wLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcEluZmVyZW5jZUV4cGVyaW1lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcEpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BMYWJlbGluZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BNbGZsb3dUcmFja2luZ1NlcnZlcixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BNb25pdG9yaW5nU2NoZWR1bGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wTm90ZWJvb2tJbnN0YW5jZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BPcHRpbWl6YXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wUGlwZWxpbmVFeGVjdXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wUHJvY2Vzc2luZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BUcmFpbmluZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BUcmFuc2Zvcm1Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5UcmFpbkh1Yk1vZGVsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlQWN0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlQXBwSW1hZ2VDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVBcnRpZmFjdCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUNsdXN0ZXIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVDbHVzdGVySW5mZXJlbmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUNsdXN0ZXJTb2Z0d2FyZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUNvZGVSZXBvc2l0b3J5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlQ29tcHV0ZVF1b3RhLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlQ29udGV4dCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZURldmljZUZsZWV0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlRGV2aWNlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZURvbWFpbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUVuZHBvaW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlRW5kcG9pbnRXZWlnaHRzQW5kQ2FwYWNpdGllcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUV4cGVyaW1lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVGZWF0dXJlR3JvdXAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVGZWF0dXJlTWV0YWRhdGEsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVIdWIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVIdWJDb250ZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlSHViQ29udGVudFJlZmVyZW5jZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUltYWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlSW1hZ2VWZXJzaW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50UnVudGltZUNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUluZmVyZW5jZUV4cGVyaW1lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVNbGZsb3dBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVNbGZsb3dUcmFja2luZ1NlcnZlcixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZU1vZGVsQ2FyZCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZU1vZGVsUGFja2FnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZU1vbml0b3JpbmdBbGVydCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZU1vbml0b3JpbmdTY2hlZHVsZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZU5vdGVib29rSW5zdGFuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlUGFydG5lckFwcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVBpcGVsaW5lLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlUGlwZWxpbmVFeGVjdXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVQaXBlbGluZVZlcnNpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVQcm9qZWN0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlUmV3YXJkLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlU2hhcmVkTW9kZWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVTcGFjZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVRyYWluaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlVHJpYWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVUcmlhbENvbXBvbmVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVVzZXJQcm9maWxlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlV29ya2ZvcmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlV29ya3RlYW0sXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEFJQmVuY2htYXJrSm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RBSVJlY29tbWVuZGF0aW9uSm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RBSVdvcmtsb2FkQ29uZmlncyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RBY3Rpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEFsZ29yaXRobXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0QWxpYXNlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RBcHBJbWFnZUNvbmZpZ3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0QXBwcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RBcnRpZmFjdHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0QXNzb2NpYXRpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEF1dG9NTEpvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Q2FuZGlkYXRlc0ZvckF1dG9NTEpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RDbHVzdGVyRXZlbnRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdENsdXN0ZXJOb2Rlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RDbHVzdGVyU2NoZWR1bGVyQ29uZmlncyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RDbHVzdGVycyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RDb2RlUmVwb3NpdG9yaWVzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdENvbXBpbGF0aW9uSm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RDb21wdXRlUXVvdGFzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdENvbnRleHRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0RGV2aWNlRmxlZXRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdERldmljZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0RG9tYWlucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RFZGdlRGVwbG95bWVudFBsYW5zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEVkZ2VQYWNrYWdpbmdKb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEVuZHBvaW50Q29uZmlncyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RFbmRwb2ludHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0RXhwZXJpbWVudHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0RmVhdHVyZUdyb3Vwcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RGbG93RGVmaW5pdGlvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SHViQ29udGVudFZlcnNpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEh1YkNvbnRlbnRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEh1YnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SHVtYW5Mb29wcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RIdW1hblRhc2tVaXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEltYWdlVmVyc2lvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SW1hZ2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEluZmVyZW5jZUNvbXBvbmVudHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SW5mZXJlbmNlRXhwZXJpbWVudHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iU3RlcHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RKb2JTY2hlbWFWZXJzaW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RKb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdExhYmVsaW5nSm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RMYWJlbGluZ0pvYnNGb3JXb3JrdGVhbSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RMaW5lYWdlR3JvdXBzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1sZmxvd0FwcHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TWxmbG93VHJhY2tpbmdTZXJ2ZXJzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vZGVsQmlhc0pvYkRlZmluaXRpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vZGVsQ2FyZEV4cG9ydEpvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9kZWxDYXJkVmVyc2lvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9kZWxDYXJkcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9kZWxNZXRhZGF0YSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb2RlbFBhY2thZ2VHcm91cHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9kZWxQYWNrYWdlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb2RlbHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9uaXRvcmluZ0FsZXJ0SGlzdG9yeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb25pdG9yaW5nQWxlcnRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vbml0b3JpbmdFeGVjdXRpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vbml0b3JpbmdTY2hlZHVsZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Tm90ZWJvb2tJbnN0YW5jZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0T3B0aW1pemF0aW9uSm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RQYXJ0bmVyQXBwcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RQaXBlbGluZUV4ZWN1dGlvblN0ZXBzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFBpcGVsaW5lRXhlY3V0aW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RQaXBlbGluZVBhcmFtZXRlcnNGb3JFeGVjdXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0UGlwZWxpbmVWZXJzaW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RQaXBlbGluZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0UHJvY2Vzc2luZ0pvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0UHJvamVjdHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0UmVjb3Jkcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RSZXNvdXJjZUNhdGFsb2dzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFNoYXJlZE1vZGVsRXZlbnRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFNoYXJlZE1vZGVsVmVyc2lvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0U2hhcmVkTW9kZWxzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFNwYWNlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RTdGFnZURldmljZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0U3R1ZGlvTGlmZWN5Y2xlQ29uZmlncyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RTdWJzY3JpYmVkV29ya3RlYW1zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFRhZ3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0VHJhaW5pbmdKb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFRyYWluaW5nSm9ic0Zvckh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFRyYWluaW5nUGxhbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0VHJhbnNmb3JtSm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RUcmlhbENvbXBvbmVudHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0VHJpYWxzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFVsdHJhU2VydmVyc0J5UmVzZXJ2ZWRDYXBhY2l0eSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RVc2VyUHJvZmlsZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0V29ya2ZvcmNlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RXb3JrdGVhbXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5RdWVyeUxpbmVhZ2UsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQWRkVGFncyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVRhZ3MsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhY3Rpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFjdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBBY3Rpb25OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhY3Rpb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYWN0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBY3Rpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFjdGlvbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhY3Rpb25OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhaS1iZW5jaG1hcmstam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBaUJlbmNobWFya0pvYkFyblByb3BzIHtcblx0LyoqIFRoZSBBSUJlbmNobWFya0pvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFpQmVuY2htYXJrSm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFpLWJlbmNobWFyay1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFpQmVuY2htYXJrSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBSUJlbmNobWFya0pvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhaUJlbmNobWFya0pvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFpLXJlY29tbWVuZGF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQWlSZWNvbW1lbmRhdGlvbkpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBBSVJlY29tbWVuZGF0aW9uSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWlSZWNvbW1lbmRhdGlvbkpvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhaS1yZWNvbW1lbmRhdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFpUmVjb21tZW5kYXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFJUmVjb21tZW5kYXRpb25Kb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYWlSZWNvbW1lbmRhdGlvbkpvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFpLXdvcmtsb2FkLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQWlXb3JrbG9hZENvbmZpZ0FyblByb3BzIHtcblx0LyoqIFRoZSBBSVdvcmtsb2FkQ29uZmlnTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWlXb3JrbG9hZENvbmZpZ05hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhaS13b3JrbG9hZC1jb25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFpV29ya2xvYWRDb25maWdBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFJV29ya2xvYWRDb25maWdOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYWlXb3JrbG9hZENvbmZpZ05hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFsZ29yaXRobSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQWxnb3JpdGhtQXJuUHJvcHMge1xuXHQvKiogVGhlIEFsZ29yaXRobU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFsZ29yaXRobU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhbGdvcml0aG0gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFsZ29yaXRobUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQWxnb3JpdGhtTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFsZ29yaXRobU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFwcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQXBwQXJuUHJvcHMge1xuXHQvKiogVGhlIERvbWFpbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkb21haW5JZDogc3RyaW5nO1xuXHQvKiogVGhlIFVzZXJQcm9maWxlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdXNlclByb2ZpbGVOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQXBwVHlwZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXBwVHlwZTogc3RyaW5nO1xuXHQvKiogVGhlIEFwcE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFwcE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhcHAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFwcEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRG9tYWluSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5JZDogc3RyaW5nO1xuXHQvKiogVGhlIFVzZXJQcm9maWxlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHVzZXJQcm9maWxlTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIEFwcFR5cGUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhcHBUeXBlOiBzdHJpbmc7XG5cdC8qKiBUaGUgQXBwTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFwcE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFwcC1pbWFnZS1jb25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFwcEltYWdlQ29uZmlnQXJuUHJvcHMge1xuXHQvKiogVGhlIEFwcEltYWdlQ29uZmlnTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXBwSW1hZ2VDb25maWdOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXBwLWltYWdlLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQXBwSW1hZ2VDb25maWdBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFwcEltYWdlQ29uZmlnTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFwcEltYWdlQ29uZmlnTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXJ0aWZhY3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFydGlmYWN0QXJuUHJvcHMge1xuXHQvKiogVGhlIEhhc2hPZkFydGlmYWN0U291cmNlIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBoYXNoT2ZBcnRpZmFjdFNvdXJjZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFydGlmYWN0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBcnRpZmFjdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSGFzaE9mQXJ0aWZhY3RTb3VyY2UgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBoYXNoT2ZBcnRpZmFjdFNvdXJjZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXV0b21sLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQXV0b21sSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEF1dG9NTEpvYkpvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGF1dG9NbEpvYkpvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhdXRvbWwtam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBdXRvbWxKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEF1dG9NTEpvYkpvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhdXRvTWxKb2JKb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjbHVzdGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDbHVzdGVyQXJuUHJvcHMge1xuXHQvKiogVGhlIENsdXN0ZXJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2x1c3RlcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY2x1c3RlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ2x1c3RlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2x1c3RlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2x1c3RlcklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjbHVzdGVyLXNjaGVkdWxlci1jb25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNsdXN0ZXJTY2hlZHVsZXJDb25maWdBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0lkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbHVzdGVyU2NoZWR1bGVyQ29uZmlnSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjbHVzdGVyLXNjaGVkdWxlci1jb25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNsdXN0ZXJTY2hlZHVsZXJDb25maWdBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENsdXN0ZXJTY2hlZHVsZXJDb25maWdJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJTY2hlZHVsZXJDb25maWdJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY29kZS1yZXBvc2l0b3J5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDb2RlUmVwb3NpdG9yeUFyblByb3BzIHtcblx0LyoqIFRoZSBDb2RlUmVwb3NpdG9yeU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvZGVSZXBvc2l0b3J5TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNvZGUtcmVwb3NpdG9yeSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ29kZVJlcG9zaXRvcnlBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENvZGVSZXBvc2l0b3J5TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvZGVSZXBvc2l0b3J5TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY29tcGlsYXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDb21waWxhdGlvbkpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBDb21waWxhdGlvbkpvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbXBpbGF0aW9uSm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNvbXBpbGF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ29tcGlsYXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENvbXBpbGF0aW9uSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbXBpbGF0aW9uSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY29tcHV0ZS1xdW90YSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ29tcHV0ZVF1b3RhQXJuUHJvcHMge1xuXHQvKiogVGhlIENvbXB1dGVRdW90YUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb21wdXRlUXVvdGFJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNvbXB1dGUtcXVvdGEgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNvbXB1dGVRdW90YUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29tcHV0ZVF1b3RhSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjb21wdXRlUXVvdGFJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY29udGV4dCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ29udGV4dEFyblByb3BzIHtcblx0LyoqIFRoZSBDb250ZXh0TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29udGV4dE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjb250ZXh0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDb250ZXh0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDb250ZXh0TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbnRleHROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkYXRhLXF1YWxpdHktam9iLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkYXRhUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZGF0YS1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkYXRhUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkZXZpY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckRldmljZUFyblByb3BzIHtcblx0LyoqIFRoZSBEZXZpY2VGbGVldE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRldmljZUZsZWV0TmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIERldmljZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRldmljZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkZXZpY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckRldmljZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRGV2aWNlRmxlZXROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGV2aWNlRmxlZXROYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRGV2aWNlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRldmljZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRldmljZS1mbGVldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRGV2aWNlRmxlZXRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRGV2aWNlRmxlZXROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkZXZpY2VGbGVldE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkZXZpY2UtZmxlZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckRldmljZUZsZWV0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEZXZpY2VGbGVldE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkZXZpY2VGbGVldE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRvbWFpbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRG9tYWluQXJuUHJvcHMge1xuXHQvKiogVGhlIERvbWFpbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkb21haW5JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRvbWFpbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRG9tYWluQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRvbWFpbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBlZGdlLWRlcGxveW1lbnQtcGxhbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRWRnZURlcGxveW1lbnRQbGFuQXJuUHJvcHMge1xuXHQvKiogVGhlIEVkZ2VEZXBsb3ltZW50UGxhbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGVkZ2VEZXBsb3ltZW50UGxhbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBlZGdlLWRlcGxveW1lbnQtcGxhbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRWRnZURlcGxveW1lbnRQbGFuQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBFZGdlRGVwbG95bWVudFBsYW5OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZWRnZURlcGxveW1lbnRQbGFuTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZWRnZS1wYWNrYWdpbmctam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFZGdlUGFja2FnaW5nSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEVkZ2VQYWNrYWdpbmdKb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBlZGdlUGFja2FnaW5nSm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGVkZ2UtcGFja2FnaW5nLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRWRnZVBhY2thZ2luZ0pvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRWRnZVBhY2thZ2luZ0pvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBlZGdlUGFja2FnaW5nSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZW5kcG9pbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckVuZHBvaW50QXJuUHJvcHMge1xuXHQvKiogVGhlIEVuZHBvaW50TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZW5kcG9pbnROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZW5kcG9pbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckVuZHBvaW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBFbmRwb2ludE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBlbmRwb2ludE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGVuZHBvaW50LWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRW5kcG9pbnRDb25maWdBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRW5kcG9pbnRDb25maWdOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBlbmRwb2ludENvbmZpZ05hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBlbmRwb2ludC1jb25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckVuZHBvaW50Q29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBFbmRwb2ludENvbmZpZ05hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBlbmRwb2ludENvbmZpZ05hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGV4cGVyaW1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckV4cGVyaW1lbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRXhwZXJpbWVudE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGV4cGVyaW1lbnROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZXhwZXJpbWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRXhwZXJpbWVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRXhwZXJpbWVudE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBleHBlcmltZW50TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZXhwZXJpbWVudC10cmlhbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRXhwZXJpbWVudFRyaWFsQXJuUHJvcHMge1xuXHQvKiogVGhlIFRyaWFsTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdHJpYWxOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZXhwZXJpbWVudC10cmlhbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRXhwZXJpbWVudFRyaWFsQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBUcmlhbE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0cmlhbE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGV4cGVyaW1lbnQtdHJpYWwtY29tcG9uZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFeHBlcmltZW50VHJpYWxDb21wb25lbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVHJpYWxDb21wb25lbnROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0cmlhbENvbXBvbmVudE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBleHBlcmltZW50LXRyaWFsLWNvbXBvbmVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRXhwZXJpbWVudFRyaWFsQ29tcG9uZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBUcmlhbENvbXBvbmVudE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0cmlhbENvbXBvbmVudE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGZlYXR1cmUtZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckZlYXR1cmVHcm91cEFyblByb3BzIHtcblx0LyoqIFRoZSBGZWF0dXJlR3JvdXBOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBmZWF0dXJlR3JvdXBOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZmVhdHVyZS1ncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRmVhdHVyZUdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBGZWF0dXJlR3JvdXBOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZmVhdHVyZUdyb3VwTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZmxvdy1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJGbG93RGVmaW5pdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBGbG93RGVmaW5pdGlvbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGZsb3dEZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGZsb3ctZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRmxvd0RlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEZsb3dEZWZpbml0aW9uTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGZsb3dEZWZpbml0aW9uTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaHViIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJIdWJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSHViTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaHViTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGh1YiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySHViQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBIdWJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaHViTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaHViLWNvbnRlbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckh1YkNvbnRlbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSHViTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaHViTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIEh1YkNvbnRlbnRUeXBlIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBodWJDb250ZW50VHlwZTogc3RyaW5nO1xuXHQvKiogVGhlIEh1YkNvbnRlbnROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBodWJDb250ZW50TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGh1Yi1jb250ZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJIdWJDb250ZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBIdWJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaHViTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIEh1YkNvbnRlbnRUeXBlIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaHViQ29udGVudFR5cGU6IHN0cmluZztcblx0LyoqIFRoZSBIdWJDb250ZW50TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGh1YkNvbnRlbnROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBodW1hbi1sb29wIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJIdW1hbkxvb3BBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSHVtYW5Mb29wTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaHVtYW5Mb29wTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGh1bWFuLWxvb3AgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckh1bWFuTG9vcEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSHVtYW5Mb29wTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGh1bWFuTG9vcE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGh1bWFuLXRhc2stdWkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckh1bWFuVGFza1VpQXJuUHJvcHMge1xuXHQvKiogVGhlIEh1bWFuVGFza1VpTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaHVtYW5UYXNrVWlOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaHVtYW4tdGFzay11aSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySHVtYW5UYXNrVWlBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEh1bWFuVGFza1VpTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGh1bWFuVGFza1VpTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaHlwZXItcGFyYW1ldGVyLXR1bmluZy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaHlwZXItcGFyYW1ldGVyLXR1bmluZy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBIeXBlclBhcmFtZXRlclR1bmluZ0pvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBoeXBlclBhcmFtZXRlclR1bmluZ0pvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGltYWdlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJJbWFnZUFyblByb3BzIHtcblx0LyoqIFRoZSBJbWFnZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGltYWdlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGltYWdlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJJbWFnZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSW1hZ2VOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaW1hZ2VOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBpbWFnZS12ZXJzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJJbWFnZVZlcnNpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSW1hZ2VOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpbWFnZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBWZXJzaW9uIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaW1hZ2UtdmVyc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySW1hZ2VWZXJzaW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJbWFnZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpbWFnZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBWZXJzaW9uIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaW5mZXJlbmNlLWNvbXBvbmVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySW5mZXJlbmNlQ29tcG9uZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIEluZmVyZW5jZUNvbXBvbmVudE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGluZmVyZW5jZUNvbXBvbmVudE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBpbmZlcmVuY2UtY29tcG9uZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJJbmZlcmVuY2VDb21wb25lbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEluZmVyZW5jZUNvbXBvbmVudE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpbmZlcmVuY2VDb21wb25lbnROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBpbmZlcmVuY2UtZXhwZXJpbWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySW5mZXJlbmNlRXhwZXJpbWVudEFyblByb3BzIHtcblx0LyoqIFRoZSBJbmZlcmVuY2VFeHBlcmltZW50TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaW5mZXJlbmNlRXhwZXJpbWVudE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBpbmZlcmVuY2UtZXhwZXJpbWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySW5mZXJlbmNlRXhwZXJpbWVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSW5mZXJlbmNlRXhwZXJpbWVudE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpbmZlcmVuY2VFeHBlcmltZW50TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaW5mZXJlbmNlLXJlY29tbWVuZGF0aW9ucy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYkFyblByb3BzIHtcblx0LyoqIFRoZSBJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaW5mZXJlbmNlLXJlY29tbWVuZGF0aW9ucy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEpvYkNhdGVnb3J5IGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBqb2JDYXRlZ29yeTogc3RyaW5nO1xuXHQvKiogVGhlIEpvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGpvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBqb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSm9iQ2F0ZWdvcnkgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBqb2JDYXRlZ29yeTogc3RyaW5nO1xuXHQvKiogVGhlIEpvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBqb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBsYWJlbGluZy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckxhYmVsaW5nSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIExhYmVsaW5nSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbGFiZWxpbmdKb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbGFiZWxpbmctam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJMYWJlbGluZ0pvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTGFiZWxpbmdKb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbGFiZWxpbmdKb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBsaW5lYWdlLWdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJMaW5lYWdlR3JvdXBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTGluZWFnZUdyb3VwTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbGluZWFnZUdyb3VwTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGxpbmVhZ2UtZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckxpbmVhZ2VHcm91cEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTGluZWFnZUdyb3VwTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGxpbmVhZ2VHcm91cE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1sZmxvdy1hcHAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1sZmxvd0FwcEFyblByb3BzIHtcblx0LyoqIFRoZSBNTGZsb3dBcHBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbUxmbG93QXBwSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtbGZsb3ctYXBwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNbGZsb3dBcHBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1MZmxvd0FwcElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbUxmbG93QXBwSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1sZmxvdy10cmFja2luZy1zZXJ2ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1sZmxvd1RyYWNraW5nU2VydmVyQXJuUHJvcHMge1xuXHQvKiogVGhlIE1sZmxvd1RyYWNraW5nU2VydmVyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbWxmbG93VHJhY2tpbmdTZXJ2ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbWxmbG93LXRyYWNraW5nLXNlcnZlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTWxmbG93VHJhY2tpbmdTZXJ2ZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1sZmxvd1RyYWNraW5nU2VydmVyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1sZmxvd1RyYWNraW5nU2VydmVyTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9kZWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsQXJuUHJvcHMge1xuXHQvKiogVGhlIE1vZGVsTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9kZWxOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNb2RlbE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtb2RlbE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLWJpYXMtam9iLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsQmlhc0pvYkRlZmluaXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTW9kZWxCaWFzSm9iRGVmaW5pdGlvbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1vZGVsQmlhc0pvYkRlZmluaXRpb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwtYmlhcy1qb2ItZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxCaWFzSm9iRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9kZWxCaWFzSm9iRGVmaW5pdGlvbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtb2RlbEJpYXNKb2JEZWZpbml0aW9uTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9kZWwtY2FyZCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxDYXJkQXJuUHJvcHMge1xuXHQvKiogVGhlIE1vZGVsQ2FyZE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1vZGVsQ2FyZE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1jYXJkIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbENhcmRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1vZGVsQ2FyZE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtb2RlbENhcmROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbC1jYXJkLWV4cG9ydC1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsQ2FyZEV4cG9ydEpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBNb2RlbENhcmROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtb2RlbENhcmROYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRXhwb3J0Sm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZXhwb3J0Sm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsLWNhcmQtZXhwb3J0LWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxDYXJkRXhwb3J0Sm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNb2RlbENhcmROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbW9kZWxDYXJkTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIEV4cG9ydEpvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBleHBvcnRKb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbC1leHBsYWluYWJpbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1leHBsYWluYWJpbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9kZWwtcGFja2FnZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxQYWNrYWdlQXJuUHJvcHMge1xuXHQvKiogVGhlIE1vZGVsUGFja2FnZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1vZGVsUGFja2FnZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1wYWNrYWdlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbFBhY2thZ2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1vZGVsUGFja2FnZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtb2RlbFBhY2thZ2VOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbC1wYWNrYWdlLWdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbFBhY2thZ2VHcm91cEFyblByb3BzIHtcblx0LyoqIFRoZSBNb2RlbFBhY2thZ2VHcm91cE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1vZGVsUGFja2FnZUdyb3VwTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsLXBhY2thZ2UtZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsUGFja2FnZUdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNb2RlbFBhY2thZ2VHcm91cE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtb2RlbFBhY2thZ2VHcm91cE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLXF1YWxpdHktam9iLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9uaXRvcmluZy1zY2hlZHVsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9uaXRvcmluZ1NjaGVkdWxlQXJuUHJvcHMge1xuXHQvKiogVGhlIE1vbml0b3JpbmdTY2hlZHVsZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1vbml0b3JpbmdTY2hlZHVsZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb25pdG9yaW5nLXNjaGVkdWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb25pdG9yaW5nU2NoZWR1bGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1vbml0b3JpbmdTY2hlZHVsZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtb25pdG9yaW5nU2NoZWR1bGVOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb25pdG9yaW5nLXNjaGVkdWxlLWFsZXJ0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb25pdG9yaW5nU2NoZWR1bGVBbGVydEFyblByb3BzIHtcblx0LyoqIFRoZSBNb25pdG9yaW5nU2NoZWR1bGVOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtb25pdG9yaW5nU2NoZWR1bGVOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9uaXRvcmluZ1NjaGVkdWxlQWxlcnROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtb25pdG9yaW5nU2NoZWR1bGVBbGVydE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb25pdG9yaW5nLXNjaGVkdWxlLWFsZXJ0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb25pdG9yaW5nU2NoZWR1bGVBbGVydEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9uaXRvcmluZ1NjaGVkdWxlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vbml0b3JpbmdTY2hlZHVsZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBNb25pdG9yaW5nU2NoZWR1bGVBbGVydE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtb25pdG9yaW5nU2NoZWR1bGVBbGVydE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG5vdGVib29rLWluc3RhbmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJOb3RlYm9va0luc3RhbmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIE5vdGVib29rSW5zdGFuY2VOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBub3RlYm9va0luc3RhbmNlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG5vdGVib29rLWluc3RhbmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJOb3RlYm9va0luc3RhbmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBOb3RlYm9va0luc3RhbmNlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG5vdGVib29rSW5zdGFuY2VOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBub3RlYm9vay1pbnN0YW5jZS1saWZlY3ljbGUtY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuUHJvcHMge1xuXHQvKiogVGhlIE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBub3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG5vdGVib29rLWluc3RhbmNlLWxpZmVjeWNsZS1jb25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ05hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG9wdGltaXphdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck9wdGltaXphdGlvbkpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBPcHRpbWl6YXRpb25Kb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBvcHRpbWl6YXRpb25Kb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgb3B0aW1pemF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyT3B0aW1pemF0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBPcHRpbWl6YXRpb25Kb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgb3B0aW1pemF0aW9uSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcGFydG5lci1hcHAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclBhcnRuZXJBcHBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQXBwSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFwcElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcGFydG5lci1hcHAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclBhcnRuZXJBcHBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFwcElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXBwSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHBpcGVsaW5lIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJQaXBlbGluZUFyblByb3BzIHtcblx0LyoqIFRoZSBQaXBlbGluZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHBpcGVsaW5lTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHBpcGVsaW5lIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJQaXBlbGluZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUGlwZWxpbmVOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcGlwZWxpbmVOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwaXBlbGluZS1leGVjdXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclBpcGVsaW5lRXhlY3V0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIFBpcGVsaW5lTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcGlwZWxpbmVOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmFuZG9tU3RyaW5nIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByYW5kb21TdHJpbmc6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwaXBlbGluZS1leGVjdXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclBpcGVsaW5lRXhlY3V0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQaXBlbGluZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwaXBlbGluZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBSYW5kb21TdHJpbmcgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByYW5kb21TdHJpbmc6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHByb2Nlc3Npbmctam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJQcm9jZXNzaW5nSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIFByb2Nlc3NpbmdKb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcm9jZXNzaW5nSm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHByb2Nlc3Npbmctam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJQcm9jZXNzaW5nSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQcm9jZXNzaW5nSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByb2Nlc3NpbmdKb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwcm9qZWN0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJQcm9qZWN0QXJuUHJvcHMge1xuXHQvKiogVGhlIFByb2plY3ROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcm9qZWN0TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHByb2plY3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclByb2plY3RBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFByb2plY3ROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcHJvamVjdE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHJlc2VydmVkLWNhcGFjaXR5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJSZXNlcnZlZENhcGFjaXR5QXJuUHJvcHMge1xuXHQvKiogVGhlIFJhbmRvbVN0cmluZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmFuZG9tU3RyaW5nOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcmVzZXJ2ZWQtY2FwYWNpdHkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclJlc2VydmVkQ2FwYWNpdHlBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJhbmRvbVN0cmluZyBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJhbmRvbVN0cmluZzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc2FnZW1ha2VyLWNhdGFsb2cgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclNhZ2VtYWtlckNhdGFsb2dBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VDYXRhbG9nTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VDYXRhbG9nTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNhZ2VtYWtlci1jYXRhbG9nIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJTYWdlbWFrZXJDYXRhbG9nQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUNhdGFsb2dOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VDYXRhbG9nTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc2hhcmVkLW1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJTaGFyZWRNb2RlbEFyblByb3BzIHtcblx0LyoqIFRoZSBTaGFyZWRNb2RlbElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzaGFyZWRNb2RlbElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc2hhcmVkLW1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJTaGFyZWRNb2RlbEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU2hhcmVkTW9kZWxJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNoYXJlZE1vZGVsSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNoYXJlZC1tb2RlbC1ldmVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyU2hhcmVkTW9kZWxFdmVudEFyblByb3BzIHtcblx0LyoqIFRoZSBFdmVudElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBldmVudElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc2hhcmVkLW1vZGVsLWV2ZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJTaGFyZWRNb2RlbEV2ZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBFdmVudElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZXZlbnRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc3BhY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclNwYWNlQXJuUHJvcHMge1xuXHQvKiogVGhlIERvbWFpbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkb21haW5JZDogc3RyaW5nO1xuXHQvKiogVGhlIFNwYWNlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc3BhY2VOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc3BhY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclNwYWNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRvbWFpbklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgU3BhY2VOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc3BhY2VOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzdHVkaW8tbGlmZWN5Y2xlLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuUHJvcHMge1xuXHQvKiogVGhlIFN0dWRpb0xpZmVjeWNsZUNvbmZpZ05hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHN0dWRpb0xpZmVjeWNsZUNvbmZpZ05hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzdHVkaW8tbGlmZWN5Y2xlLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTdHVkaW9MaWZlY3ljbGVDb25maWdOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc3R1ZGlvTGlmZWN5Y2xlQ29uZmlnTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdHJhaW5pbmctam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJUcmFpbmluZ0pvYkFyblByb3BzIHtcblx0LyoqIFRoZSBUcmFpbmluZ0pvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRyYWluaW5nSm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHRyYWluaW5nLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyVHJhaW5pbmdKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFRyYWluaW5nSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRyYWluaW5nSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdHJhaW5pbmctcGxhbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyVHJhaW5pbmdQbGFuQXJuUHJvcHMge1xuXHQvKiogVGhlIFRyYWluaW5nUGxhbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRyYWluaW5nUGxhbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB0cmFpbmluZy1wbGFuIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJUcmFpbmluZ1BsYW5Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFRyYWluaW5nUGxhbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0cmFpbmluZ1BsYW5OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB0cmFuc2Zvcm0tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJUcmFuc2Zvcm1Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVHJhbnNmb3JtSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdHJhbnNmb3JtSm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHRyYW5zZm9ybS1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclRyYW5zZm9ybUpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgVHJhbnNmb3JtSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRyYW5zZm9ybUpvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHVzZXItcHJvZmlsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyVXNlclByb2ZpbGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpbklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgVXNlclByb2ZpbGVOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB1c2VyUHJvZmlsZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB1c2VyLXByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclVzZXJQcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRvbWFpbklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgVXNlclByb2ZpbGVOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdXNlclByb2ZpbGVOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB3b3JrZm9yY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlcldvcmtmb3JjZUFyblByb3BzIHtcblx0LyoqIFRoZSBXb3JrZm9yY2VOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB3b3JrZm9yY2VOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgd29ya2ZvcmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJXb3JrZm9yY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFdvcmtmb3JjZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB3b3JrZm9yY2VOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB3b3JrdGVhbSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyV29ya3RlYW1Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgV29ya3RlYW1OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB3b3JrdGVhbU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB3b3JrdGVhbSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyV29ya3RlYW1Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFdvcmt0ZWFtTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHdvcmt0ZWFtTmFtZTogc3RyaW5nO1xufVxuXG5jb25zdCBBY3Rpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YWN0aW9uXFwvKD88YWN0aW9uTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQWlCZW5jaG1hcmtKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YWktYmVuY2htYXJrLWpvYlxcLyg/PGFpQmVuY2htYXJrSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQWlSZWNvbW1lbmRhdGlvbkpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphaS1yZWNvbW1lbmRhdGlvbi1qb2JcXC8oPzxhaVJlY29tbWVuZGF0aW9uSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQWlXb3JrbG9hZENvbmZpZ0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphaS13b3JrbG9hZC1jb25maWdcXC8oPzxhaVdvcmtsb2FkQ29uZmlnTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQWxnb3JpdGhtQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFsZ29yaXRobVxcLyg/PGFsZ29yaXRobU5hbWU+W146Lz9dKykkLztcbmNvbnN0IEFwcEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphcHBcXC8oPzxkb21haW5JZD5bXjovP10rKVxcLyg/PHVzZXJQcm9maWxlTmFtZT5bXjovP10rKVxcLyg/PGFwcFR5cGU+W146Lz9dKylcXC8oPzxhcHBOYW1lPlteOi8/XSspJC87XG5jb25zdCBBcHBJbWFnZUNvbmZpZ0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphcHAtaW1hZ2UtY29uZmlnXFwvKD88YXBwSW1hZ2VDb25maWdOYW1lPlteOi8/XSspJC87XG5jb25zdCBBcnRpZmFjdEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphcnRpZmFjdFxcLyg/PGhhc2hPZkFydGlmYWN0U291cmNlPlteOi8/XSspJC87XG5jb25zdCBBdXRvbWxKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YXV0b21sLWpvYlxcLyg/PGF1dG9NbEpvYkpvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IENsdXN0ZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2x1c3RlclxcLyg/PGNsdXN0ZXJJZD5bXjovP10rKSQvO1xuY29uc3QgQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjbHVzdGVyLXNjaGVkdWxlci1jb25maWdcXC8oPzxjbHVzdGVyU2NoZWR1bGVyQ29uZmlnSWQ+W146Lz9dKykkLztcbmNvbnN0IENvZGVSZXBvc2l0b3J5QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNvZGUtcmVwb3NpdG9yeVxcLyg/PGNvZGVSZXBvc2l0b3J5TmFtZT5bXjovP10rKSQvO1xuY29uc3QgQ29tcGlsYXRpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29tcGlsYXRpb24tam9iXFwvKD88Y29tcGlsYXRpb25Kb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBDb21wdXRlUXVvdGFBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29tcHV0ZS1xdW90YVxcLyg/PGNvbXB1dGVRdW90YUlkPlteOi8/XSspJC87XG5jb25zdCBDb250ZXh0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNvbnRleHRcXC8oPzxjb250ZXh0TmFtZT5bXjovP10rKSQvO1xuY29uc3QgRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRhdGEtcXVhbGl0eS1qb2ItZGVmaW5pdGlvblxcLyg/PGRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IERldmljZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkZXZpY2UtZmxlZXRcXC8oPzxkZXZpY2VGbGVldE5hbWU+W146Lz9dKylcXC9kZXZpY2VcXC8oPzxkZXZpY2VOYW1lPlteOi8/XSspJC87XG5jb25zdCBEZXZpY2VGbGVldEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkZXZpY2UtZmxlZXRcXC8oPzxkZXZpY2VGbGVldE5hbWU+W146Lz9dKykkLztcbmNvbnN0IERvbWFpbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkb21haW5cXC8oPzxkb21haW5JZD5bXjovP10rKSQvO1xuY29uc3QgRWRnZURlcGxveW1lbnRQbGFuQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmVkZ2UtZGVwbG95bWVudFxcLyg/PGVkZ2VEZXBsb3ltZW50UGxhbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IEVkZ2VQYWNrYWdpbmdKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZWRnZS1wYWNrYWdpbmctam9iXFwvKD88ZWRnZVBhY2thZ2luZ0pvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IEVuZHBvaW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmVuZHBvaW50XFwvKD88ZW5kcG9pbnROYW1lPlteOi8/XSspJC87XG5jb25zdCBFbmRwb2ludENvbmZpZ0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTplbmRwb2ludC1jb25maWdcXC8oPzxlbmRwb2ludENvbmZpZ05hbWU+W146Lz9dKykkLztcbmNvbnN0IEV4cGVyaW1lbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZXhwZXJpbWVudFxcLyg/PGV4cGVyaW1lbnROYW1lPlteOi8/XSspJC87XG5jb25zdCBFeHBlcmltZW50VHJpYWxBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZXhwZXJpbWVudC10cmlhbFxcLyg/PHRyaWFsTmFtZT5bXjovP10rKSQvO1xuY29uc3QgRXhwZXJpbWVudFRyaWFsQ29tcG9uZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmV4cGVyaW1lbnQtdHJpYWwtY29tcG9uZW50XFwvKD88dHJpYWxDb21wb25lbnROYW1lPlteOi8/XSspJC87XG5jb25zdCBGZWF0dXJlR3JvdXBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZmVhdHVyZS1ncm91cFxcLyg/PGZlYXR1cmVHcm91cE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEZsb3dEZWZpbml0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmZsb3ctZGVmaW5pdGlvblxcLyg/PGZsb3dEZWZpbml0aW9uTmFtZT5bXjovP10rKSQvO1xuY29uc3QgSHViQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmh1YlxcLyg/PGh1Yk5hbWU+W146Lz9dKykkLztcbmNvbnN0IEh1YkNvbnRlbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aHViLWNvbnRlbnRcXC8oPzxodWJOYW1lPlteOi8/XSspXFwvKD88aHViQ29udGVudFR5cGU+W146Lz9dKylcXC8oPzxodWJDb250ZW50TmFtZT5bXjovP10rKSQvO1xuY29uc3QgSHVtYW5Mb29wQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmh1bWFuLWxvb3BcXC8oPzxodW1hbkxvb3BOYW1lPlteOi8/XSspJC87XG5jb25zdCBIdW1hblRhc2tVaUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpodW1hbi10YXNrLXVpXFwvKD88aHVtYW5UYXNrVWlOYW1lPlteOi8/XSspJC87XG5jb25zdCBIeXBlclBhcmFtZXRlclR1bmluZ0pvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpoeXBlci1wYXJhbWV0ZXItdHVuaW5nLWpvYlxcLyg/PGh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgSW1hZ2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aW1hZ2VcXC8oPzxpbWFnZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IEltYWdlVmVyc2lvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTppbWFnZS12ZXJzaW9uXFwvKD88aW1hZ2VOYW1lPlteOi8/XSspXFwvKD88dmVyc2lvbj5bXjovP10rKSQvO1xuY29uc3QgSW5mZXJlbmNlQ29tcG9uZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmluZmVyZW5jZS1jb21wb25lbnRcXC8oPzxpbmZlcmVuY2VDb21wb25lbnROYW1lPlteOi8/XSspJC87XG5jb25zdCBJbmZlcmVuY2VFeHBlcmltZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmluZmVyZW5jZS1leHBlcmltZW50XFwvKD88aW5mZXJlbmNlRXhwZXJpbWVudE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTppbmZlcmVuY2UtcmVjb21tZW5kYXRpb25zLWpvYlxcLyg/PGluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IEpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpqb2JcXC8oPzxqb2JDYXRlZ29yeT5bXjovP10rKVxcLyg/PGpvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IExhYmVsaW5nSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmxhYmVsaW5nLWpvYlxcLyg/PGxhYmVsaW5nSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTGluZWFnZUdyb3VwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmxpbmVhZ2UtZ3JvdXBcXC8oPzxsaW5lYWdlR3JvdXBOYW1lPlteOi8/XSspJC87XG5jb25zdCBNbGZsb3dBcHBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bWxmbG93LWFwcFxcLyg/PG1MZmxvd0FwcElkPlteOi8/XSspJC87XG5jb25zdCBNbGZsb3dUcmFja2luZ1NlcnZlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptbGZsb3ctdHJhY2tpbmctc2VydmVyXFwvKD88bWxmbG93VHJhY2tpbmdTZXJ2ZXJOYW1lPlteOi8/XSspJC87XG5jb25zdCBNb2RlbEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbFxcLyg/PG1vZGVsTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxCaWFzSm9iRGVmaW5pdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbC1iaWFzLWpvYi1kZWZpbml0aW9uXFwvKD88bW9kZWxCaWFzSm9iRGVmaW5pdGlvbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsQ2FyZEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbC1jYXJkXFwvKD88bW9kZWxDYXJkTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxDYXJkRXhwb3J0Sm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLWNhcmRcXC8oPzxtb2RlbENhcmROYW1lPlteOi8/XSspXFwvZXhwb3J0LWpvYlxcLyg/PGV4cG9ydEpvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLWV4cGxhaW5hYmlsaXR5LWpvYi1kZWZpbml0aW9uXFwvKD88bW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25OYW1lPlteOi8/XSspJC87XG5jb25zdCBNb2RlbFBhY2thZ2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWwtcGFja2FnZVxcLyg/PG1vZGVsUGFja2FnZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsUGFja2FnZUdyb3VwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLXBhY2thZ2UtZ3JvdXBcXC8oPzxtb2RlbFBhY2thZ2VHcm91cE5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWwtcXVhbGl0eS1qb2ItZGVmaW5pdGlvblxcLyg/PG1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lPlteOi8/XSspJC87XG5jb25zdCBNb25pdG9yaW5nU2NoZWR1bGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9uaXRvcmluZy1zY2hlZHVsZVxcLyg/PG1vbml0b3JpbmdTY2hlZHVsZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vbml0b3Jpbmctc2NoZWR1bGVcXC8oPzxtb25pdG9yaW5nU2NoZWR1bGVOYW1lPlteOi8/XSspXFwvYWxlcnRcXC8oPzxtb25pdG9yaW5nU2NoZWR1bGVBbGVydE5hbWU+W146Lz9dKykkLztcbmNvbnN0IE5vdGVib29rSW5zdGFuY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bm90ZWJvb2staW5zdGFuY2VcXC8oPzxub3RlYm9va0luc3RhbmNlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpub3RlYm9vay1pbnN0YW5jZS1saWZlY3ljbGUtY29uZmlnXFwvKD88bm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ05hbWU+W146Lz9dKykkLztcbmNvbnN0IE9wdGltaXphdGlvbkpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpvcHRpbWl6YXRpb24tam9iXFwvKD88b3B0aW1pemF0aW9uSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgUGFydG5lckFwcEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwYXJ0bmVyLWFwcFxcLyg/PGFwcElkPlteOi8/XSspJC87XG5jb25zdCBQaXBlbGluZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwaXBlbGluZVxcLyg/PHBpcGVsaW5lTmFtZT5bXjovP10rKSQvO1xuY29uc3QgUGlwZWxpbmVFeGVjdXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cGlwZWxpbmVcXC8oPzxwaXBlbGluZU5hbWU+W146Lz9dKylcXC9leGVjdXRpb25cXC8oPzxyYW5kb21TdHJpbmc+W146Lz9dKykkLztcbmNvbnN0IFByb2Nlc3NpbmdKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cHJvY2Vzc2luZy1qb2JcXC8oPzxwcm9jZXNzaW5nSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgUHJvamVjdEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwcm9qZWN0XFwvKD88cHJvamVjdE5hbWU+W146Lz9dKykkLztcbmNvbnN0IFJlc2VydmVkQ2FwYWNpdHlBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cmVzZXJ2ZWQtY2FwYWNpdHlcXC8oPzxyYW5kb21TdHJpbmc+W146Lz9dKykkLztcbmNvbnN0IFNhZ2VtYWtlckNhdGFsb2dBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2FnZW1ha2VyLWNhdGFsb2dcXC8oPzxyZXNvdXJjZUNhdGFsb2dOYW1lPlteOi8/XSspJC87XG5jb25zdCBTaGFyZWRNb2RlbEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzaGFyZWQtbW9kZWxcXC8oPzxzaGFyZWRNb2RlbElkPlteOi8/XSspJC87XG5jb25zdCBTaGFyZWRNb2RlbEV2ZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNoYXJlZC1tb2RlbC1ldmVudFxcLyg/PGV2ZW50SWQ+W146Lz9dKykkLztcbmNvbnN0IFNwYWNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNwYWNlXFwvKD88ZG9tYWluSWQ+W146Lz9dKylcXC8oPzxzcGFjZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IFN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzdHVkaW8tbGlmZWN5Y2xlLWNvbmZpZ1xcLyg/PHN0dWRpb0xpZmVjeWNsZUNvbmZpZ05hbWU+W146Lz9dKykkLztcbmNvbnN0IFRyYWluaW5nSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnRyYWluaW5nLWpvYlxcLyg/PHRyYWluaW5nSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgVHJhaW5pbmdQbGFuQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnRyYWluaW5nLXBsYW5cXC8oPzx0cmFpbmluZ1BsYW5OYW1lPlteOi8/XSspJC87XG5jb25zdCBUcmFuc2Zvcm1Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dHJhbnNmb3JtLWpvYlxcLyg/PHRyYW5zZm9ybUpvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IFVzZXJQcm9maWxlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnVzZXItcHJvZmlsZVxcLyg/PGRvbWFpbklkPlteOi8/XSspXFwvKD88dXNlclByb2ZpbGVOYW1lPlteOi8/XSspJC87XG5jb25zdCBXb3JrZm9yY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6d29ya2ZvcmNlXFwvKD88d29ya2ZvcmNlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgV29ya3RlYW1Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6d29ya3RlYW1cXC8oPzx3b3JrdGVhbU5hbWU+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBzYWdlbWFrZXIgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgU2FnZU1ha2VyUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhY3Rpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYWN0aW9uKHByb3BzOiBTYWdlTWFrZXJBY3Rpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFjdGlvbi8ke3Byb3BzLmFjdGlvbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFjdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQWN0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFjdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhY3Rpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWN0aW9uQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyQWN0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBY3Rpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYWN0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFjdGlvbk5hbWU6IG1hdGNoLmdyb3VwcyEuYWN0aW9uTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhaS1iZW5jaG1hcmstam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFpQmVuY2htYXJrSm9iKHByb3BzOiBTYWdlTWFrZXJBaUJlbmNobWFya0pvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YWktYmVuY2htYXJrLWpvYi8ke3Byb3BzLmFpQmVuY2htYXJrSm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYWktYmVuY2htYXJrLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQWlCZW5jaG1hcmtKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQWlCZW5jaG1hcmtKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYWktYmVuY2htYXJrLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBaUJlbmNobWFya0pvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyQWlCZW5jaG1hcmtKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFpQmVuY2htYXJrSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFpLWJlbmNobWFyay1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YWlCZW5jaG1hcmtKb2JOYW1lOiBtYXRjaC5ncm91cHMhLmFpQmVuY2htYXJrSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhaS1yZWNvbW1lbmRhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYWlSZWNvbW1lbmRhdGlvbkpvYihcblx0XHRwcm9wczogU2FnZU1ha2VyQWlSZWNvbW1lbmRhdGlvbkpvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphaS1yZWNvbW1lbmRhdGlvbi1qb2IvJHtwcm9wcy5haVJlY29tbWVuZGF0aW9uSm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYWktcmVjb21tZW5kYXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBaVJlY29tbWVuZGF0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFpUmVjb21tZW5kYXRpb25Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYWktcmVjb21tZW5kYXRpb24tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFpUmVjb21tZW5kYXRpb25Kb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckFpUmVjb21tZW5kYXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFpUmVjb21tZW5kYXRpb25Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYWktcmVjb21tZW5kYXRpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFpUmVjb21tZW5kYXRpb25Kb2JOYW1lOiBtYXRjaC5ncm91cHMhLmFpUmVjb21tZW5kYXRpb25Kb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFpLXdvcmtsb2FkLWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhaVdvcmtsb2FkQ29uZmlnKHByb3BzOiBTYWdlTWFrZXJBaVdvcmtsb2FkQ29uZmlnQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphaS13b3JrbG9hZC1jb25maWcvJHtwcm9wcy5haVdvcmtsb2FkQ29uZmlnTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYWktd29ya2xvYWQtY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBaVdvcmtsb2FkQ29uZmlnQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFpV29ya2xvYWRDb25maWdBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYWktd29ya2xvYWQtY29uZmlnIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFpV29ya2xvYWRDb25maWdBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckFpV29ya2xvYWRDb25maWdBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFpV29ya2xvYWRDb25maWdBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYWktd29ya2xvYWQtY29uZmlnIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFpV29ya2xvYWRDb25maWdOYW1lOiBtYXRjaC5ncm91cHMhLmFpV29ya2xvYWRDb25maWdOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFsZ29yaXRobSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhbGdvcml0aG0ocHJvcHM6IFNhZ2VNYWtlckFsZ29yaXRobUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YWxnb3JpdGhtLyR7cHJvcHMuYWxnb3JpdGhtTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYWxnb3JpdGhtIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBbGdvcml0aG1Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQWxnb3JpdGhtQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFsZ29yaXRobSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBbGdvcml0aG1Bcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJBbGdvcml0aG1Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFsZ29yaXRobUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhbGdvcml0aG0gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YWxnb3JpdGhtTmFtZTogbWF0Y2guZ3JvdXBzIS5hbGdvcml0aG1OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFwcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhcHAocHJvcHM6IFNhZ2VNYWtlckFwcEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXBwLyR7cHJvcHMuZG9tYWluSWR9LyR7cHJvcHMudXNlclByb2ZpbGVOYW1lfS8ke3Byb3BzLmFwcFR5cGV9LyR7cHJvcHMuYXBwTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYXBwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBcHBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXBwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFwcCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBcHBBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJBcHBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFwcEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhcHAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9tYWluSWQ6IG1hdGNoLmdyb3VwcyEuZG9tYWluSWQsXG5cdFx0XHR1c2VyUHJvZmlsZU5hbWU6IG1hdGNoLmdyb3VwcyEudXNlclByb2ZpbGVOYW1lLFxuXHRcdFx0YXBwVHlwZTogbWF0Y2guZ3JvdXBzIS5hcHBUeXBlLFxuXHRcdFx0YXBwTmFtZTogbWF0Y2guZ3JvdXBzIS5hcHBOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFwcC1pbWFnZS1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXBwSW1hZ2VDb25maWcocHJvcHM6IFNhZ2VNYWtlckFwcEltYWdlQ29uZmlnQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphcHAtaW1hZ2UtY29uZmlnLyR7cHJvcHMuYXBwSW1hZ2VDb25maWdOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhcHAtaW1hZ2UtY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBcHBJbWFnZUNvbmZpZ0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBcHBJbWFnZUNvbmZpZ0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhcHAtaW1hZ2UtY29uZmlnIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFwcEltYWdlQ29uZmlnQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJBcHBJbWFnZUNvbmZpZ0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXBwSW1hZ2VDb25maWdBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXBwLWltYWdlLWNvbmZpZyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhcHBJbWFnZUNvbmZpZ05hbWU6IG1hdGNoLmdyb3VwcyEuYXBwSW1hZ2VDb25maWdOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFydGlmYWN0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFydGlmYWN0KHByb3BzOiBTYWdlTWFrZXJBcnRpZmFjdEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXJ0aWZhY3QvJHtwcm9wcy5oYXNoT2ZBcnRpZmFjdFNvdXJjZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYXJ0aWZhY3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFydGlmYWN0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFydGlmYWN0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFydGlmYWN0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFydGlmYWN0QXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyQXJ0aWZhY3RBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFydGlmYWN0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFydGlmYWN0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGhhc2hPZkFydGlmYWN0U291cmNlOiBtYXRjaC5ncm91cHMhLmhhc2hPZkFydGlmYWN0U291cmNlLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGF1dG9tbC1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXV0b21sSm9iKHByb3BzOiBTYWdlTWFrZXJBdXRvbWxKb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmF1dG9tbC1qb2IvJHtwcm9wcy5hdXRvTWxKb2JKb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhdXRvbWwtam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBdXRvbWxKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXV0b21sSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGF1dG9tbC1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXV0b21sSm9iQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyQXV0b21sSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBdXRvbWxKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXV0b21sLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhdXRvTWxKb2JKb2JOYW1lOiBtYXRjaC5ncm91cHMhLmF1dG9NbEpvYkpvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY2x1c3RlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjbHVzdGVyKHByb3BzOiBTYWdlTWFrZXJDbHVzdGVyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjbHVzdGVyLyR7cHJvcHMuY2x1c3RlcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjbHVzdGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDbHVzdGVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENsdXN0ZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY2x1c3RlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDbHVzdGVyQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyQ2x1c3RlckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ2x1c3RlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjbHVzdGVyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNsdXN0ZXJJZDogbWF0Y2guZ3JvdXBzIS5jbHVzdGVySWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY2x1c3Rlci1zY2hlZHVsZXItY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNsdXN0ZXJTY2hlZHVsZXJDb25maWcoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlckNsdXN0ZXJTY2hlZHVsZXJDb25maWdBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2x1c3Rlci1zY2hlZHVsZXItY29uZmlnLyR7cHJvcHMuY2x1c3RlclNjaGVkdWxlckNvbmZpZ0lkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjbHVzdGVyLXNjaGVkdWxlci1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENsdXN0ZXJTY2hlZHVsZXJDb25maWdBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjbHVzdGVyLXNjaGVkdWxlci1jb25maWcgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjbHVzdGVyLXNjaGVkdWxlci1jb25maWcgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2x1c3RlclNjaGVkdWxlckNvbmZpZ0lkOiBtYXRjaC5ncm91cHMhLmNsdXN0ZXJTY2hlZHVsZXJDb25maWdJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjb2RlLXJlcG9zaXRvcnkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29kZVJlcG9zaXRvcnkocHJvcHM6IFNhZ2VNYWtlckNvZGVSZXBvc2l0b3J5QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb2RlLXJlcG9zaXRvcnkvJHtwcm9wcy5jb2RlUmVwb3NpdG9yeU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNvZGUtcmVwb3NpdG9yeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29kZVJlcG9zaXRvcnlBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29kZVJlcG9zaXRvcnlBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY29kZS1yZXBvc2l0b3J5IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvZGVSZXBvc2l0b3J5QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJDb2RlUmVwb3NpdG9yeUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29kZVJlcG9zaXRvcnlBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29kZS1yZXBvc2l0b3J5IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvZGVSZXBvc2l0b3J5TmFtZTogbWF0Y2guZ3JvdXBzIS5jb2RlUmVwb3NpdG9yeU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY29tcGlsYXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbXBpbGF0aW9uSm9iKHByb3BzOiBTYWdlTWFrZXJDb21waWxhdGlvbkpvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29tcGlsYXRpb24tam9iLyR7cHJvcHMuY29tcGlsYXRpb25Kb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjb21waWxhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbXBpbGF0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbXBpbGF0aW9uSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNvbXBpbGF0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb21waWxhdGlvbkpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyQ29tcGlsYXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbXBpbGF0aW9uSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNvbXBpbGF0aW9uLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjb21waWxhdGlvbkpvYk5hbWU6IG1hdGNoLmdyb3VwcyEuY29tcGlsYXRpb25Kb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNvbXB1dGUtcXVvdGEgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29tcHV0ZVF1b3RhKHByb3BzOiBTYWdlTWFrZXJDb21wdXRlUXVvdGFBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvbXB1dGUtcXVvdGEvJHtwcm9wcy5jb21wdXRlUXVvdGFJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY29tcHV0ZS1xdW90YSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29tcHV0ZVF1b3RhQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbXB1dGVRdW90YUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjb21wdXRlLXF1b3RhIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbXB1dGVRdW90YUFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckNvbXB1dGVRdW90YUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29tcHV0ZVF1b3RhQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNvbXB1dGUtcXVvdGEgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y29tcHV0ZVF1b3RhSWQ6IG1hdGNoLmdyb3VwcyEuY29tcHV0ZVF1b3RhSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY29udGV4dCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb250ZXh0KHByb3BzOiBTYWdlTWFrZXJDb250ZXh0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb250ZXh0LyR7cHJvcHMuY29udGV4dE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNvbnRleHQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbnRleHRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29udGV4dEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjb250ZXh0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbnRleHRBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJDb250ZXh0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb250ZXh0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNvbnRleHQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y29udGV4dE5hbWU6IG1hdGNoLmdyb3VwcyEuY29udGV4dE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGF0YS1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbihcblx0XHRwcm9wczogU2FnZU1ha2VyRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRhdGEtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbi8ke3Byb3BzLmRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRhdGEtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkYXRhLXF1YWxpdHktam9iLWRlZmluaXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYXRhLXF1YWxpdHktam9iLWRlZmluaXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZTogbWF0Y2guZ3JvdXBzIS5kYXRhUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRldmljZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkZXZpY2UocHJvcHM6IFNhZ2VNYWtlckRldmljZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGV2aWNlLWZsZWV0LyR7cHJvcHMuZGV2aWNlRmxlZXROYW1lfS9kZXZpY2UvJHtwcm9wcy5kZXZpY2VOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkZXZpY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERldmljZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEZXZpY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZGV2aWNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURldmljZUFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckRldmljZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGV2aWNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRldmljZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkZXZpY2VGbGVldE5hbWU6IG1hdGNoLmdyb3VwcyEuZGV2aWNlRmxlZXROYW1lLFxuXHRcdFx0ZGV2aWNlTmFtZTogbWF0Y2guZ3JvdXBzIS5kZXZpY2VOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRldmljZS1mbGVldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkZXZpY2VGbGVldChwcm9wczogU2FnZU1ha2VyRGV2aWNlRmxlZXRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRldmljZS1mbGVldC8ke3Byb3BzLmRldmljZUZsZWV0TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGV2aWNlLWZsZWV0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREZXZpY2VGbGVldEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEZXZpY2VGbGVldEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkZXZpY2UtZmxlZXQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGV2aWNlRmxlZXRBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJEZXZpY2VGbGVldEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGV2aWNlRmxlZXRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGV2aWNlLWZsZWV0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRldmljZUZsZWV0TmFtZTogbWF0Y2guZ3JvdXBzIS5kZXZpY2VGbGVldE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZG9tYWluIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRvbWFpbihwcm9wczogU2FnZU1ha2VyRG9tYWluQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkb21haW4vJHtwcm9wcy5kb21haW5JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZG9tYWluIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREb21haW5Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRG9tYWluQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRvbWFpbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEb21haW5Bcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJEb21haW5Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERvbWFpbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkb21haW4gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9tYWluSWQ6IG1hdGNoLmdyb3VwcyEuZG9tYWluSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZWRnZS1kZXBsb3ltZW50LXBsYW4gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZWRnZURlcGxveW1lbnRQbGFuKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJFZGdlRGVwbG95bWVudFBsYW5Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZWRnZS1kZXBsb3ltZW50LyR7cHJvcHMuZWRnZURlcGxveW1lbnRQbGFuTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZWRnZS1kZXBsb3ltZW50LXBsYW4gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEVkZ2VEZXBsb3ltZW50UGxhbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFZGdlRGVwbG95bWVudFBsYW5Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZWRnZS1kZXBsb3ltZW50LXBsYW4gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRWRnZURlcGxveW1lbnRQbGFuQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJFZGdlRGVwbG95bWVudFBsYW5Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEVkZ2VEZXBsb3ltZW50UGxhbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBlZGdlLWRlcGxveW1lbnQtcGxhbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRlZGdlRGVwbG95bWVudFBsYW5OYW1lOiBtYXRjaC5ncm91cHMhLmVkZ2VEZXBsb3ltZW50UGxhbk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZWRnZS1wYWNrYWdpbmctam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGVkZ2VQYWNrYWdpbmdKb2IocHJvcHM6IFNhZ2VNYWtlckVkZ2VQYWNrYWdpbmdKb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmVkZ2UtcGFja2FnaW5nLWpvYi8ke3Byb3BzLmVkZ2VQYWNrYWdpbmdKb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBlZGdlLXBhY2thZ2luZy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEVkZ2VQYWNrYWdpbmdKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRWRnZVBhY2thZ2luZ0pvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBlZGdlLXBhY2thZ2luZy1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRWRnZVBhY2thZ2luZ0pvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyRWRnZVBhY2thZ2luZ0pvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRWRnZVBhY2thZ2luZ0pvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBlZGdlLXBhY2thZ2luZy1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZWRnZVBhY2thZ2luZ0pvYk5hbWU6IG1hdGNoLmdyb3VwcyEuZWRnZVBhY2thZ2luZ0pvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZW5kcG9pbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZW5kcG9pbnQocHJvcHM6IFNhZ2VNYWtlckVuZHBvaW50QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTplbmRwb2ludC8ke3Byb3BzLmVuZHBvaW50TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZW5kcG9pbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEVuZHBvaW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEVuZHBvaW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGVuZHBvaW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUVuZHBvaW50QXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyRW5kcG9pbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEVuZHBvaW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGVuZHBvaW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGVuZHBvaW50TmFtZTogbWF0Y2guZ3JvdXBzIS5lbmRwb2ludE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZW5kcG9pbnQtY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGVuZHBvaW50Q29uZmlnKHByb3BzOiBTYWdlTWFrZXJFbmRwb2ludENvbmZpZ0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZW5kcG9pbnQtY29uZmlnLyR7cHJvcHMuZW5kcG9pbnRDb25maWdOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBlbmRwb2ludC1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEVuZHBvaW50Q29uZmlnQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEVuZHBvaW50Q29uZmlnQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGVuZHBvaW50LWNvbmZpZyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFbmRwb2ludENvbmZpZ0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyRW5kcG9pbnRDb25maWdBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEVuZHBvaW50Q29uZmlnQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGVuZHBvaW50LWNvbmZpZyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRlbmRwb2ludENvbmZpZ05hbWU6IG1hdGNoLmdyb3VwcyEuZW5kcG9pbnRDb25maWdOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGV4cGVyaW1lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZXhwZXJpbWVudChwcm9wczogU2FnZU1ha2VyRXhwZXJpbWVudEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZXhwZXJpbWVudC8ke3Byb3BzLmV4cGVyaW1lbnROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBleHBlcmltZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFeHBlcmltZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEV4cGVyaW1lbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZXhwZXJpbWVudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFeHBlcmltZW50QXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyRXhwZXJpbWVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRXhwZXJpbWVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBleHBlcmltZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGV4cGVyaW1lbnROYW1lOiBtYXRjaC5ncm91cHMhLmV4cGVyaW1lbnROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGV4cGVyaW1lbnQtdHJpYWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZXhwZXJpbWVudFRyaWFsKHByb3BzOiBTYWdlTWFrZXJFeHBlcmltZW50VHJpYWxBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmV4cGVyaW1lbnQtdHJpYWwvJHtwcm9wcy50cmlhbE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGV4cGVyaW1lbnQtdHJpYWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEV4cGVyaW1lbnRUcmlhbEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFeHBlcmltZW50VHJpYWxBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZXhwZXJpbWVudC10cmlhbCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFeHBlcmltZW50VHJpYWxBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckV4cGVyaW1lbnRUcmlhbEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRXhwZXJpbWVudFRyaWFsQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGV4cGVyaW1lbnQtdHJpYWwgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0dHJpYWxOYW1lOiBtYXRjaC5ncm91cHMhLnRyaWFsTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBleHBlcmltZW50LXRyaWFsLWNvbXBvbmVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBleHBlcmltZW50VHJpYWxDb21wb25lbnQoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlckV4cGVyaW1lbnRUcmlhbENvbXBvbmVudEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpleHBlcmltZW50LXRyaWFsLWNvbXBvbmVudC8ke3Byb3BzLnRyaWFsQ29tcG9uZW50TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZXhwZXJpbWVudC10cmlhbC1jb21wb25lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEV4cGVyaW1lbnRUcmlhbENvbXBvbmVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFeHBlcmltZW50VHJpYWxDb21wb25lbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZXhwZXJpbWVudC10cmlhbC1jb21wb25lbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRXhwZXJpbWVudFRyaWFsQ29tcG9uZW50QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJFeHBlcmltZW50VHJpYWxDb21wb25lbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEV4cGVyaW1lbnRUcmlhbENvbXBvbmVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBleHBlcmltZW50LXRyaWFsLWNvbXBvbmVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR0cmlhbENvbXBvbmVudE5hbWU6IG1hdGNoLmdyb3VwcyEudHJpYWxDb21wb25lbnROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGZlYXR1cmUtZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZmVhdHVyZUdyb3VwKHByb3BzOiBTYWdlTWFrZXJGZWF0dXJlR3JvdXBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmZlYXR1cmUtZ3JvdXAvJHtwcm9wcy5mZWF0dXJlR3JvdXBOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBmZWF0dXJlLWdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRGZWF0dXJlR3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRmVhdHVyZUdyb3VwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGZlYXR1cmUtZ3JvdXAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRmVhdHVyZUdyb3VwQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyRmVhdHVyZUdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBGZWF0dXJlR3JvdXBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZmVhdHVyZS1ncm91cCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRmZWF0dXJlR3JvdXBOYW1lOiBtYXRjaC5ncm91cHMhLmZlYXR1cmVHcm91cE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZmxvdy1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGZsb3dEZWZpbml0aW9uKHByb3BzOiBTYWdlTWFrZXJGbG93RGVmaW5pdGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Zmxvdy1kZWZpbml0aW9uLyR7cHJvcHMuZmxvd0RlZmluaXRpb25OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBmbG93LWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEZsb3dEZWZpbml0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEZsb3dEZWZpbml0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGZsb3ctZGVmaW5pdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VGbG93RGVmaW5pdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyRmxvd0RlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEZsb3dEZWZpbml0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZsb3ctZGVmaW5pdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRmbG93RGVmaW5pdGlvbk5hbWU6IG1hdGNoLmdyb3VwcyEuZmxvd0RlZmluaXRpb25OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGh1YiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBodWIocHJvcHM6IFNhZ2VNYWtlckh1YkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aHViLyR7cHJvcHMuaHViTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaHViIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRIdWJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSHViQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGh1YiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VIdWJBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJIdWJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEh1YkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBodWIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aHViTmFtZTogbWF0Y2guZ3JvdXBzIS5odWJOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGh1Yi1jb250ZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGh1YkNvbnRlbnQocHJvcHM6IFNhZ2VNYWtlckh1YkNvbnRlbnRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omh1Yi1jb250ZW50LyR7cHJvcHMuaHViTmFtZX0vJHtwcm9wcy5odWJDb250ZW50VHlwZX0vJHtwcm9wcy5odWJDb250ZW50TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaHViLWNvbnRlbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEh1YkNvbnRlbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSHViQ29udGVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBodWItY29udGVudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VIdWJDb250ZW50QXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VySHViQ29udGVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSHViQ29udGVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBodWItY29udGVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRodWJOYW1lOiBtYXRjaC5ncm91cHMhLmh1Yk5hbWUsXG5cdFx0XHRodWJDb250ZW50VHlwZTogbWF0Y2guZ3JvdXBzIS5odWJDb250ZW50VHlwZSxcblx0XHRcdGh1YkNvbnRlbnROYW1lOiBtYXRjaC5ncm91cHMhLmh1YkNvbnRlbnROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGh1bWFuLWxvb3AgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaHVtYW5Mb29wKHByb3BzOiBTYWdlTWFrZXJIdW1hbkxvb3BBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omh1bWFuLWxvb3AvJHtwcm9wcy5odW1hbkxvb3BOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBodW1hbi1sb29wIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRIdW1hbkxvb3BBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSHVtYW5Mb29wQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGh1bWFuLWxvb3AgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSHVtYW5Mb29wQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VySHVtYW5Mb29wQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBIdW1hbkxvb3BBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaHVtYW4tbG9vcCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRodW1hbkxvb3BOYW1lOiBtYXRjaC5ncm91cHMhLmh1bWFuTG9vcE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaHVtYW4tdGFzay11aSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBodW1hblRhc2tVaShwcm9wczogU2FnZU1ha2VySHVtYW5UYXNrVWlBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omh1bWFuLXRhc2stdWkvJHtwcm9wcy5odW1hblRhc2tVaU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGh1bWFuLXRhc2stdWkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEh1bWFuVGFza1VpQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEh1bWFuVGFza1VpQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGh1bWFuLXRhc2stdWkgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSHVtYW5UYXNrVWlBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJIdW1hblRhc2tVaUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSHVtYW5UYXNrVWlBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaHVtYW4tdGFzay11aSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRodW1hblRhc2tVaU5hbWU6IG1hdGNoLmdyb3VwcyEuaHVtYW5UYXNrVWlOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGh5cGVyLXBhcmFtZXRlci10dW5pbmctam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJIeXBlclBhcmFtZXRlclR1bmluZ0pvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpoeXBlci1wYXJhbWV0ZXItdHVuaW5nLWpvYi8ke3Byb3BzLmh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaHlwZXItcGFyYW1ldGVyLXR1bmluZy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGh5cGVyLXBhcmFtZXRlci10dW5pbmctam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJIeXBlclBhcmFtZXRlclR1bmluZ0pvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaHlwZXItcGFyYW1ldGVyLXR1bmluZy1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JOYW1lOiBtYXRjaC5ncm91cHMhLmh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBpbWFnZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpbWFnZShwcm9wczogU2FnZU1ha2VySW1hZ2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmltYWdlLyR7cHJvcHMuaW1hZ2VOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBpbWFnZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSW1hZ2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSW1hZ2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaW1hZ2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSW1hZ2VBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJJbWFnZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSW1hZ2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW1hZ2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aW1hZ2VOYW1lOiBtYXRjaC5ncm91cHMhLmltYWdlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBpbWFnZS12ZXJzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGltYWdlVmVyc2lvbihwcm9wczogU2FnZU1ha2VySW1hZ2VWZXJzaW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTppbWFnZS12ZXJzaW9uLyR7cHJvcHMuaW1hZ2VOYW1lfS8ke3Byb3BzLnZlcnNpb259YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGltYWdlLXZlcnNpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEltYWdlVmVyc2lvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJbWFnZVZlcnNpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaW1hZ2UtdmVyc2lvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VJbWFnZVZlcnNpb25Bcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJJbWFnZVZlcnNpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEltYWdlVmVyc2lvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbWFnZS12ZXJzaW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGltYWdlTmFtZTogbWF0Y2guZ3JvdXBzIS5pbWFnZU5hbWUsXG5cdFx0XHR2ZXJzaW9uOiBtYXRjaC5ncm91cHMhLnZlcnNpb24sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaW5mZXJlbmNlLWNvbXBvbmVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpbmZlcmVuY2VDb21wb25lbnQoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlckluZmVyZW5jZUNvbXBvbmVudEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTppbmZlcmVuY2UtY29tcG9uZW50LyR7cHJvcHMuaW5mZXJlbmNlQ29tcG9uZW50TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaW5mZXJlbmNlLWNvbXBvbmVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSW5mZXJlbmNlQ29tcG9uZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEluZmVyZW5jZUNvbXBvbmVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBpbmZlcmVuY2UtY29tcG9uZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUluZmVyZW5jZUNvbXBvbmVudEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VySW5mZXJlbmNlQ29tcG9uZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJbmZlcmVuY2VDb21wb25lbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW5mZXJlbmNlLWNvbXBvbmVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpbmZlcmVuY2VDb21wb25lbnROYW1lOiBtYXRjaC5ncm91cHMhLmluZmVyZW5jZUNvbXBvbmVudE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaW5mZXJlbmNlLWV4cGVyaW1lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaW5mZXJlbmNlRXhwZXJpbWVudChcblx0XHRwcm9wczogU2FnZU1ha2VySW5mZXJlbmNlRXhwZXJpbWVudEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTppbmZlcmVuY2UtZXhwZXJpbWVudC8ke3Byb3BzLmluZmVyZW5jZUV4cGVyaW1lbnROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBpbmZlcmVuY2UtZXhwZXJpbWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSW5mZXJlbmNlRXhwZXJpbWVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJbmZlcmVuY2VFeHBlcmltZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGluZmVyZW5jZS1leHBlcmltZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUluZmVyZW5jZUV4cGVyaW1lbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckluZmVyZW5jZUV4cGVyaW1lbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEluZmVyZW5jZUV4cGVyaW1lbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW5mZXJlbmNlLWV4cGVyaW1lbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aW5mZXJlbmNlRXhwZXJpbWVudE5hbWU6IG1hdGNoLmdyb3VwcyEuaW5mZXJlbmNlRXhwZXJpbWVudE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaW5mZXJlbmNlLXJlY29tbWVuZGF0aW9ucy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aW5mZXJlbmNlLXJlY29tbWVuZGF0aW9ucy1qb2IvJHtwcm9wcy5pbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBpbmZlcmVuY2UtcmVjb21tZW5kYXRpb25zLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBpbmZlcmVuY2UtcmVjb21tZW5kYXRpb25zLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGluZmVyZW5jZS1yZWNvbW1lbmRhdGlvbnMtam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYk5hbWU6XG5cdFx0XHRcdG1hdGNoLmdyb3VwcyEuaW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBqb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgam9iKHByb3BzOiBTYWdlTWFrZXJKb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmpvYi8ke3Byb3BzLmpvYkNhdGVnb3J5fS8ke3Byb3BzLmpvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBqb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSm9iQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VySm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGpvYkNhdGVnb3J5OiBtYXRjaC5ncm91cHMhLmpvYkNhdGVnb3J5LFxuXHRcdFx0am9iTmFtZTogbWF0Y2guZ3JvdXBzIS5qb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGxhYmVsaW5nLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBsYWJlbGluZ0pvYihwcm9wczogU2FnZU1ha2VyTGFiZWxpbmdKb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmxhYmVsaW5nLWpvYi8ke3Byb3BzLmxhYmVsaW5nSm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbGFiZWxpbmctam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRMYWJlbGluZ0pvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBMYWJlbGluZ0pvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBsYWJlbGluZy1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTGFiZWxpbmdKb2JBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJMYWJlbGluZ0pvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTGFiZWxpbmdKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbGFiZWxpbmctam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGxhYmVsaW5nSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS5sYWJlbGluZ0pvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbGluZWFnZS1ncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBsaW5lYWdlR3JvdXAocHJvcHM6IFNhZ2VNYWtlckxpbmVhZ2VHcm91cEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bGluZWFnZS1ncm91cC8ke3Byb3BzLmxpbmVhZ2VHcm91cE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGxpbmVhZ2UtZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZExpbmVhZ2VHcm91cEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBMaW5lYWdlR3JvdXBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbGluZWFnZS1ncm91cCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VMaW5lYWdlR3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJMaW5lYWdlR3JvdXBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IExpbmVhZ2VHcm91cEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBsaW5lYWdlLWdyb3VwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGxpbmVhZ2VHcm91cE5hbWU6IG1hdGNoLmdyb3VwcyEubGluZWFnZUdyb3VwTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtbGZsb3ctYXBwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1sZmxvd0FwcChwcm9wczogU2FnZU1ha2VyTWxmbG93QXBwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptbGZsb3ctYXBwLyR7cHJvcHMubUxmbG93QXBwSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1sZmxvdy1hcHAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1sZmxvd0FwcEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNbGZsb3dBcHBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbWxmbG93LWFwcCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNbGZsb3dBcHBBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJNbGZsb3dBcHBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1sZmxvd0FwcEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtbGZsb3ctYXBwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1MZmxvd0FwcElkOiBtYXRjaC5ncm91cHMhLm1MZmxvd0FwcElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1sZmxvdy10cmFja2luZy1zZXJ2ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbWxmbG93VHJhY2tpbmdTZXJ2ZXIoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlck1sZmxvd1RyYWNraW5nU2VydmVyQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1sZmxvdy10cmFja2luZy1zZXJ2ZXIvJHtwcm9wcy5tbGZsb3dUcmFja2luZ1NlcnZlck5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1sZmxvdy10cmFja2luZy1zZXJ2ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1sZmxvd1RyYWNraW5nU2VydmVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1sZmxvd1RyYWNraW5nU2VydmVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1sZmxvdy10cmFja2luZy1zZXJ2ZXIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTWxmbG93VHJhY2tpbmdTZXJ2ZXJBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlck1sZmxvd1RyYWNraW5nU2VydmVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNbGZsb3dUcmFja2luZ1NlcnZlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtbGZsb3ctdHJhY2tpbmctc2VydmVyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1sZmxvd1RyYWNraW5nU2VydmVyTmFtZTogbWF0Y2guZ3JvdXBzIS5tbGZsb3dUcmFja2luZ1NlcnZlck5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWwocHJvcHM6IFNhZ2VNYWtlck1vZGVsQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptb2RlbC8ke3Byb3BzLm1vZGVsTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9kZWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vZGVsIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vZGVsQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyTW9kZWxBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vZGVsIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1vZGVsTmFtZTogbWF0Y2guZ3JvdXBzIS5tb2RlbE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtYmlhcy1qb2ItZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbEJpYXNKb2JEZWZpbml0aW9uKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJNb2RlbEJpYXNKb2JEZWZpbml0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLWJpYXMtam9iLWRlZmluaXRpb24vJHtwcm9wcy5tb2RlbEJpYXNKb2JEZWZpbml0aW9uTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9kZWwtYmlhcy1qb2ItZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxCaWFzSm9iRGVmaW5pdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbEJpYXNKb2JEZWZpbml0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vZGVsLWJpYXMtam9iLWRlZmluaXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyTW9kZWxCaWFzSm9iRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9kZWxCaWFzSm9iRGVmaW5pdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbC1iaWFzLWpvYi1kZWZpbml0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1vZGVsQmlhc0pvYkRlZmluaXRpb25OYW1lOiBtYXRjaC5ncm91cHMhLm1vZGVsQmlhc0pvYkRlZmluaXRpb25OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsLWNhcmQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxDYXJkKHByb3BzOiBTYWdlTWFrZXJNb2RlbENhcmRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLWNhcmQvJHtwcm9wcy5tb2RlbENhcmROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1jYXJkIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb2RlbENhcmRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9kZWxDYXJkQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vZGVsLWNhcmQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxDYXJkQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyTW9kZWxDYXJkQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbENhcmRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwtY2FyZCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtb2RlbENhcmROYW1lOiBtYXRjaC5ncm91cHMhLm1vZGVsQ2FyZE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtY2FyZC1leHBvcnQtam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsQ2FyZEV4cG9ydEpvYihcblx0XHRwcm9wczogU2FnZU1ha2VyTW9kZWxDYXJkRXhwb3J0Sm9iQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLWNhcmQvJHtwcm9wcy5tb2RlbENhcmROYW1lfS9leHBvcnQtam9iLyR7cHJvcHMuZXhwb3J0Sm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9kZWwtY2FyZC1leHBvcnQtam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb2RlbENhcmRFeHBvcnRKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9kZWxDYXJkRXhwb3J0Sm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vZGVsLWNhcmQtZXhwb3J0LWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbENhcmRFeHBvcnRKb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlck1vZGVsQ2FyZEV4cG9ydEpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9kZWxDYXJkRXhwb3J0Sm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vZGVsLWNhcmQtZXhwb3J0LWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtb2RlbENhcmROYW1lOiBtYXRjaC5ncm91cHMhLm1vZGVsQ2FyZE5hbWUsXG5cdFx0XHRleHBvcnRKb2JOYW1lOiBtYXRjaC5ncm91cHMhLmV4cG9ydEpvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtZXhwbGFpbmFiaWxpdHktam9iLWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24oXG5cdFx0cHJvcHM6IFNhZ2VNYWtlck1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vZGVsLWV4cGxhaW5hYmlsaXR5LWpvYi1kZWZpbml0aW9uLyR7cHJvcHMubW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1leHBsYWluYWJpbGl0eS1qb2ItZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwtZXhwbGFpbmFiaWxpdHktam9iLWRlZmluaXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlck1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcblx0XHRcdFx0YEludmFsaWQgbW9kZWwtZXhwbGFpbmFiaWxpdHktam9iLWRlZmluaXRpb24gQVJOOiAke2Fybn1gLFxuXHRcdFx0KTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25OYW1lOlxuXHRcdFx0XHRtYXRjaC5ncm91cHMhLm1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb2RlbC1wYWNrYWdlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsUGFja2FnZShwcm9wczogU2FnZU1ha2VyTW9kZWxQYWNrYWdlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptb2RlbC1wYWNrYWdlLyR7cHJvcHMubW9kZWxQYWNrYWdlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9kZWwtcGFja2FnZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxQYWNrYWdlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsUGFja2FnZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1wYWNrYWdlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vZGVsUGFja2FnZUFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlck1vZGVsUGFja2FnZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9kZWxQYWNrYWdlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vZGVsLXBhY2thZ2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bW9kZWxQYWNrYWdlTmFtZTogbWF0Y2guZ3JvdXBzIS5tb2RlbFBhY2thZ2VOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsLXBhY2thZ2UtZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxQYWNrYWdlR3JvdXAocHJvcHM6IFNhZ2VNYWtlck1vZGVsUGFja2FnZUdyb3VwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptb2RlbC1wYWNrYWdlLWdyb3VwLyR7cHJvcHMubW9kZWxQYWNrYWdlR3JvdXBOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1wYWNrYWdlLWdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb2RlbFBhY2thZ2VHcm91cEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbFBhY2thZ2VHcm91cEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1wYWNrYWdlLWdyb3VwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vZGVsUGFja2FnZUdyb3VwQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJNb2RlbFBhY2thZ2VHcm91cEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9kZWxQYWNrYWdlR3JvdXBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwtcGFja2FnZS1ncm91cCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtb2RlbFBhY2thZ2VHcm91cE5hbWU6IG1hdGNoLmdyb3VwcyEubW9kZWxQYWNrYWdlR3JvdXBOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsLXF1YWxpdHktam9iLWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbihcblx0XHRwcm9wczogU2FnZU1ha2VyTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptb2RlbC1xdWFsaXR5LWpvYi1kZWZpbml0aW9uLyR7cHJvcHMubW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vZGVsLXF1YWxpdHktam9iLWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlck1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZTpcblx0XHRcdFx0bWF0Y2guZ3JvdXBzIS5tb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb25pdG9yaW5nLXNjaGVkdWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vbml0b3JpbmdTY2hlZHVsZShcblx0XHRwcm9wczogU2FnZU1ha2VyTW9uaXRvcmluZ1NjaGVkdWxlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1vbml0b3Jpbmctc2NoZWR1bGUvJHtwcm9wcy5tb25pdG9yaW5nU2NoZWR1bGVOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb25pdG9yaW5nLXNjaGVkdWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb25pdG9yaW5nU2NoZWR1bGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9uaXRvcmluZ1NjaGVkdWxlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vbml0b3Jpbmctc2NoZWR1bGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9uaXRvcmluZ1NjaGVkdWxlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJNb25pdG9yaW5nU2NoZWR1bGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vbml0b3JpbmdTY2hlZHVsZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb25pdG9yaW5nLXNjaGVkdWxlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1vbml0b3JpbmdTY2hlZHVsZU5hbWU6IG1hdGNoLmdyb3VwcyEubW9uaXRvcmluZ1NjaGVkdWxlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb25pdG9yaW5nLXNjaGVkdWxlLWFsZXJ0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0KFxuXHRcdHByb3BzOiBTYWdlTWFrZXJNb25pdG9yaW5nU2NoZWR1bGVBbGVydEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptb25pdG9yaW5nLXNjaGVkdWxlLyR7cHJvcHMubW9uaXRvcmluZ1NjaGVkdWxlTmFtZX0vYWxlcnQvJHtwcm9wcy5tb25pdG9yaW5nU2NoZWR1bGVBbGVydE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vbml0b3Jpbmctc2NoZWR1bGUtYWxlcnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vbml0b3Jpbmctc2NoZWR1bGUtYWxlcnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9uaXRvcmluZ1NjaGVkdWxlQWxlcnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlck1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb25pdG9yaW5nU2NoZWR1bGVBbGVydEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb25pdG9yaW5nLXNjaGVkdWxlLWFsZXJ0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1vbml0b3JpbmdTY2hlZHVsZU5hbWU6IG1hdGNoLmdyb3VwcyEubW9uaXRvcmluZ1NjaGVkdWxlTmFtZSxcblx0XHRcdG1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0TmFtZTogbWF0Y2guZ3JvdXBzIS5tb25pdG9yaW5nU2NoZWR1bGVBbGVydE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbm90ZWJvb2staW5zdGFuY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbm90ZWJvb2tJbnN0YW5jZShwcm9wczogU2FnZU1ha2VyTm90ZWJvb2tJbnN0YW5jZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bm90ZWJvb2staW5zdGFuY2UvJHtwcm9wcy5ub3RlYm9va0luc3RhbmNlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbm90ZWJvb2staW5zdGFuY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE5vdGVib29rSW5zdGFuY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTm90ZWJvb2tJbnN0YW5jZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBub3RlYm9vay1pbnN0YW5jZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VOb3RlYm9va0luc3RhbmNlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJOb3RlYm9va0luc3RhbmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBOb3RlYm9va0luc3RhbmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG5vdGVib29rLWluc3RhbmNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG5vdGVib29rSW5zdGFuY2VOYW1lOiBtYXRjaC5ncm91cHMhLm5vdGVib29rSW5zdGFuY2VOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG5vdGVib29rLWluc3RhbmNlLWxpZmVjeWNsZS1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyhcblx0XHRwcm9wczogU2FnZU1ha2VyTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpub3RlYm9vay1pbnN0YW5jZS1saWZlY3ljbGUtY29uZmlnLyR7cHJvcHMubm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ05hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG5vdGVib29rLWluc3RhbmNlLWxpZmVjeWNsZS1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBub3RlYm9vay1pbnN0YW5jZS1saWZlY3ljbGUtY29uZmlnIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlck5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbm90ZWJvb2staW5zdGFuY2UtbGlmZWN5Y2xlLWNvbmZpZyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRub3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnTmFtZTpcblx0XHRcdFx0bWF0Y2guZ3JvdXBzIS5ub3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBvcHRpbWl6YXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG9wdGltaXphdGlvbkpvYihwcm9wczogU2FnZU1ha2VyT3B0aW1pemF0aW9uSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpvcHRpbWl6YXRpb24tam9iLyR7cHJvcHMub3B0aW1pemF0aW9uSm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgb3B0aW1pemF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkT3B0aW1pemF0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE9wdGltaXphdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBvcHRpbWl6YXRpb24tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU9wdGltaXphdGlvbkpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyT3B0aW1pemF0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBPcHRpbWl6YXRpb25Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgb3B0aW1pemF0aW9uLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRvcHRpbWl6YXRpb25Kb2JOYW1lOiBtYXRjaC5ncm91cHMhLm9wdGltaXphdGlvbkpvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcGFydG5lci1hcHAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcGFydG5lckFwcChwcm9wczogU2FnZU1ha2VyUGFydG5lckFwcEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cGFydG5lci1hcHAvJHtwcm9wcy5hcHBJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcGFydG5lci1hcHAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFBhcnRuZXJBcHBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUGFydG5lckFwcEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwYXJ0bmVyLWFwcCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQYXJ0bmVyQXBwQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyUGFydG5lckFwcEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUGFydG5lckFwcEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwYXJ0bmVyLWFwcCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhcHBJZDogbWF0Y2guZ3JvdXBzIS5hcHBJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwaXBlbGluZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwaXBlbGluZShwcm9wczogU2FnZU1ha2VyUGlwZWxpbmVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnBpcGVsaW5lLyR7cHJvcHMucGlwZWxpbmVOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwaXBlbGluZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUGlwZWxpbmVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUGlwZWxpbmVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcGlwZWxpbmUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUGlwZWxpbmVBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJQaXBlbGluZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUGlwZWxpbmVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcGlwZWxpbmUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cGlwZWxpbmVOYW1lOiBtYXRjaC5ncm91cHMhLnBpcGVsaW5lTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwaXBlbGluZS1leGVjdXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcGlwZWxpbmVFeGVjdXRpb24ocHJvcHM6IFNhZ2VNYWtlclBpcGVsaW5lRXhlY3V0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwaXBlbGluZS8ke3Byb3BzLnBpcGVsaW5lTmFtZX0vZXhlY3V0aW9uLyR7cHJvcHMucmFuZG9tU3RyaW5nfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwaXBlbGluZS1leGVjdXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFBpcGVsaW5lRXhlY3V0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFBpcGVsaW5lRXhlY3V0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHBpcGVsaW5lLWV4ZWN1dGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQaXBlbGluZUV4ZWN1dGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyUGlwZWxpbmVFeGVjdXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFBpcGVsaW5lRXhlY3V0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBpcGVsaW5lLWV4ZWN1dGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwaXBlbGluZU5hbWU6IG1hdGNoLmdyb3VwcyEucGlwZWxpbmVOYW1lLFxuXHRcdFx0cmFuZG9tU3RyaW5nOiBtYXRjaC5ncm91cHMhLnJhbmRvbVN0cmluZyxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwcm9jZXNzaW5nLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcm9jZXNzaW5nSm9iKHByb3BzOiBTYWdlTWFrZXJQcm9jZXNzaW5nSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwcm9jZXNzaW5nLWpvYi8ke3Byb3BzLnByb2Nlc3NpbmdKb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwcm9jZXNzaW5nLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUHJvY2Vzc2luZ0pvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQcm9jZXNzaW5nSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHByb2Nlc3Npbmctam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByb2Nlc3NpbmdKb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlclByb2Nlc3NpbmdKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFByb2Nlc3NpbmdKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcHJvY2Vzc2luZy1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cHJvY2Vzc2luZ0pvYk5hbWU6IG1hdGNoLmdyb3VwcyEucHJvY2Vzc2luZ0pvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcHJvamVjdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcm9qZWN0KHByb3BzOiBTYWdlTWFrZXJQcm9qZWN0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwcm9qZWN0LyR7cHJvcHMucHJvamVjdE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHByb2plY3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFByb2plY3RBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUHJvamVjdEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwcm9qZWN0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByb2plY3RBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJQcm9qZWN0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcm9qZWN0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHByb2plY3QgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cHJvamVjdE5hbWU6IG1hdGNoLmdyb3VwcyEucHJvamVjdE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcmVzZXJ2ZWQtY2FwYWNpdHkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVzZXJ2ZWRDYXBhY2l0eShwcm9wczogU2FnZU1ha2VyUmVzZXJ2ZWRDYXBhY2l0eUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cmVzZXJ2ZWQtY2FwYWNpdHkvJHtwcm9wcy5yYW5kb21TdHJpbmd9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHJlc2VydmVkLWNhcGFjaXR5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZXNlcnZlZENhcGFjaXR5QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlc2VydmVkQ2FwYWNpdHlBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcmVzZXJ2ZWQtY2FwYWNpdHkgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVzZXJ2ZWRDYXBhY2l0eUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyUmVzZXJ2ZWRDYXBhY2l0eUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVzZXJ2ZWRDYXBhY2l0eUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCByZXNlcnZlZC1jYXBhY2l0eSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyYW5kb21TdHJpbmc6IG1hdGNoLmdyb3VwcyEucmFuZG9tU3RyaW5nLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNhZ2VtYWtlci1jYXRhbG9nIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNhZ2VtYWtlckNhdGFsb2cocHJvcHM6IFNhZ2VNYWtlclNhZ2VtYWtlckNhdGFsb2dBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNhZ2VtYWtlci1jYXRhbG9nLyR7cHJvcHMucmVzb3VyY2VDYXRhbG9nTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2FnZW1ha2VyLWNhdGFsb2cgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNhZ2VtYWtlckNhdGFsb2dBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2FnZW1ha2VyQ2F0YWxvZ0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzYWdlbWFrZXItY2F0YWxvZyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTYWdlbWFrZXJDYXRhbG9nQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJTYWdlbWFrZXJDYXRhbG9nQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTYWdlbWFrZXJDYXRhbG9nQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNhZ2VtYWtlci1jYXRhbG9nIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlQ2F0YWxvZ05hbWU6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VDYXRhbG9nTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzaGFyZWQtbW9kZWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2hhcmVkTW9kZWwocHJvcHM6IFNhZ2VNYWtlclNoYXJlZE1vZGVsQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzaGFyZWQtbW9kZWwvJHtwcm9wcy5zaGFyZWRNb2RlbElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzaGFyZWQtbW9kZWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNoYXJlZE1vZGVsQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNoYXJlZE1vZGVsQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNoYXJlZC1tb2RlbCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTaGFyZWRNb2RlbEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlclNoYXJlZE1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTaGFyZWRNb2RlbEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzaGFyZWQtbW9kZWwgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c2hhcmVkTW9kZWxJZDogbWF0Y2guZ3JvdXBzIS5zaGFyZWRNb2RlbElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNoYXJlZC1tb2RlbC1ldmVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzaGFyZWRNb2RlbEV2ZW50KHByb3BzOiBTYWdlTWFrZXJTaGFyZWRNb2RlbEV2ZW50QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzaGFyZWQtbW9kZWwtZXZlbnQvJHtwcm9wcy5ldmVudElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzaGFyZWQtbW9kZWwtZXZlbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNoYXJlZE1vZGVsRXZlbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2hhcmVkTW9kZWxFdmVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzaGFyZWQtbW9kZWwtZXZlbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2hhcmVkTW9kZWxFdmVudEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyU2hhcmVkTW9kZWxFdmVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2hhcmVkTW9kZWxFdmVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzaGFyZWQtbW9kZWwtZXZlbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZXZlbnRJZDogbWF0Y2guZ3JvdXBzIS5ldmVudElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNwYWNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNwYWNlKHByb3BzOiBTYWdlTWFrZXJTcGFjZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c3BhY2UvJHtwcm9wcy5kb21haW5JZH0vJHtwcm9wcy5zcGFjZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNwYWNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTcGFjZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTcGFjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzcGFjZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTcGFjZUFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlclNwYWNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTcGFjZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzcGFjZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkb21haW5JZDogbWF0Y2guZ3JvdXBzIS5kb21haW5JZCxcblx0XHRcdHNwYWNlTmFtZTogbWF0Y2guZ3JvdXBzIS5zcGFjZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc3R1ZGlvLWxpZmVjeWNsZS1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc3R1ZGlvTGlmZWN5Y2xlQ29uZmlnKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c3R1ZGlvLWxpZmVjeWNsZS1jb25maWcvJHtwcm9wcy5zdHVkaW9MaWZlY3ljbGVDb25maWdOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzdHVkaW8tbGlmZWN5Y2xlLWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzdHVkaW8tbGlmZWN5Y2xlLWNvbmZpZyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTdHVkaW9MaWZlY3ljbGVDb25maWdBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlclN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHN0dWRpby1saWZlY3ljbGUtY29uZmlnIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHN0dWRpb0xpZmVjeWNsZUNvbmZpZ05hbWU6IG1hdGNoLmdyb3VwcyEuc3R1ZGlvTGlmZWN5Y2xlQ29uZmlnTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB0cmFpbmluZy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdHJhaW5pbmdKb2IocHJvcHM6IFNhZ2VNYWtlclRyYWluaW5nSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp0cmFpbmluZy1qb2IvJHtwcm9wcy50cmFpbmluZ0pvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHRyYWluaW5nLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVHJhaW5pbmdKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVHJhaW5pbmdKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdHJhaW5pbmctam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVRyYWluaW5nSm9iQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyVHJhaW5pbmdKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFRyYWluaW5nSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRyYWluaW5nLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR0cmFpbmluZ0pvYk5hbWU6IG1hdGNoLmdyb3VwcyEudHJhaW5pbmdKb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHRyYWluaW5nLXBsYW4gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdHJhaW5pbmdQbGFuKHByb3BzOiBTYWdlTWFrZXJUcmFpbmluZ1BsYW5Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnRyYWluaW5nLXBsYW4vJHtwcm9wcy50cmFpbmluZ1BsYW5OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB0cmFpbmluZy1wbGFuIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRUcmFpbmluZ1BsYW5Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVHJhaW5pbmdQbGFuQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHRyYWluaW5nLXBsYW4gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVHJhaW5pbmdQbGFuQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyVHJhaW5pbmdQbGFuQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBUcmFpbmluZ1BsYW5Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdHJhaW5pbmctcGxhbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR0cmFpbmluZ1BsYW5OYW1lOiBtYXRjaC5ncm91cHMhLnRyYWluaW5nUGxhbk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgdHJhbnNmb3JtLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB0cmFuc2Zvcm1Kb2IocHJvcHM6IFNhZ2VNYWtlclRyYW5zZm9ybUpvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dHJhbnNmb3JtLWpvYi8ke3Byb3BzLnRyYW5zZm9ybUpvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHRyYW5zZm9ybS1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFRyYW5zZm9ybUpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBUcmFuc2Zvcm1Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdHJhbnNmb3JtLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VUcmFuc2Zvcm1Kb2JBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJUcmFuc2Zvcm1Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFRyYW5zZm9ybUpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0cmFuc2Zvcm0tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRyYW5zZm9ybUpvYk5hbWU6IG1hdGNoLmdyb3VwcyEudHJhbnNmb3JtSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB1c2VyLXByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdXNlclByb2ZpbGUocHJvcHM6IFNhZ2VNYWtlclVzZXJQcm9maWxlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp1c2VyLXByb2ZpbGUvJHtwcm9wcy5kb21haW5JZH0vJHtwcm9wcy51c2VyUHJvZmlsZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHVzZXItcHJvZmlsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVXNlclByb2ZpbGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVXNlclByb2ZpbGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdXNlci1wcm9maWxlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVVzZXJQcm9maWxlQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyVXNlclByb2ZpbGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFVzZXJQcm9maWxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHVzZXItcHJvZmlsZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkb21haW5JZDogbWF0Y2guZ3JvdXBzIS5kb21haW5JZCxcblx0XHRcdHVzZXJQcm9maWxlTmFtZTogbWF0Y2guZ3JvdXBzIS51c2VyUHJvZmlsZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgd29ya2ZvcmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHdvcmtmb3JjZShwcm9wczogU2FnZU1ha2VyV29ya2ZvcmNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp3b3JrZm9yY2UvJHtwcm9wcy53b3JrZm9yY2VOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB3b3JrZm9yY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFdvcmtmb3JjZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBXb3JrZm9yY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgd29ya2ZvcmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVdvcmtmb3JjZUFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlcldvcmtmb3JjZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gV29ya2ZvcmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHdvcmtmb3JjZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR3b3JrZm9yY2VOYW1lOiBtYXRjaC5ncm91cHMhLndvcmtmb3JjZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgd29ya3RlYW0gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgd29ya3RlYW0ocHJvcHM6IFNhZ2VNYWtlcldvcmt0ZWFtQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp3b3JrdGVhbS8ke3Byb3BzLndvcmt0ZWFtTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgd29ya3RlYW0gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFdvcmt0ZWFtQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFdvcmt0ZWFtQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHdvcmt0ZWFtIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVdvcmt0ZWFtQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyV29ya3RlYW1Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFdvcmt0ZWFtQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHdvcmt0ZWFtIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHdvcmt0ZWFtTmFtZTogbWF0Y2guZ3JvdXBzIS53b3JrdGVhbU5hbWUsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3Igc2FnZW1ha2VyLlxuICovXG5leHBvcnQgY2xhc3MgU2FnZU1ha2VyT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFkZEFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkFkZEFzc29jaWF0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBZGRUYWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkVGFnczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6QWRkVGFnc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzb2NpYXRlVHJpYWxDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVUcmlhbENvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QXNzb2NpYXRlVHJpYWxDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXR0YWNoQ2x1c3Rlck5vZGVWb2x1bWUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBdHRhY2hDbHVzdGVyTm9kZVZvbHVtZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QXR0YWNoQ2x1c3Rlck5vZGVWb2x1bWVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hBZGRDbHVzdGVyTm9kZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEFkZENsdXN0ZXJOb2Rlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QmF0Y2hBZGRDbHVzdGVyTm9kZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hEZWxldGVDbHVzdGVyTm9kZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZUNsdXN0ZXJOb2Rlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QmF0Y2hEZWxldGVDbHVzdGVyTm9kZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hEZXNjcmliZU1vZGVsUGFja2FnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGVzY3JpYmVNb2RlbFBhY2thZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkJhdGNoRGVzY3JpYmVNb2RlbFBhY2thZ2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hHZXRNZXRyaWNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRNZXRyaWNzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpCYXRjaEdldE1ldHJpY3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoR2V0UmVjb3JkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRSZWNvcmQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkJhdGNoR2V0UmVjb3JkXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaFB1dE1ldHJpY3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFB1dE1ldHJpY3M6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkJhdGNoUHV0TWV0cmljc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hSZWJvb3RDbHVzdGVyTm9kZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFJlYm9vdENsdXN0ZXJOb2Rlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QmF0Y2hSZWJvb3RDbHVzdGVyTm9kZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hSZXBsYWNlQ2x1c3Rlck5vZGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hSZXBsYWNlQ2x1c3Rlck5vZGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpCYXRjaFJlcGxhY2VDbHVzdGVyTm9kZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hXcml0ZVJlY29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoV3JpdGVSZWNvcmQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkJhdGNoV3JpdGVSZWNvcmRcIixcblx0XHRcInNhZ2VtYWtlcjpQdXRSZWNvcmRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ29tcGxldGVSb2xsb3V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29tcGxldGVSb2xsb3V0OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q29tcGxldGVSb2xsb3V0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFJQmVuY2htYXJrSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQUlCZW5jaG1hcmtKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVBSUJlbmNobWFya0pvYlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFJUmVjb21tZW5kYXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQUlSZWNvbW1lbmRhdGlvbkpvYlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFJV29ya2xvYWRDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBSVdvcmtsb2FkQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQUlXb3JrbG9hZENvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBY3Rpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVBY3Rpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQWxnb3JpdGhtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWxnb3JpdGhtOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQWxnb3JpdGhtXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQXBwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQXBwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFwcEltYWdlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwSW1hZ2VDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVBcHBJbWFnZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBcnRpZmFjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFydGlmYWN0OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQXJ0aWZhY3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQXV0b01MSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b01MSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQXV0b01MSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQXV0b01MSm9iVjIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvTUxKb2JWMjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUF1dG9NTEpvYlYyXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ2x1c3RlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsdXN0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVDbHVzdGVyXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVyU29mdHdhcmVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvZGVSZXBvc2l0b3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29kZVJlcG9zaXRvcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVDb2RlUmVwb3NpdG9yeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDb21waWxhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbXBpbGF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ29tcGlsYXRpb25Kb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDb21wdXRlUXVvdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb21wdXRlUXVvdGE6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVDb21wdXRlUXVvdGFcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29udGV4dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbnRleHQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVDb250ZXh0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvblwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURldmljZUZsZWV0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGV2aWNlRmxlZXQ6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURvbWFpbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZURvbWFpblwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUVkZ2VEZXBsb3ltZW50UGxhbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVkZ2VEZXBsb3ltZW50UGxhbjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRWRnZURlcGxveW1lbnRTdGFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVkZ2VEZXBsb3ltZW50U3RhZ2U6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUVkZ2VQYWNrYWdpbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlUGFja2FnaW5nSm9iOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZHBvaW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlRW5kcG9pbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRW5kcG9pbnRDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmRwb2ludENvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUVuZHBvaW50Q29uZmlnXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV4cGVyaW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVFeHBlcmltZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUZlYXR1cmVHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZlYXR1cmVHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUZlYXR1cmVHcm91cFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUZsb3dEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmxvd0RlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVGbG93RGVmaW5pdGlvblwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUh1YiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh1Yjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUh1YlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVIdWJDb250ZW50UHJlc2lnbmVkVXJscyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh1YkNvbnRlbnRQcmVzaWduZWRVcmxzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVIdWJDb250ZW50UHJlc2lnbmVkVXJsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVIdWJDb250ZW50UmVmZXJlbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHViQ29udGVudFJlZmVyZW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUh1YkNvbnRlbnRSZWZlcmVuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSHVtYW5UYXNrVWkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdW1hblRhc2tVaTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUh1bWFuVGFza1VpXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUltYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW1hZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVJbWFnZVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUltYWdlVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUltYWdlVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSW1hZ2VWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUluZmVyZW5jZUNvbXBvbmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZUNvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUluZmVyZW5jZUNvbXBvbmVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlRXhwZXJpbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUluZmVyZW5jZUV4cGVyaW1lbnRcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVKb2JcIixcblx0XHRcInNhZ2VtYWtlcjpJbXBvcnRIdWJDb250ZW50XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVIdWJDb250ZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUxhYmVsaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTGFiZWxpbmdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVMYWJlbGluZ0pvYlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1sZmxvd0FwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1sZmxvd0FwcDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1sZmxvd0FwcFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1sZmxvd1RyYWNraW5nU2VydmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNbGZsb3dUcmFja2luZ1NlcnZlclwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1vZGVsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbFwiLFxuXHRcdFwic2FnZW1ha2VyOkRlcGxveUh1Yk1vZGVsXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTW9kZWxDYXJkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxDYXJkOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxDYXJkXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1vZGVsQ2FyZEV4cG9ydEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQ2FyZEV4cG9ydEpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxDYXJkRXhwb3J0Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvblwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1vZGVsUGFja2FnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsUGFja2FnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsUGFja2FnZVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1vZGVsUGFja2FnZUdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxQYWNrYWdlR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbFBhY2thZ2VHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb25pdG9yaW5nU2NoZWR1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb25pdG9yaW5nU2NoZWR1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb25pdG9yaW5nU2NoZWR1bGVcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVOb3RlYm9va0luc3RhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU5vdGVib29rSW5zdGFuY2VcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlT3B0aW1pemF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT3B0aW1pemF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlT3B0aW1pemF0aW9uSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUGFydG5lckFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBhcnRuZXJBcHA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQYXJ0bmVyQXBwXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUGFydG5lckFwcFByZXNpZ25lZFVybCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBhcnRuZXJBcHBQcmVzaWduZWRVcmw6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVBhcnRuZXJBcHBQcmVzaWduZWRVcmxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUGlwZWxpbmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQaXBlbGluZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVBpcGVsaW5lXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJlc2lnbmVkRG9tYWluVXJsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJlc2lnbmVkRG9tYWluVXJsOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcmVzaWduZWREb21haW5VcmxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJlc2lnbmVkTWxmbG93QXBwVXJsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJlc2lnbmVkTWxmbG93QXBwVXJsOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcmVzaWduZWRNbGZsb3dBcHBVcmxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJlc2lnbmVkTWxmbG93VHJhY2tpbmdTZXJ2ZXJVcmwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcmVzaWduZWRNbGZsb3dUcmFja2luZ1NlcnZlclVybDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUHJlc2lnbmVkTWxmbG93VHJhY2tpbmdTZXJ2ZXJVcmxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJlc2lnbmVkTm90ZWJvb2tJbnN0YW5jZVVybCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByZXNpZ25lZE5vdGVib29rSW5zdGFuY2VVcmw6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZE5vdGVib29rSW5zdGFuY2VVcmxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJvY2Vzc2luZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb2Nlc3NpbmdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcm9jZXNzaW5nSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJvamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb2plY3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcm9qZWN0XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU3BhY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTcGFjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVNwYWNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUcmFpbmluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyYWluaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlVHJhaW5pbmdKb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUcmFpbmluZ1BsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmFpbmluZ1BsYW46IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVSZXNlcnZlZENhcGFjaXR5XCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlVHJhaW5pbmdQbGFuXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVRyYW5zZm9ybUpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyYW5zZm9ybUpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVRyYW5zZm9ybUpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUcmlhbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyaWFsOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlVHJpYWxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVHJpYWxDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmlhbENvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVRyaWFsQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVVzZXJQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXNlclByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVVc2VyUHJvZmlsZVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVdvcmtmb3JjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmtmb3JjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVdvcmtmb3JjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVXb3JrdGVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmt0ZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlV29ya3RlYW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQUlCZW5jaG1hcmtKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBSUJlbmNobWFya0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlQUlCZW5jaG1hcmtKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQUlSZWNvbW1lbmRhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFJUmVjb21tZW5kYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUFJUmVjb21tZW5kYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQUlXb3JrbG9hZENvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFJV29ya2xvYWRDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUFJV29ya2xvYWRDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWN0aW9uOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVBY3Rpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFsZ29yaXRobSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFsZ29yaXRobTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlQWxnb3JpdGhtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHA6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUFwcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXBwSW1hZ2VDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHBJbWFnZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlQXBwSW1hZ2VDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXJ0aWZhY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcnRpZmFjdDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlQXJ0aWZhY3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUFzc29jaWF0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2x1c3Rlcjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlQ2x1c3RlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29kZVJlcG9zaXRvcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb2RlUmVwb3NpdG9yeTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlQ29kZVJlcG9zaXRvcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29tcGlsYXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb21waWxhdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlQ29tcGlsYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29tcHV0ZVF1b3RhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29tcHV0ZVF1b3RhOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVDb21wdXRlUXVvdGFcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29udGV4dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbnRleHQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUNvbnRleHRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURldmljZUZsZWV0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGV2aWNlRmxlZXQ6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURvbWFpbjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlRG9tYWluXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVFZGdlRGVwbG95bWVudFBsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFZGdlRGVwbG95bWVudFBsYW46IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUVkZ2VEZXBsb3ltZW50U3RhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFZGdlRGVwbG95bWVudFN0YWdlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUVuZHBvaW50OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVFbmRwb2ludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRW5kcG9pbnRDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFbmRwb2ludENvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlRW5kcG9pbnRDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV4cGVyaW1lbnQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUV4cGVyaW1lbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUZlYXR1cmVHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZlYXR1cmVHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlRmVhdHVyZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUZsb3dEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRmxvd0RlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUZsb3dEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUh1YiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh1Yjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlSHViXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVIdWJDb250ZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHViQ29udGVudDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlSHViQ29udGVudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSHViQ29udGVudFJlZmVyZW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh1YkNvbnRlbnRSZWZlcmVuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUh1YkNvbnRlbnRSZWZlcmVuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSHVtYW5Mb29wIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHVtYW5Mb29wOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVIdW1hbkxvb3BcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUh1bWFuVGFza1VpIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSHVtYW5UYXNrVWk6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUh1bWFuVGFza1VpXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJbWFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUltYWdlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVJbWFnZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSW1hZ2VWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW1hZ2VWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVJbWFnZVZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSW5mZXJlbmNlQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5mZXJlbmNlQ29tcG9uZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVJbmZlcmVuY2VDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSW5mZXJlbmNlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUluZmVyZW5jZUV4cGVyaW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUluZmVyZW5jZUV4cGVyaW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1sZmxvd0FwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1sZmxvd0FwcDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlTWxmbG93QXBwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNbGZsb3dUcmFja2luZ1NlcnZlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1sZmxvd1RyYWNraW5nU2VydmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNbGZsb3dUcmFja2luZ1NlcnZlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVNb2RlbFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTW9kZWxDYXJkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxDYXJkOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVNb2RlbENhcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsUGFja2FnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsUGFja2FnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxQYWNrYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsUGFja2FnZUdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxQYWNrYWdlR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsUGFja2FnZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsUGFja2FnZUdyb3VwUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxQYWNrYWdlR3JvdXBQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsUGFja2FnZUdyb3VwUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vbml0b3JpbmdTY2hlZHVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vbml0b3JpbmdTY2hlZHVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTW9uaXRvcmluZ1NjaGVkdWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU5vdGVib29rSW5zdGFuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVOb3RlYm9va0luc3RhbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVOb3RlYm9va0luc3RhbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU9wdGltaXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU9wdGltaXphdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlT3B0aW1pemF0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVBhcnRuZXJBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQYXJ0bmVyQXBwOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVQYXJ0bmVyQXBwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQaXBlbGluZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBpcGVsaW5lOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVQaXBlbGluZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJvY2Vzc2luZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2Nlc3NpbmdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZVByb2Nlc3NpbmdKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJvamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2plY3Q6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZVByb2plY3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlY29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlY29yZDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlUmVjb3JkXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTcGFjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNwYWNlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVTcGFjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVTdHVkaW9MaWZlY3ljbGVDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVGFncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRhZ3M6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZVRhZ3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVRyYWluaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVHJhaW5pbmdKb2I6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZVRyYWluaW5nSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVUcmlhbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRyaWFsOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVUcmlhbFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVHJpYWxDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUcmlhbENvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlVHJpYWxDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVXNlclByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVVc2VyUHJvZmlsZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlVXNlclByb2ZpbGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVdvcmtmb3JjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmtmb3JjZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlV29ya2ZvcmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVXb3JrdGVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmt0ZWFtOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVXb3JrdGVhbVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVyZWdpc3RlckRldmljZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyRGV2aWNlczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBSUJlbmNobWFya0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQUlCZW5jaG1hcmtKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQUlCZW5jaG1hcmtKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBSVJlY29tbWVuZGF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBSVJlY29tbWVuZGF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUFJUmVjb21tZW5kYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBSVdvcmtsb2FkQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBSVdvcmtsb2FkQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUFJV29ya2xvYWRDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFjdGlvbjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVBY3Rpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQWxnb3JpdGhtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBbGdvcml0aG06IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlQWxnb3JpdGhtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZUFwcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBcHBJbWFnZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwSW1hZ2VDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQXBwSW1hZ2VDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBcnRpZmFjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXJ0aWZhY3Q6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlQXJ0aWZhY3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXV0b01MSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBdXRvTUxKb2I6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlQXV0b01MSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUF1dG9NTEpvYlYyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBdXRvTUxKb2JWMjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVBdXRvTUxKb2JWMlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXI6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3RlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDbHVzdGVyRXZlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXJFdmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyRXZlbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDbHVzdGVyTm9kZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2x1c3Rlck5vZGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3Rlck5vZGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJTY2hlZHVsZXJDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb2RlUmVwb3NpdG9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29kZVJlcG9zaXRvcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQ29kZVJlcG9zaXRvcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb21waWxhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29tcGlsYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQ29tcGlsYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb21wdXRlUXVvdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbXB1dGVRdW90YTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVDb21wdXRlUXVvdGFcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb250ZXh0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb250ZXh0OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZUNvbnRleHRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRGV2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEZXZpY2U6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRGV2aWNlRmxlZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURldmljZUZsZWV0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZURvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRG9tYWluOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZURvbWFpblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFZGdlRGVwbG95bWVudFBsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVkZ2VEZXBsb3ltZW50UGxhbjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFZGdlUGFja2FnaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFZGdlUGFja2FnaW5nSm9iOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFbmRwb2ludDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVFbmRwb2ludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFbmRwb2ludENvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW5kcG9pbnRDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlRW5kcG9pbnRDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFeHBlcmltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFeHBlcmltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUV4cGVyaW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVGZWF0dXJlR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZlYXR1cmVHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVGZWF0dXJlR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVGZWF0dXJlTWV0YWRhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZlYXR1cmVNZXRhZGF0YTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVGZWF0dXJlTWV0YWRhdGFcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVGbG93RGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRmxvd0RlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlRmxvd0RlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVIdWIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUh1Yjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVIdWJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSHViQ29udGVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSHViQ29udGVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVIdWJDb250ZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSHVtYW5Mb29wIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVIdW1hbkxvb3A6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlSHVtYW5Mb29wXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUh1bWFuVGFza1VpIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVIdW1hblRhc2tVaTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVIdW1hblRhc2tVaVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVIeXBlclBhcmFtZXRlclR1bmluZ0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVIeXBlclBhcmFtZXRlclR1bmluZ0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUltYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbWFnZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVJbWFnZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVJbWFnZVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUltYWdlVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVJbWFnZVZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVJbmZlcmVuY2VDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUluZmVyZW5jZUNvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVJbmZlcmVuY2VDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVJbmZlcmVuY2VFeHBlcmltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbmZlcmVuY2VFeHBlcmltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUluZmVyZW5jZUV4cGVyaW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUpvYjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSm9iU2NoZW1hVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSm9iU2NoZW1hVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVKb2JTY2hlbWFWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTGFiZWxpbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxhYmVsaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUxhYmVsaW5nSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTGluZWFnZUdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMaW5lYWdlR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTGluZWFnZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTWxmbG93QXBwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNbGZsb3dBcHA6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlTWxmbG93QXBwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1sZmxvd1RyYWNraW5nU2VydmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNbGZsb3dUcmFja2luZ1NlcnZlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNbGZsb3dUcmFja2luZ1NlcnZlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1vZGVsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNb2RlbEJpYXNKb2JEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbEJpYXNKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsQmlhc0pvYkRlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNb2RlbENhcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsQ2FyZDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbENhcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9kZWxDYXJkRXhwb3J0Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbENhcmRFeHBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxDYXJkRXhwb3J0Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9kZWxQYWNrYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbFBhY2thZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxQYWNrYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9kZWxQYWNrYWdlR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsUGFja2FnZUdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsUGFja2FnZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9uaXRvcmluZ1NjaGVkdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb25pdG9yaW5nU2NoZWR1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9uaXRvcmluZ1NjaGVkdWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVOb3RlYm9va0luc3RhbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlT3B0aW1pemF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVPcHRpbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlT3B0aW1pemF0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUGFydG5lckFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGFydG5lckFwcDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVQYXJ0bmVyQXBwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUGlwZWxpbmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBpcGVsaW5lOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZVBpcGVsaW5lXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVBpcGVsaW5lRGVmaW5pdGlvbkZvckV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGlwZWxpbmVEZWZpbml0aW9uRm9yRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVBpcGVsaW5lRGVmaW5pdGlvbkZvckV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVBpcGVsaW5lRXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQaXBlbGluZUV4ZWN1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVQaXBlbGluZUV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVByb2Nlc3NpbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVByb2Nlc3NpbmdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlUHJvY2Vzc2luZ0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVByb2plY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVByb2plY3Q6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlUHJvamVjdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSZXNlcnZlZENhcGFjaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXNlcnZlZENhcGFjaXR5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVJlc2VydmVkQ2FwYWNpdHlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTcGFjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU3BhY2U6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlU3BhY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTdHVkaW9MaWZlY3ljbGVDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU3Vic2NyaWJlZFdvcmt0ZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTdWJzY3JpYmVkV29ya3RlYW06IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlU3Vic2NyaWJlZFdvcmt0ZWFtXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVHJhaW5pbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRyYWluaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVRyYWluaW5nSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVHJhaW5pbmdQbGFuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmFpbmluZ1BsYW46IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlVHJhaW5pbmdQbGFuXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVHJhaW5pbmdQbGFuRXh0ZW5zaW9uSGlzdG9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJhaW5pbmdQbGFuRXh0ZW5zaW9uSGlzdG9yeTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVUcmFpbmluZ1BsYW5FeHRlbnNpb25IaXN0b3J5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVHJhbnNmb3JtSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmFuc2Zvcm1Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlVHJhbnNmb3JtSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVHJpYWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRyaWFsOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZVRyaWFsXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRyaWFsQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmlhbENvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVUcmlhbENvbXBvbmVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVVzZXJQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVVc2VyUHJvZmlsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVVc2VyUHJvZmlsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVdvcmtmb3JjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlV29ya2ZvcmNlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZVdvcmtmb3JjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVXb3JrdGVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlV29ya3RlYW06IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlV29ya3RlYW1cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERldGFjaENsdXN0ZXJOb2RlVm9sdW1lIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0YWNoQ2x1c3Rlck5vZGVWb2x1bWU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRldGFjaENsdXN0ZXJOb2RlVm9sdW1lXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2FibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpbyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpbzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGlzYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Fzc29jaWF0ZVRyaWFsQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlVHJpYWxDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRpc2Fzc29jaWF0ZVRyaWFsQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEVuYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5hYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW86IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkVuYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEV4dGVuZFRyYWluaW5nUGxhbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEV4dGVuZFRyYWluaW5nUGxhbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RXh0ZW5kVHJhaW5pbmdQbGFuXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERlcGxveW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREZXBsb3ltZW50czogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGV2aWNlRmxlZXRSZXBvcnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERldmljZUZsZWV0UmVwb3J0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREZXZpY2VSZWdpc3RyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERldmljZVJlZ2lzdHJhdGlvbjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TGluZWFnZUdyb3VwUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRMaW5lYWdlR3JvdXBQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkdldExpbmVhZ2VHcm91cFBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkdldE1vZGVsUGFja2FnZUdyb3VwUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlY29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb3JkOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpHZXRSZWNvcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvU3RhdHVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpb1N0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6R2V0U2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW9TdGF0dXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6R2V0U2NhbGluZ0NvbmZpZ3VyYXRpb25SZWNvbW1lbmRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZWFyY2hTdWdnZXN0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U2VhcmNoU3VnZ2VzdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkdldFNlYXJjaFN1Z2dlc3Rpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEltcG9ydEh1YkNvbnRlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRIdWJDb250ZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1wb3J0SHViQ29udGVudFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEludm9rZUVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkludm9rZUVuZHBvaW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VFbmRwb2ludEFzeW5jIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRW5kcG9pbnRBc3luYzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnRBc3luY1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VFbmRwb2ludFdpdGhSZXNwb25zZVN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUVuZHBvaW50V2l0aFJlc3BvbnNlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFJQmVuY2htYXJrSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBSUJlbmNobWFya0pvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RBSUJlbmNobWFya0pvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFJUmVjb21tZW5kYXRpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFJUmVjb21tZW5kYXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0QUlSZWNvbW1lbmRhdGlvbkpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFJV29ya2xvYWRDb25maWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFJV29ya2xvYWRDb25maWdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0QUlXb3JrbG9hZENvbmZpZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFjdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEFjdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBbGdvcml0aG1zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFsZ29yaXRobXM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RBbGdvcml0aG1zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWxpYXNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbGlhc2VzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0QWxpYXNlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcEltYWdlQ29uZmlncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBJbWFnZUNvbmZpZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RBcHBJbWFnZUNvbmZpZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEFwcHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBcnRpZmFjdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXJ0aWZhY3RzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0QXJ0aWZhY3RzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXNzb2NpYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFzc29jaWF0aW9uczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEFzc29jaWF0aW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEF1dG9NTEpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b01MSm9iczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEF1dG9NTEpvYnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDYW5kaWRhdGVzRm9yQXV0b01MSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENhbmRpZGF0ZXNGb3JBdXRvTUxKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RDYW5kaWRhdGVzRm9yQXV0b01MSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDbHVzdGVyRXZlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJFdmVudHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RDbHVzdGVyRXZlbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q2x1c3Rlck5vZGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJOb2Rlczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdENsdXN0ZXJOb2Rlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENsdXN0ZXJTY2hlZHVsZXJDb25maWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJTY2hlZHVsZXJDb25maWdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Q2x1c3RlclNjaGVkdWxlckNvbmZpZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENsdXN0ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0Q2x1c3RlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb2RlUmVwb3NpdG9yaWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvZGVSZXBvc2l0b3JpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RDb2RlUmVwb3NpdG9yaWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb21waWxhdGlvbkpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29tcGlsYXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Q29tcGlsYXRpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb21wdXRlUXVvdGFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbXB1dGVRdW90YXM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RDb21wdXRlUXVvdGFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29udGV4dHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29udGV4dHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RDb250ZXh0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERldmljZUZsZWV0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REZXZpY2VGbGVldHM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REZXZpY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERldmljZXM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REb21haW5zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvbWFpbnM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3REb21haW5zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RWRnZURlcGxveW1lbnRQbGFucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFZGdlRGVwbG95bWVudFBsYW5zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RWRnZVBhY2thZ2luZ0pvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RWRnZVBhY2thZ2luZ0pvYnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFbmRwb2ludENvbmZpZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5kcG9pbnRDb25maWdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0RW5kcG9pbnRDb25maWdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFbmRwb2ludHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5kcG9pbnRzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0RW5kcG9pbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RXhwZXJpbWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXhwZXJpbWVudHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RFeHBlcmltZW50c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEZlYXR1cmVHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RmVhdHVyZUdyb3Vwczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEZlYXR1cmVHcm91cHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RGbG93RGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmxvd0RlZmluaXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Rmxvd0RlZmluaXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RIdWJDb250ZW50VmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHViQ29udGVudFZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0SHViQ29udGVudFZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RIdWJDb250ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIdWJDb250ZW50czogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEh1YkNvbnRlbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SHVicyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIdWJzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0SHVic1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEh1bWFuTG9vcHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHVtYW5Mb29wczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEh1bWFuTG9vcHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RIdW1hblRhc2tVaXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHVtYW5UYXNrVWlzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0SHVtYW5UYXNrVWlzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW1hZ2VWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbWFnZVZlcnNpb25zOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0SW1hZ2VWZXJzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEltYWdlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbWFnZXM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RJbWFnZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmZlcmVuY2VDb21wb25lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluZmVyZW5jZUNvbXBvbmVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VDb21wb25lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmZlcmVuY2VFeHBlcmltZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VFeHBlcmltZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEluZmVyZW5jZUV4cGVyaW1lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JTdGVwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JTdGVwczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYlN0ZXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RKb2JTY2hlbWFWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RKb2JTY2hlbWFWZXJzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEpvYlNjaGVtYVZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEpvYnM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RKb2JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TGFiZWxpbmdKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdExhYmVsaW5nSm9iczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdExhYmVsaW5nSm9ic1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdExhYmVsaW5nSm9ic0Zvcldvcmt0ZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdExhYmVsaW5nSm9ic0Zvcldvcmt0ZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TGFiZWxpbmdKb2JzRm9yV29ya3RlYW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdExpbmVhZ2VHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TGluZWFnZUdyb3Vwczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdExpbmVhZ2VHcm91cHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNbGZsb3dBcHBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1sZmxvd0FwcHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RNbGZsb3dBcHBzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TWxmbG93VHJhY2tpbmdTZXJ2ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1sZmxvd1RyYWNraW5nU2VydmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1sZmxvd1RyYWNraW5nU2VydmVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxCaWFzSm9iRGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxCaWFzSm9iRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNb2RlbEJpYXNKb2JEZWZpbml0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxDYXJkRXhwb3J0Sm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbENhcmRFeHBvcnRKb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9kZWxDYXJkRXhwb3J0Sm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxDYXJkVmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxDYXJkVmVyc2lvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNb2RlbENhcmRWZXJzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxDYXJkcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbENhcmRzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0TW9kZWxDYXJkc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vZGVsTWV0YWRhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxNZXRhZGF0YTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdE1vZGVsTWV0YWRhdGFcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbFBhY2thZ2VHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxQYWNrYWdlR3JvdXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9kZWxQYWNrYWdlR3JvdXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbFBhY2thZ2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsUGFja2FnZXM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RNb2RlbFBhY2thZ2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdE1vZGVsc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vbml0b3JpbmdBbGVydEhpc3RvcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9uaXRvcmluZ0FsZXJ0SGlzdG9yeTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdBbGVydEhpc3RvcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vbml0b3JpbmdBbGVydHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9uaXRvcmluZ0FsZXJ0czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdBbGVydHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vbml0b3JpbmdFeGVjdXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vbml0b3JpbmdFeGVjdXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9uaXRvcmluZ0V4ZWN1dGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vbml0b3JpbmdTY2hlZHVsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9uaXRvcmluZ1NjaGVkdWxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdTY2hlZHVsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5vdGVib29rSW5zdGFuY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5vdGVib29rSW5zdGFuY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Tm90ZWJvb2tJbnN0YW5jZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE9wdGltaXphdGlvbkpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T3B0aW1pemF0aW9uSm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE9wdGltaXphdGlvbkpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFBhcnRuZXJBcHBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBhcnRuZXJBcHBzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0UGFydG5lckFwcHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQaXBlbGluZUV4ZWN1dGlvblN0ZXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lRXhlY3V0aW9uU3RlcHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RQaXBlbGluZUV4ZWN1dGlvblN0ZXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQaXBlbGluZUV4ZWN1dGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVFeGVjdXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVFeGVjdXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQaXBlbGluZVBhcmFtZXRlcnNGb3JFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVQYXJhbWV0ZXJzRm9yRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVQYXJhbWV0ZXJzRm9yRXhlY3V0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQaXBlbGluZVZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lVmVyc2lvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RQaXBlbGluZVZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQaXBlbGluZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvY2Vzc2luZ0pvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvY2Vzc2luZ0pvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RQcm9jZXNzaW5nSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJvamVjdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvamVjdHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RQcm9qZWN0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY29yZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb3Jkczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFJlY29yZHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZXNvdXJjZUNhdGFsb2dzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlQ2F0YWxvZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RSZXNvdXJjZUNhdGFsb2dzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTcGFjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3BhY2VzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0U3BhY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U3RhZ2VEZXZpY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN0YWdlRGV2aWNlczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFN0dWRpb0xpZmVjeWNsZUNvbmZpZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdFN0dWRpb0xpZmVjeWNsZUNvbmZpZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFN1YnNjcmliZWRXb3JrdGVhbXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3Vic2NyaWJlZFdvcmt0ZWFtczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdFN1YnNjcmliZWRXb3JrdGVhbXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFRhZ3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUcmFpbmluZ0pvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJhaW5pbmdKb2JzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0VHJhaW5pbmdKb2JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VHJhaW5pbmdKb2JzRm9ySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJhaW5pbmdKb2JzRm9ySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RUcmFpbmluZ0pvYnNGb3JIeXBlclBhcmFtZXRlclR1bmluZ0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VHJhaW5pbmdQbGFucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcmFpbmluZ1BsYW5zOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0VHJhaW5pbmdQbGFuc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRyYW5zZm9ybUpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJhbnNmb3JtSm9iczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFRyYW5zZm9ybUpvYnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUcmlhbENvbXBvbmVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJpYWxDb21wb25lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0VHJpYWxDb21wb25lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUcmlhbHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJpYWxzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0VHJpYWxzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VWx0cmFTZXJ2ZXJzQnlSZXNlcnZlZENhcGFjaXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFVsdHJhU2VydmVyc0J5UmVzZXJ2ZWRDYXBhY2l0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdFVsdHJhU2VydmVyc0J5UmVzZXJ2ZWRDYXBhY2l0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VXNlclByb2ZpbGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFVzZXJQcm9maWxlczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFVzZXJQcm9maWxlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFdvcmtmb3JjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya2ZvcmNlczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFdvcmtmb3JjZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RXb3JrdGVhbXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya3RlYW1zOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0V29ya3RlYW1zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dE1vZGVsUGFja2FnZUdyb3VwUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpQdXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRSZWNvcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZWNvcmQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlB1dFJlY29yZFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUXVlcnlMaW5lYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUXVlcnlMaW5lYWdlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpRdWVyeUxpbmVhZ2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVyRGV2aWNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyRGV2aWNlczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVuZGVyVWlUZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbmRlclVpVGVtcGxhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6UmVuZGVyVWlUZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXRyeVBpcGVsaW5lRXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cnlQaXBlbGluZUV4ZWN1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6UmV0cnlQaXBlbGluZUV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTYW1wbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTYW1wbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNhbGxXaXRoQmVhcmVyVG9rZW5cIixcblx0XHRcInNhZ2VtYWtlcjpTYW1wbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2FtcGxlV2l0aFJlc3BvbnNlU3RyZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2FtcGxlV2l0aFJlc3BvbnNlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJzYWdlbWFrZXI6U2FtcGxlV2l0aFJlc3BvbnNlU3RyZWFtXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNlYXJjaCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U2VhcmNoXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZWFyY2hUcmFpbmluZ1BsYW5PZmZlcmluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZWFyY2hUcmFpbmluZ1BsYW5PZmZlcmluZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlNlYXJjaFRyYWluaW5nUGxhbk9mZmVyaW5nc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZW5kSGVhcnRiZWF0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZEhlYXJ0YmVhdDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcEZhaWx1cmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwRmFpbHVyZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcEZhaWx1cmVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcFN1Y2Nlc3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwU3VjY2Vzczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcFN1Y2Nlc3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRDbHVzdGVySGVhbHRoQ2hlY2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydENsdXN0ZXJIZWFsdGhDaGVjazogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RhcnRDbHVzdGVySGVhbHRoQ2hlY2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRFZGdlRGVwbG95bWVudFN0YWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRFZGdlRGVwbG95bWVudFN0YWdlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEh1bWFuTG9vcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0SHVtYW5Mb29wOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdGFydEh1bWFuTG9vcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRJbmZlcmVuY2VFeHBlcmltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRJbmZlcmVuY2VFeHBlcmltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdGFydEluZmVyZW5jZUV4cGVyaW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRNbGZsb3dUcmFja2luZ1NlcnZlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TWxmbG93VHJhY2tpbmdTZXJ2ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0YXJ0TWxmbG93VHJhY2tpbmdTZXJ2ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRNb25pdG9yaW5nU2NoZWR1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1vbml0b3JpbmdTY2hlZHVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RhcnRNb25pdG9yaW5nU2NoZWR1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnROb3RlYm9va0luc3RhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnROb3RlYm9va0luc3RhbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdGFydE5vdGVib29rSW5zdGFuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRQaXBlbGluZUV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UGlwZWxpbmVFeGVjdXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0YXJ0UGlwZWxpbmVFeGVjdXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRTZXNzaW9uOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdGFydFNlc3Npb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BBSUJlbmNobWFya0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BBSUJlbmNobWFya0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RvcEFJQmVuY2htYXJrSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BBSVJlY29tbWVuZGF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEFJUmVjb21tZW5kYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BBSVJlY29tbWVuZGF0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BBdXRvTUxKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQXV0b01MSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdG9wQXV0b01MSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wQ29tcGlsYXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQ29tcGlsYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BDb21waWxhdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wRWRnZURlcGxveW1lbnRTdGFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BFZGdlRGVwbG95bWVudFN0YWdlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wRWRnZVBhY2thZ2luZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BFZGdlUGFja2FnaW5nSm9iOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wSHVtYW5Mb29wIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEh1bWFuTG9vcDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U3RvcEh1bWFuTG9vcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdG9wSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEluZmVyZW5jZUV4cGVyaW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wSW5mZXJlbmNlRXhwZXJpbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RvcEluZmVyZW5jZUV4cGVyaW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BKb2I6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlN0b3BKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BMYWJlbGluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BMYWJlbGluZ0pvYjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U3RvcExhYmVsaW5nSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wTWxmbG93VHJhY2tpbmdTZXJ2ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wTWxmbG93VHJhY2tpbmdTZXJ2ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BNbGZsb3dUcmFja2luZ1NlcnZlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wTW9uaXRvcmluZ1NjaGVkdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcE1vbml0b3JpbmdTY2hlZHVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RvcE1vbml0b3JpbmdTY2hlZHVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wTm90ZWJvb2tJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BOb3RlYm9va0luc3RhbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdG9wTm90ZWJvb2tJbnN0YW5jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wT3B0aW1pemF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcE9wdGltaXphdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RvcE9wdGltaXphdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wUGlwZWxpbmVFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wUGlwZWxpbmVFeGVjdXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BQaXBlbGluZUV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wUHJvY2Vzc2luZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BQcm9jZXNzaW5nSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdG9wUHJvY2Vzc2luZ0pvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFRyYWluaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRyYWluaW5nSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdG9wVHJhaW5pbmdKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BUcmFuc2Zvcm1Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wVHJhbnNmb3JtSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdG9wVHJhbnNmb3JtSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBY3Rpb246IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZUFjdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQXBwSW1hZ2VDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcHBJbWFnZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQXBwSW1hZ2VDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQXJ0aWZhY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcnRpZmFjdDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlQXJ0aWZhY3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpCYXRjaEFkZENsdXN0ZXJOb2Rlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVyXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNvZnR3YXJlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNsdXN0ZXJTb2Z0d2FyZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsdXN0ZXJTb2Z0d2FyZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNvZnR3YXJlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvZGVSZXBvc2l0b3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29kZVJlcG9zaXRvcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUNvZGVSZXBvc2l0b3J5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbXB1dGVRdW90YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbXB1dGVRdW90YTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ29tcHV0ZVF1b3RhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbnRleHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb250ZXh0OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVDb250ZXh0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVEZXZpY2VGbGVldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURldmljZUZsZWV0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVEZXZpY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGV2aWNlczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRG9tYWluIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRG9tYWluOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZURvbWFpblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUVuZHBvaW50OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVFbmRwb2ludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRW5kcG9pbnRXZWlnaHRzQW5kQ2FwYWNpdGllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUVuZHBvaW50V2VpZ2h0c0FuZENhcGFjaXRpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUVuZHBvaW50V2VpZ2h0c0FuZENhcGFjaXRpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUV4cGVyaW1lbnQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZUV4cGVyaW1lbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUZlYXR1cmVHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZlYXR1cmVHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlRmVhdHVyZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUZlYXR1cmVNZXRhZGF0YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZlYXR1cmVNZXRhZGF0YTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlRmVhdHVyZU1ldGFkYXRhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUh1YiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUh1Yjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlSHViXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVIdWJDb250ZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSHViQ29udGVudDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlSHViQ29udGVudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSHViQ29udGVudFJlZmVyZW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUh1YkNvbnRlbnRSZWZlcmVuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUh1YkNvbnRlbnRSZWZlcmVuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSW1hZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbWFnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVJbWFnZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbWFnZVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbWFnZVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUltYWdlVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbmZlcmVuY2VDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbmZlcmVuY2VDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUluZmVyZW5jZUNvbXBvbmVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbmZlcmVuY2VDb21wb25lbnRSdW50aW1lQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50UnVudGltZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50UnVudGltZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbmZlcmVuY2VFeHBlcmltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVNbGZsb3dBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNbGZsb3dBcHA6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZU1sZmxvd0FwcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNbGZsb3dUcmFja2luZ1NlcnZlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTW9kZWxDYXJkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTW9kZWxDYXJkOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVNb2RlbENhcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1vZGVsUGFja2FnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vZGVsUGFja2FnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTW9kZWxQYWNrYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1vbml0b3JpbmdBbGVydCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vbml0b3JpbmdBbGVydDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTW9uaXRvcmluZ0FsZXJ0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1vbml0b3JpbmdTY2hlZHVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vbml0b3JpbmdTY2hlZHVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVNb25pdG9yaW5nU2NoZWR1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTm90ZWJvb2tJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU5vdGVib29rSW5zdGFuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTm90ZWJvb2tJbnN0YW5jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQYXJ0bmVyQXBwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGFydG5lckFwcDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZVBhcnRuZXJBcHBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUGlwZWxpbmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQaXBlbGluZTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVQaXBlbGluZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQaXBlbGluZUV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBpcGVsaW5lRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVQaXBlbGluZUV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQaXBlbGluZVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQaXBlbGluZVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZVBpcGVsaW5lVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQcm9qZWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvamVjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZVByb2plY3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUmV3YXJkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmV3YXJkOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlUmV3YXJkXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVNwYWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3BhY2U6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZVNwYWNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVUcmFpbmluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRyYWluaW5nSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVUcmFpbmluZ0pvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlVHJpYWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUcmlhbDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlVHJpYWxcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVRyaWFsQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVHJpYWxDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZVRyaWFsQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVVzZXJQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVXNlclByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlVXNlclByb2ZpbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlV29ya2ZvcmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlV29ya2ZvcmNlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVXb3JrZm9yY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVdvcmt0ZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlV29ya3RlYW06IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZVdvcmt0ZWFtXCJdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3Igc2FnZW1ha2VyLlxuICovXG5leHBvcnQgY2xhc3MgU2FnZU1ha2VyQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBZGRUYWdzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFRhZ3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpUYWdnaW5nQWN0aW9uXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDYWxsV2l0aEJlYXJlclRva2VuIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbGxXaXRoQmVhcmVyVG9rZW5Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpCZWFyZXJUb2tlblR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFJQmVuY2htYXJrSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFJQmVuY2htYXJrSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFJUmVjb21tZW5kYXRpb25Kb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFJV29ya2xvYWRDb25maWcgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQUlXb3JrbG9hZENvbmZpZ0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQWN0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFjdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQWxnb3JpdGhtIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFsZ29yaXRobUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQXBwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlVmVyc2lvbkFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3duZXJVc2VyUHJvZmlsZUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlNwYWNlU2hhcmluZ1R5cGVcIixcblx0XHRcInNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBcHBJbWFnZUNvbmZpZyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcHBJbWFnZUNvbmZpZ0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQXJ0aWZhY3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXJ0aWZhY3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUF1dG9NTEpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvTUxKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUF1dG9NTEpvYlYyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9NTEpvYlYyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDbHVzdGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsdXN0ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ29kZVJlcG9zaXRvcnkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29kZVJlcG9zaXRvcnlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNvbXBpbGF0aW9uSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbXBpbGF0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDb21wdXRlUXVvdGEgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29tcHV0ZVF1b3RhQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDb250ZXh0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbnRleHRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNcIixcblx0XHRcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZURldmljZUZsZWV0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURldmljZUZsZWV0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVEb21haW4gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRG9tYWluQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6QXBwTmV0d29ya0FjY2Vzc1R5cGVcIixcblx0XHRcInNhZ2VtYWtlcjpBdXRoTW9kZVwiLFxuXHRcdFwic2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZUFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOlN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnNcIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRWRnZURlcGxveW1lbnRQbGFuIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVkZ2VEZXBsb3ltZW50UGxhbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRWRnZURlcGxveW1lbnRTdGFnZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlRGVwbG95bWVudFN0YWdlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVFZGdlUGFja2FnaW5nSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVkZ2VQYWNrYWdpbmdKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUVuZHBvaW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZHBvaW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVFbmRwb2ludENvbmZpZyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmRwb2ludENvbmZpZ0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkFjY2VsZXJhdG9yVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TW9kZWxBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6U2VydmVybGVzc01heENvbmN1cnJlbmN5XCIsXG5cdFx0XCJzYWdlbWFrZXI6U2VydmVybGVzc01lbW9yeVNpemVcIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRXhwZXJpbWVudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeHBlcmltZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVGZWF0dXJlR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmVhdHVyZUdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwRGlzYWJsZUdsdWVUYWJsZUNyZWF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwRW5hYmxlT25saW5lU3RvcmVcIixcblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVDb25maWdcIixcblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVTM1VyaVwiLFxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9ubGluZVN0b3JlS21zS2V5QXJuXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVGbG93RGVmaW5pdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbG93RGVmaW5pdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOldvcmt0ZWFtQXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6V29ya3RlYW1UeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVIdWIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHViQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVIdWJDb250ZW50UmVmZXJlbmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh1YkNvbnRlbnRSZWZlcmVuY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUh1bWFuVGFza1VpIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh1bWFuVGFza1VpQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1BY2Nlc3NNb2RlXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmlsZVN5c3RlbURpcmVjdG9yeVBhdGhcIixcblx0XHRcInNhZ2VtYWtlcjpGaWxlU3lzdGVtSWRcIixcblx0XHRcInNhZ2VtYWtlcjpGaWxlU3lzdGVtVHlwZVwiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiLFxuXHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSW1hZ2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW1hZ2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUluZmVyZW5jZUNvbXBvbmVudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbmZlcmVuY2VDb21wb25lbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpNb2RlbEFyblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSW5mZXJlbmNlRXhwZXJpbWVudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUxhYmVsaW5nSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxhYmVsaW5nSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6V29ya3RlYW1Bcm5cIixcblx0XHRcInNhZ2VtYWtlcjpXb3JrdGVhbVR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1sZmxvd0FwcCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNbGZsb3dBcHBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1sZmxvd1RyYWNraW5nU2VydmVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1sZmxvd1RyYWNraW5nU2VydmVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkRpcmVjdEdhdGVkTW9kZWxBY2Nlc3NcIixcblx0XHRcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiLFxuXHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTW9kZWxDYXJkIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQ2FyZENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1xuXHRcdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcdFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIixcblx0XHRcdFwic2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNcIixcblx0XHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdFx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1vZGVsUGFja2FnZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbFBhY2thZ2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllcy8ke01ldGFkYXRhS2V5fVwiLFxuXHRcdFwic2FnZW1ha2VyOk1vZGVsQXBwcm92YWxTdGF0dXNcIixcblx0XHRcInNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZVwiLFxuXHRcdFwic2FnZW1ha2VyOk1vZGVsTGlmZUN5Y2xlOlN0YWdlU3RhdHVzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbFBhY2thZ2VHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbFBhY2thZ2VHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb25pdG9yaW5nU2NoZWR1bGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVOb3RlYm9va0luc3RhbmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGVib29rSW5zdGFuY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpBY2NlbGVyYXRvclR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6RGlyZWN0SW50ZXJuZXRBY2Nlc3NcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TWluaW11bUluc3RhbmNlTWV0YWRhdGFTZXJ2aWNlVmVyc2lvblwiLFxuXHRcdFwic2FnZW1ha2VyOk5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6Um9vdEFjY2Vzc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsIFwiYXdzOlRhZ0tleXNcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVPcHRpbWl6YXRpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT3B0aW1pemF0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQYXJ0bmVyQXBwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBhcnRuZXJBcHBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVBpcGVsaW5lIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBpcGVsaW5lQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQcm9jZXNzaW5nSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb2Nlc3NpbmdKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNcIixcblx0XHRcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVByb2plY3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvamVjdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmVzZXJ2ZWRDYXBhY2l0eSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNlcnZlZENhcGFjaXR5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVTcGFjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTcGFjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlVmVyc2lvbkFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3duZXJVc2VyUHJvZmlsZUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlJlbW90ZUFjY2Vzc1wiLFxuXHRcdFwic2FnZW1ha2VyOlNwYWNlU2hhcmluZ1R5cGVcIixcblx0XHRcInNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVTdHVkaW9MaWZlY3ljbGVDb25maWcgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVUcmFpbmluZ0pvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmFpbmluZ0pvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkRpcmVjdEdhdGVkTW9kZWxBY2Nlc3NcIixcblx0XHRcInNhZ2VtYWtlcjpFbmFibGVSZW1vdGVEZWJ1Z1wiLFxuXHRcdFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1BY2Nlc3NNb2RlXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmlsZVN5c3RlbURpcmVjdG9yeVBhdGhcIixcblx0XHRcInNhZ2VtYWtlcjpGaWxlU3lzdGVtSWRcIixcblx0XHRcInNhZ2VtYWtlcjpGaWxlU3lzdGVtVHlwZVwiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6S2VlcEFsaXZlUGVyaW9kXCIsXG5cdFx0XCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiLFxuXHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVHJhaW5pbmdQbGFuIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyYWluaW5nUGxhbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVHJhbnNmb3JtSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyYW5zZm9ybUpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpNb2RlbEFyblwiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVHJpYWwgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJpYWxDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVRyaWFsQ29tcG9uZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyaWFsQ29tcG9uZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVVc2VyUHJvZmlsZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVVc2VyUHJvZmlsZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZUFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOlN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVXb3JrZm9yY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV29ya2ZvcmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVXb3JrdGVhbSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3JrdGVhbUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlQXBwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOk93bmVyVXNlclByb2ZpbGVBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpTcGFjZVNoYXJpbmdUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVGZWF0dXJlR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRmVhdHVyZUdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVNwYWNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNwYWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6T3duZXJVc2VyUHJvZmlsZUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlNwYWNlU2hhcmluZ1R5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVRhZ3MgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGFnc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZVBpcGVsaW5lIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGlwZWxpbmVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpQaXBlbGluZVZlcnNpb25JZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgSW1wb3J0SHViQ29udGVudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRIdWJDb250ZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbnZva2VFbmRwb2ludCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VFbmRwb2ludENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlRhcmdldE1vZGVsXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRSZWNvcmQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVjb3JkQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6SXNVcGRhdGVSZWNvcmRcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGFibGVGZWF0dXJlc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVnaXN0ZXJEZXZpY2VzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyRGV2aWNlc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU2VhcmNoIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlNlYXJjaFZpc2liaWxpdHlDb25kaXRpb24vJHtGaWx0ZXJLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFBpcGVsaW5lRXhlY3V0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UGlwZWxpbmVFeGVjdXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpQaXBlbGluZVZlcnNpb25JZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlQ2x1c3RlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVEb21haW4gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRG9tYWluQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QXBwTmV0d29ya0FjY2Vzc1R5cGVcIixcblx0XHRcInNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VWZXJzaW9uQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZU1vZGVsUGFja2FnZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNb2RlbFBhY2thZ2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllcy8ke01ldGFkYXRhS2V5fVwiLFxuXHRcdFwic2FnZW1ha2VyOkN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzVG9SZW1vdmVcIixcblx0XHRcInNhZ2VtYWtlcjpNb2RlbEFwcHJvdmFsU3RhdHVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TW9kZWxMaWZlQ3ljbGU6U3RhZ2VcIixcblx0XHRcInNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZVN0YXR1c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlTW9uaXRvcmluZ1NjaGVkdWxlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vbml0b3JpbmdTY2hlZHVsZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiLFxuXHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlTm90ZWJvb2tJbnN0YW5jZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVOb3RlYm9va0luc3RhbmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWNjZWxlcmF0b3JUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpNaW5pbXVtSW5zdGFuY2VNZXRhZGF0YVNlcnZpY2VWZXJzaW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FybnNcIixcblx0XHRcInNhZ2VtYWtlcjpSb290QWNjZXNzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVQaXBlbGluZVZlcnNpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGlwZWxpbmVWZXJzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6UGlwZWxpbmVWZXJzaW9uSWRcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVByb2plY3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvamVjdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlU3BhY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3BhY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpJbWFnZUFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOk93bmVyVXNlclByb2ZpbGVBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpSZW1vdGVBY2Nlc3NcIixcblx0XHRcInNhZ2VtYWtlcjpTcGFjZVNoYXJpbmdUeXBlXCIsXG5cdFx0XCJzYWdlbWFrZXI6U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlVHJhaW5pbmdKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVHJhaW5pbmdKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpFbmFibGVSZW1vdGVEZWJ1Z1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpLZWVwQWxpdmVQZXJpb2RcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVVzZXJQcm9maWxlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVVzZXJQcm9maWxlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RG9tYWluU2hhcmluZ091dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlVmVyc2lvbkFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOlN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdF07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkFjY2VsZXJhdG9yVHlwZXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBQ0NFTEVSQVRPUl9UWVBFUyA9IFwic2FnZW1ha2VyOkFjY2VsZXJhdG9yVHlwZXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpBcHBOZXR3b3JrQWNjZXNzVHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVBQX05FVFdPUktfQUNDRVNTX1RZUEUgPSBcInNhZ2VtYWtlcjpBcHBOZXR3b3JrQWNjZXNzVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkF1dGhNb2RlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBVVRIX01PREUgPSBcInNhZ2VtYWtlcjpBdXRoTW9kZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkJlYXJlclRva2VuVHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQkVBUkVSX1RPS0VOX1RZUEUgPSBcInNhZ2VtYWtlcjpCZWFyZXJUb2tlblR5cGVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpDdXJyZW50Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMvJHtNZXRhZGF0YUtleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IENVUlJFTlRfQ1VTVE9NRVJfTUVUQURBVEFfUFJPUEVSVElFUyA9XG5cdFx0XCJzYWdlbWFrZXI6Q3VycmVudEN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzLyR7TWV0YWRhdGFLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6Q3VycmVudE1vZGVsTGlmZUN5Y2xlU3RhZ2UgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IENVUlJFTlRfTU9ERUxfTElGRV9DWUNMRV9TVEFHRSA9XG5cdFx0XCJzYWdlbWFrZXI6Q3VycmVudE1vZGVsTGlmZUN5Y2xlU3RhZ2VcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpDdXJyZW50TW9kZWxMaWZlQ3ljbGVTdGFnZVN0YXR1cyAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ1VSUkVOVF9NT0RFTF9MSUZFX0NZQ0xFX1NUQUdFX1NUQVRVUyA9XG5cdFx0XCJzYWdlbWFrZXI6Q3VycmVudE1vZGVsTGlmZUN5Y2xlU3RhZ2VTdGF0dXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllcy8ke01ldGFkYXRhS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ1VTVE9NRVJfTUVUQURBVEFfUFJPUEVSVElFUyA9XG5cdFx0XCJzYWdlbWFrZXI6Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMvJHtNZXRhZGF0YUtleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllc1RvUmVtb3ZlIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ1VTVE9NRVJfTUVUQURBVEFfUFJPUEVSVElFU19UT19SRU1PVkUgPVxuXHRcdFwic2FnZW1ha2VyOkN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzVG9SZW1vdmVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpEaXJlY3RHYXRlZE1vZGVsQWNjZXNzIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBESVJFQ1RfR0FURURfTU9ERUxfQUNDRVNTID1cblx0XHRcInNhZ2VtYWtlcjpEaXJlY3RHYXRlZE1vZGVsQWNjZXNzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RGlyZWN0SW50ZXJuZXRBY2Nlc3MgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IERJUkVDVF9JTlRFUk5FVF9BQ0NFU1MgPSBcInNhZ2VtYWtlcjpEaXJlY3RJbnRlcm5ldEFjY2Vzc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkRvbWFpbklkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBET01BSU5fSUQgPSBcInNhZ2VtYWtlcjpEb21haW5JZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXkgKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IERPTUFJTl9TSEFSSU5HX09VVFBVVF9LTVNfS0VZID1cblx0XHRcInNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RG9tYWluU2hhcmluZ091dHB1dEttc0tleUFybiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRE9NQUlOX1NIQVJJTkdfT1VUUFVUX0tNU19LRVlfQVJOID1cblx0XHRcInNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5QXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RW5hYmxlUmVtb3RlRGVidWcgKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBFTkFCTEVfUkVNT1RFX0RFQlVHID0gXCJzYWdlbWFrZXI6RW5hYmxlUmVtb3RlRGVidWdcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBEaXNhYmxlR2x1ZVRhYmxlQ3JlYXRpb24gKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX0RJU0FCTEVfR0xVRV9UQUJMRV9DUkVBVElPTiA9XG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwRGlzYWJsZUdsdWVUYWJsZUNyZWF0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwRW5hYmxlT25saW5lU3RvcmUgKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX0VOQUJMRV9PTkxJTkVfU1RPUkUgPVxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cEVuYWJsZU9ubGluZVN0b3JlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlQ29uZmlnIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRkVBVFVSRV9HUk9VUF9PRkZMSU5FX1NUT1JFX0NPTkZJRyA9XG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlQ29uZmlnXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS21zS2V5IChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX09GRkxJTkVfU1RPUkVfS01TX0tFWSA9XG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS21zS2V5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS21zS2V5QXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX09GRkxJTkVfU1RPUkVfS01TX0tFWV9BUk4gPVxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUttc0tleUFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZVMzVXJpIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX09GRkxJTkVfU1RPUkVfUzNfVVJJID1cblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVTM1VyaVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9ubGluZVN0b3JlS21zS2V5IChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX09OTElORV9TVE9SRV9LTVNfS0VZID1cblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPbmxpbmVTdG9yZUttc0tleVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9ubGluZVN0b3JlS21zS2V5QXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX09OTElORV9TVE9SRV9LTVNfS0VZX0FSTiA9XG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT25saW5lU3RvcmVLbXNLZXlBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpGaWxlU3lzdGVtQWNjZXNzTW9kZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRklMRV9TWVNURU1fQUNDRVNTX01PREUgPSBcInNhZ2VtYWtlcjpGaWxlU3lzdGVtQWNjZXNzTW9kZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZpbGVTeXN0ZW1EaXJlY3RvcnlQYXRoIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBGSUxFX1NZU1RFTV9ESVJFQ1RPUllfUEFUSCA9XG5cdFx0XCJzYWdlbWFrZXI6RmlsZVN5c3RlbURpcmVjdG9yeVBhdGhcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpGaWxlU3lzdGVtSWQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZJTEVfU1lTVEVNX0lEID0gXCJzYWdlbWFrZXI6RmlsZVN5c3RlbUlkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmlsZVN5c3RlbVR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZJTEVfU1lTVEVNX1RZUEUgPSBcInNhZ2VtYWtlcjpGaWxlU3lzdGVtVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkhvbWVFZnNGaWxlU3lzdGVtS21zS2V5IChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBIT01FX0VGU19GSUxFX1NZU1RFTV9LTVNfS0VZID1cblx0XHRcInNhZ2VtYWtlcjpIb21lRWZzRmlsZVN5c3RlbUttc0tleVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkltYWdlQXJucyAoQXJyYXlPZkFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IElNQUdFX0FSTlMgPSBcInNhZ2VtYWtlcjpJbWFnZUFybnNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zIChBcnJheU9mQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSU1BR0VfVkVSU0lPTl9BUk5TID0gXCJzYWdlbWFrZXI6SW1hZ2VWZXJzaW9uQXJuc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkluc3RhbmNlVHlwZXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBJTlNUQU5DRV9UWVBFUyA9IFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSU5URVJfQ09OVEFJTkVSX1RSQUZGSUNfRU5DUllQVElPTiA9XG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOklzVXBkYXRlUmVjb3JkIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSVNfVVBEQVRFX1JFQ09SRCA9IFwic2FnZW1ha2VyOklzVXBkYXRlUmVjb3JkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6S2VlcEFsaXZlUGVyaW9kIChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgS0VFUF9BTElWRV9QRVJJT0QgPSBcInNhZ2VtYWtlcjpLZWVwQWxpdmVQZXJpb2RcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzIChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTUFYX1JVTlRJTUVfSU5fU0VDT05EUyA9IFwic2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpNaW5pbXVtSW5zdGFuY2VNZXRhZGF0YVNlcnZpY2VWZXJzaW9uIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBNSU5JTVVNX0lOU1RBTkNFX01FVEFEQVRBX1NFUlZJQ0VfVkVSU0lPTiA9XG5cdFx0XCJzYWdlbWFrZXI6TWluaW11bUluc3RhbmNlTWV0YWRhdGFTZXJ2aWNlVmVyc2lvblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOk1vZGVsQXBwcm92YWxTdGF0dXMgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1PREVMX0FQUFJPVkFMX1NUQVRVUyA9IFwic2FnZW1ha2VyOk1vZGVsQXBwcm92YWxTdGF0dXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpNb2RlbEFybiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTU9ERUxfQVJOID0gXCJzYWdlbWFrZXI6TW9kZWxBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTU9ERUxfTElGRV9DWUNMRV9TVEFHRSA9IFwic2FnZW1ha2VyOk1vZGVsTGlmZUN5Y2xlOlN0YWdlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6TW9kZWxMaWZlQ3ljbGU6U3RhZ2VTdGF0dXMgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1PREVMX0xJRkVfQ1lDTEVfU1RBR0VfU1RBVFVTID1cblx0XHRcInNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZVN0YXR1c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb24gKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBORVRXT1JLX0lTT0xBVElPTiA9IFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJucyAoQXJyYXlPZkFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IE5PVEVCT09LX0lOU1RBTkNFX0xJRkVDWUNMRV9DT05GSUdfQVJOUyA9XG5cdFx0XCJzYWdlbWFrZXI6Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FybnNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpPdXRwdXRLbXNLZXkgKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IE9VVFBVVF9LTVNfS0VZID0gXCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBPVVRQVVRfS01TX0tFWV9BUk4gPSBcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpPd25lclVzZXJQcm9maWxlQXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBPV05FUl9VU0VSX1BST0ZJTEVfQVJOID0gXCJzYWdlbWFrZXI6T3duZXJVc2VyUHJvZmlsZUFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlBpcGVsaW5lVmVyc2lvbklkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBQSVBFTElORV9WRVJTSU9OX0lEID0gXCJzYWdlbWFrZXI6UGlwZWxpbmVWZXJzaW9uSWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpSZW1vdGVBY2Nlc3MgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJFTU9URV9BQ0NFU1MgPSBcInNhZ2VtYWtlcjpSZW1vdGVBY2Nlc3NcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpSZXNvdXJjZVRhZy8gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJFU09VUkNFX1RBRyA9IFwic2FnZW1ha2VyOlJlc291cmNlVGFnL1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlJvb3RBY2Nlc3MgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJPT1RfQUNDRVNTID0gXCJzYWdlbWFrZXI6Um9vdEFjY2Vzc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlNlYXJjaFZpc2liaWxpdHlDb25kaXRpb24vJHtGaWx0ZXJLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBTRUFSQ0hfVklTSUJJTElUWV9DT05ESVRJT04gPVxuXHRcdFwic2FnZW1ha2VyOlNlYXJjaFZpc2liaWxpdHlDb25kaXRpb24vJHtGaWx0ZXJLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6U2VydmVybGVzc01heENvbmN1cnJlbmN5IChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVkVSTEVTU19NQVhfQ09OQ1VSUkVOQ1kgPVxuXHRcdFwic2FnZW1ha2VyOlNlcnZlcmxlc3NNYXhDb25jdXJyZW5jeVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlNlcnZlcmxlc3NNZW1vcnlTaXplIChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVkVSTEVTU19NRU1PUllfU0laRSA9IFwic2FnZW1ha2VyOlNlcnZlcmxlc3NNZW1vcnlTaXplXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6U3BhY2VTaGFyaW5nVHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU1BBQ0VfU0hBUklOR19UWVBFID0gXCJzYWdlbWFrZXI6U3BhY2VTaGFyaW5nVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnMgKEFycmF5T2ZBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBTVFVESU9fTElGRUNZQ0xFX0NPTkZJR19BUk5TID1cblx0XHRcInNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6VGFnZ2luZ0FjdGlvbiAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVEFHR0lOR19BQ1RJT04gPSBcInNhZ2VtYWtlcjpUYWdnaW5nQWN0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6VGFyZ2V0TW9kZWwgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRBUkdFVF9NT0RFTCA9IFwic2FnZW1ha2VyOlRhcmdldE1vZGVsXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6VXBkYXRhYmxlRmVhdHVyZXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBVUERBVEFCTEVfRkVBVFVSRVMgPSBcInNhZ2VtYWtlcjpVcGRhdGFibGVGZWF0dXJlc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlVzZXJQcm9maWxlTmFtZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVVNFUl9QUk9GSUxFX05BTUUgPSBcInNhZ2VtYWtlcjpVc2VyUHJvZmlsZU5hbWVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpWb2x1bWVLbXNLZXkgKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFZPTFVNRV9LTVNfS0VZID0gXCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBWT0xVTUVfS01TX0tFWV9BUk4gPSBcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVlBDX1NFQ1VSSVRZX0dST1VQX0lEUyA9IFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpWcGNTdWJuZXRzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVlBDX1NVQk5FVFMgPSBcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6V29ya3RlYW1Bcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFdPUktURUFNX0FSTiA9IFwic2FnZW1ha2VyOldvcmt0ZWFtQXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6V29ya3RlYW1UeXBlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBXT1JLVEVBTV9UWVBFID0gXCJzYWdlbWFrZXI6V29ya3RlYW1UeXBlXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpBY2NlbGVyYXRvclR5cGVzYC5cblx0ICovXG5cdHN0YXRpYyBhY2NlbGVyYXRvclR5cGVzKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcInNhZ2VtYWtlcjpBY2NlbGVyYXRvclR5cGVzXCI6IHZhbHVlcyB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkFwcE5ldHdvcmtBY2Nlc3NUeXBlYC5cblx0ICovXG5cdHN0YXRpYyBhcHBOZXR3b3JrQWNjZXNzVHlwZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkFwcE5ldHdvcmtBY2Nlc3NUeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6QXV0aE1vZGVgLlxuXHQgKi9cblx0c3RhdGljIGF1dGhNb2RlKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkF1dGhNb2RlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6QmVhcmVyVG9rZW5UeXBlYC5cblx0ICovXG5cdHN0YXRpYyBiZWFyZXJUb2tlblR5cGUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpCZWFyZXJUb2tlblR5cGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpDdXJyZW50Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMvJHtNZXRhZGF0YUtleX1gLlxuXHQgKi9cblx0c3RhdGljIGN1cnJlbnRDdXN0b21lck1ldGFkYXRhUHJvcGVydGllcyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFN0cmluZ0VxdWFsczoge1xuXHRcdFx0XHRcInNhZ2VtYWtlcjpDdXJyZW50Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMvJHtNZXRhZGF0YUtleX1cIjogdmFsdWUsXG5cdFx0XHR9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkN1cnJlbnRNb2RlbExpZmVDeWNsZVN0YWdlYC5cblx0ICovXG5cdHN0YXRpYyBjdXJyZW50TW9kZWxMaWZlQ3ljbGVTdGFnZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkN1cnJlbnRNb2RlbExpZmVDeWNsZVN0YWdlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6Q3VycmVudE1vZGVsTGlmZUN5Y2xlU3RhZ2VTdGF0dXNgLlxuXHQgKi9cblx0c3RhdGljIGN1cnJlbnRNb2RlbExpZmVDeWNsZVN0YWdlU3RhdHVzKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkN1cnJlbnRNb2RlbExpZmVDeWNsZVN0YWdlU3RhdHVzXCI6IHZhbHVlIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMvJHtNZXRhZGF0YUtleX1gLlxuXHQgKi9cblx0c3RhdGljIGN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7XG5cdFx0XHRcdFwic2FnZW1ha2VyOkN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzLyR7TWV0YWRhdGFLZXl9XCI6IHZhbHVlLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllc1RvUmVtb3ZlYC5cblx0ICovXG5cdHN0YXRpYyBjdXN0b21lck1ldGFkYXRhUHJvcGVydGllc1RvUmVtb3ZlKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjoge1xuXHRcdFx0XHRcInNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllc1RvUmVtb3ZlXCI6IHZhbHVlcyxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RGlyZWN0R2F0ZWRNb2RlbEFjY2Vzc2AuXG5cdCAqL1xuXHRzdGF0aWMgZGlyZWN0R2F0ZWRNb2RlbEFjY2Vzcyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkRpcmVjdEdhdGVkTW9kZWxBY2Nlc3NcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpEaXJlY3RJbnRlcm5ldEFjY2Vzc2AuXG5cdCAqL1xuXHRzdGF0aWMgZGlyZWN0SW50ZXJuZXRBY2Nlc3MoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpEaXJlY3RJbnRlcm5ldEFjY2Vzc1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkRvbWFpbklkYC5cblx0ICovXG5cdHN0YXRpYyBkb21haW5JZCh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpEb21haW5JZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXlgLlxuXHQgKi9cblx0c3RhdGljIGRvbWFpblNoYXJpbmdPdXRwdXRLTVNLZXkoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcInNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RG9tYWluU2hhcmluZ091dHB1dEttc0tleUFybmAuXG5cdCAqL1xuXHRzdGF0aWMgZG9tYWluU2hhcmluZ091dHB1dEtNU0tleUFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXlBcm5cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpFbmFibGVSZW1vdGVEZWJ1Z2AuXG5cdCAqL1xuXHRzdGF0aWMgZW5hYmxlUmVtb3RlRGVidWcoXG5cdFx0dmFsdWU6IGJvb2xlYW4sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHsgQm9vbDogeyBcInNhZ2VtYWtlcjpFbmFibGVSZW1vdGVEZWJ1Z1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZlYXR1cmVHcm91cERpc2FibGVHbHVlVGFibGVDcmVhdGlvbmAuXG5cdCAqL1xuXHRzdGF0aWMgZmVhdHVyZUdyb3VwRGlzYWJsZUdsdWVUYWJsZUNyZWF0aW9uKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRCb29sOiB7IFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cERpc2FibGVHbHVlVGFibGVDcmVhdGlvblwiOiB2YWx1ZSB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZlYXR1cmVHcm91cEVuYWJsZU9ubGluZVN0b3JlYC5cblx0ICovXG5cdHN0YXRpYyBmZWF0dXJlR3JvdXBFbmFibGVPbmxpbmVTdG9yZShcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cEVuYWJsZU9ubGluZVN0b3JlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlQ29uZmlnYC5cblx0ICovXG5cdHN0YXRpYyBmZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVDb25maWcoXG5cdFx0dmFsdWU6IGJvb2xlYW4sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHsgQm9vbDogeyBcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVDb25maWdcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVLbXNLZXlgLlxuXHQgKi9cblx0c3RhdGljIGZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUtNU0tleShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUttc0tleVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUttc0tleUFybmAuXG5cdCAqL1xuXHRzdGF0aWMgZmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS01TS2V5QVJOKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0QXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUttc0tleUFyblwiOiB2YWx1ZSB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZVMzVXJpYC5cblx0ICovXG5cdHN0YXRpYyBmZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVTM1VSSShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVTM1VyaVwiOiB2YWx1ZSB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9ubGluZVN0b3JlS21zS2V5YC5cblx0ICovXG5cdHN0YXRpYyBmZWF0dXJlR3JvdXBPbmxpbmVTdG9yZUtNU0tleShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9ubGluZVN0b3JlS21zS2V5XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT25saW5lU3RvcmVLbXNLZXlBcm5gLlxuXHQgKi9cblx0c3RhdGljIGZlYXR1cmVHcm91cE9ubGluZVN0b3JlS01TS2V5QVJOKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0QXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9ubGluZVN0b3JlS21zS2V5QXJuXCI6IHZhbHVlIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6RmlsZVN5c3RlbUFjY2Vzc01vZGVgLlxuXHQgKi9cblx0c3RhdGljIGZpbGVTeXN0ZW1BY2Nlc3NNb2RlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6RmlsZVN5c3RlbUFjY2Vzc01vZGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpGaWxlU3lzdGVtRGlyZWN0b3J5UGF0aGAuXG5cdCAqL1xuXHRzdGF0aWMgZmlsZVN5c3RlbURpcmVjdG9yeVBhdGgoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpGaWxlU3lzdGVtRGlyZWN0b3J5UGF0aFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZpbGVTeXN0ZW1JZGAuXG5cdCAqL1xuXHRzdGF0aWMgZmlsZVN5c3RlbUlkKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1JZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkZpbGVTeXN0ZW1UeXBlYC5cblx0ICovXG5cdHN0YXRpYyBmaWxlU3lzdGVtVHlwZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpGaWxlU3lzdGVtVHlwZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkhvbWVFZnNGaWxlU3lzdGVtS21zS2V5YC5cblx0ICovXG5cdHN0YXRpYyBob21lRUZTRmlsZVN5c3RlbUtNU0tleShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOkhvbWVFZnNGaWxlU3lzdGVtS21zS2V5XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6SW1hZ2VBcm5zYC5cblx0ICovXG5cdHN0YXRpYyBpbWFnZUFybnModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOkFybkVxdWFsc1wiOiB7IFwic2FnZW1ha2VyOkltYWdlQXJuc1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zYC5cblx0ICovXG5cdHN0YXRpYyBpbWFnZVZlcnNpb25Bcm5zKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpBcm5FcXVhbHNcIjogeyBcInNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zXCI6IHZhbHVlcyB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOkluc3RhbmNlVHlwZXNgLlxuXHQgKi9cblx0c3RhdGljIGluc3RhbmNlVHlwZXMoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIjogdmFsdWVzIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvbmAuXG5cdCAqL1xuXHRzdGF0aWMgaW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvbihcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpJc1VwZGF0ZVJlY29yZGAuXG5cdCAqL1xuXHRzdGF0aWMgaXNVcGRhdGVSZWNvcmQoXG5cdFx0dmFsdWU6IGJvb2xlYW4sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHsgQm9vbDogeyBcInNhZ2VtYWtlcjpJc1VwZGF0ZVJlY29yZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOktlZXBBbGl2ZVBlcmlvZGAuXG5cdCAqL1xuXHRzdGF0aWMga2VlcEFsaXZlUGVyaW9kKFxuXHRcdHZhbHVlOiBudW1iZXIsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+IHtcblx0XHRyZXR1cm4geyBOdW1lcmljRXF1YWxzOiB7IFwic2FnZW1ha2VyOktlZXBBbGl2ZVBlcmlvZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNgLlxuXHQgKi9cblx0c3RhdGljIG1heFJ1bnRpbWVJblNlY29uZHMoXG5cdFx0dmFsdWU6IG51bWJlcixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgbnVtYmVyPj4ge1xuXHRcdHJldHVybiB7IE51bWVyaWNFcXVhbHM6IHsgXCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOk1pbmltdW1JbnN0YW5jZU1ldGFkYXRhU2VydmljZVZlcnNpb25gLlxuXHQgKi9cblx0c3RhdGljIG1pbmltdW1JbnN0YW5jZU1ldGFkYXRhU2VydmljZVZlcnNpb24oXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRTdHJpbmdFcXVhbHM6IHtcblx0XHRcdFx0XCJzYWdlbWFrZXI6TWluaW11bUluc3RhbmNlTWV0YWRhdGFTZXJ2aWNlVmVyc2lvblwiOiB2YWx1ZSxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6TW9kZWxBcHByb3ZhbFN0YXR1c2AuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxBcHByb3ZhbFN0YXR1cyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOk1vZGVsQXBwcm92YWxTdGF0dXNcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpNb2RlbEFybmAuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxBUk4odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJzYWdlbWFrZXI6TW9kZWxBcm5cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZWAuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxMaWZlQ3ljbGVTdGFnZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOk1vZGVsTGlmZUN5Y2xlOlN0YWdlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6TW9kZWxMaWZlQ3ljbGU6U3RhZ2VTdGF0dXNgLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsTGlmZUN5Y2xlU3RhZ2VTdGF0dXMoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZVN0YXR1c1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25gLlxuXHQgKi9cblx0c3RhdGljIG5ldHdvcmtJc29sYXRpb24oXG5cdFx0dmFsdWU6IGJvb2xlYW4sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHsgQm9vbDogeyBcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FybnNgLlxuXHQgKi9cblx0c3RhdGljIG5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5zKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpBcm5FcXVhbHNcIjoge1xuXHRcdFx0XHRcInNhZ2VtYWtlcjpOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuc1wiOiB2YWx1ZXMsXG5cdFx0XHR9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOk91dHB1dEttc0tleWAuXG5cdCAqL1xuXHRzdGF0aWMgb3V0cHV0S01TS2V5KHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOk91dHB1dEttc0tleVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOk91dHB1dEttc0tleUFybmAuXG5cdCAqL1xuXHRzdGF0aWMgb3V0cHV0S01TS2V5QVJOKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6T3duZXJVc2VyUHJvZmlsZUFybmAuXG5cdCAqL1xuXHRzdGF0aWMgb3duZXJVc2VyUHJvZmlsZUFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic2FnZW1ha2VyOk93bmVyVXNlclByb2ZpbGVBcm5cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpQaXBlbGluZVZlcnNpb25JZGAuXG5cdCAqL1xuXHRzdGF0aWMgcGlwZWxpbmVWZXJzaW9uSWQoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpQaXBlbGluZVZlcnNpb25JZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlJlbW90ZUFjY2Vzc2AuXG5cdCAqL1xuXHRzdGF0aWMgcmVtb3RlQWNjZXNzKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOlJlbW90ZUFjY2Vzc1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlJvb3RBY2Nlc3NgLlxuXHQgKi9cblx0c3RhdGljIHJvb3RBY2Nlc3ModmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6Um9vdEFjY2Vzc1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlNlYXJjaFZpc2liaWxpdHlDb25kaXRpb24vJHtGaWx0ZXJLZXl9YC5cblx0ICovXG5cdHN0YXRpYyBzZWFyY2hWaXNpYmlsaXR5Q29uZGl0aW9uKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7XG5cdFx0XHRcdFwic2FnZW1ha2VyOlNlYXJjaFZpc2liaWxpdHlDb25kaXRpb24vJHtGaWx0ZXJLZXl9XCI6IHZhbHVlLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpTZXJ2ZXJsZXNzTWF4Q29uY3VycmVuY3lgLlxuXHQgKi9cblx0c3RhdGljIHNlcnZlcmxlc3NNYXhDb25jdXJyZW5jeShcblx0XHR2YWx1ZTogbnVtYmVyLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG5cdFx0cmV0dXJuIHsgTnVtZXJpY0VxdWFsczogeyBcInNhZ2VtYWtlcjpTZXJ2ZXJsZXNzTWF4Q29uY3VycmVuY3lcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpTZXJ2ZXJsZXNzTWVtb3J5U2l6ZWAuXG5cdCAqL1xuXHRzdGF0aWMgc2VydmVybGVzc01lbW9yeVNpemUoXG5cdFx0dmFsdWU6IG51bWJlcixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgbnVtYmVyPj4ge1xuXHRcdHJldHVybiB7IE51bWVyaWNFcXVhbHM6IHsgXCJzYWdlbWFrZXI6U2VydmVybGVzc01lbW9yeVNpemVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpTcGFjZVNoYXJpbmdUeXBlYC5cblx0ICovXG5cdHN0YXRpYyBzcGFjZVNoYXJpbmdUeXBlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6U3BhY2VTaGFyaW5nVHlwZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnNgLlxuXHQgKi9cblx0c3RhdGljIHN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnMoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOkFybkVxdWFsc1wiOiB7XG5cdFx0XHRcdFwic2FnZW1ha2VyOlN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnNcIjogdmFsdWVzLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpUYWdnaW5nQWN0aW9uYC5cblx0ICovXG5cdHN0YXRpYyB0YWdnaW5nQWN0aW9uKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic2FnZW1ha2VyOlRhZ2dpbmdBY3Rpb25cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpUYXJnZXRNb2RlbGAuXG5cdCAqL1xuXHRzdGF0aWMgdGFyZ2V0TW9kZWwodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6VGFyZ2V0TW9kZWxcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpVcGRhdGFibGVGZWF0dXJlc2AuXG5cdCAqL1xuXHRzdGF0aWMgdXBkYXRhYmxlRmVhdHVyZXMoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwic2FnZW1ha2VyOlVwZGF0YWJsZUZlYXR1cmVzXCI6IHZhbHVlcyB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlVzZXJQcm9maWxlTmFtZWAuXG5cdCAqL1xuXHRzdGF0aWMgdXNlclByb2ZpbGVOYW1lKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzYWdlbWFrZXI6VXNlclByb2ZpbGVOYW1lXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6Vm9sdW1lS21zS2V5YC5cblx0ICovXG5cdHN0YXRpYyB2b2x1bWVLTVNLZXkodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuYC5cblx0ICovXG5cdHN0YXRpYyB2b2x1bWVLTVNLZXlBUk4oXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzYC5cblx0ICovXG5cdHN0YXRpYyB2cGNTZWN1cml0eUdyb3VwSWRzKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCI6IHZhbHVlcyB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc2FnZW1ha2VyOlZwY1N1Ym5ldHNgLlxuXHQgKi9cblx0c3RhdGljIHZwY1N1Ym5ldHMoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpXb3JrdGVhbUFybmAuXG5cdCAqL1xuXHRzdGF0aWMgd29ya3RlYW1BUk4odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJzYWdlbWFrZXI6V29ya3RlYW1Bcm5cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNhZ2VtYWtlcjpXb3JrdGVhbVR5cGVgLlxuXHQgKi9cblx0c3RhdGljIHdvcmt0ZWFtVHlwZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNhZ2VtYWtlcjpXb3JrdGVhbVR5cGVcIjogdmFsdWUgfSB9O1xuXHR9XG59XG4iXX0=
|