@horietakehiro/aws-cdk-utul 0.10.2 → 0.11.3
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/lib/stack-manager.d.ts +41 -0
- package/lib/stack-manager.js +132 -0
- package/lib/types/cfn-resource-types/aws-amazonmq-configuration.d.ts +35 -5
- package/lib/types/cfn-resource-types/aws-amazonmq-configuration.js +1 -1
- package/lib/types/cfn-resource-types/aws-apigateway-vpclink.d.ts +0 -9
- package/lib/types/cfn-resource-types/aws-apigateway-vpclink.js +1 -1
- package/lib/types/cfn-resource-types/aws-apigatewayv2-domainname.d.ts +2 -2
- package/lib/types/cfn-resource-types/aws-apigatewayv2-domainname.js +1 -1
- package/lib/types/cfn-resource-types/aws-appconfig-deploymentstrategy.d.ts +56 -8
- package/lib/types/cfn-resource-types/aws-appconfig-deploymentstrategy.js +1 -1
- package/lib/types/cfn-resource-types/aws-appsync-datasource.d.ts +151 -31
- package/lib/types/cfn-resource-types/aws-appsync-datasource.js +1 -1
- package/lib/types/cfn-resource-types/aws-appsync-graphqlapi.d.ts +225 -36
- package/lib/types/cfn-resource-types/aws-appsync-graphqlapi.js +1 -1
- package/lib/types/cfn-resource-types/aws-autoscaling-autoscalinggroup.d.ts +6 -1
- package/lib/types/cfn-resource-types/aws-autoscaling-autoscalinggroup.js +1 -1
- package/lib/types/cfn-resource-types/aws-b2bi-capability.d.ts +2 -0
- package/lib/types/cfn-resource-types/aws-b2bi-capability.js +1 -1
- package/lib/types/cfn-resource-types/aws-b2bi-partnership.d.ts +37 -1
- package/lib/types/cfn-resource-types/aws-b2bi-partnership.js +1 -1
- package/lib/types/cfn-resource-types/aws-b2bi-transformer.d.ts +41 -4
- package/lib/types/cfn-resource-types/aws-b2bi-transformer.js +1 -1
- package/lib/types/cfn-resource-types/aws-backup-logicallyairgappedbackupvault.d.ts +28 -0
- package/lib/types/cfn-resource-types/aws-backup-logicallyairgappedbackupvault.js +3 -0
- package/lib/types/cfn-resource-types/aws-bedrock-agent.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-bedrock-agent.js +1 -1
- package/lib/types/cfn-resource-types/aws-bedrock-flow.d.ts +17 -6
- package/lib/types/cfn-resource-types/aws-bedrock-flow.js +1 -1
- package/lib/types/cfn-resource-types/aws-bedrock-flowversion.d.ts +17 -6
- package/lib/types/cfn-resource-types/aws-bedrock-flowversion.js +1 -1
- package/lib/types/cfn-resource-types/aws-bedrock-prompt.d.ts +3 -7
- package/lib/types/cfn-resource-types/aws-bedrock-prompt.js +1 -1
- package/lib/types/cfn-resource-types/aws-bedrock-promptversion.d.ts +4 -8
- package/lib/types/cfn-resource-types/aws-bedrock-promptversion.js +1 -1
- package/lib/types/cfn-resource-types/aws-cloudformation-customresource.d.ts +2 -1
- package/lib/types/cfn-resource-types/aws-cloudformation-customresource.js +1 -1
- package/lib/types/cfn-resource-types/aws-codepipeline-pipeline.d.ts +23 -2
- package/lib/types/cfn-resource-types/aws-codepipeline-pipeline.js +1 -1
- package/lib/types/cfn-resource-types/aws-cognito-userpool.d.ts +2 -0
- package/lib/types/cfn-resource-types/aws-cognito-userpool.js +1 -1
- package/lib/types/cfn-resource-types/aws-cognito-userpoolidentityprovider.d.ts +15 -8
- package/lib/types/cfn-resource-types/aws-cognito-userpoolidentityprovider.js +1 -1
- package/lib/types/cfn-resource-types/aws-connect-contactflow.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-connect-contactflow.js +1 -1
- package/lib/types/cfn-resource-types/aws-connect-hoursofoperation.d.ts +18 -18
- package/lib/types/cfn-resource-types/aws-connect-hoursofoperation.js +1 -1
- package/lib/types/cfn-resource-types/aws-datasync-task.d.ts +96 -96
- package/lib/types/cfn-resource-types/aws-datasync-task.js +1 -1
- package/lib/types/cfn-resource-types/aws-dms-datamigration.d.ts +90 -0
- package/lib/types/cfn-resource-types/aws-dms-datamigration.js +3 -0
- package/lib/types/cfn-resource-types/aws-dms-replicationinstance.d.ts +1 -0
- package/lib/types/cfn-resource-types/aws-dms-replicationinstance.js +1 -1
- package/lib/types/cfn-resource-types/aws-ec2-capacityreservation.d.ts +1 -0
- package/lib/types/cfn-resource-types/aws-ec2-capacityreservation.js +1 -1
- package/lib/types/cfn-resource-types/aws-ec2-eip.d.ts +2 -0
- package/lib/types/cfn-resource-types/aws-ec2-eip.js +1 -1
- package/lib/types/cfn-resource-types/aws-ec2-natgateway.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-ec2-natgateway.js +1 -1
- package/lib/types/cfn-resource-types/aws-ec2-transitgateway.d.ts +6 -5
- package/lib/types/cfn-resource-types/aws-ec2-transitgateway.js +1 -1
- package/lib/types/cfn-resource-types/aws-ec2-transitgatewayattachment.d.ts +4 -0
- package/lib/types/cfn-resource-types/aws-ec2-transitgatewayattachment.js +1 -1
- package/lib/types/cfn-resource-types/aws-ec2-transitgatewayvpcattachment.d.ts +14 -10
- package/lib/types/cfn-resource-types/aws-ec2-transitgatewayvpcattachment.js +1 -1
- package/lib/types/cfn-resource-types/aws-ec2-vpc.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-ec2-vpc.js +1 -1
- package/lib/types/cfn-resource-types/aws-ec2-vpcendpoint.d.ts +2 -1
- package/lib/types/cfn-resource-types/aws-ec2-vpcendpoint.js +1 -1
- package/lib/types/cfn-resource-types/aws-ec2-vpcendpointconnectionnotification.d.ts +8 -8
- package/lib/types/cfn-resource-types/aws-ec2-vpcendpointconnectionnotification.js +1 -1
- package/lib/types/cfn-resource-types/aws-ec2-vpnconnection.d.ts +213 -3
- package/lib/types/cfn-resource-types/aws-ec2-vpnconnection.js +1 -1
- package/lib/types/cfn-resource-types/aws-ecs-capacityprovider.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-ecs-capacityprovider.js +1 -1
- package/lib/types/cfn-resource-types/aws-ecs-service.d.ts +10 -1
- package/lib/types/cfn-resource-types/aws-ecs-service.js +1 -1
- package/lib/types/cfn-resource-types/aws-ecs-taskset.d.ts +57 -51
- package/lib/types/cfn-resource-types/aws-ecs-taskset.js +1 -1
- package/lib/types/cfn-resource-types/aws-eks-cluster.d.ts +11 -1
- package/lib/types/cfn-resource-types/aws-eks-cluster.js +1 -1
- package/lib/types/cfn-resource-types/aws-elasticache-globalreplicationgroup.d.ts +4 -0
- package/lib/types/cfn-resource-types/aws-elasticache-globalreplicationgroup.js +1 -1
- package/lib/types/cfn-resource-types/aws-elasticloadbalancingv2-listener.d.ts +79 -63
- package/lib/types/cfn-resource-types/aws-elasticloadbalancingv2-listener.js +1 -1
- package/lib/types/cfn-resource-types/aws-elasticloadbalancingv2-listenerrule.d.ts +65 -63
- package/lib/types/cfn-resource-types/aws-elasticloadbalancingv2-listenerrule.js +1 -1
- package/lib/types/cfn-resource-types/aws-emr-cluster.d.ts +35 -14
- package/lib/types/cfn-resource-types/aws-emr-cluster.js +1 -1
- package/lib/types/cfn-resource-types/aws-emr-instancefleetconfig.d.ts +21 -0
- package/lib/types/cfn-resource-types/aws-emr-instancefleetconfig.js +1 -1
- package/lib/types/cfn-resource-types/aws-fis-experimenttemplate.d.ts +81 -81
- package/lib/types/cfn-resource-types/aws-fis-experimenttemplate.js +1 -1
- package/lib/types/cfn-resource-types/aws-gamelift-containergroupdefinition.d.ts +19 -0
- package/lib/types/cfn-resource-types/aws-gamelift-containergroupdefinition.js +1 -1
- package/lib/types/cfn-resource-types/aws-glue-crawler.d.ts +179 -1
- package/lib/types/cfn-resource-types/aws-glue-crawler.js +1 -1
- package/lib/types/cfn-resource-types/aws-glue-job.d.ts +96 -6
- package/lib/types/cfn-resource-types/aws-glue-job.js +1 -1
- package/lib/types/cfn-resource-types/aws-glue-schema.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-glue-schema.js +1 -1
- package/lib/types/cfn-resource-types/aws-glue-usageprofile.d.ts +64 -0
- package/lib/types/cfn-resource-types/aws-glue-usageprofile.js +3 -0
- package/lib/types/cfn-resource-types/aws-iam-policy.d.ts +4 -1
- package/lib/types/cfn-resource-types/aws-iam-policy.js +1 -1
- package/lib/types/cfn-resource-types/aws-iam-role.d.ts +3 -2
- package/lib/types/cfn-resource-types/aws-iam-role.js +1 -1
- package/lib/types/cfn-resource-types/aws-imagebuilder-component.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-imagebuilder-component.js +1 -1
- package/lib/types/cfn-resource-types/aws-imagebuilder-infrastructureconfiguration.d.ts +22 -0
- package/lib/types/cfn-resource-types/aws-imagebuilder-infrastructureconfiguration.js +1 -1
- package/lib/types/cfn-resource-types/aws-iot-domainconfiguration.d.ts +6 -0
- package/lib/types/cfn-resource-types/aws-iot-domainconfiguration.js +1 -1
- package/lib/types/cfn-resource-types/aws-iotevents-alarmmodel.d.ts +195 -79
- package/lib/types/cfn-resource-types/aws-iotevents-alarmmodel.js +1 -1
- package/lib/types/cfn-resource-types/aws-iotevents-detectormodel.d.ts +177 -85
- package/lib/types/cfn-resource-types/aws-iotevents-detectormodel.js +1 -1
- package/lib/types/cfn-resource-types/aws-iotevents-input.d.ts +9 -11
- package/lib/types/cfn-resource-types/aws-iotevents-input.js +1 -1
- package/lib/types/cfn-resource-types/aws-ivs-encoderconfiguration.d.ts +2 -2
- package/lib/types/cfn-resource-types/aws-ivs-encoderconfiguration.js +1 -1
- package/lib/types/cfn-resource-types/aws-kinesis-resourcepolicy.d.ts +17 -0
- package/lib/types/cfn-resource-types/aws-kinesis-resourcepolicy.js +3 -0
- package/lib/types/cfn-resource-types/aws-lakeformation-principalpermissions.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-lakeformation-principalpermissions.js +1 -1
- package/lib/types/cfn-resource-types/aws-lakeformation-tag.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-lakeformation-tag.js +1 -1
- package/lib/types/cfn-resource-types/aws-lambda-eventsourcemapping.d.ts +115 -108
- package/lib/types/cfn-resource-types/aws-lambda-eventsourcemapping.js +1 -1
- package/lib/types/cfn-resource-types/aws-medialive-channel.d.ts +2 -0
- package/lib/types/cfn-resource-types/aws-medialive-channel.js +1 -1
- package/lib/types/cfn-resource-types/aws-memorydb-cluster.d.ts +4 -0
- package/lib/types/cfn-resource-types/aws-memorydb-cluster.js +1 -1
- package/lib/types/cfn-resource-types/aws-networkfirewall-firewallpolicy.d.ts +3 -0
- package/lib/types/cfn-resource-types/aws-networkfirewall-firewallpolicy.js +1 -1
- package/lib/types/cfn-resource-types/aws-organizations-policy.d.ts +2 -2
- package/lib/types/cfn-resource-types/aws-organizations-policy.js +1 -1
- package/lib/types/cfn-resource-types/aws-qbusiness-webexperience.d.ts +6 -0
- package/lib/types/cfn-resource-types/aws-qbusiness-webexperience.js +1 -1
- package/lib/types/cfn-resource-types/aws-quicksight-analysis.d.ts +13 -0
- package/lib/types/cfn-resource-types/aws-quicksight-analysis.js +1 -1
- package/lib/types/cfn-resource-types/aws-quicksight-dashboard.d.ts +13 -0
- package/lib/types/cfn-resource-types/aws-quicksight-dashboard.js +1 -1
- package/lib/types/cfn-resource-types/aws-quicksight-dataset.d.ts +2 -2
- package/lib/types/cfn-resource-types/aws-quicksight-dataset.js +1 -1
- package/lib/types/cfn-resource-types/aws-quicksight-datasource.d.ts +247 -242
- package/lib/types/cfn-resource-types/aws-quicksight-datasource.js +1 -1
- package/lib/types/cfn-resource-types/aws-quicksight-folder.d.ts +79 -0
- package/lib/types/cfn-resource-types/aws-quicksight-folder.js +3 -0
- package/lib/types/cfn-resource-types/aws-quicksight-template.d.ts +8 -0
- package/lib/types/cfn-resource-types/aws-quicksight-template.js +1 -1
- package/lib/types/cfn-resource-types/aws-rds-dbcluster.d.ts +366 -366
- package/lib/types/cfn-resource-types/aws-rds-dbcluster.js +1 -1
- package/lib/types/cfn-resource-types/aws-rds-dbinstance.d.ts +1 -4
- package/lib/types/cfn-resource-types/aws-rds-dbinstance.js +1 -1
- package/lib/types/cfn-resource-types/aws-rds-globalcluster.d.ts +19 -0
- package/lib/types/cfn-resource-types/aws-rds-globalcluster.js +1 -1
- package/lib/types/cfn-resource-types/aws-redshift-integration.d.ts +61 -0
- package/lib/types/cfn-resource-types/aws-redshift-integration.js +3 -0
- package/lib/types/cfn-resource-types/aws-refactorspaces-environment.d.ts +2 -2
- package/lib/types/cfn-resource-types/aws-refactorspaces-environment.js +1 -1
- package/lib/types/cfn-resource-types/aws-route53profiles-profileassociation.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-route53profiles-profileassociation.js +1 -1
- package/lib/types/cfn-resource-types/aws-route53resolver-resolverrule.d.ts +4 -4
- package/lib/types/cfn-resource-types/aws-route53resolver-resolverrule.js +1 -1
- package/lib/types/cfn-resource-types/aws-s3-bucket.d.ts +599 -591
- package/lib/types/cfn-resource-types/aws-s3-bucket.js +1 -1
- package/lib/types/cfn-resource-types/aws-s3express-directorybucket.d.ts +34 -3
- package/lib/types/cfn-resource-types/aws-s3express-directorybucket.js +1 -1
- package/lib/types/cfn-resource-types/aws-sagemaker-domain.d.ts +8 -0
- package/lib/types/cfn-resource-types/aws-sagemaker-domain.js +1 -1
- package/lib/types/cfn-resource-types/aws-sagemaker-endpoint.d.ts +137 -20
- package/lib/types/cfn-resource-types/aws-sagemaker-endpoint.js +1 -1
- package/lib/types/cfn-resource-types/aws-secretsmanager-secret.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-secretsmanager-secret.js +1 -1
- package/lib/types/cfn-resource-types/aws-securityhub-automationrule.d.ts +4 -4
- package/lib/types/cfn-resource-types/aws-securityhub-automationrule.js +1 -1
- package/lib/types/cfn-resource-types/aws-securityhub-findingaggregator.d.ts +2 -2
- package/lib/types/cfn-resource-types/aws-securityhub-findingaggregator.js +1 -1
- package/lib/types/cfn-resource-types/aws-ses-mailmanagerruleset.d.ts +4 -1
- package/lib/types/cfn-resource-types/aws-ses-mailmanagerruleset.js +1 -1
- package/lib/types/cfn-resource-types/aws-sns-topic.d.ts +2 -6
- package/lib/types/cfn-resource-types/aws-sns-topic.js +1 -1
- package/lib/types/cfn-resource-types/aws-sqs-queue.d.ts +12 -12
- package/lib/types/cfn-resource-types/aws-sqs-queue.js +1 -1
- package/lib/types/cfn-resource-types/aws-sqs-queuepolicy.d.ts +1 -3
- package/lib/types/cfn-resource-types/aws-sqs-queuepolicy.js +1 -1
- package/lib/types/cfn-resource-types/aws-ssmquicksetup-configurationmanager.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-ssmquicksetup-configurationmanager.js +1 -1
- package/lib/types/cfn-resource-types/aws-transfer-server.d.ts +70 -36
- package/lib/types/cfn-resource-types/aws-transfer-server.js +1 -1
- package/lib/types/cfn-resource-types/aws-wisdom-aiprompt.d.ts +34 -0
- package/lib/types/cfn-resource-types/aws-wisdom-aiprompt.js +3 -0
- package/lib/types/cfn-resource-types/aws-wisdom-knowledgebase.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-wisdom-knowledgebase.js +1 -1
- package/lib/types/cfn-resource-types/aws-workspacesweb-identityprovider.d.ts +9 -0
- package/lib/types/cfn-resource-types/aws-workspacesweb-identityprovider.js +1 -1
- package/lib/types/cfn-resource-types.d.ts +14 -0
- package/lib/types/cfn-resource-types.js +40 -26
- package/package.json +11 -7
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLXF1aWNrc2lnaHQtZGF0YXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImF3cy1xdWlja3NpZ2h0LWRhdGFzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFJlc291cmNlU3RhdHVzID0gKFwiQ1JFQVRJT05fSU5fUFJPR1JFU1NcIiB8IFwiQ1JFQVRJT05fU1VDQ0VTU0ZVTFwiIHwgXCJDUkVBVElPTl9GQUlMRURcIiB8IFwiVVBEQVRFX0lOX1BST0dSRVNTXCIgfCBcIlVQREFURV9TVUNDRVNTRlVMXCIgfCBcIlVQREFURV9GQUlMRURcIiB8IFwiREVMRVRFRFwiKVxuZXhwb3J0IHR5cGUgRGF0YVNvdXJjZUVycm9ySW5mb1R5cGUgPSAoXCJBQ0NFU1NfREVOSUVEXCIgfCBcIkNPUFlfU09VUkNFX05PVF9GT1VORFwiIHwgXCJUSU1FT1VUXCIgfCBcIkVOR0lORV9WRVJTSU9OX05PVF9TVVBQT1JURURcIiB8IFwiVU5LTk9XTl9IT1NUXCIgfCBcIkdFTkVSSUNfU1FMX0ZBSUxVUkVcIiB8IFwiQ09ORkxJQ1RcIiB8IFwiVU5LTk9XTlwiKVxuZXhwb3J0IHR5cGUgU3RhcmJ1cnN0UHJvZHVjdFR5cGUgPSAoXCJHQUxBWFlcIiB8IFwiRU5URVJQUklTRVwiKVxuZXhwb3J0IHR5cGUgRGF0YVNvdXJjZVR5cGUgPSAoXCJBRE9CRV9BTkFMWVRJQ1NcIiB8IFwiQU1BWk9OX0VMQVNUSUNTRUFSQ0hcIiB8IFwiQU1BWk9OX09QRU5TRUFSQ0hcIiB8IFwiQVRIRU5BXCIgfCBcIkFVUk9SQVwiIHwgXCJBVVJPUkFfUE9TVEdSRVNRTFwiIHwgXCJBV1NfSU9UX0FOQUxZVElDU1wiIHwgXCJEQVRBQlJJQ0tTXCIgfCBcIkRFTk9ET1wiIHwgXCJEUkVNSU9cIiB8IFwiRFlOQU1PREJcIiB8IFwiU0FQSEFOQVwiIHwgXCJEQjJfQVM0MDBcIiB8IFwiRVhBU09MXCIgfCBcIkZJTEVcIiB8IFwiR0lUSFVCXCIgfCBcIkpJUkFcIiB8IFwiTUFSSUFEQlwiIHwgXCJNWVNRTFwiIHwgXCJPUkFDTEVcIiB8IFwiUE9TVEdSRVNRTFwiIHwgXCJQUkVTVE9cIiB8IFwiUkVEU0hJRlRcIiB8IFwiUzNcIiB8IFwiU0FMRVNGT1JDRVwiIHwgXCJTRVJWSUNFTk9XXCIgfCBcIlNOT1dGTEFLRVwiIHwgXCJTUEFSS1wiIHwgXCJTUUxTRVJWRVJcIiB8IFwiVEVSQURBVEFcIiB8IFwiVElNRVNUUkVBTVwiIHwgXCJUV0lUVEVSXCIgfCBcIkJJR1FVRVJZXCIgfCBcIkdPT0dMRV9BTkFMWVRJQ1NcIiB8IFwiVFJJTk9cIiB8IFwiU1RBUkJVUlNUXCIgfCBcIk1PTkdPXCIgfCBcIk1PTkdPX0FUTEFTXCIgfCBcIkRPQ1VNRU5UREJcIiB8IFwiQVBQRkxPV1wiIHwgXCJJTVBBTEFcIiB8IFwiR0xVRVwiKVxuXG4vKipcbiAqIERlZmluaXRpb24gb2YgdGhlIEFXUzo6UXVpY2tTaWdodDo6RGF0YVNvdXJjZSBSZXNvdXJjZSBUeXBlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIF9BV1NfUVVJQ0tTSUdIVF9EQVRBU09VUkNFIHtcblN0YXR1cz86IFJlc291cmNlU3RhdHVzXG4vKipcbiAqIDxwPlRoZSB0aW1lIHRoYXQgdGhpcyBkYXRhIHNvdXJjZSB3YXMgY3JlYXRlZC48L3A+XG4gKi9cbkNyZWF0ZWRUaW1lPzogc3RyaW5nXG5FcnJvckluZm8/OiBEYXRhU291cmNlRXJyb3JJbmZvXG4vKipcbiAqIDxwPlRoZSBsYXN0IHRpbWUgdGhhdCB0aGlzIGRhdGEgc291cmNlIHdhcyB1cGRhdGVkLjwvcD5cbiAqL1xuTGFzdFVwZGF0ZWRUaW1lPzogc3RyaW5nXG5OYW1lOiBzdHJpbmdcbkRhdGFTb3VyY2VQYXJhbWV0ZXJzPzogRGF0YVNvdXJjZVBhcmFtZXRlcnNcblR5cGU6IERhdGFTb3VyY2VUeXBlXG5WcGNDb25uZWN0aW9uUHJvcGVydGllcz86IFZwY0Nvbm5lY3Rpb25Qcm9wZXJ0aWVzXG4vKipcbiAqIDxwPkEgc2V0IG9mIGFsdGVybmF0ZSBkYXRhIHNvdXJjZSBwYXJhbWV0ZXJzIHRoYXQgeW91IHdhbnQgdG8gc2hhcmUgZm9yIHRoZSBjcmVkZW50aWFsc1xuICogICAgICAgICAgICAgc3RvcmVkIHdpdGggdGhpcyBkYXRhIHNvdXJjZS4gVGhlIGNyZWRlbnRpYWxzIGFyZSBhcHBsaWVkIGluIHRhbmRlbSB3aXRoIHRoZSBkYXRhIHNvdXJjZVxuICogICAgICAgICAgICAgcGFyYW1ldGVycyB3aGVuIHlvdSBjb3B5IGEgZGF0YSBzb3VyY2UgYnkgdXNpbmcgYSBjcmVhdGUgb3IgdXBkYXRlIHJlcXVlc3QuIFRoZSBBUElcbiAqICAgICAgICAgICAgIG9wZXJhdGlvbiBjb21wYXJlcyB0aGUgPGNvZGU+RGF0YVNvdXJjZVBhcmFtZXRlcnM8L2NvZGU+IHN0cnVjdHVyZSB0aGF0J3MgaW4gdGhlIHJlcXVlc3RcbiAqICAgICAgICAgICAgIHdpdGggdGhlIHN0cnVjdHVyZXMgaW4gdGhlIDxjb2RlPkFsdGVybmF0ZURhdGFTb3VyY2VQYXJhbWV0ZXJzPC9jb2RlPiBhbGxvdyBsaXN0LiBJZiB0aGVcbiAqICAgICAgICAgICAgIHN0cnVjdHVyZXMgYXJlIGFuIGV4YWN0IG1hdGNoLCB0aGUgcmVxdWVzdCBpcyBhbGxvd2VkIHRvIHVzZSB0aGUgY3JlZGVudGlhbHMgZnJvbSB0aGlzXG4gKiAgICAgICAgICAgICBleGlzdGluZyBkYXRhIHNvdXJjZS4gSWYgdGhlIDxjb2RlPkFsdGVybmF0ZURhdGFTb3VyY2VQYXJhbWV0ZXJzPC9jb2RlPiBsaXN0IGlzIG51bGwsXG4gKiAgICAgICAgICAgICB0aGUgPGNvZGU+Q3JlZGVudGlhbHM8L2NvZGU+IG9yaWdpbmFsbHkgdXNlZCB3aXRoIHRoaXMgPGNvZGU+RGF0YVNvdXJjZVBhcmFtZXRlcnM8L2NvZGU+XG4gKiAgICAgICAgICAgICBhcmUgYXV0b21hdGljYWxseSBhbGxvd2VkLjwvcD5cbiAqIFxuICogQG1pbkl0ZW1zIDFcbiAqIEBtYXhJdGVtcyA1MFxuICovXG5BbHRlcm5hdGVEYXRhU291cmNlUGFyYW1ldGVycz86IERhdGFTb3VyY2VQYXJhbWV0ZXJzW11cbkF3c0FjY291bnRJZD86IHN0cmluZ1xuLyoqXG4gKiBAbWluSXRlbXMgMVxuICogQG1heEl0ZW1zIDY0XG4gKi9cblBlcm1pc3Npb25zPzogUmVzb3VyY2VQZXJtaXNzaW9uW11cbi8qKlxuICogPHA+VGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIG9mIHRoZSBkYXRhIHNvdXJjZS48L3A+XG4gKi9cbkFybj86IHN0cmluZ1xuU3NsUHJvcGVydGllcz86IFNzbFByb3BlcnRpZXNcbkNyZWRlbnRpYWxzPzogRGF0YVNvdXJjZUNyZWRlbnRpYWxzXG5EYXRhU291cmNlSWQ/OiBzdHJpbmdcbi8qKlxuICogQG1pbkl0ZW1zIDFcbiAqIEBtYXhJdGVtcyAyMDBcbiAqL1xuVGFncz86IFRhZ1tdXG59XG4vKipcbiAqIDxwPkVycm9yIGluZm9ybWF0aW9uIGZvciB0aGUgZGF0YSBzb3VyY2UgY3JlYXRpb24gb3IgdXBkYXRlLjwvcD5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhU291cmNlRXJyb3JJbmZvIHtcblR5cGU/OiBEYXRhU291cmNlRXJyb3JJbmZvVHlwZVxuLyoqXG4gKiA8cD5FcnJvciBtZXNzYWdlLjwvcD5cbiAqL1xuTWVzc2FnZT86IHN0cmluZ1xufVxuLyoqXG4gKiA8cD5UaGUgcGFyYW1ldGVycyB0aGF0IEFtYXpvbiBRdWlja1NpZ2h0IHVzZXMgdG8gY29ubmVjdCB0byB5b3VyIHVuZGVybHlpbmcgZGF0YSBzb3VyY2UuXG4gKiAgICAgICAgICAgICBUaGlzIGlzIGEgdmFyaWFudCB0eXBlIHN0cnVjdHVyZS4gRm9yIHRoaXMgc3RydWN0dXJlIHRvIGJlIHZhbGlkLCBvbmx5IG9uZSBvZiB0aGVcbiAqICAgICAgICAgICAgIGF0dHJpYnV0ZXMgY2FuIGJlIG5vbi1udWxsLjwvcD5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhU291cmNlUGFyYW1ldGVycyB7XG5BdXJvcmFQb3N0Z3JlU3FsUGFyYW1ldGVycz86IEF1cm9yYVBvc3RncmVTcWxQYXJhbWV0ZXJzXG5UZXJhZGF0YVBhcmFtZXRlcnM/OiBUZXJhZGF0YVBhcmFtZXRlcnNcblJkc1BhcmFtZXRlcnM/OiBSZHNQYXJhbWV0ZXJzXG5BdGhlbmFQYXJhbWV0ZXJzPzogQXRoZW5hUGFyYW1ldGVyc1xuU3BhcmtQYXJhbWV0ZXJzPzogU3BhcmtQYXJhbWV0ZXJzXG5NYXJpYURiUGFyYW1ldGVycz86IE1hcmlhRGJQYXJhbWV0ZXJzXG5PcmFjbGVQYXJhbWV0ZXJzPzogT3JhY2xlUGFyYW1ldGVyc1xuUHJlc3RvUGFyYW1ldGVycz86IFByZXN0b1BhcmFtZXRlcnNcblN0YXJidXJzdFBhcmFtZXRlcnM/OiBTdGFyYnVyc3RQYXJhbWV0ZXJzXG5SZWRzaGlmdFBhcmFtZXRlcnM/OiBSZWRzaGlmdFBhcmFtZXRlcnNcbk15U3FsUGFyYW1ldGVycz86IE15U3FsUGFyYW1ldGVyc1xuU3FsU2VydmVyUGFyYW1ldGVycz86IFNxbFNlcnZlclBhcmFtZXRlcnNcblNub3dmbGFrZVBhcmFtZXRlcnM/OiBTbm93Zmxha2VQYXJhbWV0ZXJzXG5BbWF6b25FbGFzdGljc2VhcmNoUGFyYW1ldGVycz86IEFtYXpvbkVsYXN0aWNzZWFyY2hQYXJhbWV0ZXJzXG5BbWF6b25PcGVuU2VhcmNoUGFyYW1ldGVycz86IEFtYXpvbk9wZW5TZWFyY2hQYXJhbWV0ZXJzXG5Qb3N0Z3JlU3FsUGFyYW1ldGVycz86IFBvc3RncmVTcWxQYXJhbWV0ZXJzXG5BdXJvcmFQYXJhbWV0ZXJzPzogQXVyb3JhUGFyYW1ldGVyc1xuUzNQYXJhbWV0ZXJzPzogUzNQYXJhbWV0ZXJzXG5Ucmlub1BhcmFtZXRlcnM/OiBUcmlub1BhcmFtZXRlcnNcbkRhdGFicmlja3NQYXJhbWV0ZXJzPzogRGF0YWJyaWNrc1BhcmFtZXRlcnNcbn1cbi8qKlxuICogPHA+UGFyYW1ldGVycyBmb3IgQW1hem9uIEF1cm9yYSBQb3N0Z3JlU1FMLUNvbXBhdGlibGUgRWRpdGlvbi48L3A+XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXVyb3JhUG9zdGdyZVNxbFBhcmFtZXRlcnMge1xuLyoqXG4gKiA8cD5UaGUgcG9ydCB0aGF0IEFtYXpvbiBBdXJvcmEgUG9zdGdyZVNRTCBpcyBsaXN0ZW5pbmcgb24uPC9wPlxuICovXG5Qb3J0OiBudW1iZXJcbi8qKlxuICogPHA+VGhlIEFtYXpvbiBBdXJvcmEgUG9zdGdyZVNRTCBkYXRhYmFzZSB0byBjb25uZWN0IHRvLjwvcD5cbiAqL1xuRGF0YWJhc2U6IHN0cmluZ1xuLyoqXG4gKiA8cD5UaGUgQW1hem9uIEF1cm9yYSBQb3N0Z3JlU1FMLUNvbXBhdGlibGUgaG9zdCB0byBjb25uZWN0IHRvLjwvcD5cbiAqL1xuSG9zdDogc3RyaW5nXG59XG4vKipcbiAqIDxwPlRoZSBwYXJhbWV0ZXJzIGZvciBUZXJhZGF0YS48L3A+XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGVyYWRhdGFQYXJhbWV0ZXJzIHtcbi8qKlxuICogPHA+UG9ydC48L3A+XG4gKi9cblBvcnQ6IG51bWJlclxuLyoqXG4gKiA8cD5EYXRhYmFzZS48L3A+XG4gKi9cbkRhdGFiYXNlOiBzdHJpbmdcbi8qKlxuICogPHA+SG9zdC48L3A+XG4gKi9cbkhvc3Q6IHN0cmluZ1xufVxuLyoqXG4gKiA8cD5UaGUgcGFyYW1ldGVycyBmb3IgQW1hem9uIFJEUy48L3A+XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmRzUGFyYW1ldGVycyB7XG4vKipcbiAqIDxwPkluc3RhbmNlIElELjwvcD5cbiAqL1xuSW5zdGFuY2VJZDogc3RyaW5nXG4vKipcbiAqIDxwPkRhdGFiYXNlLjwvcD5cbiAqL1xuRGF0YWJhc2U6IHN0cmluZ1xufVxuLyoqXG4gKiA8cD5QYXJhbWV0ZXJzIGZvciBBbWF6b24gQXRoZW5hLjwvcD5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdGhlbmFQYXJhbWV0ZXJzIHtcbi8qKlxuICogPHA+VGhlIHdvcmtncm91cCB0aGF0IEFtYXpvbiBBdGhlbmEgdXNlcy48L3A+XG4gKi9cbldvcmtHcm91cD86IHN0cmluZ1xuLyoqXG4gKiA8cD5Vc2UgdGhlIDxjb2RlPlJvbGVBcm48L2NvZGU+IHN0cnVjdHVyZSB0byBvdmVycmlkZSBhbiBhY2NvdW50LXdpZGUgcm9sZSBmb3IgYSBzcGVjaWZpYyBBdGhlbmEgZGF0YSBzb3VyY2UuIEZvciBleGFtcGxlLCBzYXkgYW4gYWNjb3VudCBhZG1pbmlzdHJhdG9yIGhhcyB0dXJuZWQgb2ZmIGFsbCBBdGhlbmEgYWNjZXNzIHdpdGggYW4gYWNjb3VudC13aWRlIHJvbGUuIFRoZSBhZG1pbmlzdHJhdG9yIGNhbiB0aGVuIHVzZSA8Y29kZT5Sb2xlQXJuPC9jb2RlPiB0byBieXBhc3MgdGhlIGFjY291bnQtd2lkZSByb2xlIGFuZCBhbGxvdyBBdGhlbmEgYWNjZXNzIGZvciB0aGUgc2luZ2xlIEF0aGVuYSBkYXRhIHNvdXJjZSB0aGF0IGlzIHNwZWNpZmllZCBpbiB0aGUgc3RydWN0dXJlLCBldmVuIGlmIHRoZSBhY2NvdW50LXdpZGUgcm9sZSBmb3JiaWRkaW5nIEF0aGVuYSBhY2Nlc3MgaXMgc3RpbGwgYWN0aXZlLjwvcD5cbiAqL1xuUm9sZUFybj86IHN0cmluZ1xufVxuLyoqXG4gKiA8cD5UaGUgcGFyYW1ldGVycyBmb3IgU3BhcmsuPC9wPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNwYXJrUGFyYW1ldGVycyB7XG4vKipcbiAqIDxwPlBvcnQuPC9wPlxuICovXG5Qb3J0OiBudW1iZXJcbi8qKlxuICogPHA+SG9zdC48L3A+XG4gKi9cbkhvc3Q6IHN0cmluZ1xufVxuLyoqXG4gKiA8cD5UaGUgcGFyYW1ldGVycyBmb3IgTWFyaWFEQi48L3A+XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWFyaWFEYlBhcmFtZXRlcnMge1xuLyoqXG4gKiA8cD5Qb3J0LjwvcD5cbiAqL1xuUG9ydDogbnVtYmVyXG4vKipcbiAqIDxwPkRhdGFiYXNlLjwvcD5cbiAqL1xuRGF0YWJhc2U6IHN0cmluZ1xuLyoqXG4gKiA8cD5Ib3N0LjwvcD5cbiAqL1xuSG9zdDogc3RyaW5nXG59XG4vKipcbiAqIDxwPlRoZSBwYXJhbWV0ZXJzIGZvciBPcmFjbGUuPC9wPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9yYWNsZVBhcmFtZXRlcnMge1xuLyoqXG4gKiA8cD5UaGUgcG9ydC48L3A+XG4gKi9cblBvcnQ6IG51bWJlclxuLyoqXG4gKiA8cD5UaGUgZGF0YWJhc2UuPC9wPlxuICovXG5EYXRhYmFzZTogc3RyaW5nXG4vKipcbiAqIDxwPkFuIE9yYWNsZSBob3N0LjwvcD5cbiAqL1xuSG9zdDogc3RyaW5nXG59XG4vKipcbiAqIDxwPlRoZSBwYXJhbWV0ZXJzIGZvciBQcmVzdG8uPC9wPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByZXN0b1BhcmFtZXRlcnMge1xuLyoqXG4gKiA8cD5Qb3J0LjwvcD5cbiAqL1xuUG9ydDogbnVtYmVyXG4vKipcbiAqIDxwPkhvc3QuPC9wPlxuICovXG5Ib3N0OiBzdHJpbmdcbi8qKlxuICogPHA+Q2F0YWxvZy48L3A+XG4gKi9cbkNhdGFsb2c6IHN0cmluZ1xufVxuLyoqXG4gKiA8cD5UaGUgcGFyYW1ldGVycyB0aGF0IGFyZSByZXF1aXJlZCB0byBjb25uZWN0IHRvIGEgU3RhcmJ1cnN0IGRhdGEgc291cmNlLjwvcD5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGFyYnVyc3RQYXJhbWV0ZXJzIHtcbi8qKlxuICogPHA+VGhlIHBvcnQgZm9yIHRoZSBTdGFyYnVyc3QgZGF0YSBzb3VyY2UuPC9wPlxuICovXG5Qb3J0OiBudW1iZXJcblByb2R1Y3RUeXBlPzogU3RhcmJ1cnN0UHJvZHVjdFR5cGVcbi8qKlxuICogPHA+VGhlIGhvc3QgbmFtZSBvZiB0aGUgU3RhcmJ1cnN0IGRhdGEgc291cmNlLjwvcD5cbiAqL1xuSG9zdDogc3RyaW5nXG4vKipcbiAqIDxwPlRoZSBjYXRhbG9nIG5hbWUgZm9yIHRoZSBTdGFyYnVyc3QgZGF0YSBzb3VyY2UuPC9wPlxuICovXG5DYXRhbG9nOiBzdHJpbmdcbn1cbi8qKlxuICogPHA+VGhlIHBhcmFtZXRlcnMgZm9yIEFtYXpvbiBSZWRzaGlmdC4gVGhlIDxjb2RlPkNsdXN0ZXJJZDwvY29kZT4gZmllbGQgY2FuIGJlIGJsYW5rIGlmXG4gKiAgICAgICAgICAgICA8Y29kZT5Ib3N0PC9jb2RlPiBhbmQgPGNvZGU+UG9ydDwvY29kZT4gYXJlIGJvdGggc2V0LiBUaGUgPGNvZGU+SG9zdDwvY29kZT4gYW5kIDxjb2RlPlBvcnQ8L2NvZGU+IGZpZWxkcyBjYW4gYmUgYmxhbmsgaWYgdGhlIDxjb2RlPkNsdXN0ZXJJZDwvY29kZT4gZmllbGQgaXMgc2V0LjwvcD5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWRzaGlmdFBhcmFtZXRlcnMge1xuSUFNUGFyYW1ldGVycz86IFJlZHNoaWZ0SUFNUGFyYW1ldGVyc1xuLyoqXG4gKiA8cD5DbHVzdGVyIElELiBUaGlzIGZpZWxkIGNhbiBiZSBibGFuayBpZiB0aGUgPGNvZGU+SG9zdDwvY29kZT4gYW5kIDxjb2RlPlBvcnQ8L2NvZGU+IGFyZVxuICogICAgICAgICAgICAgcHJvdmlkZWQuPC9wPlxuICovXG5DbHVzdGVySWQ/OiBzdHJpbmdcbi8qKlxuICogPHA+UG9ydC4gVGhpcyBmaWVsZCBjYW4gYmUgYmxhbmsgaWYgdGhlIDxjb2RlPkNsdXN0ZXJJZDwvY29kZT4gaXMgcHJvdmlkZWQuPC9wPlxuICovXG5Qb3J0PzogbnVtYmVyXG4vKipcbiAqIDxwPkRhdGFiYXNlLjwvcD5cbiAqL1xuRGF0YWJhc2U6IHN0cmluZ1xuLyoqXG4gKiA8cD5Ib3N0LiBUaGlzIGZpZWxkIGNhbiBiZSBibGFuayBpZiA8Y29kZT5DbHVzdGVySWQ8L2NvZGU+IGlzIHByb3ZpZGVkLjwvcD5cbiAqL1xuSG9zdD86IHN0cmluZ1xuSWRlbnRpdHlDZW50ZXJDb25maWd1cmF0aW9uPzogSWRlbnRpdHlDZW50ZXJDb25maWd1cmF0aW9uXG59XG4vKipcbiAqIDxwPkEgc3RydWN0dXJlIHRoYXQgZ3JhbnRzIEFtYXpvbiBRdWlja1NpZ2h0IGFjY2VzcyB0byB5b3VyIGNsdXN0ZXIgYW5kIG1ha2UgYSBjYWxsIHRvIHRoZSA8Y29kZT5yZWRzaGlmdDpHZXRDbHVzdGVyQ3JlZGVudGlhbHM8L2NvZGU+IEFQSS4gRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhlIDxjb2RlPnJlZHNoaWZ0OkdldENsdXN0ZXJDcmVkZW50aWFsczwvY29kZT4gQVBJLCBzZWUgPGEgaHJlZj1cImh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9yZWRzaGlmdC9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9HZXRDbHVzdGVyQ3JlZGVudGlhbHMuaHRtbFwiPlxuICogICAgICAgICAgICAgICAgPGNvZGU+R2V0Q2x1c3RlckNyZWRlbnRpYWxzPC9jb2RlPlxuICogICAgICAgICAgICAgPC9hPi48L3A+XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVkc2hpZnRJQU1QYXJhbWV0ZXJzIHtcbi8qKlxuICogPHA+QXV0b21hdGljYWxseSBjcmVhdGVzIGEgZGF0YWJhc2UgdXNlci4gSWYgeW91ciBkYXRhYmFzZSBkb2Vzbid0IGhhdmUgYSA8Y29kZT5EYXRhYmFzZVVzZXI8L2NvZGU+LCBzZXQgdGhpcyBwYXJhbWV0ZXIgdG8gPGNvZGU+VHJ1ZTwvY29kZT4uIElmIHRoZXJlIGlzIG5vIDxjb2RlPkRhdGFiYXNlVXNlcjwvY29kZT4sIEFtYXpvbiBRdWlja1NpZ2h0IGNhbid0IGNvbm5lY3QgdG8geW91ciBjbHVzdGVyLiBUaGUgPGNvZGU+Um9sZUFybjwvY29kZT4gdGhhdCB5b3UgdXNlIGZvciB0aGlzIG9wZXJhdGlvbiBtdXN0IGdyYW50IGFjY2VzcyB0byA8Y29kZT5yZWRzaGlmdDpDcmVhdGVDbHVzdGVyVXNlcjwvY29kZT4gdG8gc3VjY2Vzc2Z1bGx5IGNyZWF0ZSB0aGUgdXNlci48L3A+XG4gKi9cbkF1dG9DcmVhdGVEYXRhYmFzZVVzZXI/OiBib29sZWFuXG4vKipcbiAqIDxwPlRoZSB1c2VyIHdob3NlIHBlcm1pc3Npb25zIGFuZCBncm91cCBtZW1iZXJzaGlwcyB3aWxsIGJlIHVzZWQgYnkgQW1hem9uIFF1aWNrU2lnaHQgdG8gYWNjZXNzIHRoZSBjbHVzdGVyLiBJZiB0aGlzIHVzZXIgYWxyZWFkeSBleGlzdHMgaW4geW91ciBkYXRhYmFzZSwgQW1hem9uIFF1aWNrU2lnaHQgaXMgZ3JhbnRlZCB0aGUgc2FtZSBwZXJtaXNzaW9ucyB0aGF0IHRoZSB1c2VyIGhhcy4gSWYgdGhlIHVzZXIgZG9lc24ndCBleGlzdCwgc2V0IHRoZSB2YWx1ZSBvZiA8Y29kZT5BdXRvQ3JlYXRlRGF0YWJhc2VVc2VyPC9jb2RlPiB0byA8Y29kZT5UcnVlPC9jb2RlPiB0byBjcmVhdGUgYSBuZXcgdXNlciB3aXRoIFBVQkxJQyBwZXJtaXNzaW9ucy48L3A+XG4gKi9cbkRhdGFiYXNlVXNlcj86IHN0cmluZ1xuLyoqXG4gKiA8cD5Vc2UgdGhlIDxjb2RlPlJvbGVBcm48L2NvZGU+IHN0cnVjdHVyZSB0byBhbGxvdyBBbWF6b24gUXVpY2tTaWdodCB0byBjYWxsIDxjb2RlPnJlZHNoaWZ0OkdldENsdXN0ZXJDcmVkZW50aWFsczwvY29kZT4gb24geW91ciBjbHVzdGVyLiBUaGUgY2FsbGluZyBwcmluY2lwYWwgbXVzdCBoYXZlIDxjb2RlPmlhbTpQYXNzUm9sZTwvY29kZT4gYWNjZXNzIHRvIHBhc3MgdGhlIHJvbGUgdG8gQW1hem9uIFF1aWNrU2lnaHQuIFRoZSByb2xlJ3MgdHJ1c3QgcG9saWN5IG11c3QgYWxsb3cgdGhlIEFtYXpvbiBRdWlja1NpZ2h0IHNlcnZpY2UgcHJpbmNpcGFsIHRvIGFzc3VtZSB0aGUgcm9sZS48L3A+XG4gKi9cblJvbGVBcm46IHN0cmluZ1xuLyoqXG4gKiA8cD5BIGxpc3Qgb2YgZ3JvdXBzIHdob3NlIHBlcm1pc3Npb25zIHdpbGwgYmUgZ3JhbnRlZCB0byBBbWF6b24gUXVpY2tTaWdodCB0byBhY2Nlc3MgdGhlIGNsdXN0ZXIuIFRoZXNlIHBlcm1pc3Npb25zIGFyZSBjb21iaW5lZCB3aXRoIHRoZSBwZXJtaXNzaW9ucyBncmFudGVkIHRvIEFtYXpvbiBRdWlja1NpZ2h0IGJ5IHRoZSA8Y29kZT5EYXRhYmFzZVVzZXI8L2NvZGU+LiBJZiB5b3UgY2hvb3NlIHRvIGluY2x1ZGUgdGhpcyBwYXJhbWV0ZXIsIHRoZSA8Y29kZT5Sb2xlQXJuPC9jb2RlPiBtdXN0IGdyYW50IGFjY2VzcyB0byA8Y29kZT5yZWRzaGlmdDpKb2luR3JvdXA8L2NvZGU+LjwvcD5cbiAqIFxuICogQG1pbkl0ZW1zIDFcbiAqIEBtYXhJdGVtcyA1MFxuICovXG5EYXRhYmFzZUdyb3Vwcz86IHN0cmluZ1tdXG59XG4vKipcbiAqIDxwPlRoZSBwYXJhbWV0ZXJzIGZvciBhbiBJQU0gSWRlbnRpdHkgQ2VudGVyIGNvbmZpZ3VyYXRpb24uPC9wPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aXR5Q2VudGVyQ29uZmlndXJhdGlvbiB7XG4vKipcbiAqIDxwPkEgQm9vbGVhbiBvcHRpb24gdGhhdCBjb250cm9scyB3aGV0aGVyIFRydXN0ZWQgSWRlbnRpdHkgUHJvcGFnYXRpb24gc2hvdWxkIGJlIHVzZWQuPC9wPlxuICovXG5FbmFibGVJZGVudGl0eVByb3BhZ2F0aW9uPzogYm9vbGVhblxufVxuLyoqXG4gKiA8cD5UaGUgcGFyYW1ldGVycyBmb3IgTXlTUUwuPC9wPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE15U3FsUGFyYW1ldGVycyB7XG4vKipcbiAqIDxwPlBvcnQuPC9wPlxuICovXG5Qb3J0OiBudW1iZXJcbi8qKlxuICogPHA+RGF0YWJhc2UuPC9wPlxuICovXG5EYXRhYmFzZTogc3RyaW5nXG4vKipcbiAqIDxwPkhvc3QuPC9wPlxuICovXG5Ib3N0OiBzdHJpbmdcbn1cbi8qKlxuICogPHA+VGhlIHBhcmFtZXRlcnMgZm9yIFNRTCBTZXJ2ZXIuPC9wPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNxbFNlcnZlclBhcmFtZXRlcnMge1xuLyoqXG4gKiA8cD5Qb3J0LjwvcD5cbiAqL1xuUG9ydDogbnVtYmVyXG4vKipcbiAqIDxwPkRhdGFiYXNlLjwvcD5cbiAqL1xuRGF0YWJhc2U6IHN0cmluZ1xuLyoqXG4gKiA8cD5Ib3N0LjwvcD5cbiAqL1xuSG9zdDogc3RyaW5nXG59XG4vKipcbiAqIDxwPlRoZSBwYXJhbWV0ZXJzIGZvciBTbm93Zmxha2UuPC9wPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNub3dmbGFrZVBhcmFtZXRlcnMge1xuLyoqXG4gKiA8cD5XYXJlaG91c2UuPC9wPlxuICovXG5XYXJlaG91c2U6IHN0cmluZ1xuLyoqXG4gKiA8cD5EYXRhYmFzZS48L3A+XG4gKi9cbkRhdGFiYXNlOiBzdHJpbmdcbi8qKlxuICogPHA+SG9zdC48L3A+XG4gKi9cbkhvc3Q6IHN0cmluZ1xufVxuLyoqXG4gKiA8cD5UaGUgcGFyYW1ldGVycyBmb3IgT3BlblNlYXJjaC48L3A+XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW1hem9uRWxhc3RpY3NlYXJjaFBhcmFtZXRlcnMge1xuLyoqXG4gKiA8cD5UaGUgT3BlblNlYXJjaCBkb21haW4uPC9wPlxuICovXG5Eb21haW46IHN0cmluZ1xufVxuLyoqXG4gKiA8cD5UaGUgcGFyYW1ldGVycyBmb3IgT3BlblNlYXJjaC48L3A+XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW1hem9uT3BlblNlYXJjaFBhcmFtZXRlcnMge1xuLyoqXG4gKiA8cD5UaGUgT3BlblNlYXJjaCBkb21haW4uPC9wPlxuICovXG5Eb21haW46IHN0cmluZ1xufVxuLyoqXG4gKiA8cD5UaGUgcGFyYW1ldGVycyBmb3IgUG9zdGdyZVNRTC48L3A+XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9zdGdyZVNxbFBhcmFtZXRlcnMge1xuLyoqXG4gKiA8cD5Qb3J0LjwvcD5cbiAqL1xuUG9ydDogbnVtYmVyXG4vKipcbiAqIDxwPkRhdGFiYXNlLjwvcD5cbiAqL1xuRGF0YWJhc2U6IHN0cmluZ1xuLyoqXG4gKiA8cD5Ib3N0LjwvcD5cbiAqL1xuSG9zdDogc3RyaW5nXG59XG4vKipcbiAqIDxwPlBhcmFtZXRlcnMgZm9yIEFtYXpvbiBBdXJvcmEuPC9wPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1cm9yYVBhcmFtZXRlcnMge1xuLyoqXG4gKiA8cD5Qb3J0LjwvcD5cbiAqL1xuUG9ydDogbnVtYmVyXG4vKipcbiAqIDxwPkRhdGFiYXNlLjwvcD5cbiAqL1xuRGF0YWJhc2U6IHN0cmluZ1xuLyoqXG4gKiA8cD5Ib3N0LjwvcD5cbiAqL1xuSG9zdDogc3RyaW5nXG59XG4vKipcbiAqIDxwPlRoZSBwYXJhbWV0ZXJzIGZvciBTMy48L3A+XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUzNQYXJhbWV0ZXJzIHtcbk1hbmlmZXN0RmlsZUxvY2F0aW9uOiBNYW5pZmVzdEZpbGVMb2NhdGlvblxuLyoqXG4gKiA8cD5Vc2UgdGhlIDxjb2RlPlJvbGVBcm48L2NvZGU+IHN0cnVjdHVyZSB0byBvdmVycmlkZSBhbiBhY2NvdW50LXdpZGUgcm9sZSBmb3IgYSBzcGVjaWZpYyBTMyBkYXRhIHNvdXJjZS4gRm9yIGV4YW1wbGUsIHNheSBhbiBhY2NvdW50IGFkbWluaXN0cmF0b3IgaGFzIHR1cm5lZCBvZmYgYWxsIFMzIGFjY2VzcyB3aXRoIGFuIGFjY291bnQtd2lkZSByb2xlLiBUaGUgYWRtaW5pc3RyYXRvciBjYW4gdGhlbiB1c2UgPGNvZGU+Um9sZUFybjwvY29kZT4gdG8gYnlwYXNzIHRoZSBhY2NvdW50LXdpZGUgcm9sZSBhbmQgYWxsb3cgUzMgYWNjZXNzIGZvciB0aGUgc2luZ2xlIFMzIGRhdGEgc291cmNlIHRoYXQgaXMgc3BlY2lmaWVkIGluIHRoZSBzdHJ1Y3R1cmUsIGV2ZW4gaWYgdGhlIGFjY291bnQtd2lkZSByb2xlIGZvcmJpZGRpbmcgUzMgYWNjZXNzIGlzIHN0aWxsIGFjdGl2ZS48L3A+XG4gKi9cblJvbGVBcm4/OiBzdHJpbmdcbn1cbi8qKlxuICogPHA+QW1hem9uIFMzIG1hbmlmZXN0IGZpbGUgbG9jYXRpb24uPC9wPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1hbmlmZXN0RmlsZUxvY2F0aW9uIHtcbi8qKlxuICogPHA+QW1hem9uIFMzIGJ1Y2tldC48L3A+XG4gKi9cbkJ1Y2tldDogc3RyaW5nXG4vKipcbiAqIDxwPkFtYXpvbiBTMyBrZXkgdGhhdCBpZGVudGlmaWVzIGFuIG9iamVjdC48L3A+XG4gKi9cbktleTogc3RyaW5nXG59XG4vKipcbiAqIDxwPlRoZSBwYXJhbWV0ZXJzIHRoYXQgYXJlIHJlcXVpcmVkIHRvIGNvbm5lY3QgdG8gYSBUcmlubyBkYXRhIHNvdXJjZS48L3A+XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJpbm9QYXJhbWV0ZXJzIHtcbi8qKlxuICogPHA+VGhlIHBvcnQgZm9yIHRoZSBUcmlubyBkYXRhIHNvdXJjZS48L3A+XG4gKi9cblBvcnQ6IG51bWJlclxuLyoqXG4gKiA8cD5UaGUgaG9zdCBuYW1lIG9mIHRoZSBUcmlubyBkYXRhIHNvdXJjZS48L3A+XG4gKi9cbkhvc3Q6IHN0cmluZ1xuLyoqXG4gKiA8cD5UaGUgY2F0YWxvZyBuYW1lIGZvciB0aGUgVHJpbm8gZGF0YSBzb3VyY2UuPC9wPlxuICovXG5DYXRhbG9nOiBzdHJpbmdcbn1cbi8qKlxuICogPHA+VGhlIHBhcmFtZXRlcnMgdGhhdCBhcmUgcmVxdWlyZWQgdG8gY29ubmVjdCB0byBhIERhdGFicmlja3MgZGF0YSBzb3VyY2UuPC9wPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFicmlja3NQYXJhbWV0ZXJzIHtcbi8qKlxuICogPHA+VGhlIHBvcnQgZm9yIHRoZSBEYXRhYnJpY2tzIGRhdGEgc291cmNlLjwvcD5cbiAqL1xuUG9ydDogbnVtYmVyXG4vKipcbiAqIDxwPlRoZSBob3N0IG5hbWUgb2YgdGhlIERhdGFicmlja3MgZGF0YSBzb3VyY2UuPC9wPlxuICovXG5Ib3N0OiBzdHJpbmdcbi8qKlxuICogPHA+VGhlIEhUVFAgcGF0aCBvZiB0aGUgRGF0YWJyaWNrcyBkYXRhIHNvdXJjZS48L3A+XG4gKi9cblNxbEVuZHBvaW50UGF0aDogc3RyaW5nXG59XG4vKipcbiAqIDxwPlZQQyBjb25uZWN0aW9uIHByb3BlcnRpZXMuPC9wPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZwY0Nvbm5lY3Rpb25Qcm9wZXJ0aWVzIHtcbi8qKlxuICogPHA+VGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIGZvciB0aGUgVlBDIGNvbm5lY3Rpb24uPC9wPlxuICovXG5WcGNDb25uZWN0aW9uQXJuOiBzdHJpbmdcbn1cbi8qKlxuICogPHA+UGVybWlzc2lvbiBmb3IgdGhlIHJlc291cmNlLjwvcD5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZVBlcm1pc3Npb24ge1xuLyoqXG4gKiA8cD5UaGUgSUFNIGFjdGlvbiB0byBncmFudCBvciByZXZva2UgcGVybWlzc2lvbnMgb24uPC9wPlxuICogXG4gKiBAbWluSXRlbXMgMVxuICogQG1heEl0ZW1zIDIwXG4gKi9cbkFjdGlvbnM6IHN0cmluZ1tdXG5SZXNvdXJjZT86IHN0cmluZ1xuLyoqXG4gKiA8cD5UaGUgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgdGhlIHByaW5jaXBhbC4gVGhpcyBjYW4gYmUgb25lIG9mIHRoZVxuICogICAgICAgICAgICAgZm9sbG93aW5nOjwvcD5cbiAqICAgICAgICAgIDx1bD5cbiAqICAgICAgICAgICAgIDxsaT5cbiAqICAgICAgICAgICAgICAgIDxwPlRoZSBBUk4gb2YgYW4gQW1hem9uIFF1aWNrU2lnaHQgdXNlciBvciBncm91cCBhc3NvY2lhdGVkIHdpdGggYSBkYXRhIHNvdXJjZSBvciBkYXRhc2V0LiAoVGhpcyBpcyBjb21tb24uKTwvcD5cbiAqICAgICAgICAgICAgIDwvbGk+XG4gKiAgICAgICAgICAgICA8bGk+XG4gKiAgICAgICAgICAgICAgICA8cD5UaGUgQVJOIG9mIGFuIEFtYXpvbiBRdWlja1NpZ2h0IHVzZXIsIGdyb3VwLCBvciBuYW1lc3BhY2UgYXNzb2NpYXRlZCB3aXRoIGFuIGFuYWx5c2lzLCBkYXNoYm9hcmQsIHRlbXBsYXRlLCBvciB0aGVtZS4gKFRoaXMgaXMgY29tbW9uLik8L3A+XG4gKiAgICAgICAgICAgICA8L2xpPlxuICogICAgICAgICAgICAgPGxpPlxuICogICAgICAgICAgICAgICAgPHA+VGhlIEFSTiBvZiBhbiBBbWF6b24gV2ViIFNlcnZpY2VzIGFjY291bnQgcm9vdDogVGhpcyBpcyBhbiBJQU0gQVJOIHJhdGhlciB0aGFuIGEgUXVpY2tTaWdodFxuICogICAgICAgICAgICAgICAgICAgICBBUk4uIFVzZSB0aGlzIG9wdGlvbiBvbmx5IHRvIHNoYXJlIHJlc291cmNlcyAodGVtcGxhdGVzKSBhY3Jvc3MgQW1hem9uIFdlYiBTZXJ2aWNlcyBhY2NvdW50cy5cbiAqICAgICAgICAgICAgICAgICAgICAgKFRoaXMgaXMgbGVzcyBjb21tb24uKSA8L3A+XG4gKiAgICAgICAgICAgICA8L2xpPlxuICogICAgICAgICAgPC91bD5cbiAqL1xuUHJpbmNpcGFsOiBzdHJpbmdcbn1cbi8qKlxuICogPHA+U2VjdXJlIFNvY2tldCBMYXllciAoU1NMKSBwcm9wZXJ0aWVzIHRoYXQgYXBwbHkgd2hlbiBBbWF6b24gUXVpY2tTaWdodCBjb25uZWN0cyB0byB5b3VyXG4gKiAgICAgICAgICAgICB1bmRlcmx5aW5nIGRhdGEgc291cmNlLjwvcD5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTc2xQcm9wZXJ0aWVzIHtcbi8qKlxuICogPHA+QSBCb29sZWFuIG9wdGlvbiB0byBjb250cm9sIHdoZXRoZXIgU1NMIHNob3VsZCBiZSBkaXNhYmxlZC48L3A+XG4gKi9cbkRpc2FibGVTc2w/OiBib29sZWFuXG59XG4vKipcbiAqIDxwPkRhdGEgc291cmNlIGNyZWRlbnRpYWxzLiBUaGlzIGlzIGEgdmFyaWFudCB0eXBlIHN0cnVjdHVyZS4gRm9yIHRoaXMgc3RydWN0dXJlIHRvIGJlXG4gKiAgICAgICAgICAgICB2YWxpZCwgb25seSBvbmUgb2YgdGhlIGF0dHJpYnV0ZXMgY2FuIGJlIG5vbi1udWxsLjwvcD5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhU291cmNlQ3JlZGVudGlhbHMge1xuLyoqXG4gKiA8cD5UaGUgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgdGhlIHNlY3JldCBhc3NvY2lhdGVkIHdpdGggdGhlIGRhdGEgc291cmNlIGluIEFtYXpvbiBTZWNyZXRzIE1hbmFnZXIuPC9wPlxuICovXG5TZWNyZXRBcm4/OiBzdHJpbmdcbi8qKlxuICogPHA+VGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIG9mIGEgZGF0YSBzb3VyY2UgdGhhdCBoYXMgdGhlIGNyZWRlbnRpYWwgcGFpciB0aGF0IHlvdVxuICogICAgICAgICAgICAgd2FudCB0byB1c2UuIFdoZW4gPGNvZGU+Q29weVNvdXJjZUFybjwvY29kZT4gaXMgbm90IG51bGwsIHRoZSBjcmVkZW50aWFsIHBhaXIgZnJvbSB0aGVcbiAqICAgICAgICAgICAgIGRhdGEgc291cmNlIGluIHRoZSBBUk4gaXMgdXNlZCBhcyB0aGUgY3JlZGVudGlhbHMgZm9yIHRoZVxuICogICAgICAgICAgICAgPGNvZGU+RGF0YVNvdXJjZUNyZWRlbnRpYWxzPC9jb2RlPiBzdHJ1Y3R1cmUuPC9wPlxuICovXG5Db3B5U291cmNlQXJuPzogc3RyaW5nXG5DcmVkZW50aWFsUGFpcj86IENyZWRlbnRpYWxQYWlyXG59XG4vKipcbiAqIDxwPlRoZSBjb21iaW5hdGlvbiBvZiB1c2VyIG5hbWUgYW5kIHBhc3N3b3JkIHRoYXQgYXJlIHVzZWQgYXMgY3JlZGVudGlhbHMuPC9wPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENyZWRlbnRpYWxQYWlyIHtcbi8qKlxuICogPHA+QSBzZXQgb2YgYWx0ZXJuYXRlIGRhdGEgc291cmNlIHBhcmFtZXRlcnMgdGhhdCB5b3Ugd2FudCB0byBzaGFyZSBmb3IgdGhlc2VcbiAqICAgICAgICAgICAgIGNyZWRlbnRpYWxzLiBUaGUgY3JlZGVudGlhbHMgYXJlIGFwcGxpZWQgaW4gdGFuZGVtIHdpdGggdGhlIGRhdGEgc291cmNlIHBhcmFtZXRlcnMgd2hlblxuICogICAgICAgICAgICAgeW91IGNvcHkgYSBkYXRhIHNvdXJjZSBieSB1c2luZyBhIGNyZWF0ZSBvciB1cGRhdGUgcmVxdWVzdC4gVGhlIEFQSSBvcGVyYXRpb24gY29tcGFyZXNcbiAqICAgICAgICAgICAgIHRoZSA8Y29kZT5EYXRhU291cmNlUGFyYW1ldGVyczwvY29kZT4gc3RydWN0dXJlIHRoYXQncyBpbiB0aGUgcmVxdWVzdCB3aXRoIHRoZVxuICogICAgICAgICAgICAgc3RydWN0dXJlcyBpbiB0aGUgPGNvZGU+QWx0ZXJuYXRlRGF0YVNvdXJjZVBhcmFtZXRlcnM8L2NvZGU+IGFsbG93IGxpc3QuIElmIHRoZVxuICogICAgICAgICAgICAgc3RydWN0dXJlcyBhcmUgYW4gZXhhY3QgbWF0Y2gsIHRoZSByZXF1ZXN0IGlzIGFsbG93ZWQgdG8gdXNlIHRoZSBuZXcgZGF0YSBzb3VyY2Ugd2l0aFxuICogICAgICAgICAgICAgdGhlIGV4aXN0aW5nIGNyZWRlbnRpYWxzLiBJZiB0aGUgPGNvZGU+QWx0ZXJuYXRlRGF0YVNvdXJjZVBhcmFtZXRlcnM8L2NvZGU+IGxpc3QgaXNcbiAqICAgICAgICAgICAgIG51bGwsIHRoZSA8Y29kZT5EYXRhU291cmNlUGFyYW1ldGVyczwvY29kZT4gb3JpZ2luYWxseSB1c2VkIHdpdGggdGhlc2VcbiAqICAgICAgICAgICAgICAgICA8Y29kZT5DcmVkZW50aWFsczwvY29kZT4gaXMgYXV0b21hdGljYWxseSBhbGxvd2VkLjwvcD5cbiAqIFxuICogQG1pbkl0ZW1zIDFcbiAqIEBtYXhJdGVtcyA1MFxuICovXG5BbHRlcm5hdGVEYXRhU291cmNlUGFyYW1ldGVycz86IERhdGFTb3VyY2VQYXJhbWV0ZXJzW11cbi8qKlxuICogPHA+VXNlciBuYW1lLjwvcD5cbiAqL1xuVXNlcm5hbWU6IHN0cmluZ1xuLyoqXG4gKiA8cD5QYXNzd29yZC48L3A+XG4gKi9cblBhc3N3b3JkOiBzdHJpbmdcbn1cbi8qKlxuICogPHA+VGhlIGtleSBvciBrZXlzIG9mIHRoZSBrZXktdmFsdWUgcGFpcnMgZm9yIHRoZSByZXNvdXJjZSB0YWcgb3IgdGFncyBhc3NpZ25lZCB0byB0aGVcbiAqICAgICAgICAgICAgIHJlc291cmNlLjwvcD5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYWcge1xuLyoqXG4gKiA8cD5UYWcgdmFsdWUuPC9wPlxuICovXG5WYWx1ZTogc3RyaW5nXG4vKipcbiAqIDxwPlRhZyBrZXkuPC9wPlxuICovXG5LZXk6IHN0cmluZ1xufVxuIl19
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLXF1aWNrc2lnaHQtZGF0YXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImF3cy1xdWlja3NpZ2h0LWRhdGFzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFN0YXJidXJzdFByb2R1Y3RUeXBlID0gKFwiR0FMQVhZXCIgfCBcIkVOVEVSUFJJU0VcIilcbmV4cG9ydCB0eXBlIERhdGFTb3VyY2VFcnJvckluZm9UeXBlID0gKFwiQUNDRVNTX0RFTklFRFwiIHwgXCJDT1BZX1NPVVJDRV9OT1RfRk9VTkRcIiB8IFwiVElNRU9VVFwiIHwgXCJFTkdJTkVfVkVSU0lPTl9OT1RfU1VQUE9SVEVEXCIgfCBcIlVOS05PV05fSE9TVFwiIHwgXCJHRU5FUklDX1NRTF9GQUlMVVJFXCIgfCBcIkNPTkZMSUNUXCIgfCBcIlVOS05PV05cIilcbmV4cG9ydCB0eXBlIFJlc291cmNlU3RhdHVzID0gKFwiQ1JFQVRJT05fSU5fUFJPR1JFU1NcIiB8IFwiQ1JFQVRJT05fU1VDQ0VTU0ZVTFwiIHwgXCJDUkVBVElPTl9GQUlMRURcIiB8IFwiVVBEQVRFX0lOX1BST0dSRVNTXCIgfCBcIlVQREFURV9TVUNDRVNTRlVMXCIgfCBcIlVQREFURV9GQUlMRURcIiB8IFwiREVMRVRFRFwiKVxuZXhwb3J0IHR5cGUgRGF0YVNvdXJjZVR5cGUgPSAoXCJBRE9CRV9BTkFMWVRJQ1NcIiB8IFwiQU1BWk9OX0VMQVNUSUNTRUFSQ0hcIiB8IFwiQU1BWk9OX09QRU5TRUFSQ0hcIiB8IFwiQVRIRU5BXCIgfCBcIkFVUk9SQVwiIHwgXCJBVVJPUkFfUE9TVEdSRVNRTFwiIHwgXCJBV1NfSU9UX0FOQUxZVElDU1wiIHwgXCJEQVRBQlJJQ0tTXCIgfCBcIkRFTk9ET1wiIHwgXCJEUkVNSU9cIiB8IFwiRFlOQU1PREJcIiB8IFwiU0FQSEFOQVwiIHwgXCJEQjJfQVM0MDBcIiB8IFwiRVhBU09MXCIgfCBcIkZJTEVcIiB8IFwiR0lUSFVCXCIgfCBcIkpJUkFcIiB8IFwiTUFSSUFEQlwiIHwgXCJNWVNRTFwiIHwgXCJPUkFDTEVcIiB8IFwiUE9TVEdSRVNRTFwiIHwgXCJQUkVTVE9cIiB8IFwiUkVEU0hJRlRcIiB8IFwiUzNcIiB8IFwiUzNfVEFCTEVTXCIgfCBcIlNBTEVTRk9SQ0VcIiB8IFwiU0VSVklDRU5PV1wiIHwgXCJTTk9XRkxBS0VcIiB8IFwiU1BBUktcIiB8IFwiU1FMU0VSVkVSXCIgfCBcIlRFUkFEQVRBXCIgfCBcIlRJTUVTVFJFQU1cIiB8IFwiVFdJVFRFUlwiIHwgXCJCSUdRVUVSWVwiIHwgXCJHT09HTEVfQU5BTFlUSUNTXCIgfCBcIlRSSU5PXCIgfCBcIlNUQVJCVVJTVFwiIHwgXCJNT05HT1wiIHwgXCJNT05HT19BVExBU1wiIHwgXCJET0NVTUVOVERCXCIgfCBcIkFQUEZMT1dcIiB8IFwiSU1QQUxBXCIgfCBcIkdMVUVcIilcblxuLyoqXG4gKiBEZWZpbml0aW9uIG9mIHRoZSBBV1M6OlF1aWNrU2lnaHQ6OkRhdGFTb3VyY2UgUmVzb3VyY2UgVHlwZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBfQVdTX1FVSUNLU0lHSFRfREFUQVNPVVJDRSB7XG4vKipcbiAqIDxwPkEgc2V0IG9mIGFsdGVybmF0ZSBkYXRhIHNvdXJjZSBwYXJhbWV0ZXJzIHRoYXQgeW91IHdhbnQgdG8gc2hhcmUgZm9yIHRoZSBjcmVkZW50aWFsc1xuICogICAgICAgICAgICAgc3RvcmVkIHdpdGggdGhpcyBkYXRhIHNvdXJjZS4gVGhlIGNyZWRlbnRpYWxzIGFyZSBhcHBsaWVkIGluIHRhbmRlbSB3aXRoIHRoZSBkYXRhIHNvdXJjZVxuICogICAgICAgICAgICAgcGFyYW1ldGVycyB3aGVuIHlvdSBjb3B5IGEgZGF0YSBzb3VyY2UgYnkgdXNpbmcgYSBjcmVhdGUgb3IgdXBkYXRlIHJlcXVlc3QuIFRoZSBBUElcbiAqICAgICAgICAgICAgIG9wZXJhdGlvbiBjb21wYXJlcyB0aGUgPGNvZGU+RGF0YVNvdXJjZVBhcmFtZXRlcnM8L2NvZGU+IHN0cnVjdHVyZSB0aGF0J3MgaW4gdGhlIHJlcXVlc3RcbiAqICAgICAgICAgICAgIHdpdGggdGhlIHN0cnVjdHVyZXMgaW4gdGhlIDxjb2RlPkFsdGVybmF0ZURhdGFTb3VyY2VQYXJhbWV0ZXJzPC9jb2RlPiBhbGxvdyBsaXN0LiBJZiB0aGVcbiAqICAgICAgICAgICAgIHN0cnVjdHVyZXMgYXJlIGFuIGV4YWN0IG1hdGNoLCB0aGUgcmVxdWVzdCBpcyBhbGxvd2VkIHRvIHVzZSB0aGUgY3JlZGVudGlhbHMgZnJvbSB0aGlzXG4gKiAgICAgICAgICAgICBleGlzdGluZyBkYXRhIHNvdXJjZS4gSWYgdGhlIDxjb2RlPkFsdGVybmF0ZURhdGFTb3VyY2VQYXJhbWV0ZXJzPC9jb2RlPiBsaXN0IGlzIG51bGwsXG4gKiAgICAgICAgICAgICB0aGUgPGNvZGU+Q3JlZGVudGlhbHM8L2NvZGU+IG9yaWdpbmFsbHkgdXNlZCB3aXRoIHRoaXMgPGNvZGU+RGF0YVNvdXJjZVBhcmFtZXRlcnM8L2NvZGU+XG4gKiAgICAgICAgICAgICBhcmUgYXV0b21hdGljYWxseSBhbGxvd2VkLjwvcD5cbiAqIFxuICogQG1pbkl0ZW1zIDFcbiAqIEBtYXhJdGVtcyA1MFxuICovXG5BbHRlcm5hdGVEYXRhU291cmNlUGFyYW1ldGVycz86IERhdGFTb3VyY2VQYXJhbWV0ZXJzW11cbi8qKlxuICogPHA+VGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIG9mIHRoZSBkYXRhIHNvdXJjZS48L3A+XG4gKi9cbkFybj86IHN0cmluZ1xuQXdzQWNjb3VudElkPzogc3RyaW5nXG4vKipcbiAqIDxwPlRoZSB0aW1lIHRoYXQgdGhpcyBkYXRhIHNvdXJjZSB3YXMgY3JlYXRlZC48L3A+XG4gKi9cbkNyZWF0ZWRUaW1lPzogc3RyaW5nXG5DcmVkZW50aWFscz86IERhdGFTb3VyY2VDcmVkZW50aWFsc1xuRGF0YVNvdXJjZUlkPzogc3RyaW5nXG5EYXRhU291cmNlUGFyYW1ldGVycz86IERhdGFTb3VyY2VQYXJhbWV0ZXJzXG5FcnJvckluZm8/OiBEYXRhU291cmNlRXJyb3JJbmZvXG4vKipcbiAqIEBtaW5JdGVtcyAwXG4gKiBAbWF4SXRlbXMgMTBcbiAqL1xuRm9sZGVyQXJucz86IHN0cmluZ1tdXG4vKipcbiAqIDxwPlRoZSBsYXN0IHRpbWUgdGhhdCB0aGlzIGRhdGEgc291cmNlIHdhcyB1cGRhdGVkLjwvcD5cbiAqL1xuTGFzdFVwZGF0ZWRUaW1lPzogc3RyaW5nXG5OYW1lOiBzdHJpbmdcbi8qKlxuICogQG1pbkl0ZW1zIDFcbiAqIEBtYXhJdGVtcyA2NFxuICovXG5QZXJtaXNzaW9ucz86IFJlc291cmNlUGVybWlzc2lvbltdXG5Tc2xQcm9wZXJ0aWVzPzogU3NsUHJvcGVydGllc1xuU3RhdHVzPzogUmVzb3VyY2VTdGF0dXNcbi8qKlxuICogQG1pbkl0ZW1zIDFcbiAqIEBtYXhJdGVtcyAyMDBcbiAqL1xuVGFncz86IFRhZ1tdXG5UeXBlOiBEYXRhU291cmNlVHlwZVxuVnBjQ29ubmVjdGlvblByb3BlcnRpZXM/OiBWcGNDb25uZWN0aW9uUHJvcGVydGllc1xufVxuLyoqXG4gKiA8cD5UaGUgcGFyYW1ldGVycyB0aGF0IEFtYXpvbiBRdWlja1NpZ2h0IHVzZXMgdG8gY29ubmVjdCB0byB5b3VyIHVuZGVybHlpbmcgZGF0YSBzb3VyY2UuXG4gKiAgICAgICAgICAgICBUaGlzIGlzIGEgdmFyaWFudCB0eXBlIHN0cnVjdHVyZS4gRm9yIHRoaXMgc3RydWN0dXJlIHRvIGJlIHZhbGlkLCBvbmx5IG9uZSBvZiB0aGVcbiAqICAgICAgICAgICAgIGF0dHJpYnV0ZXMgY2FuIGJlIG5vbi1udWxsLjwvcD5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhU291cmNlUGFyYW1ldGVycyB7XG5BbWF6b25FbGFzdGljc2VhcmNoUGFyYW1ldGVycz86IEFtYXpvbkVsYXN0aWNzZWFyY2hQYXJhbWV0ZXJzXG5BdGhlbmFQYXJhbWV0ZXJzPzogQXRoZW5hUGFyYW1ldGVyc1xuQXVyb3JhUGFyYW1ldGVycz86IEF1cm9yYVBhcmFtZXRlcnNcbkF1cm9yYVBvc3RncmVTcWxQYXJhbWV0ZXJzPzogQXVyb3JhUG9zdGdyZVNxbFBhcmFtZXRlcnNcbk1hcmlhRGJQYXJhbWV0ZXJzPzogTWFyaWFEYlBhcmFtZXRlcnNcbk15U3FsUGFyYW1ldGVycz86IE15U3FsUGFyYW1ldGVyc1xuT3JhY2xlUGFyYW1ldGVycz86IE9yYWNsZVBhcmFtZXRlcnNcblBvc3RncmVTcWxQYXJhbWV0ZXJzPzogUG9zdGdyZVNxbFBhcmFtZXRlcnNcblByZXN0b1BhcmFtZXRlcnM/OiBQcmVzdG9QYXJhbWV0ZXJzXG5SZHNQYXJhbWV0ZXJzPzogUmRzUGFyYW1ldGVyc1xuUmVkc2hpZnRQYXJhbWV0ZXJzPzogUmVkc2hpZnRQYXJhbWV0ZXJzXG5TM1BhcmFtZXRlcnM/OiBTM1BhcmFtZXRlcnNcblNub3dmbGFrZVBhcmFtZXRlcnM/OiBTbm93Zmxha2VQYXJhbWV0ZXJzXG5TcGFya1BhcmFtZXRlcnM/OiBTcGFya1BhcmFtZXRlcnNcblNxbFNlcnZlclBhcmFtZXRlcnM/OiBTcWxTZXJ2ZXJQYXJhbWV0ZXJzXG5UZXJhZGF0YVBhcmFtZXRlcnM/OiBUZXJhZGF0YVBhcmFtZXRlcnNcbkFtYXpvbk9wZW5TZWFyY2hQYXJhbWV0ZXJzPzogQW1hem9uT3BlblNlYXJjaFBhcmFtZXRlcnNcbkRhdGFicmlja3NQYXJhbWV0ZXJzPzogRGF0YWJyaWNrc1BhcmFtZXRlcnNcblN0YXJidXJzdFBhcmFtZXRlcnM/OiBTdGFyYnVyc3RQYXJhbWV0ZXJzXG5Ucmlub1BhcmFtZXRlcnM/OiBUcmlub1BhcmFtZXRlcnNcbn1cbi8qKlxuICogPHA+VGhlIHBhcmFtZXRlcnMgZm9yIE9wZW5TZWFyY2guPC9wPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFtYXpvbkVsYXN0aWNzZWFyY2hQYXJhbWV0ZXJzIHtcbi8qKlxuICogPHA+VGhlIE9wZW5TZWFyY2ggZG9tYWluLjwvcD5cbiAqL1xuRG9tYWluOiBzdHJpbmdcbn1cbi8qKlxuICogPHA+UGFyYW1ldGVycyBmb3IgQW1hem9uIEF0aGVuYS48L3A+XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXRoZW5hUGFyYW1ldGVycyB7XG4vKipcbiAqIDxwPlRoZSB3b3JrZ3JvdXAgdGhhdCBBbWF6b24gQXRoZW5hIHVzZXMuPC9wPlxuICovXG5Xb3JrR3JvdXA/OiBzdHJpbmdcbi8qKlxuICogPHA+VXNlIHRoZSA8Y29kZT5Sb2xlQXJuPC9jb2RlPiBzdHJ1Y3R1cmUgdG8gb3ZlcnJpZGUgYW4gYWNjb3VudC13aWRlIHJvbGUgZm9yIGEgc3BlY2lmaWMgQXRoZW5hIGRhdGEgc291cmNlLiBGb3IgZXhhbXBsZSwgc2F5IGFuIGFjY291bnQgYWRtaW5pc3RyYXRvciBoYXMgdHVybmVkIG9mZiBhbGwgQXRoZW5hIGFjY2VzcyB3aXRoIGFuIGFjY291bnQtd2lkZSByb2xlLiBUaGUgYWRtaW5pc3RyYXRvciBjYW4gdGhlbiB1c2UgPGNvZGU+Um9sZUFybjwvY29kZT4gdG8gYnlwYXNzIHRoZSBhY2NvdW50LXdpZGUgcm9sZSBhbmQgYWxsb3cgQXRoZW5hIGFjY2VzcyBmb3IgdGhlIHNpbmdsZSBBdGhlbmEgZGF0YSBzb3VyY2UgdGhhdCBpcyBzcGVjaWZpZWQgaW4gdGhlIHN0cnVjdHVyZSwgZXZlbiBpZiB0aGUgYWNjb3VudC13aWRlIHJvbGUgZm9yYmlkZGluZyBBdGhlbmEgYWNjZXNzIGlzIHN0aWxsIGFjdGl2ZS48L3A+XG4gKi9cblJvbGVBcm4/OiBzdHJpbmdcbn1cbi8qKlxuICogPHA+UGFyYW1ldGVycyBmb3IgQW1hem9uIEF1cm9yYS48L3A+XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXVyb3JhUGFyYW1ldGVycyB7XG4vKipcbiAqIDxwPkhvc3QuPC9wPlxuICovXG5Ib3N0OiBzdHJpbmdcbi8qKlxuICogPHA+UG9ydC48L3A+XG4gKi9cblBvcnQ6IG51bWJlclxuLyoqXG4gKiA8cD5EYXRhYmFzZS48L3A+XG4gKi9cbkRhdGFiYXNlOiBzdHJpbmdcbn1cbi8qKlxuICogPHA+UGFyYW1ldGVycyBmb3IgQW1hem9uIEF1cm9yYSBQb3N0Z3JlU1FMLUNvbXBhdGlibGUgRWRpdGlvbi48L3A+XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXVyb3JhUG9zdGdyZVNxbFBhcmFtZXRlcnMge1xuLyoqXG4gKiA8cD5UaGUgQW1hem9uIEF1cm9yYSBQb3N0Z3JlU1FMLUNvbXBhdGlibGUgaG9zdCB0byBjb25uZWN0IHRvLjwvcD5cbiAqL1xuSG9zdDogc3RyaW5nXG4vKipcbiAqIDxwPlRoZSBwb3J0IHRoYXQgQW1hem9uIEF1cm9yYSBQb3N0Z3JlU1FMIGlzIGxpc3RlbmluZyBvbi48L3A+XG4gKi9cblBvcnQ6IG51bWJlclxuLyoqXG4gKiA8cD5UaGUgQW1hem9uIEF1cm9yYSBQb3N0Z3JlU1FMIGRhdGFiYXNlIHRvIGNvbm5lY3QgdG8uPC9wPlxuICovXG5EYXRhYmFzZTogc3RyaW5nXG59XG4vKipcbiAqIDxwPlRoZSBwYXJhbWV0ZXJzIGZvciBNYXJpYURCLjwvcD5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNYXJpYURiUGFyYW1ldGVycyB7XG4vKipcbiAqIDxwPkhvc3QuPC9wPlxuICovXG5Ib3N0OiBzdHJpbmdcbi8qKlxuICogPHA+UG9ydC48L3A+XG4gKi9cblBvcnQ6IG51bWJlclxuLyoqXG4gKiA8cD5EYXRhYmFzZS48L3A+XG4gKi9cbkRhdGFiYXNlOiBzdHJpbmdcbn1cbi8qKlxuICogPHA+VGhlIHBhcmFtZXRlcnMgZm9yIE15U1FMLjwvcD5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNeVNxbFBhcmFtZXRlcnMge1xuLyoqXG4gKiA8cD5Ib3N0LjwvcD5cbiAqL1xuSG9zdDogc3RyaW5nXG4vKipcbiAqIDxwPlBvcnQuPC9wPlxuICovXG5Qb3J0OiBudW1iZXJcbi8qKlxuICogPHA+RGF0YWJhc2UuPC9wPlxuICovXG5EYXRhYmFzZTogc3RyaW5nXG59XG4vKipcbiAqIDxwPlRoZSBwYXJhbWV0ZXJzIGZvciBPcmFjbGUuPC9wPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9yYWNsZVBhcmFtZXRlcnMge1xuLyoqXG4gKiA8cD5BbiBPcmFjbGUgaG9zdC48L3A+XG4gKi9cbkhvc3Q6IHN0cmluZ1xuLyoqXG4gKiA8cD5UaGUgcG9ydC48L3A+XG4gKi9cblBvcnQ6IG51bWJlclxuLyoqXG4gKiA8cD5UaGUgZGF0YWJhc2UuPC9wPlxuICovXG5EYXRhYmFzZTogc3RyaW5nXG59XG4vKipcbiAqIDxwPlRoZSBwYXJhbWV0ZXJzIGZvciBQb3N0Z3JlU1FMLjwvcD5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQb3N0Z3JlU3FsUGFyYW1ldGVycyB7XG4vKipcbiAqIDxwPkhvc3QuPC9wPlxuICovXG5Ib3N0OiBzdHJpbmdcbi8qKlxuICogPHA+UG9ydC48L3A+XG4gKi9cblBvcnQ6IG51bWJlclxuLyoqXG4gKiA8cD5EYXRhYmFzZS48L3A+XG4gKi9cbkRhdGFiYXNlOiBzdHJpbmdcbn1cbi8qKlxuICogPHA+VGhlIHBhcmFtZXRlcnMgZm9yIFByZXN0by48L3A+XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJlc3RvUGFyYW1ldGVycyB7XG4vKipcbiAqIDxwPkhvc3QuPC9wPlxuICovXG5Ib3N0OiBzdHJpbmdcbi8qKlxuICogPHA+UG9ydC48L3A+XG4gKi9cblBvcnQ6IG51bWJlclxuLyoqXG4gKiA8cD5DYXRhbG9nLjwvcD5cbiAqL1xuQ2F0YWxvZzogc3RyaW5nXG59XG4vKipcbiAqIDxwPlRoZSBwYXJhbWV0ZXJzIGZvciBBbWF6b24gUkRTLjwvcD5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZHNQYXJhbWV0ZXJzIHtcbi8qKlxuICogPHA+SW5zdGFuY2UgSUQuPC9wPlxuICovXG5JbnN0YW5jZUlkOiBzdHJpbmdcbi8qKlxuICogPHA+RGF0YWJhc2UuPC9wPlxuICovXG5EYXRhYmFzZTogc3RyaW5nXG59XG4vKipcbiAqIDxwPlRoZSBwYXJhbWV0ZXJzIGZvciBBbWF6b24gUmVkc2hpZnQuIFRoZSA8Y29kZT5DbHVzdGVySWQ8L2NvZGU+IGZpZWxkIGNhbiBiZSBibGFuayBpZlxuICogICAgICAgICAgICAgPGNvZGU+SG9zdDwvY29kZT4gYW5kIDxjb2RlPlBvcnQ8L2NvZGU+IGFyZSBib3RoIHNldC4gVGhlIDxjb2RlPkhvc3Q8L2NvZGU+IGFuZCA8Y29kZT5Qb3J0PC9jb2RlPiBmaWVsZHMgY2FuIGJlIGJsYW5rIGlmIHRoZSA8Y29kZT5DbHVzdGVySWQ8L2NvZGU+IGZpZWxkIGlzIHNldC48L3A+XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVkc2hpZnRQYXJhbWV0ZXJzIHtcbi8qKlxuICogPHA+SG9zdC4gVGhpcyBmaWVsZCBjYW4gYmUgYmxhbmsgaWYgPGNvZGU+Q2x1c3RlcklkPC9jb2RlPiBpcyBwcm92aWRlZC48L3A+XG4gKi9cbkhvc3Q/OiBzdHJpbmdcbi8qKlxuICogPHA+UG9ydC4gVGhpcyBmaWVsZCBjYW4gYmUgYmxhbmsgaWYgdGhlIDxjb2RlPkNsdXN0ZXJJZDwvY29kZT4gaXMgcHJvdmlkZWQuPC9wPlxuICovXG5Qb3J0PzogbnVtYmVyXG4vKipcbiAqIDxwPkRhdGFiYXNlLjwvcD5cbiAqL1xuRGF0YWJhc2U6IHN0cmluZ1xuLyoqXG4gKiA8cD5DbHVzdGVyIElELiBUaGlzIGZpZWxkIGNhbiBiZSBibGFuayBpZiB0aGUgPGNvZGU+SG9zdDwvY29kZT4gYW5kIDxjb2RlPlBvcnQ8L2NvZGU+IGFyZVxuICogICAgICAgICAgICAgcHJvdmlkZWQuPC9wPlxuICovXG5DbHVzdGVySWQ/OiBzdHJpbmdcbklBTVBhcmFtZXRlcnM/OiBSZWRzaGlmdElBTVBhcmFtZXRlcnNcbklkZW50aXR5Q2VudGVyQ29uZmlndXJhdGlvbj86IElkZW50aXR5Q2VudGVyQ29uZmlndXJhdGlvblxufVxuLyoqXG4gKiA8cD5BIHN0cnVjdHVyZSB0aGF0IGdyYW50cyBBbWF6b24gUXVpY2tTaWdodCBhY2Nlc3MgdG8geW91ciBjbHVzdGVyIGFuZCBtYWtlIGEgY2FsbCB0byB0aGUgPGNvZGU+cmVkc2hpZnQ6R2V0Q2x1c3RlckNyZWRlbnRpYWxzPC9jb2RlPiBBUEkuIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoZSA8Y29kZT5yZWRzaGlmdDpHZXRDbHVzdGVyQ3JlZGVudGlhbHM8L2NvZGU+IEFQSSwgc2VlIDxhIGhyZWY9XCJodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcmVkc2hpZnQvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfR2V0Q2x1c3RlckNyZWRlbnRpYWxzLmh0bWxcIj5cbiAqICAgICAgICAgICAgICAgIDxjb2RlPkdldENsdXN0ZXJDcmVkZW50aWFsczwvY29kZT5cbiAqICAgICAgICAgICAgIDwvYT4uPC9wPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZHNoaWZ0SUFNUGFyYW1ldGVycyB7XG4vKipcbiAqIDxwPlVzZSB0aGUgPGNvZGU+Um9sZUFybjwvY29kZT4gc3RydWN0dXJlIHRvIGFsbG93IEFtYXpvbiBRdWlja1NpZ2h0IHRvIGNhbGwgPGNvZGU+cmVkc2hpZnQ6R2V0Q2x1c3RlckNyZWRlbnRpYWxzPC9jb2RlPiBvbiB5b3VyIGNsdXN0ZXIuIFRoZSBjYWxsaW5nIHByaW5jaXBhbCBtdXN0IGhhdmUgPGNvZGU+aWFtOlBhc3NSb2xlPC9jb2RlPiBhY2Nlc3MgdG8gcGFzcyB0aGUgcm9sZSB0byBBbWF6b24gUXVpY2tTaWdodC4gVGhlIHJvbGUncyB0cnVzdCBwb2xpY3kgbXVzdCBhbGxvdyB0aGUgQW1hem9uIFF1aWNrU2lnaHQgc2VydmljZSBwcmluY2lwYWwgdG8gYXNzdW1lIHRoZSByb2xlLjwvcD5cbiAqL1xuUm9sZUFybjogc3RyaW5nXG4vKipcbiAqIDxwPlRoZSB1c2VyIHdob3NlIHBlcm1pc3Npb25zIGFuZCBncm91cCBtZW1iZXJzaGlwcyB3aWxsIGJlIHVzZWQgYnkgQW1hem9uIFF1aWNrU2lnaHQgdG8gYWNjZXNzIHRoZSBjbHVzdGVyLiBJZiB0aGlzIHVzZXIgYWxyZWFkeSBleGlzdHMgaW4geW91ciBkYXRhYmFzZSwgQW1hem9uIFF1aWNrU2lnaHQgaXMgZ3JhbnRlZCB0aGUgc2FtZSBwZXJtaXNzaW9ucyB0aGF0IHRoZSB1c2VyIGhhcy4gSWYgdGhlIHVzZXIgZG9lc24ndCBleGlzdCwgc2V0IHRoZSB2YWx1ZSBvZiA8Y29kZT5BdXRvQ3JlYXRlRGF0YWJhc2VVc2VyPC9jb2RlPiB0byA8Y29kZT5UcnVlPC9jb2RlPiB0byBjcmVhdGUgYSBuZXcgdXNlciB3aXRoIFBVQkxJQyBwZXJtaXNzaW9ucy48L3A+XG4gKi9cbkRhdGFiYXNlVXNlcj86IHN0cmluZ1xuLyoqXG4gKiA8cD5BIGxpc3Qgb2YgZ3JvdXBzIHdob3NlIHBlcm1pc3Npb25zIHdpbGwgYmUgZ3JhbnRlZCB0byBBbWF6b24gUXVpY2tTaWdodCB0byBhY2Nlc3MgdGhlIGNsdXN0ZXIuIFRoZXNlIHBlcm1pc3Npb25zIGFyZSBjb21iaW5lZCB3aXRoIHRoZSBwZXJtaXNzaW9ucyBncmFudGVkIHRvIEFtYXpvbiBRdWlja1NpZ2h0IGJ5IHRoZSA8Y29kZT5EYXRhYmFzZVVzZXI8L2NvZGU+LiBJZiB5b3UgY2hvb3NlIHRvIGluY2x1ZGUgdGhpcyBwYXJhbWV0ZXIsIHRoZSA8Y29kZT5Sb2xlQXJuPC9jb2RlPiBtdXN0IGdyYW50IGFjY2VzcyB0byA8Y29kZT5yZWRzaGlmdDpKb2luR3JvdXA8L2NvZGU+LjwvcD5cbiAqIFxuICogQG1pbkl0ZW1zIDFcbiAqIEBtYXhJdGVtcyA1MFxuICovXG5EYXRhYmFzZUdyb3Vwcz86IHN0cmluZ1tdXG4vKipcbiAqIDxwPkF1dG9tYXRpY2FsbHkgY3JlYXRlcyBhIGRhdGFiYXNlIHVzZXIuIElmIHlvdXIgZGF0YWJhc2UgZG9lc24ndCBoYXZlIGEgPGNvZGU+RGF0YWJhc2VVc2VyPC9jb2RlPiwgc2V0IHRoaXMgcGFyYW1ldGVyIHRvIDxjb2RlPlRydWU8L2NvZGU+LiBJZiB0aGVyZSBpcyBubyA8Y29kZT5EYXRhYmFzZVVzZXI8L2NvZGU+LCBBbWF6b24gUXVpY2tTaWdodCBjYW4ndCBjb25uZWN0IHRvIHlvdXIgY2x1c3Rlci4gVGhlIDxjb2RlPlJvbGVBcm48L2NvZGU+IHRoYXQgeW91IHVzZSBmb3IgdGhpcyBvcGVyYXRpb24gbXVzdCBncmFudCBhY2Nlc3MgdG8gPGNvZGU+cmVkc2hpZnQ6Q3JlYXRlQ2x1c3RlclVzZXI8L2NvZGU+IHRvIHN1Y2Nlc3NmdWxseSBjcmVhdGUgdGhlIHVzZXIuPC9wPlxuICovXG5BdXRvQ3JlYXRlRGF0YWJhc2VVc2VyPzogYm9vbGVhblxufVxuLyoqXG4gKiA8cD5UaGUgcGFyYW1ldGVycyBmb3IgYW4gSUFNIElkZW50aXR5IENlbnRlciBjb25maWd1cmF0aW9uLjwvcD5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJZGVudGl0eUNlbnRlckNvbmZpZ3VyYXRpb24ge1xuLyoqXG4gKiA8cD5BIEJvb2xlYW4gb3B0aW9uIHRoYXQgY29udHJvbHMgd2hldGhlciBUcnVzdGVkIElkZW50aXR5IFByb3BhZ2F0aW9uIHNob3VsZCBiZSB1c2VkLjwvcD5cbiAqL1xuRW5hYmxlSWRlbnRpdHlQcm9wYWdhdGlvbj86IGJvb2xlYW5cbn1cbi8qKlxuICogPHA+VGhlIHBhcmFtZXRlcnMgZm9yIFMzLjwvcD5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTM1BhcmFtZXRlcnMge1xuTWFuaWZlc3RGaWxlTG9jYXRpb246IE1hbmlmZXN0RmlsZUxvY2F0aW9uXG4vKipcbiAqIDxwPlVzZSB0aGUgPGNvZGU+Um9sZUFybjwvY29kZT4gc3RydWN0dXJlIHRvIG92ZXJyaWRlIGFuIGFjY291bnQtd2lkZSByb2xlIGZvciBhIHNwZWNpZmljIFMzIGRhdGEgc291cmNlLiBGb3IgZXhhbXBsZSwgc2F5IGFuIGFjY291bnQgYWRtaW5pc3RyYXRvciBoYXMgdHVybmVkIG9mZiBhbGwgUzMgYWNjZXNzIHdpdGggYW4gYWNjb3VudC13aWRlIHJvbGUuIFRoZSBhZG1pbmlzdHJhdG9yIGNhbiB0aGVuIHVzZSA8Y29kZT5Sb2xlQXJuPC9jb2RlPiB0byBieXBhc3MgdGhlIGFjY291bnQtd2lkZSByb2xlIGFuZCBhbGxvdyBTMyBhY2Nlc3MgZm9yIHRoZSBzaW5nbGUgUzMgZGF0YSBzb3VyY2UgdGhhdCBpcyBzcGVjaWZpZWQgaW4gdGhlIHN0cnVjdHVyZSwgZXZlbiBpZiB0aGUgYWNjb3VudC13aWRlIHJvbGUgZm9yYmlkZGluZyBTMyBhY2Nlc3MgaXMgc3RpbGwgYWN0aXZlLjwvcD5cbiAqL1xuUm9sZUFybj86IHN0cmluZ1xufVxuLyoqXG4gKiA8cD5BbWF6b24gUzMgbWFuaWZlc3QgZmlsZSBsb2NhdGlvbi48L3A+XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWFuaWZlc3RGaWxlTG9jYXRpb24ge1xuLyoqXG4gKiA8cD5BbWF6b24gUzMgYnVja2V0LjwvcD5cbiAqL1xuQnVja2V0OiBzdHJpbmdcbi8qKlxuICogPHA+QW1hem9uIFMzIGtleSB0aGF0IGlkZW50aWZpZXMgYW4gb2JqZWN0LjwvcD5cbiAqL1xuS2V5OiBzdHJpbmdcbn1cbi8qKlxuICogPHA+VGhlIHBhcmFtZXRlcnMgZm9yIFNub3dmbGFrZS48L3A+XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU25vd2ZsYWtlUGFyYW1ldGVycyB7XG4vKipcbiAqIDxwPkhvc3QuPC9wPlxuICovXG5Ib3N0OiBzdHJpbmdcbi8qKlxuICogPHA+RGF0YWJhc2UuPC9wPlxuICovXG5EYXRhYmFzZTogc3RyaW5nXG4vKipcbiAqIDxwPldhcmVob3VzZS48L3A+XG4gKi9cbldhcmVob3VzZTogc3RyaW5nXG59XG4vKipcbiAqIDxwPlRoZSBwYXJhbWV0ZXJzIGZvciBTcGFyay48L3A+XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3BhcmtQYXJhbWV0ZXJzIHtcbi8qKlxuICogPHA+SG9zdC48L3A+XG4gKi9cbkhvc3Q6IHN0cmluZ1xuLyoqXG4gKiA8cD5Qb3J0LjwvcD5cbiAqL1xuUG9ydDogbnVtYmVyXG59XG4vKipcbiAqIDxwPlRoZSBwYXJhbWV0ZXJzIGZvciBTUUwgU2VydmVyLjwvcD5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTcWxTZXJ2ZXJQYXJhbWV0ZXJzIHtcbi8qKlxuICogPHA+SG9zdC48L3A+XG4gKi9cbkhvc3Q6IHN0cmluZ1xuLyoqXG4gKiA8cD5Qb3J0LjwvcD5cbiAqL1xuUG9ydDogbnVtYmVyXG4vKipcbiAqIDxwPkRhdGFiYXNlLjwvcD5cbiAqL1xuRGF0YWJhc2U6IHN0cmluZ1xufVxuLyoqXG4gKiA8cD5UaGUgcGFyYW1ldGVycyBmb3IgVGVyYWRhdGEuPC9wPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRlcmFkYXRhUGFyYW1ldGVycyB7XG4vKipcbiAqIDxwPkhvc3QuPC9wPlxuICovXG5Ib3N0OiBzdHJpbmdcbi8qKlxuICogPHA+UG9ydC48L3A+XG4gKi9cblBvcnQ6IG51bWJlclxuLyoqXG4gKiA8cD5EYXRhYmFzZS48L3A+XG4gKi9cbkRhdGFiYXNlOiBzdHJpbmdcbn1cbi8qKlxuICogPHA+VGhlIHBhcmFtZXRlcnMgZm9yIE9wZW5TZWFyY2guPC9wPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFtYXpvbk9wZW5TZWFyY2hQYXJhbWV0ZXJzIHtcbi8qKlxuICogPHA+VGhlIE9wZW5TZWFyY2ggZG9tYWluLjwvcD5cbiAqL1xuRG9tYWluOiBzdHJpbmdcbn1cbi8qKlxuICogPHA+VGhlIHBhcmFtZXRlcnMgdGhhdCBhcmUgcmVxdWlyZWQgdG8gY29ubmVjdCB0byBhIERhdGFicmlja3MgZGF0YSBzb3VyY2UuPC9wPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFicmlja3NQYXJhbWV0ZXJzIHtcbi8qKlxuICogPHA+VGhlIGhvc3QgbmFtZSBvZiB0aGUgRGF0YWJyaWNrcyBkYXRhIHNvdXJjZS48L3A+XG4gKi9cbkhvc3Q6IHN0cmluZ1xuLyoqXG4gKiA8cD5UaGUgcG9ydCBmb3IgdGhlIERhdGFicmlja3MgZGF0YSBzb3VyY2UuPC9wPlxuICovXG5Qb3J0OiBudW1iZXJcbi8qKlxuICogPHA+VGhlIEhUVFAgcGF0aCBvZiB0aGUgRGF0YWJyaWNrcyBkYXRhIHNvdXJjZS48L3A+XG4gKi9cblNxbEVuZHBvaW50UGF0aDogc3RyaW5nXG59XG4vKipcbiAqIDxwPlRoZSBwYXJhbWV0ZXJzIHRoYXQgYXJlIHJlcXVpcmVkIHRvIGNvbm5lY3QgdG8gYSBTdGFyYnVyc3QgZGF0YSBzb3VyY2UuPC9wPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YXJidXJzdFBhcmFtZXRlcnMge1xuLyoqXG4gKiA8cD5UaGUgaG9zdCBuYW1lIG9mIHRoZSBTdGFyYnVyc3QgZGF0YSBzb3VyY2UuPC9wPlxuICovXG5Ib3N0OiBzdHJpbmdcbi8qKlxuICogPHA+VGhlIHBvcnQgZm9yIHRoZSBTdGFyYnVyc3QgZGF0YSBzb3VyY2UuPC9wPlxuICovXG5Qb3J0OiBudW1iZXJcbi8qKlxuICogPHA+VGhlIGNhdGFsb2cgbmFtZSBmb3IgdGhlIFN0YXJidXJzdCBkYXRhIHNvdXJjZS48L3A+XG4gKi9cbkNhdGFsb2c6IHN0cmluZ1xuUHJvZHVjdFR5cGU/OiBTdGFyYnVyc3RQcm9kdWN0VHlwZVxufVxuLyoqXG4gKiA8cD5UaGUgcGFyYW1ldGVycyB0aGF0IGFyZSByZXF1aXJlZCB0byBjb25uZWN0IHRvIGEgVHJpbm8gZGF0YSBzb3VyY2UuPC9wPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyaW5vUGFyYW1ldGVycyB7XG4vKipcbiAqIDxwPlRoZSBob3N0IG5hbWUgb2YgdGhlIFRyaW5vIGRhdGEgc291cmNlLjwvcD5cbiAqL1xuSG9zdDogc3RyaW5nXG4vKipcbiAqIDxwPlRoZSBwb3J0IGZvciB0aGUgVHJpbm8gZGF0YSBzb3VyY2UuPC9wPlxuICovXG5Qb3J0OiBudW1iZXJcbi8qKlxuICogPHA+VGhlIGNhdGFsb2cgbmFtZSBmb3IgdGhlIFRyaW5vIGRhdGEgc291cmNlLjwvcD5cbiAqL1xuQ2F0YWxvZzogc3RyaW5nXG59XG4vKipcbiAqIDxwPkRhdGEgc291cmNlIGNyZWRlbnRpYWxzLiBUaGlzIGlzIGEgdmFyaWFudCB0eXBlIHN0cnVjdHVyZS4gRm9yIHRoaXMgc3RydWN0dXJlIHRvIGJlXG4gKiAgICAgICAgICAgICB2YWxpZCwgb25seSBvbmUgb2YgdGhlIGF0dHJpYnV0ZXMgY2FuIGJlIG5vbi1udWxsLjwvcD5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhU291cmNlQ3JlZGVudGlhbHMge1xuQ3JlZGVudGlhbFBhaXI/OiBDcmVkZW50aWFsUGFpclxuLyoqXG4gKiA8cD5UaGUgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgYSBkYXRhIHNvdXJjZSB0aGF0IGhhcyB0aGUgY3JlZGVudGlhbCBwYWlyIHRoYXQgeW91XG4gKiAgICAgICAgICAgICB3YW50IHRvIHVzZS4gV2hlbiA8Y29kZT5Db3B5U291cmNlQXJuPC9jb2RlPiBpcyBub3QgbnVsbCwgdGhlIGNyZWRlbnRpYWwgcGFpciBmcm9tIHRoZVxuICogICAgICAgICAgICAgZGF0YSBzb3VyY2UgaW4gdGhlIEFSTiBpcyB1c2VkIGFzIHRoZSBjcmVkZW50aWFscyBmb3IgdGhlXG4gKiAgICAgICAgICAgICA8Y29kZT5EYXRhU291cmNlQ3JlZGVudGlhbHM8L2NvZGU+IHN0cnVjdHVyZS48L3A+XG4gKi9cbkNvcHlTb3VyY2VBcm4/OiBzdHJpbmdcbi8qKlxuICogPHA+VGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIG9mIHRoZSBzZWNyZXQgYXNzb2NpYXRlZCB3aXRoIHRoZSBkYXRhIHNvdXJjZSBpbiBBbWF6b24gU2VjcmV0cyBNYW5hZ2VyLjwvcD5cbiAqL1xuU2VjcmV0QXJuPzogc3RyaW5nXG59XG4vKipcbiAqIDxwPlRoZSBjb21iaW5hdGlvbiBvZiB1c2VyIG5hbWUgYW5kIHBhc3N3b3JkIHRoYXQgYXJlIHVzZWQgYXMgY3JlZGVudGlhbHMuPC9wPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENyZWRlbnRpYWxQYWlyIHtcbi8qKlxuICogPHA+VXNlciBuYW1lLjwvcD5cbiAqL1xuVXNlcm5hbWU6IHN0cmluZ1xuLyoqXG4gKiA8cD5QYXNzd29yZC48L3A+XG4gKi9cblBhc3N3b3JkOiBzdHJpbmdcbi8qKlxuICogPHA+QSBzZXQgb2YgYWx0ZXJuYXRlIGRhdGEgc291cmNlIHBhcmFtZXRlcnMgdGhhdCB5b3Ugd2FudCB0byBzaGFyZSBmb3IgdGhlc2VcbiAqICAgICAgICAgICAgIGNyZWRlbnRpYWxzLiBUaGUgY3JlZGVudGlhbHMgYXJlIGFwcGxpZWQgaW4gdGFuZGVtIHdpdGggdGhlIGRhdGEgc291cmNlIHBhcmFtZXRlcnMgd2hlblxuICogICAgICAgICAgICAgeW91IGNvcHkgYSBkYXRhIHNvdXJjZSBieSB1c2luZyBhIGNyZWF0ZSBvciB1cGRhdGUgcmVxdWVzdC4gVGhlIEFQSSBvcGVyYXRpb24gY29tcGFyZXNcbiAqICAgICAgICAgICAgIHRoZSA8Y29kZT5EYXRhU291cmNlUGFyYW1ldGVyczwvY29kZT4gc3RydWN0dXJlIHRoYXQncyBpbiB0aGUgcmVxdWVzdCB3aXRoIHRoZVxuICogICAgICAgICAgICAgc3RydWN0dXJlcyBpbiB0aGUgPGNvZGU+QWx0ZXJuYXRlRGF0YVNvdXJjZVBhcmFtZXRlcnM8L2NvZGU+IGFsbG93IGxpc3QuIElmIHRoZVxuICogICAgICAgICAgICAgc3RydWN0dXJlcyBhcmUgYW4gZXhhY3QgbWF0Y2gsIHRoZSByZXF1ZXN0IGlzIGFsbG93ZWQgdG8gdXNlIHRoZSBuZXcgZGF0YSBzb3VyY2Ugd2l0aFxuICogICAgICAgICAgICAgdGhlIGV4aXN0aW5nIGNyZWRlbnRpYWxzLiBJZiB0aGUgPGNvZGU+QWx0ZXJuYXRlRGF0YVNvdXJjZVBhcmFtZXRlcnM8L2NvZGU+IGxpc3QgaXNcbiAqICAgICAgICAgICAgIG51bGwsIHRoZSA8Y29kZT5EYXRhU291cmNlUGFyYW1ldGVyczwvY29kZT4gb3JpZ2luYWxseSB1c2VkIHdpdGggdGhlc2VcbiAqICAgICAgICAgICAgICAgICA8Y29kZT5DcmVkZW50aWFsczwvY29kZT4gaXMgYXV0b21hdGljYWxseSBhbGxvd2VkLjwvcD5cbiAqIFxuICogQG1pbkl0ZW1zIDFcbiAqIEBtYXhJdGVtcyA1MFxuICovXG5BbHRlcm5hdGVEYXRhU291cmNlUGFyYW1ldGVycz86IERhdGFTb3VyY2VQYXJhbWV0ZXJzW11cbn1cbi8qKlxuICogPHA+RXJyb3IgaW5mb3JtYXRpb24gZm9yIHRoZSBkYXRhIHNvdXJjZSBjcmVhdGlvbiBvciB1cGRhdGUuPC9wPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFTb3VyY2VFcnJvckluZm8ge1xuVHlwZT86IERhdGFTb3VyY2VFcnJvckluZm9UeXBlXG4vKipcbiAqIDxwPkVycm9yIG1lc3NhZ2UuPC9wPlxuICovXG5NZXNzYWdlPzogc3RyaW5nXG59XG4vKipcbiAqIDxwPlBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZS48L3A+XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VQZXJtaXNzaW9uIHtcbi8qKlxuICogPHA+VGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIG9mIHRoZSBwcmluY2lwYWwuIFRoaXMgY2FuIGJlIG9uZSBvZiB0aGVcbiAqICAgICAgICAgICAgIGZvbGxvd2luZzo8L3A+XG4gKiAgICAgICAgICA8dWw+XG4gKiAgICAgICAgICAgICA8bGk+XG4gKiAgICAgICAgICAgICAgICA8cD5UaGUgQVJOIG9mIGFuIEFtYXpvbiBRdWlja1NpZ2h0IHVzZXIgb3IgZ3JvdXAgYXNzb2NpYXRlZCB3aXRoIGEgZGF0YSBzb3VyY2Ugb3IgZGF0YXNldC4gKFRoaXMgaXMgY29tbW9uLik8L3A+XG4gKiAgICAgICAgICAgICA8L2xpPlxuICogICAgICAgICAgICAgPGxpPlxuICogICAgICAgICAgICAgICAgPHA+VGhlIEFSTiBvZiBhbiBBbWF6b24gUXVpY2tTaWdodCB1c2VyLCBncm91cCwgb3IgbmFtZXNwYWNlIGFzc29jaWF0ZWQgd2l0aCBhbiBhbmFseXNpcywgZGFzaGJvYXJkLCB0ZW1wbGF0ZSwgb3IgdGhlbWUuIChUaGlzIGlzIGNvbW1vbi4pPC9wPlxuICogICAgICAgICAgICAgPC9saT5cbiAqICAgICAgICAgICAgIDxsaT5cbiAqICAgICAgICAgICAgICAgIDxwPlRoZSBBUk4gb2YgYW4gQW1hem9uIFdlYiBTZXJ2aWNlcyBhY2NvdW50IHJvb3Q6IFRoaXMgaXMgYW4gSUFNIEFSTiByYXRoZXIgdGhhbiBhIFF1aWNrU2lnaHRcbiAqICAgICAgICAgICAgICAgICAgICAgQVJOLiBVc2UgdGhpcyBvcHRpb24gb25seSB0byBzaGFyZSByZXNvdXJjZXMgKHRlbXBsYXRlcykgYWNyb3NzIEFtYXpvbiBXZWIgU2VydmljZXMgYWNjb3VudHMuXG4gKiAgICAgICAgICAgICAgICAgICAgIChUaGlzIGlzIGxlc3MgY29tbW9uLikgPC9wPlxuICogICAgICAgICAgICAgPC9saT5cbiAqICAgICAgICAgIDwvdWw+XG4gKi9cblByaW5jaXBhbDogc3RyaW5nXG5SZXNvdXJjZT86IHN0cmluZ1xuLyoqXG4gKiA8cD5UaGUgSUFNIGFjdGlvbiB0byBncmFudCBvciByZXZva2UgcGVybWlzc2lvbnMgb24uPC9wPlxuICogXG4gKiBAbWluSXRlbXMgMVxuICogQG1heEl0ZW1zIDIwXG4gKi9cbkFjdGlvbnM6IHN0cmluZ1tdXG59XG4vKipcbiAqIDxwPlNlY3VyZSBTb2NrZXQgTGF5ZXIgKFNTTCkgcHJvcGVydGllcyB0aGF0IGFwcGx5IHdoZW4gQW1hem9uIFF1aWNrU2lnaHQgY29ubmVjdHMgdG8geW91clxuICogICAgICAgICAgICAgdW5kZXJseWluZyBkYXRhIHNvdXJjZS48L3A+XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3NsUHJvcGVydGllcyB7XG4vKipcbiAqIDxwPkEgQm9vbGVhbiBvcHRpb24gdG8gY29udHJvbCB3aGV0aGVyIFNTTCBzaG91bGQgYmUgZGlzYWJsZWQuPC9wPlxuICovXG5EaXNhYmxlU3NsPzogYm9vbGVhblxufVxuLyoqXG4gKiA8cD5UaGUga2V5IG9yIGtleXMgb2YgdGhlIGtleS12YWx1ZSBwYWlycyBmb3IgdGhlIHJlc291cmNlIHRhZyBvciB0YWdzIGFzc2lnbmVkIHRvIHRoZVxuICogICAgICAgICAgICAgcmVzb3VyY2UuPC9wPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhZyB7XG4vKipcbiAqIDxwPlRhZyBrZXkuPC9wPlxuICovXG5LZXk6IHN0cmluZ1xuLyoqXG4gKiA8cD5UYWcgdmFsdWUuPC9wPlxuICovXG5WYWx1ZTogc3RyaW5nXG59XG4vKipcbiAqIDxwPlZQQyBjb25uZWN0aW9uIHByb3BlcnRpZXMuPC9wPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZwY0Nvbm5lY3Rpb25Qcm9wZXJ0aWVzIHtcbi8qKlxuICogPHA+VGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIGZvciB0aGUgVlBDIGNvbm5lY3Rpb24uPC9wPlxuICovXG5WcGNDb25uZWN0aW9uQXJuOiBzdHJpbmdcbn1cbiJdfQ==
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
export type FolderType = ("SHARED" | "RESTRICTED");
|
|
2
|
+
export type SharingModel = ("ACCOUNT" | "NAMESPACE");
|
|
3
|
+
/**
|
|
4
|
+
* Definition of the AWS::QuickSight::Folder Resource Type.
|
|
5
|
+
*/
|
|
6
|
+
export interface _AWS_QUICKSIGHT_FOLDER {
|
|
7
|
+
/**
|
|
8
|
+
* <p>The Amazon Resource Name (ARN) for the folder.</p>
|
|
9
|
+
*/
|
|
10
|
+
Arn?: string;
|
|
11
|
+
AwsAccountId?: string;
|
|
12
|
+
/**
|
|
13
|
+
* <p>The time that the folder was created.</p>
|
|
14
|
+
*/
|
|
15
|
+
CreatedTime?: string;
|
|
16
|
+
FolderId?: string;
|
|
17
|
+
FolderType?: FolderType;
|
|
18
|
+
/**
|
|
19
|
+
* <p>The time that the folder was last updated.</p>
|
|
20
|
+
*/
|
|
21
|
+
LastUpdatedTime?: string;
|
|
22
|
+
Name?: string;
|
|
23
|
+
ParentFolderArn?: string;
|
|
24
|
+
/**
|
|
25
|
+
* @minItems 1
|
|
26
|
+
* @maxItems 64
|
|
27
|
+
*/
|
|
28
|
+
Permissions?: ResourcePermission[];
|
|
29
|
+
SharingModel?: SharingModel;
|
|
30
|
+
/**
|
|
31
|
+
* @minItems 1
|
|
32
|
+
* @maxItems 200
|
|
33
|
+
*/
|
|
34
|
+
Tags?: Tag[];
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* <p>Permission for the resource.</p>
|
|
38
|
+
*/
|
|
39
|
+
export interface ResourcePermission {
|
|
40
|
+
/**
|
|
41
|
+
* <p>The Amazon Resource Name (ARN) of the principal. This can be one of the
|
|
42
|
+
* following:</p>
|
|
43
|
+
* <ul>
|
|
44
|
+
* <li>
|
|
45
|
+
* <p>The ARN of an Amazon QuickSight user or group associated with a data source or dataset. (This is common.)</p>
|
|
46
|
+
* </li>
|
|
47
|
+
* <li>
|
|
48
|
+
* <p>The ARN of an Amazon QuickSight user, group, or namespace associated with an analysis, dashboard, template, or theme. (This is common.)</p>
|
|
49
|
+
* </li>
|
|
50
|
+
* <li>
|
|
51
|
+
* <p>The ARN of an Amazon Web Services account root: This is an IAM ARN rather than a QuickSight
|
|
52
|
+
* ARN. Use this option only to share resources (templates) across Amazon Web Services accounts.
|
|
53
|
+
* (This is less common.) </p>
|
|
54
|
+
* </li>
|
|
55
|
+
* </ul>
|
|
56
|
+
*/
|
|
57
|
+
Principal: string;
|
|
58
|
+
/**
|
|
59
|
+
* <p>The IAM action to grant or revoke permissions on.</p>
|
|
60
|
+
*
|
|
61
|
+
* @minItems 1
|
|
62
|
+
* @maxItems 20
|
|
63
|
+
*/
|
|
64
|
+
Actions: string[];
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* <p>The key or keys of the key-value pairs for the resource tag or tags assigned to the
|
|
68
|
+
* resource.</p>
|
|
69
|
+
*/
|
|
70
|
+
export interface Tag {
|
|
71
|
+
/**
|
|
72
|
+
* <p>Tag key.</p>
|
|
73
|
+
*/
|
|
74
|
+
Key: string;
|
|
75
|
+
/**
|
|
76
|
+
* <p>Tag value.</p>
|
|
77
|
+
*/
|
|
78
|
+
Value: string;
|
|
79
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLXF1aWNrc2lnaHQtZm9sZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXdzLXF1aWNrc2lnaHQtZm9sZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBGb2xkZXJUeXBlID0gKFwiU0hBUkVEXCIgfCBcIlJFU1RSSUNURURcIilcbmV4cG9ydCB0eXBlIFNoYXJpbmdNb2RlbCA9IChcIkFDQ09VTlRcIiB8IFwiTkFNRVNQQUNFXCIpXG5cbi8qKlxuICogRGVmaW5pdGlvbiBvZiB0aGUgQVdTOjpRdWlja1NpZ2h0OjpGb2xkZXIgUmVzb3VyY2UgVHlwZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBfQVdTX1FVSUNLU0lHSFRfRk9MREVSIHtcbi8qKlxuICogPHA+VGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIGZvciB0aGUgZm9sZGVyLjwvcD5cbiAqL1xuQXJuPzogc3RyaW5nXG5Bd3NBY2NvdW50SWQ/OiBzdHJpbmdcbi8qKlxuICogPHA+VGhlIHRpbWUgdGhhdCB0aGUgZm9sZGVyIHdhcyBjcmVhdGVkLjwvcD5cbiAqL1xuQ3JlYXRlZFRpbWU/OiBzdHJpbmdcbkZvbGRlcklkPzogc3RyaW5nXG5Gb2xkZXJUeXBlPzogRm9sZGVyVHlwZVxuLyoqXG4gKiA8cD5UaGUgdGltZSB0aGF0IHRoZSBmb2xkZXIgd2FzIGxhc3QgdXBkYXRlZC48L3A+XG4gKi9cbkxhc3RVcGRhdGVkVGltZT86IHN0cmluZ1xuTmFtZT86IHN0cmluZ1xuUGFyZW50Rm9sZGVyQXJuPzogc3RyaW5nXG4vKipcbiAqIEBtaW5JdGVtcyAxXG4gKiBAbWF4SXRlbXMgNjRcbiAqL1xuUGVybWlzc2lvbnM/OiBSZXNvdXJjZVBlcm1pc3Npb25bXVxuU2hhcmluZ01vZGVsPzogU2hhcmluZ01vZGVsXG4vKipcbiAqIEBtaW5JdGVtcyAxXG4gKiBAbWF4SXRlbXMgMjAwXG4gKi9cblRhZ3M/OiBUYWdbXVxufVxuLyoqXG4gKiA8cD5QZXJtaXNzaW9uIGZvciB0aGUgcmVzb3VyY2UuPC9wPlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlUGVybWlzc2lvbiB7XG4vKipcbiAqIDxwPlRoZSBBbWF6b24gUmVzb3VyY2UgTmFtZSAoQVJOKSBvZiB0aGUgcHJpbmNpcGFsLiBUaGlzIGNhbiBiZSBvbmUgb2YgdGhlXG4gKiAgICAgICAgICAgICBmb2xsb3dpbmc6PC9wPlxuICogICAgICAgICAgPHVsPlxuICogICAgICAgICAgICAgPGxpPlxuICogICAgICAgICAgICAgICAgPHA+VGhlIEFSTiBvZiBhbiBBbWF6b24gUXVpY2tTaWdodCB1c2VyIG9yIGdyb3VwIGFzc29jaWF0ZWQgd2l0aCBhIGRhdGEgc291cmNlIG9yIGRhdGFzZXQuIChUaGlzIGlzIGNvbW1vbi4pPC9wPlxuICogICAgICAgICAgICAgPC9saT5cbiAqICAgICAgICAgICAgIDxsaT5cbiAqICAgICAgICAgICAgICAgIDxwPlRoZSBBUk4gb2YgYW4gQW1hem9uIFF1aWNrU2lnaHQgdXNlciwgZ3JvdXAsIG9yIG5hbWVzcGFjZSBhc3NvY2lhdGVkIHdpdGggYW4gYW5hbHlzaXMsIGRhc2hib2FyZCwgdGVtcGxhdGUsIG9yIHRoZW1lLiAoVGhpcyBpcyBjb21tb24uKTwvcD5cbiAqICAgICAgICAgICAgIDwvbGk+XG4gKiAgICAgICAgICAgICA8bGk+XG4gKiAgICAgICAgICAgICAgICA8cD5UaGUgQVJOIG9mIGFuIEFtYXpvbiBXZWIgU2VydmljZXMgYWNjb3VudCByb290OiBUaGlzIGlzIGFuIElBTSBBUk4gcmF0aGVyIHRoYW4gYSBRdWlja1NpZ2h0XG4gKiAgICAgICAgICAgICAgICAgICAgIEFSTi4gVXNlIHRoaXMgb3B0aW9uIG9ubHkgdG8gc2hhcmUgcmVzb3VyY2VzICh0ZW1wbGF0ZXMpIGFjcm9zcyBBbWF6b24gV2ViIFNlcnZpY2VzIGFjY291bnRzLlxuICogICAgICAgICAgICAgICAgICAgICAoVGhpcyBpcyBsZXNzIGNvbW1vbi4pIDwvcD5cbiAqICAgICAgICAgICAgIDwvbGk+XG4gKiAgICAgICAgICA8L3VsPlxuICovXG5QcmluY2lwYWw6IHN0cmluZ1xuLyoqXG4gKiA8cD5UaGUgSUFNIGFjdGlvbiB0byBncmFudCBvciByZXZva2UgcGVybWlzc2lvbnMgb24uPC9wPlxuICogXG4gKiBAbWluSXRlbXMgMVxuICogQG1heEl0ZW1zIDIwXG4gKi9cbkFjdGlvbnM6IHN0cmluZ1tdXG59XG4vKipcbiAqIDxwPlRoZSBrZXkgb3Iga2V5cyBvZiB0aGUga2V5LXZhbHVlIHBhaXJzIGZvciB0aGUgcmVzb3VyY2UgdGFnIG9yIHRhZ3MgYXNzaWduZWQgdG8gdGhlXG4gKiAgICAgICAgICAgICByZXNvdXJjZS48L3A+XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFnIHtcbi8qKlxuICogPHA+VGFnIGtleS48L3A+XG4gKi9cbktleTogc3RyaW5nXG4vKipcbiAqIDxwPlRhZyB2YWx1ZS48L3A+XG4gKi9cblZhbHVlOiBzdHJpbmdcbn1cbiJdfQ==
|
|
@@ -9,6 +9,7 @@ export type FontStyle = ("NORMAL" | "ITALIC");
|
|
|
9
9
|
export type RelativeFontSize = ("EXTRA_SMALL" | "SMALL" | "MEDIUM" | "LARGE" | "EXTRA_LARGE");
|
|
10
10
|
export type FontDecoration = ("UNDERLINE" | "NONE");
|
|
11
11
|
export type FontWeightName = ("NORMAL" | "BOLD");
|
|
12
|
+
export type CommitMode = ("AUTO" | "MANUAL");
|
|
12
13
|
export type SheetControlListType = ("MULTI_SELECT" | "SINGLE_SELECT");
|
|
13
14
|
export type SheetControlDateTimePickerType = ("SINGLE_VALUED" | "DATE_RANGE");
|
|
14
15
|
export type SimpleAttributeAggregationFunction = "UNIQUE_VALUE";
|
|
@@ -354,6 +355,7 @@ export interface SheetControlInfoIconLabelOptions {
|
|
|
354
355
|
}
|
|
355
356
|
export interface DefaultRelativeDateTimeControlOptions {
|
|
356
357
|
DisplayOptions?: RelativeDateTimeControlDisplayOptions;
|
|
358
|
+
CommitMode?: CommitMode;
|
|
357
359
|
}
|
|
358
360
|
export interface RelativeDateTimeControlDisplayOptions {
|
|
359
361
|
TitleOptions?: LabelOptions;
|
|
@@ -383,6 +385,7 @@ export interface TextAreaControlDisplayOptions {
|
|
|
383
385
|
export interface DefaultFilterDropDownControlOptions {
|
|
384
386
|
Type?: SheetControlListType;
|
|
385
387
|
DisplayOptions?: DropDownControlDisplayOptions;
|
|
388
|
+
CommitMode?: CommitMode;
|
|
386
389
|
SelectableValues?: FilterSelectableValues;
|
|
387
390
|
}
|
|
388
391
|
export interface DropDownControlDisplayOptions {
|
|
@@ -403,6 +406,7 @@ export interface FilterSelectableValues {
|
|
|
403
406
|
export interface DefaultDateTimePickerControlOptions {
|
|
404
407
|
Type?: SheetControlDateTimePickerType;
|
|
405
408
|
DisplayOptions?: DateTimePickerControlDisplayOptions;
|
|
409
|
+
CommitMode?: CommitMode;
|
|
406
410
|
}
|
|
407
411
|
export interface DateTimePickerControlDisplayOptions {
|
|
408
412
|
TitleOptions?: LabelOptions;
|
|
@@ -865,6 +869,7 @@ export interface ParameterDropDownControl {
|
|
|
865
869
|
SourceParameterName: string;
|
|
866
870
|
CascadingControlConfiguration?: CascadingControlConfiguration;
|
|
867
871
|
Title: string;
|
|
872
|
+
CommitMode?: CommitMode;
|
|
868
873
|
SelectableValues?: ParameterSelectableValues;
|
|
869
874
|
}
|
|
870
875
|
export interface CascadingControlConfiguration {
|
|
@@ -1079,6 +1084,7 @@ export interface FilterDropDownControl {
|
|
|
1079
1084
|
DisplayOptions?: DropDownControlDisplayOptions;
|
|
1080
1085
|
CascadingControlConfiguration?: CascadingControlConfiguration;
|
|
1081
1086
|
Title: string;
|
|
1087
|
+
CommitMode?: CommitMode;
|
|
1082
1088
|
SourceFilterId: string;
|
|
1083
1089
|
SelectableValues?: FilterSelectableValues;
|
|
1084
1090
|
}
|
|
@@ -1102,12 +1108,14 @@ export interface FilterDateTimePickerControl {
|
|
|
1102
1108
|
Type?: SheetControlDateTimePickerType;
|
|
1103
1109
|
DisplayOptions?: DateTimePickerControlDisplayOptions;
|
|
1104
1110
|
Title: string;
|
|
1111
|
+
CommitMode?: CommitMode;
|
|
1105
1112
|
SourceFilterId: string;
|
|
1106
1113
|
}
|
|
1107
1114
|
export interface FilterRelativeDateTimeControl {
|
|
1108
1115
|
FilterControlId: string;
|
|
1109
1116
|
DisplayOptions?: RelativeDateTimeControlDisplayOptions;
|
|
1110
1117
|
Title: string;
|
|
1118
|
+
CommitMode?: CommitMode;
|
|
1111
1119
|
SourceFilterId: string;
|
|
1112
1120
|
}
|
|
1113
1121
|
export interface FilterCrossSheetControl {
|