@horietakehiro/aws-cdk-utul 0.33.0 → 0.33.2
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/buildspec_schedule.yaml +42 -0
- package/lib/types/cfn-resource-types/aws-amazonmq-broker.d.ts +2 -1
- package/lib/types/cfn-resource-types/aws-amazonmq-broker.js +1 -1
- package/lib/types/cfn-resource-types/aws-appconfig-configurationprofile.d.ts +4 -0
- package/lib/types/cfn-resource-types/aws-appconfig-configurationprofile.js +1 -1
- package/lib/types/cfn-resource-types/aws-appconfig-deployment.d.ts +40 -4
- package/lib/types/cfn-resource-types/aws-appconfig-deployment.js +1 -1
- package/lib/types/cfn-resource-types/aws-appconfig-environment.d.ts +4 -0
- package/lib/types/cfn-resource-types/aws-appconfig-environment.js +1 -1
- package/lib/types/cfn-resource-types/aws-autoscaling-autoscalinggroup.d.ts +17 -0
- package/lib/types/cfn-resource-types/aws-autoscaling-autoscalinggroup.js +1 -1
- package/lib/types/cfn-resource-types/aws-bedrock-agent.d.ts +5 -0
- package/lib/types/cfn-resource-types/aws-bedrock-agent.js +1 -1
- package/lib/types/cfn-resource-types/aws-bedrock-datasource.d.ts +25 -16
- package/lib/types/cfn-resource-types/aws-bedrock-datasource.js +1 -1
- package/lib/types/cfn-resource-types/aws-bedrock-knowledgebase.d.ts +48 -3
- package/lib/types/cfn-resource-types/aws-bedrock-knowledgebase.js +1 -1
- package/lib/types/cfn-resource-types/aws-bedrock-prompt.d.ts +158 -3
- package/lib/types/cfn-resource-types/aws-bedrock-prompt.js +1 -1
- package/lib/types/cfn-resource-types/aws-cassandra-keyspace.d.ts +4 -0
- package/lib/types/cfn-resource-types/aws-cassandra-keyspace.js +1 -1
- package/lib/types/cfn-resource-types/aws-cassandra-type.d.ts +41 -0
- package/lib/types/cfn-resource-types/aws-cassandra-type.js +3 -0
- package/lib/types/cfn-resource-types/aws-cleanrooms-collaboration.d.ts +18 -0
- package/lib/types/cfn-resource-types/aws-cleanrooms-collaboration.js +1 -1
- package/lib/types/cfn-resource-types/aws-cleanrooms-membership.d.ts +11 -0
- package/lib/types/cfn-resource-types/aws-cleanrooms-membership.js +1 -1
- package/lib/types/cfn-resource-types/aws-cloudformation-guardhook.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-cloudformation-guardhook.js +1 -1
- package/lib/types/cfn-resource-types/aws-cloudformation-lambdahook.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-cloudformation-lambdahook.js +1 -1
- package/lib/types/cfn-resource-types/aws-cloudfront-anycastiplist.d.ts +27 -0
- package/lib/types/cfn-resource-types/aws-cloudfront-anycastiplist.js +3 -0
- package/lib/types/cfn-resource-types/aws-cloudfront-distribution.d.ts +24 -7
- package/lib/types/cfn-resource-types/aws-cloudfront-distribution.js +1 -1
- package/lib/types/cfn-resource-types/aws-connect-queue.d.ts +0 -1
- package/lib/types/cfn-resource-types/aws-connect-queue.js +1 -1
- package/lib/types/cfn-resource-types/aws-customerprofiles-eventtrigger.d.ts +162 -0
- package/lib/types/cfn-resource-types/aws-customerprofiles-eventtrigger.js +3 -0
- package/lib/types/cfn-resource-types/aws-databrew-dataset.d.ts +9 -0
- package/lib/types/cfn-resource-types/aws-databrew-dataset.js +1 -1
- package/lib/types/cfn-resource-types/aws-datazone-datasource.d.ts +23 -1
- package/lib/types/cfn-resource-types/aws-datazone-datasource.js +1 -1
- package/lib/types/cfn-resource-types/aws-datazone-projectmembership.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-datazone-projectmembership.js +1 -1
- package/lib/types/cfn-resource-types/aws-datazone-subscriptiontarget.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-datazone-subscriptiontarget.js +1 -1
- package/lib/types/cfn-resource-types/aws-dms-dataprovider.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-dms-dataprovider.js +1 -1
- package/lib/types/cfn-resource-types/aws-docdb-dbcluster.d.ts +3 -0
- package/lib/types/cfn-resource-types/aws-docdb-dbcluster.js +1 -1
- package/lib/types/cfn-resource-types/aws-dynamodb-globaltable.d.ts +5 -3
- package/lib/types/cfn-resource-types/aws-dynamodb-globaltable.js +1 -1
- package/lib/types/cfn-resource-types/aws-dynamodb-table.d.ts +1 -0
- package/lib/types/cfn-resource-types/aws-dynamodb-table.js +1 -1
- package/lib/types/cfn-resource-types/aws-ec2-ec2fleet.d.ts +10 -0
- package/lib/types/cfn-resource-types/aws-ec2-ec2fleet.js +1 -1
- package/lib/types/cfn-resource-types/aws-ec2-launchtemplate.d.ts +1022 -0
- package/lib/types/cfn-resource-types/aws-ec2-launchtemplate.js +3 -0
- package/lib/types/cfn-resource-types/aws-ec2-networkacl.d.ts +1 -0
- package/lib/types/cfn-resource-types/aws-ec2-networkacl.js +1 -1
- package/lib/types/cfn-resource-types/aws-ec2-spotfleet.d.ts +136 -126
- package/lib/types/cfn-resource-types/aws-ec2-spotfleet.js +1 -1
- package/lib/types/cfn-resource-types/aws-ec2-volume.d.ts +5 -5
- package/lib/types/cfn-resource-types/aws-ec2-volume.js +1 -1
- package/lib/types/cfn-resource-types/aws-ec2-vpccidrblock.d.ts +4 -0
- package/lib/types/cfn-resource-types/aws-ec2-vpccidrblock.js +1 -1
- package/lib/types/cfn-resource-types/aws-ec2-vpcendpoint.d.ts +27 -14
- package/lib/types/cfn-resource-types/aws-ec2-vpcendpoint.js +1 -1
- package/lib/types/cfn-resource-types/aws-ec2-vpcendpointservice.d.ts +8 -0
- package/lib/types/cfn-resource-types/aws-ec2-vpcendpointservice.js +1 -1
- package/lib/types/cfn-resource-types/aws-ecs-service.d.ts +6 -3
- package/lib/types/cfn-resource-types/aws-ecs-service.js +1 -1
- package/lib/types/cfn-resource-types/aws-ecs-taskdefinition.d.ts +5 -2
- package/lib/types/cfn-resource-types/aws-ecs-taskdefinition.js +1 -1
- package/lib/types/cfn-resource-types/aws-efs-filesystem.d.ts +10 -1
- package/lib/types/cfn-resource-types/aws-efs-filesystem.js +1 -1
- package/lib/types/cfn-resource-types/aws-fis-experimenttemplate.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-fis-experimenttemplate.js +1 -1
- package/lib/types/cfn-resource-types/aws-imagebuilder-image.d.ts +45 -45
- package/lib/types/cfn-resource-types/aws-imagebuilder-image.js +1 -1
- package/lib/types/cfn-resource-types/aws-lex-bot.d.ts +17 -0
- package/lib/types/cfn-resource-types/aws-lex-bot.js +1 -1
- package/lib/types/cfn-resource-types/aws-logs-loggroup.d.ts +11 -0
- package/lib/types/cfn-resource-types/aws-logs-loggroup.js +1 -1
- package/lib/types/cfn-resource-types/aws-logs-metricfilter.d.ts +4 -0
- package/lib/types/cfn-resource-types/aws-logs-metricfilter.js +1 -1
- package/lib/types/cfn-resource-types/aws-logs-subscriptionfilter.d.ts +4 -0
- package/lib/types/cfn-resource-types/aws-logs-subscriptionfilter.js +1 -1
- package/lib/types/cfn-resource-types/aws-mediaconnect-bridge.d.ts +10 -0
- package/lib/types/cfn-resource-types/aws-mediaconnect-bridge.js +1 -1
- package/lib/types/cfn-resource-types/aws-mediaconnect-bridgesource.d.ts +10 -0
- package/lib/types/cfn-resource-types/aws-mediaconnect-bridgesource.js +1 -1
- package/lib/types/cfn-resource-types/aws-mediaconvert-queue.d.ts +1 -0
- package/lib/types/cfn-resource-types/aws-mediaconvert-queue.js +1 -1
- package/lib/types/cfn-resource-types/aws-opensearchservice-domain.d.ts +10 -0
- package/lib/types/cfn-resource-types/aws-opensearchservice-domain.js +1 -1
- package/lib/types/cfn-resource-types/aws-pcs-cluster.d.ts +151 -0
- package/lib/types/cfn-resource-types/aws-pcs-cluster.js +3 -0
- package/lib/types/cfn-resource-types/aws-pcs-computenodegroup.d.ts +142 -0
- package/lib/types/cfn-resource-types/aws-pcs-computenodegroup.js +3 -0
- package/lib/types/cfn-resource-types/aws-pcs-queue.d.ts +65 -0
- package/lib/types/cfn-resource-types/aws-pcs-queue.js +3 -0
- package/lib/types/cfn-resource-types/aws-qbusiness-dataaccessor.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-qbusiness-dataaccessor.js +1 -1
- package/lib/types/cfn-resource-types/aws-quicksight-analysis.d.ts +4218 -0
- package/lib/types/cfn-resource-types/aws-quicksight-analysis.js +3 -0
- package/lib/types/cfn-resource-types/aws-quicksight-custompermissions.d.ts +48 -0
- package/lib/types/cfn-resource-types/aws-quicksight-custompermissions.js +3 -0
- package/lib/types/cfn-resource-types/aws-quicksight-dashboard.d.ts +4338 -0
- package/lib/types/cfn-resource-types/aws-quicksight-dashboard.js +3 -0
- package/lib/types/cfn-resource-types/aws-quicksight-dataset.d.ts +16 -22
- package/lib/types/cfn-resource-types/aws-quicksight-dataset.js +1 -1
- package/lib/types/cfn-resource-types/aws-quicksight-template.d.ts +4018 -0
- package/lib/types/cfn-resource-types/aws-quicksight-template.js +3 -0
- package/lib/types/cfn-resource-types/aws-rds-dbcluster.d.ts +24 -13
- package/lib/types/cfn-resource-types/aws-rds-dbcluster.js +1 -1
- package/lib/types/cfn-resource-types/aws-rds-dbinstance.d.ts +1 -0
- package/lib/types/cfn-resource-types/aws-rds-dbinstance.js +1 -1
- package/lib/types/cfn-resource-types/aws-redshift-integration.d.ts +3 -5
- package/lib/types/cfn-resource-types/aws-redshift-integration.js +1 -1
- package/lib/types/cfn-resource-types/aws-resiliencehub-app.d.ts +4 -0
- package/lib/types/cfn-resource-types/aws-resiliencehub-app.js +1 -1
- package/lib/types/cfn-resource-types/aws-sagemaker-cluster.d.ts +52 -52
- package/lib/types/cfn-resource-types/aws-sagemaker-cluster.js +1 -1
- package/lib/types/cfn-resource-types/aws-sagemaker-domain.d.ts +5 -0
- package/lib/types/cfn-resource-types/aws-sagemaker-domain.js +1 -1
- package/lib/types/cfn-resource-types/aws-sagemaker-endpointconfig.d.ts +0 -1
- package/lib/types/cfn-resource-types/aws-sagemaker-endpointconfig.js +1 -1
- package/lib/types/cfn-resource-types/aws-sagemaker-partnerapp.d.ts +89 -0
- package/lib/types/cfn-resource-types/aws-sagemaker-partnerapp.js +3 -0
- package/lib/types/cfn-resource-types/aws-sagemaker-space.d.ts +4 -0
- package/lib/types/cfn-resource-types/aws-sagemaker-space.js +1 -1
- package/lib/types/cfn-resource-types/aws-sagemaker-userprofile.d.ts +5 -0
- package/lib/types/cfn-resource-types/aws-sagemaker-userprofile.js +1 -1
- package/lib/types/cfn-resource-types/aws-securityhub-configurationpolicy.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-securityhub-configurationpolicy.js +1 -1
- package/lib/types/cfn-resource-types/aws-ses-configurationset.d.ts +4 -0
- package/lib/types/cfn-resource-types/aws-ses-configurationset.js +1 -1
- package/lib/types/cfn-resource-types/aws-ses-mailmanagerruleset.d.ts +10 -1
- package/lib/types/cfn-resource-types/aws-ses-mailmanagerruleset.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-synthetics-canary.d.ts +4 -0
- package/lib/types/cfn-resource-types/aws-synthetics-canary.js +1 -1
- package/lib/types/cfn-resource-types/aws-wisdom-aiagent.d.ts +1 -0
- package/lib/types/cfn-resource-types/aws-wisdom-aiagent.js +1 -1
- package/lib/types/cfn-resource-types/aws-wisdom-aiprompt.d.ts +1 -0
- package/lib/types/cfn-resource-types/aws-wisdom-aiprompt.js +1 -1
- package/lib/types/cfn-resource-types.d.ts +24 -6
- package/lib/types/cfn-resource-types.js +50 -32
- package/package.json +2 -2
- package/lib/types/cfn-resource-types/aws-iot1click-device.d.ts +0 -8
- package/lib/types/cfn-resource-types/aws-iot1click-device.js +0 -3
- package/lib/types/cfn-resource-types/aws-iot1click-placement.d.ts +0 -14
- package/lib/types/cfn-resource-types/aws-iot1click-placement.js +0 -3
- package/lib/types/cfn-resource-types/aws-iot1click-project.d.ts +0 -18
- package/lib/types/cfn-resource-types/aws-iot1click-project.js +0 -3
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWR5bmFtb2RiLXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXdzLWR5bmFtb2RiLXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlcHJlc2VudHMgdGhlIHdhcm0gdGhyb3VnaHB1dCAoaW4gcmVhZCB1bml0cyBwZXIgc2Vjb25kIGFuZCB3cml0ZSB1bml0cyBwZXIgc2Vjb25kKSBmb3IgY3JlYXRpbmcgYSB0YWJsZS5cbiAqL1xuZXhwb3J0IHR5cGUgV2FybVRocm91Z2hwdXQgPSAoe1xuW2s6IHN0cmluZ106IHVua25vd25cbn0gJiB7XG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIG51bWJlciBvZiByZWFkIG9wZXJhdGlvbnMgeW91ciBiYXNlIHRhYmxlIGNhbiBpbnN0YW50YW5lb3VzbHkgc3VwcG9ydC5cbiAqL1xuUmVhZFVuaXRzUGVyU2Vjb25kPzogbnVtYmVyXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIG51bWJlciBvZiB3cml0ZSBvcGVyYXRpb25zIHlvdXIgYmFzZSB0YWJsZSBjYW4gaW5zdGFudGFuZW91c2x5IHN1cHBvcnQuXG4gKi9cbldyaXRlVW5pdHNQZXJTZWNvbmQ/OiBudW1iZXJcbn0pXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIHdhcm0gdGhyb3VnaHB1dCB2YWx1ZSAoaW4gcmVhZCB1bml0cyBwZXIgc2Vjb25kIGFuZCB3cml0ZSB1bml0cyBwZXIgc2Vjb25kKSBmb3IgdGhlIHNwZWNpZmllZCBzZWNvbmRhcnkgaW5kZXguIElmIHlvdSB1c2UgdGhpcyBwYXJhbWV0ZXIsIHlvdSBtdXN0IHNwZWNpZnkgYGBSZWFkVW5pdHNQZXJTZWNvbmRgYCwgYGBXcml0ZVVuaXRzUGVyU2Vjb25kYGAsIG9yIGJvdGguXG4gKi9cbmV4cG9ydCB0eXBlIFdhcm1UaHJvdWdocHV0MSA9ICh7XG5bazogc3RyaW5nXTogdW5rbm93blxufSAmIHtcbi8qKlxuICogUmVwcmVzZW50cyB0aGUgbnVtYmVyIG9mIHJlYWQgb3BlcmF0aW9ucyB5b3VyIGJhc2UgdGFibGUgY2FuIGluc3RhbnRhbmVvdXNseSBzdXBwb3J0LlxuICovXG5SZWFkVW5pdHNQZXJTZWNvbmQ/OiBudW1iZXJcbi8qKlxuICogUmVwcmVzZW50cyB0aGUgbnVtYmVyIG9mIHdyaXRlIG9wZXJhdGlvbnMgeW91ciBiYXNlIHRhYmxlIGNhbiBpbnN0YW50YW5lb3VzbHkgc3VwcG9ydC5cbiAqL1xuV3JpdGVVbml0c1BlclNlY29uZD86IG51bWJlclxufSlcblxuLyoqXG4gKiBUaGUgYGBBV1M6OkR5bmFtb0RCOjpUYWJsZWBgIHJlc291cmNlIGNyZWF0ZXMgYSBEREIgdGFibGUuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW0NyZWF0ZVRhYmxlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYW1hem9uZHluYW1vZGIvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfQ3JlYXRlVGFibGUuaHRtbCkgaW4gdGhlICpBUEkgUmVmZXJlbmNlKi5cbiAqICBZb3Ugc2hvdWxkIGJlIGF3YXJlIG9mIHRoZSBmb2xsb3dpbmcgYmVoYXZpb3JzIHdoZW4gd29ya2luZyB3aXRoIEREQiB0YWJsZXM6XG4gKiAgICsgICBDRk5sb25nIHR5cGljYWxseSBjcmVhdGVzIEREQiB0YWJsZXMgaW4gcGFyYWxsZWwuIEhvd2V2ZXIsIGlmIHlvdXIgdGVtcGxhdGUgaW5jbHVkZXMgbXVsdGlwbGUgRERCIHRhYmxlcyB3aXRoIGluZGV4ZXMsIHlvdSBtdXN0IGRlY2xhcmUgZGVwZW5kZW5jaWVzIHNvIHRoYXQgdGhlIHRhYmxlcyBhcmUgY3JlYXRlZCBzZXF1ZW50aWFsbHkuIEREQmxvbmcgbGltaXRzIHRoZSBudW1iZXIgb2YgdGFibGVzIHdpdGggc2Vjb25kYXJ5IGluZGV4ZXMgdGhhdCBhcmUgaW4gdGhlIGNyZWF0aW5nIHN0YXRlLiBJZiB5b3UgY3JlYXRlIG11bHRpcGxlIHRhYmxlcyB3aXRoIGluZGV4ZXMgYXQgdGhlIHNhbWUgdGltZSwgRERCIHJldHVybnMgYW4gZXJyb3IgYW5kIHRoZSBzdGFjayBvcGVyYXRpb24gZmFpbHMuIEZvciBhbiBleGFtcGxlLCBzZWUgW0R5bmFtb0RCIFRhYmxlIHdpdGggYSBEZXBlbmRzT24gQXR0cmlidXRlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZHluYW1vZGItdGFibGUuaHRtbCNhd3MtcmVzb3VyY2UtZHluYW1vZGItdGFibGUtLWV4YW1wbGVzLS1EeW5hbW9EQl9UYWJsZV93aXRoX2FfRGVwZW5kc09uX0F0dHJpYnV0ZSkuXG4gKiAgIFxuICogICAgT3VyIGd1aWRhbmNlIGlzIHRvIHVzZSB0aGUgbGF0ZXN0IHNjaGVtYSBkb2N1bWVudGVkIGZvciB5b3VyIENGTmxvbmcgdGVtcGxhdGVzLiBUaGlzIHNjaGVtYSBzdXBwb3J0cyB0aGUgcHJvdmlzaW9uaW5nIG9mIGFsbCB0YWJsZSBzZXR0aW5ncyBiZWxvdy4gV2hlbiB1c2luZyB0aGlzIHNjaGVtYSBpbiB5b3VyIENGTmxvbmcgdGVtcGxhdGVzLCBwbGVhc2UgZW5zdXJlIHRoYXQgeW91ciBJZGVudGl0eSBhbmQgQWNjZXNzIE1hbmFnZW1lbnQgKElBTSkgcG9saWNpZXMgYXJlIHVwZGF0ZWQgd2l0aCBhcHByb3ByaWF0ZSBwZXJtaXNzaW9ucyB0byBhbGxvdyBmb3IgdGhlIGF1dGhvcml6YXRpb24gb2YgdGhlc2Ugc2V0dGluZyBjaGFuZ2VzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIF9BV1NfRFlOQU1PREJfVEFCTEUge1xuT25EZW1hbmRUaHJvdWdocHV0PzogT25EZW1hbmRUaHJvdWdocHV0XG5TU0VTcGVjaWZpY2F0aW9uPzogU1NFU3BlY2lmaWNhdGlvblxuS2luZXNpc1N0cmVhbVNwZWNpZmljYXRpb24/OiBLaW5lc2lzU3RyZWFtU3BlY2lmaWNhdGlvblxuU3RyZWFtU3BlY2lmaWNhdGlvbj86IFN0cmVhbVNwZWNpZmljYXRpb25cbkNvbnRyaWJ1dG9ySW5zaWdodHNTcGVjaWZpY2F0aW9uPzogQ29udHJpYnV0b3JJbnNpZ2h0c1NwZWNpZmljYXRpb25cbkltcG9ydFNvdXJjZVNwZWNpZmljYXRpb24/OiBJbXBvcnRTb3VyY2VTcGVjaWZpY2F0aW9uXG5Qb2ludEluVGltZVJlY292ZXJ5U3BlY2lmaWNhdGlvbj86IFBvaW50SW5UaW1lUmVjb3ZlcnlTcGVjaWZpY2F0aW9uXG5Qcm92aXNpb25lZFRocm91Z2hwdXQ/OiBQcm92aXNpb25lZFRocm91Z2hwdXRcbldhcm1UaHJvdWdocHV0PzogV2FybVRocm91Z2hwdXRcbi8qKlxuICogQSBuYW1lIGZvciB0aGUgdGFibGUuIElmIHlvdSBkb24ndCBzcGVjaWZ5IGEgbmFtZSwgQ0ZObG9uZyBnZW5lcmF0ZXMgYSB1bmlxdWUgcGh5c2ljYWwgSUQgYW5kIHVzZXMgdGhhdCBJRCBmb3IgdGhlIHRhYmxlIG5hbWUuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW05hbWUgVHlwZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXByb3BlcnRpZXMtbmFtZS5odG1sKS5cbiAqICAgSWYgeW91IHNwZWNpZnkgYSBuYW1lLCB5b3UgY2Fubm90IHBlcmZvcm0gdXBkYXRlcyB0aGF0IHJlcXVpcmUgcmVwbGFjZW1lbnQgb2YgdGhpcyByZXNvdXJjZS4gWW91IGNhbiBwZXJmb3JtIHVwZGF0ZXMgdGhhdCByZXF1aXJlIG5vIG9yIHNvbWUgaW50ZXJydXB0aW9uLiBJZiB5b3UgbXVzdCByZXBsYWNlIHRoZSByZXNvdXJjZSwgc3BlY2lmeSBhIG5ldyBuYW1lLlxuICovXG5UYWJsZU5hbWU/OiBzdHJpbmdcbi8qKlxuICogQSBsaXN0IG9mIGF0dHJpYnV0ZXMgdGhhdCBkZXNjcmliZSB0aGUga2V5IHNjaGVtYSBmb3IgdGhlIHRhYmxlIGFuZCBpbmRleGVzLlxuICogIFRoaXMgcHJvcGVydHkgaXMgcmVxdWlyZWQgdG8gY3JlYXRlIGEgRERCIHRhYmxlLlxuICogIFVwZGF0ZSByZXF1aXJlczogW1NvbWUgaW50ZXJydXB0aW9uc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvdXNpbmctY2ZuLXVwZGF0aW5nLXN0YWNrcy11cGRhdGUtYmVoYXZpb3JzLmh0bWwjdXBkYXRlLXNvbWUtaW50ZXJydXB0KS4gUmVwbGFjZW1lbnQgaWYgeW91IGVkaXQgYW4gZXhpc3RpbmcgQXR0cmlidXRlRGVmaW5pdGlvbi5cbiAqL1xuQXR0cmlidXRlRGVmaW5pdGlvbnM/OiBBdHRyaWJ1dGVEZWZpbml0aW9uW11cbi8qKlxuICogU3BlY2lmeSBob3cgeW91IGFyZSBjaGFyZ2VkIGZvciByZWFkIGFuZCB3cml0ZSB0aHJvdWdocHV0IGFuZCBob3cgeW91IG1hbmFnZSBjYXBhY2l0eS5cbiAqICBWYWxpZCB2YWx1ZXMgaW5jbHVkZTpcbiAqICAgKyAgIGBgUFJPVklTSU9ORURgYCAtIFdlIHJlY29tbWVuZCB1c2luZyBgYFBST1ZJU0lPTkVEYGAgZm9yIHByZWRpY3RhYmxlIHdvcmtsb2Fkcy4gYGBQUk9WSVNJT05FRGBgIHNldHMgdGhlIGJpbGxpbmcgbW9kZSB0byBbUHJvdmlzaW9uZWQgTW9kZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FtYXpvbmR5bmFtb2RiL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9Ib3dJdFdvcmtzLlJlYWRXcml0ZUNhcGFjaXR5TW9kZS5odG1sI0hvd0l0V29ya3MuUHJvdmlzaW9uZWRUaHJvdWdocHV0Lk1hbnVhbCkuXG4gKiAgICsgICBgYFBBWV9QRVJfUkVRVUVTVGBgIC0gV2UgcmVjb21tZW5kIHVzaW5nIGBgUEFZX1BFUl9SRVFVRVNUYGAgZm9yIHVucHJlZGljdGFibGUgd29ya2xvYWRzLiBgYFBBWV9QRVJfUkVRVUVTVGBgIHNldHMgdGhlIGJpbGxpbmcgbW9kZSB0byBbT24tRGVtYW5kIE1vZGVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hbWF6b25keW5hbW9kYi9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvSG93SXRXb3Jrcy5SZWFkV3JpdGVDYXBhY2l0eU1vZGUuaHRtbCNIb3dJdFdvcmtzLk9uRGVtYW5kKS5cbiAqICAgXG4gKiAgSWYgbm90IHNwZWNpZmllZCwgdGhlIGRlZmF1bHQgaXMgYGBQUk9WSVNJT05FRGBgLlxuICovXG5CaWxsaW5nTW9kZT86IHN0cmluZ1xuLyoqXG4gKiBHbG9iYWwgc2Vjb25kYXJ5IGluZGV4ZXMgdG8gYmUgY3JlYXRlZCBvbiB0aGUgdGFibGUuIFlvdSBjYW4gY3JlYXRlIHVwIHRvIDIwIGdsb2JhbCBzZWNvbmRhcnkgaW5kZXhlcy5cbiAqICAgSWYgeW91IHVwZGF0ZSBhIHRhYmxlIHRvIGluY2x1ZGUgYSBuZXcgZ2xvYmFsIHNlY29uZGFyeSBpbmRleCwgQ0ZObG9uZyBpbml0aWF0ZXMgdGhlIGluZGV4IGNyZWF0aW9uIGFuZCB0aGVuIHByb2NlZWRzIHdpdGggdGhlIHN0YWNrIHVwZGF0ZS4gQ0ZObG9uZyBkb2Vzbid0IHdhaXQgZm9yIHRoZSBpbmRleCB0byBjb21wbGV0ZSBjcmVhdGlvbiBiZWNhdXNlIHRoZSBiYWNrZmlsbGluZyBwaGFzZSBjYW4gdGFrZSBhIGxvbmcgdGltZSwgZGVwZW5kaW5nIG9uIHRoZSBzaXplIG9mIHRoZSB0YWJsZS4gWW91IGNhbid0IHVzZSB0aGUgaW5kZXggb3IgdXBkYXRlIHRoZSB0YWJsZSB1bnRpbCB0aGUgaW5kZXgncyBzdGF0dXMgaXMgYGBBQ1RJVkVgYC4gWW91IGNhbiB0cmFjayBpdHMgc3RhdHVzIGJ5IHVzaW5nIHRoZSBEeW5hbW9EQiBbRGVzY3JpYmVUYWJsZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2NsaS9sYXRlc3QvcmVmZXJlbmNlL2R5bmFtb2RiL2Rlc2NyaWJlLXRhYmxlLmh0bWwpIGNvbW1hbmQuXG4gKiAgSWYgeW91IGFkZCBvciBkZWxldGUgYW4gaW5kZXggZHVyaW5nIGFuIHVwZGF0ZSwgd2UgcmVjb21tZW5kIHRoYXQgeW91IGRvbid0IHVwZGF0ZSBhbnkgb3RoZXIgcmVzb3VyY2VzLiBJZiB5b3VyIHN0YWNrIGZhaWxzIHRvIHVwZGF0ZSBhbmQgaXMgcm9sbGVkIGJhY2sgd2hpbGUgYWRkaW5nIGEgbmV3IGluZGV4LCB5b3UgbXVzdCBtYW51YWxseSBkZWxldGUgdGhlIGluZGV4LiBcbiAqICBVcGRhdGVzIGFyZSBub3Qgc3VwcG9ydGVkLiBUaGUgZm9sbG93aW5nIGFyZSBleGNlcHRpb25zOlxuICogICArICBJZiB5b3UgdXBkYXRlIGVpdGhlciB0aGUgY29udHJpYnV0b3IgaW5zaWdodHMgc3BlY2lmaWNhdGlvbiBvciB0aGUgcHJvdmlzaW9uZWQgdGhyb3VnaHB1dCB2YWx1ZXMgb2YgZ2xvYmFsIHNlY29uZGFyeSBpbmRleGVzLCB5b3UgY2FuIHVwZGF0ZSB0aGUgdGFibGUgd2l0aG91dCBpbnRlcnJ1cHRpb24uXG4gKiAgICsgIFlvdSBjYW4gZGVsZXRlIG9yIGFkZCBvbmUgZ2xvYmFsIHNlY29uZGFyeSBpbmRleCB3aXRob3V0IGludGVycnVwdGlvbi4gSWYgeW91IGRvIGJvdGggaW4gdGhlIHNhbWUgdXBkYXRlIChmb3IgZXhhbXBsZSwgYnkgY2hhbmdpbmcgdGhlIGluZGV4J3MgbG9naWNhbCBJRCksIHRoZSB1cGRhdGUgZmFpbHMuXG4gKi9cbkdsb2JhbFNlY29uZGFyeUluZGV4ZXM/OiBHbG9iYWxTZWNvbmRhcnlJbmRleFtdXG5SZXNvdXJjZVBvbGljeT86IFJlc291cmNlUG9saWN5MVxuLyoqXG4gKiBTcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgdGhhdCBtYWtlIHVwIHRoZSBwcmltYXJ5IGtleSBmb3IgdGhlIHRhYmxlLiBUaGUgYXR0cmlidXRlcyBpbiB0aGUgYGBLZXlTY2hlbWFgYCBwcm9wZXJ0eSBtdXN0IGFsc28gYmUgZGVmaW5lZCBpbiB0aGUgYGBBdHRyaWJ1dGVEZWZpbml0aW9uc2BgIHByb3BlcnR5LlxuICovXG5LZXlTY2hlbWE6IChLZXlTY2hlbWFbXSB8IHtcbltrOiBzdHJpbmddOiB1bmtub3duXG59KVxuLyoqXG4gKiBMb2NhbCBzZWNvbmRhcnkgaW5kZXhlcyB0byBiZSBjcmVhdGVkIG9uIHRoZSB0YWJsZS4gWW91IGNhbiBjcmVhdGUgdXAgdG8gNSBsb2NhbCBzZWNvbmRhcnkgaW5kZXhlcy4gRWFjaCBpbmRleCBpcyBzY29wZWQgdG8gYSBnaXZlbiBoYXNoIGtleSB2YWx1ZS4gVGhlIHNpemUgb2YgZWFjaCBoYXNoIGtleSBjYW4gYmUgdXAgdG8gMTAgZ2lnYWJ5dGVzLlxuICovXG5Mb2NhbFNlY29uZGFyeUluZGV4ZXM/OiBMb2NhbFNlY29uZGFyeUluZGV4W11cbkFybj86IHN0cmluZ1xuU3RyZWFtQXJuPzogc3RyaW5nXG4vKipcbiAqIERldGVybWluZXMgaWYgYSB0YWJsZSBpcyBwcm90ZWN0ZWQgZnJvbSBkZWxldGlvbi4gV2hlbiBlbmFibGVkLCB0aGUgdGFibGUgY2Fubm90IGJlIGRlbGV0ZWQgYnkgYW55IHVzZXIgb3IgcHJvY2Vzcy4gVGhpcyBzZXR0aW5nIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW1VzaW5nIGRlbGV0aW9uIHByb3RlY3Rpb25dKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hbWF6b25keW5hbW9kYi9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvV29ya2luZ1dpdGhUYWJsZXMuQmFzaWNzLmh0bWwjV29ya2luZ1dpdGhUYWJsZXMuQmFzaWNzLkRlbGV0aW9uUHJvdGVjdGlvbikgaW4gdGhlICpEZXZlbG9wZXIgR3VpZGUqLlxuICovXG5EZWxldGlvblByb3RlY3Rpb25FbmFibGVkPzogYm9vbGVhblxuLyoqXG4gKiBUaGUgdGFibGUgY2xhc3Mgb2YgdGhlIG5ldyB0YWJsZS4gVmFsaWQgdmFsdWVzIGFyZSBgYFNUQU5EQVJEYGAgYW5kIGBgU1RBTkRBUkRfSU5GUkVRVUVOVF9BQ0NFU1NgYC5cbiAqL1xuVGFibGVDbGFzcz86IHN0cmluZ1xuLyoqXG4gKiBBbiBhcnJheSBvZiBrZXktdmFsdWUgcGFpcnMgdG8gYXBwbHkgdG8gdGhpcyByZXNvdXJjZS5cbiAqICBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFtUYWddKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1wcm9wZXJ0aWVzLXJlc291cmNlLXRhZ3MuaHRtbCkuXG4gKi9cblRhZ3M/OiBUYWdbXVxuVGltZVRvTGl2ZVNwZWNpZmljYXRpb24/OiBUaW1lVG9MaXZlU3BlY2lmaWNhdGlvblxufVxuLyoqXG4gKiBTZXRzIHRoZSBtYXhpbXVtIG51bWJlciBvZiByZWFkIGFuZCB3cml0ZSB1bml0cyBmb3IgdGhlIHNwZWNpZmllZCBvbi1kZW1hbmQgdGFibGUuIElmIHlvdSB1c2UgdGhpcyBwcm9wZXJ0eSwgeW91IG11c3Qgc3BlY2lmeSBgYE1heFJlYWRSZXF1ZXN0VW5pdHNgYCwgYGBNYXhXcml0ZVJlcXVlc3RVbml0c2BgLCBvciBib3RoLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9uRGVtYW5kVGhyb3VnaHB1dCB7XG4vKipcbiAqIE1heGltdW0gbnVtYmVyIG9mIHJlYWQgcmVxdWVzdCB1bml0cyBmb3IgdGhlIHNwZWNpZmllZCB0YWJsZS5cbiAqICBUbyBzcGVjaWZ5IGEgbWF4aW11bSBgYE9uRGVtYW5kVGhyb3VnaHB1dGBgIG9uIHlvdXIgdGFibGUsIHNldCB0aGUgdmFsdWUgb2YgYGBNYXhSZWFkUmVxdWVzdFVuaXRzYGAgYXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEuIFRvIHJlbW92ZSB0aGUgbWF4aW11bSBgYE9uRGVtYW5kVGhyb3VnaHB1dGBgIHRoYXQgaXMgY3VycmVudGx5IHNldCBvbiB5b3VyIHRhYmxlLCBzZXQgdGhlIHZhbHVlIG9mIGBgTWF4UmVhZFJlcXVlc3RVbml0c2BgIHRvIC0xLlxuICovXG5NYXhSZWFkUmVxdWVzdFVuaXRzPzogbnVtYmVyXG4vKipcbiAqIE1heGltdW0gbnVtYmVyIG9mIHdyaXRlIHJlcXVlc3QgdW5pdHMgZm9yIHRoZSBzcGVjaWZpZWQgdGFibGUuXG4gKiAgVG8gc3BlY2lmeSBhIG1heGltdW0gYGBPbkRlbWFuZFRocm91Z2hwdXRgYCBvbiB5b3VyIHRhYmxlLCBzZXQgdGhlIHZhbHVlIG9mIGBgTWF4V3JpdGVSZXF1ZXN0VW5pdHNgYCBhcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMS4gVG8gcmVtb3ZlIHRoZSBtYXhpbXVtIGBgT25EZW1hbmRUaHJvdWdocHV0YGAgdGhhdCBpcyBjdXJyZW50bHkgc2V0IG9uIHlvdXIgdGFibGUsIHNldCB0aGUgdmFsdWUgb2YgYGBNYXhXcml0ZVJlcXVlc3RVbml0c2BgIHRvIC0xLlxuICovXG5NYXhXcml0ZVJlcXVlc3RVbml0cz86IG51bWJlclxufVxuLyoqXG4gKiBTcGVjaWZpZXMgdGhlIHNldHRpbmdzIHRvIGVuYWJsZSBzZXJ2ZXItc2lkZSBlbmNyeXB0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTRVNwZWNpZmljYXRpb24ge1xuLyoqXG4gKiBJbmRpY2F0ZXMgd2hldGhlciBzZXJ2ZXItc2lkZSBlbmNyeXB0aW9uIGlzIGRvbmUgdXNpbmcgYW4gQVdTIG1hbmFnZWQga2V5IG9yIGFuIEFXUyBvd25lZCBrZXkuIElmIGVuYWJsZWQgKHRydWUpLCBzZXJ2ZXItc2lkZSBlbmNyeXB0aW9uIHR5cGUgaXMgc2V0IHRvIGBgS01TYGAgYW5kIGFuIEFXUyBtYW5hZ2VkIGtleSBpcyB1c2VkIChLTVMgY2hhcmdlcyBhcHBseSkuIElmIGRpc2FibGVkIChmYWxzZSkgb3Igbm90IHNwZWNpZmllZCwgc2VydmVyLXNpZGUgZW5jcnlwdGlvbiBpcyBzZXQgdG8gQVdTIG93bmVkIGtleS5cbiAqL1xuU1NFRW5hYmxlZDogYm9vbGVhblxuLyoqXG4gKiBTZXJ2ZXItc2lkZSBlbmNyeXB0aW9uIHR5cGUuIFRoZSBvbmx5IHN1cHBvcnRlZCB2YWx1ZSBpczpcbiAqICAgKyAgIGBgS01TYGAgLSBTZXJ2ZXItc2lkZSBlbmNyeXB0aW9uIHRoYXQgdXNlcyBLTVNsb25nLiBUaGUga2V5IGlzIHN0b3JlZCBpbiB5b3VyIGFjY291bnQgYW5kIGlzIG1hbmFnZWQgYnkgS01TIChLTVMgY2hhcmdlcyBhcHBseSkuXG4gKi9cblNTRVR5cGU/OiBzdHJpbmdcbi8qKlxuICogVGhlIEtNUyBrZXkgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIEtNUyBlbmNyeXB0aW9uLiBUbyBzcGVjaWZ5IGEga2V5LCB1c2UgaXRzIGtleSBJRCwgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTiksIGFsaWFzIG5hbWUsIG9yIGFsaWFzIEFSTi4gTm90ZSB0aGF0IHlvdSBzaG91bGQgb25seSBwcm92aWRlIHRoaXMgcGFyYW1ldGVyIGlmIHRoZSBrZXkgaXMgZGlmZmVyZW50IGZyb20gdGhlIGRlZmF1bHQgRHluYW1vREIga2V5IGBgYWxpYXMvYXdzL2R5bmFtb2RiYGAuXG4gKi9cbktNU01hc3RlcktleUlkPzogKHtcbltrOiBzdHJpbmddOiB1bmtub3duXG59ICYgc3RyaW5nKVxufVxuLyoqXG4gKiBUaGUgS2luZXNpcyBEYXRhIFN0cmVhbXMgY29uZmlndXJhdGlvbiBmb3IgdGhlIHNwZWNpZmllZCB0YWJsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLaW5lc2lzU3RyZWFtU3BlY2lmaWNhdGlvbiB7XG4vKipcbiAqIFRoZSBwcmVjaXNpb24gZm9yIHRoZSB0aW1lIGFuZCBkYXRlIHRoYXQgdGhlIHN0cmVhbSB3YXMgY3JlYXRlZC5cbiAqL1xuQXBwcm94aW1hdGVDcmVhdGlvbkRhdGVUaW1lUHJlY2lzaW9uPzogKFwiTUlDUk9TRUNPTkRcIiB8IFwiTUlMTElTRUNPTkRcIilcbi8qKlxuICogVGhlIEFSTiBmb3IgYSBzcGVjaWZpYyBLaW5lc2lzIGRhdGEgc3RyZWFtLlxuICogIExlbmd0aCBDb25zdHJhaW50czogTWluaW11bSBsZW5ndGggb2YgMzcuIE1heGltdW0gbGVuZ3RoIG9mIDEwMjQuXG4gKi9cblN0cmVhbUFybjogc3RyaW5nXG59XG4vKipcbiAqIFRoZSBzZXR0aW5ncyBmb3IgdGhlIEREQiB0YWJsZSBzdHJlYW0sIHdoaWNoIGNhcHR1cmUgY2hhbmdlcyB0byBpdGVtcyBzdG9yZWQgaW4gdGhlIHRhYmxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0cmVhbVNwZWNpZmljYXRpb24ge1xuLyoqXG4gKiBXaGVuIGFuIGl0ZW0gaW4gdGhlIHRhYmxlIGlzIG1vZGlmaWVkLCBgYFN0cmVhbVZpZXdUeXBlYGAgZGV0ZXJtaW5lcyB3aGF0IGluZm9ybWF0aW9uIGlzIHdyaXR0ZW4gdG8gdGhlIHN0cmVhbSBmb3IgdGhpcyB0YWJsZS4gVmFsaWQgdmFsdWVzIGZvciBgYFN0cmVhbVZpZXdUeXBlYGAgYXJlOlxuICogICArICAgYGBLRVlTX09OTFlgYCAtIE9ubHkgdGhlIGtleSBhdHRyaWJ1dGVzIG9mIHRoZSBtb2RpZmllZCBpdGVtIGFyZSB3cml0dGVuIHRvIHRoZSBzdHJlYW0uXG4gKiAgICsgICBgYE5FV19JTUFHRWBgIC0gVGhlIGVudGlyZSBpdGVtLCBhcyBpdCBhcHBlYXJzIGFmdGVyIGl0IHdhcyBtb2RpZmllZCwgaXMgd3JpdHRlbiB0byB0aGUgc3RyZWFtLlxuICogICArICAgYGBPTERfSU1BR0VgYCAtIFRoZSBlbnRpcmUgaXRlbSwgYXMgaXQgYXBwZWFyZWQgYmVmb3JlIGl0IHdhcyBtb2RpZmllZCwgaXMgd3JpdHRlbiB0byB0aGUgc3RyZWFtLlxuICogICArICAgYGBORVdfQU5EX09MRF9JTUFHRVNgYCAtIEJvdGggdGhlIG5ldyBhbmQgdGhlIG9sZCBpdGVtIGltYWdlcyBvZiB0aGUgaXRlbSBhcmUgd3JpdHRlbiB0byB0aGUgc3RyZWFtLlxuICovXG5TdHJlYW1WaWV3VHlwZTogc3RyaW5nXG5SZXNvdXJjZVBvbGljeT86IFJlc291cmNlUG9saWN5XG59XG4vKipcbiAqIENyZWF0ZXMgb3IgdXBkYXRlcyBhIHJlc291cmNlLWJhc2VkIHBvbGljeSBkb2N1bWVudCB0aGF0IGNvbnRhaW5zIHRoZSBwZXJtaXNzaW9ucyBmb3IgRERCIHJlc291cmNlcywgc3VjaCBhcyBhIHRhYmxlJ3Mgc3RyZWFtcy4gUmVzb3VyY2UtYmFzZWQgcG9saWNpZXMgbGV0IHlvdSBkZWZpbmUgYWNjZXNzIHBlcm1pc3Npb25zIGJ5IHNwZWNpZnlpbmcgd2hvIGhhcyBhY2Nlc3MgdG8gZWFjaCByZXNvdXJjZSwgYW5kIHRoZSBhY3Rpb25zIHRoZXkgYXJlIGFsbG93ZWQgdG8gcGVyZm9ybSBvbiBlYWNoIHJlc291cmNlLlxuICogIEluIGEgQ0ZOc2hvcnQgdGVtcGxhdGUsIHlvdSBjYW4gcHJvdmlkZSB0aGUgcG9saWN5IGluIEpTT04gb3IgWUFNTCBmb3JtYXQgYmVjYXVzZSBDRk5zaG9ydCBjb252ZXJ0cyBZQU1MIHRvIEpTT04gYmVmb3JlIHN1Ym1pdHRpbmcgaXQgdG8gRERCLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCByZXNvdXJjZS1iYXNlZCBwb2xpY2llcywgc2VlIFtVc2luZyByZXNvdXJjZS1iYXNlZCBwb2xpY2llcyBmb3JdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hbWF6b25keW5hbW9kYi9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvYWNjZXNzLWNvbnRyb2wtcmVzb3VyY2UtYmFzZWQuaHRtbCkgYW5kIFtSZXNvdXJjZS1iYXNlZCBwb2xpY3kgZXhhbXBsZXNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hbWF6b25keW5hbW9kYi9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvcmJhYy1leGFtcGxlcy5odG1sKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZVBvbGljeSB7XG4vKipcbiAqIEEgcmVzb3VyY2UtYmFzZWQgcG9saWN5IGRvY3VtZW50IHRoYXQgY29udGFpbnMgcGVybWlzc2lvbnMgdG8gYWRkIHRvIHRoZSBzcGVjaWZpZWQgRERCIHRhYmxlLCBpbmRleCwgb3IgYm90aC4gSW4gYSBDRk5zaG9ydCB0ZW1wbGF0ZSwgeW91IGNhbiBwcm92aWRlIHRoZSBwb2xpY3kgaW4gSlNPTiBvciBZQU1MIGZvcm1hdCBiZWNhdXNlIENGTnNob3J0IGNvbnZlcnRzIFlBTUwgdG8gSlNPTiBiZWZvcmUgc3VibWl0dGluZyBpdCB0byBEREIuIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHJlc291cmNlLWJhc2VkIHBvbGljaWVzLCBzZWUgW1VzaW5nIHJlc291cmNlLWJhc2VkIHBvbGljaWVzIGZvcl0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FtYXpvbmR5bmFtb2RiL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9hY2Nlc3MtY29udHJvbC1yZXNvdXJjZS1iYXNlZC5odG1sKSBhbmQgW1Jlc291cmNlLWJhc2VkIHBvbGljeSBleGFtcGxlc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FtYXpvbmR5bmFtb2RiL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9yYmFjLWV4YW1wbGVzLmh0bWwpLlxuICovXG5Qb2xpY3lEb2N1bWVudDoge1xuW2s6IHN0cmluZ106IHVua25vd25cbn1cbn1cbi8qKlxuICogVGhlIHNldHRpbmdzIHVzZWQgdG8gZW5hYmxlIG9yIGRpc2FibGUgQ2xvdWRXYXRjaCBDb250cmlidXRvciBJbnNpZ2h0cyBmb3IgdGhlIHNwZWNpZmllZCB0YWJsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb250cmlidXRvckluc2lnaHRzU3BlY2lmaWNhdGlvbiB7XG4vKipcbiAqIEluZGljYXRlcyB3aGV0aGVyIENsb3VkV2F0Y2ggQ29udHJpYnV0b3IgSW5zaWdodHMgYXJlIHRvIGJlIGVuYWJsZWQgKHRydWUpIG9yIGRpc2FibGVkIChmYWxzZSkuXG4gKi9cbkVuYWJsZWQ6IGJvb2xlYW5cbn1cbi8qKlxuICogU3BlY2lmaWVzIHRoZSBwcm9wZXJ0aWVzIG9mIGRhdGEgYmVpbmcgaW1wb3J0ZWQgZnJvbSB0aGUgUzMgYnVja2V0IHNvdXJjZSB0byB0aGVcIiB0YWJsZS5cbiAqICAgSWYgeW91IHNwZWNpZnkgdGhlIGBgSW1wb3J0U291cmNlU3BlY2lmaWNhdGlvbmBgIHByb3BlcnR5LCBhbmQgYWxzbyBzcGVjaWZ5IGVpdGhlciB0aGUgYGBTdHJlYW1TcGVjaWZpY2F0aW9uYGAsIHRoZSBgYFRhYmxlQ2xhc3NgYCBwcm9wZXJ0eSwgdGhlIGBgRGVsZXRpb25Qcm90ZWN0aW9uRW5hYmxlZGBgIHByb3BlcnR5LCBvciB0aGUgYGBXYXJtVGhyb3VnaHB1dGBgIHByb3BlcnR5LCB0aGUgSUFNIGVudGl0eSBjcmVhdGluZy91cGRhdGluZyBzdGFjayBtdXN0IGhhdmUgYGBVcGRhdGVUYWJsZWBgIHBlcm1pc3Npb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW1wb3J0U291cmNlU3BlY2lmaWNhdGlvbiB7XG5TM0J1Y2tldFNvdXJjZTogUzNCdWNrZXRTb3VyY2Vcbi8qKlxuICogVGhlIGZvcm1hdCBvZiB0aGUgc291cmNlIGRhdGEuIFZhbGlkIHZhbHVlcyBmb3IgYGBJbXBvcnRGb3JtYXRgYCBhcmUgYGBDU1ZgYCwgYGBEWU5BTU9EQl9KU09OYGAgb3IgYGBJT05gYC5cbiAqL1xuSW5wdXRGb3JtYXQ6IHN0cmluZ1xuSW5wdXRGb3JtYXRPcHRpb25zPzogSW5wdXRGb3JtYXRPcHRpb25zXG4vKipcbiAqIFR5cGUgb2YgY29tcHJlc3Npb24gdG8gYmUgdXNlZCBvbiB0aGUgaW5wdXQgY29taW5nIGZyb20gdGhlIGltcG9ydGVkIHRhYmxlLlxuICovXG5JbnB1dENvbXByZXNzaW9uVHlwZT86IHN0cmluZ1xufVxuLyoqXG4gKiBUaGUgUzMgYnVja2V0IHRoYXQgcHJvdmlkZXMgdGhlIHNvdXJjZSBmb3IgdGhlIGltcG9ydC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTM0J1Y2tldFNvdXJjZSB7XG4vKipcbiAqIFRoZSBTMyBidWNrZXQgdGhhdCBpcyBiZWluZyBpbXBvcnRlZCBmcm9tLlxuICovXG5TM0J1Y2tldDogc3RyaW5nXG4vKipcbiAqIFRoZSBrZXkgcHJlZml4IHNoYXJlZCBieSBhbGwgUzMgT2JqZWN0cyB0aGF0IGFyZSBiZWluZyBpbXBvcnRlZC5cbiAqL1xuUzNLZXlQcmVmaXg/OiBzdHJpbmdcbi8qKlxuICogVGhlIGFjY291bnQgbnVtYmVyIG9mIHRoZSBTMyBidWNrZXQgdGhhdCBpcyBiZWluZyBpbXBvcnRlZCBmcm9tLiBJZiB0aGUgYnVja2V0IGlzIG93bmVkIGJ5IHRoZSByZXF1ZXN0ZXIgdGhpcyBpcyBvcHRpb25hbC5cbiAqL1xuUzNCdWNrZXRPd25lcj86IHN0cmluZ1xufVxuLyoqXG4gKiBBZGRpdGlvbmFsIHByb3BlcnRpZXMgdGhhdCBzcGVjaWZ5IGhvdyB0aGUgaW5wdXQgaXMgZm9ybWF0dGVkLFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElucHV0Rm9ybWF0T3B0aW9ucyB7XG5Dc3Y/OiBDc3Zcbn1cbi8qKlxuICogVGhlIG9wdGlvbnMgZm9yIGltcG9ydGVkIHNvdXJjZSBmaWxlcyBpbiBDU1YgZm9ybWF0LiBUaGUgdmFsdWVzIGFyZSBEZWxpbWl0ZXIgYW5kIEhlYWRlckxpc3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3N2IHtcbi8qKlxuICogVGhlIGRlbGltaXRlciB1c2VkIGZvciBzZXBhcmF0aW5nIGl0ZW1zIGluIHRoZSBDU1YgZmlsZSBiZWluZyBpbXBvcnRlZC5cbiAqL1xuRGVsaW1pdGVyPzogc3RyaW5nXG4vKipcbiAqIExpc3Qgb2YgdGhlIGhlYWRlcnMgdXNlZCB0byBzcGVjaWZ5IGEgY29tbW9uIGhlYWRlciBmb3IgYWxsIHNvdXJjZSBDU1YgZmlsZXMgYmVpbmcgaW1wb3J0ZWQuIElmIHRoaXMgZmllbGQgaXMgc3BlY2lmaWVkIHRoZW4gdGhlIGZpcnN0IGxpbmUgb2YgZWFjaCBDU1YgZmlsZSBpcyB0cmVhdGVkIGFzIGRhdGEgaW5zdGVhZCBvZiB0aGUgaGVhZGVyLiBJZiB0aGlzIGZpZWxkIGlzIG5vdCBzcGVjaWZpZWQgdGhlIHRoZSBmaXJzdCBsaW5lIG9mIGVhY2ggQ1NWIGZpbGUgaXMgdHJlYXRlZCBhcyB0aGUgaGVhZGVyLlxuICovXG5IZWFkZXJMaXN0Pzogc3RyaW5nW11cbn1cbi8qKlxuICogVGhlIHNldHRpbmdzIHVzZWQgdG8gZW5hYmxlIHBvaW50IGluIHRpbWUgcmVjb3ZlcnkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9pbnRJblRpbWVSZWNvdmVyeVNwZWNpZmljYXRpb24ge1xuLyoqXG4gKiBJbmRpY2F0ZXMgd2hldGhlciBwb2ludCBpbiB0aW1lIHJlY292ZXJ5IGlzIGVuYWJsZWQgKHRydWUpIG9yIGRpc2FibGVkIChmYWxzZSkgb24gdGhlIHRhYmxlLlxuICovXG5Qb2ludEluVGltZVJlY292ZXJ5RW5hYmxlZD86IGJvb2xlYW5cbn1cbi8qKlxuICogVGhyb3VnaHB1dCBmb3IgdGhlIHNwZWNpZmllZCB0YWJsZSwgd2hpY2ggY29uc2lzdHMgb2YgdmFsdWVzIGZvciBgYFJlYWRDYXBhY2l0eVVuaXRzYGAgYW5kIGBgV3JpdGVDYXBhY2l0eVVuaXRzYGAuIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjb250ZW50cyBvZiBhIHByb3Zpc2lvbmVkIHRocm91Z2hwdXQgc3RydWN0dXJlLCBzZWUgW0FtYXpvbiBEeW5hbW9EQiBUYWJsZSBQcm92aXNpb25lZFRocm91Z2hwdXRdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hbWF6b25keW5hbW9kYi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9Qcm92aXNpb25lZFRocm91Z2hwdXQuaHRtbCkuIFxuICogIElmIHlvdSBzZXQgYGBCaWxsaW5nTW9kZWBgIGFzIGBgUFJPVklTSU9ORURgYCwgeW91IG11c3Qgc3BlY2lmeSB0aGlzIHByb3BlcnR5LiBJZiB5b3Ugc2V0IGBgQmlsbGluZ01vZGVgYCBhcyBgYFBBWV9QRVJfUkVRVUVTVGBgLCB5b3UgY2Fubm90IHNwZWNpZnkgdGhpcyBwcm9wZXJ0eS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm92aXNpb25lZFRocm91Z2hwdXQge1xuLyoqXG4gKiBUaGUgbWF4aW11bSBudW1iZXIgb2Ygd3JpdGVzIGNvbnN1bWVkIHBlciBzZWNvbmQgYmVmb3JlIER5bmFtb0RCIHJldHVybnMgYSBgYFRocm90dGxpbmdFeGNlcHRpb25gYC4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBbU3BlY2lmeWluZyBSZWFkIGFuZCBXcml0ZSBSZXF1aXJlbWVudHNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hbWF6b25keW5hbW9kYi9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvUHJvdmlzaW9uZWRUaHJvdWdocHV0Lmh0bWwpIGluIHRoZSAqQW1hem9uIER5bmFtb0RCIERldmVsb3BlciBHdWlkZSouXG4gKiAgSWYgcmVhZC93cml0ZSBjYXBhY2l0eSBtb2RlIGlzIGBgUEFZX1BFUl9SRVFVRVNUYGAgdGhlIHZhbHVlIGlzIHNldCB0byAwLlxuICovXG5Xcml0ZUNhcGFjaXR5VW5pdHM6IG51bWJlclxuLyoqXG4gKiBUaGUgbWF4aW11bSBudW1iZXIgb2Ygc3Ryb25nbHkgY29uc2lzdGVudCByZWFkcyBjb25zdW1lZCBwZXIgc2Vjb25kIGJlZm9yZSBEeW5hbW9EQiByZXR1cm5zIGEgYGBUaHJvdHRsaW5nRXhjZXB0aW9uYGAuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW1NwZWNpZnlpbmcgUmVhZCBhbmQgV3JpdGUgUmVxdWlyZW1lbnRzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYW1hem9uZHluYW1vZGIvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL1Byb3Zpc2lvbmVkVGhyb3VnaHB1dC5odG1sKSBpbiB0aGUgKkFtYXpvbiBEeW5hbW9EQiBEZXZlbG9wZXIgR3VpZGUqLlxuICogIElmIHJlYWQvd3JpdGUgY2FwYWNpdHkgbW9kZSBpcyBgYFBBWV9QRVJfUkVRVUVTVGBgIHRoZSB2YWx1ZSBpcyBzZXQgdG8gMC5cbiAqL1xuUmVhZENhcGFjaXR5VW5pdHM6IG51bWJlclxufVxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIGF0dHJpYnV0ZSBmb3IgZGVzY3JpYmluZyB0aGUgc2NoZW1hIGZvciB0aGUgdGFibGUgYW5kIGluZGV4ZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXR0cmlidXRlRGVmaW5pdGlvbiB7XG4vKipcbiAqIFRoZSBkYXRhIHR5cGUgZm9yIHRoZSBhdHRyaWJ1dGUsIHdoZXJlOlxuICogICArICAgYGBTYGAgLSB0aGUgYXR0cmlidXRlIGlzIG9mIHR5cGUgU3RyaW5nXG4gKiAgICsgICBgYE5gYCAtIHRoZSBhdHRyaWJ1dGUgaXMgb2YgdHlwZSBOdW1iZXJcbiAqICAgKyAgIGBgQmBgIC0gdGhlIGF0dHJpYnV0ZSBpcyBvZiB0eXBlIEJpbmFyeVxuICovXG5BdHRyaWJ1dGVUeXBlOiBzdHJpbmdcbi8qKlxuICogQSBuYW1lIGZvciB0aGUgYXR0cmlidXRlLlxuICovXG5BdHRyaWJ1dGVOYW1lOiBzdHJpbmdcbn1cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgcHJvcGVydGllcyBvZiBhIGdsb2JhbCBzZWNvbmRhcnkgaW5kZXguXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsU2Vjb25kYXJ5SW5kZXgge1xuLyoqXG4gKiBUaGUgbmFtZSBvZiB0aGUgZ2xvYmFsIHNlY29uZGFyeSBpbmRleC4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgYW1vbmcgYWxsIG90aGVyIGluZGV4ZXMgb24gdGhpcyB0YWJsZS5cbiAqL1xuSW5kZXhOYW1lOiBzdHJpbmdcbk9uRGVtYW5kVGhyb3VnaHB1dD86IE9uRGVtYW5kVGhyb3VnaHB1dDFcbkNvbnRyaWJ1dG9ySW5zaWdodHNTcGVjaWZpY2F0aW9uPzogQ29udHJpYnV0b3JJbnNpZ2h0c1NwZWNpZmljYXRpb24xXG5Qcm9qZWN0aW9uOiBQcm9qZWN0aW9uXG5Qcm92aXNpb25lZFRocm91Z2hwdXQ/OiBQcm92aXNpb25lZFRocm91Z2hwdXQxXG4vKipcbiAqIFRoZSBjb21wbGV0ZSBrZXkgc2NoZW1hIGZvciBhIGdsb2JhbCBzZWNvbmRhcnkgaW5kZXgsIHdoaWNoIGNvbnNpc3RzIG9mIG9uZSBvciBtb3JlIHBhaXJzIG9mIGF0dHJpYnV0ZSBuYW1lcyBhbmQga2V5IHR5cGVzOlxuICogICArICAgYGBIQVNIYGAgLSBwYXJ0aXRpb24ga2V5XG4gKiAgICsgICBgYFJBTkdFYGAgLSBzb3J0IGtleVxuICogICBcbiAqICAgVGhlIHBhcnRpdGlvbiBrZXkgb2YgYW4gaXRlbSBpcyBhbHNvIGtub3duIGFzIGl0cyAqaGFzaCBhdHRyaWJ1dGUqLiBUaGUgdGVybSBcImhhc2ggYXR0cmlidXRlXCIgZGVyaXZlcyBmcm9tIER5bmFtb0RCJ3MgdXNhZ2Ugb2YgYW4gaW50ZXJuYWwgaGFzaCBmdW5jdGlvbiB0byBldmVubHkgZGlzdHJpYnV0ZSBkYXRhIGl0ZW1zIGFjcm9zcyBwYXJ0aXRpb25zLCBiYXNlZCBvbiB0aGVpciBwYXJ0aXRpb24ga2V5IHZhbHVlcy5cbiAqICBUaGUgc29ydCBrZXkgb2YgYW4gaXRlbSBpcyBhbHNvIGtub3duIGFzIGl0cyAqcmFuZ2UgYXR0cmlidXRlKi4gVGhlIHRlcm0gXCJyYW5nZSBhdHRyaWJ1dGVcIiBkZXJpdmVzIGZyb20gdGhlIHdheSBEeW5hbW9EQiBzdG9yZXMgaXRlbXMgd2l0aCB0aGUgc2FtZSBwYXJ0aXRpb24ga2V5IHBoeXNpY2FsbHkgY2xvc2UgdG9nZXRoZXIsIGluIHNvcnRlZCBvcmRlciBieSB0aGUgc29ydCBrZXkgdmFsdWUuXG4gKi9cbktleVNjaGVtYTogS2V5U2NoZW1hW11cbldhcm1UaHJvdWdocHV0PzogV2FybVRocm91Z2hwdXQxXG59XG4vKipcbiAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiByZWFkIGFuZCB3cml0ZSB1bml0cyBmb3IgdGhlIHNwZWNpZmllZCBnbG9iYWwgc2Vjb25kYXJ5IGluZGV4LiBJZiB5b3UgdXNlIHRoaXMgcGFyYW1ldGVyLCB5b3UgbXVzdCBzcGVjaWZ5IGBgTWF4UmVhZFJlcXVlc3RVbml0c2BgLCBgYE1heFdyaXRlUmVxdWVzdFVuaXRzYGAsIG9yIGJvdGguXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT25EZW1hbmRUaHJvdWdocHV0MSB7XG4vKipcbiAqIE1heGltdW0gbnVtYmVyIG9mIHJlYWQgcmVxdWVzdCB1bml0cyBmb3IgdGhlIHNwZWNpZmllZCB0YWJsZS5cbiAqICBUbyBzcGVjaWZ5IGEgbWF4aW11bSBgYE9uRGVtYW5kVGhyb3VnaHB1dGBgIG9uIHlvdXIgdGFibGUsIHNldCB0aGUgdmFsdWUgb2YgYGBNYXhSZWFkUmVxdWVzdFVuaXRzYGAgYXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEuIFRvIHJlbW92ZSB0aGUgbWF4aW11bSBgYE9uRGVtYW5kVGhyb3VnaHB1dGBgIHRoYXQgaXMgY3VycmVudGx5IHNldCBvbiB5b3VyIHRhYmxlLCBzZXQgdGhlIHZhbHVlIG9mIGBgTWF4UmVhZFJlcXVlc3RVbml0c2BgIHRvIC0xLlxuICovXG5NYXhSZWFkUmVxdWVzdFVuaXRzPzogbnVtYmVyXG4vKipcbiAqIE1heGltdW0gbnVtYmVyIG9mIHdyaXRlIHJlcXVlc3QgdW5pdHMgZm9yIHRoZSBzcGVjaWZpZWQgdGFibGUuXG4gKiAgVG8gc3BlY2lmeSBhIG1heGltdW0gYGBPbkRlbWFuZFRocm91Z2hwdXRgYCBvbiB5b3VyIHRhYmxlLCBzZXQgdGhlIHZhbHVlIG9mIGBgTWF4V3JpdGVSZXF1ZXN0VW5pdHNgYCBhcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMS4gVG8gcmVtb3ZlIHRoZSBtYXhpbXVtIGBgT25EZW1hbmRUaHJvdWdocHV0YGAgdGhhdCBpcyBjdXJyZW50bHkgc2V0IG9uIHlvdXIgdGFibGUsIHNldCB0aGUgdmFsdWUgb2YgYGBNYXhXcml0ZVJlcXVlc3RVbml0c2BgIHRvIC0xLlxuICovXG5NYXhXcml0ZVJlcXVlc3RVbml0cz86IG51bWJlclxufVxuLyoqXG4gKiBUaGUgc2V0dGluZ3MgdXNlZCB0byBlbmFibGUgb3IgZGlzYWJsZSBDbG91ZFdhdGNoIENvbnRyaWJ1dG9yIEluc2lnaHRzIGZvciB0aGUgc3BlY2lmaWVkIGdsb2JhbCBzZWNvbmRhcnkgaW5kZXguXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29udHJpYnV0b3JJbnNpZ2h0c1NwZWNpZmljYXRpb24xIHtcbi8qKlxuICogSW5kaWNhdGVzIHdoZXRoZXIgQ2xvdWRXYXRjaCBDb250cmlidXRvciBJbnNpZ2h0cyBhcmUgdG8gYmUgZW5hYmxlZCAodHJ1ZSkgb3IgZGlzYWJsZWQgKGZhbHNlKS5cbiAqL1xuRW5hYmxlZDogYm9vbGVhblxufVxuLyoqXG4gKiBSZXByZXNlbnRzIGF0dHJpYnV0ZXMgdGhhdCBhcmUgY29waWVkIChwcm9qZWN0ZWQpIGZyb20gdGhlIHRhYmxlIGludG8gdGhlIGdsb2JhbCBzZWNvbmRhcnkgaW5kZXguIFRoZXNlIGFyZSBpbiBhZGRpdGlvbiB0byB0aGUgcHJpbWFyeSBrZXkgYXR0cmlidXRlcyBhbmQgaW5kZXgga2V5IGF0dHJpYnV0ZXMsIHdoaWNoIGFyZSBhdXRvbWF0aWNhbGx5IHByb2plY3RlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9qZWN0aW9uIHtcbi8qKlxuICogUmVwcmVzZW50cyB0aGUgbm9uLWtleSBhdHRyaWJ1dGUgbmFtZXMgd2hpY2ggd2lsbCBiZSBwcm9qZWN0ZWQgaW50byB0aGUgaW5kZXguXG4gKiAgRm9yIGxvY2FsIHNlY29uZGFyeSBpbmRleGVzLCB0aGUgdG90YWwgY291bnQgb2YgYGBOb25LZXlBdHRyaWJ1dGVzYGAgc3VtbWVkIGFjcm9zcyBhbGwgb2YgdGhlIGxvY2FsIHNlY29uZGFyeSBpbmRleGVzLCBtdXN0IG5vdCBleGNlZWQgMTAwLiBJZiB5b3UgcHJvamVjdCB0aGUgc2FtZSBhdHRyaWJ1dGUgaW50byB0d28gZGlmZmVyZW50IGluZGV4ZXMsIHRoaXMgY291bnRzIGFzIHR3byBkaXN0aW5jdCBhdHRyaWJ1dGVzIHdoZW4gZGV0ZXJtaW5pbmcgdGhlIHRvdGFsLlxuICovXG5Ob25LZXlBdHRyaWJ1dGVzPzogc3RyaW5nW11cbi8qKlxuICogVGhlIHNldCBvZiBhdHRyaWJ1dGVzIHRoYXQgYXJlIHByb2plY3RlZCBpbnRvIHRoZSBpbmRleDpcbiAqICAgKyAgIGBgS0VZU19PTkxZYGAgLSBPbmx5IHRoZSBpbmRleCBhbmQgcHJpbWFyeSBrZXlzIGFyZSBwcm9qZWN0ZWQgaW50byB0aGUgaW5kZXguXG4gKiAgICsgICBgYElOQ0xVREVgYCAtIEluIGFkZGl0aW9uIHRvIHRoZSBhdHRyaWJ1dGVzIGRlc2NyaWJlZCBpbiBgYEtFWVNfT05MWWBgLCB0aGUgc2Vjb25kYXJ5IGluZGV4IHdpbGwgaW5jbHVkZSBvdGhlciBub24ta2V5IGF0dHJpYnV0ZXMgdGhhdCB5b3Ugc3BlY2lmeS5cbiAqICAgKyAgIGBgQUxMYGAgLSBBbGwgb2YgdGhlIHRhYmxlIGF0dHJpYnV0ZXMgYXJlIHByb2plY3RlZCBpbnRvIHRoZSBpbmRleC5cbiAqICAgXG4gKiAgV2hlbiB1c2luZyB0aGUgRHluYW1vREIgY29uc29sZSwgYGBBTExgYCBpcyBzZWxlY3RlZCBieSBkZWZhdWx0LlxuICovXG5Qcm9qZWN0aW9uVHlwZT86IHN0cmluZ1xufVxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBwcm92aXNpb25lZCB0aHJvdWdocHV0IHNldHRpbmdzIGZvciB0aGUgc3BlY2lmaWVkIGdsb2JhbCBzZWNvbmRhcnkgaW5kZXguXG4gKiAgRm9yIGN1cnJlbnQgbWluaW11bSBhbmQgbWF4aW11bSBwcm92aXNpb25lZCB0aHJvdWdocHV0IHZhbHVlcywgc2VlIFtTZXJ2aWNlLCBBY2NvdW50LCBhbmQgVGFibGUgUXVvdGFzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYW1hem9uZHluYW1vZGIvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL0xpbWl0cy5odG1sKSBpbiB0aGUgKkFtYXpvbiBEeW5hbW9EQiBEZXZlbG9wZXIgR3VpZGUqLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb3Zpc2lvbmVkVGhyb3VnaHB1dDEge1xuLyoqXG4gKiBUaGUgbWF4aW11bSBudW1iZXIgb2Ygd3JpdGVzIGNvbnN1bWVkIHBlciBzZWNvbmQgYmVmb3JlIER5bmFtb0RCIHJldHVybnMgYSBgYFRocm90dGxpbmdFeGNlcHRpb25gYC4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBbU3BlY2lmeWluZyBSZWFkIGFuZCBXcml0ZSBSZXF1aXJlbWVudHNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hbWF6b25keW5hbW9kYi9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvUHJvdmlzaW9uZWRUaHJvdWdocHV0Lmh0bWwpIGluIHRoZSAqQW1hem9uIER5bmFtb0RCIERldmVsb3BlciBHdWlkZSouXG4gKiAgSWYgcmVhZC93cml0ZSBjYXBhY2l0eSBtb2RlIGlzIGBgUEFZX1BFUl9SRVFVRVNUYGAgdGhlIHZhbHVlIGlzIHNldCB0byAwLlxuICovXG5Xcml0ZUNhcGFjaXR5VW5pdHM6IG51bWJlclxuLyoqXG4gKiBUaGUgbWF4aW11bSBudW1iZXIgb2Ygc3Ryb25nbHkgY29uc2lzdGVudCByZWFkcyBjb25zdW1lZCBwZXIgc2Vjb25kIGJlZm9yZSBEeW5hbW9EQiByZXR1cm5zIGEgYGBUaHJvdHRsaW5nRXhjZXB0aW9uYGAuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW1NwZWNpZnlpbmcgUmVhZCBhbmQgV3JpdGUgUmVxdWlyZW1lbnRzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYW1hem9uZHluYW1vZGIvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL1Byb3Zpc2lvbmVkVGhyb3VnaHB1dC5odG1sKSBpbiB0aGUgKkFtYXpvbiBEeW5hbW9EQiBEZXZlbG9wZXIgR3VpZGUqLlxuICogIElmIHJlYWQvd3JpdGUgY2FwYWNpdHkgbW9kZSBpcyBgYFBBWV9QRVJfUkVRVUVTVGBgIHRoZSB2YWx1ZSBpcyBzZXQgdG8gMC5cbiAqL1xuUmVhZENhcGFjaXR5VW5pdHM6IG51bWJlclxufVxuLyoqXG4gKiBSZXByZXNlbnRzICphIHNpbmdsZSBlbGVtZW50KiBvZiBhIGtleSBzY2hlbWEuIEEga2V5IHNjaGVtYSBzcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgdGhhdCBtYWtlIHVwIHRoZSBwcmltYXJ5IGtleSBvZiBhIHRhYmxlLCBvciB0aGUga2V5IGF0dHJpYnV0ZXMgb2YgYW4gaW5kZXguXG4gKiAgQSBgYEtleVNjaGVtYUVsZW1lbnRgYCByZXByZXNlbnRzIGV4YWN0bHkgb25lIGF0dHJpYnV0ZSBvZiB0aGUgcHJpbWFyeSBrZXkuIEZvciBleGFtcGxlLCBhIHNpbXBsZSBwcmltYXJ5IGtleSB3b3VsZCBiZSByZXByZXNlbnRlZCBieSBvbmUgYGBLZXlTY2hlbWFFbGVtZW50YGAgKGZvciB0aGUgcGFydGl0aW9uIGtleSkuIEEgY29tcG9zaXRlIHByaW1hcnkga2V5IHdvdWxkIHJlcXVpcmUgb25lIGBgS2V5U2NoZW1hRWxlbWVudGBgIGZvciB0aGUgcGFydGl0aW9uIGtleSwgYW5kIGFub3RoZXIgYGBLZXlTY2hlbWFFbGVtZW50YGAgZm9yIHRoZSBzb3J0IGtleS5cbiAqICBBIGBgS2V5U2NoZW1hRWxlbWVudGBgIG11c3QgYmUgYSBzY2FsYXIsIHRvcC1sZXZlbCBhdHRyaWJ1dGUgKG5vdCBhIG5lc3RlZCBhdHRyaWJ1dGUpLiBUaGUgZGF0YSB0eXBlIG11c3QgYmUgb25lIG9mIFN0cmluZywgTnVtYmVyLCBvciBCaW5hcnkuIFRoZSBhdHRyaWJ1dGUgY2Fubm90IGJlIG5lc3RlZCB3aXRoaW4gYSBMaXN0IG9yIGEgTWFwLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEtleVNjaGVtYSB7XG4vKipcbiAqIFRoZSByb2xlIHRoYXQgdGhpcyBrZXkgYXR0cmlidXRlIHdpbGwgYXNzdW1lOlxuICogICArICAgYGBIQVNIYGAgLSBwYXJ0aXRpb24ga2V5XG4gKiAgICsgICBgYFJBTkdFYGAgLSBzb3J0IGtleVxuICogICBcbiAqICAgVGhlIHBhcnRpdGlvbiBrZXkgb2YgYW4gaXRlbSBpcyBhbHNvIGtub3duIGFzIGl0cyAqaGFzaCBhdHRyaWJ1dGUqLiBUaGUgdGVybSBcImhhc2ggYXR0cmlidXRlXCIgZGVyaXZlcyBmcm9tIER5bmFtb0RCJ3MgdXNhZ2Ugb2YgYW4gaW50ZXJuYWwgaGFzaCBmdW5jdGlvbiB0byBldmVubHkgZGlzdHJpYnV0ZSBkYXRhIGl0ZW1zIGFjcm9zcyBwYXJ0aXRpb25zLCBiYXNlZCBvbiB0aGVpciBwYXJ0aXRpb24ga2V5IHZhbHVlcy5cbiAqICBUaGUgc29ydCBrZXkgb2YgYW4gaXRlbSBpcyBhbHNvIGtub3duIGFzIGl0cyAqcmFuZ2UgYXR0cmlidXRlKi4gVGhlIHRlcm0gXCJyYW5nZSBhdHRyaWJ1dGVcIiBkZXJpdmVzIGZyb20gdGhlIHdheSBEeW5hbW9EQiBzdG9yZXMgaXRlbXMgd2l0aCB0aGUgc2FtZSBwYXJ0aXRpb24ga2V5IHBoeXNpY2FsbHkgY2xvc2UgdG9nZXRoZXIsIGluIHNvcnRlZCBvcmRlciBieSB0aGUgc29ydCBrZXkgdmFsdWUuXG4gKi9cbktleVR5cGU6IHN0cmluZ1xuLyoqXG4gKiBUaGUgbmFtZSBvZiBhIGtleSBhdHRyaWJ1dGUuXG4gKi9cbkF0dHJpYnV0ZU5hbWU6IHN0cmluZ1xufVxuLyoqXG4gKiBBIHJlc291cmNlLWJhc2VkIHBvbGljeSBkb2N1bWVudCB0aGF0IGNvbnRhaW5zIHBlcm1pc3Npb25zIHRvIGFkZCB0byB0aGUgc3BlY2lmaWVkIHRhYmxlLiBJbiBhIENGTnNob3J0IHRlbXBsYXRlLCB5b3UgY2FuIHByb3ZpZGUgdGhlIHBvbGljeSBpbiBKU09OIG9yIFlBTUwgZm9ybWF0IGJlY2F1c2UgQ0ZOc2hvcnQgY29udmVydHMgWUFNTCB0byBKU09OIGJlZm9yZSBzdWJtaXR0aW5nIGl0IHRvIEREQi4gRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgcmVzb3VyY2UtYmFzZWQgcG9saWNpZXMsIHNlZSBbVXNpbmcgcmVzb3VyY2UtYmFzZWQgcG9saWNpZXMgZm9yXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYW1hem9uZHluYW1vZGIvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL2FjY2Vzcy1jb250cm9sLXJlc291cmNlLWJhc2VkLmh0bWwpIGFuZCBbUmVzb3VyY2UtYmFzZWQgcG9saWN5IGV4YW1wbGVzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYW1hem9uZHluYW1vZGIvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL3JiYWMtZXhhbXBsZXMuaHRtbCkuXG4gKiAgV2hlbiB5b3UgYXR0YWNoIGEgcmVzb3VyY2UtYmFzZWQgcG9saWN5IHdoaWxlIGNyZWF0aW5nIGEgdGFibGUsIHRoZSBwb2xpY3kgY3JlYXRpb24gaXMgKnN0cm9uZ2x5IGNvbnNpc3RlbnQqLiBGb3IgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGNvbnNpZGVyYXRpb25zIHRoYXQgeW91IHNob3VsZCBrZWVwIGluIG1pbmQgd2hpbGUgYXR0YWNoaW5nIGEgcmVzb3VyY2UtYmFzZWQgcG9saWN5LCBzZWUgW1Jlc291cmNlLWJhc2VkIHBvbGljeSBjb25zaWRlcmF0aW9uc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FtYXpvbmR5bmFtb2RiL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9yYmFjLWNvbnNpZGVyYXRpb25zLmh0bWwpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlUG9saWN5MSB7XG4vKipcbiAqIEEgcmVzb3VyY2UtYmFzZWQgcG9saWN5IGRvY3VtZW50IHRoYXQgY29udGFpbnMgcGVybWlzc2lvbnMgdG8gYWRkIHRvIHRoZSBzcGVjaWZpZWQgRERCIHRhYmxlLCBpbmRleCwgb3IgYm90aC4gSW4gYSBDRk5zaG9ydCB0ZW1wbGF0ZSwgeW91IGNhbiBwcm92aWRlIHRoZSBwb2xpY3kgaW4gSlNPTiBvciBZQU1MIGZvcm1hdCBiZWNhdXNlIENGTnNob3J0IGNvbnZlcnRzIFlBTUwgdG8gSlNPTiBiZWZvcmUgc3VibWl0dGluZyBpdCB0byBEREIuIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHJlc291cmNlLWJhc2VkIHBvbGljaWVzLCBzZWUgW1VzaW5nIHJlc291cmNlLWJhc2VkIHBvbGljaWVzIGZvcl0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FtYXpvbmR5bmFtb2RiL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9hY2Nlc3MtY29udHJvbC1yZXNvdXJjZS1iYXNlZC5odG1sKSBhbmQgW1Jlc291cmNlLWJhc2VkIHBvbGljeSBleGFtcGxlc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FtYXpvbmR5bmFtb2RiL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9yYmFjLWV4YW1wbGVzLmh0bWwpLlxuICovXG5Qb2xpY3lEb2N1bWVudDoge1xuW2s6IHN0cmluZ106IHVua25vd25cbn1cbn1cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgcHJvcGVydGllcyBvZiBhIGxvY2FsIHNlY29uZGFyeSBpbmRleC4gQSBsb2NhbCBzZWNvbmRhcnkgaW5kZXggY2FuIG9ubHkgYmUgY3JlYXRlZCB3aGVuIGl0cyBwYXJlbnQgdGFibGUgaXMgY3JlYXRlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2NhbFNlY29uZGFyeUluZGV4IHtcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIGxvY2FsIHNlY29uZGFyeSBpbmRleC4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgYW1vbmcgYWxsIG90aGVyIGluZGV4ZXMgb24gdGhpcyB0YWJsZS5cbiAqL1xuSW5kZXhOYW1lOiBzdHJpbmdcblByb2plY3Rpb246IFByb2plY3Rpb24xXG4vKipcbiAqIFRoZSBjb21wbGV0ZSBrZXkgc2NoZW1hIGZvciB0aGUgbG9jYWwgc2Vjb25kYXJ5IGluZGV4LCBjb25zaXN0aW5nIG9mIG9uZSBvciBtb3JlIHBhaXJzIG9mIGF0dHJpYnV0ZSBuYW1lcyBhbmQga2V5IHR5cGVzOlxuICogICArICAgYGBIQVNIYGAgLSBwYXJ0aXRpb24ga2V5XG4gKiAgICsgICBgYFJBTkdFYGAgLSBzb3J0IGtleVxuICogICBcbiAqICAgVGhlIHBhcnRpdGlvbiBrZXkgb2YgYW4gaXRlbSBpcyBhbHNvIGtub3duIGFzIGl0cyAqaGFzaCBhdHRyaWJ1dGUqLiBUaGUgdGVybSBcImhhc2ggYXR0cmlidXRlXCIgZGVyaXZlcyBmcm9tIER5bmFtb0RCJ3MgdXNhZ2Ugb2YgYW4gaW50ZXJuYWwgaGFzaCBmdW5jdGlvbiB0byBldmVubHkgZGlzdHJpYnV0ZSBkYXRhIGl0ZW1zIGFjcm9zcyBwYXJ0aXRpb25zLCBiYXNlZCBvbiB0aGVpciBwYXJ0aXRpb24ga2V5IHZhbHVlcy5cbiAqICBUaGUgc29ydCBrZXkgb2YgYW4gaXRlbSBpcyBhbHNvIGtub3duIGFzIGl0cyAqcmFuZ2UgYXR0cmlidXRlKi4gVGhlIHRlcm0gXCJyYW5nZSBhdHRyaWJ1dGVcIiBkZXJpdmVzIGZyb20gdGhlIHdheSBEeW5hbW9EQiBzdG9yZXMgaXRlbXMgd2l0aCB0aGUgc2FtZSBwYXJ0aXRpb24ga2V5IHBoeXNpY2FsbHkgY2xvc2UgdG9nZXRoZXIsIGluIHNvcnRlZCBvcmRlciBieSB0aGUgc29ydCBrZXkgdmFsdWUuXG4gKi9cbktleVNjaGVtYTogS2V5U2NoZW1hW11cbn1cbi8qKlxuICogUmVwcmVzZW50cyBhdHRyaWJ1dGVzIHRoYXQgYXJlIGNvcGllZCAocHJvamVjdGVkKSBmcm9tIHRoZSB0YWJsZSBpbnRvIHRoZSBsb2NhbCBzZWNvbmRhcnkgaW5kZXguIFRoZXNlIGFyZSBpbiBhZGRpdGlvbiB0byB0aGUgcHJpbWFyeSBrZXkgYXR0cmlidXRlcyBhbmQgaW5kZXgga2V5IGF0dHJpYnV0ZXMsIHdoaWNoIGFyZSBhdXRvbWF0aWNhbGx5IHByb2plY3RlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9qZWN0aW9uMSB7XG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIG5vbi1rZXkgYXR0cmlidXRlIG5hbWVzIHdoaWNoIHdpbGwgYmUgcHJvamVjdGVkIGludG8gdGhlIGluZGV4LlxuICogIEZvciBsb2NhbCBzZWNvbmRhcnkgaW5kZXhlcywgdGhlIHRvdGFsIGNvdW50IG9mIGBgTm9uS2V5QXR0cmlidXRlc2BgIHN1bW1lZCBhY3Jvc3MgYWxsIG9mIHRoZSBsb2NhbCBzZWNvbmRhcnkgaW5kZXhlcywgbXVzdCBub3QgZXhjZWVkIDEwMC4gSWYgeW91IHByb2plY3QgdGhlIHNhbWUgYXR0cmlidXRlIGludG8gdHdvIGRpZmZlcmVudCBpbmRleGVzLCB0aGlzIGNvdW50cyBhcyB0d28gZGlzdGluY3QgYXR0cmlidXRlcyB3aGVuIGRldGVybWluaW5nIHRoZSB0b3RhbC5cbiAqL1xuTm9uS2V5QXR0cmlidXRlcz86IHN0cmluZ1tdXG4vKipcbiAqIFRoZSBzZXQgb2YgYXR0cmlidXRlcyB0aGF0IGFyZSBwcm9qZWN0ZWQgaW50byB0aGUgaW5kZXg6XG4gKiAgICsgICBgYEtFWVNfT05MWWBgIC0gT25seSB0aGUgaW5kZXggYW5kIHByaW1hcnkga2V5cyBhcmUgcHJvamVjdGVkIGludG8gdGhlIGluZGV4LlxuICogICArICAgYGBJTkNMVURFYGAgLSBJbiBhZGRpdGlvbiB0byB0aGUgYXR0cmlidXRlcyBkZXNjcmliZWQgaW4gYGBLRVlTX09OTFlgYCwgdGhlIHNlY29uZGFyeSBpbmRleCB3aWxsIGluY2x1ZGUgb3RoZXIgbm9uLWtleSBhdHRyaWJ1dGVzIHRoYXQgeW91IHNwZWNpZnkuXG4gKiAgICsgICBgYEFMTGBgIC0gQWxsIG9mIHRoZSB0YWJsZSBhdHRyaWJ1dGVzIGFyZSBwcm9qZWN0ZWQgaW50byB0aGUgaW5kZXguXG4gKiAgIFxuICogIFdoZW4gdXNpbmcgdGhlIER5bmFtb0RCIGNvbnNvbGUsIGBgQUxMYGAgaXMgc2VsZWN0ZWQgYnkgZGVmYXVsdC5cbiAqL1xuUHJvamVjdGlvblR5cGU/OiBzdHJpbmdcbn1cbi8qKlxuICogRGVzY3JpYmVzIGEgdGFnLiBBIHRhZyBpcyBhIGtleS12YWx1ZSBwYWlyLiBZb3UgY2FuIGFkZCB1cCB0byA1MCB0YWdzIHRvIGEgc2luZ2xlIER5bmFtb0RCIHRhYmxlLiBcbiAqICAgQVdTLWFzc2lnbmVkIHRhZyBuYW1lcyBhbmQgdmFsdWVzIGFyZSBhdXRvbWF0aWNhbGx5IGFzc2lnbmVkIHRoZSBgYGF3czpgYCBwcmVmaXgsIHdoaWNoIHRoZSB1c2VyIGNhbm5vdCBhc3NpZ24uIEFXUy1hc3NpZ25lZCB0YWcgbmFtZXMgZG8gbm90IGNvdW50IHRvd2FyZHMgdGhlIHRhZyBsaW1pdCBvZiA1MC4gVXNlci1hc3NpZ25lZCB0YWcgbmFtZXMgaGF2ZSB0aGUgcHJlZml4IGBgdXNlcjpgYCBpbiB0aGUgQ29zdCBBbGxvY2F0aW9uIFJlcG9ydC4gWW91IGNhbm5vdCBiYWNrZGF0ZSB0aGUgYXBwbGljYXRpb24gb2YgYSB0YWcuXG4gKiAgRm9yIGFuIG92ZXJ2aWV3IG9uIHRhZ2dpbmcgRHluYW1vREIgcmVzb3VyY2VzLCBzZWUgW1RhZ2dpbmcgZm9yIER5bmFtb0RCXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYW1hem9uZHluYW1vZGIvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL1RhZ2dpbmcuaHRtbCkgaW4gdGhlICpBbWF6b24gRHluYW1vREIgRGV2ZWxvcGVyIEd1aWRlKi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYWcge1xuLyoqXG4gKiBUaGUgdmFsdWUgb2YgdGhlIHRhZy4gVGFnIHZhbHVlcyBhcmUgY2FzZS1zZW5zaXRpdmUgYW5kIGNhbiBiZSBudWxsLlxuICovXG5WYWx1ZTogc3RyaW5nXG4vKipcbiAqIFRoZSBrZXkgb2YgdGhlIHRhZy4gVGFnIGtleXMgYXJlIGNhc2Ugc2Vuc2l0aXZlLiBFYWNoIER5bmFtb0RCIHRhYmxlIGNhbiBvbmx5IGhhdmUgdXAgdG8gb25lIHRhZyB3aXRoIHRoZSBzYW1lIGtleS4gSWYgeW91IHRyeSB0byBhZGQgYW4gZXhpc3RpbmcgdGFnIChzYW1lIGtleSksIHRoZSBleGlzdGluZyB0YWcgdmFsdWUgd2lsbCBiZSB1cGRhdGVkIHRvIHRoZSBuZXcgdmFsdWUuXG4gKi9cbktleTogc3RyaW5nXG59XG4vKipcbiAqIFNwZWNpZmllcyB0aGUgVGltZSB0byBMaXZlIChUVEwpIHNldHRpbmdzIGZvciB0aGUgdGFibGUuXG4gKiAgIEZvciBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbGltaXRzIGluIER5bmFtb0RCLCBzZWUgW0xpbWl0cyBpbiBBbWF6b24gRHluYW1vREJdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hbWF6b25keW5hbW9kYi9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvTGltaXRzLmh0bWwpIGluIHRoZSBBbWF6b24gRHluYW1vREIgRGV2ZWxvcGVyIEd1aWRlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRpbWVUb0xpdmVTcGVjaWZpY2F0aW9uIHtcbi8qKlxuICogSW5kaWNhdGVzIHdoZXRoZXIgVFRMIGlzIHRvIGJlIGVuYWJsZWQgKHRydWUpIG9yIGRpc2FibGVkIChmYWxzZSkgb24gdGhlIHRhYmxlLlxuICovXG5FbmFibGVkOiBib29sZWFuXG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSBUVEwgYXR0cmlidXRlIHVzZWQgdG8gc3RvcmUgdGhlIGV4cGlyYXRpb24gdGltZSBmb3IgaXRlbXMgaW4gdGhlIHRhYmxlLlxuICogICAgKyAgVGhlIGBgQXR0cmlidXRlTmFtZWBgIHByb3BlcnR5IGlzIHJlcXVpcmVkIHdoZW4gZW5hYmxpbmcgdGhlIFRUTCwgb3Igd2hlbiBUVEwgaXMgYWxyZWFkeSBlbmFibGVkLlxuICogICArICBUbyB1cGRhdGUgdGhpcyBwcm9wZXJ0eSwgeW91IG11c3QgZmlyc3QgZGlzYWJsZSBUVEwgYW5kIHRoZW4gZW5hYmxlIFRUTCB3aXRoIHRoZSBuZXcgYXR0cmlidXRlIG5hbWUuXG4gKi9cbkF0dHJpYnV0ZU5hbWU/OiBzdHJpbmdcbn1cbiJdfQ==
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWR5bmFtb2RiLXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXdzLWR5bmFtb2RiLXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlcHJlc2VudHMgdGhlIHdhcm0gdGhyb3VnaHB1dCAoaW4gcmVhZCB1bml0cyBwZXIgc2Vjb25kIGFuZCB3cml0ZSB1bml0cyBwZXIgc2Vjb25kKSBmb3IgY3JlYXRpbmcgYSB0YWJsZS5cbiAqL1xuZXhwb3J0IHR5cGUgV2FybVRocm91Z2hwdXQgPSAoe1xuW2s6IHN0cmluZ106IHVua25vd25cbn0gJiB7XG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIG51bWJlciBvZiByZWFkIG9wZXJhdGlvbnMgeW91ciBiYXNlIHRhYmxlIGNhbiBpbnN0YW50YW5lb3VzbHkgc3VwcG9ydC5cbiAqL1xuUmVhZFVuaXRzUGVyU2Vjb25kPzogbnVtYmVyXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIG51bWJlciBvZiB3cml0ZSBvcGVyYXRpb25zIHlvdXIgYmFzZSB0YWJsZSBjYW4gaW5zdGFudGFuZW91c2x5IHN1cHBvcnQuXG4gKi9cbldyaXRlVW5pdHNQZXJTZWNvbmQ/OiBudW1iZXJcbn0pXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIHdhcm0gdGhyb3VnaHB1dCB2YWx1ZSAoaW4gcmVhZCB1bml0cyBwZXIgc2Vjb25kIGFuZCB3cml0ZSB1bml0cyBwZXIgc2Vjb25kKSBmb3IgdGhlIHNwZWNpZmllZCBzZWNvbmRhcnkgaW5kZXguIElmIHlvdSB1c2UgdGhpcyBwYXJhbWV0ZXIsIHlvdSBtdXN0IHNwZWNpZnkgYGBSZWFkVW5pdHNQZXJTZWNvbmRgYCwgYGBXcml0ZVVuaXRzUGVyU2Vjb25kYGAsIG9yIGJvdGguXG4gKi9cbmV4cG9ydCB0eXBlIFdhcm1UaHJvdWdocHV0MSA9ICh7XG5bazogc3RyaW5nXTogdW5rbm93blxufSAmIHtcbi8qKlxuICogUmVwcmVzZW50cyB0aGUgbnVtYmVyIG9mIHJlYWQgb3BlcmF0aW9ucyB5b3VyIGJhc2UgdGFibGUgY2FuIGluc3RhbnRhbmVvdXNseSBzdXBwb3J0LlxuICovXG5SZWFkVW5pdHNQZXJTZWNvbmQ/OiBudW1iZXJcbi8qKlxuICogUmVwcmVzZW50cyB0aGUgbnVtYmVyIG9mIHdyaXRlIG9wZXJhdGlvbnMgeW91ciBiYXNlIHRhYmxlIGNhbiBpbnN0YW50YW5lb3VzbHkgc3VwcG9ydC5cbiAqL1xuV3JpdGVVbml0c1BlclNlY29uZD86IG51bWJlclxufSlcblxuLyoqXG4gKiBUaGUgYGBBV1M6OkR5bmFtb0RCOjpUYWJsZWBgIHJlc291cmNlIGNyZWF0ZXMgYSBEREIgdGFibGUuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW0NyZWF0ZVRhYmxlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYW1hem9uZHluYW1vZGIvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfQ3JlYXRlVGFibGUuaHRtbCkgaW4gdGhlICpBUEkgUmVmZXJlbmNlKi5cbiAqICBZb3Ugc2hvdWxkIGJlIGF3YXJlIG9mIHRoZSBmb2xsb3dpbmcgYmVoYXZpb3JzIHdoZW4gd29ya2luZyB3aXRoIEREQiB0YWJsZXM6XG4gKiAgICsgICBDRk5sb25nIHR5cGljYWxseSBjcmVhdGVzIEREQiB0YWJsZXMgaW4gcGFyYWxsZWwuIEhvd2V2ZXIsIGlmIHlvdXIgdGVtcGxhdGUgaW5jbHVkZXMgbXVsdGlwbGUgRERCIHRhYmxlcyB3aXRoIGluZGV4ZXMsIHlvdSBtdXN0IGRlY2xhcmUgZGVwZW5kZW5jaWVzIHNvIHRoYXQgdGhlIHRhYmxlcyBhcmUgY3JlYXRlZCBzZXF1ZW50aWFsbHkuIEREQmxvbmcgbGltaXRzIHRoZSBudW1iZXIgb2YgdGFibGVzIHdpdGggc2Vjb25kYXJ5IGluZGV4ZXMgdGhhdCBhcmUgaW4gdGhlIGNyZWF0aW5nIHN0YXRlLiBJZiB5b3UgY3JlYXRlIG11bHRpcGxlIHRhYmxlcyB3aXRoIGluZGV4ZXMgYXQgdGhlIHNhbWUgdGltZSwgRERCIHJldHVybnMgYW4gZXJyb3IgYW5kIHRoZSBzdGFjayBvcGVyYXRpb24gZmFpbHMuIEZvciBhbiBleGFtcGxlLCBzZWUgW0R5bmFtb0RCIFRhYmxlIHdpdGggYSBEZXBlbmRzT24gQXR0cmlidXRlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZHluYW1vZGItdGFibGUuaHRtbCNhd3MtcmVzb3VyY2UtZHluYW1vZGItdGFibGUtLWV4YW1wbGVzLS1EeW5hbW9EQl9UYWJsZV93aXRoX2FfRGVwZW5kc09uX0F0dHJpYnV0ZSkuXG4gKiAgIFxuICogICAgT3VyIGd1aWRhbmNlIGlzIHRvIHVzZSB0aGUgbGF0ZXN0IHNjaGVtYSBkb2N1bWVudGVkIGZvciB5b3VyIENGTmxvbmcgdGVtcGxhdGVzLiBUaGlzIHNjaGVtYSBzdXBwb3J0cyB0aGUgcHJvdmlzaW9uaW5nIG9mIGFsbCB0YWJsZSBzZXR0aW5ncyBiZWxvdy4gV2hlbiB1c2luZyB0aGlzIHNjaGVtYSBpbiB5b3VyIENGTmxvbmcgdGVtcGxhdGVzLCBwbGVhc2UgZW5zdXJlIHRoYXQgeW91ciBJZGVudGl0eSBhbmQgQWNjZXNzIE1hbmFnZW1lbnQgKElBTSkgcG9saWNpZXMgYXJlIHVwZGF0ZWQgd2l0aCBhcHByb3ByaWF0ZSBwZXJtaXNzaW9ucyB0byBhbGxvdyBmb3IgdGhlIGF1dGhvcml6YXRpb24gb2YgdGhlc2Ugc2V0dGluZyBjaGFuZ2VzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIF9BV1NfRFlOQU1PREJfVEFCTEUge1xuT25EZW1hbmRUaHJvdWdocHV0PzogT25EZW1hbmRUaHJvdWdocHV0XG5TU0VTcGVjaWZpY2F0aW9uPzogU1NFU3BlY2lmaWNhdGlvblxuS2luZXNpc1N0cmVhbVNwZWNpZmljYXRpb24/OiBLaW5lc2lzU3RyZWFtU3BlY2lmaWNhdGlvblxuU3RyZWFtU3BlY2lmaWNhdGlvbj86IFN0cmVhbVNwZWNpZmljYXRpb25cbkNvbnRyaWJ1dG9ySW5zaWdodHNTcGVjaWZpY2F0aW9uPzogQ29udHJpYnV0b3JJbnNpZ2h0c1NwZWNpZmljYXRpb25cbkltcG9ydFNvdXJjZVNwZWNpZmljYXRpb24/OiBJbXBvcnRTb3VyY2VTcGVjaWZpY2F0aW9uXG5Qb2ludEluVGltZVJlY292ZXJ5U3BlY2lmaWNhdGlvbj86IFBvaW50SW5UaW1lUmVjb3ZlcnlTcGVjaWZpY2F0aW9uXG5Qcm92aXNpb25lZFRocm91Z2hwdXQ/OiBQcm92aXNpb25lZFRocm91Z2hwdXRcbldhcm1UaHJvdWdocHV0PzogV2FybVRocm91Z2hwdXRcbi8qKlxuICogQSBuYW1lIGZvciB0aGUgdGFibGUuIElmIHlvdSBkb24ndCBzcGVjaWZ5IGEgbmFtZSwgQ0ZObG9uZyBnZW5lcmF0ZXMgYSB1bmlxdWUgcGh5c2ljYWwgSUQgYW5kIHVzZXMgdGhhdCBJRCBmb3IgdGhlIHRhYmxlIG5hbWUuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW05hbWUgVHlwZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXByb3BlcnRpZXMtbmFtZS5odG1sKS5cbiAqICAgSWYgeW91IHNwZWNpZnkgYSBuYW1lLCB5b3UgY2Fubm90IHBlcmZvcm0gdXBkYXRlcyB0aGF0IHJlcXVpcmUgcmVwbGFjZW1lbnQgb2YgdGhpcyByZXNvdXJjZS4gWW91IGNhbiBwZXJmb3JtIHVwZGF0ZXMgdGhhdCByZXF1aXJlIG5vIG9yIHNvbWUgaW50ZXJydXB0aW9uLiBJZiB5b3UgbXVzdCByZXBsYWNlIHRoZSByZXNvdXJjZSwgc3BlY2lmeSBhIG5ldyBuYW1lLlxuICovXG5UYWJsZU5hbWU/OiBzdHJpbmdcbi8qKlxuICogQSBsaXN0IG9mIGF0dHJpYnV0ZXMgdGhhdCBkZXNjcmliZSB0aGUga2V5IHNjaGVtYSBmb3IgdGhlIHRhYmxlIGFuZCBpbmRleGVzLlxuICogIFRoaXMgcHJvcGVydHkgaXMgcmVxdWlyZWQgdG8gY3JlYXRlIGEgRERCIHRhYmxlLlxuICogIFVwZGF0ZSByZXF1aXJlczogW1NvbWUgaW50ZXJydXB0aW9uc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvdXNpbmctY2ZuLXVwZGF0aW5nLXN0YWNrcy11cGRhdGUtYmVoYXZpb3JzLmh0bWwjdXBkYXRlLXNvbWUtaW50ZXJydXB0KS4gUmVwbGFjZW1lbnQgaWYgeW91IGVkaXQgYW4gZXhpc3RpbmcgQXR0cmlidXRlRGVmaW5pdGlvbi5cbiAqL1xuQXR0cmlidXRlRGVmaW5pdGlvbnM/OiBBdHRyaWJ1dGVEZWZpbml0aW9uW11cbi8qKlxuICogU3BlY2lmeSBob3cgeW91IGFyZSBjaGFyZ2VkIGZvciByZWFkIGFuZCB3cml0ZSB0aHJvdWdocHV0IGFuZCBob3cgeW91IG1hbmFnZSBjYXBhY2l0eS5cbiAqICBWYWxpZCB2YWx1ZXMgaW5jbHVkZTpcbiAqICAgKyAgIGBgUFJPVklTSU9ORURgYCAtIFdlIHJlY29tbWVuZCB1c2luZyBgYFBST1ZJU0lPTkVEYGAgZm9yIHByZWRpY3RhYmxlIHdvcmtsb2Fkcy4gYGBQUk9WSVNJT05FRGBgIHNldHMgdGhlIGJpbGxpbmcgbW9kZSB0byBbUHJvdmlzaW9uZWQgTW9kZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FtYXpvbmR5bmFtb2RiL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9Ib3dJdFdvcmtzLlJlYWRXcml0ZUNhcGFjaXR5TW9kZS5odG1sI0hvd0l0V29ya3MuUHJvdmlzaW9uZWRUaHJvdWdocHV0Lk1hbnVhbCkuXG4gKiAgICsgICBgYFBBWV9QRVJfUkVRVUVTVGBgIC0gV2UgcmVjb21tZW5kIHVzaW5nIGBgUEFZX1BFUl9SRVFVRVNUYGAgZm9yIHVucHJlZGljdGFibGUgd29ya2xvYWRzLiBgYFBBWV9QRVJfUkVRVUVTVGBgIHNldHMgdGhlIGJpbGxpbmcgbW9kZSB0byBbT24tRGVtYW5kIE1vZGVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hbWF6b25keW5hbW9kYi9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvSG93SXRXb3Jrcy5SZWFkV3JpdGVDYXBhY2l0eU1vZGUuaHRtbCNIb3dJdFdvcmtzLk9uRGVtYW5kKS5cbiAqICAgXG4gKiAgSWYgbm90IHNwZWNpZmllZCwgdGhlIGRlZmF1bHQgaXMgYGBQUk9WSVNJT05FRGBgLlxuICovXG5CaWxsaW5nTW9kZT86IHN0cmluZ1xuLyoqXG4gKiBHbG9iYWwgc2Vjb25kYXJ5IGluZGV4ZXMgdG8gYmUgY3JlYXRlZCBvbiB0aGUgdGFibGUuIFlvdSBjYW4gY3JlYXRlIHVwIHRvIDIwIGdsb2JhbCBzZWNvbmRhcnkgaW5kZXhlcy5cbiAqICAgSWYgeW91IHVwZGF0ZSBhIHRhYmxlIHRvIGluY2x1ZGUgYSBuZXcgZ2xvYmFsIHNlY29uZGFyeSBpbmRleCwgQ0ZObG9uZyBpbml0aWF0ZXMgdGhlIGluZGV4IGNyZWF0aW9uIGFuZCB0aGVuIHByb2NlZWRzIHdpdGggdGhlIHN0YWNrIHVwZGF0ZS4gQ0ZObG9uZyBkb2Vzbid0IHdhaXQgZm9yIHRoZSBpbmRleCB0byBjb21wbGV0ZSBjcmVhdGlvbiBiZWNhdXNlIHRoZSBiYWNrZmlsbGluZyBwaGFzZSBjYW4gdGFrZSBhIGxvbmcgdGltZSwgZGVwZW5kaW5nIG9uIHRoZSBzaXplIG9mIHRoZSB0YWJsZS4gWW91IGNhbid0IHVzZSB0aGUgaW5kZXggb3IgdXBkYXRlIHRoZSB0YWJsZSB1bnRpbCB0aGUgaW5kZXgncyBzdGF0dXMgaXMgYGBBQ1RJVkVgYC4gWW91IGNhbiB0cmFjayBpdHMgc3RhdHVzIGJ5IHVzaW5nIHRoZSBEeW5hbW9EQiBbRGVzY3JpYmVUYWJsZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2NsaS9sYXRlc3QvcmVmZXJlbmNlL2R5bmFtb2RiL2Rlc2NyaWJlLXRhYmxlLmh0bWwpIGNvbW1hbmQuXG4gKiAgSWYgeW91IGFkZCBvciBkZWxldGUgYW4gaW5kZXggZHVyaW5nIGFuIHVwZGF0ZSwgd2UgcmVjb21tZW5kIHRoYXQgeW91IGRvbid0IHVwZGF0ZSBhbnkgb3RoZXIgcmVzb3VyY2VzLiBJZiB5b3VyIHN0YWNrIGZhaWxzIHRvIHVwZGF0ZSBhbmQgaXMgcm9sbGVkIGJhY2sgd2hpbGUgYWRkaW5nIGEgbmV3IGluZGV4LCB5b3UgbXVzdCBtYW51YWxseSBkZWxldGUgdGhlIGluZGV4LiBcbiAqICBVcGRhdGVzIGFyZSBub3Qgc3VwcG9ydGVkLiBUaGUgZm9sbG93aW5nIGFyZSBleGNlcHRpb25zOlxuICogICArICBJZiB5b3UgdXBkYXRlIGVpdGhlciB0aGUgY29udHJpYnV0b3IgaW5zaWdodHMgc3BlY2lmaWNhdGlvbiBvciB0aGUgcHJvdmlzaW9uZWQgdGhyb3VnaHB1dCB2YWx1ZXMgb2YgZ2xvYmFsIHNlY29uZGFyeSBpbmRleGVzLCB5b3UgY2FuIHVwZGF0ZSB0aGUgdGFibGUgd2l0aG91dCBpbnRlcnJ1cHRpb24uXG4gKiAgICsgIFlvdSBjYW4gZGVsZXRlIG9yIGFkZCBvbmUgZ2xvYmFsIHNlY29uZGFyeSBpbmRleCB3aXRob3V0IGludGVycnVwdGlvbi4gSWYgeW91IGRvIGJvdGggaW4gdGhlIHNhbWUgdXBkYXRlIChmb3IgZXhhbXBsZSwgYnkgY2hhbmdpbmcgdGhlIGluZGV4J3MgbG9naWNhbCBJRCksIHRoZSB1cGRhdGUgZmFpbHMuXG4gKi9cbkdsb2JhbFNlY29uZGFyeUluZGV4ZXM/OiBHbG9iYWxTZWNvbmRhcnlJbmRleFtdXG5SZXNvdXJjZVBvbGljeT86IFJlc291cmNlUG9saWN5MVxuLyoqXG4gKiBTcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgdGhhdCBtYWtlIHVwIHRoZSBwcmltYXJ5IGtleSBmb3IgdGhlIHRhYmxlLiBUaGUgYXR0cmlidXRlcyBpbiB0aGUgYGBLZXlTY2hlbWFgYCBwcm9wZXJ0eSBtdXN0IGFsc28gYmUgZGVmaW5lZCBpbiB0aGUgYGBBdHRyaWJ1dGVEZWZpbml0aW9uc2BgIHByb3BlcnR5LlxuICovXG5LZXlTY2hlbWE6IChLZXlTY2hlbWFbXSB8IHtcbltrOiBzdHJpbmddOiB1bmtub3duXG59KVxuLyoqXG4gKiBMb2NhbCBzZWNvbmRhcnkgaW5kZXhlcyB0byBiZSBjcmVhdGVkIG9uIHRoZSB0YWJsZS4gWW91IGNhbiBjcmVhdGUgdXAgdG8gNSBsb2NhbCBzZWNvbmRhcnkgaW5kZXhlcy4gRWFjaCBpbmRleCBpcyBzY29wZWQgdG8gYSBnaXZlbiBoYXNoIGtleSB2YWx1ZS4gVGhlIHNpemUgb2YgZWFjaCBoYXNoIGtleSBjYW4gYmUgdXAgdG8gMTAgZ2lnYWJ5dGVzLlxuICovXG5Mb2NhbFNlY29uZGFyeUluZGV4ZXM/OiBMb2NhbFNlY29uZGFyeUluZGV4W11cbkFybj86IHN0cmluZ1xuU3RyZWFtQXJuPzogc3RyaW5nXG4vKipcbiAqIERldGVybWluZXMgaWYgYSB0YWJsZSBpcyBwcm90ZWN0ZWQgZnJvbSBkZWxldGlvbi4gV2hlbiBlbmFibGVkLCB0aGUgdGFibGUgY2Fubm90IGJlIGRlbGV0ZWQgYnkgYW55IHVzZXIgb3IgcHJvY2Vzcy4gVGhpcyBzZXR0aW5nIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW1VzaW5nIGRlbGV0aW9uIHByb3RlY3Rpb25dKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hbWF6b25keW5hbW9kYi9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvV29ya2luZ1dpdGhUYWJsZXMuQmFzaWNzLmh0bWwjV29ya2luZ1dpdGhUYWJsZXMuQmFzaWNzLkRlbGV0aW9uUHJvdGVjdGlvbikgaW4gdGhlICpEZXZlbG9wZXIgR3VpZGUqLlxuICovXG5EZWxldGlvblByb3RlY3Rpb25FbmFibGVkPzogYm9vbGVhblxuLyoqXG4gKiBUaGUgdGFibGUgY2xhc3Mgb2YgdGhlIG5ldyB0YWJsZS4gVmFsaWQgdmFsdWVzIGFyZSBgYFNUQU5EQVJEYGAgYW5kIGBgU1RBTkRBUkRfSU5GUkVRVUVOVF9BQ0NFU1NgYC5cbiAqL1xuVGFibGVDbGFzcz86IHN0cmluZ1xuLyoqXG4gKiBBbiBhcnJheSBvZiBrZXktdmFsdWUgcGFpcnMgdG8gYXBwbHkgdG8gdGhpcyByZXNvdXJjZS5cbiAqICBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFtUYWddKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1wcm9wZXJ0aWVzLXJlc291cmNlLXRhZ3MuaHRtbCkuXG4gKi9cblRhZ3M/OiBUYWdbXVxuVGltZVRvTGl2ZVNwZWNpZmljYXRpb24/OiBUaW1lVG9MaXZlU3BlY2lmaWNhdGlvblxufVxuLyoqXG4gKiBTZXRzIHRoZSBtYXhpbXVtIG51bWJlciBvZiByZWFkIGFuZCB3cml0ZSB1bml0cyBmb3IgdGhlIHNwZWNpZmllZCBvbi1kZW1hbmQgdGFibGUuIElmIHlvdSB1c2UgdGhpcyBwcm9wZXJ0eSwgeW91IG11c3Qgc3BlY2lmeSBgYE1heFJlYWRSZXF1ZXN0VW5pdHNgYCwgYGBNYXhXcml0ZVJlcXVlc3RVbml0c2BgLCBvciBib3RoLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9uRGVtYW5kVGhyb3VnaHB1dCB7XG4vKipcbiAqIE1heGltdW0gbnVtYmVyIG9mIHJlYWQgcmVxdWVzdCB1bml0cyBmb3IgdGhlIHNwZWNpZmllZCB0YWJsZS5cbiAqICBUbyBzcGVjaWZ5IGEgbWF4aW11bSBgYE9uRGVtYW5kVGhyb3VnaHB1dGBgIG9uIHlvdXIgdGFibGUsIHNldCB0aGUgdmFsdWUgb2YgYGBNYXhSZWFkUmVxdWVzdFVuaXRzYGAgYXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEuIFRvIHJlbW92ZSB0aGUgbWF4aW11bSBgYE9uRGVtYW5kVGhyb3VnaHB1dGBgIHRoYXQgaXMgY3VycmVudGx5IHNldCBvbiB5b3VyIHRhYmxlLCBzZXQgdGhlIHZhbHVlIG9mIGBgTWF4UmVhZFJlcXVlc3RVbml0c2BgIHRvIC0xLlxuICovXG5NYXhSZWFkUmVxdWVzdFVuaXRzPzogbnVtYmVyXG4vKipcbiAqIE1heGltdW0gbnVtYmVyIG9mIHdyaXRlIHJlcXVlc3QgdW5pdHMgZm9yIHRoZSBzcGVjaWZpZWQgdGFibGUuXG4gKiAgVG8gc3BlY2lmeSBhIG1heGltdW0gYGBPbkRlbWFuZFRocm91Z2hwdXRgYCBvbiB5b3VyIHRhYmxlLCBzZXQgdGhlIHZhbHVlIG9mIGBgTWF4V3JpdGVSZXF1ZXN0VW5pdHNgYCBhcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMS4gVG8gcmVtb3ZlIHRoZSBtYXhpbXVtIGBgT25EZW1hbmRUaHJvdWdocHV0YGAgdGhhdCBpcyBjdXJyZW50bHkgc2V0IG9uIHlvdXIgdGFibGUsIHNldCB0aGUgdmFsdWUgb2YgYGBNYXhXcml0ZVJlcXVlc3RVbml0c2BgIHRvIC0xLlxuICovXG5NYXhXcml0ZVJlcXVlc3RVbml0cz86IG51bWJlclxufVxuLyoqXG4gKiBTcGVjaWZpZXMgdGhlIHNldHRpbmdzIHRvIGVuYWJsZSBzZXJ2ZXItc2lkZSBlbmNyeXB0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTRVNwZWNpZmljYXRpb24ge1xuLyoqXG4gKiBJbmRpY2F0ZXMgd2hldGhlciBzZXJ2ZXItc2lkZSBlbmNyeXB0aW9uIGlzIGRvbmUgdXNpbmcgYW4gQVdTIG1hbmFnZWQga2V5IG9yIGFuIEFXUyBvd25lZCBrZXkuIElmIGVuYWJsZWQgKHRydWUpLCBzZXJ2ZXItc2lkZSBlbmNyeXB0aW9uIHR5cGUgaXMgc2V0IHRvIGBgS01TYGAgYW5kIGFuIEFXUyBtYW5hZ2VkIGtleSBpcyB1c2VkIChLTVMgY2hhcmdlcyBhcHBseSkuIElmIGRpc2FibGVkIChmYWxzZSkgb3Igbm90IHNwZWNpZmllZCwgc2VydmVyLXNpZGUgZW5jcnlwdGlvbiBpcyBzZXQgdG8gQVdTIG93bmVkIGtleS5cbiAqL1xuU1NFRW5hYmxlZDogYm9vbGVhblxuLyoqXG4gKiBTZXJ2ZXItc2lkZSBlbmNyeXB0aW9uIHR5cGUuIFRoZSBvbmx5IHN1cHBvcnRlZCB2YWx1ZSBpczpcbiAqICAgKyAgIGBgS01TYGAgLSBTZXJ2ZXItc2lkZSBlbmNyeXB0aW9uIHRoYXQgdXNlcyBLTVNsb25nLiBUaGUga2V5IGlzIHN0b3JlZCBpbiB5b3VyIGFjY291bnQgYW5kIGlzIG1hbmFnZWQgYnkgS01TIChLTVMgY2hhcmdlcyBhcHBseSkuXG4gKi9cblNTRVR5cGU/OiBzdHJpbmdcbi8qKlxuICogVGhlIEtNUyBrZXkgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIEtNUyBlbmNyeXB0aW9uLiBUbyBzcGVjaWZ5IGEga2V5LCB1c2UgaXRzIGtleSBJRCwgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTiksIGFsaWFzIG5hbWUsIG9yIGFsaWFzIEFSTi4gTm90ZSB0aGF0IHlvdSBzaG91bGQgb25seSBwcm92aWRlIHRoaXMgcGFyYW1ldGVyIGlmIHRoZSBrZXkgaXMgZGlmZmVyZW50IGZyb20gdGhlIGRlZmF1bHQgRHluYW1vREIga2V5IGBgYWxpYXMvYXdzL2R5bmFtb2RiYGAuXG4gKi9cbktNU01hc3RlcktleUlkPzogKHtcbltrOiBzdHJpbmddOiB1bmtub3duXG59ICYgc3RyaW5nKVxufVxuLyoqXG4gKiBUaGUgS2luZXNpcyBEYXRhIFN0cmVhbXMgY29uZmlndXJhdGlvbiBmb3IgdGhlIHNwZWNpZmllZCB0YWJsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLaW5lc2lzU3RyZWFtU3BlY2lmaWNhdGlvbiB7XG4vKipcbiAqIFRoZSBwcmVjaXNpb24gZm9yIHRoZSB0aW1lIGFuZCBkYXRlIHRoYXQgdGhlIHN0cmVhbSB3YXMgY3JlYXRlZC5cbiAqL1xuQXBwcm94aW1hdGVDcmVhdGlvbkRhdGVUaW1lUHJlY2lzaW9uPzogKFwiTUlDUk9TRUNPTkRcIiB8IFwiTUlMTElTRUNPTkRcIilcbi8qKlxuICogVGhlIEFSTiBmb3IgYSBzcGVjaWZpYyBLaW5lc2lzIGRhdGEgc3RyZWFtLlxuICogIExlbmd0aCBDb25zdHJhaW50czogTWluaW11bSBsZW5ndGggb2YgMzcuIE1heGltdW0gbGVuZ3RoIG9mIDEwMjQuXG4gKi9cblN0cmVhbUFybjogc3RyaW5nXG59XG4vKipcbiAqIFRoZSBzZXR0aW5ncyBmb3IgdGhlIEREQiB0YWJsZSBzdHJlYW0sIHdoaWNoIGNhcHR1cmUgY2hhbmdlcyB0byBpdGVtcyBzdG9yZWQgaW4gdGhlIHRhYmxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0cmVhbVNwZWNpZmljYXRpb24ge1xuLyoqXG4gKiBXaGVuIGFuIGl0ZW0gaW4gdGhlIHRhYmxlIGlzIG1vZGlmaWVkLCBgYFN0cmVhbVZpZXdUeXBlYGAgZGV0ZXJtaW5lcyB3aGF0IGluZm9ybWF0aW9uIGlzIHdyaXR0ZW4gdG8gdGhlIHN0cmVhbSBmb3IgdGhpcyB0YWJsZS4gVmFsaWQgdmFsdWVzIGZvciBgYFN0cmVhbVZpZXdUeXBlYGAgYXJlOlxuICogICArICAgYGBLRVlTX09OTFlgYCAtIE9ubHkgdGhlIGtleSBhdHRyaWJ1dGVzIG9mIHRoZSBtb2RpZmllZCBpdGVtIGFyZSB3cml0dGVuIHRvIHRoZSBzdHJlYW0uXG4gKiAgICsgICBgYE5FV19JTUFHRWBgIC0gVGhlIGVudGlyZSBpdGVtLCBhcyBpdCBhcHBlYXJzIGFmdGVyIGl0IHdhcyBtb2RpZmllZCwgaXMgd3JpdHRlbiB0byB0aGUgc3RyZWFtLlxuICogICArICAgYGBPTERfSU1BR0VgYCAtIFRoZSBlbnRpcmUgaXRlbSwgYXMgaXQgYXBwZWFyZWQgYmVmb3JlIGl0IHdhcyBtb2RpZmllZCwgaXMgd3JpdHRlbiB0byB0aGUgc3RyZWFtLlxuICogICArICAgYGBORVdfQU5EX09MRF9JTUFHRVNgYCAtIEJvdGggdGhlIG5ldyBhbmQgdGhlIG9sZCBpdGVtIGltYWdlcyBvZiB0aGUgaXRlbSBhcmUgd3JpdHRlbiB0byB0aGUgc3RyZWFtLlxuICovXG5TdHJlYW1WaWV3VHlwZTogc3RyaW5nXG5SZXNvdXJjZVBvbGljeT86IFJlc291cmNlUG9saWN5XG59XG4vKipcbiAqIENyZWF0ZXMgb3IgdXBkYXRlcyBhIHJlc291cmNlLWJhc2VkIHBvbGljeSBkb2N1bWVudCB0aGF0IGNvbnRhaW5zIHRoZSBwZXJtaXNzaW9ucyBmb3IgRERCIHJlc291cmNlcywgc3VjaCBhcyBhIHRhYmxlJ3Mgc3RyZWFtcy4gUmVzb3VyY2UtYmFzZWQgcG9saWNpZXMgbGV0IHlvdSBkZWZpbmUgYWNjZXNzIHBlcm1pc3Npb25zIGJ5IHNwZWNpZnlpbmcgd2hvIGhhcyBhY2Nlc3MgdG8gZWFjaCByZXNvdXJjZSwgYW5kIHRoZSBhY3Rpb25zIHRoZXkgYXJlIGFsbG93ZWQgdG8gcGVyZm9ybSBvbiBlYWNoIHJlc291cmNlLlxuICogIEluIGEgQ0ZOc2hvcnQgdGVtcGxhdGUsIHlvdSBjYW4gcHJvdmlkZSB0aGUgcG9saWN5IGluIEpTT04gb3IgWUFNTCBmb3JtYXQgYmVjYXVzZSBDRk5zaG9ydCBjb252ZXJ0cyBZQU1MIHRvIEpTT04gYmVmb3JlIHN1Ym1pdHRpbmcgaXQgdG8gRERCLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCByZXNvdXJjZS1iYXNlZCBwb2xpY2llcywgc2VlIFtVc2luZyByZXNvdXJjZS1iYXNlZCBwb2xpY2llcyBmb3JdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hbWF6b25keW5hbW9kYi9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvYWNjZXNzLWNvbnRyb2wtcmVzb3VyY2UtYmFzZWQuaHRtbCkgYW5kIFtSZXNvdXJjZS1iYXNlZCBwb2xpY3kgZXhhbXBsZXNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hbWF6b25keW5hbW9kYi9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvcmJhYy1leGFtcGxlcy5odG1sKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZVBvbGljeSB7XG4vKipcbiAqIEEgcmVzb3VyY2UtYmFzZWQgcG9saWN5IGRvY3VtZW50IHRoYXQgY29udGFpbnMgcGVybWlzc2lvbnMgdG8gYWRkIHRvIHRoZSBzcGVjaWZpZWQgRERCIHRhYmxlLCBpbmRleCwgb3IgYm90aC4gSW4gYSBDRk5zaG9ydCB0ZW1wbGF0ZSwgeW91IGNhbiBwcm92aWRlIHRoZSBwb2xpY3kgaW4gSlNPTiBvciBZQU1MIGZvcm1hdCBiZWNhdXNlIENGTnNob3J0IGNvbnZlcnRzIFlBTUwgdG8gSlNPTiBiZWZvcmUgc3VibWl0dGluZyBpdCB0byBEREIuIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHJlc291cmNlLWJhc2VkIHBvbGljaWVzLCBzZWUgW1VzaW5nIHJlc291cmNlLWJhc2VkIHBvbGljaWVzIGZvcl0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FtYXpvbmR5bmFtb2RiL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9hY2Nlc3MtY29udHJvbC1yZXNvdXJjZS1iYXNlZC5odG1sKSBhbmQgW1Jlc291cmNlLWJhc2VkIHBvbGljeSBleGFtcGxlc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FtYXpvbmR5bmFtb2RiL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9yYmFjLWV4YW1wbGVzLmh0bWwpLlxuICovXG5Qb2xpY3lEb2N1bWVudDoge1xuW2s6IHN0cmluZ106IHVua25vd25cbn1cbn1cbi8qKlxuICogVGhlIHNldHRpbmdzIHVzZWQgdG8gZW5hYmxlIG9yIGRpc2FibGUgQ2xvdWRXYXRjaCBDb250cmlidXRvciBJbnNpZ2h0cyBmb3IgdGhlIHNwZWNpZmllZCB0YWJsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb250cmlidXRvckluc2lnaHRzU3BlY2lmaWNhdGlvbiB7XG4vKipcbiAqIEluZGljYXRlcyB3aGV0aGVyIENsb3VkV2F0Y2ggQ29udHJpYnV0b3IgSW5zaWdodHMgYXJlIHRvIGJlIGVuYWJsZWQgKHRydWUpIG9yIGRpc2FibGVkIChmYWxzZSkuXG4gKi9cbkVuYWJsZWQ6IGJvb2xlYW5cbn1cbi8qKlxuICogU3BlY2lmaWVzIHRoZSBwcm9wZXJ0aWVzIG9mIGRhdGEgYmVpbmcgaW1wb3J0ZWQgZnJvbSB0aGUgUzMgYnVja2V0IHNvdXJjZSB0byB0aGVcIiB0YWJsZS5cbiAqICAgSWYgeW91IHNwZWNpZnkgdGhlIGBgSW1wb3J0U291cmNlU3BlY2lmaWNhdGlvbmBgIHByb3BlcnR5LCBhbmQgYWxzbyBzcGVjaWZ5IGVpdGhlciB0aGUgYGBTdHJlYW1TcGVjaWZpY2F0aW9uYGAsIHRoZSBgYFRhYmxlQ2xhc3NgYCBwcm9wZXJ0eSwgdGhlIGBgRGVsZXRpb25Qcm90ZWN0aW9uRW5hYmxlZGBgIHByb3BlcnR5LCBvciB0aGUgYGBXYXJtVGhyb3VnaHB1dGBgIHByb3BlcnR5LCB0aGUgSUFNIGVudGl0eSBjcmVhdGluZy91cGRhdGluZyBzdGFjayBtdXN0IGhhdmUgYGBVcGRhdGVUYWJsZWBgIHBlcm1pc3Npb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW1wb3J0U291cmNlU3BlY2lmaWNhdGlvbiB7XG5TM0J1Y2tldFNvdXJjZTogUzNCdWNrZXRTb3VyY2Vcbi8qKlxuICogVGhlIGZvcm1hdCBvZiB0aGUgc291cmNlIGRhdGEuIFZhbGlkIHZhbHVlcyBmb3IgYGBJbXBvcnRGb3JtYXRgYCBhcmUgYGBDU1ZgYCwgYGBEWU5BTU9EQl9KU09OYGAgb3IgYGBJT05gYC5cbiAqL1xuSW5wdXRGb3JtYXQ6IHN0cmluZ1xuSW5wdXRGb3JtYXRPcHRpb25zPzogSW5wdXRGb3JtYXRPcHRpb25zXG4vKipcbiAqIFR5cGUgb2YgY29tcHJlc3Npb24gdG8gYmUgdXNlZCBvbiB0aGUgaW5wdXQgY29taW5nIGZyb20gdGhlIGltcG9ydGVkIHRhYmxlLlxuICovXG5JbnB1dENvbXByZXNzaW9uVHlwZT86IHN0cmluZ1xufVxuLyoqXG4gKiBUaGUgUzMgYnVja2V0IHRoYXQgcHJvdmlkZXMgdGhlIHNvdXJjZSBmb3IgdGhlIGltcG9ydC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTM0J1Y2tldFNvdXJjZSB7XG4vKipcbiAqIFRoZSBTMyBidWNrZXQgdGhhdCBpcyBiZWluZyBpbXBvcnRlZCBmcm9tLlxuICovXG5TM0J1Y2tldDogc3RyaW5nXG4vKipcbiAqIFRoZSBrZXkgcHJlZml4IHNoYXJlZCBieSBhbGwgUzMgT2JqZWN0cyB0aGF0IGFyZSBiZWluZyBpbXBvcnRlZC5cbiAqL1xuUzNLZXlQcmVmaXg/OiBzdHJpbmdcbi8qKlxuICogVGhlIGFjY291bnQgbnVtYmVyIG9mIHRoZSBTMyBidWNrZXQgdGhhdCBpcyBiZWluZyBpbXBvcnRlZCBmcm9tLiBJZiB0aGUgYnVja2V0IGlzIG93bmVkIGJ5IHRoZSByZXF1ZXN0ZXIgdGhpcyBpcyBvcHRpb25hbC5cbiAqL1xuUzNCdWNrZXRPd25lcj86IHN0cmluZ1xufVxuLyoqXG4gKiBBZGRpdGlvbmFsIHByb3BlcnRpZXMgdGhhdCBzcGVjaWZ5IGhvdyB0aGUgaW5wdXQgaXMgZm9ybWF0dGVkLFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElucHV0Rm9ybWF0T3B0aW9ucyB7XG5Dc3Y/OiBDc3Zcbn1cbi8qKlxuICogVGhlIG9wdGlvbnMgZm9yIGltcG9ydGVkIHNvdXJjZSBmaWxlcyBpbiBDU1YgZm9ybWF0LiBUaGUgdmFsdWVzIGFyZSBEZWxpbWl0ZXIgYW5kIEhlYWRlckxpc3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3N2IHtcbi8qKlxuICogVGhlIGRlbGltaXRlciB1c2VkIGZvciBzZXBhcmF0aW5nIGl0ZW1zIGluIHRoZSBDU1YgZmlsZSBiZWluZyBpbXBvcnRlZC5cbiAqL1xuRGVsaW1pdGVyPzogc3RyaW5nXG4vKipcbiAqIExpc3Qgb2YgdGhlIGhlYWRlcnMgdXNlZCB0byBzcGVjaWZ5IGEgY29tbW9uIGhlYWRlciBmb3IgYWxsIHNvdXJjZSBDU1YgZmlsZXMgYmVpbmcgaW1wb3J0ZWQuIElmIHRoaXMgZmllbGQgaXMgc3BlY2lmaWVkIHRoZW4gdGhlIGZpcnN0IGxpbmUgb2YgZWFjaCBDU1YgZmlsZSBpcyB0cmVhdGVkIGFzIGRhdGEgaW5zdGVhZCBvZiB0aGUgaGVhZGVyLiBJZiB0aGlzIGZpZWxkIGlzIG5vdCBzcGVjaWZpZWQgdGhlIHRoZSBmaXJzdCBsaW5lIG9mIGVhY2ggQ1NWIGZpbGUgaXMgdHJlYXRlZCBhcyB0aGUgaGVhZGVyLlxuICovXG5IZWFkZXJMaXN0Pzogc3RyaW5nW11cbn1cbi8qKlxuICogVGhlIHNldHRpbmdzIHVzZWQgdG8gZW5hYmxlIHBvaW50IGluIHRpbWUgcmVjb3ZlcnkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9pbnRJblRpbWVSZWNvdmVyeVNwZWNpZmljYXRpb24ge1xuLyoqXG4gKiBJbmRpY2F0ZXMgd2hldGhlciBwb2ludCBpbiB0aW1lIHJlY292ZXJ5IGlzIGVuYWJsZWQgKHRydWUpIG9yIGRpc2FibGVkIChmYWxzZSkgb24gdGhlIHRhYmxlLlxuICovXG5Qb2ludEluVGltZVJlY292ZXJ5RW5hYmxlZD86IGJvb2xlYW5cblJlY292ZXJ5UGVyaW9kSW5EYXlzPzogbnVtYmVyXG59XG4vKipcbiAqIFRocm91Z2hwdXQgZm9yIHRoZSBzcGVjaWZpZWQgdGFibGUsIHdoaWNoIGNvbnNpc3RzIG9mIHZhbHVlcyBmb3IgYGBSZWFkQ2FwYWNpdHlVbml0c2BgIGFuZCBgYFdyaXRlQ2FwYWNpdHlVbml0c2BgLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY29udGVudHMgb2YgYSBwcm92aXNpb25lZCB0aHJvdWdocHV0IHN0cnVjdHVyZSwgc2VlIFtBbWF6b24gRHluYW1vREIgVGFibGUgUHJvdmlzaW9uZWRUaHJvdWdocHV0XShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYW1hem9uZHluYW1vZGIvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfUHJvdmlzaW9uZWRUaHJvdWdocHV0Lmh0bWwpLiBcbiAqICBJZiB5b3Ugc2V0IGBgQmlsbGluZ01vZGVgYCBhcyBgYFBST1ZJU0lPTkVEYGAsIHlvdSBtdXN0IHNwZWNpZnkgdGhpcyBwcm9wZXJ0eS4gSWYgeW91IHNldCBgYEJpbGxpbmdNb2RlYGAgYXMgYGBQQVlfUEVSX1JFUVVFU1RgYCwgeW91IGNhbm5vdCBzcGVjaWZ5IHRoaXMgcHJvcGVydHkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvdmlzaW9uZWRUaHJvdWdocHV0IHtcbi8qKlxuICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHdyaXRlcyBjb25zdW1lZCBwZXIgc2Vjb25kIGJlZm9yZSBEeW5hbW9EQiByZXR1cm5zIGEgYGBUaHJvdHRsaW5nRXhjZXB0aW9uYGAuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW1NwZWNpZnlpbmcgUmVhZCBhbmQgV3JpdGUgUmVxdWlyZW1lbnRzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYW1hem9uZHluYW1vZGIvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL1Byb3Zpc2lvbmVkVGhyb3VnaHB1dC5odG1sKSBpbiB0aGUgKkFtYXpvbiBEeW5hbW9EQiBEZXZlbG9wZXIgR3VpZGUqLlxuICogIElmIHJlYWQvd3JpdGUgY2FwYWNpdHkgbW9kZSBpcyBgYFBBWV9QRVJfUkVRVUVTVGBgIHRoZSB2YWx1ZSBpcyBzZXQgdG8gMC5cbiAqL1xuV3JpdGVDYXBhY2l0eVVuaXRzOiBudW1iZXJcbi8qKlxuICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHN0cm9uZ2x5IGNvbnNpc3RlbnQgcmVhZHMgY29uc3VtZWQgcGVyIHNlY29uZCBiZWZvcmUgRHluYW1vREIgcmV0dXJucyBhIGBgVGhyb3R0bGluZ0V4Y2VwdGlvbmBgLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFtTcGVjaWZ5aW5nIFJlYWQgYW5kIFdyaXRlIFJlcXVpcmVtZW50c10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FtYXpvbmR5bmFtb2RiL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9Qcm92aXNpb25lZFRocm91Z2hwdXQuaHRtbCkgaW4gdGhlICpBbWF6b24gRHluYW1vREIgRGV2ZWxvcGVyIEd1aWRlKi5cbiAqICBJZiByZWFkL3dyaXRlIGNhcGFjaXR5IG1vZGUgaXMgYGBQQVlfUEVSX1JFUVVFU1RgYCB0aGUgdmFsdWUgaXMgc2V0IHRvIDAuXG4gKi9cblJlYWRDYXBhY2l0eVVuaXRzOiBudW1iZXJcbn1cbi8qKlxuICogUmVwcmVzZW50cyBhbiBhdHRyaWJ1dGUgZm9yIGRlc2NyaWJpbmcgdGhlIHNjaGVtYSBmb3IgdGhlIHRhYmxlIGFuZCBpbmRleGVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF0dHJpYnV0ZURlZmluaXRpb24ge1xuLyoqXG4gKiBUaGUgZGF0YSB0eXBlIGZvciB0aGUgYXR0cmlidXRlLCB3aGVyZTpcbiAqICAgKyAgIGBgU2BgIC0gdGhlIGF0dHJpYnV0ZSBpcyBvZiB0eXBlIFN0cmluZ1xuICogICArICAgYGBOYGAgLSB0aGUgYXR0cmlidXRlIGlzIG9mIHR5cGUgTnVtYmVyXG4gKiAgICsgICBgYEJgYCAtIHRoZSBhdHRyaWJ1dGUgaXMgb2YgdHlwZSBCaW5hcnlcbiAqL1xuQXR0cmlidXRlVHlwZTogc3RyaW5nXG4vKipcbiAqIEEgbmFtZSBmb3IgdGhlIGF0dHJpYnV0ZS5cbiAqL1xuQXR0cmlidXRlTmFtZTogc3RyaW5nXG59XG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIHByb3BlcnRpZXMgb2YgYSBnbG9iYWwgc2Vjb25kYXJ5IGluZGV4LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdsb2JhbFNlY29uZGFyeUluZGV4IHtcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIGdsb2JhbCBzZWNvbmRhcnkgaW5kZXguIFRoZSBuYW1lIG11c3QgYmUgdW5pcXVlIGFtb25nIGFsbCBvdGhlciBpbmRleGVzIG9uIHRoaXMgdGFibGUuXG4gKi9cbkluZGV4TmFtZTogc3RyaW5nXG5PbkRlbWFuZFRocm91Z2hwdXQ/OiBPbkRlbWFuZFRocm91Z2hwdXQxXG5Db250cmlidXRvckluc2lnaHRzU3BlY2lmaWNhdGlvbj86IENvbnRyaWJ1dG9ySW5zaWdodHNTcGVjaWZpY2F0aW9uMVxuUHJvamVjdGlvbjogUHJvamVjdGlvblxuUHJvdmlzaW9uZWRUaHJvdWdocHV0PzogUHJvdmlzaW9uZWRUaHJvdWdocHV0MVxuLyoqXG4gKiBUaGUgY29tcGxldGUga2V5IHNjaGVtYSBmb3IgYSBnbG9iYWwgc2Vjb25kYXJ5IGluZGV4LCB3aGljaCBjb25zaXN0cyBvZiBvbmUgb3IgbW9yZSBwYWlycyBvZiBhdHRyaWJ1dGUgbmFtZXMgYW5kIGtleSB0eXBlczpcbiAqICAgKyAgIGBgSEFTSGBgIC0gcGFydGl0aW9uIGtleVxuICogICArICAgYGBSQU5HRWBgIC0gc29ydCBrZXlcbiAqICAgXG4gKiAgIFRoZSBwYXJ0aXRpb24ga2V5IG9mIGFuIGl0ZW0gaXMgYWxzbyBrbm93biBhcyBpdHMgKmhhc2ggYXR0cmlidXRlKi4gVGhlIHRlcm0gXCJoYXNoIGF0dHJpYnV0ZVwiIGRlcml2ZXMgZnJvbSBEeW5hbW9EQidzIHVzYWdlIG9mIGFuIGludGVybmFsIGhhc2ggZnVuY3Rpb24gdG8gZXZlbmx5IGRpc3RyaWJ1dGUgZGF0YSBpdGVtcyBhY3Jvc3MgcGFydGl0aW9ucywgYmFzZWQgb24gdGhlaXIgcGFydGl0aW9uIGtleSB2YWx1ZXMuXG4gKiAgVGhlIHNvcnQga2V5IG9mIGFuIGl0ZW0gaXMgYWxzbyBrbm93biBhcyBpdHMgKnJhbmdlIGF0dHJpYnV0ZSouIFRoZSB0ZXJtIFwicmFuZ2UgYXR0cmlidXRlXCIgZGVyaXZlcyBmcm9tIHRoZSB3YXkgRHluYW1vREIgc3RvcmVzIGl0ZW1zIHdpdGggdGhlIHNhbWUgcGFydGl0aW9uIGtleSBwaHlzaWNhbGx5IGNsb3NlIHRvZ2V0aGVyLCBpbiBzb3J0ZWQgb3JkZXIgYnkgdGhlIHNvcnQga2V5IHZhbHVlLlxuICovXG5LZXlTY2hlbWE6IEtleVNjaGVtYVtdXG5XYXJtVGhyb3VnaHB1dD86IFdhcm1UaHJvdWdocHV0MVxufVxuLyoqXG4gKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgcmVhZCBhbmQgd3JpdGUgdW5pdHMgZm9yIHRoZSBzcGVjaWZpZWQgZ2xvYmFsIHNlY29uZGFyeSBpbmRleC4gSWYgeW91IHVzZSB0aGlzIHBhcmFtZXRlciwgeW91IG11c3Qgc3BlY2lmeSBgYE1heFJlYWRSZXF1ZXN0VW5pdHNgYCwgYGBNYXhXcml0ZVJlcXVlc3RVbml0c2BgLCBvciBib3RoLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9uRGVtYW5kVGhyb3VnaHB1dDEge1xuLyoqXG4gKiBNYXhpbXVtIG51bWJlciBvZiByZWFkIHJlcXVlc3QgdW5pdHMgZm9yIHRoZSBzcGVjaWZpZWQgdGFibGUuXG4gKiAgVG8gc3BlY2lmeSBhIG1heGltdW0gYGBPbkRlbWFuZFRocm91Z2hwdXRgYCBvbiB5b3VyIHRhYmxlLCBzZXQgdGhlIHZhbHVlIG9mIGBgTWF4UmVhZFJlcXVlc3RVbml0c2BgIGFzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxLiBUbyByZW1vdmUgdGhlIG1heGltdW0gYGBPbkRlbWFuZFRocm91Z2hwdXRgYCB0aGF0IGlzIGN1cnJlbnRseSBzZXQgb24geW91ciB0YWJsZSwgc2V0IHRoZSB2YWx1ZSBvZiBgYE1heFJlYWRSZXF1ZXN0VW5pdHNgYCB0byAtMS5cbiAqL1xuTWF4UmVhZFJlcXVlc3RVbml0cz86IG51bWJlclxuLyoqXG4gKiBNYXhpbXVtIG51bWJlciBvZiB3cml0ZSByZXF1ZXN0IHVuaXRzIGZvciB0aGUgc3BlY2lmaWVkIHRhYmxlLlxuICogIFRvIHNwZWNpZnkgYSBtYXhpbXVtIGBgT25EZW1hbmRUaHJvdWdocHV0YGAgb24geW91ciB0YWJsZSwgc2V0IHRoZSB2YWx1ZSBvZiBgYE1heFdyaXRlUmVxdWVzdFVuaXRzYGAgYXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEuIFRvIHJlbW92ZSB0aGUgbWF4aW11bSBgYE9uRGVtYW5kVGhyb3VnaHB1dGBgIHRoYXQgaXMgY3VycmVudGx5IHNldCBvbiB5b3VyIHRhYmxlLCBzZXQgdGhlIHZhbHVlIG9mIGBgTWF4V3JpdGVSZXF1ZXN0VW5pdHNgYCB0byAtMS5cbiAqL1xuTWF4V3JpdGVSZXF1ZXN0VW5pdHM/OiBudW1iZXJcbn1cbi8qKlxuICogVGhlIHNldHRpbmdzIHVzZWQgdG8gZW5hYmxlIG9yIGRpc2FibGUgQ2xvdWRXYXRjaCBDb250cmlidXRvciBJbnNpZ2h0cyBmb3IgdGhlIHNwZWNpZmllZCBnbG9iYWwgc2Vjb25kYXJ5IGluZGV4LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbnRyaWJ1dG9ySW5zaWdodHNTcGVjaWZpY2F0aW9uMSB7XG4vKipcbiAqIEluZGljYXRlcyB3aGV0aGVyIENsb3VkV2F0Y2ggQ29udHJpYnV0b3IgSW5zaWdodHMgYXJlIHRvIGJlIGVuYWJsZWQgKHRydWUpIG9yIGRpc2FibGVkIChmYWxzZSkuXG4gKi9cbkVuYWJsZWQ6IGJvb2xlYW5cbn1cbi8qKlxuICogUmVwcmVzZW50cyBhdHRyaWJ1dGVzIHRoYXQgYXJlIGNvcGllZCAocHJvamVjdGVkKSBmcm9tIHRoZSB0YWJsZSBpbnRvIHRoZSBnbG9iYWwgc2Vjb25kYXJ5IGluZGV4LiBUaGVzZSBhcmUgaW4gYWRkaXRpb24gdG8gdGhlIHByaW1hcnkga2V5IGF0dHJpYnV0ZXMgYW5kIGluZGV4IGtleSBhdHRyaWJ1dGVzLCB3aGljaCBhcmUgYXV0b21hdGljYWxseSBwcm9qZWN0ZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvamVjdGlvbiB7XG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIG5vbi1rZXkgYXR0cmlidXRlIG5hbWVzIHdoaWNoIHdpbGwgYmUgcHJvamVjdGVkIGludG8gdGhlIGluZGV4LlxuICogIEZvciBsb2NhbCBzZWNvbmRhcnkgaW5kZXhlcywgdGhlIHRvdGFsIGNvdW50IG9mIGBgTm9uS2V5QXR0cmlidXRlc2BgIHN1bW1lZCBhY3Jvc3MgYWxsIG9mIHRoZSBsb2NhbCBzZWNvbmRhcnkgaW5kZXhlcywgbXVzdCBub3QgZXhjZWVkIDEwMC4gSWYgeW91IHByb2plY3QgdGhlIHNhbWUgYXR0cmlidXRlIGludG8gdHdvIGRpZmZlcmVudCBpbmRleGVzLCB0aGlzIGNvdW50cyBhcyB0d28gZGlzdGluY3QgYXR0cmlidXRlcyB3aGVuIGRldGVybWluaW5nIHRoZSB0b3RhbC5cbiAqL1xuTm9uS2V5QXR0cmlidXRlcz86IHN0cmluZ1tdXG4vKipcbiAqIFRoZSBzZXQgb2YgYXR0cmlidXRlcyB0aGF0IGFyZSBwcm9qZWN0ZWQgaW50byB0aGUgaW5kZXg6XG4gKiAgICsgICBgYEtFWVNfT05MWWBgIC0gT25seSB0aGUgaW5kZXggYW5kIHByaW1hcnkga2V5cyBhcmUgcHJvamVjdGVkIGludG8gdGhlIGluZGV4LlxuICogICArICAgYGBJTkNMVURFYGAgLSBJbiBhZGRpdGlvbiB0byB0aGUgYXR0cmlidXRlcyBkZXNjcmliZWQgaW4gYGBLRVlTX09OTFlgYCwgdGhlIHNlY29uZGFyeSBpbmRleCB3aWxsIGluY2x1ZGUgb3RoZXIgbm9uLWtleSBhdHRyaWJ1dGVzIHRoYXQgeW91IHNwZWNpZnkuXG4gKiAgICsgICBgYEFMTGBgIC0gQWxsIG9mIHRoZSB0YWJsZSBhdHRyaWJ1dGVzIGFyZSBwcm9qZWN0ZWQgaW50byB0aGUgaW5kZXguXG4gKiAgIFxuICogIFdoZW4gdXNpbmcgdGhlIER5bmFtb0RCIGNvbnNvbGUsIGBgQUxMYGAgaXMgc2VsZWN0ZWQgYnkgZGVmYXVsdC5cbiAqL1xuUHJvamVjdGlvblR5cGU/OiBzdHJpbmdcbn1cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgcHJvdmlzaW9uZWQgdGhyb3VnaHB1dCBzZXR0aW5ncyBmb3IgdGhlIHNwZWNpZmllZCBnbG9iYWwgc2Vjb25kYXJ5IGluZGV4LlxuICogIEZvciBjdXJyZW50IG1pbmltdW0gYW5kIG1heGltdW0gcHJvdmlzaW9uZWQgdGhyb3VnaHB1dCB2YWx1ZXMsIHNlZSBbU2VydmljZSwgQWNjb3VudCwgYW5kIFRhYmxlIFF1b3Rhc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FtYXpvbmR5bmFtb2RiL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9MaW1pdHMuaHRtbCkgaW4gdGhlICpBbWF6b24gRHluYW1vREIgRGV2ZWxvcGVyIEd1aWRlKi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm92aXNpb25lZFRocm91Z2hwdXQxIHtcbi8qKlxuICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHdyaXRlcyBjb25zdW1lZCBwZXIgc2Vjb25kIGJlZm9yZSBEeW5hbW9EQiByZXR1cm5zIGEgYGBUaHJvdHRsaW5nRXhjZXB0aW9uYGAuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW1NwZWNpZnlpbmcgUmVhZCBhbmQgV3JpdGUgUmVxdWlyZW1lbnRzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYW1hem9uZHluYW1vZGIvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL1Byb3Zpc2lvbmVkVGhyb3VnaHB1dC5odG1sKSBpbiB0aGUgKkFtYXpvbiBEeW5hbW9EQiBEZXZlbG9wZXIgR3VpZGUqLlxuICogIElmIHJlYWQvd3JpdGUgY2FwYWNpdHkgbW9kZSBpcyBgYFBBWV9QRVJfUkVRVUVTVGBgIHRoZSB2YWx1ZSBpcyBzZXQgdG8gMC5cbiAqL1xuV3JpdGVDYXBhY2l0eVVuaXRzOiBudW1iZXJcbi8qKlxuICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHN0cm9uZ2x5IGNvbnNpc3RlbnQgcmVhZHMgY29uc3VtZWQgcGVyIHNlY29uZCBiZWZvcmUgRHluYW1vREIgcmV0dXJucyBhIGBgVGhyb3R0bGluZ0V4Y2VwdGlvbmBgLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFtTcGVjaWZ5aW5nIFJlYWQgYW5kIFdyaXRlIFJlcXVpcmVtZW50c10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FtYXpvbmR5bmFtb2RiL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9Qcm92aXNpb25lZFRocm91Z2hwdXQuaHRtbCkgaW4gdGhlICpBbWF6b24gRHluYW1vREIgRGV2ZWxvcGVyIEd1aWRlKi5cbiAqICBJZiByZWFkL3dyaXRlIGNhcGFjaXR5IG1vZGUgaXMgYGBQQVlfUEVSX1JFUVVFU1RgYCB0aGUgdmFsdWUgaXMgc2V0IHRvIDAuXG4gKi9cblJlYWRDYXBhY2l0eVVuaXRzOiBudW1iZXJcbn1cbi8qKlxuICogUmVwcmVzZW50cyAqYSBzaW5nbGUgZWxlbWVudCogb2YgYSBrZXkgc2NoZW1hLiBBIGtleSBzY2hlbWEgc3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHRoYXQgbWFrZSB1cCB0aGUgcHJpbWFyeSBrZXkgb2YgYSB0YWJsZSwgb3IgdGhlIGtleSBhdHRyaWJ1dGVzIG9mIGFuIGluZGV4LlxuICogIEEgYGBLZXlTY2hlbWFFbGVtZW50YGAgcmVwcmVzZW50cyBleGFjdGx5IG9uZSBhdHRyaWJ1dGUgb2YgdGhlIHByaW1hcnkga2V5LiBGb3IgZXhhbXBsZSwgYSBzaW1wbGUgcHJpbWFyeSBrZXkgd291bGQgYmUgcmVwcmVzZW50ZWQgYnkgb25lIGBgS2V5U2NoZW1hRWxlbWVudGBgIChmb3IgdGhlIHBhcnRpdGlvbiBrZXkpLiBBIGNvbXBvc2l0ZSBwcmltYXJ5IGtleSB3b3VsZCByZXF1aXJlIG9uZSBgYEtleVNjaGVtYUVsZW1lbnRgYCBmb3IgdGhlIHBhcnRpdGlvbiBrZXksIGFuZCBhbm90aGVyIGBgS2V5U2NoZW1hRWxlbWVudGBgIGZvciB0aGUgc29ydCBrZXkuXG4gKiAgQSBgYEtleVNjaGVtYUVsZW1lbnRgYCBtdXN0IGJlIGEgc2NhbGFyLCB0b3AtbGV2ZWwgYXR0cmlidXRlIChub3QgYSBuZXN0ZWQgYXR0cmlidXRlKS4gVGhlIGRhdGEgdHlwZSBtdXN0IGJlIG9uZSBvZiBTdHJpbmcsIE51bWJlciwgb3IgQmluYXJ5LiBUaGUgYXR0cmlidXRlIGNhbm5vdCBiZSBuZXN0ZWQgd2l0aGluIGEgTGlzdCBvciBhIE1hcC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLZXlTY2hlbWEge1xuLyoqXG4gKiBUaGUgcm9sZSB0aGF0IHRoaXMga2V5IGF0dHJpYnV0ZSB3aWxsIGFzc3VtZTpcbiAqICAgKyAgIGBgSEFTSGBgIC0gcGFydGl0aW9uIGtleVxuICogICArICAgYGBSQU5HRWBgIC0gc29ydCBrZXlcbiAqICAgXG4gKiAgIFRoZSBwYXJ0aXRpb24ga2V5IG9mIGFuIGl0ZW0gaXMgYWxzbyBrbm93biBhcyBpdHMgKmhhc2ggYXR0cmlidXRlKi4gVGhlIHRlcm0gXCJoYXNoIGF0dHJpYnV0ZVwiIGRlcml2ZXMgZnJvbSBEeW5hbW9EQidzIHVzYWdlIG9mIGFuIGludGVybmFsIGhhc2ggZnVuY3Rpb24gdG8gZXZlbmx5IGRpc3RyaWJ1dGUgZGF0YSBpdGVtcyBhY3Jvc3MgcGFydGl0aW9ucywgYmFzZWQgb24gdGhlaXIgcGFydGl0aW9uIGtleSB2YWx1ZXMuXG4gKiAgVGhlIHNvcnQga2V5IG9mIGFuIGl0ZW0gaXMgYWxzbyBrbm93biBhcyBpdHMgKnJhbmdlIGF0dHJpYnV0ZSouIFRoZSB0ZXJtIFwicmFuZ2UgYXR0cmlidXRlXCIgZGVyaXZlcyBmcm9tIHRoZSB3YXkgRHluYW1vREIgc3RvcmVzIGl0ZW1zIHdpdGggdGhlIHNhbWUgcGFydGl0aW9uIGtleSBwaHlzaWNhbGx5IGNsb3NlIHRvZ2V0aGVyLCBpbiBzb3J0ZWQgb3JkZXIgYnkgdGhlIHNvcnQga2V5IHZhbHVlLlxuICovXG5LZXlUeXBlOiBzdHJpbmdcbi8qKlxuICogVGhlIG5hbWUgb2YgYSBrZXkgYXR0cmlidXRlLlxuICovXG5BdHRyaWJ1dGVOYW1lOiBzdHJpbmdcbn1cbi8qKlxuICogQSByZXNvdXJjZS1iYXNlZCBwb2xpY3kgZG9jdW1lbnQgdGhhdCBjb250YWlucyBwZXJtaXNzaW9ucyB0byBhZGQgdG8gdGhlIHNwZWNpZmllZCB0YWJsZS4gSW4gYSBDRk5zaG9ydCB0ZW1wbGF0ZSwgeW91IGNhbiBwcm92aWRlIHRoZSBwb2xpY3kgaW4gSlNPTiBvciBZQU1MIGZvcm1hdCBiZWNhdXNlIENGTnNob3J0IGNvbnZlcnRzIFlBTUwgdG8gSlNPTiBiZWZvcmUgc3VibWl0dGluZyBpdCB0byBEREIuIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHJlc291cmNlLWJhc2VkIHBvbGljaWVzLCBzZWUgW1VzaW5nIHJlc291cmNlLWJhc2VkIHBvbGljaWVzIGZvcl0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FtYXpvbmR5bmFtb2RiL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9hY2Nlc3MtY29udHJvbC1yZXNvdXJjZS1iYXNlZC5odG1sKSBhbmQgW1Jlc291cmNlLWJhc2VkIHBvbGljeSBleGFtcGxlc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FtYXpvbmR5bmFtb2RiL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9yYmFjLWV4YW1wbGVzLmh0bWwpLlxuICogIFdoZW4geW91IGF0dGFjaCBhIHJlc291cmNlLWJhc2VkIHBvbGljeSB3aGlsZSBjcmVhdGluZyBhIHRhYmxlLCB0aGUgcG9saWN5IGNyZWF0aW9uIGlzICpzdHJvbmdseSBjb25zaXN0ZW50Ki4gRm9yIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjb25zaWRlcmF0aW9ucyB0aGF0IHlvdSBzaG91bGQga2VlcCBpbiBtaW5kIHdoaWxlIGF0dGFjaGluZyBhIHJlc291cmNlLWJhc2VkIHBvbGljeSwgc2VlIFtSZXNvdXJjZS1iYXNlZCBwb2xpY3kgY29uc2lkZXJhdGlvbnNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hbWF6b25keW5hbW9kYi9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvcmJhYy1jb25zaWRlcmF0aW9ucy5odG1sKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZVBvbGljeTEge1xuLyoqXG4gKiBBIHJlc291cmNlLWJhc2VkIHBvbGljeSBkb2N1bWVudCB0aGF0IGNvbnRhaW5zIHBlcm1pc3Npb25zIHRvIGFkZCB0byB0aGUgc3BlY2lmaWVkIEREQiB0YWJsZSwgaW5kZXgsIG9yIGJvdGguIEluIGEgQ0ZOc2hvcnQgdGVtcGxhdGUsIHlvdSBjYW4gcHJvdmlkZSB0aGUgcG9saWN5IGluIEpTT04gb3IgWUFNTCBmb3JtYXQgYmVjYXVzZSBDRk5zaG9ydCBjb252ZXJ0cyBZQU1MIHRvIEpTT04gYmVmb3JlIHN1Ym1pdHRpbmcgaXQgdG8gRERCLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCByZXNvdXJjZS1iYXNlZCBwb2xpY2llcywgc2VlIFtVc2luZyByZXNvdXJjZS1iYXNlZCBwb2xpY2llcyBmb3JdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hbWF6b25keW5hbW9kYi9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvYWNjZXNzLWNvbnRyb2wtcmVzb3VyY2UtYmFzZWQuaHRtbCkgYW5kIFtSZXNvdXJjZS1iYXNlZCBwb2xpY3kgZXhhbXBsZXNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hbWF6b25keW5hbW9kYi9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvcmJhYy1leGFtcGxlcy5odG1sKS5cbiAqL1xuUG9saWN5RG9jdW1lbnQ6IHtcbltrOiBzdHJpbmddOiB1bmtub3duXG59XG59XG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIHByb3BlcnRpZXMgb2YgYSBsb2NhbCBzZWNvbmRhcnkgaW5kZXguIEEgbG9jYWwgc2Vjb25kYXJ5IGluZGV4IGNhbiBvbmx5IGJlIGNyZWF0ZWQgd2hlbiBpdHMgcGFyZW50IHRhYmxlIGlzIGNyZWF0ZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYWxTZWNvbmRhcnlJbmRleCB7XG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSBsb2NhbCBzZWNvbmRhcnkgaW5kZXguIFRoZSBuYW1lIG11c3QgYmUgdW5pcXVlIGFtb25nIGFsbCBvdGhlciBpbmRleGVzIG9uIHRoaXMgdGFibGUuXG4gKi9cbkluZGV4TmFtZTogc3RyaW5nXG5Qcm9qZWN0aW9uOiBQcm9qZWN0aW9uMVxuLyoqXG4gKiBUaGUgY29tcGxldGUga2V5IHNjaGVtYSBmb3IgdGhlIGxvY2FsIHNlY29uZGFyeSBpbmRleCwgY29uc2lzdGluZyBvZiBvbmUgb3IgbW9yZSBwYWlycyBvZiBhdHRyaWJ1dGUgbmFtZXMgYW5kIGtleSB0eXBlczpcbiAqICAgKyAgIGBgSEFTSGBgIC0gcGFydGl0aW9uIGtleVxuICogICArICAgYGBSQU5HRWBgIC0gc29ydCBrZXlcbiAqICAgXG4gKiAgIFRoZSBwYXJ0aXRpb24ga2V5IG9mIGFuIGl0ZW0gaXMgYWxzbyBrbm93biBhcyBpdHMgKmhhc2ggYXR0cmlidXRlKi4gVGhlIHRlcm0gXCJoYXNoIGF0dHJpYnV0ZVwiIGRlcml2ZXMgZnJvbSBEeW5hbW9EQidzIHVzYWdlIG9mIGFuIGludGVybmFsIGhhc2ggZnVuY3Rpb24gdG8gZXZlbmx5IGRpc3RyaWJ1dGUgZGF0YSBpdGVtcyBhY3Jvc3MgcGFydGl0aW9ucywgYmFzZWQgb24gdGhlaXIgcGFydGl0aW9uIGtleSB2YWx1ZXMuXG4gKiAgVGhlIHNvcnQga2V5IG9mIGFuIGl0ZW0gaXMgYWxzbyBrbm93biBhcyBpdHMgKnJhbmdlIGF0dHJpYnV0ZSouIFRoZSB0ZXJtIFwicmFuZ2UgYXR0cmlidXRlXCIgZGVyaXZlcyBmcm9tIHRoZSB3YXkgRHluYW1vREIgc3RvcmVzIGl0ZW1zIHdpdGggdGhlIHNhbWUgcGFydGl0aW9uIGtleSBwaHlzaWNhbGx5IGNsb3NlIHRvZ2V0aGVyLCBpbiBzb3J0ZWQgb3JkZXIgYnkgdGhlIHNvcnQga2V5IHZhbHVlLlxuICovXG5LZXlTY2hlbWE6IEtleVNjaGVtYVtdXG59XG4vKipcbiAqIFJlcHJlc2VudHMgYXR0cmlidXRlcyB0aGF0IGFyZSBjb3BpZWQgKHByb2plY3RlZCkgZnJvbSB0aGUgdGFibGUgaW50byB0aGUgbG9jYWwgc2Vjb25kYXJ5IGluZGV4LiBUaGVzZSBhcmUgaW4gYWRkaXRpb24gdG8gdGhlIHByaW1hcnkga2V5IGF0dHJpYnV0ZXMgYW5kIGluZGV4IGtleSBhdHRyaWJ1dGVzLCB3aGljaCBhcmUgYXV0b21hdGljYWxseSBwcm9qZWN0ZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvamVjdGlvbjEge1xuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBub24ta2V5IGF0dHJpYnV0ZSBuYW1lcyB3aGljaCB3aWxsIGJlIHByb2plY3RlZCBpbnRvIHRoZSBpbmRleC5cbiAqICBGb3IgbG9jYWwgc2Vjb25kYXJ5IGluZGV4ZXMsIHRoZSB0b3RhbCBjb3VudCBvZiBgYE5vbktleUF0dHJpYnV0ZXNgYCBzdW1tZWQgYWNyb3NzIGFsbCBvZiB0aGUgbG9jYWwgc2Vjb25kYXJ5IGluZGV4ZXMsIG11c3Qgbm90IGV4Y2VlZCAxMDAuIElmIHlvdSBwcm9qZWN0IHRoZSBzYW1lIGF0dHJpYnV0ZSBpbnRvIHR3byBkaWZmZXJlbnQgaW5kZXhlcywgdGhpcyBjb3VudHMgYXMgdHdvIGRpc3RpbmN0IGF0dHJpYnV0ZXMgd2hlbiBkZXRlcm1pbmluZyB0aGUgdG90YWwuXG4gKi9cbk5vbktleUF0dHJpYnV0ZXM/OiBzdHJpbmdbXVxuLyoqXG4gKiBUaGUgc2V0IG9mIGF0dHJpYnV0ZXMgdGhhdCBhcmUgcHJvamVjdGVkIGludG8gdGhlIGluZGV4OlxuICogICArICAgYGBLRVlTX09OTFlgYCAtIE9ubHkgdGhlIGluZGV4IGFuZCBwcmltYXJ5IGtleXMgYXJlIHByb2plY3RlZCBpbnRvIHRoZSBpbmRleC5cbiAqICAgKyAgIGBgSU5DTFVERWBgIC0gSW4gYWRkaXRpb24gdG8gdGhlIGF0dHJpYnV0ZXMgZGVzY3JpYmVkIGluIGBgS0VZU19PTkxZYGAsIHRoZSBzZWNvbmRhcnkgaW5kZXggd2lsbCBpbmNsdWRlIG90aGVyIG5vbi1rZXkgYXR0cmlidXRlcyB0aGF0IHlvdSBzcGVjaWZ5LlxuICogICArICAgYGBBTExgYCAtIEFsbCBvZiB0aGUgdGFibGUgYXR0cmlidXRlcyBhcmUgcHJvamVjdGVkIGludG8gdGhlIGluZGV4LlxuICogICBcbiAqICBXaGVuIHVzaW5nIHRoZSBEeW5hbW9EQiBjb25zb2xlLCBgYEFMTGBgIGlzIHNlbGVjdGVkIGJ5IGRlZmF1bHQuXG4gKi9cblByb2plY3Rpb25UeXBlPzogc3RyaW5nXG59XG4vKipcbiAqIERlc2NyaWJlcyBhIHRhZy4gQSB0YWcgaXMgYSBrZXktdmFsdWUgcGFpci4gWW91IGNhbiBhZGQgdXAgdG8gNTAgdGFncyB0byBhIHNpbmdsZSBEeW5hbW9EQiB0YWJsZS4gXG4gKiAgIEFXUy1hc3NpZ25lZCB0YWcgbmFtZXMgYW5kIHZhbHVlcyBhcmUgYXV0b21hdGljYWxseSBhc3NpZ25lZCB0aGUgYGBhd3M6YGAgcHJlZml4LCB3aGljaCB0aGUgdXNlciBjYW5ub3QgYXNzaWduLiBBV1MtYXNzaWduZWQgdGFnIG5hbWVzIGRvIG5vdCBjb3VudCB0b3dhcmRzIHRoZSB0YWcgbGltaXQgb2YgNTAuIFVzZXItYXNzaWduZWQgdGFnIG5hbWVzIGhhdmUgdGhlIHByZWZpeCBgYHVzZXI6YGAgaW4gdGhlIENvc3QgQWxsb2NhdGlvbiBSZXBvcnQuIFlvdSBjYW5ub3QgYmFja2RhdGUgdGhlIGFwcGxpY2F0aW9uIG9mIGEgdGFnLlxuICogIEZvciBhbiBvdmVydmlldyBvbiB0YWdnaW5nIER5bmFtb0RCIHJlc291cmNlcywgc2VlIFtUYWdnaW5nIGZvciBEeW5hbW9EQl0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FtYXpvbmR5bmFtb2RiL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9UYWdnaW5nLmh0bWwpIGluIHRoZSAqQW1hem9uIER5bmFtb0RCIERldmVsb3BlciBHdWlkZSouXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFnIHtcbi8qKlxuICogVGhlIHZhbHVlIG9mIHRoZSB0YWcuIFRhZyB2YWx1ZXMgYXJlIGNhc2Utc2Vuc2l0aXZlIGFuZCBjYW4gYmUgbnVsbC5cbiAqL1xuVmFsdWU6IHN0cmluZ1xuLyoqXG4gKiBUaGUga2V5IG9mIHRoZSB0YWcuIFRhZyBrZXlzIGFyZSBjYXNlIHNlbnNpdGl2ZS4gRWFjaCBEeW5hbW9EQiB0YWJsZSBjYW4gb25seSBoYXZlIHVwIHRvIG9uZSB0YWcgd2l0aCB0aGUgc2FtZSBrZXkuIElmIHlvdSB0cnkgdG8gYWRkIGFuIGV4aXN0aW5nIHRhZyAoc2FtZSBrZXkpLCB0aGUgZXhpc3RpbmcgdGFnIHZhbHVlIHdpbGwgYmUgdXBkYXRlZCB0byB0aGUgbmV3IHZhbHVlLlxuICovXG5LZXk6IHN0cmluZ1xufVxuLyoqXG4gKiBTcGVjaWZpZXMgdGhlIFRpbWUgdG8gTGl2ZSAoVFRMKSBzZXR0aW5ncyBmb3IgdGhlIHRhYmxlLlxuICogICBGb3IgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGxpbWl0cyBpbiBEeW5hbW9EQiwgc2VlIFtMaW1pdHMgaW4gQW1hem9uIER5bmFtb0RCXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYW1hem9uZHluYW1vZGIvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL0xpbWl0cy5odG1sKSBpbiB0aGUgQW1hem9uIER5bmFtb0RCIERldmVsb3BlciBHdWlkZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUaW1lVG9MaXZlU3BlY2lmaWNhdGlvbiB7XG4vKipcbiAqIEluZGljYXRlcyB3aGV0aGVyIFRUTCBpcyB0byBiZSBlbmFibGVkICh0cnVlKSBvciBkaXNhYmxlZCAoZmFsc2UpIG9uIHRoZSB0YWJsZS5cbiAqL1xuRW5hYmxlZDogYm9vbGVhblxuLyoqXG4gKiBUaGUgbmFtZSBvZiB0aGUgVFRMIGF0dHJpYnV0ZSB1c2VkIHRvIHN0b3JlIHRoZSBleHBpcmF0aW9uIHRpbWUgZm9yIGl0ZW1zIGluIHRoZSB0YWJsZS5cbiAqICAgICsgIFRoZSBgYEF0dHJpYnV0ZU5hbWVgYCBwcm9wZXJ0eSBpcyByZXF1aXJlZCB3aGVuIGVuYWJsaW5nIHRoZSBUVEwsIG9yIHdoZW4gVFRMIGlzIGFscmVhZHkgZW5hYmxlZC5cbiAqICAgKyAgVG8gdXBkYXRlIHRoaXMgcHJvcGVydHksIHlvdSBtdXN0IGZpcnN0IGRpc2FibGUgVFRMIGFuZCB0aGVuIGVuYWJsZSBUVEwgd2l0aCB0aGUgbmV3IGF0dHJpYnV0ZSBuYW1lLlxuICovXG5BdHRyaWJ1dGVOYW1lPzogc3RyaW5nXG59XG4iXX0=
|
|
@@ -110,6 +110,7 @@ export interface InstanceRequirementsRequest {
|
|
|
110
110
|
AllowedInstanceTypes?: string[];
|
|
111
111
|
NetworkBandwidthGbps?: NetworkBandwidthGbpsRequest;
|
|
112
112
|
AcceleratorCount?: AcceleratorCountRequest;
|
|
113
|
+
BaselinePerformanceFactors?: BaselinePerformanceFactorsRequest;
|
|
113
114
|
SpotMaxPricePercentageOverLowestPrice?: number;
|
|
114
115
|
BaselineEbsBandwidthMbps?: BaselineEbsBandwidthMbpsRequest;
|
|
115
116
|
AcceleratorNames?: ("a10g" | "a100" | "h100" | "inferentia" | "k520" | "k80" | "m60" | "radeon-pro-v520" | "t4" | "t4g" | "vu9p" | "v100")[];
|
|
@@ -141,6 +142,15 @@ export interface AcceleratorCountRequest {
|
|
|
141
142
|
Min?: number;
|
|
142
143
|
Max?: number;
|
|
143
144
|
}
|
|
145
|
+
export interface BaselinePerformanceFactorsRequest {
|
|
146
|
+
Cpu?: CpuPerformanceFactorRequest;
|
|
147
|
+
}
|
|
148
|
+
export interface CpuPerformanceFactorRequest {
|
|
149
|
+
References?: PerformanceFactorReferenceRequest[];
|
|
150
|
+
}
|
|
151
|
+
export interface PerformanceFactorReferenceRequest {
|
|
152
|
+
InstanceFamily?: string;
|
|
153
|
+
}
|
|
144
154
|
export interface BaselineEbsBandwidthMbpsRequest {
|
|
145
155
|
Min?: number;
|
|
146
156
|
Max?: number;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWVjMi1lYzJmbGVldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImF3cy1lYzItZWMyZmxlZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVzb3VyY2UgVHlwZSBkZWZpbml0aW9uIGZvciBBV1M6OkVDMjo6RUMyRmxlZXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBfQVdTX0VDMl9FQzJGTEVFVCB7XG5Db250ZXh0Pzogc3RyaW5nXG5UYXJnZXRDYXBhY2l0eVNwZWNpZmljYXRpb246IFRhcmdldENhcGFjaXR5U3BlY2lmaWNhdGlvblJlcXVlc3Rcbk9uRGVtYW5kT3B0aW9ucz86IE9uRGVtYW5kT3B0aW9uc1JlcXVlc3RcbkV4Y2Vzc0NhcGFjaXR5VGVybWluYXRpb25Qb2xpY3k/OiAoXCJ0ZXJtaW5hdGlvblwiIHwgXCJuby10ZXJtaW5hdGlvblwiKVxuVGFnU3BlY2lmaWNhdGlvbnM/OiBUYWdTcGVjaWZpY2F0aW9uW11cblNwb3RPcHRpb25zPzogU3BvdE9wdGlvbnNSZXF1ZXN0XG4vKipcbiAqIEBtYXhJdGVtcyA1MFxuICovXG5MYXVuY2hUZW1wbGF0ZUNvbmZpZ3M6IEZsZWV0TGF1bmNoVGVtcGxhdGVDb25maWdSZXF1ZXN0W11cblRlcm1pbmF0ZUluc3RhbmNlc1dpdGhFeHBpcmF0aW9uPzogYm9vbGVhblxuVmFsaWRVbnRpbD86IHN0cmluZ1xuVHlwZT86IChcIm1haW50YWluXCIgfCBcInJlcXVlc3RcIiB8IFwiaW5zdGFudFwiKVxuRmxlZXRJZD86IHN0cmluZ1xuVmFsaWRGcm9tPzogc3RyaW5nXG5SZXBsYWNlVW5oZWFsdGh5SW5zdGFuY2VzPzogYm9vbGVhblxufVxuZXhwb3J0IGludGVyZmFjZSBUYXJnZXRDYXBhY2l0eVNwZWNpZmljYXRpb25SZXF1ZXN0IHtcbkRlZmF1bHRUYXJnZXRDYXBhY2l0eVR5cGU/OiAoXCJvbi1kZW1hbmRcIiB8IFwic3BvdFwiKVxuVG90YWxUYXJnZXRDYXBhY2l0eTogbnVtYmVyXG5PbkRlbWFuZFRhcmdldENhcGFjaXR5PzogbnVtYmVyXG5TcG90VGFyZ2V0Q2FwYWNpdHk/OiBudW1iZXJcblRhcmdldENhcGFjaXR5VW5pdFR5cGU/OiAoXCJ2Y3B1XCIgfCBcIm1lbW9yeS1taWJcIiB8IFwidW5pdHNcIilcbn1cbmV4cG9ydCBpbnRlcmZhY2UgT25EZW1hbmRPcHRpb25zUmVxdWVzdCB7XG5TaW5nbGVBdmFpbGFiaWxpdHlab25lPzogYm9vbGVhblxuQWxsb2NhdGlvblN0cmF0ZWd5Pzogc3RyaW5nXG5TaW5nbGVJbnN0YW5jZVR5cGU/OiBib29sZWFuXG5NaW5UYXJnZXRDYXBhY2l0eT86IG51bWJlclxuTWF4VG90YWxQcmljZT86IHN0cmluZ1xuQ2FwYWNpdHlSZXNlcnZhdGlvbk9wdGlvbnM/OiBDYXBhY2l0eVJlc2VydmF0aW9uT3B0aW9uc1JlcXVlc3Rcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ2FwYWNpdHlSZXNlcnZhdGlvbk9wdGlvbnNSZXF1ZXN0IHtcblVzYWdlU3RyYXRlZ3k/OiBcInVzZS1jYXBhY2l0eS1yZXNlcnZhdGlvbnMtZmlyc3RcIlxufVxuZXhwb3J0IGludGVyZmFjZSBUYWdTcGVjaWZpY2F0aW9uIHtcblJlc291cmNlVHlwZT86IChcImNsaWVudC12cG4tZW5kcG9pbnRcIiB8IFwiY3VzdG9tZXItZ2F0ZXdheVwiIHwgXCJkZWRpY2F0ZWQtaG9zdFwiIHwgXCJkaGNwLW9wdGlvbnNcIiB8IFwiZWdyZXNzLW9ubHktaW50ZXJuZXQtZ2F0ZXdheVwiIHwgXCJlbGFzdGljLWdwdVwiIHwgXCJlbGFzdGljLWlwXCIgfCBcImV4cG9ydC1pbWFnZS10YXNrXCIgfCBcImV4cG9ydC1pbnN0YW5jZS10YXNrXCIgfCBcImZsZWV0XCIgfCBcImZwZ2EtaW1hZ2VcIiB8IFwiaG9zdC1yZXNlcnZhdGlvblwiIHwgXCJpbWFnZVwiIHwgXCJpbXBvcnQtaW1hZ2UtdGFza1wiIHwgXCJpbXBvcnQtc25hcHNob3QtdGFza1wiIHwgXCJpbnN0YW5jZVwiIHwgXCJpbnRlcm5ldC1nYXRld2F5XCIgfCBcImtleS1wYWlyXCIgfCBcImxhdW5jaC10ZW1wbGF0ZVwiIHwgXCJsb2NhbC1nYXRld2F5LXJvdXRlLXRhYmxlLXZwYy1hc3NvY2lhdGlvblwiIHwgXCJuYXRnYXRld2F5XCIgfCBcIm5ldHdvcmstYWNsXCIgfCBcIm5ldHdvcmstaW5zaWdodHMtYW5hbHlzaXNcIiB8IFwibmV0d29yay1pbnNpZ2h0cy1wYXRoXCIgfCBcIm5ldHdvcmstaW50ZXJmYWNlXCIgfCBcInBsYWNlbWVudC1ncm91cFwiIHwgXCJyZXNlcnZlZC1pbnN0YW5jZXNcIiB8IFwicm91dGUtdGFibGVcIiB8IFwic2VjdXJpdHktZ3JvdXBcIiB8IFwic25hcHNob3RcIiB8IFwic3BvdC1mbGVldC1yZXF1ZXN0XCIgfCBcInNwb3QtaW5zdGFuY2VzLXJlcXVlc3RcIiB8IFwic3VibmV0XCIgfCBcInRyYWZmaWMtbWlycm9yLWZpbHRlclwiIHwgXCJ0cmFmZmljLW1pcnJvci1zZXNzaW9uXCIgfCBcInRyYWZmaWMtbWlycm9yLXRhcmdldFwiIHwgXCJ0cmFuc2l0LWdhdGV3YXlcIiB8IFwidHJhbnNpdC1nYXRld2F5LWF0dGFjaG1lbnRcIiB8IFwidHJhbnNpdC1nYXRld2F5LWNvbm5lY3QtcGVlclwiIHwgXCJ0cmFuc2l0LWdhdGV3YXktbXVsdGljYXN0LWRvbWFpblwiIHwgXCJ0cmFuc2l0LWdhdGV3YXktcm91dGUtdGFibGVcIiB8IFwidm9sdW1lXCIgfCBcInZwY1wiIHwgXCJ2cGMtZmxvdy1sb2dcIiB8IFwidnBjLXBlZXJpbmctY29ubmVjdGlvblwiIHwgXCJ2cG4tY29ubmVjdGlvblwiIHwgXCJ2cG4tZ2F0ZXdheVwiKVxuVGFncz86IFRhZ1tdXG59XG5leHBvcnQgaW50ZXJmYWNlIFRhZyB7XG5WYWx1ZTogc3RyaW5nXG5LZXk6IHN0cmluZ1xufVxuZXhwb3J0IGludGVyZmFjZSBTcG90T3B0aW9uc1JlcXVlc3Qge1xuU2luZ2xlQXZhaWxhYmlsaXR5Wm9uZT86IGJvb2xlYW5cbkFsbG9jYXRpb25TdHJhdGVneT86IChcImxvd2VzdC1wcmljZVwiIHwgXCJsb3dlc3RQcmljZVwiIHwgXCJkaXZlcnNpZmllZFwiIHwgXCJjYXBhY2l0eU9wdGltaXplZFwiIHwgXCJjYXBhY2l0eS1vcHRpbWl6ZWRcIiB8IFwiY2FwYWNpdHlPcHRpbWl6ZWRQcmlvcml0aXplZFwiIHwgXCJjYXBhY2l0eS1vcHRpbWl6ZWQtcHJpb3JpdGl6ZWRcIiB8IFwicHJpY2VDYXBhY2l0eU9wdGltaXplZFwiIHwgXCJwcmljZS1jYXBhY2l0eS1vcHRpbWl6ZWRcIilcblNpbmdsZUluc3RhbmNlVHlwZT86IGJvb2xlYW5cbk1pblRhcmdldENhcGFjaXR5PzogbnVtYmVyXG5NYXhUb3RhbFByaWNlPzogc3RyaW5nXG5NYWludGVuYW5jZVN0cmF0ZWdpZXM/OiBNYWludGVuYW5jZVN0cmF0ZWdpZXNcbkluc3RhbmNlSW50ZXJydXB0aW9uQmVoYXZpb3I/OiAoXCJoaWJlcm5hdGVcIiB8IFwic3RvcFwiIHwgXCJ0ZXJtaW5hdGVcIilcbkluc3RhbmNlUG9vbHNUb1VzZUNvdW50PzogbnVtYmVyXG59XG5leHBvcnQgaW50ZXJmYWNlIE1haW50ZW5hbmNlU3RyYXRlZ2llcyB7XG5DYXBhY2l0eVJlYmFsYW5jZT86IENhcGFjaXR5UmViYWxhbmNlXG59XG5leHBvcnQgaW50ZXJmYWNlIENhcGFjaXR5UmViYWxhbmNlIHtcblRlcm1pbmF0aW9uRGVsYXk/OiBudW1iZXJcblJlcGxhY2VtZW50U3RyYXRlZ3k/OiAoXCJsYXVuY2hcIiB8IFwibGF1bmNoLWJlZm9yZS10ZXJtaW5hdGVcIilcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRmxlZXRMYXVuY2hUZW1wbGF0ZUNvbmZpZ1JlcXVlc3Qge1xuTGF1bmNoVGVtcGxhdGVTcGVjaWZpY2F0aW9uPzogRmxlZXRMYXVuY2hUZW1wbGF0ZVNwZWNpZmljYXRpb25SZXF1ZXN0XG5PdmVycmlkZXM/OiBGbGVldExhdW5jaFRlbXBsYXRlT3ZlcnJpZGVzUmVxdWVzdFtdXG59XG5leHBvcnQgaW50ZXJmYWNlIEZsZWV0TGF1bmNoVGVtcGxhdGVTcGVjaWZpY2F0aW9uUmVxdWVzdCB7XG5MYXVuY2hUZW1wbGF0ZU5hbWU/OiBzdHJpbmdcblZlcnNpb246IHN0cmluZ1xuTGF1bmNoVGVtcGxhdGVJZD86IHN0cmluZ1xufVxuZXhwb3J0IGludGVyZmFjZSBGbGVldExhdW5jaFRlbXBsYXRlT3ZlcnJpZGVzUmVxdWVzdCB7XG5XZWlnaHRlZENhcGFjaXR5PzogbnVtYmVyXG5QbGFjZW1lbnQ/OiBQbGFjZW1lbnRcblByaW9yaXR5PzogbnVtYmVyXG5BdmFpbGFiaWxpdHlab25lPzogc3RyaW5nXG5TdWJuZXRJZD86IHN0cmluZ1xuSW5zdGFuY2VSZXF1aXJlbWVudHM/OiBJbnN0YW5jZVJlcXVpcmVtZW50c1JlcXVlc3Rcbkluc3RhbmNlVHlwZT86IHN0cmluZ1xuTWF4UHJpY2U/OiBzdHJpbmdcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUGxhY2VtZW50IHtcbkdyb3VwTmFtZT86IHN0cmluZ1xuVGVuYW5jeT86IHN0cmluZ1xuU3ByZWFkRG9tYWluPzogc3RyaW5nXG5QYXJ0aXRpb25OdW1iZXI/OiBudW1iZXJcbkF2YWlsYWJpbGl0eVpvbmU/OiBzdHJpbmdcbkFmZmluaXR5Pzogc3RyaW5nXG5Ib3N0SWQ/OiBzdHJpbmdcbkhvc3RSZXNvdXJjZUdyb3VwQXJuPzogc3RyaW5nXG59XG5leHBvcnQgaW50ZXJmYWNlIEluc3RhbmNlUmVxdWlyZW1lbnRzUmVxdWVzdCB7XG5JbnN0YW5jZUdlbmVyYXRpb25zPzogKFwiY3VycmVudFwiIHwgXCJwcmV2aW91c1wiKVtdXG5NZW1vcnlHaUJQZXJWQ3B1PzogTWVtb3J5R2lCUGVyVkNwdVJlcXVlc3RcbkFjY2VsZXJhdG9yVHlwZXM/OiAoXCJncHVcIiB8IFwiZnBnYVwiIHwgXCJpbmZlcmVuY2VcIilbXVxuVkNwdUNvdW50PzogVkNwdUNvdW50UmFuZ2VSZXF1ZXN0XG5BY2NlbGVyYXRvck1hbnVmYWN0dXJlcnM/OiAoXCJhbWF6b24td2ViLXNlcnZpY2VzXCIgfCBcImFtZFwiIHwgXCJoYWJhbmFcIiB8IFwibnZpZGlhXCIgfCBcInhpbGlueFwiKVtdXG5Mb2NhbFN0b3JhZ2U/OiAoXCJpbmNsdWRlZFwiIHwgXCJyZXF1aXJlZFwiIHwgXCJleGNsdWRlZFwiKVxuQ3B1TWFudWZhY3R1cmVycz86IChcImludGVsXCIgfCBcImFtZFwiIHwgXCJhbWF6b24td2ViLXNlcnZpY2VzXCIgfCBcImFwcGxlXCIpW11cbkJhcmVNZXRhbD86IChcImluY2x1ZGVkXCIgfCBcInJlcXVpcmVkXCIgfCBcImV4Y2x1ZGVkXCIpXG5SZXF1aXJlSGliZXJuYXRlU3VwcG9ydD86IGJvb2xlYW5cbk1heFNwb3RQcmljZUFzUGVyY2VudGFnZU9mT3B0aW1hbE9uRGVtYW5kUHJpY2U/OiBudW1iZXJcbk9uRGVtYW5kTWF4UHJpY2VQZXJjZW50YWdlT3Zlckxvd2VzdFByaWNlPzogbnVtYmVyXG5NZW1vcnlNaUI/
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWVjMi1lYzJmbGVldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImF3cy1lYzItZWMyZmxlZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVzb3VyY2UgVHlwZSBkZWZpbml0aW9uIGZvciBBV1M6OkVDMjo6RUMyRmxlZXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBfQVdTX0VDMl9FQzJGTEVFVCB7XG5Db250ZXh0Pzogc3RyaW5nXG5UYXJnZXRDYXBhY2l0eVNwZWNpZmljYXRpb246IFRhcmdldENhcGFjaXR5U3BlY2lmaWNhdGlvblJlcXVlc3Rcbk9uRGVtYW5kT3B0aW9ucz86IE9uRGVtYW5kT3B0aW9uc1JlcXVlc3RcbkV4Y2Vzc0NhcGFjaXR5VGVybWluYXRpb25Qb2xpY3k/OiAoXCJ0ZXJtaW5hdGlvblwiIHwgXCJuby10ZXJtaW5hdGlvblwiKVxuVGFnU3BlY2lmaWNhdGlvbnM/OiBUYWdTcGVjaWZpY2F0aW9uW11cblNwb3RPcHRpb25zPzogU3BvdE9wdGlvbnNSZXF1ZXN0XG4vKipcbiAqIEBtYXhJdGVtcyA1MFxuICovXG5MYXVuY2hUZW1wbGF0ZUNvbmZpZ3M6IEZsZWV0TGF1bmNoVGVtcGxhdGVDb25maWdSZXF1ZXN0W11cblRlcm1pbmF0ZUluc3RhbmNlc1dpdGhFeHBpcmF0aW9uPzogYm9vbGVhblxuVmFsaWRVbnRpbD86IHN0cmluZ1xuVHlwZT86IChcIm1haW50YWluXCIgfCBcInJlcXVlc3RcIiB8IFwiaW5zdGFudFwiKVxuRmxlZXRJZD86IHN0cmluZ1xuVmFsaWRGcm9tPzogc3RyaW5nXG5SZXBsYWNlVW5oZWFsdGh5SW5zdGFuY2VzPzogYm9vbGVhblxufVxuZXhwb3J0IGludGVyZmFjZSBUYXJnZXRDYXBhY2l0eVNwZWNpZmljYXRpb25SZXF1ZXN0IHtcbkRlZmF1bHRUYXJnZXRDYXBhY2l0eVR5cGU/OiAoXCJvbi1kZW1hbmRcIiB8IFwic3BvdFwiKVxuVG90YWxUYXJnZXRDYXBhY2l0eTogbnVtYmVyXG5PbkRlbWFuZFRhcmdldENhcGFjaXR5PzogbnVtYmVyXG5TcG90VGFyZ2V0Q2FwYWNpdHk/OiBudW1iZXJcblRhcmdldENhcGFjaXR5VW5pdFR5cGU/OiAoXCJ2Y3B1XCIgfCBcIm1lbW9yeS1taWJcIiB8IFwidW5pdHNcIilcbn1cbmV4cG9ydCBpbnRlcmZhY2UgT25EZW1hbmRPcHRpb25zUmVxdWVzdCB7XG5TaW5nbGVBdmFpbGFiaWxpdHlab25lPzogYm9vbGVhblxuQWxsb2NhdGlvblN0cmF0ZWd5Pzogc3RyaW5nXG5TaW5nbGVJbnN0YW5jZVR5cGU/OiBib29sZWFuXG5NaW5UYXJnZXRDYXBhY2l0eT86IG51bWJlclxuTWF4VG90YWxQcmljZT86IHN0cmluZ1xuQ2FwYWNpdHlSZXNlcnZhdGlvbk9wdGlvbnM/OiBDYXBhY2l0eVJlc2VydmF0aW9uT3B0aW9uc1JlcXVlc3Rcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ2FwYWNpdHlSZXNlcnZhdGlvbk9wdGlvbnNSZXF1ZXN0IHtcblVzYWdlU3RyYXRlZ3k/OiBcInVzZS1jYXBhY2l0eS1yZXNlcnZhdGlvbnMtZmlyc3RcIlxufVxuZXhwb3J0IGludGVyZmFjZSBUYWdTcGVjaWZpY2F0aW9uIHtcblJlc291cmNlVHlwZT86IChcImNsaWVudC12cG4tZW5kcG9pbnRcIiB8IFwiY3VzdG9tZXItZ2F0ZXdheVwiIHwgXCJkZWRpY2F0ZWQtaG9zdFwiIHwgXCJkaGNwLW9wdGlvbnNcIiB8IFwiZWdyZXNzLW9ubHktaW50ZXJuZXQtZ2F0ZXdheVwiIHwgXCJlbGFzdGljLWdwdVwiIHwgXCJlbGFzdGljLWlwXCIgfCBcImV4cG9ydC1pbWFnZS10YXNrXCIgfCBcImV4cG9ydC1pbnN0YW5jZS10YXNrXCIgfCBcImZsZWV0XCIgfCBcImZwZ2EtaW1hZ2VcIiB8IFwiaG9zdC1yZXNlcnZhdGlvblwiIHwgXCJpbWFnZVwiIHwgXCJpbXBvcnQtaW1hZ2UtdGFza1wiIHwgXCJpbXBvcnQtc25hcHNob3QtdGFza1wiIHwgXCJpbnN0YW5jZVwiIHwgXCJpbnRlcm5ldC1nYXRld2F5XCIgfCBcImtleS1wYWlyXCIgfCBcImxhdW5jaC10ZW1wbGF0ZVwiIHwgXCJsb2NhbC1nYXRld2F5LXJvdXRlLXRhYmxlLXZwYy1hc3NvY2lhdGlvblwiIHwgXCJuYXRnYXRld2F5XCIgfCBcIm5ldHdvcmstYWNsXCIgfCBcIm5ldHdvcmstaW5zaWdodHMtYW5hbHlzaXNcIiB8IFwibmV0d29yay1pbnNpZ2h0cy1wYXRoXCIgfCBcIm5ldHdvcmstaW50ZXJmYWNlXCIgfCBcInBsYWNlbWVudC1ncm91cFwiIHwgXCJyZXNlcnZlZC1pbnN0YW5jZXNcIiB8IFwicm91dGUtdGFibGVcIiB8IFwic2VjdXJpdHktZ3JvdXBcIiB8IFwic25hcHNob3RcIiB8IFwic3BvdC1mbGVldC1yZXF1ZXN0XCIgfCBcInNwb3QtaW5zdGFuY2VzLXJlcXVlc3RcIiB8IFwic3VibmV0XCIgfCBcInRyYWZmaWMtbWlycm9yLWZpbHRlclwiIHwgXCJ0cmFmZmljLW1pcnJvci1zZXNzaW9uXCIgfCBcInRyYWZmaWMtbWlycm9yLXRhcmdldFwiIHwgXCJ0cmFuc2l0LWdhdGV3YXlcIiB8IFwidHJhbnNpdC1nYXRld2F5LWF0dGFjaG1lbnRcIiB8IFwidHJhbnNpdC1nYXRld2F5LWNvbm5lY3QtcGVlclwiIHwgXCJ0cmFuc2l0LWdhdGV3YXktbXVsdGljYXN0LWRvbWFpblwiIHwgXCJ0cmFuc2l0LWdhdGV3YXktcm91dGUtdGFibGVcIiB8IFwidm9sdW1lXCIgfCBcInZwY1wiIHwgXCJ2cGMtZmxvdy1sb2dcIiB8IFwidnBjLXBlZXJpbmctY29ubmVjdGlvblwiIHwgXCJ2cG4tY29ubmVjdGlvblwiIHwgXCJ2cG4tZ2F0ZXdheVwiKVxuVGFncz86IFRhZ1tdXG59XG5leHBvcnQgaW50ZXJmYWNlIFRhZyB7XG5WYWx1ZTogc3RyaW5nXG5LZXk6IHN0cmluZ1xufVxuZXhwb3J0IGludGVyZmFjZSBTcG90T3B0aW9uc1JlcXVlc3Qge1xuU2luZ2xlQXZhaWxhYmlsaXR5Wm9uZT86IGJvb2xlYW5cbkFsbG9jYXRpb25TdHJhdGVneT86IChcImxvd2VzdC1wcmljZVwiIHwgXCJsb3dlc3RQcmljZVwiIHwgXCJkaXZlcnNpZmllZFwiIHwgXCJjYXBhY2l0eU9wdGltaXplZFwiIHwgXCJjYXBhY2l0eS1vcHRpbWl6ZWRcIiB8IFwiY2FwYWNpdHlPcHRpbWl6ZWRQcmlvcml0aXplZFwiIHwgXCJjYXBhY2l0eS1vcHRpbWl6ZWQtcHJpb3JpdGl6ZWRcIiB8IFwicHJpY2VDYXBhY2l0eU9wdGltaXplZFwiIHwgXCJwcmljZS1jYXBhY2l0eS1vcHRpbWl6ZWRcIilcblNpbmdsZUluc3RhbmNlVHlwZT86IGJvb2xlYW5cbk1pblRhcmdldENhcGFjaXR5PzogbnVtYmVyXG5NYXhUb3RhbFByaWNlPzogc3RyaW5nXG5NYWludGVuYW5jZVN0cmF0ZWdpZXM/OiBNYWludGVuYW5jZVN0cmF0ZWdpZXNcbkluc3RhbmNlSW50ZXJydXB0aW9uQmVoYXZpb3I/OiAoXCJoaWJlcm5hdGVcIiB8IFwic3RvcFwiIHwgXCJ0ZXJtaW5hdGVcIilcbkluc3RhbmNlUG9vbHNUb1VzZUNvdW50PzogbnVtYmVyXG59XG5leHBvcnQgaW50ZXJmYWNlIE1haW50ZW5hbmNlU3RyYXRlZ2llcyB7XG5DYXBhY2l0eVJlYmFsYW5jZT86IENhcGFjaXR5UmViYWxhbmNlXG59XG5leHBvcnQgaW50ZXJmYWNlIENhcGFjaXR5UmViYWxhbmNlIHtcblRlcm1pbmF0aW9uRGVsYXk/OiBudW1iZXJcblJlcGxhY2VtZW50U3RyYXRlZ3k/OiAoXCJsYXVuY2hcIiB8IFwibGF1bmNoLWJlZm9yZS10ZXJtaW5hdGVcIilcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRmxlZXRMYXVuY2hUZW1wbGF0ZUNvbmZpZ1JlcXVlc3Qge1xuTGF1bmNoVGVtcGxhdGVTcGVjaWZpY2F0aW9uPzogRmxlZXRMYXVuY2hUZW1wbGF0ZVNwZWNpZmljYXRpb25SZXF1ZXN0XG5PdmVycmlkZXM/OiBGbGVldExhdW5jaFRlbXBsYXRlT3ZlcnJpZGVzUmVxdWVzdFtdXG59XG5leHBvcnQgaW50ZXJmYWNlIEZsZWV0TGF1bmNoVGVtcGxhdGVTcGVjaWZpY2F0aW9uUmVxdWVzdCB7XG5MYXVuY2hUZW1wbGF0ZU5hbWU/OiBzdHJpbmdcblZlcnNpb246IHN0cmluZ1xuTGF1bmNoVGVtcGxhdGVJZD86IHN0cmluZ1xufVxuZXhwb3J0IGludGVyZmFjZSBGbGVldExhdW5jaFRlbXBsYXRlT3ZlcnJpZGVzUmVxdWVzdCB7XG5XZWlnaHRlZENhcGFjaXR5PzogbnVtYmVyXG5QbGFjZW1lbnQ/OiBQbGFjZW1lbnRcblByaW9yaXR5PzogbnVtYmVyXG5BdmFpbGFiaWxpdHlab25lPzogc3RyaW5nXG5TdWJuZXRJZD86IHN0cmluZ1xuSW5zdGFuY2VSZXF1aXJlbWVudHM/OiBJbnN0YW5jZVJlcXVpcmVtZW50c1JlcXVlc3Rcbkluc3RhbmNlVHlwZT86IHN0cmluZ1xuTWF4UHJpY2U/OiBzdHJpbmdcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUGxhY2VtZW50IHtcbkdyb3VwTmFtZT86IHN0cmluZ1xuVGVuYW5jeT86IHN0cmluZ1xuU3ByZWFkRG9tYWluPzogc3RyaW5nXG5QYXJ0aXRpb25OdW1iZXI/OiBudW1iZXJcbkF2YWlsYWJpbGl0eVpvbmU/OiBzdHJpbmdcbkFmZmluaXR5Pzogc3RyaW5nXG5Ib3N0SWQ/OiBzdHJpbmdcbkhvc3RSZXNvdXJjZUdyb3VwQXJuPzogc3RyaW5nXG59XG5leHBvcnQgaW50ZXJmYWNlIEluc3RhbmNlUmVxdWlyZW1lbnRzUmVxdWVzdCB7XG5JbnN0YW5jZUdlbmVyYXRpb25zPzogKFwiY3VycmVudFwiIHwgXCJwcmV2aW91c1wiKVtdXG5NZW1vcnlHaUJQZXJWQ3B1PzogTWVtb3J5R2lCUGVyVkNwdVJlcXVlc3RcbkFjY2VsZXJhdG9yVHlwZXM/OiAoXCJncHVcIiB8IFwiZnBnYVwiIHwgXCJpbmZlcmVuY2VcIilbXVxuVkNwdUNvdW50PzogVkNwdUNvdW50UmFuZ2VSZXF1ZXN0XG5BY2NlbGVyYXRvck1hbnVmYWN0dXJlcnM/OiAoXCJhbWF6b24td2ViLXNlcnZpY2VzXCIgfCBcImFtZFwiIHwgXCJoYWJhbmFcIiB8IFwibnZpZGlhXCIgfCBcInhpbGlueFwiKVtdXG5Mb2NhbFN0b3JhZ2U/OiAoXCJpbmNsdWRlZFwiIHwgXCJyZXF1aXJlZFwiIHwgXCJleGNsdWRlZFwiKVxuQ3B1TWFudWZhY3R1cmVycz86IChcImludGVsXCIgfCBcImFtZFwiIHwgXCJhbWF6b24td2ViLXNlcnZpY2VzXCIgfCBcImFwcGxlXCIpW11cbkJhcmVNZXRhbD86IChcImluY2x1ZGVkXCIgfCBcInJlcXVpcmVkXCIgfCBcImV4Y2x1ZGVkXCIpXG5SZXF1aXJlSGliZXJuYXRlU3VwcG9ydD86IGJvb2xlYW5cbk1heFNwb3RQcmljZUFzUGVyY2VudGFnZU9mT3B0aW1hbE9uRGVtYW5kUHJpY2U/OiBudW1iZXJcbk9uRGVtYW5kTWF4UHJpY2VQZXJjZW50YWdlT3Zlckxvd2VzdFByaWNlPzogbnVtYmVyXG5NZW1vcnlNaUI/OiBNZW1vcnlNaUJSZXF1ZXN0XG5Mb2NhbFN0b3JhZ2VUeXBlcz86IChcImhkZFwiIHwgXCJzc2RcIilbXVxuTmV0d29ya0ludGVyZmFjZUNvdW50PzogTmV0d29ya0ludGVyZmFjZUNvdW50UmVxdWVzdFxuRXhjbHVkZWRJbnN0YW5jZVR5cGVzPzogc3RyaW5nW11cbkFsbG93ZWRJbnN0YW5jZVR5cGVzPzogc3RyaW5nW11cbk5ldHdvcmtCYW5kd2lkdGhHYnBzPzogTmV0d29ya0JhbmR3aWR0aEdicHNSZXF1ZXN0XG5BY2NlbGVyYXRvckNvdW50PzogQWNjZWxlcmF0b3JDb3VudFJlcXVlc3RcbkJhc2VsaW5lUGVyZm9ybWFuY2VGYWN0b3JzPzogQmFzZWxpbmVQZXJmb3JtYW5jZUZhY3RvcnNSZXF1ZXN0XG5TcG90TWF4UHJpY2VQZXJjZW50YWdlT3Zlckxvd2VzdFByaWNlPzogbnVtYmVyXG5CYXNlbGluZUVic0JhbmR3aWR0aE1icHM/OiBCYXNlbGluZUVic0JhbmR3aWR0aE1icHNSZXF1ZXN0XG5BY2NlbGVyYXRvck5hbWVzPzogKFwiYTEwZ1wiIHwgXCJhMTAwXCIgfCBcImgxMDBcIiB8IFwiaW5mZXJlbnRpYVwiIHwgXCJrNTIwXCIgfCBcIms4MFwiIHwgXCJtNjBcIiB8IFwicmFkZW9uLXByby12NTIwXCIgfCBcInQ0XCIgfCBcInQ0Z1wiIHwgXCJ2dTlwXCIgfCBcInYxMDBcIilbXVxuQWNjZWxlcmF0b3JUb3RhbE1lbW9yeU1pQj86IEFjY2VsZXJhdG9yVG90YWxNZW1vcnlNaUJSZXF1ZXN0XG5CdXJzdGFibGVQZXJmb3JtYW5jZT86IChcImluY2x1ZGVkXCIgfCBcInJlcXVpcmVkXCIgfCBcImV4Y2x1ZGVkXCIpXG5Ub3RhbExvY2FsU3RvcmFnZUdCPzogVG90YWxMb2NhbFN0b3JhZ2VHQlJlcXVlc3Rcbn1cbmV4cG9ydCBpbnRlcmZhY2UgTWVtb3J5R2lCUGVyVkNwdVJlcXVlc3Qge1xuTWluPzogbnVtYmVyXG5NYXg/OiBudW1iZXJcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVkNwdUNvdW50UmFuZ2VSZXF1ZXN0IHtcbk1pbj86IG51bWJlclxuTWF4PzogbnVtYmVyXG59XG5leHBvcnQgaW50ZXJmYWNlIE1lbW9yeU1pQlJlcXVlc3Qge1xuTWluPzogbnVtYmVyXG5NYXg/OiBudW1iZXJcbn1cbmV4cG9ydCBpbnRlcmZhY2UgTmV0d29ya0ludGVyZmFjZUNvdW50UmVxdWVzdCB7XG5NaW4/OiBudW1iZXJcbk1heD86IG51bWJlclxufVxuZXhwb3J0IGludGVyZmFjZSBOZXR3b3JrQmFuZHdpZHRoR2Jwc1JlcXVlc3Qge1xuTWluPzogbnVtYmVyXG5NYXg/OiBudW1iZXJcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQWNjZWxlcmF0b3JDb3VudFJlcXVlc3Qge1xuTWluPzogbnVtYmVyXG5NYXg/OiBudW1iZXJcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZWxpbmVQZXJmb3JtYW5jZUZhY3RvcnNSZXF1ZXN0IHtcbkNwdT86IENwdVBlcmZvcm1hbmNlRmFjdG9yUmVxdWVzdFxufVxuZXhwb3J0IGludGVyZmFjZSBDcHVQZXJmb3JtYW5jZUZhY3RvclJlcXVlc3Qge1xuUmVmZXJlbmNlcz86IFBlcmZvcm1hbmNlRmFjdG9yUmVmZXJlbmNlUmVxdWVzdFtdXG59XG5leHBvcnQgaW50ZXJmYWNlIFBlcmZvcm1hbmNlRmFjdG9yUmVmZXJlbmNlUmVxdWVzdCB7XG5JbnN0YW5jZUZhbWlseT86IHN0cmluZ1xufVxuZXhwb3J0IGludGVyZmFjZSBCYXNlbGluZUVic0JhbmR3aWR0aE1icHNSZXF1ZXN0IHtcbk1pbj86IG51bWJlclxuTWF4PzogbnVtYmVyXG59XG5leHBvcnQgaW50ZXJmYWNlIEFjY2VsZXJhdG9yVG90YWxNZW1vcnlNaUJSZXF1ZXN0IHtcbk1pbj86IG51bWJlclxuTWF4PzogbnVtYmVyXG59XG5leHBvcnQgaW50ZXJmYWNlIFRvdGFsTG9jYWxTdG9yYWdlR0JSZXF1ZXN0IHtcbk1pbj86IG51bWJlclxuTWF4PzogbnVtYmVyXG59XG4iXX0=
|