@cdk_utils/iam 1.16.0 → 1.17.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 +1932 -1502
- package/lib/generated/services/a2c.js +1 -1
- package/lib/generated/services/a4b.js +3 -3
- package/lib/generated/services/access-analyzer.js +4 -4
- package/lib/generated/services/account-access.js +4 -4
- package/lib/generated/services/account.js +4 -4
- package/lib/generated/services/acm-pca.js +4 -4
- package/lib/generated/services/acm.js +4 -4
- package/lib/generated/services/aco-automation.js +4 -4
- package/lib/generated/services/action-recommendations.js +1 -1
- package/lib/generated/services/activate.js +1 -1
- package/lib/generated/services/agent-registry.js +4 -4
- package/lib/generated/services/agentaccess-mcp.js +2 -2
- package/lib/generated/services/aidevops.js +4 -4
- package/lib/generated/services/aiops.js +4 -4
- package/lib/generated/services/airflow-serverless.js +4 -4
- package/lib/generated/services/airflow.js +4 -4
- package/lib/generated/services/amplify.js +4 -4
- package/lib/generated/services/amplifybackend.js +3 -3
- package/lib/generated/services/amplifyuibuilder.js +4 -4
- package/lib/generated/services/aoss.js +4 -4
- package/lib/generated/services/apigateway.js +4 -4
- package/lib/generated/services/app-integrations.js +4 -4
- package/lib/generated/services/appconfig.js +4 -4
- package/lib/generated/services/appfabric.js +4 -4
- package/lib/generated/services/appflow.js +4 -4
- package/lib/generated/services/application-autoscaling.js +4 -4
- package/lib/generated/services/application-signals-mcp.js +3 -3
- package/lib/generated/services/application-signals.js +4 -4
- package/lib/generated/services/application-transformation.js +1 -1
- package/lib/generated/services/applicationinsights.js +3 -3
- package/lib/generated/services/appmesh-preview.js +2 -2
- package/lib/generated/services/appmesh.js +4 -4
- package/lib/generated/services/apprunner.js +4 -4
- package/lib/generated/services/appstream.js +4 -4
- package/lib/generated/services/appstudio.js +2 -2
- package/lib/generated/services/appsync.js +4 -4
- package/lib/generated/services/apptest.js +3 -3
- package/lib/generated/services/aps.js +4 -4
- package/lib/generated/services/arc-region-switch.js +4 -4
- package/lib/generated/services/arc-zonal-shift.js +4 -4
- package/lib/generated/services/arsenal.js +1 -1
- package/lib/generated/services/artifact.js +4 -4
- package/lib/generated/services/athena.js +4 -4
- package/lib/generated/services/auditmanager.js +4 -4
- package/lib/generated/services/autoscaling-plans.js +2 -2
- package/lib/generated/services/autoscaling.js +4 -4
- package/lib/generated/services/aws-external-anthropic.js +3 -3
- package/lib/generated/services/aws-marketplace-management.js +1 -1
- package/lib/generated/services/aws-marketplace.js +4 -4
- package/lib/generated/services/aws-portal.js +1 -1
- package/lib/generated/services/awsconnector.js +1 -1
- package/lib/generated/services/b2bi.js +4 -4
- package/lib/generated/services/backup-gateway.js +4 -4
- package/lib/generated/services/backup-search.js +4 -4
- package/lib/generated/services/backup-storage.js +1 -1
- package/lib/generated/services/backup.js +4 -4
- package/lib/generated/services/batch.js +4 -4
- package/lib/generated/services/bcm-dashboards.js +4 -4
- package/lib/generated/services/bcm-data-exports.js +4 -4
- package/lib/generated/services/bcm-pricing-calculator.js +4 -4
- package/lib/generated/services/bcm-recommended-actions.js +2 -2
- package/lib/generated/services/bedrock-agentcore.js +4 -4
- 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 +4 -4
- package/lib/generated/services/codedeploy-commands-secure.js +1 -1
- package/lib/generated/services/codedeploy.js +4 -4
- package/lib/generated/services/codeguru-profiler.js +4 -4
- package/lib/generated/services/codeguru-reviewer.js +4 -4
- package/lib/generated/services/codeguru-security.js +4 -4
- package/lib/generated/services/codeguru.js +1 -1
- package/lib/generated/services/codepipeline.js +4 -4
- package/lib/generated/services/codestar-connections.js +4 -4
- package/lib/generated/services/codestar-notifications.js +4 -4
- package/lib/generated/services/codestar.js +3 -3
- package/lib/generated/services/codewhisperer.js +3 -3
- package/lib/generated/services/cognito-identity.js +4 -4
- package/lib/generated/services/cognito-idp.js +4 -4
- package/lib/generated/services/cognito-sync.js +3 -3
- package/lib/generated/services/comprehend.js +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 +8 -6
- package/lib/generated/services/health-agent.js +4 -4
- package/lib/generated/services/health.js +4 -4
- package/lib/generated/services/healthlake.js +4 -4
- package/lib/generated/services/honeycode.js +2 -2
- package/lib/generated/services/iam.js +4 -4
- package/lib/generated/services/identity-sync.js +2 -2
- package/lib/generated/services/identitystore-auth.js +1 -1
- package/lib/generated/services/identitystore.js +4 -4
- package/lib/generated/services/imagebuilder.js +4 -4
- package/lib/generated/services/importexport.js +2 -2
- package/lib/generated/services/inspector-scan.js +2 -2
- package/lib/generated/services/inspector.js +2 -2
- package/lib/generated/services/inspector2-telemetry.js +1 -1
- package/lib/generated/services/inspector2.js +4 -4
- package/lib/generated/services/interconnect.js +4 -4
- package/lib/generated/services/internetmonitor.js +4 -4
- package/lib/generated/services/invoicing.js +4 -4
- package/lib/generated/services/iot-device-tester.js +1 -1
- package/lib/generated/services/iot.js +4 -4
- package/lib/generated/services/iotanalytics.js +3 -3
- package/lib/generated/services/iotdeviceadvisor.js +4 -4
- package/lib/generated/services/iotevents.js +3 -3
- package/lib/generated/services/iotfleethub.js +3 -3
- package/lib/generated/services/iotfleetwise.js +4 -4
- package/lib/generated/services/iotjobsdata.js +4 -4
- package/lib/generated/services/iotmanagedintegrations.js +4 -4
- package/lib/generated/services/iotsitewise.js +4 -4
- package/lib/generated/services/iottwinmaker.js +4 -4
- package/lib/generated/services/iotwireless.js +4 -4
- package/lib/generated/services/iq-permission.js +2 -2
- package/lib/generated/services/iq.js +2 -2
- package/lib/generated/services/ivs.js +4 -4
- package/lib/generated/services/ivschat.js +4 -4
- package/lib/generated/services/kafka-cluster.js +3 -3
- package/lib/generated/services/kafka.js +4 -4
- package/lib/generated/services/kafkaconnect.js +4 -4
- package/lib/generated/services/kendra-ranking.js +4 -4
- package/lib/generated/services/kendra.js +4 -4
- package/lib/generated/services/kinesis.js +4 -4
- package/lib/generated/services/kinesisanalytics.js +4 -4
- package/lib/generated/services/kinesisvideo.js +4 -4
- package/lib/generated/services/kms.js +4 -4
- package/lib/generated/services/lakeformation.js +3 -3
- package/lib/generated/services/lambda.js +4 -4
- package/lib/generated/services/launchwizard.js +4 -4
- package/lib/generated/services/lex.js +4 -4
- package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
- package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
- package/lib/generated/services/license-manager.js +4 -4
- package/lib/generated/services/lightsail.js +4 -4
- package/lib/generated/services/logs.js +4 -4
- package/lib/generated/services/lookoutequipment.js +4 -4
- package/lib/generated/services/lookoutmetrics.js +3 -3
- package/lib/generated/services/lookoutvision.js +3 -3
- package/lib/generated/services/m2.js +4 -4
- package/lib/generated/services/machinelearning.js +3 -3
- package/lib/generated/services/macie2.js +4 -4
- package/lib/generated/services/managedblockchain-query.js +2 -2
- package/lib/generated/services/managedblockchain.js +4 -4
- package/lib/generated/services/mapcredits.js +2 -2
- package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
- package/lib/generated/services/mechanicalturk.js +2 -2
- package/lib/generated/services/mediaconnect.js +4 -4
- package/lib/generated/services/mediaconvert.js +4 -4
- package/lib/generated/services/mediaimport.js +1 -1
- package/lib/generated/services/medialive.js +4 -4
- package/lib/generated/services/mediapackage-vod.js +4 -4
- package/lib/generated/services/mediapackage.js +4 -4
- package/lib/generated/services/mediapackagev2.js +4 -4
- package/lib/generated/services/mediastore.js +4 -4
- package/lib/generated/services/mediatailor.js +4 -4
- package/lib/generated/services/medical-imaging.js +4 -4
- package/lib/generated/services/memorydb.js +4 -4
- package/lib/generated/services/mgh.js +4 -4
- package/lib/generated/services/mgn.js +4 -4
- package/lib/generated/services/migrationhub-orchestrator.js +4 -4
- package/lib/generated/services/migrationhub-strategy.js +2 -2
- package/lib/generated/services/mobileanalytics.js +1 -1
- package/lib/generated/services/mobiletargeting.js +4 -4
- package/lib/generated/services/monitron.js +3 -3
- package/lib/generated/services/mpa.js +4 -4
- package/lib/generated/services/mq.js +4 -4
- package/lib/generated/services/neptune-db.js +4 -4
- package/lib/generated/services/neptune-graph.js +4 -4
- package/lib/generated/services/network-firewall.js +4 -4
- package/lib/generated/services/network-security-director.js +1 -1
- package/lib/generated/services/networkflowmonitor.js +4 -4
- package/lib/generated/services/networkmanager-chat.js +1 -1
- package/lib/generated/services/networkmanager.js +4 -4
- package/lib/generated/services/networkmonitor.js +4 -4
- package/lib/generated/services/nimble.js +3 -3
- package/lib/generated/services/notifications-contacts.js +4 -4
- package/lib/generated/services/notifications.js +4 -4
- package/lib/generated/services/nova-act.js +3 -3
- package/lib/generated/services/oam.js +4 -4
- package/lib/generated/services/observabilityadmin.js +4 -4
- package/lib/generated/services/odb.d.ts +2 -0
- package/lib/generated/services/odb.js +7 -5
- 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.js +4 -4
- package/lib/generated/services/proton.js +4 -4
- package/lib/generated/services/purchase-orders.js +3 -3
- package/lib/generated/services/q.js +3 -3
- package/lib/generated/services/qapps.js +4 -4
- package/lib/generated/services/qbusiness.js +4 -4
- package/lib/generated/services/qdeveloper.js +3 -3
- package/lib/generated/services/qldb.js +3 -3
- package/lib/generated/services/quicksight.d.ts +55 -0
- package/lib/generated/services/quicksight.js +58 -5
- 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 +2 -0
- package/lib/generated/services/sagemaker.js +7 -5
- 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.17.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
SageMakerActions.SERVICE_PREFIX = "sagemaker";
|
|
22
22
|
/** [Read] sagemaker:AccessModelPackage */
|
|
@@ -3514,7 +3514,7 @@ class SageMakerResources {
|
|
|
3514
3514
|
}
|
|
3515
3515
|
exports.SageMakerResources = SageMakerResources;
|
|
3516
3516
|
_b = JSII_RTTI_SYMBOL_1;
|
|
3517
|
-
SageMakerResources[_b] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerResources", version: "1.
|
|
3517
|
+
SageMakerResources[_b] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerResources", version: "1.17.0" };
|
|
3518
3518
|
/**
|
|
3519
3519
|
* API operation to required IAM actions mapping for sagemaker.
|
|
3520
3520
|
*/
|
|
@@ -3522,7 +3522,7 @@ class SageMakerOperations {
|
|
|
3522
3522
|
}
|
|
3523
3523
|
exports.SageMakerOperations = SageMakerOperations;
|
|
3524
3524
|
_c = JSII_RTTI_SYMBOL_1;
|
|
3525
|
-
SageMakerOperations[_c] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerOperations", version: "1.
|
|
3525
|
+
SageMakerOperations[_c] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerOperations", version: "1.17.0" };
|
|
3526
3526
|
/** IAM actions required for the AddAssociation API call. */
|
|
3527
3527
|
SageMakerOperations.AddAssociation = ["sagemaker:AddAssociation"];
|
|
3528
3528
|
/** IAM actions required for the AddTags API call. */
|
|
@@ -5013,6 +5013,8 @@ SageMakerOperations.UpdateProject = [
|
|
|
5013
5013
|
"sagemaker:AddTags",
|
|
5014
5014
|
"sagemaker:UpdateProject",
|
|
5015
5015
|
];
|
|
5016
|
+
/** IAM actions required for the UpdateRecord API call. */
|
|
5017
|
+
SageMakerOperations.UpdateRecord = [];
|
|
5016
5018
|
/** IAM actions required for the UpdateReward API call. */
|
|
5017
5019
|
SageMakerOperations.UpdateReward = [
|
|
5018
5020
|
"sagemaker:CallWithBearerToken",
|
|
@@ -5488,7 +5490,7 @@ class SageMakerConditions {
|
|
|
5488
5490
|
}
|
|
5489
5491
|
exports.SageMakerConditions = SageMakerConditions;
|
|
5490
5492
|
_d = JSII_RTTI_SYMBOL_1;
|
|
5491
|
-
SageMakerConditions[_d] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerConditions", version: "1.
|
|
5493
|
+
SageMakerConditions[_d] = { fqn: "@cdk_utils/iam.sagemaker.SageMakerConditions", version: "1.17.0" };
|
|
5492
5494
|
/** Condition keys applicable to the AddTags action. */
|
|
5493
5495
|
SageMakerConditions.AddTagsConditionKeys = [
|
|
5494
5496
|
"aws:RequestTag/${TagKey}",
|
|
@@ -6246,4 +6248,4 @@ SageMakerConditions.VPC_SUBNETS = "sagemaker:VpcSubnets";
|
|
|
6246
6248
|
SageMakerConditions.WORKTEAM_ARN = "sagemaker:WorkteamArn";
|
|
6247
6249
|
/** Condition key: sagemaker:WorkteamType (String) */
|
|
6248
6250
|
SageMakerConditions.WORKTEAM_TYPE = "sagemaker:WorkteamType";
|
|
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=
|
|
6251
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FnZW1ha2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9zYWdlbWFrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCxnREFBZ0Q7QUFDaEQsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsZ0JBQWdCOztBQUE3Qiw0Q0E2OENDOzs7QUE1OENBLDhCQUE4QjtBQUNkLCtCQUFjLEdBQUcsV0FBVyxDQUFDO0FBRTdDLDBDQUEwQztBQUMxQixtQ0FBa0IsR0FBRyw4QkFBOEIsQ0FBQztBQUNwRSx1Q0FBdUM7QUFDdkIsK0JBQWMsR0FBRywwQkFBMEIsQ0FBQztBQUM1RCxrQ0FBa0M7QUFDbEIsd0JBQU8sR0FBRyxtQkFBbUIsQ0FBQztBQUM5QyxnREFBZ0Q7QUFDaEMsd0NBQXVCLEdBQUcsbUNBQW1DLENBQUM7QUFDOUUsZ0RBQWdEO0FBQ2hDLHdDQUF1QixHQUFHLG1DQUFtQyxDQUFDO0FBQzlFLDZDQUE2QztBQUM3QixxQ0FBb0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN4RSxnREFBZ0Q7QUFDaEMsd0NBQXVCLEdBQUcsbUNBQW1DLENBQUM7QUFDOUUsaURBQWlEO0FBQ2pDLDBDQUF5QixHQUN4QyxxQ0FBcUMsQ0FBQztBQUN2Qyx1Q0FBdUM7QUFDdkIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCxzQ0FBc0M7QUFDdEIsK0JBQWMsR0FBRywwQkFBMEIsQ0FBQztBQUM1RCx3Q0FBd0M7QUFDeEIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCxnREFBZ0Q7QUFDaEMsd0NBQXVCLEdBQUcsbUNBQW1DLENBQUM7QUFDOUUsaURBQWlEO0FBQ2pDLHlDQUF3QixHQUN2QyxvQ0FBb0MsQ0FBQztBQUN0Qyx5Q0FBeUM7QUFDekIsaUNBQWdCLEdBQUcsNEJBQTRCLENBQUM7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QyxzREFBc0Q7QUFDdEMsa0NBQWMsR0FBRyx5QkFBeUIsQ0FBQztBQUMzRCxvREFBb0Q7QUFDcEMsZ0NBQVksR0FBRyx1QkFBdUIsQ0FBQztBQUN2RCxpRUFBaUU7QUFDakQsc0NBQWtCLEdBQUcsNkJBQTZCLENBQUM7QUFDbkUsd0RBQXdEO0FBQ3hDLHFDQUFpQixHQUFHLDJCQUEyQixDQUFDO0FBQ2hFLGtEQUFrRDtBQUNsQyxrQ0FBYyxHQUFHLHdCQUF3QixDQUFDO0FBQzFELHFEQUFxRDtBQUNyQyxzQ0FBa0IsR0FBRywyQkFBMkIsQ0FBQztBQUNqRSxtRUFBbUU7QUFDbkQsMENBQXNCLEdBQUcsK0JBQStCLENBQUM7QUFDekUsMERBQTBEO0FBQzFDLCtCQUFXLEdBQUcsc0JBQXNCLENBQUM7QUFDckQsaURBQWlEO0FBQ2pDLGdDQUFZLEdBQUcsdUJBQXVCLENBQUM7QUFDdkQscURBQXFEO0FBQ3JDLGlDQUFhLEdBQUcsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9zYWdlbWFrZXIuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIHNhZ2VtYWtlciBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgU2FnZU1ha2VyQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcInNhZ2VtYWtlclwiO1xuXG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkFjY2Vzc01vZGVsUGFja2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWNjZXNzTW9kZWxQYWNrYWdlID0gXCJzYWdlbWFrZXI6QWNjZXNzTW9kZWxQYWNrYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpBZGRBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkQXNzb2NpYXRpb24gPSBcInNhZ2VtYWtlcjpBZGRBc3NvY2lhdGlvblwiO1xuXHQvKiogW1RhZ2dpbmddIHNhZ2VtYWtlcjpBZGRUYWdzICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRUYWdzID0gXCJzYWdlbWFrZXI6QWRkVGFnc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6QXNzb2NpYXRlVHJpYWxDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZVRyaWFsQ29tcG9uZW50ID0gXCJzYWdlbWFrZXI6QXNzb2NpYXRlVHJpYWxDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkF0dGFjaENsdXN0ZXJOb2RlVm9sdW1lICovXG5cdHN0YXRpYyByZWFkb25seSBBdHRhY2hDbHVzdGVyTm9kZVZvbHVtZSA9IFwic2FnZW1ha2VyOkF0dGFjaENsdXN0ZXJOb2RlVm9sdW1lXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpCYXRjaEFkZENsdXN0ZXJOb2RlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hBZGRDbHVzdGVyTm9kZXMgPSBcInNhZ2VtYWtlcjpCYXRjaEFkZENsdXN0ZXJOb2Rlc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6QmF0Y2hEZWxldGVDbHVzdGVyTm9kZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzID0gXCJzYWdlbWFrZXI6QmF0Y2hEZWxldGVDbHVzdGVyTm9kZXNcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6QmF0Y2hEZXNjcmliZU1vZGVsUGFja2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZXNjcmliZU1vZGVsUGFja2FnZSA9XG5cdFx0XCJzYWdlbWFrZXI6QmF0Y2hEZXNjcmliZU1vZGVsUGFja2FnZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpCYXRjaEdldE1ldHJpY3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0TWV0cmljcyA9IFwic2FnZW1ha2VyOkJhdGNoR2V0TWV0cmljc1wiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpCYXRjaEdldFJlY29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRSZWNvcmQgPSBcInNhZ2VtYWtlcjpCYXRjaEdldFJlY29yZFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6QmF0Y2hQdXRNZXRyaWNzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFB1dE1ldHJpY3MgPSBcInNhZ2VtYWtlcjpCYXRjaFB1dE1ldHJpY3NcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkJhdGNoUmVib290Q2x1c3Rlck5vZGVzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFJlYm9vdENsdXN0ZXJOb2RlcyA9IFwic2FnZW1ha2VyOkJhdGNoUmVib290Q2x1c3Rlck5vZGVzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpCYXRjaFJlcGxhY2VDbHVzdGVyTm9kZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoUmVwbGFjZUNsdXN0ZXJOb2RlcyA9XG5cdFx0XCJzYWdlbWFrZXI6QmF0Y2hSZXBsYWNlQ2x1c3Rlck5vZGVzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpCYXRjaFdyaXRlUmVjb3JkICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFdyaXRlUmVjb3JkID0gXCJzYWdlbWFrZXI6QmF0Y2hXcml0ZVJlY29yZFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q2FsbE1sZmxvd0FwcEFwaSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FsbE1sZmxvd0FwcEFwaSA9IFwic2FnZW1ha2VyOkNhbGxNbGZsb3dBcHBBcGlcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNhbGxQYXJ0bmVyQXBwQXBpICovXG5cdHN0YXRpYyByZWFkb25seSBDYWxsUGFydG5lckFwcEFwaSA9IFwic2FnZW1ha2VyOkNhbGxQYXJ0bmVyQXBwQXBpXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkNhbGxXaXRoQmVhcmVyVG9rZW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbGxXaXRoQmVhcmVyVG9rZW4gPSBcInNhZ2VtYWtlcjpDYWxsV2l0aEJlYXJlclRva2VuXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDb21wbGV0ZVJvbGxvdXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbXBsZXRlUm9sbG91dCA9IFwic2FnZW1ha2VyOkNvbXBsZXRlUm9sbG91dFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQUlCZW5jaG1hcmtKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFJQmVuY2htYXJrSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlQUlCZW5jaG1hcmtKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUFJUmVjb21tZW5kYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFJUmVjb21tZW5kYXRpb25Kb2IgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFJUmVjb21tZW5kYXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUFJV29ya2xvYWRDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFJV29ya2xvYWRDb25maWcgPSBcInNhZ2VtYWtlcjpDcmVhdGVBSVdvcmtsb2FkQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVBY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFjdGlvbiA9IFwic2FnZW1ha2VyOkNyZWF0ZUFjdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQWxnb3JpdGhtICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBbGdvcml0aG0gPSBcInNhZ2VtYWtlcjpDcmVhdGVBbGdvcml0aG1cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUFwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwID0gXCJzYWdlbWFrZXI6Q3JlYXRlQXBwXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVBcHBJbWFnZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwSW1hZ2VDb25maWcgPSBcInNhZ2VtYWtlcjpDcmVhdGVBcHBJbWFnZUNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQXJ0aWZhY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFydGlmYWN0ID0gXCJzYWdlbWFrZXI6Q3JlYXRlQXJ0aWZhY3RcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUF1dG9NTEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b01MSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlQXV0b01MSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVBdXRvTUxKb2JWMiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b01MSm9iVjIgPSBcInNhZ2VtYWtlcjpDcmVhdGVBdXRvTUxKb2JWMlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQ2x1c3RlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2x1c3RlciA9IFwic2FnZW1ha2VyOkNyZWF0ZUNsdXN0ZXJcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUNvZGVSZXBvc2l0b3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb2RlUmVwb3NpdG9yeSA9IFwic2FnZW1ha2VyOkNyZWF0ZUNvZGVSZXBvc2l0b3J5XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVDb21waWxhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29tcGlsYXRpb25Kb2IgPSBcInNhZ2VtYWtlcjpDcmVhdGVDb21waWxhdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlQ29tcHV0ZVF1b3RhICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb21wdXRlUXVvdGEgPSBcInNhZ2VtYWtlcjpDcmVhdGVDb21wdXRlUXVvdGFcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUNvbnRleHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbnRleHQgPSBcInNhZ2VtYWtlcjpDcmVhdGVDb250ZXh0XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVEZXZpY2VGbGVldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGV2aWNlRmxlZXQgPSBcInNhZ2VtYWtlcjpDcmVhdGVEZXZpY2VGbGVldFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlRG9tYWluICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEb21haW4gPSBcInNhZ2VtYWtlcjpDcmVhdGVEb21haW5cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUVkZ2VEZXBsb3ltZW50UGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRWRnZURlcGxveW1lbnRQbGFuID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVFZGdlRGVwbG95bWVudFBsYW5cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUVkZ2VEZXBsb3ltZW50U3RhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVkZ2VEZXBsb3ltZW50U3RhZ2UgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUVkZ2VEZXBsb3ltZW50U3RhZ2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUVkZ2VQYWNrYWdpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVkZ2VQYWNrYWdpbmdKb2IgPSBcInNhZ2VtYWtlcjpDcmVhdGVFZGdlUGFja2FnaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW5kcG9pbnQgPSBcInNhZ2VtYWtlcjpDcmVhdGVFbmRwb2ludFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlRW5kcG9pbnRDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZHBvaW50Q29uZmlnID0gXCJzYWdlbWFrZXI6Q3JlYXRlRW5kcG9pbnRDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUV4cGVyaW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV4cGVyaW1lbnQgPSBcInNhZ2VtYWtlcjpDcmVhdGVFeHBlcmltZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVGZWF0dXJlR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZlYXR1cmVHcm91cCA9IFwic2FnZW1ha2VyOkNyZWF0ZUZlYXR1cmVHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlRmxvd0RlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsb3dEZWZpbml0aW9uID0gXCJzYWdlbWFrZXI6Q3JlYXRlRmxvd0RlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUh1YiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHViID0gXCJzYWdlbWFrZXI6Q3JlYXRlSHViXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkNyZWF0ZUh1YkNvbnRlbnRQcmVzaWduZWRVcmxzICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdWJDb250ZW50UHJlc2lnbmVkVXJscyA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSHViQ29udGVudFByZXNpZ25lZFVybHNcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUh1YkNvbnRlbnRSZWZlcmVuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh1YkNvbnRlbnRSZWZlcmVuY2UgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUh1YkNvbnRlbnRSZWZlcmVuY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUh1bWFuVGFza1VpICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdW1hblRhc2tVaSA9IFwic2FnZW1ha2VyOkNyZWF0ZUh1bWFuVGFza1VpXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVJbWFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW1hZ2UgPSBcInNhZ2VtYWtlcjpDcmVhdGVJbWFnZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlSW1hZ2VWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbWFnZVZlcnNpb24gPSBcInNhZ2VtYWtlcjpDcmVhdGVJbWFnZVZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUluZmVyZW5jZUNvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlQ29tcG9uZW50ID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUluZmVyZW5jZUV4cGVyaW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZUV4cGVyaW1lbnQgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUluZmVyZW5jZUV4cGVyaW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVMYWJlbGluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTGFiZWxpbmdKb2IgPSBcInNhZ2VtYWtlcjpDcmVhdGVMYWJlbGluZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTGluZWFnZUdyb3VwUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMaW5lYWdlR3JvdXBQb2xpY3kgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUxpbmVhZ2VHcm91cFBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTWxmbG93QXBwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNbGZsb3dBcHAgPSBcInNhZ2VtYWtlcjpDcmVhdGVNbGZsb3dBcHBcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU1sZmxvd1RyYWNraW5nU2VydmVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNbGZsb3dUcmFja2luZ1NlcnZlciA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbCA9IFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVNb2RlbENhcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQ2FyZCA9IFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsQ2FyZFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTW9kZWxDYXJkRXhwb3J0Sm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbENhcmRFeHBvcnRKb2IgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsQ2FyZEV4cG9ydEpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTW9kZWxQYWNrYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbFBhY2thZ2UgPSBcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbFBhY2thZ2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZU1vZGVsUGFja2FnZUdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbFBhY2thZ2VHcm91cCA9IFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsUGFja2FnZUdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVNb25pdG9yaW5nU2NoZWR1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vbml0b3JpbmdTY2hlZHVsZSA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVOb3RlYm9va0luc3RhbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVOb3RlYm9va0luc3RhbmNlID0gXCJzYWdlbWFrZXI6Q3JlYXRlTm90ZWJvb2tJbnN0YW5jZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlT3B0aW1pemF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVPcHRpbWl6YXRpb25Kb2IgPSBcInNhZ2VtYWtlcjpDcmVhdGVPcHRpbWl6YXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVBhcnRuZXJBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBhcnRuZXJBcHAgPSBcInNhZ2VtYWtlcjpDcmVhdGVQYXJ0bmVyQXBwXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVQYXJ0bmVyQXBwUHJlc2lnbmVkVXJsICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXJ0bmVyQXBwUHJlc2lnbmVkVXJsID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQYXJ0bmVyQXBwUHJlc2lnbmVkVXJsXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVQaXBlbGluZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGlwZWxpbmUgPSBcInNhZ2VtYWtlcjpDcmVhdGVQaXBlbGluZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlUHJlc2lnbmVkRG9tYWluVXJsICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcmVzaWduZWREb21haW5VcmwgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZERvbWFpblVybFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlUHJlc2lnbmVkTWxmbG93QXBwVXJsICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcmVzaWduZWRNbGZsb3dBcHBVcmwgPVxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZE1sZmxvd0FwcFVybFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlUHJlc2lnbmVkTWxmbG93VHJhY2tpbmdTZXJ2ZXJVcmwgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByZXNpZ25lZE1sZmxvd1RyYWNraW5nU2VydmVyVXJsID1cblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcmVzaWduZWRNbGZsb3dUcmFja2luZ1NlcnZlclVybFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlUHJlc2lnbmVkTm90ZWJvb2tJbnN0YW5jZVVybCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJlc2lnbmVkTm90ZWJvb2tJbnN0YW5jZVVybCA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUHJlc2lnbmVkTm90ZWJvb2tJbnN0YW5jZVVybFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlUHJvY2Vzc2luZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvY2Vzc2luZ0pvYiA9IFwic2FnZW1ha2VyOkNyZWF0ZVByb2Nlc3NpbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVByb2plY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb2plY3QgPSBcInNhZ2VtYWtlcjpDcmVhdGVQcm9qZWN0XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVSZXNlcnZlZENhcGFjaXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNlcnZlZENhcGFjaXR5ID0gXCJzYWdlbWFrZXI6Q3JlYXRlUmVzZXJ2ZWRDYXBhY2l0eVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlU2hhcmVkTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNoYXJlZE1vZGVsID0gXCJzYWdlbWFrZXI6Q3JlYXRlU2hhcmVkTW9kZWxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVNwYWNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTcGFjZSA9IFwic2FnZW1ha2VyOkNyZWF0ZVNwYWNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVTdHVkaW9MaWZlY3ljbGVDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyA9XG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVUcmFpbmluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJhaW5pbmdKb2IgPSBcInNhZ2VtYWtlcjpDcmVhdGVUcmFpbmluZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlVHJhaW5pbmdQbGFuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmFpbmluZ1BsYW4gPSBcInNhZ2VtYWtlcjpDcmVhdGVUcmFpbmluZ1BsYW5cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVRyYW5zZm9ybUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJhbnNmb3JtSm9iID0gXCJzYWdlbWFrZXI6Q3JlYXRlVHJhbnNmb3JtSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVUcmlhbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJpYWwgPSBcInNhZ2VtYWtlcjpDcmVhdGVUcmlhbFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlVHJpYWxDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyaWFsQ29tcG9uZW50ID0gXCJzYWdlbWFrZXI6Q3JlYXRlVHJpYWxDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkNyZWF0ZVVzZXJQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVVc2VyUHJvZmlsZSA9IFwic2FnZW1ha2VyOkNyZWF0ZVVzZXJQcm9maWxlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpDcmVhdGVXb3JrZm9yY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmtmb3JjZSA9IFwic2FnZW1ha2VyOkNyZWF0ZVdvcmtmb3JjZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6Q3JlYXRlV29ya3RlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdvcmt0ZWFtID0gXCJzYWdlbWFrZXI6Q3JlYXRlV29ya3RlYW1cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUFJQmVuY2htYXJrSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBSUJlbmNobWFya0pvYiA9IFwic2FnZW1ha2VyOkRlbGV0ZUFJQmVuY2htYXJrSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVBSVJlY29tbWVuZGF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBSVJlY29tbWVuZGF0aW9uSm9iID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVBSVJlY29tbWVuZGF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVBSVdvcmtsb2FkQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBSVdvcmtsb2FkQ29uZmlnID0gXCJzYWdlbWFrZXI6RGVsZXRlQUlXb3JrbG9hZENvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBY3Rpb24gPSBcInNhZ2VtYWtlcjpEZWxldGVBY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUFsZ29yaXRobSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWxnb3JpdGhtID0gXCJzYWdlbWFrZXI6RGVsZXRlQWxnb3JpdGhtXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcCA9IFwic2FnZW1ha2VyOkRlbGV0ZUFwcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQXBwSW1hZ2VDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcEltYWdlQ29uZmlnID0gXCJzYWdlbWFrZXI6RGVsZXRlQXBwSW1hZ2VDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUFydGlmYWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcnRpZmFjdCA9IFwic2FnZW1ha2VyOkRlbGV0ZUFydGlmYWN0XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXNzb2NpYXRpb24gPSBcInNhZ2VtYWtlcjpEZWxldGVBc3NvY2lhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQ2x1c3RlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2x1c3RlciA9IFwic2FnZW1ha2VyOkRlbGV0ZUNsdXN0ZXJcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUNvZGVSZXBvc2l0b3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb2RlUmVwb3NpdG9yeSA9IFwic2FnZW1ha2VyOkRlbGV0ZUNvZGVSZXBvc2l0b3J5XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVDb21waWxhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29tcGlsYXRpb25Kb2IgPSBcInNhZ2VtYWtlcjpEZWxldGVDb21waWxhdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlQ29tcHV0ZVF1b3RhICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb21wdXRlUXVvdGEgPSBcInNhZ2VtYWtlcjpEZWxldGVDb21wdXRlUXVvdGFcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUNvbnRleHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbnRleHQgPSBcInNhZ2VtYWtlcjpEZWxldGVDb250ZXh0XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVEZXZpY2VGbGVldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGV2aWNlRmxlZXQgPSBcInNhZ2VtYWtlcjpEZWxldGVEZXZpY2VGbGVldFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlRG9tYWluICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEb21haW4gPSBcInNhZ2VtYWtlcjpEZWxldGVEb21haW5cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUVkZ2VEZXBsb3ltZW50UGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRWRnZURlcGxveW1lbnRQbGFuID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVFZGdlRGVwbG95bWVudFBsYW5cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUVkZ2VEZXBsb3ltZW50U3RhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUVkZ2VEZXBsb3ltZW50U3RhZ2UgPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUVkZ2VEZXBsb3ltZW50U3RhZ2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFbmRwb2ludCA9IFwic2FnZW1ha2VyOkRlbGV0ZUVuZHBvaW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVFbmRwb2ludENvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRW5kcG9pbnRDb25maWcgPSBcInNhZ2VtYWtlcjpEZWxldGVFbmRwb2ludENvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlRXhwZXJpbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRXhwZXJpbWVudCA9IFwic2FnZW1ha2VyOkRlbGV0ZUV4cGVyaW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUZlYXR1cmVHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRmVhdHVyZUdyb3VwID0gXCJzYWdlbWFrZXI6RGVsZXRlRmVhdHVyZUdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVGbG93RGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRmxvd0RlZmluaXRpb24gPSBcInNhZ2VtYWtlcjpEZWxldGVGbG93RGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlSHViICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIdWIgPSBcInNhZ2VtYWtlcjpEZWxldGVIdWJcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUh1YkNvbnRlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh1YkNvbnRlbnQgPSBcInNhZ2VtYWtlcjpEZWxldGVIdWJDb250ZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVIdWJDb250ZW50UmVmZXJlbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIdWJDb250ZW50UmVmZXJlbmNlID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVIdWJDb250ZW50UmVmZXJlbmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVIdW1hbkxvb3AgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh1bWFuTG9vcCA9IFwic2FnZW1ha2VyOkRlbGV0ZUh1bWFuTG9vcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlSHVtYW5UYXNrVWkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh1bWFuVGFza1VpID0gXCJzYWdlbWFrZXI6RGVsZXRlSHVtYW5UYXNrVWlcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUltYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbWFnZSA9IFwic2FnZW1ha2VyOkRlbGV0ZUltYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVJbWFnZVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUltYWdlVmVyc2lvbiA9IFwic2FnZW1ha2VyOkRlbGV0ZUltYWdlVmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlSW5mZXJlbmNlQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbmZlcmVuY2VDb21wb25lbnQgPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUluZmVyZW5jZUNvbXBvbmVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlSW5mZXJlbmNlRXhwZXJpbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5mZXJlbmNlRXhwZXJpbWVudCA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlSW5mZXJlbmNlRXhwZXJpbWVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVKb2IgPSBcInNhZ2VtYWtlcjpEZWxldGVKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZUxpbmVhZ2VHcm91cFBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTGluZWFnZUdyb3VwUG9saWN5ID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVMaW5lYWdlR3JvdXBQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1sZmxvd0FwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWxmbG93QXBwID0gXCJzYWdlbWFrZXI6RGVsZXRlTWxmbG93QXBwXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVNbGZsb3dUcmFja2luZ1NlcnZlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1sZmxvd1RyYWNraW5nU2VydmVyXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWwgPSBcInNhZ2VtYWtlcjpEZWxldGVNb2RlbFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTW9kZWxDYXJkICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbENhcmQgPSBcInNhZ2VtYWtlcjpEZWxldGVNb2RlbENhcmRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU1vZGVsUGFja2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxQYWNrYWdlID0gXCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxQYWNrYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVNb2RlbFBhY2thZ2VHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxQYWNrYWdlR3JvdXAgPSBcInNhZ2VtYWtlcjpEZWxldGVNb2RlbFBhY2thZ2VHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTW9kZWxQYWNrYWdlR3JvdXBQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsUGFja2FnZUdyb3VwUG9saWN5ID1cblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNb2RlbFBhY2thZ2VHcm91cFBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTW9uaXRvcmluZ1NjaGVkdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb25pdG9yaW5nU2NoZWR1bGUgPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vbml0b3JpbmdTY2hlZHVsZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlTm90ZWJvb2tJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTm90ZWJvb2tJbnN0YW5jZSA9IFwic2FnZW1ha2VyOkRlbGV0ZU5vdGVib29rSW5zdGFuY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZU9wdGltaXphdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlT3B0aW1pemF0aW9uSm9iID0gXCJzYWdlbWFrZXI6RGVsZXRlT3B0aW1pemF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVQYXJ0bmVyQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQYXJ0bmVyQXBwID0gXCJzYWdlbWFrZXI6RGVsZXRlUGFydG5lckFwcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlUGlwZWxpbmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBpcGVsaW5lID0gXCJzYWdlbWFrZXI6RGVsZXRlUGlwZWxpbmVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVByb2Nlc3NpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb2Nlc3NpbmdKb2IgPSBcInNhZ2VtYWtlcjpEZWxldGVQcm9jZXNzaW5nSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVQcm9qZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9qZWN0ID0gXCJzYWdlbWFrZXI6RGVsZXRlUHJvamVjdFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlUmVjb3JkICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvcmQgPSBcInNhZ2VtYWtlcjpEZWxldGVSZWNvcmRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZVBvbGljeSA9IFwic2FnZW1ha2VyOkRlbGV0ZVJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVTcGFjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU3BhY2UgPSBcInNhZ2VtYWtlcjpEZWxldGVTcGFjZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTdHVkaW9MaWZlY3ljbGVDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZ1wiO1xuXHQvKiogW1RhZ2dpbmddIHNhZ2VtYWtlcjpEZWxldGVUYWdzICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUYWdzID0gXCJzYWdlbWFrZXI6RGVsZXRlVGFnc1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlVHJhaW5pbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRyYWluaW5nSm9iID0gXCJzYWdlbWFrZXI6RGVsZXRlVHJhaW5pbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVRyaWFsICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUcmlhbCA9IFwic2FnZW1ha2VyOkRlbGV0ZVRyaWFsXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVUcmlhbENvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVHJpYWxDb21wb25lbnQgPSBcInNhZ2VtYWtlcjpEZWxldGVUcmlhbENvbXBvbmVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVsZXRlVXNlclByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVVzZXJQcm9maWxlID0gXCJzYWdlbWFrZXI6RGVsZXRlVXNlclByb2ZpbGVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlbGV0ZVdvcmtmb3JjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlV29ya2ZvcmNlID0gXCJzYWdlbWFrZXI6RGVsZXRlV29ya2ZvcmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZWxldGVXb3JrdGVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlV29ya3RlYW0gPSBcInNhZ2VtYWtlcjpEZWxldGVXb3JrdGVhbVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGVwbG95SHViTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcGxveUh1Yk1vZGVsID0gXCJzYWdlbWFrZXI6RGVwbG95SHViTW9kZWxcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOkRlcmVnaXN0ZXJEZXZpY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyRGV2aWNlcyA9IFwic2FnZW1ha2VyOkRlcmVnaXN0ZXJEZXZpY2VzXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQUlCZW5jaG1hcmtKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQUlCZW5jaG1hcmtKb2IgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUFJQmVuY2htYXJrSm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQUlSZWNvbW1lbmRhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBSVJlY29tbWVuZGF0aW9uSm9iID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUFJUmVjb21tZW5kYXRpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVBSVdvcmtsb2FkQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFJV29ya2xvYWRDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQUlXb3JrbG9hZENvbmZpZ1wiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUFjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBY3Rpb24gPSBcInNhZ2VtYWtlcjpEZXNjcmliZUFjdGlvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUFsZ29yaXRobSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBbGdvcml0aG0gPSBcInNhZ2VtYWtlcjpEZXNjcmliZUFsZ29yaXRobVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUFwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHAgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUFwcFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUFwcEltYWdlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcEltYWdlQ29uZmlnID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVBcHBJbWFnZUNvbmZpZ1wiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUFydGlmYWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFydGlmYWN0ID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVBcnRpZmFjdFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUF1dG9NTEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBdXRvTUxKb2IgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUF1dG9NTEpvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUF1dG9NTEpvYlYyICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUF1dG9NTEpvYlYyID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVBdXRvTUxKb2JWMlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2x1c3RlciA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3RlclwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJFdmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDbHVzdGVyRXZlbnQgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJFdmVudFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJJbmZlcmVuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2x1c3RlckluZmVyZW5jZSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVySW5mZXJlbmNlXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3Rlck5vZGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2x1c3Rlck5vZGUgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJOb2RlXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJTY2hlZHVsZXJDb25maWdcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVDb2RlUmVwb3NpdG9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb2RlUmVwb3NpdG9yeSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQ29kZVJlcG9zaXRvcnlcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVDb21waWxhdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb21waWxhdGlvbkpvYiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlQ29tcGlsYXRpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVDb21wdXRlUXVvdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29tcHV0ZVF1b3RhID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVDb21wdXRlUXVvdGFcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVDb250ZXh0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbnRleHQgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUNvbnRleHRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZURldmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEZXZpY2UgPSBcInNhZ2VtYWtlcjpEZXNjcmliZURldmljZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZURldmljZUZsZWV0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURldmljZUZsZWV0ID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVEZXZpY2VGbGVldFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZURvbWFpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEb21haW4gPSBcInNhZ2VtYWtlcjpEZXNjcmliZURvbWFpblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUVkZ2VEZXBsb3ltZW50UGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFZGdlRGVwbG95bWVudFBsYW4gPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlRWRnZURlcGxveW1lbnRQbGFuXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlRWRnZVBhY2thZ2luZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFZGdlUGFja2FnaW5nSm9iID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUVkZ2VQYWNrYWdpbmdKb2JcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFbmRwb2ludCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlRW5kcG9pbnRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVFbmRwb2ludENvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFbmRwb2ludENvbmZpZyA9IFwic2FnZW1ha2VyOkRlc2NyaWJlRW5kcG9pbnRDb25maWdcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVFeHBlcmltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUV4cGVyaW1lbnQgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUV4cGVyaW1lbnRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVGZWF0dXJlR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRmVhdHVyZUdyb3VwID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVGZWF0dXJlR3JvdXBcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVGZWF0dXJlTWV0YWRhdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRmVhdHVyZU1ldGFkYXRhID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVGZWF0dXJlTWV0YWRhdGFcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVGbG93RGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVGbG93RGVmaW5pdGlvbiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlRmxvd0RlZmluaXRpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVIdWIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSHViID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVIdWJcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVIdWJDb250ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUh1YkNvbnRlbnQgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUh1YkNvbnRlbnRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVIdW1hbkxvb3AgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSHVtYW5Mb29wID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVIdW1hbkxvb3BcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVIdW1hblRhc2tVaSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVIdW1hblRhc2tVaSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlSHVtYW5UYXNrVWlcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVIeXBlclBhcmFtZXRlclR1bmluZ0pvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUltYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUltYWdlID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVJbWFnZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUltYWdlVmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbWFnZVZlcnNpb24gPSBcInNhZ2VtYWtlcjpEZXNjcmliZUltYWdlVmVyc2lvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUluZmVyZW5jZUNvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbmZlcmVuY2VDb21wb25lbnQgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSW5mZXJlbmNlQ29tcG9uZW50XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlSW5mZXJlbmNlRXhwZXJpbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbmZlcmVuY2VFeHBlcmltZW50ID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUluZmVyZW5jZUV4cGVyaW1lbnRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVKb2IgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUpvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZUpvYlNjaGVtYVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSm9iU2NoZW1hVmVyc2lvbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVKb2JTY2hlbWFWZXJzaW9uXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTGFiZWxpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTGFiZWxpbmdKb2IgPSBcInNhZ2VtYWtlcjpEZXNjcmliZUxhYmVsaW5nSm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTGluZWFnZUdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxpbmVhZ2VHcm91cCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlTGluZWFnZUdyb3VwXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTWxmbG93QXBwICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1sZmxvd0FwcCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlTWxmbG93QXBwXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbEJpYXNKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsQmlhc0pvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxCaWFzSm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsQ2FyZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbENhcmQgPSBcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsQ2FyZFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsQ2FyZEV4cG9ydEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbENhcmRFeHBvcnRKb2IgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxDYXJkRXhwb3J0Sm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbFBhY2thZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxQYWNrYWdlID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbFBhY2thZ2VcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbFBhY2thZ2VHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbFBhY2thZ2VHcm91cCA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbFBhY2thZ2VHcm91cFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlTW9uaXRvcmluZ1NjaGVkdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vbml0b3JpbmdTY2hlZHVsZSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNb25pdG9yaW5nU2NoZWR1bGVcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVOb3RlYm9va0luc3RhbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU5vdGVib29rSW5zdGFuY2UgPVxuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlT3B0aW1pemF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU9wdGltaXphdGlvbkpvYiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlT3B0aW1pemF0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlUGFydG5lckFwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQYXJ0bmVyQXBwID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVQYXJ0bmVyQXBwXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlUGlwZWxpbmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGlwZWxpbmUgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVBpcGVsaW5lXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlUGlwZWxpbmVEZWZpbml0aW9uRm9yRXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBpcGVsaW5lRGVmaW5pdGlvbkZvckV4ZWN1dGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVQaXBlbGluZURlZmluaXRpb25Gb3JFeGVjdXRpb25cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVQaXBlbGluZUV4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQaXBlbGluZUV4ZWN1dGlvbiA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVQaXBlbGluZUV4ZWN1dGlvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVByb2Nlc3NpbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUHJvY2Vzc2luZ0pvYiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlUHJvY2Vzc2luZ0pvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVByb2plY3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUHJvamVjdCA9IFwic2FnZW1ha2VyOkRlc2NyaWJlUHJvamVjdFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVJlc2VydmVkQ2FwYWNpdHkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVzZXJ2ZWRDYXBhY2l0eSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVSZXNlcnZlZENhcGFjaXR5XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlU2hhcmVkTW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2hhcmVkTW9kZWwgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVNoYXJlZE1vZGVsXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlU3BhY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU3BhY2UgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVNwYWNlXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVTdHVkaW9MaWZlY3ljbGVDb25maWdcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6RGVzY3JpYmVTdWJzY3JpYmVkV29ya3RlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU3Vic2NyaWJlZFdvcmt0ZWFtID1cblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVN1YnNjcmliZWRXb3JrdGVhbVwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVRyYWluaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRyYWluaW5nSm9iID0gXCJzYWdlbWFrZXI6RGVzY3JpYmVUcmFpbmluZ0pvYlwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVRyYWluaW5nUGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmFpbmluZ1BsYW4gPSBcInNhZ2VtYWtlcjpEZXNjcmliZVRyYWluaW5nUGxhblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpEZXNjcmliZVRyYWluaW5nUGxhbkV4dGVuc2lvbkhpc3RvcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJhaW5pbmdQbGFuRXh0ZW5zaW9uSGlzdG9yeSA9XG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVUcmFpbmluZ1BsYW5FeHRlbnNpb25IaXN0b3J5XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlVHJhbnNmb3JtSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRyYW5zZm9ybUpvYiA9IFwic2FnZW1ha2VyOkRlc2NyaWJlVHJhbnNmb3JtSm9iXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlVHJpYWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJpYWwgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVRyaWFsXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlVHJpYWxDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJpYWxDb21wb25lbnQgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVRyaWFsQ29tcG9uZW50XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlVXNlclByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVXNlclByb2ZpbGUgPSBcInNhZ2VtYWtlcjpEZXNjcmliZVVzZXJQcm9maWxlXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlV29ya2ZvcmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmtmb3JjZSA9IFwic2FnZW1ha2VyOkRlc2NyaWJlV29ya2ZvcmNlXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkRlc2NyaWJlV29ya3RlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlV29ya3RlYW0gPSBcInNhZ2VtYWtlcjpEZXNjcmliZVdvcmt0ZWFtXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpEZXRhY2hDbHVzdGVyTm9kZVZvbHVtZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0YWNoQ2x1c3Rlck5vZGVWb2x1bWUgPSBcInNhZ2VtYWtlcjpEZXRhY2hDbHVzdGVyTm9kZVZvbHVtZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGlzYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW8gPVxuXHRcdFwic2FnZW1ha2VyOkRpc2FibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpb1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RGlzYXNzb2NpYXRlVHJpYWxDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZVRyaWFsQ29tcG9uZW50ID1cblx0XHRcInNhZ2VtYWtlcjpEaXNhc3NvY2lhdGVUcmlhbENvbXBvbmVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RW5hYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW8gKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvID1cblx0XHRcInNhZ2VtYWtlcjpFbmFibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpb1wiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6RXh0ZW5kVHJhaW5pbmdQbGFuICovXG5cdHN0YXRpYyByZWFkb25seSBFeHRlbmRUcmFpbmluZ1BsYW4gPSBcInNhZ2VtYWtlcjpFeHRlbmRUcmFpbmluZ1BsYW5cIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6R2V0RGVwbG95bWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERlcGxveW1lbnRzID0gXCJzYWdlbWFrZXI6R2V0RGVwbG95bWVudHNcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6R2V0RGV2aWNlRmxlZXRSZXBvcnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERldmljZUZsZWV0UmVwb3J0ID0gXCJzYWdlbWFrZXI6R2V0RGV2aWNlRmxlZXRSZXBvcnRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6R2V0RGV2aWNlUmVnaXN0cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREZXZpY2VSZWdpc3RyYXRpb24gPVxuXHRcdFwic2FnZW1ha2VyOkdldERldmljZVJlZ2lzdHJhdGlvblwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpHZXRMaW5lYWdlR3JvdXBQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldExpbmVhZ2VHcm91cFBvbGljeSA9XG5cdFx0XCJzYWdlbWFrZXI6R2V0TGluZWFnZUdyb3VwUG9saWN5XCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldE1vZGVsUGFja2FnZUdyb3VwUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeSA9XG5cdFx0XCJzYWdlbWFrZXI6R2V0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3lcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6R2V0UmVjb3JkICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWNvcmQgPSBcInNhZ2VtYWtlcjpHZXRSZWNvcmRcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6R2V0UmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlc291cmNlUG9saWN5ID0gXCJzYWdlbWFrZXI6R2V0UmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtSZWFkXSBzYWdlbWFrZXI6R2V0U2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW9TdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvU3RhdHVzID1cblx0XHRcInNhZ2VtYWtlcjpHZXRTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpb1N0YXR1c1wiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpHZXRTY2FsaW5nQ29uZmlndXJhdGlvblJlY29tbWVuZGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTY2FsaW5nQ29uZmlndXJhdGlvblJlY29tbWVuZGF0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpHZXRTY2FsaW5nQ29uZmlndXJhdGlvblJlY29tbWVuZGF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOkdldFNlYXJjaFN1Z2dlc3Rpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTZWFyY2hTdWdnZXN0aW9ucyA9IFwic2FnZW1ha2VyOkdldFNlYXJjaFN1Z2dlc3Rpb25zXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpJbXBvcnRIdWJDb250ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRIdWJDb250ZW50ID0gXCJzYWdlbWFrZXI6SW1wb3J0SHViQ29udGVudFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpJbnZva2VFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRW5kcG9pbnQgPSBcInNhZ2VtYWtlcjpJbnZva2VFbmRwb2ludFwiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpJbnZva2VFbmRwb2ludEFzeW5jICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VFbmRwb2ludEFzeW5jID0gXCJzYWdlbWFrZXI6SW52b2tlRW5kcG9pbnRBc3luY1wiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpJbnZva2VFbmRwb2ludFdpdGhSZXNwb25zZVN0cmVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52b2tlRW5kcG9pbnRXaXRoUmVzcG9uc2VTdHJlYW0gPVxuXHRcdFwic2FnZW1ha2VyOkludm9rZUVuZHBvaW50V2l0aFJlc3BvbnNlU3RyZWFtXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBSUJlbmNobWFya0pvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBSUJlbmNobWFya0pvYnMgPSBcInNhZ2VtYWtlcjpMaXN0QUlCZW5jaG1hcmtKb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RBSVJlY29tbWVuZGF0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFJUmVjb21tZW5kYXRpb25Kb2JzID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0QUlSZWNvbW1lbmRhdGlvbkpvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEFJV29ya2xvYWRDb25maWdzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QUlXb3JrbG9hZENvbmZpZ3MgPSBcInNhZ2VtYWtlcjpMaXN0QUlXb3JrbG9hZENvbmZpZ3NcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEFjdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBY3Rpb25zID0gXCJzYWdlbWFrZXI6TGlzdEFjdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEFsZ29yaXRobXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbGdvcml0aG1zID0gXCJzYWdlbWFrZXI6TGlzdEFsZ29yaXRobXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEFsaWFzZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbGlhc2VzID0gXCJzYWdlbWFrZXI6TGlzdEFsaWFzZXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEFwcEltYWdlQ29uZmlncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcEltYWdlQ29uZmlncyA9IFwic2FnZW1ha2VyOkxpc3RBcHBJbWFnZUNvbmZpZ3NcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEFwcHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBzID0gXCJzYWdlbWFrZXI6TGlzdEFwcHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEFydGlmYWN0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFydGlmYWN0cyA9IFwic2FnZW1ha2VyOkxpc3RBcnRpZmFjdHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEFzc29jaWF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFzc29jaWF0aW9ucyA9IFwic2FnZW1ha2VyOkxpc3RBc3NvY2lhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEF1dG9NTEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvTUxKb2JzID0gXCJzYWdlbWFrZXI6TGlzdEF1dG9NTEpvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdENhbmRpZGF0ZXNGb3JBdXRvTUxKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDYW5kaWRhdGVzRm9yQXV0b01MSm9iID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0Q2FuZGlkYXRlc0ZvckF1dG9NTEpvYlwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q2x1c3RlckV2ZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJFdmVudHMgPSBcInNhZ2VtYWtlcjpMaXN0Q2x1c3RlckV2ZW50c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q2x1c3Rlck5vZGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2x1c3Rlck5vZGVzID0gXCJzYWdlbWFrZXI6TGlzdENsdXN0ZXJOb2Rlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Q2x1c3RlclNjaGVkdWxlckNvbmZpZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDbHVzdGVyU2NoZWR1bGVyQ29uZmlncyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdENsdXN0ZXJTY2hlZHVsZXJDb25maWdzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RDbHVzdGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJzID0gXCJzYWdlbWFrZXI6TGlzdENsdXN0ZXJzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RDb2RlUmVwb3NpdG9yaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29kZVJlcG9zaXRvcmllcyA9IFwic2FnZW1ha2VyOkxpc3RDb2RlUmVwb3NpdG9yaWVzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RDb21waWxhdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb21waWxhdGlvbkpvYnMgPSBcInNhZ2VtYWtlcjpMaXN0Q29tcGlsYXRpb25Kb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RDb21wdXRlUXVvdGFzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29tcHV0ZVF1b3RhcyA9IFwic2FnZW1ha2VyOkxpc3RDb21wdXRlUXVvdGFzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RDb250ZXh0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbnRleHRzID0gXCJzYWdlbWFrZXI6TGlzdENvbnRleHRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3REYXRhUXVhbGl0eUpvYkRlZmluaXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YVF1YWxpdHlKb2JEZWZpbml0aW9ucyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdERldmljZUZsZWV0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERldmljZUZsZWV0cyA9IFwic2FnZW1ha2VyOkxpc3REZXZpY2VGbGVldHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdERldmljZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REZXZpY2VzID0gXCJzYWdlbWFrZXI6TGlzdERldmljZXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdERvbWFpbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REb21haW5zID0gXCJzYWdlbWFrZXI6TGlzdERvbWFpbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEVkZ2VEZXBsb3ltZW50UGxhbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFZGdlRGVwbG95bWVudFBsYW5zID0gXCJzYWdlbWFrZXI6TGlzdEVkZ2VEZXBsb3ltZW50UGxhbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEVkZ2VQYWNrYWdpbmdKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RWRnZVBhY2thZ2luZ0pvYnMgPSBcInNhZ2VtYWtlcjpMaXN0RWRnZVBhY2thZ2luZ0pvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEVuZHBvaW50Q29uZmlncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZHBvaW50Q29uZmlncyA9IFwic2FnZW1ha2VyOkxpc3RFbmRwb2ludENvbmZpZ3NcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEVuZHBvaW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZHBvaW50cyA9IFwic2FnZW1ha2VyOkxpc3RFbmRwb2ludHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEV4cGVyaW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXhwZXJpbWVudHMgPSBcInNhZ2VtYWtlcjpMaXN0RXhwZXJpbWVudHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEZlYXR1cmVHcm91cHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGZWF0dXJlR3JvdXBzID0gXCJzYWdlbWFrZXI6TGlzdEZlYXR1cmVHcm91cHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEZsb3dEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dEZWZpbml0aW9ucyA9IFwic2FnZW1ha2VyOkxpc3RGbG93RGVmaW5pdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEh1YkNvbnRlbnRWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEh1YkNvbnRlbnRWZXJzaW9ucyA9IFwic2FnZW1ha2VyOkxpc3RIdWJDb250ZW50VmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEh1YkNvbnRlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHViQ29udGVudHMgPSBcInNhZ2VtYWtlcjpMaXN0SHViQ29udGVudHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEh1YnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIdWJzID0gXCJzYWdlbWFrZXI6TGlzdEh1YnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEh1bWFuTG9vcHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIdW1hbkxvb3BzID0gXCJzYWdlbWFrZXI6TGlzdEh1bWFuTG9vcHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEh1bWFuVGFza1VpcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEh1bWFuVGFza1VpcyA9IFwic2FnZW1ha2VyOkxpc3RIdW1hblRhc2tVaXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9icyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0SW1hZ2VWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEltYWdlVmVyc2lvbnMgPSBcInNhZ2VtYWtlcjpMaXN0SW1hZ2VWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0SW1hZ2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW1hZ2VzID0gXCJzYWdlbWFrZXI6TGlzdEltYWdlc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0SW5mZXJlbmNlQ29tcG9uZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluZmVyZW5jZUNvbXBvbmVudHMgPSBcInNhZ2VtYWtlcjpMaXN0SW5mZXJlbmNlQ29tcG9uZW50c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0SW5mZXJlbmNlRXhwZXJpbWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VFeHBlcmltZW50cyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdEluZmVyZW5jZUV4cGVyaW1lbnRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JTdGVwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYlN0ZXBzID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0SW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iU3RlcHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JzID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0SW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Sm9iU2NoZW1hVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RKb2JTY2hlbWFWZXJzaW9ucyA9IFwic2FnZW1ha2VyOkxpc3RKb2JTY2hlbWFWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0Sm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEpvYnMgPSBcInNhZ2VtYWtlcjpMaXN0Sm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TGFiZWxpbmdKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TGFiZWxpbmdKb2JzID0gXCJzYWdlbWFrZXI6TGlzdExhYmVsaW5nSm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TGFiZWxpbmdKb2JzRm9yV29ya3RlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RMYWJlbGluZ0pvYnNGb3JXb3JrdGVhbSA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdExhYmVsaW5nSm9ic0Zvcldvcmt0ZWFtXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RMaW5lYWdlR3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TGluZWFnZUdyb3VwcyA9IFwic2FnZW1ha2VyOkxpc3RMaW5lYWdlR3JvdXBzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNbGZsb3dBcHBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWxmbG93QXBwcyA9IFwic2FnZW1ha2VyOkxpc3RNbGZsb3dBcHBzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNbGZsb3dUcmFja2luZ1NlcnZlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNbGZsb3dUcmFja2luZ1NlcnZlcnMgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RNbGZsb3dUcmFja2luZ1NlcnZlcnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vZGVsQmlhc0pvYkRlZmluaXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxCaWFzSm9iRGVmaW5pdGlvbnMgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RNb2RlbEJpYXNKb2JEZWZpbml0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9kZWxDYXJkRXhwb3J0Sm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQ2FyZEV4cG9ydEpvYnMgPSBcInNhZ2VtYWtlcjpMaXN0TW9kZWxDYXJkRXhwb3J0Sm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9kZWxDYXJkVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbENhcmRWZXJzaW9ucyA9IFwic2FnZW1ha2VyOkxpc3RNb2RlbENhcmRWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9kZWxDYXJkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQ2FyZHMgPSBcInNhZ2VtYWtlcjpMaXN0TW9kZWxDYXJkc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25zID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb2RlbE1ldGFkYXRhICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxNZXRhZGF0YSA9IFwic2FnZW1ha2VyOkxpc3RNb2RlbE1ldGFkYXRhXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb2RlbFBhY2thZ2VHcm91cHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbFBhY2thZ2VHcm91cHMgPSBcInNhZ2VtYWtlcjpMaXN0TW9kZWxQYWNrYWdlR3JvdXBzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb2RlbFBhY2thZ2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxQYWNrYWdlcyA9IFwic2FnZW1ha2VyOkxpc3RNb2RlbFBhY2thZ2VzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25zID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vZGVscyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVscyA9IFwic2FnZW1ha2VyOkxpc3RNb2RlbHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdBbGVydEhpc3RvcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb25pdG9yaW5nQWxlcnRIaXN0b3J5ID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9uaXRvcmluZ0FsZXJ0SGlzdG9yeVwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9uaXRvcmluZ0FsZXJ0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vbml0b3JpbmdBbGVydHMgPSBcInNhZ2VtYWtlcjpMaXN0TW9uaXRvcmluZ0FsZXJ0c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0TW9uaXRvcmluZ0V4ZWN1dGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb25pdG9yaW5nRXhlY3V0aW9ucyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdFeGVjdXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RNb25pdG9yaW5nU2NoZWR1bGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9uaXRvcmluZ1NjaGVkdWxlcyA9IFwic2FnZW1ha2VyOkxpc3RNb25pdG9yaW5nU2NoZWR1bGVzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3ROb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdzID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ3NcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE5vdGVib29rSW5zdGFuY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Tm90ZWJvb2tJbnN0YW5jZXMgPSBcInNhZ2VtYWtlcjpMaXN0Tm90ZWJvb2tJbnN0YW5jZXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdE9wdGltaXphdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RPcHRpbWl6YXRpb25Kb2JzID0gXCJzYWdlbWFrZXI6TGlzdE9wdGltaXphdGlvbkpvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFBhcnRuZXJBcHBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGFydG5lckFwcHMgPSBcInNhZ2VtYWtlcjpMaXN0UGFydG5lckFwcHNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFBpcGVsaW5lRXhlY3V0aW9uU3RlcHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQaXBlbGluZUV4ZWN1dGlvblN0ZXBzID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVFeGVjdXRpb25TdGVwc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVFeGVjdXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVFeGVjdXRpb25zID0gXCJzYWdlbWFrZXI6TGlzdFBpcGVsaW5lRXhlY3V0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVQYXJhbWV0ZXJzRm9yRXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVQYXJhbWV0ZXJzRm9yRXhlY3V0aW9uID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVQYXJhbWV0ZXJzRm9yRXhlY3V0aW9uXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RQaXBlbGluZVZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlwZWxpbmVWZXJzaW9ucyA9IFwic2FnZW1ha2VyOkxpc3RQaXBlbGluZVZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RQaXBlbGluZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQaXBlbGluZXMgPSBcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RQcm9jZXNzaW5nSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb2Nlc3NpbmdKb2JzID0gXCJzYWdlbWFrZXI6TGlzdFByb2Nlc3NpbmdKb2JzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RQcm9qZWN0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb2plY3RzID0gXCJzYWdlbWFrZXI6TGlzdFByb2plY3RzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RSZWNvcmRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb3JkcyA9IFwic2FnZW1ha2VyOkxpc3RSZWNvcmRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RSZXNvdXJjZUNhdGFsb2dzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb3VyY2VDYXRhbG9ncyA9IFwic2FnZW1ha2VyOkxpc3RSZXNvdXJjZUNhdGFsb2dzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RTaGFyZWRNb2RlbEV2ZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNoYXJlZE1vZGVsRXZlbnRzID0gXCJzYWdlbWFrZXI6TGlzdFNoYXJlZE1vZGVsRXZlbnRzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RTaGFyZWRNb2RlbFZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2hhcmVkTW9kZWxWZXJzaW9ucyA9IFwic2FnZW1ha2VyOkxpc3RTaGFyZWRNb2RlbFZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RTaGFyZWRNb2RlbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTaGFyZWRNb2RlbHMgPSBcInNhZ2VtYWtlcjpMaXN0U2hhcmVkTW9kZWxzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RTcGFjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTcGFjZXMgPSBcInNhZ2VtYWtlcjpMaXN0U3BhY2VzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RTdGFnZURldmljZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTdGFnZURldmljZXMgPSBcInNhZ2VtYWtlcjpMaXN0U3RhZ2VEZXZpY2VzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RTdHVkaW9MaWZlY3ljbGVDb25maWdzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3R1ZGlvTGlmZWN5Y2xlQ29uZmlncyA9XG5cdFx0XCJzYWdlbWFrZXI6TGlzdFN0dWRpb0xpZmVjeWNsZUNvbmZpZ3NcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFN1YnNjcmliZWRXb3JrdGVhbXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTdWJzY3JpYmVkV29ya3RlYW1zID0gXCJzYWdlbWFrZXI6TGlzdFN1YnNjcmliZWRXb3JrdGVhbXNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFRhZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzID0gXCJzYWdlbWFrZXI6TGlzdFRhZ3NcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFRyYWluaW5nSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyYWluaW5nSm9icyA9IFwic2FnZW1ha2VyOkxpc3RUcmFpbmluZ0pvYnNcIjtcblx0LyoqIFtMaXN0XSBzYWdlbWFrZXI6TGlzdFRyYWluaW5nSm9ic0Zvckh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJhaW5pbmdKb2JzRm9ySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgPVxuXHRcdFwic2FnZW1ha2VyOkxpc3RUcmFpbmluZ0pvYnNGb3JIeXBlclBhcmFtZXRlclR1bmluZ0pvYlwiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0VHJhaW5pbmdQbGFucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyYWluaW5nUGxhbnMgPSBcInNhZ2VtYWtlcjpMaXN0VHJhaW5pbmdQbGFuc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0VHJhbnNmb3JtSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyYW5zZm9ybUpvYnMgPSBcInNhZ2VtYWtlcjpMaXN0VHJhbnNmb3JtSm9ic1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0VHJpYWxDb21wb25lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJpYWxDb21wb25lbnRzID0gXCJzYWdlbWFrZXI6TGlzdFRyaWFsQ29tcG9uZW50c1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0VHJpYWxzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJpYWxzID0gXCJzYWdlbWFrZXI6TGlzdFRyaWFsc1wiO1xuXHQvKiogW0xpc3RdIHNhZ2VtYWtlcjpMaXN0VWx0cmFTZXJ2ZXJzQnlSZXNlcnZlZENhcGFjaXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VWx0cmFTZXJ2ZXJzQnlSZXNlcnZlZENhcGFjaXR5ID1cblx0XHRcInNhZ2VtYWtlcjpMaXN0VWx0cmFTZXJ2ZXJzQnlSZXNlcnZlZENhcGFjaXR5XCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RVc2VyUHJvZmlsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RVc2VyUHJvZmlsZXMgPSBcInNhZ2VtYWtlcjpMaXN0VXNlclByb2ZpbGVzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RXb3JrZm9yY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya2ZvcmNlcyA9IFwic2FnZW1ha2VyOkxpc3RXb3JrZm9yY2VzXCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOkxpc3RXb3JrdGVhbXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RXb3JrdGVhbXMgPSBcInNhZ2VtYWtlcjpMaXN0V29ya3RlYW1zXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpQdXRMaW5lYWdlR3JvdXBQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dExpbmVhZ2VHcm91cFBvbGljeSA9IFwic2FnZW1ha2VyOlB1dExpbmVhZ2VHcm91cFBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6UHV0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dE1vZGVsUGFja2FnZUdyb3VwUG9saWN5ID1cblx0XHRcInNhZ2VtYWtlcjpQdXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6UHV0UmVjb3JkICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZWNvcmQgPSBcInNhZ2VtYWtlcjpQdXRSZWNvcmRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlB1dFJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZVBvbGljeSA9IFwic2FnZW1ha2VyOlB1dFJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbTGlzdF0gc2FnZW1ha2VyOlF1ZXJ5TGluZWFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUXVlcnlMaW5lYWdlID0gXCJzYWdlbWFrZXI6UXVlcnlMaW5lYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpSZWdpc3RlckRldmljZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyRGV2aWNlcyA9IFwic2FnZW1ha2VyOlJlZ2lzdGVyRGV2aWNlc1wiO1xuXHQvKiogW1JlYWRdIHNhZ2VtYWtlcjpSZW5kZXJVaVRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBSZW5kZXJVaVRlbXBsYXRlID0gXCJzYWdlbWFrZXI6UmVuZGVyVWlUZW1wbGF0ZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6UmV0cnlQaXBlbGluZUV4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cnlQaXBlbGluZUV4ZWN1dGlvbiA9IFwic2FnZW1ha2VyOlJldHJ5UGlwZWxpbmVFeGVjdXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlNhbXBsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2FtcGxlID0gXCJzYWdlbWFrZXI6U2FtcGxlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTYW1wbGVXaXRoUmVzcG9uc2VTdHJlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNhbXBsZVdpdGhSZXNwb25zZVN0cmVhbSA9XG5cdFx0XCJzYWdlbWFrZXI6U2FtcGxlV2l0aFJlc3BvbnNlU3RyZWFtXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOlNlYXJjaCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VhcmNoID0gXCJzYWdlbWFrZXI6U2VhcmNoXCI7XG5cdC8qKiBbUmVhZF0gc2FnZW1ha2VyOlNlYXJjaFRyYWluaW5nUGxhbk9mZmVyaW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VhcmNoVHJhaW5pbmdQbGFuT2ZmZXJpbmdzID1cblx0XHRcInNhZ2VtYWtlcjpTZWFyY2hUcmFpbmluZ1BsYW5PZmZlcmluZ3NcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlNlbmRIZWFydGJlYXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRIZWFydGJlYXQgPSBcInNhZ2VtYWtlcjpTZW5kSGVhcnRiZWF0XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwRmFpbHVyZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcEZhaWx1cmUgPVxuXHRcdFwic2FnZW1ha2VyOlNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBGYWlsdXJlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwU3VjY2VzcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcFN1Y2Nlc3MgPVxuXHRcdFwic2FnZW1ha2VyOlNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBTdWNjZXNzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTZW5kU2hhcmVkTW9kZWxFdmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZFNoYXJlZE1vZGVsRXZlbnQgPSBcInNhZ2VtYWtlcjpTZW5kU2hhcmVkTW9kZWxFdmVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RhcnRDbHVzdGVySGVhbHRoQ2hlY2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0Q2x1c3RlckhlYWx0aENoZWNrID0gXCJzYWdlbWFrZXI6U3RhcnRDbHVzdGVySGVhbHRoQ2hlY2tcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0YXJ0RWRnZURlcGxveW1lbnRTdGFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRFZGdlRGVwbG95bWVudFN0YWdlID1cblx0XHRcInNhZ2VtYWtlcjpTdGFydEVkZ2VEZXBsb3ltZW50U3RhZ2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0YXJ0SHVtYW5Mb29wICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEh1bWFuTG9vcCA9IFwic2FnZW1ha2VyOlN0YXJ0SHVtYW5Mb29wXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdGFydEluZmVyZW5jZUV4cGVyaW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0SW5mZXJlbmNlRXhwZXJpbWVudCA9XG5cdFx0XCJzYWdlbWFrZXI6U3RhcnRJbmZlcmVuY2VFeHBlcmltZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdGFydE1sZmxvd1RyYWNraW5nU2VydmVyICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1sZmxvd1RyYWNraW5nU2VydmVyID1cblx0XHRcInNhZ2VtYWtlcjpTdGFydE1sZmxvd1RyYWNraW5nU2VydmVyXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdGFydE1vbml0b3JpbmdTY2hlZHVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRNb25pdG9yaW5nU2NoZWR1bGUgPSBcInNhZ2VtYWtlcjpTdGFydE1vbml0b3JpbmdTY2hlZHVsZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RhcnROb3RlYm9va0luc3RhbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE5vdGVib29rSW5zdGFuY2UgPSBcInNhZ2VtYWtlcjpTdGFydE5vdGVib29rSW5zdGFuY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0YXJ0UGlwZWxpbmVFeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UGlwZWxpbmVFeGVjdXRpb24gPSBcInNhZ2VtYWtlcjpTdGFydFBpcGVsaW5lRXhlY3V0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdGFydFNlc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0U2Vzc2lvbiA9IFwic2FnZW1ha2VyOlN0YXJ0U2Vzc2lvblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcEFJQmVuY2htYXJrSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQUlCZW5jaG1hcmtKb2IgPSBcInNhZ2VtYWtlcjpTdG9wQUlCZW5jaG1hcmtKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BBSVJlY29tbWVuZGF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQUlSZWNvbW1lbmRhdGlvbkpvYiA9IFwic2FnZW1ha2VyOlN0b3BBSVJlY29tbWVuZGF0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wQXV0b01MSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQXV0b01MSm9iID0gXCJzYWdlbWFrZXI6U3RvcEF1dG9NTEpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcENvbXBpbGF0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQ29tcGlsYXRpb25Kb2IgPSBcInNhZ2VtYWtlcjpTdG9wQ29tcGlsYXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BFZGdlRGVwbG95bWVudFN0YWdlICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wRWRnZURlcGxveW1lbnRTdGFnZSA9IFwic2FnZW1ha2VyOlN0b3BFZGdlRGVwbG95bWVudFN0YWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wRWRnZVBhY2thZ2luZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEVkZ2VQYWNrYWdpbmdKb2IgPSBcInNhZ2VtYWtlcjpTdG9wRWRnZVBhY2thZ2luZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcEh1bWFuTG9vcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEh1bWFuTG9vcCA9IFwic2FnZW1ha2VyOlN0b3BIdW1hbkxvb3BcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BIeXBlclBhcmFtZXRlclR1bmluZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iID1cblx0XHRcInNhZ2VtYWtlcjpTdG9wSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BJbmZlcmVuY2VFeHBlcmltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wSW5mZXJlbmNlRXhwZXJpbWVudCA9IFwic2FnZW1ha2VyOlN0b3BJbmZlcmVuY2VFeHBlcmltZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iID1cblx0XHRcInNhZ2VtYWtlcjpTdG9wSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wSm9iID0gXCJzYWdlbWFrZXI6U3RvcEpvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcExhYmVsaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wTGFiZWxpbmdKb2IgPSBcInNhZ2VtYWtlcjpTdG9wTGFiZWxpbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BNbGZsb3dUcmFja2luZ1NlcnZlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcE1sZmxvd1RyYWNraW5nU2VydmVyID1cblx0XHRcInNhZ2VtYWtlcjpTdG9wTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BNb25pdG9yaW5nU2NoZWR1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BNb25pdG9yaW5nU2NoZWR1bGUgPSBcInNhZ2VtYWtlcjpTdG9wTW9uaXRvcmluZ1NjaGVkdWxlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wTm90ZWJvb2tJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcE5vdGVib29rSW5zdGFuY2UgPSBcInNhZ2VtYWtlcjpTdG9wTm90ZWJvb2tJbnN0YW5jZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcE9wdGltaXphdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcE9wdGltaXphdGlvbkpvYiA9IFwic2FnZW1ha2VyOlN0b3BPcHRpbWl6YXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BQaXBlbGluZUV4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFBpcGVsaW5lRXhlY3V0aW9uID0gXCJzYWdlbWFrZXI6U3RvcFBpcGVsaW5lRXhlY3V0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpTdG9wUHJvY2Vzc2luZ0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFByb2Nlc3NpbmdKb2IgPSBcInNhZ2VtYWtlcjpTdG9wUHJvY2Vzc2luZ0pvYlwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6U3RvcFRyYWluaW5nSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wVHJhaW5pbmdKb2IgPSBcInNhZ2VtYWtlcjpTdG9wVHJhaW5pbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlN0b3BUcmFuc2Zvcm1Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BUcmFuc2Zvcm1Kb2IgPSBcInNhZ2VtYWtlcjpTdG9wVHJhbnNmb3JtSm9iXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpUcmFpbkh1Yk1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBUcmFpbkh1Yk1vZGVsID0gXCJzYWdlbWFrZXI6VHJhaW5IdWJNb2RlbFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlQWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBY3Rpb24gPSBcInNhZ2VtYWtlcjpVcGRhdGVBY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUFwcEltYWdlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcHBJbWFnZUNvbmZpZyA9IFwic2FnZW1ha2VyOlVwZGF0ZUFwcEltYWdlQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVBcnRpZmFjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXJ0aWZhY3QgPSBcInNhZ2VtYWtlcjpVcGRhdGVBcnRpZmFjdFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2x1c3RlciA9IFwic2FnZW1ha2VyOlVwZGF0ZUNsdXN0ZXJcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUNsdXN0ZXJJbmZlcmVuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsdXN0ZXJJbmZlcmVuY2UgPSBcInNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVySW5mZXJlbmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVDbHVzdGVyU29mdHdhcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsdXN0ZXJTb2Z0d2FyZSA9IFwic2FnZW1ha2VyOlVwZGF0ZUNsdXN0ZXJTb2Z0d2FyZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlQ29kZVJlcG9zaXRvcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvZGVSZXBvc2l0b3J5ID0gXCJzYWdlbWFrZXI6VXBkYXRlQ29kZVJlcG9zaXRvcnlcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUNvbXB1dGVRdW90YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29tcHV0ZVF1b3RhID0gXCJzYWdlbWFrZXI6VXBkYXRlQ29tcHV0ZVF1b3RhXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVDb250ZXh0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb250ZXh0ID0gXCJzYWdlbWFrZXI6VXBkYXRlQ29udGV4dFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlRGV2aWNlRmxlZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURldmljZUZsZWV0ID0gXCJzYWdlbWFrZXI6VXBkYXRlRGV2aWNlRmxlZXRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZURldmljZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURldmljZXMgPSBcInNhZ2VtYWtlcjpVcGRhdGVEZXZpY2VzXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVEb21haW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURvbWFpbiA9IFwic2FnZW1ha2VyOlVwZGF0ZURvbWFpblwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUVuZHBvaW50ID0gXCJzYWdlbWFrZXI6VXBkYXRlRW5kcG9pbnRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUVuZHBvaW50V2VpZ2h0c0FuZENhcGFjaXRpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUVuZHBvaW50V2VpZ2h0c0FuZENhcGFjaXRpZXMgPVxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUVuZHBvaW50V2VpZ2h0c0FuZENhcGFjaXRpZXNcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUV4cGVyaW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUV4cGVyaW1lbnQgPSBcInNhZ2VtYWtlcjpVcGRhdGVFeHBlcmltZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVGZWF0dXJlR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZlYXR1cmVHcm91cCA9IFwic2FnZW1ha2VyOlVwZGF0ZUZlYXR1cmVHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlRmVhdHVyZU1ldGFkYXRhICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGZWF0dXJlTWV0YWRhdGEgPSBcInNhZ2VtYWtlcjpVcGRhdGVGZWF0dXJlTWV0YWRhdGFcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUh1YiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSHViID0gXCJzYWdlbWFrZXI6VXBkYXRlSHViXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVIdWJDb250ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVIdWJDb250ZW50ID0gXCJzYWdlbWFrZXI6VXBkYXRlSHViQ29udGVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlSHViQ29udGVudFJlZmVyZW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSHViQ29udGVudFJlZmVyZW5jZSA9XG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSHViQ29udGVudFJlZmVyZW5jZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlSW1hZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUltYWdlID0gXCJzYWdlbWFrZXI6VXBkYXRlSW1hZ2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZUltYWdlVmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW1hZ2VWZXJzaW9uID0gXCJzYWdlbWFrZXI6VXBkYXRlSW1hZ2VWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVJbmZlcmVuY2VDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUluZmVyZW5jZUNvbXBvbmVudCA9XG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVJbmZlcmVuY2VDb21wb25lbnRSdW50aW1lQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbmZlcmVuY2VDb21wb25lbnRSdW50aW1lQ29uZmlnID1cblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVJbmZlcmVuY2VDb21wb25lbnRSdW50aW1lQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVJbmZlcmVuY2VFeHBlcmltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbmZlcmVuY2VFeHBlcmltZW50ID1cblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVJbmZlcmVuY2VFeHBlcmltZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVNbGZsb3dBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1sZmxvd0FwcCA9IFwic2FnZW1ha2VyOlVwZGF0ZU1sZmxvd0FwcFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1sZmxvd1RyYWNraW5nU2VydmVyID1cblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVNbGZsb3dUcmFja2luZ1NlcnZlclwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlTW9kZWxDYXJkICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNb2RlbENhcmQgPSBcInNhZ2VtYWtlcjpVcGRhdGVNb2RlbENhcmRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZU1vZGVsUGFja2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTW9kZWxQYWNrYWdlID0gXCJzYWdlbWFrZXI6VXBkYXRlTW9kZWxQYWNrYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVNb25pdG9yaW5nQWxlcnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vbml0b3JpbmdBbGVydCA9IFwic2FnZW1ha2VyOlVwZGF0ZU1vbml0b3JpbmdBbGVydFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlTW9uaXRvcmluZ1NjaGVkdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNb25pdG9yaW5nU2NoZWR1bGUgPVxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZU1vbml0b3JpbmdTY2hlZHVsZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlTm90ZWJvb2tJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTm90ZWJvb2tJbnN0YW5jZSA9IFwic2FnZW1ha2VyOlVwZGF0ZU5vdGVib29rSW5zdGFuY2VcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgPVxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVBhcnRuZXJBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBhcnRuZXJBcHAgPSBcInNhZ2VtYWtlcjpVcGRhdGVQYXJ0bmVyQXBwXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVQaXBlbGluZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGlwZWxpbmUgPSBcInNhZ2VtYWtlcjpVcGRhdGVQaXBlbGluZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlUGlwZWxpbmVFeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBpcGVsaW5lRXhlY3V0aW9uID0gXCJzYWdlbWFrZXI6VXBkYXRlUGlwZWxpbmVFeGVjdXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVBpcGVsaW5lVmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGlwZWxpbmVWZXJzaW9uID0gXCJzYWdlbWFrZXI6VXBkYXRlUGlwZWxpbmVWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVQcm9qZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm9qZWN0ID0gXCJzYWdlbWFrZXI6VXBkYXRlUHJvamVjdFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlUmV3YXJkICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXdhcmQgPSBcInNhZ2VtYWtlcjpVcGRhdGVSZXdhcmRcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVNoYXJlZE1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTaGFyZWRNb2RlbCA9IFwic2FnZW1ha2VyOlVwZGF0ZVNoYXJlZE1vZGVsXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVTcGFjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3BhY2UgPSBcInNhZ2VtYWtlcjpVcGRhdGVTcGFjZVwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlVHJhaW5pbmdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRyYWluaW5nSm9iID0gXCJzYWdlbWFrZXI6VXBkYXRlVHJhaW5pbmdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVRyaWFsICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUcmlhbCA9IFwic2FnZW1ha2VyOlVwZGF0ZVRyaWFsXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVUcmlhbENvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVHJpYWxDb21wb25lbnQgPSBcInNhZ2VtYWtlcjpVcGRhdGVUcmlhbENvbXBvbmVudFwiO1xuXHQvKiogW1dyaXRlXSBzYWdlbWFrZXI6VXBkYXRlVXNlclByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVVzZXJQcm9maWxlID0gXCJzYWdlbWFrZXI6VXBkYXRlVXNlclByb2ZpbGVcIjtcblx0LyoqIFtXcml0ZV0gc2FnZW1ha2VyOlVwZGF0ZVdvcmtmb3JjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlV29ya2ZvcmNlID0gXCJzYWdlbWFrZXI6VXBkYXRlV29ya2ZvcmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNhZ2VtYWtlcjpVcGRhdGVXb3JrdGVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlV29ya3RlYW0gPSBcInNhZ2VtYWtlcjpVcGRhdGVXb3JrdGVhbVwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQWNjZXNzTW9kZWxQYWNrYWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQmF0Y2hEZXNjcmliZU1vZGVsUGFja2FnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkJhdGNoR2V0TWV0cmljcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkJhdGNoR2V0UmVjb3JkLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ2FsbFdpdGhCZWFyZXJUb2tlbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUh1YkNvbnRlbnRQcmVzaWduZWRVcmxzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVBSUJlbmNobWFya0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQUlSZWNvbW1lbmRhdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQUlXb3JrbG9hZENvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQWN0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVBbGdvcml0aG0sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUFwcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQXBwSW1hZ2VDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUFydGlmYWN0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVBdXRvTUxKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUF1dG9NTEpvYlYyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVDbHVzdGVyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVDbHVzdGVyRXZlbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUNsdXN0ZXJJbmZlcmVuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUNsdXN0ZXJOb2RlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVDb2RlUmVwb3NpdG9yeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQ29tcGlsYXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUNvbXB1dGVRdW90YSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlQ29udGV4dCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVEZXZpY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZURldmljZUZsZWV0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVEb21haW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUVkZ2VEZXBsb3ltZW50UGxhbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRWRnZVBhY2thZ2luZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRW5kcG9pbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUVuZHBvaW50Q29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVFeHBlcmltZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVGZWF0dXJlR3JvdXAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUZlYXR1cmVNZXRhZGF0YSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlRmxvd0RlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUh1Yixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlSHViQ29udGVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlSHVtYW5Mb29wLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVIdW1hblRhc2tVaSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUltYWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVJbWFnZVZlcnNpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUluZmVyZW5jZUNvbXBvbmVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlSW5mZXJlbmNlRXhwZXJpbWVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUpvYlNjaGVtYVZlcnNpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZUxhYmVsaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVMaW5lYWdlR3JvdXAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU1sZmxvd0FwcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTWxmbG93VHJhY2tpbmdTZXJ2ZXIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU1vZGVsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNb2RlbEJpYXNKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVNb2RlbENhcmQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU1vZGVsQ2FyZEV4cG9ydEpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU1vZGVsUGFja2FnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTW9kZWxQYWNrYWdlR3JvdXAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZU1vbml0b3JpbmdTY2hlZHVsZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlT3B0aW1pemF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVQYXJ0bmVyQXBwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVQaXBlbGluZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlUGlwZWxpbmVEZWZpbml0aW9uRm9yRXhlY3V0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVQaXBlbGluZUV4ZWN1dGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlUHJvY2Vzc2luZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlUHJvamVjdCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlUmVzZXJ2ZWRDYXBhY2l0eSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlU2hhcmVkTW9kZWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVNwYWNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVTdHVkaW9MaWZlY3ljbGVDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVN1YnNjcmliZWRXb3JrdGVhbSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlVHJhaW5pbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVRyYWluaW5nUGxhbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlVHJhaW5pbmdQbGFuRXh0ZW5zaW9uSGlzdG9yeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlVHJhbnNmb3JtSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVUcmlhbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlc2NyaWJlVHJpYWxDb21wb25lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVVzZXJQcm9maWxlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVzY3JpYmVXb3JrZm9yY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXNjcmliZVdvcmt0ZWFtLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuYWN0aW9uR2V0RGVwbG95bWVudHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5hY3Rpb25HZXREZXZpY2VGbGVldFJlcG9ydCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLmFjdGlvbkdldERldmljZVJlZ2lzdHJhdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLmFjdGlvbkdldExpbmVhZ2VHcm91cFBvbGljeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLmFjdGlvbkdldE1vZGVsUGFja2FnZUdyb3VwUG9saWN5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuYWN0aW9uR2V0UmVjb3JkLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuYWN0aW9uR2V0UmVzb3VyY2VQb2xpY3ksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5hY3Rpb25HZXRTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpb1N0YXR1cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLmFjdGlvbkdldFNjYWxpbmdDb25maWd1cmF0aW9uUmVjb21tZW5kYXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5hY3Rpb25HZXRTZWFyY2hTdWdnZXN0aW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkludm9rZUVuZHBvaW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuSW52b2tlRW5kcG9pbnRBc3luYyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkludm9rZUVuZHBvaW50V2l0aFJlc3BvbnNlU3RyZWFtLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuUmVuZGVyVWlUZW1wbGF0ZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlNlYXJjaCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlNlYXJjaFRyYWluaW5nUGxhbk9mZmVyaW5ncyxcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkFkZEFzc29jaWF0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQXNzb2NpYXRlVHJpYWxDb21wb25lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5BdHRhY2hDbHVzdGVyTm9kZVZvbHVtZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkJhdGNoQWRkQ2x1c3Rlck5vZGVzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQmF0Y2hEZWxldGVDbHVzdGVyTm9kZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5CYXRjaFB1dE1ldHJpY3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5CYXRjaFJlYm9vdENsdXN0ZXJOb2Rlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkJhdGNoUmVwbGFjZUNsdXN0ZXJOb2Rlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkJhdGNoV3JpdGVSZWNvcmQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DYWxsTWxmbG93QXBwQXBpLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ2FsbFBhcnRuZXJBcHBBcGksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5Db21wbGV0ZVJvbGxvdXQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVBSUJlbmNobWFya0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUFJUmVjb21tZW5kYXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVBSVdvcmtsb2FkQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQWN0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQWxnb3JpdGhtLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQXBwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQXBwSW1hZ2VDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVBcnRpZmFjdCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUF1dG9NTEpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUF1dG9NTEpvYlYyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQ2x1c3Rlcixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVDb2RlUmVwb3NpdG9yeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUNvbXBpbGF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQ29tcHV0ZVF1b3RhLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlQ29udGV4dCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZURldmljZUZsZWV0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlRG9tYWluLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlRWRnZURlcGxveW1lbnRQbGFuLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlRWRnZURlcGxveW1lbnRTdGFnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUVkZ2VQYWNrYWdpbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVFbmRwb2ludCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUVuZHBvaW50Q29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlRXhwZXJpbWVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUZlYXR1cmVHcm91cCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUZsb3dEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlSHViLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlSHViQ29udGVudFJlZmVyZW5jZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUh1bWFuVGFza1VpLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVJbWFnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUltYWdlVmVyc2lvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUluZmVyZW5jZUNvbXBvbmVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUluZmVyZW5jZUV4cGVyaW1lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVMYWJlbGluZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZUxpbmVhZ2VHcm91cFBvbGljeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU1sZmxvd0FwcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU1sZmxvd1RyYWNraW5nU2VydmVyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTW9kZWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTW9kZWxDYXJkLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTW9kZWxDYXJkRXhwb3J0Sm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVNb2RlbFBhY2thZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVNb2RlbFBhY2thZ2VHcm91cCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVNb25pdG9yaW5nU2NoZWR1bGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVOb3RlYm9va0luc3RhbmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZU9wdGltaXphdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVBhcnRuZXJBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVQYXJ0bmVyQXBwUHJlc2lnbmVkVXJsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlUGlwZWxpbmUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVQcmVzaWduZWREb21haW5VcmwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVQcmVzaWduZWRNbGZsb3dBcHBVcmwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVQcmVzaWduZWRNbGZsb3dUcmFja2luZ1NlcnZlclVybCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVByZXNpZ25lZE5vdGVib29rSW5zdGFuY2VVcmwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVQcm9jZXNzaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlUHJvamVjdCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVJlc2VydmVkQ2FwYWNpdHksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVTaGFyZWRNb2RlbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVNwYWNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlVHJhaW5pbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVUcmFpbmluZ1BsYW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVUcmFuc2Zvcm1Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVUcmlhbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkNyZWF0ZVRyaWFsQ29tcG9uZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuQ3JlYXRlVXNlclByb2ZpbGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVXb3JrZm9yY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5DcmVhdGVXb3JrdGVhbSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUFJQmVuY2htYXJrSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQUlSZWNvbW1lbmRhdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUFJV29ya2xvYWRDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVBY3Rpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVBbGdvcml0aG0sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVBcHBJbWFnZUNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUFydGlmYWN0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQXNzb2NpYXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVDbHVzdGVyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUNvZGVSZXBvc2l0b3J5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlQ29tcGlsYXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVDb21wdXRlUXVvdGEsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVDb250ZXh0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlRGV2aWNlRmxlZXQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVEb21haW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVFZGdlRGVwbG95bWVudFBsYW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVFZGdlRGVwbG95bWVudFN0YWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlRW5kcG9pbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVFbmRwb2ludENvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUV4cGVyaW1lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVGZWF0dXJlR3JvdXAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVGbG93RGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUh1Yixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUh1YkNvbnRlbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVIdWJDb250ZW50UmVmZXJlbmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlSHVtYW5Mb29wLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlSHVtYW5UYXNrVWksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUltYWdlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlSW1hZ2VWZXJzaW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlSW5mZXJlbmNlQ29tcG9uZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlSW5mZXJlbmNlRXhwZXJpbWVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZUxpbmVhZ2VHcm91cFBvbGljeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU1sZmxvd0FwcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU1sZmxvd1RyYWNraW5nU2VydmVyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTW9kZWwsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTW9kZWxDYXJkLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVNb2RlbFBhY2thZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVNb2RlbFBhY2thZ2VHcm91cCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU1vZGVsUGFja2FnZUdyb3VwUG9saWN5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU1vbml0b3JpbmdTY2hlZHVsZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZU5vdGVib29rSW5zdGFuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlT3B0aW1pemF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlUGFydG5lckFwcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVBpcGVsaW5lLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlUHJvY2Vzc2luZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVByb2plY3QsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVSZWNvcmQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVSZXNvdXJjZVBvbGljeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVNwYWNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlVHJhaW5pbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVUcmlhbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlbGV0ZVRyaWFsQ29tcG9uZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVsZXRlVXNlclByb2ZpbGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVXb3JrZm9yY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVXb3JrdGVhbSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRlcGxveUh1Yk1vZGVsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRGVyZWdpc3RlckRldmljZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZXRhY2hDbHVzdGVyTm9kZVZvbHVtZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRpc2FibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpbyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkRpc2Fzc29jaWF0ZVRyaWFsQ29tcG9uZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuRW5hYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW8sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5FeHRlbmRUcmFpbmluZ1BsYW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5JbXBvcnRIdWJDb250ZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuUHV0TGluZWFnZUdyb3VwUG9saWN5LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuUHV0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3ksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5QdXRSZWNvcmQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5QdXRSZXNvdXJjZVBvbGljeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlJlZ2lzdGVyRGV2aWNlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlJldHJ5UGlwZWxpbmVFeGVjdXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TYW1wbGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TYW1wbGVXaXRoUmVzcG9uc2VTdHJlYW0sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TZW5kSGVhcnRiZWF0LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcEZhaWx1cmUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TZW5kUGlwZWxpbmVFeGVjdXRpb25TdGVwU3VjY2Vzcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlNlbmRTaGFyZWRNb2RlbEV2ZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RhcnRDbHVzdGVySGVhbHRoQ2hlY2ssXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdGFydEVkZ2VEZXBsb3ltZW50U3RhZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdGFydEh1bWFuTG9vcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0YXJ0SW5mZXJlbmNlRXhwZXJpbWVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0YXJ0TWxmbG93VHJhY2tpbmdTZXJ2ZXIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdGFydE1vbml0b3JpbmdTY2hlZHVsZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0YXJ0Tm90ZWJvb2tJbnN0YW5jZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0YXJ0UGlwZWxpbmVFeGVjdXRpb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdGFydFNlc3Npb24sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wQUlCZW5jaG1hcmtKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wQUlSZWNvbW1lbmRhdGlvbkpvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BBdXRvTUxKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wQ29tcGlsYXRpb25Kb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wRWRnZURlcGxveW1lbnRTdGFnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BFZGdlUGFja2FnaW5nSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcEh1bWFuTG9vcCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BIeXBlclBhcmFtZXRlclR1bmluZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BJbmZlcmVuY2VFeHBlcmltZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlN0b3BKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wTGFiZWxpbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wTWxmbG93VHJhY2tpbmdTZXJ2ZXIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wTW9uaXRvcmluZ1NjaGVkdWxlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcE5vdGVib29rSW5zdGFuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wT3B0aW1pemF0aW9uSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcFBpcGVsaW5lRXhlY3V0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuU3RvcFByb2Nlc3NpbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wVHJhaW5pbmdKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5TdG9wVHJhbnNmb3JtSm9iLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVHJhaW5IdWJNb2RlbCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUFjdGlvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUFwcEltYWdlQ29uZmlnLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlQXJ0aWZhY3QsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVDbHVzdGVyLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlQ2x1c3RlckluZmVyZW5jZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVDbHVzdGVyU29mdHdhcmUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVDb2RlUmVwb3NpdG9yeSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUNvbXB1dGVRdW90YSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUNvbnRleHQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVEZXZpY2VGbGVldCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZURldmljZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVEb21haW4sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVFbmRwb2ludCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUVuZHBvaW50V2VpZ2h0c0FuZENhcGFjaXRpZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVFeHBlcmltZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlRmVhdHVyZUdyb3VwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlRmVhdHVyZU1ldGFkYXRhLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlSHViLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlSHViQ29udGVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUh1YkNvbnRlbnRSZWZlcmVuY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVJbWFnZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUltYWdlVmVyc2lvbixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUluZmVyZW5jZUNvbXBvbmVudCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZUluZmVyZW5jZUNvbXBvbmVudFJ1bnRpbWVDb25maWcsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVJbmZlcmVuY2VFeHBlcmltZW50LFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlTWxmbG93QXBwLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVNb2RlbENhcmQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVNb2RlbFBhY2thZ2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVNb25pdG9yaW5nQWxlcnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVNb25pdG9yaW5nU2NoZWR1bGUsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVOb3RlYm9va0luc3RhbmNlLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVBhcnRuZXJBcHAsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVQaXBlbGluZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVBpcGVsaW5lRXhlY3V0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlUGlwZWxpbmVWZXJzaW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlUHJvamVjdCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVJld2FyZCxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVNoYXJlZE1vZGVsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlU3BhY2UsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVUcmFpbmluZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVRyaWFsLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuVXBkYXRlVHJpYWxDb21wb25lbnQsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5VcGRhdGVVc2VyUHJvZmlsZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVdvcmtmb3JjZSxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLlVwZGF0ZVdvcmt0ZWFtLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RBSUJlbmNobWFya0pvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0QUlSZWNvbW1lbmRhdGlvbkpvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0QUlXb3JrbG9hZENvbmZpZ3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0QWN0aW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RBbGdvcml0aG1zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEFsaWFzZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0QXBwSW1hZ2VDb25maWdzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEFwcHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0QXJ0aWZhY3RzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEFzc29jaWF0aW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RBdXRvTUxKb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdENhbmRpZGF0ZXNGb3JBdXRvTUxKb2IsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Q2x1c3RlckV2ZW50cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RDbHVzdGVyTm9kZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Q2x1c3RlclNjaGVkdWxlckNvbmZpZ3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Q2x1c3RlcnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Q29kZVJlcG9zaXRvcmllcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RDb21waWxhdGlvbkpvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Q29tcHV0ZVF1b3Rhcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RDb250ZXh0cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3REYXRhUXVhbGl0eUpvYkRlZmluaXRpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdERldmljZUZsZWV0cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3REZXZpY2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdERvbWFpbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0RWRnZURlcGxveW1lbnRQbGFucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RFZGdlUGFja2FnaW5nSm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RFbmRwb2ludENvbmZpZ3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0RW5kcG9pbnRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEV4cGVyaW1lbnRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEZlYXR1cmVHcm91cHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Rmxvd0RlZmluaXRpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEh1YkNvbnRlbnRWZXJzaW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RIdWJDb250ZW50cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RIdWJzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEh1bWFuTG9vcHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0SHVtYW5UYXNrVWlzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RJbWFnZVZlcnNpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEltYWdlcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RJbmZlcmVuY2VDb21wb25lbnRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEluZmVyZW5jZUV4cGVyaW1lbnRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYlN0ZXBzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Sm9iU2NoZW1hVmVyc2lvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0Sm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RMYWJlbGluZ0pvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TGFiZWxpbmdKb2JzRm9yV29ya3RlYW0sXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TGluZWFnZUdyb3Vwcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNbGZsb3dBcHBzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1sZmxvd1RyYWNraW5nU2VydmVycyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb2RlbEJpYXNKb2JEZWZpbml0aW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb2RlbENhcmRFeHBvcnRKb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vZGVsQ2FyZFZlcnNpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vZGVsQ2FyZHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vZGVsTWV0YWRhdGEsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9kZWxQYWNrYWdlR3JvdXBzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vZGVsUGFja2FnZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9kZWxzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE1vbml0b3JpbmdBbGVydEhpc3RvcnksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0TW9uaXRvcmluZ0FsZXJ0cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb25pdG9yaW5nRXhlY3V0aW9ucyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RNb25pdG9yaW5nU2NoZWR1bGVzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE5vdGVib29rSW5zdGFuY2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdE9wdGltaXphdGlvbkpvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0UGFydG5lckFwcHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0UGlwZWxpbmVFeGVjdXRpb25TdGVwcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RQaXBlbGluZUV4ZWN1dGlvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0UGlwZWxpbmVQYXJhbWV0ZXJzRm9yRXhlY3V0aW9uLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFBpcGVsaW5lVmVyc2lvbnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0UGlwZWxpbmVzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFByb2Nlc3NpbmdKb2JzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFByb2plY3RzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFJlY29yZHMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0UmVzb3VyY2VDYXRhbG9ncyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RTaGFyZWRNb2RlbEV2ZW50cyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RTaGFyZWRNb2RlbFZlcnNpb25zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFNoYXJlZE1vZGVscyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RTcGFjZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0U3RhZ2VEZXZpY2VzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFN0dWRpb0xpZmVjeWNsZUNvbmZpZ3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0U3Vic2NyaWJlZFdvcmt0ZWFtcyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RUYWdzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFRyYWluaW5nSm9icyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RUcmFpbmluZ0pvYnNGb3JIeXBlclBhcmFtZXRlclR1bmluZ0pvYixcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RUcmFpbmluZ1BsYW5zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFRyYW5zZm9ybUpvYnMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0VHJpYWxDb21wb25lbnRzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFRyaWFscyxcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkxpc3RVbHRyYVNlcnZlcnNCeVJlc2VydmVkQ2FwYWNpdHksXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0VXNlclByb2ZpbGVzLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuTGlzdFdvcmtmb3JjZXMsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5MaXN0V29ya3RlYW1zLFxuXHRcdFNhZ2VNYWtlckFjdGlvbnMuUXVlcnlMaW5lYWdlLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRTYWdlTWFrZXJBY3Rpb25zLkFkZFRhZ3MsXG5cdFx0U2FnZU1ha2VyQWN0aW9ucy5EZWxldGVUYWdzLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYWN0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBY3Rpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQWN0aW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWN0aW9uTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFjdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQWN0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBY3Rpb25OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYWN0aW9uTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYWktYmVuY2htYXJrLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQWlCZW5jaG1hcmtKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQUlCZW5jaG1hcmtKb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhaUJlbmNobWFya0pvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhaS1iZW5jaG1hcmstam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBaUJlbmNobWFya0pvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQUlCZW5jaG1hcmtKb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYWlCZW5jaG1hcmtKb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhaS1yZWNvbW1lbmRhdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFpUmVjb21tZW5kYXRpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQUlSZWNvbW1lbmRhdGlvbkpvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFpUmVjb21tZW5kYXRpb25Kb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYWktcmVjb21tZW5kYXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBaVJlY29tbWVuZGF0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBSVJlY29tbWVuZGF0aW9uSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFpUmVjb21tZW5kYXRpb25Kb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhaS13b3JrbG9hZC1jb25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFpV29ya2xvYWRDb25maWdBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQUlXb3JrbG9hZENvbmZpZ05hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFpV29ya2xvYWRDb25maWdOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYWktd29ya2xvYWQtY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBaVdvcmtsb2FkQ29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBSVdvcmtsb2FkQ29uZmlnTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFpV29ya2xvYWRDb25maWdOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhbGdvcml0aG0gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFsZ29yaXRobUFyblByb3BzIHtcblx0LyoqIFRoZSBBbGdvcml0aG1OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhbGdvcml0aG1OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYWxnb3JpdGhtIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBbGdvcml0aG1Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFsZ29yaXRobU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhbGdvcml0aG1OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhcHAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFwcEFyblByb3BzIHtcblx0LyoqIFRoZSBEb21haW5JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluSWQ6IHN0cmluZztcblx0LyoqIFRoZSBVc2VyUHJvZmlsZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHVzZXJQcm9maWxlTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIEFwcFR5cGUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFwcFR5cGU6IHN0cmluZztcblx0LyoqIFRoZSBBcHBOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhcHBOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXBwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBcHBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvbWFpbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9tYWluSWQ6IHN0cmluZztcblx0LyoqIFRoZSBVc2VyUHJvZmlsZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB1c2VyUHJvZmlsZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBBcHBUeXBlIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXBwVHlwZTogc3RyaW5nO1xuXHQvKiogVGhlIEFwcE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhcHBOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhcHAtaW1hZ2UtY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBcHBJbWFnZUNvbmZpZ0FyblByb3BzIHtcblx0LyoqIFRoZSBBcHBJbWFnZUNvbmZpZ05hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFwcEltYWdlQ29uZmlnTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFwcC1pbWFnZS1jb25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckFwcEltYWdlQ29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBcHBJbWFnZUNvbmZpZ05hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhcHBJbWFnZUNvbmZpZ05hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFydGlmYWN0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJBcnRpZmFjdEFyblByb3BzIHtcblx0LyoqIFRoZSBIYXNoT2ZBcnRpZmFjdFNvdXJjZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaGFzaE9mQXJ0aWZhY3RTb3VyY2U6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhcnRpZmFjdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQXJ0aWZhY3RBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEhhc2hPZkFydGlmYWN0U291cmNlIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaGFzaE9mQXJ0aWZhY3RTb3VyY2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGF1dG9tbC1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckF1dG9tbEpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBBdXRvTUxKb2JKb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhdXRvTWxKb2JKb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXV0b21sLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQXV0b21sSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBdXRvTUxKb2JKb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXV0b01sSm9iSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY2x1c3RlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ2x1c3RlckFyblByb3BzIHtcblx0LyoqIFRoZSBDbHVzdGVySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNsdXN0ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNsdXN0ZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENsdXN0ZXJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY2x1c3Rlci1zY2hlZHVsZXItY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDbHVzdGVyU2NoZWR1bGVyQ29uZmlnQXJuUHJvcHMge1xuXHQvKiogVGhlIENsdXN0ZXJTY2hlZHVsZXJDb25maWdJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2x1c3RlclNjaGVkdWxlckNvbmZpZ0lkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY2x1c3Rlci1zY2hlZHVsZXItY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDbHVzdGVyU2NoZWR1bGVyQ29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDbHVzdGVyU2NoZWR1bGVyQ29uZmlnSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbHVzdGVyU2NoZWR1bGVyQ29uZmlnSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNvZGUtcmVwb3NpdG9yeSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ29kZVJlcG9zaXRvcnlBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ29kZVJlcG9zaXRvcnlOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb2RlUmVwb3NpdG9yeU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjb2RlLXJlcG9zaXRvcnkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNvZGVSZXBvc2l0b3J5QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDb2RlUmVwb3NpdG9yeU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjb2RlUmVwb3NpdG9yeU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNvbXBpbGF0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ29tcGlsYXRpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ29tcGlsYXRpb25Kb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb21waWxhdGlvbkpvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjb21waWxhdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNvbXBpbGF0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDb21waWxhdGlvbkpvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjb21waWxhdGlvbkpvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNvbXB1dGUtcXVvdGEgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNvbXB1dGVRdW90YUFyblByb3BzIHtcblx0LyoqIFRoZSBDb21wdXRlUXVvdGFJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29tcHV0ZVF1b3RhSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjb21wdXRlLXF1b3RhIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJDb21wdXRlUXVvdGFBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENvbXB1dGVRdW90YUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29tcHV0ZVF1b3RhSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNvbnRleHQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckNvbnRleHRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ29udGV4dE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbnRleHROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY29udGV4dCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyQ29udGV4dEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29udGV4dE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjb250ZXh0TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGF0YS1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRhdGEtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGV2aWNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJEZXZpY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRGV2aWNlRmxlZXROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkZXZpY2VGbGVldE5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBEZXZpY2VOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkZXZpY2VOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZGV2aWNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJEZXZpY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERldmljZUZsZWV0TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRldmljZUZsZWV0TmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIERldmljZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkZXZpY2VOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkZXZpY2UtZmxlZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckRldmljZUZsZWV0QXJuUHJvcHMge1xuXHQvKiogVGhlIERldmljZUZsZWV0TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGV2aWNlRmxlZXROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZGV2aWNlLWZsZWV0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJEZXZpY2VGbGVldEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRGV2aWNlRmxlZXROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGV2aWNlRmxlZXROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkb21haW4gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckRvbWFpbkFyblByb3BzIHtcblx0LyoqIFRoZSBEb21haW5JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkb21haW4gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckRvbWFpbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRG9tYWluSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZWRnZS1kZXBsb3ltZW50LXBsYW4gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckVkZ2VEZXBsb3ltZW50UGxhbkFyblByb3BzIHtcblx0LyoqIFRoZSBFZGdlRGVwbG95bWVudFBsYW5OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBlZGdlRGVwbG95bWVudFBsYW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZWRnZS1kZXBsb3ltZW50LXBsYW4gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckVkZ2VEZXBsb3ltZW50UGxhbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRWRnZURlcGxveW1lbnRQbGFuTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGVkZ2VEZXBsb3ltZW50UGxhbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGVkZ2UtcGFja2FnaW5nLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRWRnZVBhY2thZ2luZ0pvYkFyblByb3BzIHtcblx0LyoqIFRoZSBFZGdlUGFja2FnaW5nSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZWRnZVBhY2thZ2luZ0pvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBlZGdlLXBhY2thZ2luZy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckVkZ2VQYWNrYWdpbmdKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEVkZ2VQYWNrYWdpbmdKb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZWRnZVBhY2thZ2luZ0pvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGVuZHBvaW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFbmRwb2ludEFyblByb3BzIHtcblx0LyoqIFRoZSBFbmRwb2ludE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGVuZHBvaW50TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGVuZHBvaW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFbmRwb2ludEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRW5kcG9pbnROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZW5kcG9pbnROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBlbmRwb2ludC1jb25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckVuZHBvaW50Q29uZmlnQXJuUHJvcHMge1xuXHQvKiogVGhlIEVuZHBvaW50Q29uZmlnTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZW5kcG9pbnRDb25maWdOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZW5kcG9pbnQtY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFbmRwb2ludENvbmZpZ0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRW5kcG9pbnRDb25maWdOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZW5kcG9pbnRDb25maWdOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBleHBlcmltZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJFeHBlcmltZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIEV4cGVyaW1lbnROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBleHBlcmltZW50TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGV4cGVyaW1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckV4cGVyaW1lbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEV4cGVyaW1lbnROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZXhwZXJpbWVudE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGV4cGVyaW1lbnQtdHJpYWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckV4cGVyaW1lbnRUcmlhbEFyblByb3BzIHtcblx0LyoqIFRoZSBUcmlhbE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRyaWFsTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGV4cGVyaW1lbnQtdHJpYWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckV4cGVyaW1lbnRUcmlhbEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgVHJpYWxOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdHJpYWxOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBleHBlcmltZW50LXRyaWFsLWNvbXBvbmVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRXhwZXJpbWVudFRyaWFsQ29tcG9uZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIFRyaWFsQ29tcG9uZW50TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdHJpYWxDb21wb25lbnROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZXhwZXJpbWVudC10cmlhbC1jb21wb25lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckV4cGVyaW1lbnRUcmlhbENvbXBvbmVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgVHJpYWxDb21wb25lbnROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdHJpYWxDb21wb25lbnROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBmZWF0dXJlLWdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJGZWF0dXJlR3JvdXBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRmVhdHVyZUdyb3VwTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZmVhdHVyZUdyb3VwTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGZlYXR1cmUtZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckZlYXR1cmVHcm91cEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRmVhdHVyZUdyb3VwTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGZlYXR1cmVHcm91cE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGZsb3ctZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyRmxvd0RlZmluaXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRmxvd0RlZmluaXRpb25OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBmbG93RGVmaW5pdGlvbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBmbG93LWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckZsb3dEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBGbG93RGVmaW5pdGlvbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBmbG93RGVmaW5pdGlvbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGh1YiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySHViQXJuUHJvcHMge1xuXHQvKiogVGhlIEh1Yk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGh1Yk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBodWIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckh1YkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSHViTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGh1Yk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGh1Yi1jb250ZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJIdWJDb250ZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIEh1Yk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGh1Yk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBIdWJDb250ZW50VHlwZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaHViQ29udGVudFR5cGU6IHN0cmluZztcblx0LyoqIFRoZSBIdWJDb250ZW50TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaHViQ29udGVudE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBodWItY29udGVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySHViQ29udGVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSHViTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGh1Yk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBIdWJDb250ZW50VHlwZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGh1YkNvbnRlbnRUeXBlOiBzdHJpbmc7XG5cdC8qKiBUaGUgSHViQ29udGVudE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBodWJDb250ZW50TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaHVtYW4tbG9vcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySHVtYW5Mb29wQXJuUHJvcHMge1xuXHQvKiogVGhlIEh1bWFuTG9vcE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGh1bWFuTG9vcE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBodW1hbi1sb29wIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJIdW1hbkxvb3BBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEh1bWFuTG9vcE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBodW1hbkxvb3BOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBodW1hbi10YXNrLXVpIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJIdW1hblRhc2tVaUFyblByb3BzIHtcblx0LyoqIFRoZSBIdW1hblRhc2tVaU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGh1bWFuVGFza1VpTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGh1bWFuLXRhc2stdWkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckh1bWFuVGFza1VpQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBIdW1hblRhc2tVaU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBodW1hblRhc2tVaU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGh5cGVyLXBhcmFtZXRlci10dW5pbmctam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJIeXBlclBhcmFtZXRlclR1bmluZ0pvYkFyblByb3BzIHtcblx0LyoqIFRoZSBIeXBlclBhcmFtZXRlclR1bmluZ0pvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGh5cGVyLXBhcmFtZXRlci10dW5pbmctam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJIeXBlclBhcmFtZXRlclR1bmluZ0pvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBpbWFnZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySW1hZ2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSW1hZ2VOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpbWFnZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBpbWFnZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySW1hZ2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEltYWdlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGltYWdlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaW1hZ2UtdmVyc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySW1hZ2VWZXJzaW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIEltYWdlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaW1hZ2VOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgVmVyc2lvbiBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGltYWdlLXZlcnNpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckltYWdlVmVyc2lvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSW1hZ2VOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaW1hZ2VOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgVmVyc2lvbiBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGluZmVyZW5jZS1jb21wb25lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckluZmVyZW5jZUNvbXBvbmVudEFyblByb3BzIHtcblx0LyoqIFRoZSBJbmZlcmVuY2VDb21wb25lbnROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpbmZlcmVuY2VDb21wb25lbnROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaW5mZXJlbmNlLWNvbXBvbmVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VySW5mZXJlbmNlQ29tcG9uZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJbmZlcmVuY2VDb21wb25lbnROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaW5mZXJlbmNlQ29tcG9uZW50TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaW5mZXJlbmNlLWV4cGVyaW1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckluZmVyZW5jZUV4cGVyaW1lbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSW5mZXJlbmNlRXhwZXJpbWVudE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGluZmVyZW5jZUV4cGVyaW1lbnROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaW5mZXJlbmNlLWV4cGVyaW1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckluZmVyZW5jZUV4cGVyaW1lbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEluZmVyZW5jZUV4cGVyaW1lbnROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaW5mZXJlbmNlRXhwZXJpbWVudE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGluZmVyZW5jZS1yZWNvbW1lbmRhdGlvbnMtam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGluZmVyZW5jZS1yZWNvbW1lbmRhdGlvbnMtam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBqb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlckpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBKb2JDYXRlZ29yeSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgam9iQ2F0ZWdvcnk6IHN0cmluZztcblx0LyoqIFRoZSBKb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBqb2JOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEpvYkNhdGVnb3J5IGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgam9iQ2F0ZWdvcnk6IHN0cmluZztcblx0LyoqIFRoZSBKb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgam9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbGFiZWxpbmctam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJMYWJlbGluZ0pvYkFyblByb3BzIHtcblx0LyoqIFRoZSBMYWJlbGluZ0pvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxhYmVsaW5nSm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGxhYmVsaW5nLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTGFiZWxpbmdKb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIExhYmVsaW5nSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGxhYmVsaW5nSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbGluZWFnZS1ncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTGluZWFnZUdyb3VwQXJuUHJvcHMge1xuXHQvKiogVGhlIExpbmVhZ2VHcm91cE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxpbmVhZ2VHcm91cE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBsaW5lYWdlLWdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJMaW5lYWdlR3JvdXBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIExpbmVhZ2VHcm91cE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsaW5lYWdlR3JvdXBOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtbGZsb3ctYXBwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNbGZsb3dBcHBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTUxmbG93QXBwSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1MZmxvd0FwcElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbWxmbG93LWFwcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTWxmbG93QXBwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNTGZsb3dBcHBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1MZmxvd0FwcElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtbGZsb3ctdHJhY2tpbmctc2VydmVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNbGZsb3dUcmFja2luZ1NlcnZlckFyblByb3BzIHtcblx0LyoqIFRoZSBNbGZsb3dUcmFja2luZ1NlcnZlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1sZmxvd1RyYWNraW5nU2VydmVyTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1sZmxvdy10cmFja2luZy1zZXJ2ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1sZmxvd1RyYWNraW5nU2VydmVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNbGZsb3dUcmFja2luZ1NlcnZlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtbGZsb3dUcmFja2luZ1NlcnZlck5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbEFyblByb3BzIHtcblx0LyoqIFRoZSBNb2RlbE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1vZGVsTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9kZWxOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbW9kZWxOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbC1iaWFzLWpvYi1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbEJpYXNKb2JEZWZpbml0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIE1vZGVsQmlhc0pvYkRlZmluaXRpb25OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtb2RlbEJpYXNKb2JEZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsLWJpYXMtam9iLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsQmlhc0pvYkRlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1vZGVsQmlhc0pvYkRlZmluaXRpb25OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbW9kZWxCaWFzSm9iRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLWNhcmQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsQ2FyZEFyblByb3BzIHtcblx0LyoqIFRoZSBNb2RlbENhcmROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtb2RlbENhcmROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwtY2FyZCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxDYXJkQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNb2RlbENhcmROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbW9kZWxDYXJkTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9kZWwtY2FyZC1leHBvcnQtam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbENhcmRFeHBvcnRKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTW9kZWxDYXJkTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9kZWxDYXJkTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIEV4cG9ydEpvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGV4cG9ydEpvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1jYXJkLWV4cG9ydC1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsQ2FyZEV4cG9ydEpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9kZWxDYXJkTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1vZGVsQ2FyZE5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBFeHBvcnRKb2JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZXhwb3J0Sm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9kZWwtZXhwbGFpbmFiaWxpdHktam9iLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwtZXhwbGFpbmFiaWxpdHktam9iLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vZGVsLXBhY2thZ2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsUGFja2FnZUFyblByb3BzIHtcblx0LyoqIFRoZSBNb2RlbFBhY2thZ2VOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtb2RlbFBhY2thZ2VOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9kZWwtcGFja2FnZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxQYWNrYWdlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNb2RlbFBhY2thZ2VOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbW9kZWxQYWNrYWdlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9kZWwtcGFja2FnZS1ncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9kZWxQYWNrYWdlR3JvdXBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTW9kZWxQYWNrYWdlR3JvdXBOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtb2RlbFBhY2thZ2VHcm91cE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtb2RlbC1wYWNrYWdlLWdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbFBhY2thZ2VHcm91cEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9kZWxQYWNrYWdlR3JvdXBOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbW9kZWxQYWNrYWdlR3JvdXBOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtb2RlbC1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIE1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1vZGVsLXF1YWxpdHktam9iLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1vbml0b3Jpbmctc2NoZWR1bGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck1vbml0b3JpbmdTY2hlZHVsZUFyblByb3BzIHtcblx0LyoqIFRoZSBNb25pdG9yaW5nU2NoZWR1bGVOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtb25pdG9yaW5nU2NoZWR1bGVOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9uaXRvcmluZy1zY2hlZHVsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9uaXRvcmluZ1NjaGVkdWxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNb25pdG9yaW5nU2NoZWR1bGVOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbW9uaXRvcmluZ1NjaGVkdWxlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbW9uaXRvcmluZy1zY2hlZHVsZS1hbGVydCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9uaXRvcmluZ1NjaGVkdWxlQWxlcnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTW9uaXRvcmluZ1NjaGVkdWxlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9uaXRvcmluZ1NjaGVkdWxlTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIE1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbW9uaXRvcmluZ1NjaGVkdWxlQWxlcnROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbW9uaXRvcmluZy1zY2hlZHVsZS1hbGVydCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTW9uaXRvcmluZ1NjaGVkdWxlQWxlcnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1vbml0b3JpbmdTY2hlZHVsZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBtb25pdG9yaW5nU2NoZWR1bGVOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgTW9uaXRvcmluZ1NjaGVkdWxlQWxlcnROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbW9uaXRvcmluZ1NjaGVkdWxlQWxlcnROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBub3RlYm9vay1pbnN0YW5jZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTm90ZWJvb2tJbnN0YW5jZUFyblByb3BzIHtcblx0LyoqIFRoZSBOb3RlYm9va0luc3RhbmNlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbm90ZWJvb2tJbnN0YW5jZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBub3RlYm9vay1pbnN0YW5jZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTm90ZWJvb2tJbnN0YW5jZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTm90ZWJvb2tJbnN0YW5jZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBub3RlYm9va0luc3RhbmNlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbm90ZWJvb2staW5zdGFuY2UtbGlmZWN5Y2xlLWNvbmZpZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FyblByb3BzIHtcblx0LyoqIFRoZSBOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ05hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBub3RlYm9vay1pbnN0YW5jZS1saWZlY3ljbGUtY29uZmlnIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBvcHRpbWl6YXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJPcHRpbWl6YXRpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgT3B0aW1pemF0aW9uSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgb3B0aW1pemF0aW9uSm9iTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG9wdGltaXphdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlck9wdGltaXphdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgT3B0aW1pemF0aW9uSm9iTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG9wdGltaXphdGlvbkpvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHBhcnRuZXItYXBwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJQYXJ0bmVyQXBwQXJuUHJvcHMge1xuXHQvKiogVGhlIEFwcElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhcHBJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHBhcnRuZXItYXBwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJQYXJ0bmVyQXBwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBcHBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFwcElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwaXBlbGluZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUGlwZWxpbmVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUGlwZWxpbmVOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwaXBlbGluZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwaXBlbGluZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUGlwZWxpbmVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFBpcGVsaW5lTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHBpcGVsaW5lTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcGlwZWxpbmUtZXhlY3V0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJQaXBlbGluZUV4ZWN1dGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBQaXBlbGluZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHBpcGVsaW5lTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFJhbmRvbVN0cmluZyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmFuZG9tU3RyaW5nOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcGlwZWxpbmUtZXhlY3V0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJQaXBlbGluZUV4ZWN1dGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUGlwZWxpbmVOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcGlwZWxpbmVOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmFuZG9tU3RyaW5nIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmFuZG9tU3RyaW5nOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwcm9jZXNzaW5nLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUHJvY2Vzc2luZ0pvYkFyblByb3BzIHtcblx0LyoqIFRoZSBQcm9jZXNzaW5nSm9iTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcHJvY2Vzc2luZ0pvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwcm9jZXNzaW5nLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUHJvY2Vzc2luZ0pvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvY2Vzc2luZ0pvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwcm9jZXNzaW5nSm9iTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcHJvamVjdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUHJvamVjdEFyblByb3BzIHtcblx0LyoqIFRoZSBQcm9qZWN0TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcHJvamVjdE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwcm9qZWN0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJQcm9qZWN0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQcm9qZWN0TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByb2plY3ROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSByZXNlcnZlZC1jYXBhY2l0eSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyUmVzZXJ2ZWRDYXBhY2l0eUFyblByb3BzIHtcblx0LyoqIFRoZSBSYW5kb21TdHJpbmcgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJhbmRvbVN0cmluZzogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJlc2VydmVkLWNhcGFjaXR5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJSZXNlcnZlZENhcGFjaXR5QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSYW5kb21TdHJpbmcgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByYW5kb21TdHJpbmc6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNhZ2VtYWtlci1jYXRhbG9nIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJTYWdlbWFrZXJDYXRhbG9nQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlQ2F0YWxvZ05hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlQ2F0YWxvZ05hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzYWdlbWFrZXItY2F0YWxvZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyU2FnZW1ha2VyQ2F0YWxvZ0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VDYXRhbG9nTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlQ2F0YWxvZ05hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNoYXJlZC1tb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyU2hhcmVkTW9kZWxBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU2hhcmVkTW9kZWxJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2hhcmVkTW9kZWxJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNoYXJlZC1tb2RlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyU2hhcmVkTW9kZWxBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNoYXJlZE1vZGVsSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzaGFyZWRNb2RlbElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzaGFyZWQtbW9kZWwtZXZlbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclNoYXJlZE1vZGVsRXZlbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRXZlbnRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZXZlbnRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNoYXJlZC1tb2RlbC1ldmVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyU2hhcmVkTW9kZWxFdmVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRXZlbnRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGV2ZW50SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNwYWNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJTcGFjZUFyblByb3BzIHtcblx0LyoqIFRoZSBEb21haW5JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9tYWluSWQ6IHN0cmluZztcblx0LyoqIFRoZSBTcGFjZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNwYWNlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNwYWNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJTcGFjZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRG9tYWluSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5JZDogc3RyaW5nO1xuXHQvKiogVGhlIFNwYWNlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNwYWNlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc3R1ZGlvLWxpZmVjeWNsZS1jb25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FyblByb3BzIHtcblx0LyoqIFRoZSBTdHVkaW9MaWZlY3ljbGVDb25maWdOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzdHVkaW9MaWZlY3ljbGVDb25maWdOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc3R1ZGlvLWxpZmVjeWNsZS1jb25maWcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHN0dWRpb0xpZmVjeWNsZUNvbmZpZ05hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHRyYWluaW5nLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyVHJhaW5pbmdKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVHJhaW5pbmdKb2JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0cmFpbmluZ0pvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB0cmFpbmluZy1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclRyYWluaW5nSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBUcmFpbmluZ0pvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0cmFpbmluZ0pvYk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHRyYWluaW5nLXBsYW4gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclRyYWluaW5nUGxhbkFyblByb3BzIHtcblx0LyoqIFRoZSBUcmFpbmluZ1BsYW5OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0cmFpbmluZ1BsYW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdHJhaW5pbmctcGxhbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyVHJhaW5pbmdQbGFuQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBUcmFpbmluZ1BsYW5OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdHJhaW5pbmdQbGFuTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdHJhbnNmb3JtLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyVHJhbnNmb3JtSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIFRyYW5zZm9ybUpvYk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRyYW5zZm9ybUpvYk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB0cmFuc2Zvcm0tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJUcmFuc2Zvcm1Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFRyYW5zZm9ybUpvYk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0cmFuc2Zvcm1Kb2JOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB1c2VyLXByb2ZpbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlclVzZXJQcm9maWxlQXJuUHJvcHMge1xuXHQvKiogVGhlIERvbWFpbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkb21haW5JZDogc3RyaW5nO1xuXHQvKiogVGhlIFVzZXJQcm9maWxlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdXNlclByb2ZpbGVOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdXNlci1wcm9maWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJVc2VyUHJvZmlsZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRG9tYWluSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5JZDogc3RyaW5nO1xuXHQvKiogVGhlIFVzZXJQcm9maWxlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHVzZXJQcm9maWxlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgd29ya2ZvcmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYWdlTWFrZXJXb3JrZm9yY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgV29ya2ZvcmNlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgd29ya2ZvcmNlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHdvcmtmb3JjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FnZU1ha2VyV29ya2ZvcmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBXb3JrZm9yY2VOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgd29ya2ZvcmNlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgd29ya3RlYW0gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlcldvcmt0ZWFtQXJuUHJvcHMge1xuXHQvKiogVGhlIFdvcmt0ZWFtTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgd29ya3RlYW1OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgd29ya3RlYW0gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZ2VNYWtlcldvcmt0ZWFtQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBXb3JrdGVhbU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB3b3JrdGVhbU5hbWU6IHN0cmluZztcbn1cblxuY29uc3QgQWN0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFjdGlvblxcLyg/PGFjdGlvbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IEFpQmVuY2htYXJrSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFpLWJlbmNobWFyay1qb2JcXC8oPzxhaUJlbmNobWFya0pvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IEFpUmVjb21tZW5kYXRpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YWktcmVjb21tZW5kYXRpb24tam9iXFwvKD88YWlSZWNvbW1lbmRhdGlvbkpvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IEFpV29ya2xvYWRDb25maWdBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YWktd29ya2xvYWQtY29uZmlnXFwvKD88YWlXb3JrbG9hZENvbmZpZ05hbWU+W146Lz9dKykkLztcbmNvbnN0IEFsZ29yaXRobUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphbGdvcml0aG1cXC8oPzxhbGdvcml0aG1OYW1lPlteOi8/XSspJC87XG5jb25zdCBBcHBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YXBwXFwvKD88ZG9tYWluSWQ+W146Lz9dKylcXC8oPzx1c2VyUHJvZmlsZU5hbWU+W146Lz9dKylcXC8oPzxhcHBUeXBlPlteOi8/XSspXFwvKD88YXBwTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQXBwSW1hZ2VDb25maWdBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YXBwLWltYWdlLWNvbmZpZ1xcLyg/PGFwcEltYWdlQ29uZmlnTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQXJ0aWZhY3RBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YXJ0aWZhY3RcXC8oPzxoYXNoT2ZBcnRpZmFjdFNvdXJjZT5bXjovP10rKSQvO1xuY29uc3QgQXV0b21sSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmF1dG9tbC1qb2JcXC8oPzxhdXRvTWxKb2JKb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBDbHVzdGVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNsdXN0ZXJcXC8oPzxjbHVzdGVySWQ+W146Lz9dKykkLztcbmNvbnN0IENsdXN0ZXJTY2hlZHVsZXJDb25maWdBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2x1c3Rlci1zY2hlZHVsZXItY29uZmlnXFwvKD88Y2x1c3RlclNjaGVkdWxlckNvbmZpZ0lkPlteOi8/XSspJC87XG5jb25zdCBDb2RlUmVwb3NpdG9yeUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb2RlLXJlcG9zaXRvcnlcXC8oPzxjb2RlUmVwb3NpdG9yeU5hbWU+W146Lz9dKykkLztcbmNvbnN0IENvbXBpbGF0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNvbXBpbGF0aW9uLWpvYlxcLyg/PGNvbXBpbGF0aW9uSm9iTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQ29tcHV0ZVF1b3RhQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNvbXB1dGUtcXVvdGFcXC8oPzxjb21wdXRlUXVvdGFJZD5bXjovP10rKSQvO1xuY29uc3QgQ29udGV4dEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb250ZXh0XFwvKD88Y29udGV4dE5hbWU+W146Lz9dKykkLztcbmNvbnN0IERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkYXRhLXF1YWxpdHktam9iLWRlZmluaXRpb25cXC8oPzxkYXRhUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lPlteOi8/XSspJC87XG5jb25zdCBEZXZpY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGV2aWNlLWZsZWV0XFwvKD88ZGV2aWNlRmxlZXROYW1lPlteOi8/XSspXFwvZGV2aWNlXFwvKD88ZGV2aWNlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgRGV2aWNlRmxlZXRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGV2aWNlLWZsZWV0XFwvKD88ZGV2aWNlRmxlZXROYW1lPlteOi8/XSspJC87XG5jb25zdCBEb21haW5Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZG9tYWluXFwvKD88ZG9tYWluSWQ+W146Lz9dKykkLztcbmNvbnN0IEVkZ2VEZXBsb3ltZW50UGxhbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTplZGdlLWRlcGxveW1lbnRcXC8oPzxlZGdlRGVwbG95bWVudFBsYW5OYW1lPlteOi8/XSspJC87XG5jb25zdCBFZGdlUGFja2FnaW5nSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmVkZ2UtcGFja2FnaW5nLWpvYlxcLyg/PGVkZ2VQYWNrYWdpbmdKb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBFbmRwb2ludEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTplbmRwb2ludFxcLyg/PGVuZHBvaW50TmFtZT5bXjovP10rKSQvO1xuY29uc3QgRW5kcG9pbnRDb25maWdBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZW5kcG9pbnQtY29uZmlnXFwvKD88ZW5kcG9pbnRDb25maWdOYW1lPlteOi8/XSspJC87XG5jb25zdCBFeHBlcmltZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmV4cGVyaW1lbnRcXC8oPzxleHBlcmltZW50TmFtZT5bXjovP10rKSQvO1xuY29uc3QgRXhwZXJpbWVudFRyaWFsQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmV4cGVyaW1lbnQtdHJpYWxcXC8oPzx0cmlhbE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEV4cGVyaW1lbnRUcmlhbENvbXBvbmVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpleHBlcmltZW50LXRyaWFsLWNvbXBvbmVudFxcLyg/PHRyaWFsQ29tcG9uZW50TmFtZT5bXjovP10rKSQvO1xuY29uc3QgRmVhdHVyZUdyb3VwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmZlYXR1cmUtZ3JvdXBcXC8oPzxmZWF0dXJlR3JvdXBOYW1lPlteOi8/XSspJC87XG5jb25zdCBGbG93RGVmaW5pdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpmbG93LWRlZmluaXRpb25cXC8oPzxmbG93RGVmaW5pdGlvbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IEh1YkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpodWJcXC8oPzxodWJOYW1lPlteOi8/XSspJC87XG5jb25zdCBIdWJDb250ZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmh1Yi1jb250ZW50XFwvKD88aHViTmFtZT5bXjovP10rKVxcLyg/PGh1YkNvbnRlbnRUeXBlPlteOi8/XSspXFwvKD88aHViQ29udGVudE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEh1bWFuTG9vcEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpodW1hbi1sb29wXFwvKD88aHVtYW5Mb29wTmFtZT5bXjovP10rKSQvO1xuY29uc3QgSHVtYW5UYXNrVWlBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aHVtYW4tdGFzay11aVxcLyg/PGh1bWFuVGFza1VpTmFtZT5bXjovP10rKSQvO1xuY29uc3QgSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aHlwZXItcGFyYW1ldGVyLXR1bmluZy1qb2JcXC8oPzxoeXBlclBhcmFtZXRlclR1bmluZ0pvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IEltYWdlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmltYWdlXFwvKD88aW1hZ2VOYW1lPlteOi8/XSspJC87XG5jb25zdCBJbWFnZVZlcnNpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aW1hZ2UtdmVyc2lvblxcLyg/PGltYWdlTmFtZT5bXjovP10rKVxcLyg/PHZlcnNpb24+W146Lz9dKykkLztcbmNvbnN0IEluZmVyZW5jZUNvbXBvbmVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTppbmZlcmVuY2UtY29tcG9uZW50XFwvKD88aW5mZXJlbmNlQ29tcG9uZW50TmFtZT5bXjovP10rKSQvO1xuY29uc3QgSW5mZXJlbmNlRXhwZXJpbWVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTppbmZlcmVuY2UtZXhwZXJpbWVudFxcLyg/PGluZmVyZW5jZUV4cGVyaW1lbnROYW1lPlteOi8/XSspJC87XG5jb25zdCBJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aW5mZXJlbmNlLXJlY29tbWVuZGF0aW9ucy1qb2JcXC8oPzxpbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6am9iXFwvKD88am9iQ2F0ZWdvcnk+W146Lz9dKylcXC8oPzxqb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBMYWJlbGluZ0pvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpsYWJlbGluZy1qb2JcXC8oPzxsYWJlbGluZ0pvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IExpbmVhZ2VHcm91cEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpsaW5lYWdlLWdyb3VwXFwvKD88bGluZWFnZUdyb3VwTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTWxmbG93QXBwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1sZmxvdy1hcHBcXC8oPzxtTGZsb3dBcHBJZD5bXjovP10rKSQvO1xuY29uc3QgTWxmbG93VHJhY2tpbmdTZXJ2ZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bWxmbG93LXRyYWNraW5nLXNlcnZlclxcLyg/PG1sZmxvd1RyYWNraW5nU2VydmVyTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWxcXC8oPzxtb2RlbE5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsQmlhc0pvYkRlZmluaXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWwtYmlhcy1qb2ItZGVmaW5pdGlvblxcLyg/PG1vZGVsQmlhc0pvYkRlZmluaXRpb25OYW1lPlteOi8/XSspJC87XG5jb25zdCBNb2RlbENhcmRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bW9kZWwtY2FyZFxcLyg/PG1vZGVsQ2FyZE5hbWU+W146Lz9dKykkLztcbmNvbnN0IE1vZGVsQ2FyZEV4cG9ydEpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbC1jYXJkXFwvKD88bW9kZWxDYXJkTmFtZT5bXjovP10rKVxcL2V4cG9ydC1qb2JcXC8oPzxleHBvcnRKb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbC1leHBsYWluYWJpbGl0eS1qb2ItZGVmaW5pdGlvblxcLyg/PG1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTW9kZWxQYWNrYWdlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLXBhY2thZ2VcXC8oPzxtb2RlbFBhY2thZ2VOYW1lPlteOi8/XSspJC87XG5jb25zdCBNb2RlbFBhY2thZ2VHcm91cEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb2RlbC1wYWNrYWdlLWdyb3VwXFwvKD88bW9kZWxQYWNrYWdlR3JvdXBOYW1lPlteOi8/XSspJC87XG5jb25zdCBNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vZGVsLXF1YWxpdHktam9iLWRlZmluaXRpb25cXC8oPzxtb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTW9uaXRvcmluZ1NjaGVkdWxlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1vbml0b3Jpbmctc2NoZWR1bGVcXC8oPzxtb25pdG9yaW5nU2NoZWR1bGVOYW1lPlteOi8/XSspJC87XG5jb25zdCBNb25pdG9yaW5nU2NoZWR1bGVBbGVydEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptb25pdG9yaW5nLXNjaGVkdWxlXFwvKD88bW9uaXRvcmluZ1NjaGVkdWxlTmFtZT5bXjovP10rKVxcL2FsZXJ0XFwvKD88bW9uaXRvcmluZ1NjaGVkdWxlQWxlcnROYW1lPlteOi8/XSspJC87XG5jb25zdCBOb3RlYm9va0luc3RhbmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm5vdGVib29rLWluc3RhbmNlXFwvKD88bm90ZWJvb2tJbnN0YW5jZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bm90ZWJvb2staW5zdGFuY2UtbGlmZWN5Y2xlLWNvbmZpZ1xcLyg/PG5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdOYW1lPlteOi8/XSspJC87XG5jb25zdCBPcHRpbWl6YXRpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6b3B0aW1pemF0aW9uLWpvYlxcLyg/PG9wdGltaXphdGlvbkpvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IFBhcnRuZXJBcHBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cGFydG5lci1hcHBcXC8oPzxhcHBJZD5bXjovP10rKSQvO1xuY29uc3QgUGlwZWxpbmVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cGlwZWxpbmVcXC8oPzxwaXBlbGluZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IFBpcGVsaW5lRXhlY3V0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnBpcGVsaW5lXFwvKD88cGlwZWxpbmVOYW1lPlteOi8/XSspXFwvZXhlY3V0aW9uXFwvKD88cmFuZG9tU3RyaW5nPlteOi8/XSspJC87XG5jb25zdCBQcm9jZXNzaW5nSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnByb2Nlc3Npbmctam9iXFwvKD88cHJvY2Vzc2luZ0pvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IFByb2plY3RBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cHJvamVjdFxcLyg/PHByb2plY3ROYW1lPlteOi8/XSspJC87XG5jb25zdCBSZXNlcnZlZENhcGFjaXR5QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlc2VydmVkLWNhcGFjaXR5XFwvKD88cmFuZG9tU3RyaW5nPlteOi8/XSspJC87XG5jb25zdCBTYWdlbWFrZXJDYXRhbG9nQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNhZ2VtYWtlci1jYXRhbG9nXFwvKD88cmVzb3VyY2VDYXRhbG9nTmFtZT5bXjovP10rKSQvO1xuY29uc3QgU2hhcmVkTW9kZWxBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2hhcmVkLW1vZGVsXFwvKD88c2hhcmVkTW9kZWxJZD5bXjovP10rKSQvO1xuY29uc3QgU2hhcmVkTW9kZWxFdmVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzaGFyZWQtbW9kZWwtZXZlbnRcXC8oPzxldmVudElkPlteOi8/XSspJC87XG5jb25zdCBTcGFjZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzcGFjZVxcLyg/PGRvbWFpbklkPlteOi8/XSspXFwvKD88c3BhY2VOYW1lPlteOi8/XSspJC87XG5jb25zdCBTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2FnZW1ha2VyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c3R1ZGlvLWxpZmVjeWNsZS1jb25maWdcXC8oPzxzdHVkaW9MaWZlY3ljbGVDb25maWdOYW1lPlteOi8/XSspJC87XG5jb25zdCBUcmFpbmluZ0pvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp0cmFpbmluZy1qb2JcXC8oPzx0cmFpbmluZ0pvYk5hbWU+W146Lz9dKykkLztcbmNvbnN0IFRyYWluaW5nUGxhbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp0cmFpbmluZy1wbGFuXFwvKD88dHJhaW5pbmdQbGFuTmFtZT5bXjovP10rKSQvO1xuY29uc3QgVHJhbnNmb3JtSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnRyYW5zZm9ybS1qb2JcXC8oPzx0cmFuc2Zvcm1Kb2JOYW1lPlteOi8/XSspJC87XG5jb25zdCBVc2VyUHJvZmlsZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzYWdlbWFrZXI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp1c2VyLXByb2ZpbGVcXC8oPzxkb21haW5JZD5bXjovP10rKVxcLyg/PHVzZXJQcm9maWxlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgV29ya2ZvcmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOndvcmtmb3JjZVxcLyg/PHdvcmtmb3JjZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IFdvcmt0ZWFtQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNhZ2VtYWtlcjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOndvcmt0ZWFtXFwvKD88d29ya3RlYW1OYW1lPlteOi8/XSspJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3Igc2FnZW1ha2VyIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNhZ2VNYWtlclJlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYWN0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFjdGlvbihwcm9wczogU2FnZU1ha2VyQWN0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphY3Rpb24vJHtwcm9wcy5hY3Rpb25OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhY3Rpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFjdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBY3Rpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYWN0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFjdGlvbkFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckFjdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQWN0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFjdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhY3Rpb25OYW1lOiBtYXRjaC5ncm91cHMhLmFjdGlvbk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYWktYmVuY2htYXJrLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhaUJlbmNobWFya0pvYihwcm9wczogU2FnZU1ha2VyQWlCZW5jaG1hcmtKb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFpLWJlbmNobWFyay1qb2IvJHtwcm9wcy5haUJlbmNobWFya0pvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFpLWJlbmNobWFyay1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFpQmVuY2htYXJrSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFpQmVuY2htYXJrSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFpLWJlbmNobWFyay1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWlCZW5jaG1hcmtKb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckFpQmVuY2htYXJrSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBaUJlbmNobWFya0pvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhaS1iZW5jaG1hcmstam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFpQmVuY2htYXJrSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS5haUJlbmNobWFya0pvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYWktcmVjb21tZW5kYXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFpUmVjb21tZW5kYXRpb25Kb2IoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlckFpUmVjb21tZW5kYXRpb25Kb2JBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YWktcmVjb21tZW5kYXRpb24tam9iLyR7cHJvcHMuYWlSZWNvbW1lbmRhdGlvbkpvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFpLXJlY29tbWVuZGF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQWlSZWNvbW1lbmRhdGlvbkpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBaVJlY29tbWVuZGF0aW9uSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFpLXJlY29tbWVuZGF0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBaVJlY29tbWVuZGF0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJBaVJlY29tbWVuZGF0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBaVJlY29tbWVuZGF0aW9uSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFpLXJlY29tbWVuZGF0aW9uLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhaVJlY29tbWVuZGF0aW9uSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS5haVJlY29tbWVuZGF0aW9uSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhaS13b3JrbG9hZC1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYWlXb3JrbG9hZENvbmZpZyhwcm9wczogU2FnZU1ha2VyQWlXb3JrbG9hZENvbmZpZ0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YWktd29ya2xvYWQtY29uZmlnLyR7cHJvcHMuYWlXb3JrbG9hZENvbmZpZ05hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFpLXdvcmtsb2FkLWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQWlXb3JrbG9hZENvbmZpZ0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBaVdvcmtsb2FkQ29uZmlnQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFpLXdvcmtsb2FkLWNvbmZpZyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBaVdvcmtsb2FkQ29uZmlnQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJBaVdvcmtsb2FkQ29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBaVdvcmtsb2FkQ29uZmlnQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFpLXdvcmtsb2FkLWNvbmZpZyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhaVdvcmtsb2FkQ29uZmlnTmFtZTogbWF0Y2guZ3JvdXBzIS5haVdvcmtsb2FkQ29uZmlnTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhbGdvcml0aG0gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYWxnb3JpdGhtKHByb3BzOiBTYWdlTWFrZXJBbGdvcml0aG1Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFsZ29yaXRobS8ke3Byb3BzLmFsZ29yaXRobU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFsZ29yaXRobSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQWxnb3JpdGhtQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFsZ29yaXRobUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhbGdvcml0aG0gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWxnb3JpdGhtQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyQWxnb3JpdGhtQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBbGdvcml0aG1Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYWxnb3JpdGhtIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFsZ29yaXRobU5hbWU6IG1hdGNoLmdyb3VwcyEuYWxnb3JpdGhtTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhcHAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXBwKHByb3BzOiBTYWdlTWFrZXJBcHBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFwcC8ke3Byb3BzLmRvbWFpbklkfS8ke3Byb3BzLnVzZXJQcm9maWxlTmFtZX0vJHtwcm9wcy5hcHBUeXBlfS8ke3Byb3BzLmFwcE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFwcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXBwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFwcEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhcHAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXBwQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyQXBwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBcHBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXBwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbklkOiBtYXRjaC5ncm91cHMhLmRvbWFpbklkLFxuXHRcdFx0dXNlclByb2ZpbGVOYW1lOiBtYXRjaC5ncm91cHMhLnVzZXJQcm9maWxlTmFtZSxcblx0XHRcdGFwcFR5cGU6IG1hdGNoLmdyb3VwcyEuYXBwVHlwZSxcblx0XHRcdGFwcE5hbWU6IG1hdGNoLmdyb3VwcyEuYXBwTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhcHAtaW1hZ2UtY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFwcEltYWdlQ29uZmlnKHByb3BzOiBTYWdlTWFrZXJBcHBJbWFnZUNvbmZpZ0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXBwLWltYWdlLWNvbmZpZy8ke3Byb3BzLmFwcEltYWdlQ29uZmlnTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYXBwLWltYWdlLWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXBwSW1hZ2VDb25maWdBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXBwSW1hZ2VDb25maWdBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXBwLWltYWdlLWNvbmZpZyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBcHBJbWFnZUNvbmZpZ0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyQXBwSW1hZ2VDb25maWdBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFwcEltYWdlQ29uZmlnQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFwcC1pbWFnZS1jb25maWcgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YXBwSW1hZ2VDb25maWdOYW1lOiBtYXRjaC5ncm91cHMhLmFwcEltYWdlQ29uZmlnTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhcnRpZmFjdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhcnRpZmFjdChwcm9wczogU2FnZU1ha2VyQXJ0aWZhY3RBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFydGlmYWN0LyR7cHJvcHMuaGFzaE9mQXJ0aWZhY3RTb3VyY2V9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFydGlmYWN0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBcnRpZmFjdEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBcnRpZmFjdEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhcnRpZmFjdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBcnRpZmFjdEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckFydGlmYWN0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBcnRpZmFjdEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhcnRpZmFjdCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRoYXNoT2ZBcnRpZmFjdFNvdXJjZTogbWF0Y2guZ3JvdXBzIS5oYXNoT2ZBcnRpZmFjdFNvdXJjZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhdXRvbWwtam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGF1dG9tbEpvYihwcm9wczogU2FnZU1ha2VyQXV0b21sSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphdXRvbWwtam9iLyR7cHJvcHMuYXV0b01sSm9iSm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYXV0b21sLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXV0b21sSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEF1dG9tbEpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhdXRvbWwtam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUF1dG9tbEpvYkFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckF1dG9tbEpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXV0b21sSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGF1dG9tbC1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YXV0b01sSm9iSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS5hdXRvTWxKb2JKb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNsdXN0ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY2x1c3Rlcihwcm9wczogU2FnZU1ha2VyQ2x1c3RlckFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2x1c3Rlci8ke3Byb3BzLmNsdXN0ZXJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY2x1c3RlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ2x1c3RlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDbHVzdGVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNsdXN0ZXIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ2x1c3RlckFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckNsdXN0ZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENsdXN0ZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY2x1c3RlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjbHVzdGVySWQ6IG1hdGNoLmdyb3VwcyEuY2x1c3RlcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNsdXN0ZXItc2NoZWR1bGVyLWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjbHVzdGVyU2NoZWR1bGVyQ29uZmlnKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJDbHVzdGVyU2NoZWR1bGVyQ29uZmlnQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNsdXN0ZXItc2NoZWR1bGVyLWNvbmZpZy8ke3Byb3BzLmNsdXN0ZXJTY2hlZHVsZXJDb25maWdJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY2x1c3Rlci1zY2hlZHVsZXItY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDbHVzdGVyU2NoZWR1bGVyQ29uZmlnQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENsdXN0ZXJTY2hlZHVsZXJDb25maWdBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY2x1c3Rlci1zY2hlZHVsZXItY29uZmlnIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNsdXN0ZXJTY2hlZHVsZXJDb25maWdBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckNsdXN0ZXJTY2hlZHVsZXJDb25maWdBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENsdXN0ZXJTY2hlZHVsZXJDb25maWdBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY2x1c3Rlci1zY2hlZHVsZXItY29uZmlnIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNsdXN0ZXJTY2hlZHVsZXJDb25maWdJZDogbWF0Y2guZ3JvdXBzIS5jbHVzdGVyU2NoZWR1bGVyQ29uZmlnSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY29kZS1yZXBvc2l0b3J5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvZGVSZXBvc2l0b3J5KHByb3BzOiBTYWdlTWFrZXJDb2RlUmVwb3NpdG9yeUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29kZS1yZXBvc2l0b3J5LyR7cHJvcHMuY29kZVJlcG9zaXRvcnlOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjb2RlLXJlcG9zaXRvcnkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvZGVSZXBvc2l0b3J5QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvZGVSZXBvc2l0b3J5QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNvZGUtcmVwb3NpdG9yeSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb2RlUmVwb3NpdG9yeUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyQ29kZVJlcG9zaXRvcnlBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvZGVSZXBvc2l0b3J5QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNvZGUtcmVwb3NpdG9yeSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjb2RlUmVwb3NpdG9yeU5hbWU6IG1hdGNoLmdyb3VwcyEuY29kZVJlcG9zaXRvcnlOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNvbXBpbGF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb21waWxhdGlvbkpvYihwcm9wczogU2FnZU1ha2VyQ29tcGlsYXRpb25Kb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvbXBpbGF0aW9uLWpvYi8ke3Byb3BzLmNvbXBpbGF0aW9uSm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY29tcGlsYXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb21waWxhdGlvbkpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb21waWxhdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjb21waWxhdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29tcGlsYXRpb25Kb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckNvbXBpbGF0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb21waWxhdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb21waWxhdGlvbi1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y29tcGlsYXRpb25Kb2JOYW1lOiBtYXRjaC5ncm91cHMhLmNvbXBpbGF0aW9uSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjb21wdXRlLXF1b3RhIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbXB1dGVRdW90YShwcm9wczogU2FnZU1ha2VyQ29tcHV0ZVF1b3RhQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb21wdXRlLXF1b3RhLyR7cHJvcHMuY29tcHV0ZVF1b3RhSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNvbXB1dGUtcXVvdGEgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbXB1dGVRdW90YUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb21wdXRlUXVvdGFBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY29tcHV0ZS1xdW90YSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb21wdXRlUXVvdGFBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJDb21wdXRlUXVvdGFBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbXB1dGVRdW90YUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb21wdXRlLXF1b3RhIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvbXB1dGVRdW90YUlkOiBtYXRjaC5ncm91cHMhLmNvbXB1dGVRdW90YUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNvbnRleHQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29udGV4dChwcm9wczogU2FnZU1ha2VyQ29udGV4dEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29udGV4dC8ke3Byb3BzLmNvbnRleHROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjb250ZXh0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb250ZXh0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbnRleHRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY29udGV4dCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb250ZXh0QXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyQ29udGV4dEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29udGV4dEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb250ZXh0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvbnRleHROYW1lOiBtYXRjaC5ncm91cHMhLmNvbnRleHROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRhdGEtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkYXRhUXVhbGl0eUpvYkRlZmluaXRpb24oXG5cdFx0cHJvcHM6IFNhZ2VNYWtlckRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkYXRhLXF1YWxpdHktam9iLWRlZmluaXRpb24vJHtwcm9wcy5kYXRhUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkYXRhLXF1YWxpdHktam9iLWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZGF0YS1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGF0YS1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWU6IG1hdGNoLmdyb3VwcyEuZGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkZXZpY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGV2aWNlKHByb3BzOiBTYWdlTWFrZXJEZXZpY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRldmljZS1mbGVldC8ke3Byb3BzLmRldmljZUZsZWV0TmFtZX0vZGV2aWNlLyR7cHJvcHMuZGV2aWNlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGV2aWNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREZXZpY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGV2aWNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRldmljZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEZXZpY2VBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJEZXZpY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERldmljZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkZXZpY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZGV2aWNlRmxlZXROYW1lOiBtYXRjaC5ncm91cHMhLmRldmljZUZsZWV0TmFtZSxcblx0XHRcdGRldmljZU5hbWU6IG1hdGNoLmdyb3VwcyEuZGV2aWNlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkZXZpY2UtZmxlZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGV2aWNlRmxlZXQocHJvcHM6IFNhZ2VNYWtlckRldmljZUZsZWV0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkZXZpY2UtZmxlZXQvJHtwcm9wcy5kZXZpY2VGbGVldE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRldmljZS1mbGVldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGV2aWNlRmxlZXRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGV2aWNlRmxlZXRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZGV2aWNlLWZsZWV0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURldmljZUZsZWV0QXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyRGV2aWNlRmxlZXRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERldmljZUZsZWV0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRldmljZS1mbGVldCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkZXZpY2VGbGVldE5hbWU6IG1hdGNoLmdyb3VwcyEuZGV2aWNlRmxlZXROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRvbWFpbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkb21haW4ocHJvcHM6IFNhZ2VNYWtlckRvbWFpbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZG9tYWluLyR7cHJvcHMuZG9tYWluSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRvbWFpbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRG9tYWluQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERvbWFpbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkb21haW4gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRG9tYWluQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyRG9tYWluQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEb21haW5Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZG9tYWluIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvbWFpbklkOiBtYXRjaC5ncm91cHMhLmRvbWFpbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGVkZ2UtZGVwbG95bWVudC1wbGFuIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGVkZ2VEZXBsb3ltZW50UGxhbihcblx0XHRwcm9wczogU2FnZU1ha2VyRWRnZURlcGxveW1lbnRQbGFuQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmVkZ2UtZGVwbG95bWVudC8ke3Byb3BzLmVkZ2VEZXBsb3ltZW50UGxhbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGVkZ2UtZGVwbG95bWVudC1wbGFuIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFZGdlRGVwbG95bWVudFBsYW5Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRWRnZURlcGxveW1lbnRQbGFuQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGVkZ2UtZGVwbG95bWVudC1wbGFuIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUVkZ2VEZXBsb3ltZW50UGxhbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyRWRnZURlcGxveW1lbnRQbGFuQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFZGdlRGVwbG95bWVudFBsYW5Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZWRnZS1kZXBsb3ltZW50LXBsYW4gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZWRnZURlcGxveW1lbnRQbGFuTmFtZTogbWF0Y2guZ3JvdXBzIS5lZGdlRGVwbG95bWVudFBsYW5OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGVkZ2UtcGFja2FnaW5nLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBlZGdlUGFja2FnaW5nSm9iKHByb3BzOiBTYWdlTWFrZXJFZGdlUGFja2FnaW5nSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTplZGdlLXBhY2thZ2luZy1qb2IvJHtwcm9wcy5lZGdlUGFja2FnaW5nSm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZWRnZS1wYWNrYWdpbmctam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFZGdlUGFja2FnaW5nSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEVkZ2VQYWNrYWdpbmdKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZWRnZS1wYWNrYWdpbmctam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUVkZ2VQYWNrYWdpbmdKb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckVkZ2VQYWNrYWdpbmdKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEVkZ2VQYWNrYWdpbmdKb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZWRnZS1wYWNrYWdpbmctam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGVkZ2VQYWNrYWdpbmdKb2JOYW1lOiBtYXRjaC5ncm91cHMhLmVkZ2VQYWNrYWdpbmdKb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGVuZHBvaW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGVuZHBvaW50KHByb3BzOiBTYWdlTWFrZXJFbmRwb2ludEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZW5kcG9pbnQvJHtwcm9wcy5lbmRwb2ludE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGVuZHBvaW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFbmRwb2ludEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFbmRwb2ludEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBlbmRwb2ludCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFbmRwb2ludEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckVuZHBvaW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFbmRwb2ludEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBlbmRwb2ludCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRlbmRwb2ludE5hbWU6IG1hdGNoLmdyb3VwcyEuZW5kcG9pbnROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGVuZHBvaW50LWNvbmZpZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBlbmRwb2ludENvbmZpZyhwcm9wczogU2FnZU1ha2VyRW5kcG9pbnRDb25maWdBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmVuZHBvaW50LWNvbmZpZy8ke3Byb3BzLmVuZHBvaW50Q29uZmlnTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZW5kcG9pbnQtY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFbmRwb2ludENvbmZpZ0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFbmRwb2ludENvbmZpZ0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBlbmRwb2ludC1jb25maWcgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRW5kcG9pbnRDb25maWdBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckVuZHBvaW50Q29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFbmRwb2ludENvbmZpZ0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBlbmRwb2ludC1jb25maWcgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZW5kcG9pbnRDb25maWdOYW1lOiBtYXRjaC5ncm91cHMhLmVuZHBvaW50Q29uZmlnTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBleHBlcmltZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGV4cGVyaW1lbnQocHJvcHM6IFNhZ2VNYWtlckV4cGVyaW1lbnRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmV4cGVyaW1lbnQvJHtwcm9wcy5leHBlcmltZW50TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZXhwZXJpbWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRXhwZXJpbWVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFeHBlcmltZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGV4cGVyaW1lbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRXhwZXJpbWVudEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckV4cGVyaW1lbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEV4cGVyaW1lbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZXhwZXJpbWVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRleHBlcmltZW50TmFtZTogbWF0Y2guZ3JvdXBzIS5leHBlcmltZW50TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBleHBlcmltZW50LXRyaWFsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGV4cGVyaW1lbnRUcmlhbChwcm9wczogU2FnZU1ha2VyRXhwZXJpbWVudFRyaWFsQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpleHBlcmltZW50LXRyaWFsLyR7cHJvcHMudHJpYWxOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBleHBlcmltZW50LXRyaWFsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFeHBlcmltZW50VHJpYWxBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRXhwZXJpbWVudFRyaWFsQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGV4cGVyaW1lbnQtdHJpYWwgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRXhwZXJpbWVudFRyaWFsQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJFeHBlcmltZW50VHJpYWxBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEV4cGVyaW1lbnRUcmlhbEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBleHBlcmltZW50LXRyaWFsIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRyaWFsTmFtZTogbWF0Y2guZ3JvdXBzIS50cmlhbE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZXhwZXJpbWVudC10cmlhbC1jb21wb25lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZXhwZXJpbWVudFRyaWFsQ29tcG9uZW50KFxuXHRcdHByb3BzOiBTYWdlTWFrZXJFeHBlcmltZW50VHJpYWxDb21wb25lbnRBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZXhwZXJpbWVudC10cmlhbC1jb21wb25lbnQvJHtwcm9wcy50cmlhbENvbXBvbmVudE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGV4cGVyaW1lbnQtdHJpYWwtY29tcG9uZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFeHBlcmltZW50VHJpYWxDb21wb25lbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRXhwZXJpbWVudFRyaWFsQ29tcG9uZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGV4cGVyaW1lbnQtdHJpYWwtY29tcG9uZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUV4cGVyaW1lbnRUcmlhbENvbXBvbmVudEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyRXhwZXJpbWVudFRyaWFsQ29tcG9uZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFeHBlcmltZW50VHJpYWxDb21wb25lbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZXhwZXJpbWVudC10cmlhbC1jb21wb25lbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0dHJpYWxDb21wb25lbnROYW1lOiBtYXRjaC5ncm91cHMhLnRyaWFsQ29tcG9uZW50TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBmZWF0dXJlLWdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGZlYXR1cmVHcm91cChwcm9wczogU2FnZU1ha2VyRmVhdHVyZUdyb3VwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpmZWF0dXJlLWdyb3VwLyR7cHJvcHMuZmVhdHVyZUdyb3VwTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZmVhdHVyZS1ncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRmVhdHVyZUdyb3VwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEZlYXR1cmVHcm91cEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBmZWF0dXJlLWdyb3VwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUZlYXR1cmVHcm91cEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckZlYXR1cmVHcm91cEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRmVhdHVyZUdyb3VwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZlYXR1cmUtZ3JvdXAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZmVhdHVyZUdyb3VwTmFtZTogbWF0Y2guZ3JvdXBzIS5mZWF0dXJlR3JvdXBOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGZsb3ctZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBmbG93RGVmaW5pdGlvbihwcm9wczogU2FnZU1ha2VyRmxvd0RlZmluaXRpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmZsb3ctZGVmaW5pdGlvbi8ke3Byb3BzLmZsb3dEZWZpbml0aW9uTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZmxvdy1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRGbG93RGVmaW5pdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBGbG93RGVmaW5pdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBmbG93LWRlZmluaXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRmxvd0RlZmluaXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckZsb3dEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBGbG93RGVmaW5pdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBmbG93LWRlZmluaXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Zmxvd0RlZmluaXRpb25OYW1lOiBtYXRjaC5ncm91cHMhLmZsb3dEZWZpbml0aW9uTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBodWIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaHViKHByb3BzOiBTYWdlTWFrZXJIdWJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omh1Yi8ke3Byb3BzLmh1Yk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGh1YiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSHViQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEh1YkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBodWIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSHViQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VySHViQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBIdWJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaHViIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGh1Yk5hbWU6IG1hdGNoLmdyb3VwcyEuaHViTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBodWItY29udGVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBodWJDb250ZW50KHByb3BzOiBTYWdlTWFrZXJIdWJDb250ZW50QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpodWItY29udGVudC8ke3Byb3BzLmh1Yk5hbWV9LyR7cHJvcHMuaHViQ29udGVudFR5cGV9LyR7cHJvcHMuaHViQ29udGVudE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGh1Yi1jb250ZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRIdWJDb250ZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEh1YkNvbnRlbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaHViLWNvbnRlbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSHViQ29udGVudEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckh1YkNvbnRlbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEh1YkNvbnRlbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaHViLWNvbnRlbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aHViTmFtZTogbWF0Y2guZ3JvdXBzIS5odWJOYW1lLFxuXHRcdFx0aHViQ29udGVudFR5cGU6IG1hdGNoLmdyb3VwcyEuaHViQ29udGVudFR5cGUsXG5cdFx0XHRodWJDb250ZW50TmFtZTogbWF0Y2guZ3JvdXBzIS5odWJDb250ZW50TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBodW1hbi1sb29wIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGh1bWFuTG9vcChwcm9wczogU2FnZU1ha2VySHVtYW5Mb29wQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpodW1hbi1sb29wLyR7cHJvcHMuaHVtYW5Mb29wTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaHVtYW4tbG9vcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSHVtYW5Mb29wQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEh1bWFuTG9vcEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBodW1hbi1sb29wIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUh1bWFuTG9vcEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckh1bWFuTG9vcEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSHVtYW5Mb29wQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGh1bWFuLWxvb3AgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aHVtYW5Mb29wTmFtZTogbWF0Y2guZ3JvdXBzIS5odW1hbkxvb3BOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGh1bWFuLXRhc2stdWkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaHVtYW5UYXNrVWkocHJvcHM6IFNhZ2VNYWtlckh1bWFuVGFza1VpQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpodW1hbi10YXNrLXVpLyR7cHJvcHMuaHVtYW5UYXNrVWlOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBodW1hbi10YXNrLXVpIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRIdW1hblRhc2tVaUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBIdW1hblRhc2tVaUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBodW1hbi10YXNrLXVpIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUh1bWFuVGFza1VpQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VySHVtYW5UYXNrVWlBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEh1bWFuVGFza1VpQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGh1bWFuLXRhc2stdWkgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aHVtYW5UYXNrVWlOYW1lOiBtYXRjaC5ncm91cHMhLmh1bWFuVGFza1VpTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBoeXBlci1wYXJhbWV0ZXItdHVuaW5nLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBoeXBlclBhcmFtZXRlclR1bmluZ0pvYihcblx0XHRwcm9wczogU2FnZU1ha2VySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aHlwZXItcGFyYW1ldGVyLXR1bmluZy1qb2IvJHtwcm9wcy5oeXBlclBhcmFtZXRlclR1bmluZ0pvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGh5cGVyLXBhcmFtZXRlci10dW5pbmctam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRIeXBlclBhcmFtZXRlclR1bmluZ0pvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBIeXBlclBhcmFtZXRlclR1bmluZ0pvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBoeXBlci1wYXJhbWV0ZXItdHVuaW5nLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VIeXBlclBhcmFtZXRlclR1bmluZ0pvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGh5cGVyLXBhcmFtZXRlci10dW5pbmctam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS5oeXBlclBhcmFtZXRlclR1bmluZ0pvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaW1hZ2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaW1hZ2UocHJvcHM6IFNhZ2VNYWtlckltYWdlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTppbWFnZS8ke3Byb3BzLmltYWdlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaW1hZ2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEltYWdlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEltYWdlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGltYWdlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUltYWdlQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VySW1hZ2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEltYWdlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGltYWdlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGltYWdlTmFtZTogbWF0Y2guZ3JvdXBzIS5pbWFnZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaW1hZ2UtdmVyc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpbWFnZVZlcnNpb24ocHJvcHM6IFNhZ2VNYWtlckltYWdlVmVyc2lvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aW1hZ2UtdmVyc2lvbi8ke3Byb3BzLmltYWdlTmFtZX0vJHtwcm9wcy52ZXJzaW9ufWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBpbWFnZS12ZXJzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbWFnZVZlcnNpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSW1hZ2VWZXJzaW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGltYWdlLXZlcnNpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSW1hZ2VWZXJzaW9uQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VySW1hZ2VWZXJzaW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJbWFnZVZlcnNpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW1hZ2UtdmVyc2lvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpbWFnZU5hbWU6IG1hdGNoLmdyb3VwcyEuaW1hZ2VOYW1lLFxuXHRcdFx0dmVyc2lvbjogbWF0Y2guZ3JvdXBzIS52ZXJzaW9uLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGluZmVyZW5jZS1jb21wb25lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaW5mZXJlbmNlQ29tcG9uZW50KFxuXHRcdHByb3BzOiBTYWdlTWFrZXJJbmZlcmVuY2VDb21wb25lbnRBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aW5mZXJlbmNlLWNvbXBvbmVudC8ke3Byb3BzLmluZmVyZW5jZUNvbXBvbmVudE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGluZmVyZW5jZS1jb21wb25lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEluZmVyZW5jZUNvbXBvbmVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJbmZlcmVuY2VDb21wb25lbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaW5mZXJlbmNlLWNvbXBvbmVudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VJbmZlcmVuY2VDb21wb25lbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlckluZmVyZW5jZUNvbXBvbmVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSW5mZXJlbmNlQ29tcG9uZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGluZmVyZW5jZS1jb21wb25lbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aW5mZXJlbmNlQ29tcG9uZW50TmFtZTogbWF0Y2guZ3JvdXBzIS5pbmZlcmVuY2VDb21wb25lbnROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGluZmVyZW5jZS1leHBlcmltZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGluZmVyZW5jZUV4cGVyaW1lbnQoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlckluZmVyZW5jZUV4cGVyaW1lbnRBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aW5mZXJlbmNlLWV4cGVyaW1lbnQvJHtwcm9wcy5pbmZlcmVuY2VFeHBlcmltZW50TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaW5mZXJlbmNlLWV4cGVyaW1lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEluZmVyZW5jZUV4cGVyaW1lbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSW5mZXJlbmNlRXhwZXJpbWVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBpbmZlcmVuY2UtZXhwZXJpbWVudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VJbmZlcmVuY2VFeHBlcmltZW50QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJJbmZlcmVuY2VFeHBlcmltZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJbmZlcmVuY2VFeHBlcmltZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGluZmVyZW5jZS1leHBlcmltZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGluZmVyZW5jZUV4cGVyaW1lbnROYW1lOiBtYXRjaC5ncm91cHMhLmluZmVyZW5jZUV4cGVyaW1lbnROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGluZmVyZW5jZS1yZWNvbW1lbmRhdGlvbnMtam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYihcblx0XHRwcm9wczogU2FnZU1ha2VySW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmluZmVyZW5jZS1yZWNvbW1lbmRhdGlvbnMtam9iLyR7cHJvcHMuaW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaW5mZXJlbmNlLXJlY29tbWVuZGF0aW9ucy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaW5mZXJlbmNlLXJlY29tbWVuZGF0aW9ucy1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbmZlcmVuY2UtcmVjb21tZW5kYXRpb25zLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JOYW1lOlxuXHRcdFx0XHRtYXRjaC5ncm91cHMhLmluZmVyZW5jZVJlY29tbWVuZGF0aW9uc0pvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGpvYihwcm9wczogU2FnZU1ha2VySm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpqb2IvJHtwcm9wcy5qb2JDYXRlZ29yeX0vJHtwcm9wcy5qb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBqb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUpvYkFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlckpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRqb2JDYXRlZ29yeTogbWF0Y2guZ3JvdXBzIS5qb2JDYXRlZ29yeSxcblx0XHRcdGpvYk5hbWU6IG1hdGNoLmdyb3VwcyEuam9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBsYWJlbGluZy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbGFiZWxpbmdKb2IocHJvcHM6IFNhZ2VNYWtlckxhYmVsaW5nSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpsYWJlbGluZy1qb2IvJHtwcm9wcy5sYWJlbGluZ0pvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGxhYmVsaW5nLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTGFiZWxpbmdKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTGFiZWxpbmdKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbGFiZWxpbmctam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUxhYmVsaW5nSm9iQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyTGFiZWxpbmdKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IExhYmVsaW5nSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGxhYmVsaW5nLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRsYWJlbGluZ0pvYk5hbWU6IG1hdGNoLmdyb3VwcyEubGFiZWxpbmdKb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGxpbmVhZ2UtZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbGluZWFnZUdyb3VwKHByb3BzOiBTYWdlTWFrZXJMaW5lYWdlR3JvdXBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmxpbmVhZ2UtZ3JvdXAvJHtwcm9wcy5saW5lYWdlR3JvdXBOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBsaW5lYWdlLWdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRMaW5lYWdlR3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTGluZWFnZUdyb3VwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGxpbmVhZ2UtZ3JvdXAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTGluZWFnZUdyb3VwQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyTGluZWFnZUdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBMaW5lYWdlR3JvdXBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbGluZWFnZS1ncm91cCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRsaW5lYWdlR3JvdXBOYW1lOiBtYXRjaC5ncm91cHMhLmxpbmVhZ2VHcm91cE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbWxmbG93LWFwcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtbGZsb3dBcHAocHJvcHM6IFNhZ2VNYWtlck1sZmxvd0FwcEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bWxmbG93LWFwcC8ke3Byb3BzLm1MZmxvd0FwcElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtbGZsb3ctYXBwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNbGZsb3dBcHBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTWxmbG93QXBwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1sZmxvdy1hcHAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTWxmbG93QXBwQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyTWxmbG93QXBwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNbGZsb3dBcHBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbWxmbG93LWFwcCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtTGZsb3dBcHBJZDogbWF0Y2guZ3JvdXBzIS5tTGZsb3dBcHBJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtbGZsb3ctdHJhY2tpbmctc2VydmVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1sZmxvd1RyYWNraW5nU2VydmVyKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJNbGZsb3dUcmFja2luZ1NlcnZlckFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptbGZsb3ctdHJhY2tpbmctc2VydmVyLyR7cHJvcHMubWxmbG93VHJhY2tpbmdTZXJ2ZXJOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtbGZsb3ctdHJhY2tpbmctc2VydmVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNbGZsb3dUcmFja2luZ1NlcnZlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNbGZsb3dUcmFja2luZ1NlcnZlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtbGZsb3ctdHJhY2tpbmctc2VydmVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1sZmxvd1RyYWNraW5nU2VydmVyQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJNbGZsb3dUcmFja2luZ1NlcnZlckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTWxmbG93VHJhY2tpbmdTZXJ2ZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbWxmbG93LXRyYWNraW5nLXNlcnZlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtbGZsb3dUcmFja2luZ1NlcnZlck5hbWU6IG1hdGNoLmdyb3VwcyEubWxmbG93VHJhY2tpbmdTZXJ2ZXJOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsKHByb3BzOiBTYWdlTWFrZXJNb2RlbEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwvJHtwcm9wcy5tb2RlbE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vZGVsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb2RlbEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlck1vZGVsQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtb2RlbE5hbWU6IG1hdGNoLmdyb3VwcyEubW9kZWxOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsLWJpYXMtam9iLWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxCaWFzSm9iRGVmaW5pdGlvbihcblx0XHRwcm9wczogU2FnZU1ha2VyTW9kZWxCaWFzSm9iRGVmaW5pdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptb2RlbC1iaWFzLWpvYi1kZWZpbml0aW9uLyR7cHJvcHMubW9kZWxCaWFzSm9iRGVmaW5pdGlvbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vZGVsLWJpYXMtam9iLWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsQmlhc0pvYkRlZmluaXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9kZWxCaWFzSm9iRGVmaW5pdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1iaWFzLWpvYi1kZWZpbml0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vZGVsQmlhc0pvYkRlZmluaXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlck1vZGVsQmlhc0pvYkRlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsQmlhc0pvYkRlZmluaXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwtYmlhcy1qb2ItZGVmaW5pdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtb2RlbEJpYXNKb2JEZWZpbml0aW9uTmFtZTogbWF0Y2guZ3JvdXBzIS5tb2RlbEJpYXNKb2JEZWZpbml0aW9uTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb2RlbC1jYXJkIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsQ2FyZChwcm9wczogU2FnZU1ha2VyTW9kZWxDYXJkQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptb2RlbC1jYXJkLyR7cHJvcHMubW9kZWxDYXJkTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9kZWwtY2FyZCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxDYXJkQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsQ2FyZEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1jYXJkIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vZGVsQ2FyZEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlck1vZGVsQ2FyZEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9kZWxDYXJkQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vZGVsLWNhcmQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bW9kZWxDYXJkTmFtZTogbWF0Y2guZ3JvdXBzIS5tb2RlbENhcmROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsLWNhcmQtZXhwb3J0LWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbENhcmRFeHBvcnRKb2IoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlck1vZGVsQ2FyZEV4cG9ydEpvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptb2RlbC1jYXJkLyR7cHJvcHMubW9kZWxDYXJkTmFtZX0vZXhwb3J0LWpvYi8ke3Byb3BzLmV4cG9ydEpvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vZGVsLWNhcmQtZXhwb3J0LWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxDYXJkRXhwb3J0Sm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsQ2FyZEV4cG9ydEpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb2RlbC1jYXJkLWV4cG9ydC1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTW9kZWxDYXJkRXhwb3J0Sm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJNb2RlbENhcmRFeHBvcnRKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsQ2FyZEV4cG9ydEpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbC1jYXJkLWV4cG9ydC1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bW9kZWxDYXJkTmFtZTogbWF0Y2guZ3JvdXBzIS5tb2RlbENhcmROYW1lLFxuXHRcdFx0ZXhwb3J0Sm9iTmFtZTogbWF0Y2guZ3JvdXBzIS5leHBvcnRKb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1vZGVsLWV4cGxhaW5hYmlsaXR5LWpvYi1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uKFxuXHRcdHByb3BzOiBTYWdlTWFrZXJNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptb2RlbC1leHBsYWluYWJpbGl0eS1qb2ItZGVmaW5pdGlvbi8ke3Byb3BzLm1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9kZWwtZXhwbGFpbmFiaWxpdHktam9iLWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1vZGVsLWV4cGxhaW5hYmlsaXR5LWpvYi1kZWZpbml0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXG5cdFx0XHRcdGBJbnZhbGlkIG1vZGVsLWV4cGxhaW5hYmlsaXR5LWpvYi1kZWZpbml0aW9uIEFSTjogJHthcm59YCxcblx0XHRcdCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uTmFtZTpcblx0XHRcdFx0bWF0Y2guZ3JvdXBzIS5tb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9kZWwtcGFja2FnZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb2RlbFBhY2thZ2UocHJvcHM6IFNhZ2VNYWtlck1vZGVsUGFja2FnZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtcGFja2FnZS8ke3Byb3BzLm1vZGVsUGFja2FnZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1vZGVsLXBhY2thZ2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1vZGVsUGFja2FnZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb2RlbFBhY2thZ2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwtcGFja2FnZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbFBhY2thZ2VBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJNb2RlbFBhY2thZ2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsUGFja2FnZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtb2RlbC1wYWNrYWdlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1vZGVsUGFja2FnZU5hbWU6IG1hdGNoLmdyb3VwcyEubW9kZWxQYWNrYWdlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb2RlbC1wYWNrYWdlLWdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsUGFja2FnZUdyb3VwKHByb3BzOiBTYWdlTWFrZXJNb2RlbFBhY2thZ2VHcm91cEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtcGFja2FnZS1ncm91cC8ke3Byb3BzLm1vZGVsUGFja2FnZUdyb3VwTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9kZWwtcGFja2FnZS1ncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9kZWxQYWNrYWdlR3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTW9kZWxQYWNrYWdlR3JvdXBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwtcGFja2FnZS1ncm91cCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbFBhY2thZ2VHcm91cEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyTW9kZWxQYWNrYWdlR3JvdXBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1vZGVsUGFja2FnZUdyb3VwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vZGVsLXBhY2thZ2UtZ3JvdXAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bW9kZWxQYWNrYWdlR3JvdXBOYW1lOiBtYXRjaC5ncm91cHMhLm1vZGVsUGFja2FnZUdyb3VwTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtb2RlbC1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24oXG5cdFx0cHJvcHM6IFNhZ2VNYWtlck1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9kZWwtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbi8ke3Byb3BzLm1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb2RlbC1xdWFsaXR5LWpvYi1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbW9kZWwtcXVhbGl0eS1qb2ItZGVmaW5pdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vZGVsLXF1YWxpdHktam9iLWRlZmluaXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWU6XG5cdFx0XHRcdG1hdGNoLmdyb3VwcyEubW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9uaXRvcmluZy1zY2hlZHVsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb25pdG9yaW5nU2NoZWR1bGUoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlck1vbml0b3JpbmdTY2hlZHVsZUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptb25pdG9yaW5nLXNjaGVkdWxlLyR7cHJvcHMubW9uaXRvcmluZ1NjaGVkdWxlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbW9uaXRvcmluZy1zY2hlZHVsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTW9uaXRvcmluZ1NjaGVkdWxlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1vbml0b3JpbmdTY2hlZHVsZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb25pdG9yaW5nLXNjaGVkdWxlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vbml0b3JpbmdTY2hlZHVsZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyTW9uaXRvcmluZ1NjaGVkdWxlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNb25pdG9yaW5nU2NoZWR1bGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9uaXRvcmluZy1zY2hlZHVsZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtb25pdG9yaW5nU2NoZWR1bGVOYW1lOiBtYXRjaC5ncm91cHMhLm1vbml0b3JpbmdTY2hlZHVsZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbW9uaXRvcmluZy1zY2hlZHVsZS1hbGVydCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtb25pdG9yaW5nU2NoZWR1bGVBbGVydChcblx0XHRwcm9wczogU2FnZU1ha2VyTW9uaXRvcmluZ1NjaGVkdWxlQWxlcnRBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bW9uaXRvcmluZy1zY2hlZHVsZS8ke3Byb3BzLm1vbml0b3JpbmdTY2hlZHVsZU5hbWV9L2FsZXJ0LyR7cHJvcHMubW9uaXRvcmluZ1NjaGVkdWxlQWxlcnROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtb25pdG9yaW5nLXNjaGVkdWxlLWFsZXJ0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNb25pdG9yaW5nU2NoZWR1bGVBbGVydEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNb25pdG9yaW5nU2NoZWR1bGVBbGVydEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtb25pdG9yaW5nLXNjaGVkdWxlLWFsZXJ0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1vbml0b3JpbmdTY2hlZHVsZUFsZXJ0QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJNb25pdG9yaW5nU2NoZWR1bGVBbGVydEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTW9uaXRvcmluZ1NjaGVkdWxlQWxlcnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9uaXRvcmluZy1zY2hlZHVsZS1hbGVydCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRtb25pdG9yaW5nU2NoZWR1bGVOYW1lOiBtYXRjaC5ncm91cHMhLm1vbml0b3JpbmdTY2hlZHVsZU5hbWUsXG5cdFx0XHRtb25pdG9yaW5nU2NoZWR1bGVBbGVydE5hbWU6IG1hdGNoLmdyb3VwcyEubW9uaXRvcmluZ1NjaGVkdWxlQWxlcnROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG5vdGVib29rLWluc3RhbmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG5vdGVib29rSW5zdGFuY2UocHJvcHM6IFNhZ2VNYWtlck5vdGVib29rSW5zdGFuY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om5vdGVib29rLWluc3RhbmNlLyR7cHJvcHMubm90ZWJvb2tJbnN0YW5jZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG5vdGVib29rLWluc3RhbmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWROb3RlYm9va0luc3RhbmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE5vdGVib29rSW5zdGFuY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbm90ZWJvb2staW5zdGFuY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTm90ZWJvb2tJbnN0YW5jZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyTm90ZWJvb2tJbnN0YW5jZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTm90ZWJvb2tJbnN0YW5jZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBub3RlYm9vay1pbnN0YW5jZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRub3RlYm9va0luc3RhbmNlTmFtZTogbWF0Y2guZ3JvdXBzIS5ub3RlYm9va0luc3RhbmNlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBub3RlYm9vay1pbnN0YW5jZS1saWZlY3ljbGUtY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcoXG5cdFx0cHJvcHM6IFNhZ2VNYWtlck5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bm90ZWJvb2staW5zdGFuY2UtbGlmZWN5Y2xlLWNvbmZpZy8ke3Byb3BzLm5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBub3RlYm9vay1pbnN0YW5jZS1saWZlY3ljbGUtY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWROb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbm90ZWJvb2staW5zdGFuY2UtbGlmZWN5Y2xlLWNvbmZpZyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG5vdGVib29rLWluc3RhbmNlLWxpZmVjeWNsZS1jb25maWcgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ05hbWU6XG5cdFx0XHRcdG1hdGNoLmdyb3VwcyEubm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ05hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgb3B0aW1pemF0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBvcHRpbWl6YXRpb25Kb2IocHJvcHM6IFNhZ2VNYWtlck9wdGltaXphdGlvbkpvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06b3B0aW1pemF0aW9uLWpvYi8ke3Byb3BzLm9wdGltaXphdGlvbkpvYk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG9wdGltaXphdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE9wdGltaXphdGlvbkpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBPcHRpbWl6YXRpb25Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgb3B0aW1pemF0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VPcHRpbWl6YXRpb25Kb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlck9wdGltaXphdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gT3B0aW1pemF0aW9uSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG9wdGltaXphdGlvbi1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0b3B0aW1pemF0aW9uSm9iTmFtZTogbWF0Y2guZ3JvdXBzIS5vcHRpbWl6YXRpb25Kb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHBhcnRuZXItYXBwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHBhcnRuZXJBcHAocHJvcHM6IFNhZ2VNYWtlclBhcnRuZXJBcHBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnBhcnRuZXItYXBwLyR7cHJvcHMuYXBwSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHBhcnRuZXItYXBwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQYXJ0bmVyQXBwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFBhcnRuZXJBcHBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcGFydG5lci1hcHAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUGFydG5lckFwcEFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlclBhcnRuZXJBcHBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFBhcnRuZXJBcHBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcGFydG5lci1hcHAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YXBwSWQ6IG1hdGNoLmdyb3VwcyEuYXBwSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcGlwZWxpbmUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcGlwZWxpbmUocHJvcHM6IFNhZ2VNYWtlclBpcGVsaW5lQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwaXBlbGluZS8ke3Byb3BzLnBpcGVsaW5lTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcGlwZWxpbmUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFBpcGVsaW5lQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFBpcGVsaW5lQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHBpcGVsaW5lIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVBpcGVsaW5lQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyUGlwZWxpbmVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFBpcGVsaW5lQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBpcGVsaW5lIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHBpcGVsaW5lTmFtZTogbWF0Y2guZ3JvdXBzIS5waXBlbGluZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcGlwZWxpbmUtZXhlY3V0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHBpcGVsaW5lRXhlY3V0aW9uKHByb3BzOiBTYWdlTWFrZXJQaXBlbGluZUV4ZWN1dGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cGlwZWxpbmUvJHtwcm9wcy5waXBlbGluZU5hbWV9L2V4ZWN1dGlvbi8ke3Byb3BzLnJhbmRvbVN0cmluZ31gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcGlwZWxpbmUtZXhlY3V0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQaXBlbGluZUV4ZWN1dGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQaXBlbGluZUV4ZWN1dGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwaXBlbGluZS1leGVjdXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUGlwZWxpbmVFeGVjdXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlclBpcGVsaW5lRXhlY3V0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQaXBlbGluZUV4ZWN1dGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwaXBlbGluZS1leGVjdXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cGlwZWxpbmVOYW1lOiBtYXRjaC5ncm91cHMhLnBpcGVsaW5lTmFtZSxcblx0XHRcdHJhbmRvbVN0cmluZzogbWF0Y2guZ3JvdXBzIS5yYW5kb21TdHJpbmcsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcHJvY2Vzc2luZy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcHJvY2Vzc2luZ0pvYihwcm9wczogU2FnZU1ha2VyUHJvY2Vzc2luZ0pvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cHJvY2Vzc2luZy1qb2IvJHtwcm9wcy5wcm9jZXNzaW5nSm9iTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcHJvY2Vzc2luZy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFByb2Nlc3NpbmdKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUHJvY2Vzc2luZ0pvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwcm9jZXNzaW5nLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQcm9jZXNzaW5nSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJQcm9jZXNzaW5nSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcm9jZXNzaW5nSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHByb2Nlc3Npbmctam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHByb2Nlc3NpbmdKb2JOYW1lOiBtYXRjaC5ncm91cHMhLnByb2Nlc3NpbmdKb2JOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHByb2plY3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcHJvamVjdChwcm9wczogU2FnZU1ha2VyUHJvamVjdEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cHJvamVjdC8ke3Byb3BzLnByb2plY3ROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwcm9qZWN0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQcm9qZWN0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFByb2plY3RBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcHJvamVjdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQcm9qZWN0QXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyUHJvamVjdEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUHJvamVjdEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwcm9qZWN0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHByb2plY3ROYW1lOiBtYXRjaC5ncm91cHMhLnByb2plY3ROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHJlc2VydmVkLWNhcGFjaXR5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlc2VydmVkQ2FwYWNpdHkocHJvcHM6IFNhZ2VNYWtlclJlc2VydmVkQ2FwYWNpdHlBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJlc2VydmVkLWNhcGFjaXR5LyR7cHJvcHMucmFuZG9tU3RyaW5nfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSByZXNlcnZlZC1jYXBhY2l0eSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVzZXJ2ZWRDYXBhY2l0eUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZXNlcnZlZENhcGFjaXR5QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHJlc2VydmVkLWNhcGFjaXR5IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlc2VydmVkQ2FwYWNpdHlBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlclJlc2VydmVkQ2FwYWNpdHlBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlc2VydmVkQ2FwYWNpdHlBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcmVzZXJ2ZWQtY2FwYWNpdHkgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmFuZG9tU3RyaW5nOiBtYXRjaC5ncm91cHMhLnJhbmRvbVN0cmluZyxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzYWdlbWFrZXItY2F0YWxvZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzYWdlbWFrZXJDYXRhbG9nKHByb3BzOiBTYWdlTWFrZXJTYWdlbWFrZXJDYXRhbG9nQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzYWdlbWFrZXItY2F0YWxvZy8ke3Byb3BzLnJlc291cmNlQ2F0YWxvZ05hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNhZ2VtYWtlci1jYXRhbG9nIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTYWdlbWFrZXJDYXRhbG9nQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNhZ2VtYWtlckNhdGFsb2dBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc2FnZW1ha2VyLWNhdGFsb2cgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2FnZW1ha2VyQ2F0YWxvZ0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2FnZU1ha2VyU2FnZW1ha2VyQ2F0YWxvZ0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2FnZW1ha2VyQ2F0YWxvZ0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzYWdlbWFrZXItY2F0YWxvZyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUNhdGFsb2dOYW1lOiBtYXRjaC5ncm91cHMhLnJlc291cmNlQ2F0YWxvZ05hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2hhcmVkLW1vZGVsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNoYXJlZE1vZGVsKHByb3BzOiBTYWdlTWFrZXJTaGFyZWRNb2RlbEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2hhcmVkLW1vZGVsLyR7cHJvcHMuc2hhcmVkTW9kZWxJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2hhcmVkLW1vZGVsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTaGFyZWRNb2RlbEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTaGFyZWRNb2RlbEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzaGFyZWQtbW9kZWwgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2hhcmVkTW9kZWxBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJTaGFyZWRNb2RlbEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2hhcmVkTW9kZWxBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2hhcmVkLW1vZGVsIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHNoYXJlZE1vZGVsSWQ6IG1hdGNoLmdyb3VwcyEuc2hhcmVkTW9kZWxJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzaGFyZWQtbW9kZWwtZXZlbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2hhcmVkTW9kZWxFdmVudChwcm9wczogU2FnZU1ha2VyU2hhcmVkTW9kZWxFdmVudEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2hhcmVkLW1vZGVsLWV2ZW50LyR7cHJvcHMuZXZlbnRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2hhcmVkLW1vZGVsLWV2ZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTaGFyZWRNb2RlbEV2ZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNoYXJlZE1vZGVsRXZlbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc2hhcmVkLW1vZGVsLWV2ZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNoYXJlZE1vZGVsRXZlbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNhZ2VNYWtlclNoYXJlZE1vZGVsRXZlbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNoYXJlZE1vZGVsRXZlbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2hhcmVkLW1vZGVsLWV2ZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGV2ZW50SWQ6IG1hdGNoLmdyb3VwcyEuZXZlbnRJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzcGFjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzcGFjZShwcm9wczogU2FnZU1ha2VyU3BhY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNwYWNlLyR7cHJvcHMuZG9tYWluSWR9LyR7cHJvcHMuc3BhY2VOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzcGFjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU3BhY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU3BhY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc3BhY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU3BhY2VBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJTcGFjZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU3BhY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc3BhY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9tYWluSWQ6IG1hdGNoLmdyb3VwcyEuZG9tYWluSWQsXG5cdFx0XHRzcGFjZU5hbWU6IG1hdGNoLmdyb3VwcyEuc3BhY2VOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHN0dWRpby1saWZlY3ljbGUtY29uZmlnIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHN0dWRpb0xpZmVjeWNsZUNvbmZpZyhcblx0XHRwcm9wczogU2FnZU1ha2VyU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnN0dWRpby1saWZlY3ljbGUtY29uZmlnLyR7cHJvcHMuc3R1ZGlvTGlmZWN5Y2xlQ29uZmlnTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc3R1ZGlvLWxpZmVjeWNsZS1jb25maWcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFN0dWRpb0xpZmVjeWNsZUNvbmZpZ0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc3R1ZGlvLWxpZmVjeWNsZS1jb25maWcgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTYWdlTWFrZXJTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzdHVkaW8tbGlmZWN5Y2xlLWNvbmZpZyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzdHVkaW9MaWZlY3ljbGVDb25maWdOYW1lOiBtYXRjaC5ncm91cHMhLnN0dWRpb0xpZmVjeWNsZUNvbmZpZ05hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgdHJhaW5pbmctam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHRyYWluaW5nSm9iKHByb3BzOiBTYWdlTWFrZXJUcmFpbmluZ0pvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dHJhaW5pbmctam9iLyR7cHJvcHMudHJhaW5pbmdKb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB0cmFpbmluZy1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFRyYWluaW5nSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFRyYWluaW5nSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHRyYWluaW5nLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VUcmFpbmluZ0pvYkFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlclRyYWluaW5nSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBUcmFpbmluZ0pvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0cmFpbmluZy1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0dHJhaW5pbmdKb2JOYW1lOiBtYXRjaC5ncm91cHMhLnRyYWluaW5nSm9iTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB0cmFpbmluZy1wbGFuIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHRyYWluaW5nUGxhbihwcm9wczogU2FnZU1ha2VyVHJhaW5pbmdQbGFuQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNhZ2VtYWtlcjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp0cmFpbmluZy1wbGFuLyR7cHJvcHMudHJhaW5pbmdQbGFuTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdHJhaW5pbmctcGxhbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVHJhaW5pbmdQbGFuQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFRyYWluaW5nUGxhbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB0cmFpbmluZy1wbGFuIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVRyYWluaW5nUGxhbkFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlclRyYWluaW5nUGxhbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVHJhaW5pbmdQbGFuQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRyYWluaW5nLXBsYW4gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0dHJhaW5pbmdQbGFuTmFtZTogbWF0Y2guZ3JvdXBzIS50cmFpbmluZ1BsYW5OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHRyYW5zZm9ybS1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdHJhbnNmb3JtSm9iKHByb3BzOiBTYWdlTWFrZXJUcmFuc2Zvcm1Kb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2FnZW1ha2VyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnRyYW5zZm9ybS1qb2IvJHtwcm9wcy50cmFuc2Zvcm1Kb2JOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB0cmFuc2Zvcm0tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRUcmFuc2Zvcm1Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVHJhbnNmb3JtSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHRyYW5zZm9ybS1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVHJhbnNmb3JtSm9iQXJuKGFybjogc3RyaW5nKTogU2FnZU1ha2VyVHJhbnNmb3JtSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBUcmFuc2Zvcm1Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdHJhbnNmb3JtLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR0cmFuc2Zvcm1Kb2JOYW1lOiBtYXRjaC5ncm91cHMhLnRyYW5zZm9ybUpvYk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgdXNlci1wcm9maWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHVzZXJQcm9maWxlKHByb3BzOiBTYWdlTWFrZXJVc2VyUHJvZmlsZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dXNlci1wcm9maWxlLyR7cHJvcHMuZG9tYWluSWR9LyR7cHJvcHMudXNlclByb2ZpbGVOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB1c2VyLXByb2ZpbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFVzZXJQcm9maWxlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFVzZXJQcm9maWxlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHVzZXItcHJvZmlsZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VVc2VyUHJvZmlsZUFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlclVzZXJQcm9maWxlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBVc2VyUHJvZmlsZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB1c2VyLXByb2ZpbGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9tYWluSWQ6IG1hdGNoLmdyb3VwcyEuZG9tYWluSWQsXG5cdFx0XHR1c2VyUHJvZmlsZU5hbWU6IG1hdGNoLmdyb3VwcyEudXNlclByb2ZpbGVOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHdvcmtmb3JjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB3b3JrZm9yY2UocHJvcHM6IFNhZ2VNYWtlcldvcmtmb3JjZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06d29ya2ZvcmNlLyR7cHJvcHMud29ya2ZvcmNlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgd29ya2ZvcmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRXb3JrZm9yY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gV29ya2ZvcmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHdvcmtmb3JjZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VXb3JrZm9yY2VBcm4oYXJuOiBzdHJpbmcpOiBTYWdlTWFrZXJXb3JrZm9yY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFdvcmtmb3JjZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB3b3JrZm9yY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0d29ya2ZvcmNlTmFtZTogbWF0Y2guZ3JvdXBzIS53b3JrZm9yY2VOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHdvcmt0ZWFtIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHdvcmt0ZWFtKHByb3BzOiBTYWdlTWFrZXJXb3JrdGVhbUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzYWdlbWFrZXI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06d29ya3RlYW0vJHtwcm9wcy53b3JrdGVhbU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHdvcmt0ZWFtIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRXb3JrdGVhbUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBXb3JrdGVhbUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB3b3JrdGVhbSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VXb3JrdGVhbUFybihhcm46IHN0cmluZyk6IFNhZ2VNYWtlcldvcmt0ZWFtQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBXb3JrdGVhbUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB3b3JrdGVhbSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR3b3JrdGVhbU5hbWU6IG1hdGNoLmdyb3VwcyEud29ya3RlYW1OYW1lLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIHNhZ2VtYWtlci5cbiAqL1xuZXhwb3J0IGNsYXNzIFNhZ2VNYWtlck9wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBZGRBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZEFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpBZGRBc3NvY2lhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQWRkVGFncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFRhZ3M6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkFkZFRhZ3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZVRyaWFsQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlVHJpYWxDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFzc29jaWF0ZVRyaWFsQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEF0dGFjaENsdXN0ZXJOb2RlVm9sdW1lIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXR0YWNoQ2x1c3Rlck5vZGVWb2x1bWU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkF0dGFjaENsdXN0ZXJOb2RlVm9sdW1lXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoQWRkQ2x1c3Rlck5vZGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hBZGRDbHVzdGVyTm9kZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkJhdGNoQWRkQ2x1c3Rlck5vZGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVDbHVzdGVyTm9kZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkJhdGNoRGVsZXRlQ2x1c3Rlck5vZGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoRGVzY3JpYmVNb2RlbFBhY2thZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlc2NyaWJlTW9kZWxQYWNrYWdlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpCYXRjaERlc2NyaWJlTW9kZWxQYWNrYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoR2V0TWV0cmljcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0TWV0cmljczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6QmF0Y2hHZXRNZXRyaWNzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEdldFJlY29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0UmVjb3JkOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpCYXRjaEdldFJlY29yZFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hQdXRNZXRyaWNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hQdXRNZXRyaWNzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpCYXRjaFB1dE1ldHJpY3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoUmVib290Q2x1c3Rlck5vZGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hSZWJvb3RDbHVzdGVyTm9kZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkJhdGNoUmVib290Q2x1c3Rlck5vZGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoUmVwbGFjZUNsdXN0ZXJOb2RlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoUmVwbGFjZUNsdXN0ZXJOb2Rlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QmF0Y2hSZXBsYWNlQ2x1c3Rlck5vZGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoV3JpdGVSZWNvcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFdyaXRlUmVjb3JkOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpCYXRjaFdyaXRlUmVjb3JkXCIsXG5cdFx0XCJzYWdlbWFrZXI6UHV0UmVjb3JkXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENvbXBsZXRlUm9sbG91dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbXBsZXRlUm9sbG91dDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwic2FnZW1ha2VyOkNvbXBsZXRlUm9sbG91dFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBSUJlbmNobWFya0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFJQmVuY2htYXJrSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQUlCZW5jaG1hcmtKb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQUlSZWNvbW1lbmRhdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFJUmVjb21tZW5kYXRpb25Kb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBSVdvcmtsb2FkQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQUlXb3JrbG9hZENvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFJV29ya2xvYWRDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWN0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQWN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFsZ29yaXRobSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFsZ29yaXRobTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFsZ29yaXRobVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFwcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBcHBJbWFnZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcEltYWdlQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQXBwSW1hZ2VDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQXJ0aWZhY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcnRpZmFjdDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUFydGlmYWN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUF1dG9NTEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9NTEpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUF1dG9NTEpvYlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUF1dG9NTEpvYlYyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b01MSm9iVjI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVBdXRvTUxKb2JWMlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbHVzdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ2x1c3RlclwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNvZnR3YXJlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDb2RlUmVwb3NpdG9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvZGVSZXBvc2l0b3J5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ29kZVJlcG9zaXRvcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29tcGlsYXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb21waWxhdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUNvbXBpbGF0aW9uSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29tcHV0ZVF1b3RhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29tcHV0ZVF1b3RhOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ29tcHV0ZVF1b3RhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbnRleHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb250ZXh0OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlQ29udGV4dFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEZXZpY2VGbGVldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURldmljZUZsZWV0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEb21haW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEb21haW46IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVEb21haW5cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFZGdlRGVwbG95bWVudFBsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlRGVwbG95bWVudFBsYW46IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUVkZ2VEZXBsb3ltZW50U3RhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlRGVwbG95bWVudFN0YWdlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFZGdlUGFja2FnaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRWRnZVBhY2thZ2luZ0pvYjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUVuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUVuZHBvaW50Q29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW5kcG9pbnRDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVFbmRwb2ludENvbmZpZ1wiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUV4cGVyaW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeHBlcmltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlRXhwZXJpbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVGZWF0dXJlR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGZWF0dXJlR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVGZWF0dXJlR3JvdXBcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVGbG93RGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZsb3dEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlRmxvd0RlZmluaXRpb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVIdWIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdWI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVIdWJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSHViQ29udGVudFByZXNpZ25lZFVybHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIdWJDb250ZW50UHJlc2lnbmVkVXJsczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSHViQ29udGVudFByZXNpZ25lZFVybHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSHViQ29udGVudFJlZmVyZW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh1YkNvbnRlbnRSZWZlcmVuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVIdWJDb250ZW50UmVmZXJlbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUh1bWFuVGFza1VpIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHVtYW5UYXNrVWk6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVIdW1hblRhc2tVaVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbWFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUltYWdlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSW1hZ2VcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbWFnZVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbWFnZVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZUltYWdlVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbmZlcmVuY2VDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbmZlcmVuY2VDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSW5mZXJlbmNlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluZmVyZW5jZUV4cGVyaW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlSm9iXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1wb3J0SHViQ29udGVudFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSHViQ29udGVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVMYWJlbGluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxhYmVsaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTGFiZWxpbmdKb2JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNbGZsb3dBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNbGZsb3dBcHA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNbGZsb3dBcHBcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNbGZsb3dUcmFja2luZ1NlcnZlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1sZmxvd1RyYWNraW5nU2VydmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxcIixcblx0XHRcInNhZ2VtYWtlcjpEZXBsb3lIdWJNb2RlbFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvblwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1vZGVsQ2FyZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQ2FyZDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsQ2FyZFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbENhcmRFeHBvcnRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbENhcmRFeHBvcnRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU1vZGVsQ2FyZEV4cG9ydEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbFBhY2thZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbFBhY2thZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbFBhY2thZ2VcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNb2RlbFBhY2thZ2VHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsUGFja2FnZUdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9kZWxQYWNrYWdlR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGVib29rSW5zdGFuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVOb3RlYm9va0luc3RhbmNlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU9wdGltaXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9wdGltaXphdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZU9wdGltaXphdGlvbkpvYlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVBhcnRuZXJBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXJ0bmVyQXBwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUGFydG5lckFwcFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVBhcnRuZXJBcHBQcmVzaWduZWRVcmwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXJ0bmVyQXBwUHJlc2lnbmVkVXJsOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQYXJ0bmVyQXBwUHJlc2lnbmVkVXJsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVBpcGVsaW5lIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGlwZWxpbmU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQaXBlbGluZVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVByZXNpZ25lZERvbWFpblVybCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByZXNpZ25lZERvbWFpblVybDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUHJlc2lnbmVkRG9tYWluVXJsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVByZXNpZ25lZE1sZmxvd0FwcFVybCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByZXNpZ25lZE1sZmxvd0FwcFVybDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUHJlc2lnbmVkTWxmbG93QXBwVXJsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVByZXNpZ25lZE1sZmxvd1RyYWNraW5nU2VydmVyVXJsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJlc2lnbmVkTWxmbG93VHJhY2tpbmdTZXJ2ZXJVcmw6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVByZXNpZ25lZE1sZmxvd1RyYWNraW5nU2VydmVyVXJsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVByZXNpZ25lZE5vdGVib29rSW5zdGFuY2VVcmwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcmVzaWduZWROb3RlYm9va0luc3RhbmNlVXJsOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVQcmVzaWduZWROb3RlYm9va0luc3RhbmNlVXJsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVByb2Nlc3NpbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9jZXNzaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUHJvY2Vzc2luZ0pvYlwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVByb2plY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm9qZWN0OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUHJvamVjdFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNwYWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU3BhY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVTcGFjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTdHVkaW9MaWZlY3ljbGVDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTdHVkaW9MaWZlY3ljbGVDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVTdHVkaW9MaWZlY3ljbGVDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVHJhaW5pbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmFpbmluZ0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVRyYWluaW5nSm9iXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVHJhaW5pbmdQbGFuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJhaW5pbmdQbGFuOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlUmVzZXJ2ZWRDYXBhY2l0eVwiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVRyYWluaW5nUGxhblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUcmFuc2Zvcm1Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmFuc2Zvcm1Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVUcmFuc2Zvcm1Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVHJpYWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmlhbDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVRyaWFsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVRyaWFsQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJpYWxDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVUcmlhbENvbXBvbmVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVVc2VyUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVVzZXJQcm9maWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpBZGRUYWdzXCIsXG5cdFx0XCJzYWdlbWFrZXI6Q3JlYXRlVXNlclByb2ZpbGVcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVXb3JrZm9yY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3JrZm9yY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpDcmVhdGVXb3JrZm9yY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlV29ya3RlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3JrdGVhbTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkNyZWF0ZVdvcmt0ZWFtXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFJQmVuY2htYXJrSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQUlCZW5jaG1hcmtKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUFJQmVuY2htYXJrSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFJUmVjb21tZW5kYXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBSVJlY29tbWVuZGF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVBSVJlY29tbWVuZGF0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFJV29ya2xvYWRDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBSVdvcmtsb2FkQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVBSVdvcmtsb2FkQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFjdGlvbjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlQWN0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBbGdvcml0aG0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBbGdvcml0aG06IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUFsZ29yaXRobVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXBwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXBwOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVBcHBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFwcEltYWdlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXBwSW1hZ2VDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUFwcEltYWdlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFydGlmYWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXJ0aWZhY3Q6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUFydGlmYWN0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVBc3NvY2lhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2x1c3RlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNsdXN0ZXI6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUNsdXN0ZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvZGVSZXBvc2l0b3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29kZVJlcG9zaXRvcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUNvZGVSZXBvc2l0b3J5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbXBpbGF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29tcGlsYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUNvbXBpbGF0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbXB1dGVRdW90YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbXB1dGVRdW90YTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlQ29tcHV0ZVF1b3RhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbnRleHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb250ZXh0OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVDb250ZXh0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEZXZpY2VGbGVldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURldmljZUZsZWV0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEb21haW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEb21haW46IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZURvbWFpblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRWRnZURlcGxveW1lbnRQbGFuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRWRnZURlcGxveW1lbnRQbGFuOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVFZGdlRGVwbG95bWVudFN0YWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRWRnZURlcGxveW1lbnRTdGFnZTogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFbmRwb2ludDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlRW5kcG9pbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUVuZHBvaW50Q29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRW5kcG9pbnRDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUVuZHBvaW50Q29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUV4cGVyaW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFeHBlcmltZW50OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVFeHBlcmltZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVGZWF0dXJlR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGZWF0dXJlR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZUZlYXR1cmVHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVGbG93RGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZsb3dEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVGbG93RGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVIdWIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIdWI6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUh1YlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSHViQ29udGVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh1YkNvbnRlbnQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZUh1YkNvbnRlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUh1YkNvbnRlbnRSZWZlcmVuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIdWJDb250ZW50UmVmZXJlbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVIdWJDb250ZW50UmVmZXJlbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUh1bWFuTG9vcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh1bWFuTG9vcDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlSHVtYW5Mb29wXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVIdW1hblRhc2tVaSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUh1bWFuVGFza1VpOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVIdW1hblRhc2tVaVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSW1hZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbWFnZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlSW1hZ2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUltYWdlVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUltYWdlVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlSW1hZ2VWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUluZmVyZW5jZUNvbXBvbmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUluZmVyZW5jZUNvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlSW5mZXJlbmNlQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUluZmVyZW5jZUV4cGVyaW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbmZlcmVuY2VFeHBlcmltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVJbmZlcmVuY2VFeHBlcmltZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUpvYjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNbGZsb3dBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNbGZsb3dBcHA6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZU1sZmxvd0FwcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNbGZsb3dUcmFja2luZ1NlcnZlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTW9kZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNb2RlbEJpYXNKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1vZGVsQ2FyZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsQ2FyZDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxDYXJkXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNb2RlbFBhY2thZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb2RlbFBhY2thZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vZGVsUGFja2FnZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNb2RlbFBhY2thZ2VHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsUGFja2FnZUdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNb2RlbFBhY2thZ2VHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNb2RlbFBhY2thZ2VHcm91cFBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1vZGVsUGFja2FnZUdyb3VwUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVNb2RlbFBhY2thZ2VHcm91cFBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNb25pdG9yaW5nU2NoZWR1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNb25pdG9yaW5nU2NoZWR1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU1vbml0b3JpbmdTY2hlZHVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVOb3RlYm9va0luc3RhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTm90ZWJvb2tJbnN0YW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTm90ZWJvb2tJbnN0YW5jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVPcHRpbWl6YXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVPcHRpbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZU9wdGltaXphdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQYXJ0bmVyQXBwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUGFydG5lckFwcDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlUGFydG5lckFwcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUGlwZWxpbmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQaXBlbGluZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlUGlwZWxpbmVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVByb2Nlc3NpbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9jZXNzaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZWxldGVQcm9jZXNzaW5nSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVByb2plY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm9qZWN0OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVQcm9qZWN0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZWNvcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvcmQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZVJlY29yZFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU3BhY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTcGFjZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlU3BhY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVN0dWRpb0xpZmVjeWNsZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVsZXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVRhZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUYWdzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVUYWdzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVUcmFpbmluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRyYWluaW5nSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZWxldGVUcmFpbmluZ0pvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVHJpYWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUcmlhbDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlVHJpYWxcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVRyaWFsQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVHJpYWxDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlbGV0ZVRyaWFsQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVVzZXJQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVXNlclByb2ZpbGU6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZVVzZXJQcm9maWxlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVXb3JrZm9yY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVXb3JrZm9yY2U6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlbGV0ZVdvcmtmb3JjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlV29ya3RlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVXb3JrdGVhbTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVsZXRlV29ya3RlYW1cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlcmVnaXN0ZXJEZXZpY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3RlckRldmljZXM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQUlCZW5jaG1hcmtKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFJQmVuY2htYXJrSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUFJQmVuY2htYXJrSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQUlSZWNvbW1lbmRhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQUlSZWNvbW1lbmRhdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVBSVJlY29tbWVuZGF0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQUlXb3JrbG9hZENvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQUlXb3JrbG9hZENvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVBSVdvcmtsb2FkQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBY3Rpb246IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlQWN0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFsZ29yaXRobSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWxnb3JpdGhtOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZUFsZ29yaXRobVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVBcHBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXBwSW1hZ2VDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcEltYWdlQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUFwcEltYWdlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXJ0aWZhY3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFydGlmYWN0OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZUFydGlmYWN0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUF1dG9NTEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXV0b01MSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZUF1dG9NTEpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBdXRvTUxKb2JWMiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXV0b01MSm9iVjI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQXV0b01MSm9iVjJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDbHVzdGVyOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ2x1c3RlckV2ZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDbHVzdGVyRXZlbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQ2x1c3RlckV2ZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ2x1c3Rlck5vZGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXJOb2RlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUNsdXN0ZXJOb2RlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ2x1c3RlclNjaGVkdWxlckNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2x1c3RlclNjaGVkdWxlckNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ29kZVJlcG9zaXRvcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvZGVSZXBvc2l0b3J5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUNvZGVSZXBvc2l0b3J5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ29tcGlsYXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbXBpbGF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUNvbXBpbGF0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ29tcHV0ZVF1b3RhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb21wdXRlUXVvdGE6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlQ29tcHV0ZVF1b3RhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ29udGV4dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29udGV4dDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVDb250ZXh0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGF0YVF1YWxpdHlKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZURldmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGV2aWNlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZURldmljZUZsZWV0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEZXZpY2VGbGVldDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVEb21haW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURvbWFpbjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVEb21haW5cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRWRnZURlcGxveW1lbnRQbGFuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFZGdlRGVwbG95bWVudFBsYW46IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRWRnZVBhY2thZ2luZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRWRnZVBhY2thZ2luZ0pvYjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlRW5kcG9pbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRW5kcG9pbnRDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVuZHBvaW50Q29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUVuZHBvaW50Q29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRXhwZXJpbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVFeHBlcmltZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRmVhdHVyZUdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVGZWF0dXJlR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlRmVhdHVyZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRmVhdHVyZU1ldGFkYXRhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVGZWF0dXJlTWV0YWRhdGE6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlRmVhdHVyZU1ldGFkYXRhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRmxvd0RlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZsb3dEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUZsb3dEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSHViIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVIdWI6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlSHViXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUh1YkNvbnRlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUh1YkNvbnRlbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSHViQ29udGVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUh1bWFuTG9vcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSHVtYW5Mb29wOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZUh1bWFuTG9vcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVIdW1hblRhc2tVaSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSHVtYW5UYXNrVWk6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSHVtYW5UYXNrVWlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVJbWFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW1hZ2U6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlSW1hZ2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSW1hZ2VWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbWFnZVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSW1hZ2VWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSW5mZXJlbmNlQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbmZlcmVuY2VDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSW5mZXJlbmNlQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSW5mZXJlbmNlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5mZXJlbmNlRXhwZXJpbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVJbmZlcmVuY2VFeHBlcmltZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVKb2I6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUpvYlNjaGVtYVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUpvYlNjaGVtYVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlSm9iU2NoZW1hVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUxhYmVsaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMYWJlbGluZ0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVMYWJlbGluZ0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUxpbmVhZ2VHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTGluZWFnZUdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZUxpbmVhZ2VHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1sZmxvd0FwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWxmbG93QXBwOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZU1sZmxvd0FwcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNbGZsb3dUcmFja2luZ1NlcnZlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWxmbG93VHJhY2tpbmdTZXJ2ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWw6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbEJpYXNKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTW9kZWxDYXJkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbENhcmQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxDYXJkXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1vZGVsQ2FyZEV4cG9ydEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxDYXJkRXhwb3J0Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsQ2FyZEV4cG9ydEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1vZGVsRXhwbGFpbmFiaWxpdHlKb2JEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1vZGVsUGFja2FnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9kZWxQYWNrYWdlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vZGVsUGFja2FnZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1vZGVsUGFja2FnZUdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNb2RlbFBhY2thZ2VHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVNb2RlbFBhY2thZ2VHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1vbml0b3JpbmdTY2hlZHVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTW9uaXRvcmluZ1NjaGVkdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU1vbml0b3JpbmdTY2hlZHVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU5vdGVib29rSW5zdGFuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU5vdGVib29rSW5zdGFuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU9wdGltaXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlT3B0aW1pemF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZU9wdGltaXphdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVBhcnRuZXJBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBhcnRuZXJBcHA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlUGFydG5lckFwcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVBpcGVsaW5lIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQaXBlbGluZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVQaXBlbGluZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVQaXBlbGluZURlZmluaXRpb25Gb3JFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBpcGVsaW5lRGVmaW5pdGlvbkZvckV4ZWN1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVQaXBlbGluZURlZmluaXRpb25Gb3JFeGVjdXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVQaXBlbGluZUV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGlwZWxpbmVFeGVjdXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlUGlwZWxpbmVFeGVjdXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVQcm9jZXNzaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQcm9jZXNzaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVByb2Nlc3NpbmdKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVQcm9qZWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQcm9qZWN0OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZVByb2plY3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVzZXJ2ZWRDYXBhY2l0eSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVzZXJ2ZWRDYXBhY2l0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVSZXNlcnZlZENhcGFjaXR5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU3BhY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNwYWNlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZVNwYWNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVN0dWRpb0xpZmVjeWNsZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVN0dWRpb0xpZmVjeWNsZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVN1YnNjcmliZWRXb3JrdGVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU3Vic2NyaWJlZFdvcmt0ZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVN1YnNjcmliZWRXb3JrdGVhbVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRyYWluaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmFpbmluZ0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RGVzY3JpYmVUcmFpbmluZ0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRyYWluaW5nUGxhbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJhaW5pbmdQbGFuOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVRyYWluaW5nUGxhblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRyYWluaW5nUGxhbkV4dGVuc2lvbkhpc3RvcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRyYWluaW5nUGxhbkV4dGVuc2lvbkhpc3Rvcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlVHJhaW5pbmdQbGFuRXh0ZW5zaW9uSGlzdG9yeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRyYW5zZm9ybUpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJhbnNmb3JtSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXNjcmliZVRyYW5zZm9ybUpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRyaWFsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcmlhbDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVUcmlhbFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVUcmlhbENvbXBvbmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJpYWxDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlVHJpYWxDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVVc2VyUHJvZmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVXNlclByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRlc2NyaWJlVXNlclByb2ZpbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVXb3JrZm9yY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmtmb3JjZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6RGVzY3JpYmVXb3JrZm9yY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlV29ya3RlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmt0ZWFtOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpEZXNjcmliZVdvcmt0ZWFtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXRhY2hDbHVzdGVyTm9kZVZvbHVtZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGFjaENsdXN0ZXJOb2RlVm9sdW1lOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEZXRhY2hDbHVzdGVyTm9kZVZvbHVtZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW8gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhYmxlU2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW86IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkRpc2FibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpb1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVUcmlhbENvbXBvbmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZVRyaWFsQ29tcG9uZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpEaXNhc3NvY2lhdGVUcmlhbENvbXBvbmVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBFbmFibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpbyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuYWJsZVNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpFbmFibGVTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpb1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBFeHRlbmRUcmFpbmluZ1BsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBFeHRlbmRUcmFpbmluZ1BsYW46IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkV4dGVuZFRyYWluaW5nUGxhblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREZXBsb3ltZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGVwbG95bWVudHM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERldmljZUZsZWV0UmVwb3J0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREZXZpY2VGbGVldFJlcG9ydDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGV2aWNlUmVnaXN0cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREZXZpY2VSZWdpc3RyYXRpb246IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldExpbmVhZ2VHcm91cFBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TGluZWFnZUdyb3VwUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpHZXRMaW5lYWdlR3JvdXBQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1vZGVsUGFja2FnZUdyb3VwUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpHZXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWNvcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlY29yZDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6R2V0UmVjb3JkXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTYWdlbWFrZXJTZXJ2aWNlY2F0YWxvZ1BvcnRmb2xpb1N0YXR1cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U2FnZW1ha2VyU2VydmljZWNhdGFsb2dQb3J0Zm9saW9TdGF0dXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkdldFNhZ2VtYWtlclNlcnZpY2VjYXRhbG9nUG9ydGZvbGlvU3RhdHVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFNjYWxpbmdDb25maWd1cmF0aW9uUmVjb21tZW5kYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNjYWxpbmdDb25maWd1cmF0aW9uUmVjb21tZW5kYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkdldFNjYWxpbmdDb25maWd1cmF0aW9uUmVjb21tZW5kYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2VhcmNoU3VnZ2VzdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNlYXJjaFN1Z2dlc3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpHZXRTZWFyY2hTdWdnZXN0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbXBvcnRIdWJDb250ZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0SHViQ29udGVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWRkVGFnc1wiLFxuXHRcdFwic2FnZW1ha2VyOkltcG9ydEh1YkNvbnRlbnRcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZva2VFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUVuZHBvaW50OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpJbnZva2VFbmRwb2ludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlRW5kcG9pbnRBc3luYyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludm9rZUVuZHBvaW50QXN5bmM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkludm9rZUVuZHBvaW50QXN5bmNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW52b2tlRW5kcG9pbnRXaXRoUmVzcG9uc2VTdHJlYW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VFbmRwb2ludFdpdGhSZXNwb25zZVN0cmVhbTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwic2FnZW1ha2VyOkludm9rZUVuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBSUJlbmNobWFya0pvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QUlCZW5jaG1hcmtKb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0QUlCZW5jaG1hcmtKb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBSVJlY29tbWVuZGF0aW9uSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBSVJlY29tbWVuZGF0aW9uSm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEFJUmVjb21tZW5kYXRpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBSVdvcmtsb2FkQ29uZmlncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBSVdvcmtsb2FkQ29uZmlnczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEFJV29ya2xvYWRDb25maWdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBY3Rpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RBY3Rpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWxnb3JpdGhtcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbGdvcml0aG1zOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0QWxnb3JpdGhtc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFsaWFzZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWxpYXNlczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEFsaWFzZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBcHBJbWFnZUNvbmZpZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwSW1hZ2VDb25maWdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0QXBwSW1hZ2VDb25maWdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBcHBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RBcHBzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXJ0aWZhY3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFydGlmYWN0czogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEFydGlmYWN0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFzc29jaWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NvY2lhdGlvbnM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RBc3NvY2lhdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBdXRvTUxKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9NTEpvYnM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RBdXRvTUxKb2JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q2FuZGlkYXRlc0ZvckF1dG9NTEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDYW5kaWRhdGVzRm9yQXV0b01MSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Q2FuZGlkYXRlc0ZvckF1dG9NTEpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q2x1c3RlckV2ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDbHVzdGVyRXZlbnRzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0Q2x1c3RlckV2ZW50c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENsdXN0ZXJOb2RlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDbHVzdGVyTm9kZXM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RDbHVzdGVyTm9kZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDbHVzdGVyU2NoZWR1bGVyQ29uZmlncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDbHVzdGVyU2NoZWR1bGVyQ29uZmlnczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdENsdXN0ZXJTY2hlZHVsZXJDb25maWdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDbHVzdGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDbHVzdGVyczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdENsdXN0ZXJzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29kZVJlcG9zaXRvcmllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb2RlUmVwb3NpdG9yaWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0Q29kZVJlcG9zaXRvcmllc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29tcGlsYXRpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbXBpbGF0aW9uSm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdENvbXBpbGF0aW9uSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29tcHV0ZVF1b3RhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb21wdXRlUXVvdGFzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0Q29tcHV0ZVF1b3Rhc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbnRleHRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbnRleHRzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0Q29udGV4dHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REYXRhUXVhbGl0eUpvYkRlZmluaXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3REYXRhUXVhbGl0eUpvYkRlZmluaXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REZXZpY2VGbGVldHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGV2aWNlRmxlZXRzOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RGV2aWNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REZXZpY2VzOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RG9tYWlucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REb21haW5zOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0RG9tYWluc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEVkZ2VEZXBsb3ltZW50UGxhbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RWRnZURlcGxveW1lbnRQbGFuczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEVkZ2VQYWNrYWdpbmdKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVkZ2VQYWNrYWdpbmdKb2JzOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RW5kcG9pbnRDb25maWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZHBvaW50Q29uZmlnczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEVuZHBvaW50Q29uZmlnc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RW5kcG9pbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZHBvaW50czogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEVuZHBvaW50c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEV4cGVyaW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV4cGVyaW1lbnRzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0RXhwZXJpbWVudHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RGZWF0dXJlR3JvdXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZlYXR1cmVHcm91cHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RGZWF0dXJlR3JvdXBzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rmxvd0RlZmluaXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsb3dEZWZpbml0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEZsb3dEZWZpbml0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SHViQ29udGVudFZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEh1YkNvbnRlbnRWZXJzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdEh1YkNvbnRlbnRWZXJzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SHViQ29udGVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHViQ29udGVudHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RIdWJDb250ZW50c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEh1YnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SHViczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEh1YnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RIdW1hbkxvb3BzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEh1bWFuTG9vcHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RIdW1hbkxvb3BzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SHVtYW5UYXNrVWlzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEh1bWFuVGFza1Vpczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEh1bWFuVGFza1Vpc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIeXBlclBhcmFtZXRlclR1bmluZ0pvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RIeXBlclBhcmFtZXRlclR1bmluZ0pvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEltYWdlVmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW1hZ2VWZXJzaW9uczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdEltYWdlVmVyc2lvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbWFnZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW1hZ2VzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0SW1hZ2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW5mZXJlbmNlQ29tcG9uZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VDb21wb25lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0SW5mZXJlbmNlQ29tcG9uZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW5mZXJlbmNlRXhwZXJpbWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW5mZXJlbmNlRXhwZXJpbWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VFeHBlcmltZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iU3RlcHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iU3RlcHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JTdGVwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0SW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Sm9iU2NoZW1hVmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Sm9iU2NoZW1hVmVyc2lvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RKb2JTY2hlbWFWZXJzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Sm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RKb2JzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0Sm9ic1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdExhYmVsaW5nSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RMYWJlbGluZ0pvYnM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RMYWJlbGluZ0pvYnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RMYWJlbGluZ0pvYnNGb3JXb3JrdGVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RMYWJlbGluZ0pvYnNGb3JXb3JrdGVhbTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdExhYmVsaW5nSm9ic0Zvcldvcmt0ZWFtXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RMaW5lYWdlR3JvdXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdExpbmVhZ2VHcm91cHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RMaW5lYWdlR3JvdXBzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TWxmbG93QXBwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNbGZsb3dBcHBzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0TWxmbG93QXBwc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1sZmxvd1RyYWNraW5nU2VydmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNbGZsb3dUcmFja2luZ1NlcnZlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNbGZsb3dUcmFja2luZ1NlcnZlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vZGVsQmlhc0pvYkRlZmluaXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQmlhc0pvYkRlZmluaXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9kZWxCaWFzSm9iRGVmaW5pdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vZGVsQ2FyZEV4cG9ydEpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxDYXJkRXhwb3J0Sm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vZGVsQ2FyZEV4cG9ydEpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vZGVsQ2FyZFZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsQ2FyZFZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9kZWxDYXJkVmVyc2lvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vZGVsQ2FyZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxDYXJkczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdE1vZGVsQ2FyZHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbEV4cGxhaW5hYmlsaXR5Sm9iRGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb2RlbE1ldGFkYXRhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsTWV0YWRhdGE6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RNb2RlbE1ldGFkYXRhXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxQYWNrYWdlR3JvdXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsUGFja2FnZUdyb3Vwczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vZGVsUGFja2FnZUdyb3Vwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TW9kZWxQYWNrYWdlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbFBhY2thZ2VzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0TW9kZWxQYWNrYWdlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vZGVsUXVhbGl0eUpvYkRlZmluaXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0TW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1vZGVscyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb2RlbHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RNb2RlbHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb25pdG9yaW5nQWxlcnRIaXN0b3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vbml0b3JpbmdBbGVydEhpc3Rvcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNb25pdG9yaW5nQWxlcnRIaXN0b3J5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb25pdG9yaW5nQWxlcnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vbml0b3JpbmdBbGVydHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNb25pdG9yaW5nQWxlcnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb25pdG9yaW5nRXhlY3V0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNb25pdG9yaW5nRXhlY3V0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE1vbml0b3JpbmdFeGVjdXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNb25pdG9yaW5nU2NoZWR1bGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1vbml0b3JpbmdTY2hlZHVsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RNb25pdG9yaW5nU2NoZWR1bGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3ROb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3ROb3RlYm9va0luc3RhbmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROb3RlYm9va0luc3RhbmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdE5vdGVib29rSW5zdGFuY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RPcHRpbWl6YXRpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9wdGltaXphdGlvbkpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RPcHRpbWl6YXRpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQYXJ0bmVyQXBwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQYXJ0bmVyQXBwczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFBhcnRuZXJBcHBzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UGlwZWxpbmVFeGVjdXRpb25TdGVwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQaXBlbGluZUV4ZWN1dGlvblN0ZXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVFeGVjdXRpb25TdGVwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UGlwZWxpbmVFeGVjdXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lRXhlY3V0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdFBpcGVsaW5lRXhlY3V0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UGlwZWxpbmVQYXJhbWV0ZXJzRm9yRXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lUGFyYW1ldGVyc0ZvckV4ZWN1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdFBpcGVsaW5lUGFyYW1ldGVyc0ZvckV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UGlwZWxpbmVWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQaXBlbGluZVZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0UGlwZWxpbmVWZXJzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UGlwZWxpbmVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpcGVsaW5lczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFBpcGVsaW5lc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFByb2Nlc3NpbmdKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb2Nlc3NpbmdKb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0UHJvY2Vzc2luZ0pvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFByb2plY3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb2plY3RzOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpMaXN0UHJvamVjdHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZWNvcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY29yZHM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RSZWNvcmRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVzb3VyY2VDYXRhbG9ncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZUNhdGFsb2dzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0UmVzb3VyY2VDYXRhbG9nc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U3BhY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNwYWNlczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFNwYWNlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFN0YWdlRGV2aWNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTdGFnZURldmljZXM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTdHVkaW9MaWZlY3ljbGVDb25maWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN0dWRpb0xpZmVjeWNsZUNvbmZpZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RTdHVkaW9MaWZlY3ljbGVDb25maWdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTdWJzY3JpYmVkV29ya3RlYW1zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN1YnNjcmliZWRXb3JrdGVhbXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RTdWJzY3JpYmVkV29ya3RlYW1zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3M6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RUYWdzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VHJhaW5pbmdKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyYWluaW5nSm9iczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFRyYWluaW5nSm9ic1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRyYWluaW5nSm9ic0Zvckh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyYWluaW5nSm9ic0Zvckh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpMaXN0VHJhaW5pbmdKb2JzRm9ySHlwZXJQYXJhbWV0ZXJUdW5pbmdKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRyYWluaW5nUGxhbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJhaW5pbmdQbGFuczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFRyYWluaW5nUGxhbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUcmFuc2Zvcm1Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyYW5zZm9ybUpvYnM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RUcmFuc2Zvcm1Kb2JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VHJpYWxDb21wb25lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyaWFsQ29tcG9uZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6TGlzdFRyaWFsQ29tcG9uZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VHJpYWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyaWFsczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFRyaWFsc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFVsdHJhU2VydmVyc0J5UmVzZXJ2ZWRDYXBhY2l0eSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RVbHRyYVNlcnZlcnNCeVJlc2VydmVkQ2FwYWNpdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkxpc3RVbHRyYVNlcnZlcnNCeVJlc2VydmVkQ2FwYWNpdHlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFVzZXJQcm9maWxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RVc2VyUHJvZmlsZXM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RVc2VyUHJvZmlsZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RXb3JrZm9yY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFdvcmtmb3JjZXM6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOkxpc3RXb3JrZm9yY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0V29ya3RlYW1zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFdvcmt0ZWFtczogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6TGlzdFdvcmt0ZWFtc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRNb2RlbFBhY2thZ2VHcm91cFBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6UHV0TW9kZWxQYWNrYWdlR3JvdXBQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0UmVjb3JkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVjb3JkOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpQdXRSZWNvcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFF1ZXJ5TGluZWFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFF1ZXJ5TGluZWFnZTogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6UXVlcnlMaW5lYWdlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWdpc3RlckRldmljZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlckRldmljZXM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlbmRlclVpVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZW5kZXJVaVRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwic2FnZW1ha2VyOlJlbmRlclVpVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmV0cnlQaXBlbGluZUV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldHJ5UGlwZWxpbmVFeGVjdXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlJldHJ5UGlwZWxpbmVFeGVjdXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2FtcGxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2FtcGxlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJzYWdlbWFrZXI6U2FtcGxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNhbXBsZVdpdGhSZXNwb25zZVN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNhbXBsZVdpdGhSZXNwb25zZVN0cmVhbTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6Q2FsbFdpdGhCZWFyZXJUb2tlblwiLFxuXHRcdFwic2FnZW1ha2VyOlNhbXBsZVdpdGhSZXNwb25zZVN0cmVhbVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZWFyY2ggQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZWFyY2g6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlNlYXJjaFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VhcmNoVHJhaW5pbmdQbGFuT2ZmZXJpbmdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VhcmNoVHJhaW5pbmdQbGFuT2ZmZXJpbmdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTZWFyY2hUcmFpbmluZ1BsYW5PZmZlcmluZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VuZEhlYXJ0YmVhdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRIZWFydGJlYXQ6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBGYWlsdXJlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcEZhaWx1cmU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBGYWlsdXJlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBTdWNjZXNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZFBpcGVsaW5lRXhlY3V0aW9uU3RlcFN1Y2Nlc3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlNlbmRQaXBlbGluZUV4ZWN1dGlvblN0ZXBTdWNjZXNzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0Q2x1c3RlckhlYWx0aENoZWNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRDbHVzdGVySGVhbHRoQ2hlY2s6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0YXJ0Q2x1c3RlckhlYWx0aENoZWNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0RWRnZURlcGxveW1lbnRTdGFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RWRnZURlcGxveW1lbnRTdGFnZTogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRIdW1hbkxvb3AgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEh1bWFuTG9vcDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U3RhcnRIdW1hbkxvb3BcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0SW5mZXJlbmNlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0SW5mZXJlbmNlRXhwZXJpbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RhcnRJbmZlcmVuY2VFeHBlcmltZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0TWxmbG93VHJhY2tpbmdTZXJ2ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1sZmxvd1RyYWNraW5nU2VydmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdGFydE1sZmxvd1RyYWNraW5nU2VydmVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0TW9uaXRvcmluZ1NjaGVkdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRNb25pdG9yaW5nU2NoZWR1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0YXJ0TW9uaXRvcmluZ1NjaGVkdWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0Tm90ZWJvb2tJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0Tm90ZWJvb2tJbnN0YW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RhcnROb3RlYm9va0luc3RhbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0UGlwZWxpbmVFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFBpcGVsaW5lRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdGFydFBpcGVsaW5lRXhlY3V0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0U2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0U2Vzc2lvbjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U3RhcnRTZXNzaW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wQUlCZW5jaG1hcmtKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQUlCZW5jaG1hcmtKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BBSUJlbmNobWFya0pvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wQUlSZWNvbW1lbmRhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BBSVJlY29tbWVuZGF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdG9wQUlSZWNvbW1lbmRhdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wQXV0b01MSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEF1dG9NTEpvYjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U3RvcEF1dG9NTEpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcENvbXBpbGF0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcENvbXBpbGF0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdG9wQ29tcGlsYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEVkZ2VEZXBsb3ltZW50U3RhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wRWRnZURlcGxveW1lbnRTdGFnZTogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEVkZ2VQYWNrYWdpbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wRWRnZVBhY2thZ2luZ0pvYjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEh1bWFuTG9vcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BIdW1hbkxvb3A6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlN0b3BIdW1hbkxvb3BcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BIeXBlclBhcmFtZXRlclR1bmluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BIeXBlclBhcmFtZXRlclR1bmluZ0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RvcEh5cGVyUGFyYW1ldGVyVHVuaW5nSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BJbmZlcmVuY2VFeHBlcmltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEluZmVyZW5jZUV4cGVyaW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BJbmZlcmVuY2VFeHBlcmltZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdG9wSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpTdG9wSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wTGFiZWxpbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wTGFiZWxpbmdKb2I6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlN0b3BMYWJlbGluZ0pvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcE1sZmxvd1RyYWNraW5nU2VydmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcE1sZmxvd1RyYWNraW5nU2VydmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdG9wTWxmbG93VHJhY2tpbmdTZXJ2ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcE1vbml0b3JpbmdTY2hlZHVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BNb25pdG9yaW5nU2NoZWR1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BNb25pdG9yaW5nU2NoZWR1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcE5vdGVib29rSW5zdGFuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wTm90ZWJvb2tJbnN0YW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6U3RvcE5vdGVib29rSW5zdGFuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcE9wdGltaXphdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BPcHRpbWl6YXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlN0b3BPcHRpbWl6YXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFBpcGVsaW5lRXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFBpcGVsaW5lRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpTdG9wUGlwZWxpbmVFeGVjdXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFByb2Nlc3NpbmdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wUHJvY2Vzc2luZ0pvYjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U3RvcFByb2Nlc3NpbmdKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BUcmFpbmluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BUcmFpbmluZ0pvYjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U3RvcFRyYWluaW5nSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wVHJhbnNmb3JtSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRyYW5zZm9ybUpvYjogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6U3RvcFRyYW5zZm9ybUpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWN0aW9uOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVBY3Rpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFwcEltYWdlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXBwSW1hZ2VDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUFwcEltYWdlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFydGlmYWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXJ0aWZhY3Q6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZUFydGlmYWN0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2x1c3Rlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QmF0Y2hBZGRDbHVzdGVyTm9kZXNcIixcblx0XHRcInNhZ2VtYWtlcjpCYXRjaERlbGV0ZUNsdXN0ZXJOb2Rlc1wiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclwiLFxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUNsdXN0ZXJTb2Z0d2FyZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDbHVzdGVyU2NoZWR1bGVyQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDbHVzdGVyU29mdHdhcmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyU29mdHdhcmU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUNsdXN0ZXJTb2Z0d2FyZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb2RlUmVwb3NpdG9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvZGVSZXBvc2l0b3J5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVDb2RlUmVwb3NpdG9yeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb21wdXRlUXVvdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb21wdXRlUXVvdGE6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUNvbXB1dGVRdW90YVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb250ZXh0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29udGV4dDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlQ29udGV4dFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRGV2aWNlRmxlZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEZXZpY2VGbGVldDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRGV2aWNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURldmljZXM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZURvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURvbWFpbjogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVEb21haW5cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFbmRwb2ludDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlRW5kcG9pbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUVuZHBvaW50V2VpZ2h0c0FuZENhcGFjaXRpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFbmRwb2ludFdlaWdodHNBbmRDYXBhY2l0aWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVFbmRwb2ludFdlaWdodHNBbmRDYXBhY2l0aWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUV4cGVyaW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFeHBlcmltZW50OiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVFeHBlcmltZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVGZWF0dXJlR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGZWF0dXJlR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUZlYXR1cmVHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVGZWF0dXJlTWV0YWRhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGZWF0dXJlTWV0YWRhdGE6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUZlYXR1cmVNZXRhZGF0YVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVIdWIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVIdWI6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZUh1YlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSHViQ29udGVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUh1YkNvbnRlbnQ6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZUh1YkNvbnRlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUh1YkNvbnRlbnRSZWZlcmVuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVIdWJDb250ZW50UmVmZXJlbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVIdWJDb250ZW50UmVmZXJlbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUltYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW1hZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlSW1hZ2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSW1hZ2VWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW1hZ2VWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVJbWFnZVZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVJbmZlcmVuY2VDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSW5mZXJlbmNlQ29tcG9uZW50UnVudGltZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUluZmVyZW5jZUNvbXBvbmVudFJ1bnRpbWVDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUluZmVyZW5jZUNvbXBvbmVudFJ1bnRpbWVDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSW5mZXJlbmNlRXhwZXJpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUluZmVyZW5jZUV4cGVyaW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZUluZmVyZW5jZUV4cGVyaW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTWxmbG93QXBwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWxmbG93QXBwOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVNbGZsb3dBcHBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1sZmxvd1RyYWNraW5nU2VydmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWxmbG93VHJhY2tpbmdTZXJ2ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZU1sZmxvd1RyYWNraW5nU2VydmVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1vZGVsQ2FyZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vZGVsQ2FyZDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlTW9kZWxDYXJkXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVNb2RlbFBhY2thZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNb2RlbFBhY2thZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZU1vZGVsUGFja2FnZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVNb25pdG9yaW5nQWxlcnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNb25pdG9yaW5nQWxlcnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZU1vbml0b3JpbmdBbGVydFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVNb25pdG9yaW5nU2NoZWR1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNb25pdG9yaW5nU2NoZWR1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlTW9uaXRvcmluZ1NjaGVkdWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU5vdGVib29rSW5zdGFuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVOb3RlYm9va0luc3RhbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZU5vdGVib29rSW5zdGFuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUGFydG5lckFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBhcnRuZXJBcHA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVQYXJ0bmVyQXBwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVBpcGVsaW5lIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGlwZWxpbmU6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlUGlwZWxpbmVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUGlwZWxpbmVFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQaXBlbGluZUV4ZWN1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlUGlwZWxpbmVFeGVjdXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUGlwZWxpbmVWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGlwZWxpbmVWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVQaXBlbGluZVZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUHJvamVjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByb2plY3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOkFkZFRhZ3NcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGVQcm9qZWN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVJlY29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlY29yZDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUmV3YXJkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmV3YXJkOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDYWxsV2l0aEJlYXJlclRva2VuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlUmV3YXJkXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVNwYWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3BhY2U6IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZVNwYWNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVUcmFpbmluZ0pvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRyYWluaW5nSm9iOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVUcmFpbmluZ0pvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlVHJpYWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUcmlhbDogc3RyaW5nW10gPSBbXCJzYWdlbWFrZXI6VXBkYXRlVHJpYWxcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVRyaWFsQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVHJpYWxDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlVwZGF0ZVRyaWFsQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVVzZXJQcm9maWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVXNlclByb2ZpbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzYWdlbWFrZXI6VXBkYXRlVXNlclByb2ZpbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlV29ya2ZvcmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlV29ya2ZvcmNlOiBzdHJpbmdbXSA9IFtcInNhZ2VtYWtlcjpVcGRhdGVXb3JrZm9yY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVdvcmt0ZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlV29ya3RlYW06IHN0cmluZ1tdID0gW1wic2FnZW1ha2VyOlVwZGF0ZVdvcmt0ZWFtXCJdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3Igc2FnZW1ha2VyLlxuICovXG5leHBvcnQgY2xhc3MgU2FnZU1ha2VyQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBZGRUYWdzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFRhZ3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpUYWdnaW5nQWN0aW9uXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDYWxsV2l0aEJlYXJlclRva2VuIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbGxXaXRoQmVhcmVyVG9rZW5Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpCZWFyZXJUb2tlblR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFJQmVuY2htYXJrSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFJQmVuY2htYXJrSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBSVJlY29tbWVuZGF0aW9uSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFJUmVjb21tZW5kYXRpb25Kb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFJV29ya2xvYWRDb25maWcgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQUlXb3JrbG9hZENvbmZpZ0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQWN0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFjdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQWxnb3JpdGhtIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFsZ29yaXRobUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQXBwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlVmVyc2lvbkFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3duZXJVc2VyUHJvZmlsZUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlNwYWNlU2hhcmluZ1R5cGVcIixcblx0XHRcInNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBcHBJbWFnZUNvbmZpZyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcHBJbWFnZUNvbmZpZ0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQXJ0aWZhY3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXJ0aWZhY3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUF1dG9NTEpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvTUxKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUF1dG9NTEpvYlYyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9NTEpvYlYyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDbHVzdGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsdXN0ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNsdXN0ZXJTY2hlZHVsZXJDb25maWcgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2x1c3RlclNjaGVkdWxlckNvbmZpZ0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ29kZVJlcG9zaXRvcnkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29kZVJlcG9zaXRvcnlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNvbXBpbGF0aW9uSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbXBpbGF0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDb21wdXRlUXVvdGEgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29tcHV0ZVF1b3RhQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDb250ZXh0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbnRleHRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZURhdGFRdWFsaXR5Sm9iRGVmaW5pdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhUXVhbGl0eUpvYkRlZmluaXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNcIixcblx0XHRcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZURldmljZUZsZWV0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURldmljZUZsZWV0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVEb21haW4gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRG9tYWluQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6QXBwTmV0d29ya0FjY2Vzc1R5cGVcIixcblx0XHRcInNhZ2VtYWtlcjpBdXRoTW9kZVwiLFxuXHRcdFwic2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZUFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOlN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnNcIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRWRnZURlcGxveW1lbnRQbGFuIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVkZ2VEZXBsb3ltZW50UGxhbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRWRnZURlcGxveW1lbnRTdGFnZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFZGdlRGVwbG95bWVudFN0YWdlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVFZGdlUGFja2FnaW5nSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVkZ2VQYWNrYWdpbmdKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUVuZHBvaW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZHBvaW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVFbmRwb2ludENvbmZpZyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbmRwb2ludENvbmZpZ0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkFjY2VsZXJhdG9yVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TW9kZWxBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6U2VydmVybGVzc01heENvbmN1cnJlbmN5XCIsXG5cdFx0XCJzYWdlbWFrZXI6U2VydmVybGVzc01lbW9yeVNpemVcIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRXhwZXJpbWVudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeHBlcmltZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVGZWF0dXJlR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmVhdHVyZUdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwRGlzYWJsZUdsdWVUYWJsZUNyZWF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwRW5hYmxlT25saW5lU3RvcmVcIixcblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVDb25maWdcIixcblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVTM1VyaVwiLFxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9ubGluZVN0b3JlS21zS2V5QXJuXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVGbG93RGVmaW5pdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGbG93RGVmaW5pdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOldvcmt0ZWFtQXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6V29ya3RlYW1UeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVIdWIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSHViQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVIdWJDb250ZW50UmVmZXJlbmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh1YkNvbnRlbnRSZWZlcmVuY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUh1bWFuVGFza1VpIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUh1bWFuVGFza1VpQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIeXBlclBhcmFtZXRlclR1bmluZ0pvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1BY2Nlc3NNb2RlXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmlsZVN5c3RlbURpcmVjdG9yeVBhdGhcIixcblx0XHRcInNhZ2VtYWtlcjpGaWxlU3lzdGVtSWRcIixcblx0XHRcInNhZ2VtYWtlcjpGaWxlU3lzdGVtVHlwZVwiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiLFxuXHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSW1hZ2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW1hZ2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUluZmVyZW5jZUNvbXBvbmVudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbmZlcmVuY2VDb21wb25lbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpNb2RlbEFyblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSW5mZXJlbmNlRXhwZXJpbWVudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbmZlcmVuY2VFeHBlcmltZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVJbmZlcmVuY2VSZWNvbW1lbmRhdGlvbnNKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5mZXJlbmNlUmVjb21tZW5kYXRpb25zSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUxhYmVsaW5nSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxhYmVsaW5nSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6V29ya3RlYW1Bcm5cIixcblx0XHRcInNhZ2VtYWtlcjpXb3JrdGVhbVR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1sZmxvd0FwcCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNbGZsb3dBcHBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1sZmxvd1RyYWNraW5nU2VydmVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1sZmxvd1RyYWNraW5nU2VydmVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkRpcmVjdEdhdGVkTW9kZWxBY2Nlc3NcIixcblx0XHRcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1vZGVsQmlhc0pvYkRlZmluaXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxCaWFzSm9iRGVmaW5pdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiLFxuXHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTW9kZWxDYXJkIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1vZGVsQ2FyZENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9kZWxFeHBsYWluYWJpbGl0eUpvYkRlZmluaXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1xuXHRcdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcdFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIixcblx0XHRcdFwic2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNcIixcblx0XHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdFx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU1vZGVsUGFja2FnZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbFBhY2thZ2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllcy8ke01ldGFkYXRhS2V5fVwiLFxuXHRcdFwic2FnZW1ha2VyOk1vZGVsQXBwcm92YWxTdGF0dXNcIixcblx0XHRcInNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZVwiLFxuXHRcdFwic2FnZW1ha2VyOk1vZGVsTGlmZUN5Y2xlOlN0YWdlU3RhdHVzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb2RlbFBhY2thZ2VHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbFBhY2thZ2VHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTW9kZWxRdWFsaXR5Sm9iRGVmaW5pdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNb2RlbFF1YWxpdHlKb2JEZWZpbml0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNb25pdG9yaW5nU2NoZWR1bGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTW9uaXRvcmluZ1NjaGVkdWxlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkludGVyQ29udGFpbmVyVHJhZmZpY0VuY3J5cHRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TmV0d29ya0lzb2xhdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVOb3RlYm9va0luc3RhbmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGVib29rSW5zdGFuY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpBY2NlbGVyYXRvclR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6RGlyZWN0SW50ZXJuZXRBY2Nlc3NcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TWluaW11bUluc3RhbmNlTWV0YWRhdGFTZXJ2aWNlVmVyc2lvblwiLFxuXHRcdFwic2FnZW1ha2VyOk5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6Um9vdEFjY2Vzc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGVib29rSW5zdGFuY2VMaWZlY3ljbGVDb25maWdDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsIFwiYXdzOlRhZ0tleXNcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVPcHRpbWl6YXRpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT3B0aW1pemF0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQYXJ0bmVyQXBwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBhcnRuZXJBcHBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVBpcGVsaW5lIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBpcGVsaW5lQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQcm9jZXNzaW5nSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb2Nlc3NpbmdKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiLFxuXHRcdFwic2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNcIixcblx0XHRcInNhZ2VtYWtlcjpOZXR3b3JrSXNvbGF0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVByb2plY3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvamVjdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmVzZXJ2ZWRDYXBhY2l0eSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNlcnZlZENhcGFjaXR5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVTcGFjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTcGFjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlVmVyc2lvbkFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6T3duZXJVc2VyUHJvZmlsZUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlJlbW90ZUFjY2Vzc1wiLFxuXHRcdFwic2FnZW1ha2VyOlNwYWNlU2hhcmluZ1R5cGVcIixcblx0XHRcInNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVTdHVkaW9MaWZlY3ljbGVDb25maWcgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVUcmFpbmluZ0pvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcmFpbmluZ0pvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkRpcmVjdEdhdGVkTW9kZWxBY2Nlc3NcIixcblx0XHRcInNhZ2VtYWtlcjpFbmFibGVSZW1vdGVEZWJ1Z1wiLFxuXHRcdFwic2FnZW1ha2VyOkZpbGVTeXN0ZW1BY2Nlc3NNb2RlXCIsXG5cdFx0XCJzYWdlbWFrZXI6RmlsZVN5c3RlbURpcmVjdG9yeVBhdGhcIixcblx0XHRcInNhZ2VtYWtlcjpGaWxlU3lzdGVtSWRcIixcblx0XHRcInNhZ2VtYWtlcjpGaWxlU3lzdGVtVHlwZVwiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6S2VlcEFsaXZlUGVyaW9kXCIsXG5cdFx0XCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiLFxuXHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVHJhaW5pbmdQbGFuIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyYWluaW5nUGxhbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVHJhbnNmb3JtSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyYW5zZm9ybUpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpNb2RlbEFyblwiLFxuXHRcdFwic2FnZW1ha2VyOk91dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlZvbHVtZUttc0tleUFyblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVHJpYWwgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJpYWxDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVRyaWFsQ29tcG9uZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyaWFsQ29tcG9uZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVVc2VyUHJvZmlsZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVVc2VyUHJvZmlsZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZUFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOlN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVXb3JrZm9yY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV29ya2ZvcmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVXb3JrdGVhbSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3JrdGVhbUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlQXBwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOk93bmVyVXNlclByb2ZpbGVBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpTcGFjZVNoYXJpbmdUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVGZWF0dXJlR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRmVhdHVyZUdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVNwYWNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNwYWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6T3duZXJVc2VyUHJvZmlsZUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOlNwYWNlU2hhcmluZ1R5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVRhZ3MgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGFnc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZVBpcGVsaW5lIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGlwZWxpbmVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpQaXBlbGluZVZlcnNpb25JZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgSW1wb3J0SHViQ29udGVudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRIdWJDb250ZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbnZva2VFbmRwb2ludCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZva2VFbmRwb2ludENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlRhcmdldE1vZGVsXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRSZWNvcmQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVjb3JkQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6SXNVcGRhdGVSZWNvcmRcIixcblx0XHRcInNhZ2VtYWtlcjpVcGRhdGFibGVGZWF0dXJlc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVnaXN0ZXJEZXZpY2VzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyRGV2aWNlc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU2VhcmNoIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2FnZW1ha2VyOlNlYXJjaFZpc2liaWxpdHlDb25kaXRpb24vJHtGaWx0ZXJLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFBpcGVsaW5lRXhlY3V0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UGlwZWxpbmVFeGVjdXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpQaXBlbGluZVZlcnNpb25JZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlQ2x1c3RlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVEb21haW4gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRG9tYWluQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QXBwTmV0d29ya0FjY2Vzc1R5cGVcIixcblx0XHRcInNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5QXJuXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW1hZ2VWZXJzaW9uQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwic2FnZW1ha2VyOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZU1vZGVsUGFja2FnZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNb2RlbFBhY2thZ2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllcy8ke01ldGFkYXRhS2V5fVwiLFxuXHRcdFwic2FnZW1ha2VyOkN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzVG9SZW1vdmVcIixcblx0XHRcInNhZ2VtYWtlcjpNb2RlbEFwcHJvdmFsU3RhdHVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6TW9kZWxMaWZlQ3ljbGU6U3RhZ2VcIixcblx0XHRcInNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZVN0YXR1c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlTW9uaXRvcmluZ1NjaGVkdWxlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1vbml0b3JpbmdTY2hlZHVsZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6TWF4UnVudGltZUluU2Vjb25kc1wiLFxuXHRcdFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIixcblx0XHRcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJzYWdlbWFrZXI6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlTm90ZWJvb2tJbnN0YW5jZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVOb3RlYm9va0luc3RhbmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6QWNjZWxlcmF0b3JUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpNaW5pbXVtSW5zdGFuY2VNZXRhZGF0YVNlcnZpY2VWZXJzaW9uXCIsXG5cdFx0XCJzYWdlbWFrZXI6Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FybnNcIixcblx0XHRcInNhZ2VtYWtlcjpSb290QWNjZXNzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVQaXBlbGluZVZlcnNpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGlwZWxpbmVWZXJzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6UGlwZWxpbmVWZXJzaW9uSWRcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVByb2plY3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvamVjdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlU3BhY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3BhY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpJbWFnZUFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOk93bmVyVXNlclByb2ZpbGVBcm5cIixcblx0XHRcInNhZ2VtYWtlcjpSZW1vdGVBY2Nlc3NcIixcblx0XHRcInNhZ2VtYWtlcjpTcGFjZVNoYXJpbmdUeXBlXCIsXG5cdFx0XCJzYWdlbWFrZXI6U3R1ZGlvTGlmZWN5Y2xlQ29uZmlnQXJuc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlVHJhaW5pbmdKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVHJhaW5pbmdKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNhZ2VtYWtlcjpFbmFibGVSZW1vdGVEZWJ1Z1wiLFxuXHRcdFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIixcblx0XHRcInNhZ2VtYWtlcjpLZWVwQWxpdmVQZXJpb2RcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVVzZXJQcm9maWxlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVVzZXJQcm9maWxlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzYWdlbWFrZXI6RG9tYWluU2hhcmluZ091dHB1dEttc0tleUFyblwiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlQXJuc1wiLFxuXHRcdFwic2FnZW1ha2VyOkltYWdlVmVyc2lvbkFybnNcIixcblx0XHRcInNhZ2VtYWtlcjpJbnN0YW5jZVR5cGVzXCIsXG5cdFx0XCJzYWdlbWFrZXI6SW5zdGFuY2VUeXBlc1wiLFxuXHRcdFwic2FnZW1ha2VyOlN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnNcIixcblx0XHRcInNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdF07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkFjY2VsZXJhdG9yVHlwZXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBQ0NFTEVSQVRPUl9UWVBFUyA9IFwic2FnZW1ha2VyOkFjY2VsZXJhdG9yVHlwZXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpBcHBOZXR3b3JrQWNjZXNzVHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVBQX05FVFdPUktfQUNDRVNTX1RZUEUgPSBcInNhZ2VtYWtlcjpBcHBOZXR3b3JrQWNjZXNzVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkF1dGhNb2RlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBVVRIX01PREUgPSBcInNhZ2VtYWtlcjpBdXRoTW9kZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkJlYXJlclRva2VuVHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQkVBUkVSX1RPS0VOX1RZUEUgPSBcInNhZ2VtYWtlcjpCZWFyZXJUb2tlblR5cGVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpDdXJyZW50Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMvJHtNZXRhZGF0YUtleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IENVUlJFTlRfQ1VTVE9NRVJfTUVUQURBVEFfUFJPUEVSVElFUyA9XG5cdFx0XCJzYWdlbWFrZXI6Q3VycmVudEN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzLyR7TWV0YWRhdGFLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6Q3VycmVudE1vZGVsTGlmZUN5Y2xlU3RhZ2UgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IENVUlJFTlRfTU9ERUxfTElGRV9DWUNMRV9TVEFHRSA9XG5cdFx0XCJzYWdlbWFrZXI6Q3VycmVudE1vZGVsTGlmZUN5Y2xlU3RhZ2VcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpDdXJyZW50TW9kZWxMaWZlQ3ljbGVTdGFnZVN0YXR1cyAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ1VSUkVOVF9NT0RFTF9MSUZFX0NZQ0xFX1NUQUdFX1NUQVRVUyA9XG5cdFx0XCJzYWdlbWFrZXI6Q3VycmVudE1vZGVsTGlmZUN5Y2xlU3RhZ2VTdGF0dXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllcy8ke01ldGFkYXRhS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ1VTVE9NRVJfTUVUQURBVEFfUFJPUEVSVElFUyA9XG5cdFx0XCJzYWdlbWFrZXI6Q3VzdG9tZXJNZXRhZGF0YVByb3BlcnRpZXMvJHtNZXRhZGF0YUtleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpDdXN0b21lck1ldGFkYXRhUHJvcGVydGllc1RvUmVtb3ZlIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ1VTVE9NRVJfTUVUQURBVEFfUFJPUEVSVElFU19UT19SRU1PVkUgPVxuXHRcdFwic2FnZW1ha2VyOkN1c3RvbWVyTWV0YWRhdGFQcm9wZXJ0aWVzVG9SZW1vdmVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpEaXJlY3RHYXRlZE1vZGVsQWNjZXNzIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBESVJFQ1RfR0FURURfTU9ERUxfQUNDRVNTID1cblx0XHRcInNhZ2VtYWtlcjpEaXJlY3RHYXRlZE1vZGVsQWNjZXNzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RGlyZWN0SW50ZXJuZXRBY2Nlc3MgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IERJUkVDVF9JTlRFUk5FVF9BQ0NFU1MgPSBcInNhZ2VtYWtlcjpEaXJlY3RJbnRlcm5ldEFjY2Vzc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkRvbWFpbklkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBET01BSU5fSUQgPSBcInNhZ2VtYWtlcjpEb21haW5JZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkRvbWFpblNoYXJpbmdPdXRwdXRLbXNLZXkgKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IERPTUFJTl9TSEFSSU5HX09VVFBVVF9LTVNfS0VZID1cblx0XHRcInNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RG9tYWluU2hhcmluZ091dHB1dEttc0tleUFybiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRE9NQUlOX1NIQVJJTkdfT1VUUFVUX0tNU19LRVlfQVJOID1cblx0XHRcInNhZ2VtYWtlcjpEb21haW5TaGFyaW5nT3V0cHV0S21zS2V5QXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RW5hYmxlUmVtb3RlRGVidWcgKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBFTkFCTEVfUkVNT1RFX0RFQlVHID0gXCJzYWdlbWFrZXI6RW5hYmxlUmVtb3RlRGVidWdcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBEaXNhYmxlR2x1ZVRhYmxlQ3JlYXRpb24gKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX0RJU0FCTEVfR0xVRV9UQUJMRV9DUkVBVElPTiA9XG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwRGlzYWJsZUdsdWVUYWJsZUNyZWF0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwRW5hYmxlT25saW5lU3RvcmUgKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX0VOQUJMRV9PTkxJTkVfU1RPUkUgPVxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cEVuYWJsZU9ubGluZVN0b3JlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlQ29uZmlnIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRkVBVFVSRV9HUk9VUF9PRkZMSU5FX1NUT1JFX0NPTkZJRyA9XG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlQ29uZmlnXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS21zS2V5IChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX09GRkxJTkVfU1RPUkVfS01TX0tFWSA9XG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS21zS2V5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT2ZmbGluZVN0b3JlS21zS2V5QXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX09GRkxJTkVfU1RPUkVfS01TX0tFWV9BUk4gPVxuXHRcdFwic2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZUttc0tleUFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9mZmxpbmVTdG9yZVMzVXJpIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX09GRkxJTkVfU1RPUkVfUzNfVVJJID1cblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPZmZsaW5lU3RvcmVTM1VyaVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9ubGluZVN0b3JlS21zS2V5IChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX09OTElORV9TVE9SRV9LTVNfS0VZID1cblx0XHRcInNhZ2VtYWtlcjpGZWF0dXJlR3JvdXBPbmxpbmVTdG9yZUttc0tleVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZlYXR1cmVHcm91cE9ubGluZVN0b3JlS21zS2V5QXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBGRUFUVVJFX0dST1VQX09OTElORV9TVE9SRV9LTVNfS0VZX0FSTiA9XG5cdFx0XCJzYWdlbWFrZXI6RmVhdHVyZUdyb3VwT25saW5lU3RvcmVLbXNLZXlBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpGaWxlU3lzdGVtQWNjZXNzTW9kZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRklMRV9TWVNURU1fQUNDRVNTX01PREUgPSBcInNhZ2VtYWtlcjpGaWxlU3lzdGVtQWNjZXNzTW9kZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkZpbGVTeXN0ZW1EaXJlY3RvcnlQYXRoIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBGSUxFX1NZU1RFTV9ESVJFQ1RPUllfUEFUSCA9XG5cdFx0XCJzYWdlbWFrZXI6RmlsZVN5c3RlbURpcmVjdG9yeVBhdGhcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpGaWxlU3lzdGVtSWQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZJTEVfU1lTVEVNX0lEID0gXCJzYWdlbWFrZXI6RmlsZVN5c3RlbUlkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6RmlsZVN5c3RlbVR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZJTEVfU1lTVEVNX1RZUEUgPSBcInNhZ2VtYWtlcjpGaWxlU3lzdGVtVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkhvbWVFZnNGaWxlU3lzdGVtS21zS2V5IChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBIT01FX0VGU19GSUxFX1NZU1RFTV9LTVNfS0VZID1cblx0XHRcInNhZ2VtYWtlcjpIb21lRWZzRmlsZVN5c3RlbUttc0tleVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkltYWdlQXJucyAoQXJyYXlPZkFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IElNQUdFX0FSTlMgPSBcInNhZ2VtYWtlcjpJbWFnZUFybnNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpJbWFnZVZlcnNpb25Bcm5zIChBcnJheU9mQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSU1BR0VfVkVSU0lPTl9BUk5TID0gXCJzYWdlbWFrZXI6SW1hZ2VWZXJzaW9uQXJuc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOkluc3RhbmNlVHlwZXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBJTlNUQU5DRV9UWVBFUyA9IFwic2FnZW1ha2VyOkluc3RhbmNlVHlwZXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpJbnRlckNvbnRhaW5lclRyYWZmaWNFbmNyeXB0aW9uIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSU5URVJfQ09OVEFJTkVSX1RSQUZGSUNfRU5DUllQVElPTiA9XG5cdFx0XCJzYWdlbWFrZXI6SW50ZXJDb250YWluZXJUcmFmZmljRW5jcnlwdGlvblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOklzVXBkYXRlUmVjb3JkIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSVNfVVBEQVRFX1JFQ09SRCA9IFwic2FnZW1ha2VyOklzVXBkYXRlUmVjb3JkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6S2VlcEFsaXZlUGVyaW9kIChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgS0VFUF9BTElWRV9QRVJJT0QgPSBcInNhZ2VtYWtlcjpLZWVwQWxpdmVQZXJpb2RcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpNYXhSdW50aW1lSW5TZWNvbmRzIChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTUFYX1JVTlRJTUVfSU5fU0VDT05EUyA9IFwic2FnZW1ha2VyOk1heFJ1bnRpbWVJblNlY29uZHNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpNaW5pbXVtSW5zdGFuY2VNZXRhZGF0YVNlcnZpY2VWZXJzaW9uIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBNSU5JTVVNX0lOU1RBTkNFX01FVEFEQVRBX1NFUlZJQ0VfVkVSU0lPTiA9XG5cdFx0XCJzYWdlbWFrZXI6TWluaW11bUluc3RhbmNlTWV0YWRhdGFTZXJ2aWNlVmVyc2lvblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOk1vZGVsQXBwcm92YWxTdGF0dXMgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1PREVMX0FQUFJPVkFMX1NUQVRVUyA9IFwic2FnZW1ha2VyOk1vZGVsQXBwcm92YWxTdGF0dXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpNb2RlbEFybiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTU9ERUxfQVJOID0gXCJzYWdlbWFrZXI6TW9kZWxBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTU9ERUxfTElGRV9DWUNMRV9TVEFHRSA9IFwic2FnZW1ha2VyOk1vZGVsTGlmZUN5Y2xlOlN0YWdlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6TW9kZWxMaWZlQ3ljbGU6U3RhZ2VTdGF0dXMgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1PREVMX0xJRkVfQ1lDTEVfU1RBR0VfU1RBVFVTID1cblx0XHRcInNhZ2VtYWtlcjpNb2RlbExpZmVDeWNsZTpTdGFnZVN0YXR1c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb24gKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBORVRXT1JLX0lTT0xBVElPTiA9IFwic2FnZW1ha2VyOk5ldHdvcmtJc29sYXRpb25cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpOb3RlYm9va0luc3RhbmNlTGlmZWN5Y2xlQ29uZmlnQXJucyAoQXJyYXlPZkFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IE5PVEVCT09LX0lOU1RBTkNFX0xJRkVDWUNMRV9DT05GSUdfQVJOUyA9XG5cdFx0XCJzYWdlbWFrZXI6Tm90ZWJvb2tJbnN0YW5jZUxpZmVjeWNsZUNvbmZpZ0FybnNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpPdXRwdXRLbXNLZXkgKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IE9VVFBVVF9LTVNfS0VZID0gXCJzYWdlbWFrZXI6T3V0cHV0S21zS2V5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6T3V0cHV0S21zS2V5QXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBPVVRQVVRfS01TX0tFWV9BUk4gPSBcInNhZ2VtYWtlcjpPdXRwdXRLbXNLZXlBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpPd25lclVzZXJQcm9maWxlQXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBPV05FUl9VU0VSX1BST0ZJTEVfQVJOID0gXCJzYWdlbWFrZXI6T3duZXJVc2VyUHJvZmlsZUFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlBpcGVsaW5lVmVyc2lvbklkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBQSVBFTElORV9WRVJTSU9OX0lEID0gXCJzYWdlbWFrZXI6UGlwZWxpbmVWZXJzaW9uSWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpSZW1vdGVBY2Nlc3MgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJFTU9URV9BQ0NFU1MgPSBcInNhZ2VtYWtlcjpSZW1vdGVBY2Nlc3NcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpSZXNvdXJjZVRhZy8gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJFU09VUkNFX1RBRyA9IFwic2FnZW1ha2VyOlJlc291cmNlVGFnL1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlJvb3RBY2Nlc3MgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJPT1RfQUNDRVNTID0gXCJzYWdlbWFrZXI6Um9vdEFjY2Vzc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlNlYXJjaFZpc2liaWxpdHlDb25kaXRpb24vJHtGaWx0ZXJLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBTRUFSQ0hfVklTSUJJTElUWV9DT05ESVRJT04gPVxuXHRcdFwic2FnZW1ha2VyOlNlYXJjaFZpc2liaWxpdHlDb25kaXRpb24vJHtGaWx0ZXJLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6U2VydmVybGVzc01heENvbmN1cnJlbmN5IChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVkVSTEVTU19NQVhfQ09OQ1VSUkVOQ1kgPVxuXHRcdFwic2FnZW1ha2VyOlNlcnZlcmxlc3NNYXhDb25jdXJyZW5jeVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlNlcnZlcmxlc3NNZW1vcnlTaXplIChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVkVSTEVTU19NRU1PUllfU0laRSA9IFwic2FnZW1ha2VyOlNlcnZlcmxlc3NNZW1vcnlTaXplXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6U3BhY2VTaGFyaW5nVHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU1BBQ0VfU0hBUklOR19UWVBFID0gXCJzYWdlbWFrZXI6U3BhY2VTaGFyaW5nVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlN0dWRpb0xpZmVjeWNsZUNvbmZpZ0FybnMgKEFycmF5T2ZBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBTVFVESU9fTElGRUNZQ0xFX0NPTkZJR19BUk5TID1cblx0XHRcInNhZ2VtYWtlcjpTdHVkaW9MaWZlY3ljbGVDb25maWdBcm5zXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6VGFnZ2luZ0FjdGlvbiAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVEFHR0lOR19BQ1RJT04gPSBcInNhZ2VtYWtlcjpUYWdnaW5nQWN0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6VGFyZ2V0TW9kZWwgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRBUkdFVF9NT0RFTCA9IFwic2FnZW1ha2VyOlRhcmdldE1vZGVsXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6VXBkYXRhYmxlRmVhdHVyZXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBVUERBVEFCTEVfRkVBVFVSRVMgPSBcInNhZ2VtYWtlcjpVcGRhdGFibGVGZWF0dXJlc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc2FnZW1ha2VyOlVzZXJQcm9maWxlTmFtZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVVNFUl9QUk9GSUxFX05BTUUgPSBcInNhZ2VtYWtlcjpVc2VyUHJvZmlsZU5hbWVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpWb2x1bWVLbXNLZXkgKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFZPTFVNRV9LTVNfS0VZID0gXCJzYWdlbWFrZXI6Vm9sdW1lS21zS2V5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6Vm9sdW1lS21zS2V5QXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBWT0xVTUVfS01TX0tFWV9BUk4gPSBcInNhZ2VtYWtlcjpWb2x1bWVLbXNLZXlBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpWcGNTZWN1cml0eUdyb3VwSWRzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVlBDX1NFQ1VSSVRZX0dST1VQX0lEUyA9IFwic2FnZW1ha2VyOlZwY1NlY3VyaXR5R3JvdXBJZHNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNhZ2VtYWtlcjpWcGNTdWJuZXRzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVlBDX1NVQk5FVFMgPSBcInNhZ2VtYWtlcjpWcGNTdWJuZXRzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6V29ya3RlYW1Bcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFdPUktURUFNX0FSTiA9IFwic2FnZW1ha2VyOldvcmt0ZWFtQXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzYWdlbWFrZXI6V29ya3RlYW1UeXBlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBXT1JLVEVBTV9UWVBFID0gXCJzYWdlbWFrZXI6V29ya3RlYW1UeXBlXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+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=
|