@horietakehiro/aws-cdk-utul 0.33.2 → 0.33.4

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.
Files changed (60) hide show
  1. package/README.md +12 -1
  2. package/lib/types/cfn-resource-types/aws-bedrock-datasource.d.ts +1 -1
  3. package/lib/types/cfn-resource-types/aws-bedrock-datasource.js +1 -1
  4. package/lib/types/cfn-resource-types/aws-bedrock-knowledgebase.d.ts +213 -1
  5. package/lib/types/cfn-resource-types/aws-bedrock-knowledgebase.js +1 -1
  6. package/lib/types/cfn-resource-types/aws-bedrock-promptversion.d.ts +158 -3
  7. package/lib/types/cfn-resource-types/aws-bedrock-promptversion.js +1 -1
  8. package/lib/types/cfn-resource-types/aws-codebuild-fleet.d.ts +1 -1
  9. package/lib/types/cfn-resource-types/aws-codebuild-fleet.js +1 -1
  10. package/lib/types/cfn-resource-types/aws-codepipeline-pipeline.d.ts +4 -0
  11. package/lib/types/cfn-resource-types/aws-codepipeline-pipeline.js +1 -1
  12. package/lib/types/cfn-resource-types/aws-connect-routingprofile.d.ts +1 -1
  13. package/lib/types/cfn-resource-types/aws-connect-routingprofile.js +1 -1
  14. package/lib/types/cfn-resource-types/aws-ec2-clientvpnendpoint.d.ts +1 -0
  15. package/lib/types/cfn-resource-types/aws-ec2-clientvpnendpoint.js +1 -1
  16. package/lib/types/cfn-resource-types/aws-ec2-verifiedaccessinstance.d.ts +12 -0
  17. package/lib/types/cfn-resource-types/aws-ec2-verifiedaccessinstance.js +1 -1
  18. package/lib/types/cfn-resource-types/aws-eks-nodegroup.d.ts +4 -0
  19. package/lib/types/cfn-resource-types/aws-eks-nodegroup.js +1 -1
  20. package/lib/types/cfn-resource-types/aws-elasticache-usergroup.d.ts +2 -2
  21. package/lib/types/cfn-resource-types/aws-elasticache-usergroup.js +1 -1
  22. package/lib/types/cfn-resource-types/aws-elasticloadbalancingv2-listener.d.ts +21 -0
  23. package/lib/types/cfn-resource-types/aws-elasticloadbalancingv2-listener.js +1 -1
  24. package/lib/types/cfn-resource-types/aws-elasticloadbalancingv2-loadbalancer.d.ts +7 -1
  25. package/lib/types/cfn-resource-types/aws-elasticloadbalancingv2-loadbalancer.js +1 -1
  26. package/lib/types/cfn-resource-types/aws-emrserverless-application.d.ts +10 -0
  27. package/lib/types/cfn-resource-types/aws-emrserverless-application.js +1 -1
  28. package/lib/types/cfn-resource-types/aws-iot-thingtype.d.ts +2 -2
  29. package/lib/types/cfn-resource-types/aws-iot-thingtype.js +1 -1
  30. package/lib/types/cfn-resource-types/aws-networkfirewall-firewall.d.ts +17 -17
  31. package/lib/types/cfn-resource-types/aws-networkfirewall-firewall.js +1 -1
  32. package/lib/types/cfn-resource-types/aws-notifications-channelassociation.d.ts +15 -0
  33. package/lib/types/cfn-resource-types/aws-notifications-channelassociation.js +3 -0
  34. package/lib/types/cfn-resource-types/aws-notifications-eventrule.d.ts +29 -0
  35. package/lib/types/cfn-resource-types/aws-notifications-eventrule.js +3 -0
  36. package/lib/types/cfn-resource-types/aws-notifications-managednotificationaccountcontactassociation.d.ts +15 -0
  37. package/lib/types/cfn-resource-types/aws-notifications-managednotificationaccountcontactassociation.js +3 -0
  38. package/lib/types/cfn-resource-types/aws-notifications-managednotificationadditionalchannelassociation.d.ts +15 -0
  39. package/lib/types/cfn-resource-types/aws-notifications-managednotificationadditionalchannelassociation.js +3 -0
  40. package/lib/types/cfn-resource-types/aws-notifications-notificationconfiguration.d.ts +22 -0
  41. package/lib/types/cfn-resource-types/aws-notifications-notificationconfiguration.js +3 -0
  42. package/lib/types/cfn-resource-types/aws-notifications-notificationhub.d.ts +17 -0
  43. package/lib/types/cfn-resource-types/aws-notifications-notificationhub.js +3 -0
  44. package/lib/types/cfn-resource-types/aws-notificationscontacts-emailcontact.d.ts +27 -0
  45. package/lib/types/cfn-resource-types/aws-notificationscontacts-emailcontact.js +3 -0
  46. package/lib/types/cfn-resource-types/aws-rds-dbshardgroup.d.ts +22 -13
  47. package/lib/types/cfn-resource-types/aws-rds-dbshardgroup.js +1 -1
  48. package/lib/types/cfn-resource-types/aws-sagemaker-domain.d.ts +1 -1
  49. package/lib/types/cfn-resource-types/aws-sagemaker-domain.js +1 -1
  50. package/lib/types/cfn-resource-types/aws-sagemaker-userprofile.d.ts +1 -1
  51. package/lib/types/cfn-resource-types/aws-sagemaker-userprofile.js +1 -1
  52. package/lib/types/cfn-resource-types/aws-securityhub-automationrule.d.ts +8 -48
  53. package/lib/types/cfn-resource-types/aws-securityhub-automationrule.js +1 -1
  54. package/lib/types/cfn-resource-types/aws-securityhub-findingaggregator.d.ts +6 -8
  55. package/lib/types/cfn-resource-types/aws-securityhub-findingaggregator.js +1 -1
  56. package/lib/types/cfn-resource-types/aws-sns-topic.d.ts +1 -0
  57. package/lib/types/cfn-resource-types/aws-sns-topic.js +1 -1
  58. package/lib/types/cfn-resource-types.d.ts +14 -0
  59. package/lib/types/cfn-resource-types.js +25 -11
  60. package/package.json +1 -1
package/README.md CHANGED
@@ -68,6 +68,10 @@ template.hasOutput("VPCARN", {
68
68
  })
69
69
  ```
70
70
 
71
+ `ExtraMatch.iamPolicyLike` method provides schemas for [IAM Policy document](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/reference_policies_grammar.html) - it's useful when defining tests for `AWS::IAM::Policy` and `AWS::IAM::Role`
72
+
73
+ ![](./docs/iam-policy-like.png)
74
+
71
75
  ---
72
76
 
73
77
  ## Install
@@ -78,7 +82,14 @@ npm install @horietakehiro/aws-cdk-utul
78
82
 
79
83
  ---
80
84
 
81
- ## Some notes
85
+ ## Release policy
86
+
87
+ This package will be released new version every 3 days, so that catching up updates of AWS CloudFormation resource types and those schemas which will be happened frequently and irregularly.
88
+
89
+ ---
90
+
91
+
92
+ ## Some other notes
82
93
 
83
94
  - Schemas of AWS CloudFormation resource types used in this library are based on [those at `us-east-1`](https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/resource-type-schemas.html)
84
95
  - Compatible with AWS CDK v2.0.0 or greater.
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * The type of the data source location.
3
3
  */
4
- export type DataSourceType = ("S3" | "CONFLUENCE" | "SALESFORCE" | "SHAREPOINT" | "WEB" | "CUSTOM");
4
+ export type DataSourceType = ("S3" | "CONFLUENCE" | "SALESFORCE" | "SHAREPOINT" | "WEB" | "CUSTOM" | "REDSHIFT_METADATA");
5
5
  /**
6
6
  * A set of regular expression filter patterns for a type of object.
7
7
  *
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWJlZHJvY2stZGF0YXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImF3cy1iZWRyb2NrLWRhdGFzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhlIHR5cGUgb2YgdGhlIGRhdGEgc291cmNlIGxvY2F0aW9uLlxuICovXG5leHBvcnQgdHlwZSBEYXRhU291cmNlVHlwZSA9IChcIlMzXCIgfCBcIkNPTkZMVUVOQ0VcIiB8IFwiU0FMRVNGT1JDRVwiIHwgXCJTSEFSRVBPSU5UXCIgfCBcIldFQlwiIHwgXCJDVVNUT01cIilcbi8qKlxuICogQSBzZXQgb2YgcmVndWxhciBleHByZXNzaW9uIGZpbHRlciBwYXR0ZXJucyBmb3IgYSB0eXBlIG9mIG9iamVjdC5cbiAqIFxuICogQG1pbkl0ZW1zIDFcbiAqIEBtYXhJdGVtcyAyNVxuICovXG5leHBvcnQgdHlwZSBGaWx0ZXJMaXN0ID0gc3RyaW5nW11cbi8qKlxuICogQ29udGFpbnMgaW5mb3JtYXRpb25cbiAqIFxuICogQG1pbkl0ZW1zIDFcbiAqIEBtYXhJdGVtcyAyNVxuICovXG5leHBvcnQgdHlwZSBQYXR0ZXJuT2JqZWN0RmlsdGVyTGlzdCA9IFBhdHRlcm5PYmplY3RGaWx0ZXJbXVxuLyoqXG4gKiBBIGxpc3Qgb2Ygd2ViIHVybHMuXG4gKiBcbiAqIEBtaW5JdGVtcyAxXG4gKiBAbWF4SXRlbXMgMTAwXG4gKi9cbmV4cG9ydCB0eXBlIFNlZWRVcmxzID0gU2VlZFVybFtdXG4vKipcbiAqIFRoZSBzY29wZSB0aGF0IGEgd2ViIGNyYXdsIGpvYiB3aWxsIGJlIHJlc3RyaWN0ZWQgdG8uXG4gKi9cbmV4cG9ydCB0eXBlIFdlYlNjb3BlVHlwZSA9IChcIkhPU1RfT05MWVwiIHwgXCJTVUJET01BSU5TXCIpXG4vKipcbiAqIFRoZSBzdGF0dXMgb2YgYSBkYXRhIHNvdXJjZS5cbiAqL1xuZXhwb3J0IHR5cGUgRGF0YVNvdXJjZVN0YXR1cyA9IChcIkFWQUlMQUJMRVwiIHwgXCJERUxFVElOR1wiIHwgXCJERUxFVEVfVU5TVUNDRVNTRlVMXCIpXG4vKipcbiAqIEtub3dsZWRnZSBiYXNlIGNhbiBzcGxpdCB5b3VyIHNvdXJjZSBkYXRhIGludG8gY2h1bmtzLiBBIGNodW5rIHJlZmVycyB0byBhbiBleGNlcnB0IGZyb20gYSBkYXRhIHNvdXJjZSB0aGF0IGlzIHJldHVybmVkIHdoZW4gdGhlIGtub3dsZWRnZSBiYXNlIHRoYXQgaXQgYmVsb25ncyB0byBpcyBxdWVyaWVkLiBZb3UgaGF2ZSB0aGUgZm9sbG93aW5nIG9wdGlvbnMgZm9yIGNodW5raW5nIHlvdXIgZGF0YS4gSWYgeW91IG9wdCBmb3IgTk9ORSwgdGhlbiB5b3UgbWF5IHdhbnQgdG8gcHJlLXByb2Nlc3MgeW91ciBmaWxlcyBieSBzcGxpdHRpbmcgdGhlbSB1cCBzdWNoIHRoYXQgZWFjaCBmaWxlIGNvcnJlc3BvbmRzIHRvIGEgY2h1bmsuXG4gKi9cbmV4cG9ydCB0eXBlIENodW5raW5nU3RyYXRlZ3kgPSAoXCJGSVhFRF9TSVpFXCIgfCBcIk5PTkVcIiB8IFwiSElFUkFSQ0hJQ0FMXCIgfCBcIlNFTUFOVElDXCIpXG4vKipcbiAqIFRoZSBwYXJzaW5nIHN0cmF0ZWd5IGZvciB0aGUgZGF0YSBzb3VyY2UuXG4gKi9cbmV4cG9ydCB0eXBlIFBhcnNpbmdTdHJhdGVneSA9IChcIkJFRFJPQ0tfRk9VTkRBVElPTl9NT0RFTFwiIHwgXCJCRURST0NLX0RBVEFfQVVUT01BVElPTlwiKVxuLyoqXG4gKiBEZXRlcm1pbmUgaG93IHdpbGwgcGFyc2VkIGNvbnRlbnQgYmUgc3RvcmVkLlxuICovXG5leHBvcnQgdHlwZSBQYXJzaW5nTW9kYWxpdHkgPSBcIk1VTFRJTU9EQUxcIlxuLyoqXG4gKiBUaGUgZGVsZXRpb24gcG9saWN5IGZvciB0aGUgZGF0YSBzb3VyY2UuXG4gKi9cbmV4cG9ydCB0eXBlIERhdGFEZWxldGlvblBvbGljeSA9IChcIlJFVEFJTlwiIHwgXCJERUxFVEVcIilcblxuLyoqXG4gKiBEZWZpbml0aW9uIG9mIEFXUzo6QmVkcm9jazo6RGF0YVNvdXJjZSBSZXNvdXJjZSBUeXBlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgX0FXU19CRURST0NLX0RBVEFTT1VSQ0Uge1xuRGF0YVNvdXJjZUNvbmZpZ3VyYXRpb246IERhdGFTb3VyY2VDb25maWd1cmF0aW9uXG4vKipcbiAqIElkZW50aWZpZXIgZm9yIGEgcmVzb3VyY2UuXG4gKi9cbkRhdGFTb3VyY2VJZD86IHN0cmluZ1xuLyoqXG4gKiBEZXNjcmlwdGlvbiBvZiB0aGUgUmVzb3VyY2UuXG4gKi9cbkRlc2NyaXB0aW9uPzogc3RyaW5nXG4vKipcbiAqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUga25vd2xlZGdlIGJhc2UgdG8gd2hpY2ggdG8gYWRkIHRoZSBkYXRhIHNvdXJjZS5cbiAqL1xuS25vd2xlZGdlQmFzZUlkOiBzdHJpbmdcbkRhdGFTb3VyY2VTdGF0dXM/OiBEYXRhU291cmNlU3RhdHVzXG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSBkYXRhIHNvdXJjZS5cbiAqL1xuTmFtZTogc3RyaW5nXG5TZXJ2ZXJTaWRlRW5jcnlwdGlvbkNvbmZpZ3VyYXRpb24/OiBTZXJ2ZXJTaWRlRW5jcnlwdGlvbkNvbmZpZ3VyYXRpb25cblZlY3RvckluZ2VzdGlvbkNvbmZpZ3VyYXRpb24/OiBWZWN0b3JJbmdlc3Rpb25Db25maWd1cmF0aW9uXG5EYXRhRGVsZXRpb25Qb2xpY3k/OiBEYXRhRGVsZXRpb25Qb2xpY3lcbi8qKlxuICogVGhlIHRpbWUgYXQgd2hpY2ggdGhlIGRhdGEgc291cmNlIHdhcyBjcmVhdGVkLlxuICovXG5DcmVhdGVkQXQ/OiBzdHJpbmdcbi8qKlxuICogVGhlIHRpbWUgYXQgd2hpY2ggdGhlIGtub3dsZWRnZSBiYXNlIHdhcyBsYXN0IHVwZGF0ZWQuXG4gKi9cblVwZGF0ZWRBdD86IHN0cmluZ1xuLyoqXG4gKiBUaGUgZGV0YWlscyBvZiB0aGUgZmFpbHVyZSByZWFzb25zIHJlbGF0ZWQgdG8gdGhlIGRhdGEgc291cmNlLlxuICogXG4gKiBAbWF4SXRlbXMgMjA0OFxuICovXG5GYWlsdXJlUmVhc29ucz86IHN0cmluZ1tdXG59XG4vKipcbiAqIFNwZWNpZmllcyBhIHJhdyBkYXRhIHNvdXJjZSBsb2NhdGlvbiB0byBpbmdlc3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVNvdXJjZUNvbmZpZ3VyYXRpb24ge1xuVHlwZTogRGF0YVNvdXJjZVR5cGVcblMzQ29uZmlndXJhdGlvbj86IFMzRGF0YVNvdXJjZUNvbmZpZ3VyYXRpb25cbkNvbmZsdWVuY2VDb25maWd1cmF0aW9uPzogQ29uZmx1ZW5jZURhdGFTb3VyY2VDb25maWd1cmF0aW9uXG5TYWxlc2ZvcmNlQ29uZmlndXJhdGlvbj86IFNhbGVzZm9yY2VEYXRhU291cmNlQ29uZmlndXJhdGlvblxuU2hhcmVQb2ludENvbmZpZ3VyYXRpb24/OiBTaGFyZVBvaW50RGF0YVNvdXJjZUNvbmZpZ3VyYXRpb25cbldlYkNvbmZpZ3VyYXRpb24/OiBXZWJEYXRhU291cmNlQ29uZmlndXJhdGlvblxufVxuLyoqXG4gKiBUaGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiB0byBjb25uZWN0IHRvIEFtYXpvbiBTMyBhcyB5b3VyIGRhdGEgc291cmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFMzRGF0YVNvdXJjZUNvbmZpZ3VyYXRpb24ge1xuLyoqXG4gKiBUaGUgQVJOIG9mIHRoZSBidWNrZXQgdGhhdCBjb250YWlucyB0aGUgZGF0YSBzb3VyY2UuXG4gKi9cbkJ1Y2tldEFybjogc3RyaW5nXG4vKipcbiAqIEEgbGlzdCBvZiBTMyBwcmVmaXhlcyB0aGF0IGRlZmluZSB0aGUgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGRhdGEgc291cmNlcy5cbiAqIFxuICogQG1pbkl0ZW1zIDFcbiAqIEBtYXhJdGVtcyAxXG4gKi9cbkluY2x1c2lvblByZWZpeGVzPzogc3RyaW5nW11cbi8qKlxuICogVGhlIGFjY291bnQgSUQgZm9yIHRoZSBvd25lciBvZiB0aGUgUzMgYnVja2V0LlxuICovXG5CdWNrZXRPd25lckFjY291bnRJZD86IHN0cmluZ1xufVxuLyoqXG4gKiBUaGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiB0byBjb25uZWN0IHRvIENvbmZsdWVuY2UgYXMgeW91ciBkYXRhIHNvdXJjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25mbHVlbmNlRGF0YVNvdXJjZUNvbmZpZ3VyYXRpb24ge1xuU291cmNlQ29uZmlndXJhdGlvbjogQ29uZmx1ZW5jZVNvdXJjZUNvbmZpZ3VyYXRpb25cbkNyYXdsZXJDb25maWd1cmF0aW9uPzogQ29uZmx1ZW5jZUNyYXdsZXJDb25maWd1cmF0aW9uXG59XG4vKipcbiAqIFRoZSBlbmRwb2ludCBpbmZvcm1hdGlvbiB0byBjb25uZWN0IHRvIHlvdXIgQ29uZmx1ZW5jZSBkYXRhIHNvdXJjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25mbHVlbmNlU291cmNlQ29uZmlndXJhdGlvbiB7XG4vKipcbiAqIFRoZSBDb25mbHVlbmNlIGhvc3QgVVJMIG9yIGluc3RhbmNlIFVSTC5cbiAqL1xuSG9zdFVybDogc3RyaW5nXG4vKipcbiAqIFRoZSBzdXBwb3J0ZWQgaG9zdCB0eXBlLCB3aGV0aGVyIG9ubGluZS9jbG91ZCBvciBzZXJ2ZXIvb24tcHJlbWlzZXMuXG4gKi9cbkhvc3RUeXBlOiBcIlNBQVNcIlxuLyoqXG4gKiBUaGUgc3VwcG9ydGVkIGF1dGhlbnRpY2F0aW9uIHR5cGUgdG8gYXV0aGVudGljYXRlIGFuZCBjb25uZWN0IHRvIHlvdXIgQ29uZmx1ZW5jZSBpbnN0YW5jZS5cbiAqL1xuQXV0aFR5cGU6IChcIkJBU0lDXCIgfCBcIk9BVVRIMl9DTElFTlRfQ1JFREVOVElBTFNcIilcbi8qKlxuICogVGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIG9mIGFuIEFXUyBTZWNyZXRzIE1hbmFnZXIgc2VjcmV0IHRoYXQgc3RvcmVzIHlvdXIgYXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMgZm9yIHlvdXIgQ29uZmx1ZW5jZSBpbnN0YW5jZSBVUkwuIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoZSBrZXktdmFsdWUgcGFpcnMgdGhhdCBtdXN0IGJlIGluY2x1ZGVkIGluIHlvdXIgc2VjcmV0LCBkZXBlbmRpbmcgb24geW91ciBhdXRoZW50aWNhdGlvbiB0eXBlLCBzZWUgQ29uZmx1ZW5jZSBjb25uZWN0aW9uIGNvbmZpZ3VyYXRpb24uXG4gKi9cbkNyZWRlbnRpYWxzU2VjcmV0QXJuOiBzdHJpbmdcbn1cbi8qKlxuICogVGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIENvbmZsdWVuY2UgY29udGVudC4gRm9yIGV4YW1wbGUsIGNvbmZpZ3VyaW5nIHNwZWNpZmljIHR5cGVzIG9mIENvbmZsdWVuY2UgY29udGVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25mbHVlbmNlQ3Jhd2xlckNvbmZpZ3VyYXRpb24ge1xuRmlsdGVyQ29uZmlndXJhdGlvbj86IENyYXdsRmlsdGVyQ29uZmlndXJhdGlvblxufVxuLyoqXG4gKiBUaGUgdHlwZSBvZiBmaWx0ZXJpbmcgdGhhdCB5b3Ugd2FudCB0byBhcHBseSB0byBjZXJ0YWluIG9iamVjdHMgb3IgY29udGVudCBvZiB0aGUgZGF0YSBzb3VyY2UuIEZvciBleGFtcGxlLCB0aGUgUEFUVEVSTiB0eXBlIGlzIHJlZ3VsYXIgZXhwcmVzc2lvbiBwYXR0ZXJucyB5b3UgY2FuIGFwcGx5IHRvIGZpbHRlciB5b3VyIGNvbnRlbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3Jhd2xGaWx0ZXJDb25maWd1cmF0aW9uIHtcbi8qKlxuICogVGhlIGNyYXdsIGZpbHRlciB0eXBlLlxuICovXG5UeXBlOiBcIlBBVFRFUk5cIlxuUGF0dGVybk9iamVjdEZpbHRlcj86IFBhdHRlcm5PYmplY3RGaWx0ZXJDb25maWd1cmF0aW9uXG59XG4vKipcbiAqIFRoZSBjb25maWd1cmF0aW9uIG9mIHNwZWNpZmljIGZpbHRlcnMgYXBwbGllZCB0byB5b3VyIGRhdGEgc291cmNlIGNvbnRlbnQuIFlvdSBjYW4gZmlsdGVyIG91dCBvciBpbmNsdWRlIGNlcnRhaW4gY29udGVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXR0ZXJuT2JqZWN0RmlsdGVyQ29uZmlndXJhdGlvbiB7XG5GaWx0ZXJzOiBQYXR0ZXJuT2JqZWN0RmlsdGVyTGlzdFxufVxuLyoqXG4gKiBUaGUgc3BlY2lmaWMgZmlsdGVycyBhcHBsaWVkIHRvIHlvdXIgZGF0YSBzb3VyY2UgY29udGVudC4gWW91IGNhbiBmaWx0ZXIgb3V0IG9yIGluY2x1ZGUgY2VydGFpbiBjb250ZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhdHRlcm5PYmplY3RGaWx0ZXIge1xuLyoqXG4gKiBUaGUgc3VwcG9ydGVkIG9iamVjdCB0eXBlIG9yIGNvbnRlbnQgdHlwZSBvZiB0aGUgZGF0YSBzb3VyY2UuXG4gKi9cbk9iamVjdFR5cGU6IHN0cmluZ1xuSW5jbHVzaW9uRmlsdGVycz86IEZpbHRlckxpc3RcbkV4Y2x1c2lvbkZpbHRlcnM/OiBGaWx0ZXJMaXN0XG59XG4vKipcbiAqIFRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIHRvIGNvbm5lY3QgdG8gU2FsZXNmb3JjZSBhcyB5b3VyIGRhdGEgc291cmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhbGVzZm9yY2VEYXRhU291cmNlQ29uZmlndXJhdGlvbiB7XG5Tb3VyY2VDb25maWd1cmF0aW9uOiBTYWxlc2ZvcmNlU291cmNlQ29uZmlndXJhdGlvblxuQ3Jhd2xlckNvbmZpZ3VyYXRpb24/OiBTYWxlc2ZvcmNlQ3Jhd2xlckNvbmZpZ3VyYXRpb25cbn1cbi8qKlxuICogVGhlIGVuZHBvaW50IGluZm9ybWF0aW9uIHRvIGNvbm5lY3QgdG8geW91ciBTYWxlc2ZvcmNlIGRhdGEgc291cmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhbGVzZm9yY2VTb3VyY2VDb25maWd1cmF0aW9uIHtcbi8qKlxuICogVGhlIFNhbGVzZm9yY2UgaG9zdCBVUkwgb3IgaW5zdGFuY2UgVVJMLlxuICovXG5Ib3N0VXJsOiBzdHJpbmdcbi8qKlxuICogVGhlIHN1cHBvcnRlZCBhdXRoZW50aWNhdGlvbiB0eXBlIHRvIGF1dGhlbnRpY2F0ZSBhbmQgY29ubmVjdCB0byB5b3VyIFNhbGVzZm9yY2UgaW5zdGFuY2UuXG4gKi9cbkF1dGhUeXBlOiBcIk9BVVRIMl9DTElFTlRfQ1JFREVOVElBTFNcIlxuLyoqXG4gKiBUaGUgQW1hem9uIFJlc291cmNlIE5hbWUgb2YgYW4gQVdTIFNlY3JldHMgTWFuYWdlciBzZWNyZXQgdGhhdCBzdG9yZXMgeW91ciBhdXRoZW50aWNhdGlvbiBjcmVkZW50aWFscyBmb3IgeW91ciBTYWxlc2ZvcmNlIGluc3RhbmNlIFVSTC4gRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhlIGtleS12YWx1ZSBwYWlycyB0aGF0IG11c3QgYmUgaW5jbHVkZWQgaW4geW91ciBzZWNyZXQsIGRlcGVuZGluZyBvbiB5b3VyIGF1dGhlbnRpY2F0aW9uIHR5cGUsIHNlZSBTYWxlc2ZvcmNlIGNvbm5lY3Rpb24gY29uZmlndXJhdGlvbi5cbiAqL1xuQ3JlZGVudGlhbHNTZWNyZXRBcm46IHN0cmluZ1xufVxuLyoqXG4gKiBUaGUgY29uZmlndXJhdGlvbiBvZiBmaWx0ZXJpbmcgdGhlIFNhbGVzZm9yY2UgY29udGVudC4gRm9yIGV4YW1wbGUsIGNvbmZpZ3VyaW5nIHJlZ3VsYXIgZXhwcmVzc2lvbiBwYXR0ZXJucyB0byBpbmNsdWRlIG9yIGV4Y2x1ZGUgY2VydGFpbiBjb250ZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhbGVzZm9yY2VDcmF3bGVyQ29uZmlndXJhdGlvbiB7XG5GaWx0ZXJDb25maWd1cmF0aW9uPzogQ3Jhd2xGaWx0ZXJDb25maWd1cmF0aW9uXG59XG4vKipcbiAqIFRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIHRvIGNvbm5lY3QgdG8gU2hhcmVQb2ludCBhcyB5b3VyIGRhdGEgc291cmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNoYXJlUG9pbnREYXRhU291cmNlQ29uZmlndXJhdGlvbiB7XG5Tb3VyY2VDb25maWd1cmF0aW9uOiBTaGFyZVBvaW50U291cmNlQ29uZmlndXJhdGlvblxuQ3Jhd2xlckNvbmZpZ3VyYXRpb24/OiBTaGFyZVBvaW50Q3Jhd2xlckNvbmZpZ3VyYXRpb25cbn1cbi8qKlxuICogVGhlIGVuZHBvaW50IGluZm9ybWF0aW9uIHRvIGNvbm5lY3QgdG8geW91ciBTaGFyZVBvaW50IGRhdGEgc291cmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNoYXJlUG9pbnRTb3VyY2VDb25maWd1cmF0aW9uIHtcbi8qKlxuICogQSBsaXN0IG9mIG9uZSBvciBtb3JlIFNoYXJlUG9pbnQgc2l0ZSBVUkxzLlxuICogXG4gKiBAbWluSXRlbXMgMVxuICogQG1heEl0ZW1zIDEwMFxuICovXG5TaXRlVXJsczogc3RyaW5nW11cbi8qKlxuICogVGhlIHN1cHBvcnRlZCBob3N0IHR5cGUsIHdoZXRoZXIgb25saW5lL2Nsb3VkIG9yIHNlcnZlci9vbi1wcmVtaXNlcy5cbiAqL1xuSG9zdFR5cGU6IFwiT05MSU5FXCJcbi8qKlxuICogVGhlIHN1cHBvcnRlZCBhdXRoZW50aWNhdGlvbiB0eXBlIHRvIGF1dGhlbnRpY2F0ZSBhbmQgY29ubmVjdCB0byB5b3VyIFNoYXJlUG9pbnQgc2l0ZS9zaXRlcy5cbiAqL1xuQXV0aFR5cGU6IFwiT0FVVEgyX0NMSUVOVF9DUkVERU5USUFMU1wiXG4vKipcbiAqIFRoZSBBbWF6b24gUmVzb3VyY2UgTmFtZSBvZiBhbiBBV1MgU2VjcmV0cyBNYW5hZ2VyIHNlY3JldCB0aGF0IHN0b3JlcyB5b3VyIGF1dGhlbnRpY2F0aW9uIGNyZWRlbnRpYWxzIGZvciB5b3VyIFNoYXJlUG9pbnQgc2l0ZS9zaXRlcy4gRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhlIGtleS12YWx1ZSBwYWlycyB0aGF0IG11c3QgYmUgaW5jbHVkZWQgaW4geW91ciBzZWNyZXQsIGRlcGVuZGluZyBvbiB5b3VyIGF1dGhlbnRpY2F0aW9uIHR5cGUsIHNlZSBTaGFyZVBvaW50IGNvbm5lY3Rpb24gY29uZmlndXJhdGlvbi5cbiAqL1xuQ3JlZGVudGlhbHNTZWNyZXRBcm46IHN0cmluZ1xuLyoqXG4gKiBUaGUgaWRlbnRpZmllciBvZiB5b3VyIE1pY3Jvc29mdCAzNjUgdGVuYW50LlxuICovXG5UZW5hbnRJZD86IHN0cmluZ1xuLyoqXG4gKiBUaGUgZG9tYWluIG9mIHlvdXIgU2hhcmVQb2ludCBpbnN0YW5jZSBvciBzaXRlIFVSTC9VUkxzLlxuICovXG5Eb21haW46IHN0cmluZ1xufVxuLyoqXG4gKiBUaGUgY29uZmlndXJhdGlvbiBvZiB0aGUgU2hhcmVQb2ludCBjb250ZW50LiBGb3IgZXhhbXBsZSwgY29uZmlndXJpbmcgc3BlY2lmaWMgdHlwZXMgb2YgU2hhcmVQb2ludCBjb250ZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNoYXJlUG9pbnRDcmF3bGVyQ29uZmlndXJhdGlvbiB7XG5GaWx0ZXJDb25maWd1cmF0aW9uPzogQ3Jhd2xGaWx0ZXJDb25maWd1cmF0aW9uXG59XG4vKipcbiAqIENvbmZpZ3VyZXMgYSB3ZWIgZGF0YSBzb3VyY2UgbG9jYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2ViRGF0YVNvdXJjZUNvbmZpZ3VyYXRpb24ge1xuU291cmNlQ29uZmlndXJhdGlvbjogV2ViU291cmNlQ29uZmlndXJhdGlvblxuQ3Jhd2xlckNvbmZpZ3VyYXRpb24/OiBXZWJDcmF3bGVyQ29uZmlndXJhdGlvblxufVxuLyoqXG4gKiBBIHdlYiBzb3VyY2UgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXZWJTb3VyY2VDb25maWd1cmF0aW9uIHtcblVybENvbmZpZ3VyYXRpb246IFVybENvbmZpZ3VyYXRpb25cbn1cbi8qKlxuICogQSB1cmwgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVcmxDb25maWd1cmF0aW9uIHtcblNlZWRVcmxzOiBTZWVkVXJsc1xufVxuLyoqXG4gKiBBIHNlZWQgdXJsIG9iamVjdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWVkVXJsIHtcbi8qKlxuICogQSB3ZWIgdXJsLlxuICovXG5Vcmw6IHN0cmluZ1xufVxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUgd2ViIGNyYXdsZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2ViQ3Jhd2xlckNvbmZpZ3VyYXRpb24ge1xuQ3Jhd2xlckxpbWl0cz86IFdlYkNyYXdsZXJMaW1pdHNcbkluY2x1c2lvbkZpbHRlcnM/OiBGaWx0ZXJMaXN0XG5FeGNsdXNpb25GaWx0ZXJzPzogRmlsdGVyTGlzdFxuU2NvcGU/OiBXZWJTY29wZVR5cGVcbn1cbi8qKlxuICogTGltaXQgc2V0dGluZ3MgZm9yIHRoZSB3ZWIgY3Jhd2xlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXZWJDcmF3bGVyTGltaXRzIHtcbi8qKlxuICogUmF0ZSBvZiB3ZWIgVVJMcyByZXRyaWV2ZWQgcGVyIG1pbnV0ZS5cbiAqL1xuUmF0ZUxpbWl0PzogbnVtYmVyXG59XG4vKipcbiAqIENvbnRhaW5zIGRldGFpbHMgYWJvdXQgdGhlIHNlcnZlci1zaWRlIGVuY3J5cHRpb24gZm9yIHRoZSBkYXRhIHNvdXJjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZXJ2ZXJTaWRlRW5jcnlwdGlvbkNvbmZpZ3VyYXRpb24ge1xuLyoqXG4gKiBUaGUgQVJOIG9mIHRoZSBBV1MgS01TIGtleSB1c2VkIHRvIGVuY3J5cHQgdGhlIHJlc291cmNlLlxuICovXG5LbXNLZXlBcm4/OiBzdHJpbmdcbn1cbi8qKlxuICogRGV0YWlscyBhYm91dCBob3cgdG8gY2h1bmsgdGhlIGRvY3VtZW50cyBpbiB0aGUgZGF0YSBzb3VyY2UuIEEgY2h1bmsgcmVmZXJzIHRvIGFuIGV4Y2VycHQgZnJvbSBhIGRhdGEgc291cmNlIHRoYXQgaXMgcmV0dXJuZWQgd2hlbiB0aGUga25vd2xlZGdlIGJhc2UgdGhhdCBpdCBiZWxvbmdzIHRvIGlzIHF1ZXJpZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmVjdG9ySW5nZXN0aW9uQ29uZmlndXJhdGlvbiB7XG5DaHVua2luZ0NvbmZpZ3VyYXRpb24/OiBDaHVua2luZ0NvbmZpZ3VyYXRpb25cbkN1c3RvbVRyYW5zZm9ybWF0aW9uQ29uZmlndXJhdGlvbj86IEN1c3RvbVRyYW5zZm9ybWF0aW9uQ29uZmlndXJhdGlvblxuUGFyc2luZ0NvbmZpZ3VyYXRpb24/OiBQYXJzaW5nQ29uZmlndXJhdGlvblxufVxuLyoqXG4gKiBEZXRhaWxzIGFib3V0IGhvdyB0byBjaHVuayB0aGUgZG9jdW1lbnRzIGluIHRoZSBkYXRhIHNvdXJjZS4gQSBjaHVuayByZWZlcnMgdG8gYW4gZXhjZXJwdCBmcm9tIGEgZGF0YSBzb3VyY2UgdGhhdCBpcyByZXR1cm5lZCB3aGVuIHRoZSBrbm93bGVkZ2UgYmFzZSB0aGF0IGl0IGJlbG9uZ3MgdG8gaXMgcXVlcmllZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaHVua2luZ0NvbmZpZ3VyYXRpb24ge1xuQ2h1bmtpbmdTdHJhdGVneTogQ2h1bmtpbmdTdHJhdGVneVxuRml4ZWRTaXplQ2h1bmtpbmdDb25maWd1cmF0aW9uPzogRml4ZWRTaXplQ2h1bmtpbmdDb25maWd1cmF0aW9uXG5IaWVyYXJjaGljYWxDaHVua2luZ0NvbmZpZ3VyYXRpb24/OiBIaWVyYXJjaGljYWxDaHVua2luZ0NvbmZpZ3VyYXRpb25cblNlbWFudGljQ2h1bmtpbmdDb25maWd1cmF0aW9uPzogU2VtYW50aWNDaHVua2luZ0NvbmZpZ3VyYXRpb25cbn1cbi8qKlxuICogQ29uZmlndXJhdGlvbnMgZm9yIHdoZW4geW91IGNob29zZSBmaXhlZC1zaXplIGNodW5raW5nLiBJZiB5b3Ugc2V0IHRoZSBjaHVua2luZ1N0cmF0ZWd5IGFzIE5PTkUsIGV4Y2x1ZGUgdGhpcyBmaWVsZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaXhlZFNpemVDaHVua2luZ0NvbmZpZ3VyYXRpb24ge1xuLyoqXG4gKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgdG9rZW5zIHRvIGluY2x1ZGUgaW4gYSBjaHVuay5cbiAqL1xuTWF4VG9rZW5zOiBudW1iZXJcbi8qKlxuICogVGhlIHBlcmNlbnRhZ2Ugb2Ygb3ZlcmxhcCBiZXR3ZWVuIGFkamFjZW50IGNodW5rcyBvZiBhIGRhdGEgc291cmNlLlxuICovXG5PdmVybGFwUGVyY2VudGFnZTogbnVtYmVyXG59XG4vKipcbiAqIENvbmZpZ3VyYXRpb25zIGZvciB3aGVuIHlvdSBjaG9vc2UgaGllcmFyY2hpY2FsIGNodW5raW5nLiBJZiB5b3Ugc2V0IHRoZSBjaHVua2luZ1N0cmF0ZWd5IGFzIE5PTkUsIGV4Y2x1ZGUgdGhpcyBmaWVsZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIaWVyYXJjaGljYWxDaHVua2luZ0NvbmZpZ3VyYXRpb24ge1xuLyoqXG4gKiBUb2tlbiBzZXR0aW5ncyBmb3IgZWFjaCBsYXllci5cbiAqIFxuICogQG1pbkl0ZW1zIDJcbiAqIEBtYXhJdGVtcyAyXG4gKi9cbkxldmVsQ29uZmlndXJhdGlvbnM6IEhpZXJhcmNoaWNhbENodW5raW5nTGV2ZWxDb25maWd1cmF0aW9uW11cbi8qKlxuICogVGhlIG51bWJlciBvZiB0b2tlbnMgdG8gcmVwZWF0IGFjcm9zcyBjaHVua3MgaW4gdGhlIHNhbWUgbGF5ZXIuXG4gKi9cbk92ZXJsYXBUb2tlbnM6IG51bWJlclxufVxuLyoqXG4gKiBUb2tlbiBzZXR0aW5ncyBmb3IgYSBsYXllciBpbiBhIGhpZXJhcmNoaWNhbCBjaHVua2luZyBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhpZXJhcmNoaWNhbENodW5raW5nTGV2ZWxDb25maWd1cmF0aW9uIHtcbi8qKlxuICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHRva2VucyB0aGF0IGEgY2h1bmsgY2FuIGNvbnRhaW4gaW4gdGhpcyBsYXllci5cbiAqL1xuTWF4VG9rZW5zOiBudW1iZXJcbn1cbi8qKlxuICogQ29uZmlndXJhdGlvbnMgZm9yIHdoZW4geW91IGNob29zZSBzZW1hbnRpYyBjaHVua2luZy4gSWYgeW91IHNldCB0aGUgY2h1bmtpbmdTdHJhdGVneSBhcyBOT05FLCBleGNsdWRlIHRoaXMgZmllbGQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VtYW50aWNDaHVua2luZ0NvbmZpZ3VyYXRpb24ge1xuLyoqXG4gKiBUaGUgZGlzc2ltaWxhcml0eSB0aHJlc2hvbGQgZm9yIHNwbGl0dGluZyBjaHVua3MuXG4gKi9cbkJyZWFrcG9pbnRQZXJjZW50aWxlVGhyZXNob2xkOiBudW1iZXJcbi8qKlxuICogVGhlIGJ1ZmZlciBzaXplLlxuICovXG5CdWZmZXJTaXplOiBudW1iZXJcbi8qKlxuICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHRva2VucyB0aGF0IGEgY2h1bmsgY2FuIGNvbnRhaW4uXG4gKi9cbk1heFRva2VuczogbnVtYmVyXG59XG4vKipcbiAqIFNldHRpbmdzIGZvciBjdXN0b21pemluZyBzdGVwcyBpbiB0aGUgZGF0YSBzb3VyY2UgY29udGVudCBpbmdlc3Rpb24gcGlwZWxpbmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tVHJhbnNmb3JtYXRpb25Db25maWd1cmF0aW9uIHtcbkludGVybWVkaWF0ZVN0b3JhZ2U6IEludGVybWVkaWF0ZVN0b3JhZ2Vcbi8qKlxuICogQSBsaXN0IG9mIExhbWJkYSBmdW5jdGlvbnMgdGhhdCBwcm9jZXNzIGRvY3VtZW50cy5cbiAqIFxuICogQG1pbkl0ZW1zIDFcbiAqIEBtYXhJdGVtcyAxXG4gKi9cblRyYW5zZm9ybWF0aW9uczogVHJhbnNmb3JtYXRpb25bXVxufVxuLyoqXG4gKiBBIGxvY2F0aW9uIGZvciBzdG9yaW5nIGNvbnRlbnQgZnJvbSBkYXRhIHNvdXJjZXMgdGVtcG9yYXJpbHkgYXMgaXQgaXMgcHJvY2Vzc2VkIGJ5IGN1c3RvbSBjb21wb25lbnRzIGluIHRoZSBpbmdlc3Rpb24gcGlwZWxpbmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJtZWRpYXRlU3RvcmFnZSB7XG5TM0xvY2F0aW9uOiBTM0xvY2F0aW9uXG59XG4vKipcbiAqIEFuIEFtYXpvbiBTMyBsb2NhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTM0xvY2F0aW9uIHtcbi8qKlxuICogVGhlIGxvY2F0aW9uJ3MgVVJJXG4gKi9cblVSSTogc3RyaW5nXG59XG4vKipcbiAqIEEgTGFtYmRhIGZ1bmN0aW9uIHRoYXQgcHJvY2Vzc2VzIGRvY3VtZW50cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFuc2Zvcm1hdGlvbiB7XG4vKipcbiAqIFdoZW4gdGhlIHNlcnZpY2UgYXBwbGllcyB0aGUgdHJhbnNmb3JtYXRpb24uXG4gKi9cblN0ZXBUb0FwcGx5OiBcIlBPU1RfQ0hVTktJTkdcIlxuVHJhbnNmb3JtYXRpb25GdW5jdGlvbjogVHJhbnNmb3JtYXRpb25GdW5jdGlvblxufVxuLyoqXG4gKiBBIExhbWJkYSBmdW5jdGlvbiB0aGF0IHByb2Nlc3NlcyBkb2N1bWVudHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmb3JtYXRpb25GdW5jdGlvbiB7XG5UcmFuc2Zvcm1hdGlvbkxhbWJkYUNvbmZpZ3VyYXRpb246IFRyYW5zZm9ybWF0aW9uTGFtYmRhQ29uZmlndXJhdGlvblxufVxuLyoqXG4gKiBBIExhbWJkYSBmdW5jdGlvbiB0aGF0IHByb2Nlc3NlcyBkb2N1bWVudHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmb3JtYXRpb25MYW1iZGFDb25maWd1cmF0aW9uIHtcbi8qKlxuICogVGhlIGZ1bmN0aW9uJ3MgQVJOIGlkZW50aWZpZXIuXG4gKi9cbkxhbWJkYUFybjogc3RyaW5nXG59XG4vKipcbiAqIFNldHRpbmdzIGZvciBwYXJzaW5nIGRvY3VtZW50IGNvbnRlbnRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2luZ0NvbmZpZ3VyYXRpb24ge1xuUGFyc2luZ1N0cmF0ZWd5OiBQYXJzaW5nU3RyYXRlZ3lcbkJlZHJvY2tGb3VuZGF0aW9uTW9kZWxDb25maWd1cmF0aW9uPzogQmVkcm9ja0ZvdW5kYXRpb25Nb2RlbENvbmZpZ3VyYXRpb25cbkJlZHJvY2tEYXRhQXV0b21hdGlvbkNvbmZpZ3VyYXRpb24/OiBCZWRyb2NrRGF0YUF1dG9tYXRpb25Db25maWd1cmF0aW9uXG59XG4vKipcbiAqIFNldHRpbmdzIGZvciBhIGZvdW5kYXRpb24gbW9kZWwgdXNlZCB0byBwYXJzZSBkb2N1bWVudHMgZm9yIGEgZGF0YSBzb3VyY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0ZvdW5kYXRpb25Nb2RlbENvbmZpZ3VyYXRpb24ge1xuLyoqXG4gKiBUaGUgbW9kZWwncyBBUk4uXG4gKi9cbk1vZGVsQXJuOiBzdHJpbmdcblBhcnNpbmdQcm9tcHQ/OiBQYXJzaW5nUHJvbXB0XG5QYXJzaW5nTW9kYWxpdHk/OiBQYXJzaW5nTW9kYWxpdHlcbn1cbi8qKlxuICogSW5zdHJ1Y3Rpb25zIGZvciBpbnRlcnByZXRpbmcgdGhlIGNvbnRlbnRzIG9mIGEgZG9jdW1lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2luZ1Byb21wdCB7XG4vKipcbiAqIEluc3RydWN0aW9ucyBmb3IgaW50ZXJwcmV0aW5nIHRoZSBjb250ZW50cyBvZiBhIGRvY3VtZW50LlxuICovXG5QYXJzaW5nUHJvbXB0VGV4dDogc3RyaW5nXG59XG4vKipcbiAqIFNldHRpbmdzIGZvciBhIEJlZHJvY2sgRGF0YSBBdXRvbWF0aW9uIHVzZWQgdG8gcGFyc2UgZG9jdW1lbnRzIGZvciBhIGRhdGEgc291cmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEYXRhQXV0b21hdGlvbkNvbmZpZ3VyYXRpb24ge1xuUGFyc2luZ01vZGFsaXR5PzogUGFyc2luZ01vZGFsaXR5XG59XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWJlZHJvY2stZGF0YXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImF3cy1iZWRyb2NrLWRhdGFzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhlIHR5cGUgb2YgdGhlIGRhdGEgc291cmNlIGxvY2F0aW9uLlxuICovXG5leHBvcnQgdHlwZSBEYXRhU291cmNlVHlwZSA9IChcIlMzXCIgfCBcIkNPTkZMVUVOQ0VcIiB8IFwiU0FMRVNGT1JDRVwiIHwgXCJTSEFSRVBPSU5UXCIgfCBcIldFQlwiIHwgXCJDVVNUT01cIiB8IFwiUkVEU0hJRlRfTUVUQURBVEFcIilcbi8qKlxuICogQSBzZXQgb2YgcmVndWxhciBleHByZXNzaW9uIGZpbHRlciBwYXR0ZXJucyBmb3IgYSB0eXBlIG9mIG9iamVjdC5cbiAqIFxuICogQG1pbkl0ZW1zIDFcbiAqIEBtYXhJdGVtcyAyNVxuICovXG5leHBvcnQgdHlwZSBGaWx0ZXJMaXN0ID0gc3RyaW5nW11cbi8qKlxuICogQ29udGFpbnMgaW5mb3JtYXRpb25cbiAqIFxuICogQG1pbkl0ZW1zIDFcbiAqIEBtYXhJdGVtcyAyNVxuICovXG5leHBvcnQgdHlwZSBQYXR0ZXJuT2JqZWN0RmlsdGVyTGlzdCA9IFBhdHRlcm5PYmplY3RGaWx0ZXJbXVxuLyoqXG4gKiBBIGxpc3Qgb2Ygd2ViIHVybHMuXG4gKiBcbiAqIEBtaW5JdGVtcyAxXG4gKiBAbWF4SXRlbXMgMTAwXG4gKi9cbmV4cG9ydCB0eXBlIFNlZWRVcmxzID0gU2VlZFVybFtdXG4vKipcbiAqIFRoZSBzY29wZSB0aGF0IGEgd2ViIGNyYXdsIGpvYiB3aWxsIGJlIHJlc3RyaWN0ZWQgdG8uXG4gKi9cbmV4cG9ydCB0eXBlIFdlYlNjb3BlVHlwZSA9IChcIkhPU1RfT05MWVwiIHwgXCJTVUJET01BSU5TXCIpXG4vKipcbiAqIFRoZSBzdGF0dXMgb2YgYSBkYXRhIHNvdXJjZS5cbiAqL1xuZXhwb3J0IHR5cGUgRGF0YVNvdXJjZVN0YXR1cyA9IChcIkFWQUlMQUJMRVwiIHwgXCJERUxFVElOR1wiIHwgXCJERUxFVEVfVU5TVUNDRVNTRlVMXCIpXG4vKipcbiAqIEtub3dsZWRnZSBiYXNlIGNhbiBzcGxpdCB5b3VyIHNvdXJjZSBkYXRhIGludG8gY2h1bmtzLiBBIGNodW5rIHJlZmVycyB0byBhbiBleGNlcnB0IGZyb20gYSBkYXRhIHNvdXJjZSB0aGF0IGlzIHJldHVybmVkIHdoZW4gdGhlIGtub3dsZWRnZSBiYXNlIHRoYXQgaXQgYmVsb25ncyB0byBpcyBxdWVyaWVkLiBZb3UgaGF2ZSB0aGUgZm9sbG93aW5nIG9wdGlvbnMgZm9yIGNodW5raW5nIHlvdXIgZGF0YS4gSWYgeW91IG9wdCBmb3IgTk9ORSwgdGhlbiB5b3UgbWF5IHdhbnQgdG8gcHJlLXByb2Nlc3MgeW91ciBmaWxlcyBieSBzcGxpdHRpbmcgdGhlbSB1cCBzdWNoIHRoYXQgZWFjaCBmaWxlIGNvcnJlc3BvbmRzIHRvIGEgY2h1bmsuXG4gKi9cbmV4cG9ydCB0eXBlIENodW5raW5nU3RyYXRlZ3kgPSAoXCJGSVhFRF9TSVpFXCIgfCBcIk5PTkVcIiB8IFwiSElFUkFSQ0hJQ0FMXCIgfCBcIlNFTUFOVElDXCIpXG4vKipcbiAqIFRoZSBwYXJzaW5nIHN0cmF0ZWd5IGZvciB0aGUgZGF0YSBzb3VyY2UuXG4gKi9cbmV4cG9ydCB0eXBlIFBhcnNpbmdTdHJhdGVneSA9IChcIkJFRFJPQ0tfRk9VTkRBVElPTl9NT0RFTFwiIHwgXCJCRURST0NLX0RBVEFfQVVUT01BVElPTlwiKVxuLyoqXG4gKiBEZXRlcm1pbmUgaG93IHdpbGwgcGFyc2VkIGNvbnRlbnQgYmUgc3RvcmVkLlxuICovXG5leHBvcnQgdHlwZSBQYXJzaW5nTW9kYWxpdHkgPSBcIk1VTFRJTU9EQUxcIlxuLyoqXG4gKiBUaGUgZGVsZXRpb24gcG9saWN5IGZvciB0aGUgZGF0YSBzb3VyY2UuXG4gKi9cbmV4cG9ydCB0eXBlIERhdGFEZWxldGlvblBvbGljeSA9IChcIlJFVEFJTlwiIHwgXCJERUxFVEVcIilcblxuLyoqXG4gKiBEZWZpbml0aW9uIG9mIEFXUzo6QmVkcm9jazo6RGF0YVNvdXJjZSBSZXNvdXJjZSBUeXBlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgX0FXU19CRURST0NLX0RBVEFTT1VSQ0Uge1xuRGF0YVNvdXJjZUNvbmZpZ3VyYXRpb246IERhdGFTb3VyY2VDb25maWd1cmF0aW9uXG4vKipcbiAqIElkZW50aWZpZXIgZm9yIGEgcmVzb3VyY2UuXG4gKi9cbkRhdGFTb3VyY2VJZD86IHN0cmluZ1xuLyoqXG4gKiBEZXNjcmlwdGlvbiBvZiB0aGUgUmVzb3VyY2UuXG4gKi9cbkRlc2NyaXB0aW9uPzogc3RyaW5nXG4vKipcbiAqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUga25vd2xlZGdlIGJhc2UgdG8gd2hpY2ggdG8gYWRkIHRoZSBkYXRhIHNvdXJjZS5cbiAqL1xuS25vd2xlZGdlQmFzZUlkOiBzdHJpbmdcbkRhdGFTb3VyY2VTdGF0dXM/OiBEYXRhU291cmNlU3RhdHVzXG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSBkYXRhIHNvdXJjZS5cbiAqL1xuTmFtZTogc3RyaW5nXG5TZXJ2ZXJTaWRlRW5jcnlwdGlvbkNvbmZpZ3VyYXRpb24/OiBTZXJ2ZXJTaWRlRW5jcnlwdGlvbkNvbmZpZ3VyYXRpb25cblZlY3RvckluZ2VzdGlvbkNvbmZpZ3VyYXRpb24/OiBWZWN0b3JJbmdlc3Rpb25Db25maWd1cmF0aW9uXG5EYXRhRGVsZXRpb25Qb2xpY3k/OiBEYXRhRGVsZXRpb25Qb2xpY3lcbi8qKlxuICogVGhlIHRpbWUgYXQgd2hpY2ggdGhlIGRhdGEgc291cmNlIHdhcyBjcmVhdGVkLlxuICovXG5DcmVhdGVkQXQ/OiBzdHJpbmdcbi8qKlxuICogVGhlIHRpbWUgYXQgd2hpY2ggdGhlIGtub3dsZWRnZSBiYXNlIHdhcyBsYXN0IHVwZGF0ZWQuXG4gKi9cblVwZGF0ZWRBdD86IHN0cmluZ1xuLyoqXG4gKiBUaGUgZGV0YWlscyBvZiB0aGUgZmFpbHVyZSByZWFzb25zIHJlbGF0ZWQgdG8gdGhlIGRhdGEgc291cmNlLlxuICogXG4gKiBAbWF4SXRlbXMgMjA0OFxuICovXG5GYWlsdXJlUmVhc29ucz86IHN0cmluZ1tdXG59XG4vKipcbiAqIFNwZWNpZmllcyBhIHJhdyBkYXRhIHNvdXJjZSBsb2NhdGlvbiB0byBpbmdlc3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVNvdXJjZUNvbmZpZ3VyYXRpb24ge1xuVHlwZTogRGF0YVNvdXJjZVR5cGVcblMzQ29uZmlndXJhdGlvbj86IFMzRGF0YVNvdXJjZUNvbmZpZ3VyYXRpb25cbkNvbmZsdWVuY2VDb25maWd1cmF0aW9uPzogQ29uZmx1ZW5jZURhdGFTb3VyY2VDb25maWd1cmF0aW9uXG5TYWxlc2ZvcmNlQ29uZmlndXJhdGlvbj86IFNhbGVzZm9yY2VEYXRhU291cmNlQ29uZmlndXJhdGlvblxuU2hhcmVQb2ludENvbmZpZ3VyYXRpb24/OiBTaGFyZVBvaW50RGF0YVNvdXJjZUNvbmZpZ3VyYXRpb25cbldlYkNvbmZpZ3VyYXRpb24/OiBXZWJEYXRhU291cmNlQ29uZmlndXJhdGlvblxufVxuLyoqXG4gKiBUaGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiB0byBjb25uZWN0IHRvIEFtYXpvbiBTMyBhcyB5b3VyIGRhdGEgc291cmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFMzRGF0YVNvdXJjZUNvbmZpZ3VyYXRpb24ge1xuLyoqXG4gKiBUaGUgQVJOIG9mIHRoZSBidWNrZXQgdGhhdCBjb250YWlucyB0aGUgZGF0YSBzb3VyY2UuXG4gKi9cbkJ1Y2tldEFybjogc3RyaW5nXG4vKipcbiAqIEEgbGlzdCBvZiBTMyBwcmVmaXhlcyB0aGF0IGRlZmluZSB0aGUgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGRhdGEgc291cmNlcy5cbiAqIFxuICogQG1pbkl0ZW1zIDFcbiAqIEBtYXhJdGVtcyAxXG4gKi9cbkluY2x1c2lvblByZWZpeGVzPzogc3RyaW5nW11cbi8qKlxuICogVGhlIGFjY291bnQgSUQgZm9yIHRoZSBvd25lciBvZiB0aGUgUzMgYnVja2V0LlxuICovXG5CdWNrZXRPd25lckFjY291bnRJZD86IHN0cmluZ1xufVxuLyoqXG4gKiBUaGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiB0byBjb25uZWN0IHRvIENvbmZsdWVuY2UgYXMgeW91ciBkYXRhIHNvdXJjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25mbHVlbmNlRGF0YVNvdXJjZUNvbmZpZ3VyYXRpb24ge1xuU291cmNlQ29uZmlndXJhdGlvbjogQ29uZmx1ZW5jZVNvdXJjZUNvbmZpZ3VyYXRpb25cbkNyYXdsZXJDb25maWd1cmF0aW9uPzogQ29uZmx1ZW5jZUNyYXdsZXJDb25maWd1cmF0aW9uXG59XG4vKipcbiAqIFRoZSBlbmRwb2ludCBpbmZvcm1hdGlvbiB0byBjb25uZWN0IHRvIHlvdXIgQ29uZmx1ZW5jZSBkYXRhIHNvdXJjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25mbHVlbmNlU291cmNlQ29uZmlndXJhdGlvbiB7XG4vKipcbiAqIFRoZSBDb25mbHVlbmNlIGhvc3QgVVJMIG9yIGluc3RhbmNlIFVSTC5cbiAqL1xuSG9zdFVybDogc3RyaW5nXG4vKipcbiAqIFRoZSBzdXBwb3J0ZWQgaG9zdCB0eXBlLCB3aGV0aGVyIG9ubGluZS9jbG91ZCBvciBzZXJ2ZXIvb24tcHJlbWlzZXMuXG4gKi9cbkhvc3RUeXBlOiBcIlNBQVNcIlxuLyoqXG4gKiBUaGUgc3VwcG9ydGVkIGF1dGhlbnRpY2F0aW9uIHR5cGUgdG8gYXV0aGVudGljYXRlIGFuZCBjb25uZWN0IHRvIHlvdXIgQ29uZmx1ZW5jZSBpbnN0YW5jZS5cbiAqL1xuQXV0aFR5cGU6IChcIkJBU0lDXCIgfCBcIk9BVVRIMl9DTElFTlRfQ1JFREVOVElBTFNcIilcbi8qKlxuICogVGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIG9mIGFuIEFXUyBTZWNyZXRzIE1hbmFnZXIgc2VjcmV0IHRoYXQgc3RvcmVzIHlvdXIgYXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMgZm9yIHlvdXIgQ29uZmx1ZW5jZSBpbnN0YW5jZSBVUkwuIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoZSBrZXktdmFsdWUgcGFpcnMgdGhhdCBtdXN0IGJlIGluY2x1ZGVkIGluIHlvdXIgc2VjcmV0LCBkZXBlbmRpbmcgb24geW91ciBhdXRoZW50aWNhdGlvbiB0eXBlLCBzZWUgQ29uZmx1ZW5jZSBjb25uZWN0aW9uIGNvbmZpZ3VyYXRpb24uXG4gKi9cbkNyZWRlbnRpYWxzU2VjcmV0QXJuOiBzdHJpbmdcbn1cbi8qKlxuICogVGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIENvbmZsdWVuY2UgY29udGVudC4gRm9yIGV4YW1wbGUsIGNvbmZpZ3VyaW5nIHNwZWNpZmljIHR5cGVzIG9mIENvbmZsdWVuY2UgY29udGVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25mbHVlbmNlQ3Jhd2xlckNvbmZpZ3VyYXRpb24ge1xuRmlsdGVyQ29uZmlndXJhdGlvbj86IENyYXdsRmlsdGVyQ29uZmlndXJhdGlvblxufVxuLyoqXG4gKiBUaGUgdHlwZSBvZiBmaWx0ZXJpbmcgdGhhdCB5b3Ugd2FudCB0byBhcHBseSB0byBjZXJ0YWluIG9iamVjdHMgb3IgY29udGVudCBvZiB0aGUgZGF0YSBzb3VyY2UuIEZvciBleGFtcGxlLCB0aGUgUEFUVEVSTiB0eXBlIGlzIHJlZ3VsYXIgZXhwcmVzc2lvbiBwYXR0ZXJucyB5b3UgY2FuIGFwcGx5IHRvIGZpbHRlciB5b3VyIGNvbnRlbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3Jhd2xGaWx0ZXJDb25maWd1cmF0aW9uIHtcbi8qKlxuICogVGhlIGNyYXdsIGZpbHRlciB0eXBlLlxuICovXG5UeXBlOiBcIlBBVFRFUk5cIlxuUGF0dGVybk9iamVjdEZpbHRlcj86IFBhdHRlcm5PYmplY3RGaWx0ZXJDb25maWd1cmF0aW9uXG59XG4vKipcbiAqIFRoZSBjb25maWd1cmF0aW9uIG9mIHNwZWNpZmljIGZpbHRlcnMgYXBwbGllZCB0byB5b3VyIGRhdGEgc291cmNlIGNvbnRlbnQuIFlvdSBjYW4gZmlsdGVyIG91dCBvciBpbmNsdWRlIGNlcnRhaW4gY29udGVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXR0ZXJuT2JqZWN0RmlsdGVyQ29uZmlndXJhdGlvbiB7XG5GaWx0ZXJzOiBQYXR0ZXJuT2JqZWN0RmlsdGVyTGlzdFxufVxuLyoqXG4gKiBUaGUgc3BlY2lmaWMgZmlsdGVycyBhcHBsaWVkIHRvIHlvdXIgZGF0YSBzb3VyY2UgY29udGVudC4gWW91IGNhbiBmaWx0ZXIgb3V0IG9yIGluY2x1ZGUgY2VydGFpbiBjb250ZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhdHRlcm5PYmplY3RGaWx0ZXIge1xuLyoqXG4gKiBUaGUgc3VwcG9ydGVkIG9iamVjdCB0eXBlIG9yIGNvbnRlbnQgdHlwZSBvZiB0aGUgZGF0YSBzb3VyY2UuXG4gKi9cbk9iamVjdFR5cGU6IHN0cmluZ1xuSW5jbHVzaW9uRmlsdGVycz86IEZpbHRlckxpc3RcbkV4Y2x1c2lvbkZpbHRlcnM/OiBGaWx0ZXJMaXN0XG59XG4vKipcbiAqIFRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIHRvIGNvbm5lY3QgdG8gU2FsZXNmb3JjZSBhcyB5b3VyIGRhdGEgc291cmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhbGVzZm9yY2VEYXRhU291cmNlQ29uZmlndXJhdGlvbiB7XG5Tb3VyY2VDb25maWd1cmF0aW9uOiBTYWxlc2ZvcmNlU291cmNlQ29uZmlndXJhdGlvblxuQ3Jhd2xlckNvbmZpZ3VyYXRpb24/OiBTYWxlc2ZvcmNlQ3Jhd2xlckNvbmZpZ3VyYXRpb25cbn1cbi8qKlxuICogVGhlIGVuZHBvaW50IGluZm9ybWF0aW9uIHRvIGNvbm5lY3QgdG8geW91ciBTYWxlc2ZvcmNlIGRhdGEgc291cmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhbGVzZm9yY2VTb3VyY2VDb25maWd1cmF0aW9uIHtcbi8qKlxuICogVGhlIFNhbGVzZm9yY2UgaG9zdCBVUkwgb3IgaW5zdGFuY2UgVVJMLlxuICovXG5Ib3N0VXJsOiBzdHJpbmdcbi8qKlxuICogVGhlIHN1cHBvcnRlZCBhdXRoZW50aWNhdGlvbiB0eXBlIHRvIGF1dGhlbnRpY2F0ZSBhbmQgY29ubmVjdCB0byB5b3VyIFNhbGVzZm9yY2UgaW5zdGFuY2UuXG4gKi9cbkF1dGhUeXBlOiBcIk9BVVRIMl9DTElFTlRfQ1JFREVOVElBTFNcIlxuLyoqXG4gKiBUaGUgQW1hem9uIFJlc291cmNlIE5hbWUgb2YgYW4gQVdTIFNlY3JldHMgTWFuYWdlciBzZWNyZXQgdGhhdCBzdG9yZXMgeW91ciBhdXRoZW50aWNhdGlvbiBjcmVkZW50aWFscyBmb3IgeW91ciBTYWxlc2ZvcmNlIGluc3RhbmNlIFVSTC4gRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhlIGtleS12YWx1ZSBwYWlycyB0aGF0IG11c3QgYmUgaW5jbHVkZWQgaW4geW91ciBzZWNyZXQsIGRlcGVuZGluZyBvbiB5b3VyIGF1dGhlbnRpY2F0aW9uIHR5cGUsIHNlZSBTYWxlc2ZvcmNlIGNvbm5lY3Rpb24gY29uZmlndXJhdGlvbi5cbiAqL1xuQ3JlZGVudGlhbHNTZWNyZXRBcm46IHN0cmluZ1xufVxuLyoqXG4gKiBUaGUgY29uZmlndXJhdGlvbiBvZiBmaWx0ZXJpbmcgdGhlIFNhbGVzZm9yY2UgY29udGVudC4gRm9yIGV4YW1wbGUsIGNvbmZpZ3VyaW5nIHJlZ3VsYXIgZXhwcmVzc2lvbiBwYXR0ZXJucyB0byBpbmNsdWRlIG9yIGV4Y2x1ZGUgY2VydGFpbiBjb250ZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhbGVzZm9yY2VDcmF3bGVyQ29uZmlndXJhdGlvbiB7XG5GaWx0ZXJDb25maWd1cmF0aW9uPzogQ3Jhd2xGaWx0ZXJDb25maWd1cmF0aW9uXG59XG4vKipcbiAqIFRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIHRvIGNvbm5lY3QgdG8gU2hhcmVQb2ludCBhcyB5b3VyIGRhdGEgc291cmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNoYXJlUG9pbnREYXRhU291cmNlQ29uZmlndXJhdGlvbiB7XG5Tb3VyY2VDb25maWd1cmF0aW9uOiBTaGFyZVBvaW50U291cmNlQ29uZmlndXJhdGlvblxuQ3Jhd2xlckNvbmZpZ3VyYXRpb24/OiBTaGFyZVBvaW50Q3Jhd2xlckNvbmZpZ3VyYXRpb25cbn1cbi8qKlxuICogVGhlIGVuZHBvaW50IGluZm9ybWF0aW9uIHRvIGNvbm5lY3QgdG8geW91ciBTaGFyZVBvaW50IGRhdGEgc291cmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNoYXJlUG9pbnRTb3VyY2VDb25maWd1cmF0aW9uIHtcbi8qKlxuICogQSBsaXN0IG9mIG9uZSBvciBtb3JlIFNoYXJlUG9pbnQgc2l0ZSBVUkxzLlxuICogXG4gKiBAbWluSXRlbXMgMVxuICogQG1heEl0ZW1zIDEwMFxuICovXG5TaXRlVXJsczogc3RyaW5nW11cbi8qKlxuICogVGhlIHN1cHBvcnRlZCBob3N0IHR5cGUsIHdoZXRoZXIgb25saW5lL2Nsb3VkIG9yIHNlcnZlci9vbi1wcmVtaXNlcy5cbiAqL1xuSG9zdFR5cGU6IFwiT05MSU5FXCJcbi8qKlxuICogVGhlIHN1cHBvcnRlZCBhdXRoZW50aWNhdGlvbiB0eXBlIHRvIGF1dGhlbnRpY2F0ZSBhbmQgY29ubmVjdCB0byB5b3VyIFNoYXJlUG9pbnQgc2l0ZS9zaXRlcy5cbiAqL1xuQXV0aFR5cGU6IFwiT0FVVEgyX0NMSUVOVF9DUkVERU5USUFMU1wiXG4vKipcbiAqIFRoZSBBbWF6b24gUmVzb3VyY2UgTmFtZSBvZiBhbiBBV1MgU2VjcmV0cyBNYW5hZ2VyIHNlY3JldCB0aGF0IHN0b3JlcyB5b3VyIGF1dGhlbnRpY2F0aW9uIGNyZWRlbnRpYWxzIGZvciB5b3VyIFNoYXJlUG9pbnQgc2l0ZS9zaXRlcy4gRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhlIGtleS12YWx1ZSBwYWlycyB0aGF0IG11c3QgYmUgaW5jbHVkZWQgaW4geW91ciBzZWNyZXQsIGRlcGVuZGluZyBvbiB5b3VyIGF1dGhlbnRpY2F0aW9uIHR5cGUsIHNlZSBTaGFyZVBvaW50IGNvbm5lY3Rpb24gY29uZmlndXJhdGlvbi5cbiAqL1xuQ3JlZGVudGlhbHNTZWNyZXRBcm46IHN0cmluZ1xuLyoqXG4gKiBUaGUgaWRlbnRpZmllciBvZiB5b3VyIE1pY3Jvc29mdCAzNjUgdGVuYW50LlxuICovXG5UZW5hbnRJZD86IHN0cmluZ1xuLyoqXG4gKiBUaGUgZG9tYWluIG9mIHlvdXIgU2hhcmVQb2ludCBpbnN0YW5jZSBvciBzaXRlIFVSTC9VUkxzLlxuICovXG5Eb21haW46IHN0cmluZ1xufVxuLyoqXG4gKiBUaGUgY29uZmlndXJhdGlvbiBvZiB0aGUgU2hhcmVQb2ludCBjb250ZW50LiBGb3IgZXhhbXBsZSwgY29uZmlndXJpbmcgc3BlY2lmaWMgdHlwZXMgb2YgU2hhcmVQb2ludCBjb250ZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNoYXJlUG9pbnRDcmF3bGVyQ29uZmlndXJhdGlvbiB7XG5GaWx0ZXJDb25maWd1cmF0aW9uPzogQ3Jhd2xGaWx0ZXJDb25maWd1cmF0aW9uXG59XG4vKipcbiAqIENvbmZpZ3VyZXMgYSB3ZWIgZGF0YSBzb3VyY2UgbG9jYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2ViRGF0YVNvdXJjZUNvbmZpZ3VyYXRpb24ge1xuU291cmNlQ29uZmlndXJhdGlvbjogV2ViU291cmNlQ29uZmlndXJhdGlvblxuQ3Jhd2xlckNvbmZpZ3VyYXRpb24/OiBXZWJDcmF3bGVyQ29uZmlndXJhdGlvblxufVxuLyoqXG4gKiBBIHdlYiBzb3VyY2UgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXZWJTb3VyY2VDb25maWd1cmF0aW9uIHtcblVybENvbmZpZ3VyYXRpb246IFVybENvbmZpZ3VyYXRpb25cbn1cbi8qKlxuICogQSB1cmwgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVcmxDb25maWd1cmF0aW9uIHtcblNlZWRVcmxzOiBTZWVkVXJsc1xufVxuLyoqXG4gKiBBIHNlZWQgdXJsIG9iamVjdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWVkVXJsIHtcbi8qKlxuICogQSB3ZWIgdXJsLlxuICovXG5Vcmw6IHN0cmluZ1xufVxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUgd2ViIGNyYXdsZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2ViQ3Jhd2xlckNvbmZpZ3VyYXRpb24ge1xuQ3Jhd2xlckxpbWl0cz86IFdlYkNyYXdsZXJMaW1pdHNcbkluY2x1c2lvbkZpbHRlcnM/OiBGaWx0ZXJMaXN0XG5FeGNsdXNpb25GaWx0ZXJzPzogRmlsdGVyTGlzdFxuU2NvcGU/OiBXZWJTY29wZVR5cGVcbn1cbi8qKlxuICogTGltaXQgc2V0dGluZ3MgZm9yIHRoZSB3ZWIgY3Jhd2xlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXZWJDcmF3bGVyTGltaXRzIHtcbi8qKlxuICogUmF0ZSBvZiB3ZWIgVVJMcyByZXRyaWV2ZWQgcGVyIG1pbnV0ZS5cbiAqL1xuUmF0ZUxpbWl0PzogbnVtYmVyXG59XG4vKipcbiAqIENvbnRhaW5zIGRldGFpbHMgYWJvdXQgdGhlIHNlcnZlci1zaWRlIGVuY3J5cHRpb24gZm9yIHRoZSBkYXRhIHNvdXJjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZXJ2ZXJTaWRlRW5jcnlwdGlvbkNvbmZpZ3VyYXRpb24ge1xuLyoqXG4gKiBUaGUgQVJOIG9mIHRoZSBBV1MgS01TIGtleSB1c2VkIHRvIGVuY3J5cHQgdGhlIHJlc291cmNlLlxuICovXG5LbXNLZXlBcm4/OiBzdHJpbmdcbn1cbi8qKlxuICogRGV0YWlscyBhYm91dCBob3cgdG8gY2h1bmsgdGhlIGRvY3VtZW50cyBpbiB0aGUgZGF0YSBzb3VyY2UuIEEgY2h1bmsgcmVmZXJzIHRvIGFuIGV4Y2VycHQgZnJvbSBhIGRhdGEgc291cmNlIHRoYXQgaXMgcmV0dXJuZWQgd2hlbiB0aGUga25vd2xlZGdlIGJhc2UgdGhhdCBpdCBiZWxvbmdzIHRvIGlzIHF1ZXJpZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmVjdG9ySW5nZXN0aW9uQ29uZmlndXJhdGlvbiB7XG5DaHVua2luZ0NvbmZpZ3VyYXRpb24/OiBDaHVua2luZ0NvbmZpZ3VyYXRpb25cbkN1c3RvbVRyYW5zZm9ybWF0aW9uQ29uZmlndXJhdGlvbj86IEN1c3RvbVRyYW5zZm9ybWF0aW9uQ29uZmlndXJhdGlvblxuUGFyc2luZ0NvbmZpZ3VyYXRpb24/OiBQYXJzaW5nQ29uZmlndXJhdGlvblxufVxuLyoqXG4gKiBEZXRhaWxzIGFib3V0IGhvdyB0byBjaHVuayB0aGUgZG9jdW1lbnRzIGluIHRoZSBkYXRhIHNvdXJjZS4gQSBjaHVuayByZWZlcnMgdG8gYW4gZXhjZXJwdCBmcm9tIGEgZGF0YSBzb3VyY2UgdGhhdCBpcyByZXR1cm5lZCB3aGVuIHRoZSBrbm93bGVkZ2UgYmFzZSB0aGF0IGl0IGJlbG9uZ3MgdG8gaXMgcXVlcmllZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaHVua2luZ0NvbmZpZ3VyYXRpb24ge1xuQ2h1bmtpbmdTdHJhdGVneTogQ2h1bmtpbmdTdHJhdGVneVxuRml4ZWRTaXplQ2h1bmtpbmdDb25maWd1cmF0aW9uPzogRml4ZWRTaXplQ2h1bmtpbmdDb25maWd1cmF0aW9uXG5IaWVyYXJjaGljYWxDaHVua2luZ0NvbmZpZ3VyYXRpb24/OiBIaWVyYXJjaGljYWxDaHVua2luZ0NvbmZpZ3VyYXRpb25cblNlbWFudGljQ2h1bmtpbmdDb25maWd1cmF0aW9uPzogU2VtYW50aWNDaHVua2luZ0NvbmZpZ3VyYXRpb25cbn1cbi8qKlxuICogQ29uZmlndXJhdGlvbnMgZm9yIHdoZW4geW91IGNob29zZSBmaXhlZC1zaXplIGNodW5raW5nLiBJZiB5b3Ugc2V0IHRoZSBjaHVua2luZ1N0cmF0ZWd5IGFzIE5PTkUsIGV4Y2x1ZGUgdGhpcyBmaWVsZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaXhlZFNpemVDaHVua2luZ0NvbmZpZ3VyYXRpb24ge1xuLyoqXG4gKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgdG9rZW5zIHRvIGluY2x1ZGUgaW4gYSBjaHVuay5cbiAqL1xuTWF4VG9rZW5zOiBudW1iZXJcbi8qKlxuICogVGhlIHBlcmNlbnRhZ2Ugb2Ygb3ZlcmxhcCBiZXR3ZWVuIGFkamFjZW50IGNodW5rcyBvZiBhIGRhdGEgc291cmNlLlxuICovXG5PdmVybGFwUGVyY2VudGFnZTogbnVtYmVyXG59XG4vKipcbiAqIENvbmZpZ3VyYXRpb25zIGZvciB3aGVuIHlvdSBjaG9vc2UgaGllcmFyY2hpY2FsIGNodW5raW5nLiBJZiB5b3Ugc2V0IHRoZSBjaHVua2luZ1N0cmF0ZWd5IGFzIE5PTkUsIGV4Y2x1ZGUgdGhpcyBmaWVsZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIaWVyYXJjaGljYWxDaHVua2luZ0NvbmZpZ3VyYXRpb24ge1xuLyoqXG4gKiBUb2tlbiBzZXR0aW5ncyBmb3IgZWFjaCBsYXllci5cbiAqIFxuICogQG1pbkl0ZW1zIDJcbiAqIEBtYXhJdGVtcyAyXG4gKi9cbkxldmVsQ29uZmlndXJhdGlvbnM6IEhpZXJhcmNoaWNhbENodW5raW5nTGV2ZWxDb25maWd1cmF0aW9uW11cbi8qKlxuICogVGhlIG51bWJlciBvZiB0b2tlbnMgdG8gcmVwZWF0IGFjcm9zcyBjaHVua3MgaW4gdGhlIHNhbWUgbGF5ZXIuXG4gKi9cbk92ZXJsYXBUb2tlbnM6IG51bWJlclxufVxuLyoqXG4gKiBUb2tlbiBzZXR0aW5ncyBmb3IgYSBsYXllciBpbiBhIGhpZXJhcmNoaWNhbCBjaHVua2luZyBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhpZXJhcmNoaWNhbENodW5raW5nTGV2ZWxDb25maWd1cmF0aW9uIHtcbi8qKlxuICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHRva2VucyB0aGF0IGEgY2h1bmsgY2FuIGNvbnRhaW4gaW4gdGhpcyBsYXllci5cbiAqL1xuTWF4VG9rZW5zOiBudW1iZXJcbn1cbi8qKlxuICogQ29uZmlndXJhdGlvbnMgZm9yIHdoZW4geW91IGNob29zZSBzZW1hbnRpYyBjaHVua2luZy4gSWYgeW91IHNldCB0aGUgY2h1bmtpbmdTdHJhdGVneSBhcyBOT05FLCBleGNsdWRlIHRoaXMgZmllbGQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VtYW50aWNDaHVua2luZ0NvbmZpZ3VyYXRpb24ge1xuLyoqXG4gKiBUaGUgZGlzc2ltaWxhcml0eSB0aHJlc2hvbGQgZm9yIHNwbGl0dGluZyBjaHVua3MuXG4gKi9cbkJyZWFrcG9pbnRQZXJjZW50aWxlVGhyZXNob2xkOiBudW1iZXJcbi8qKlxuICogVGhlIGJ1ZmZlciBzaXplLlxuICovXG5CdWZmZXJTaXplOiBudW1iZXJcbi8qKlxuICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHRva2VucyB0aGF0IGEgY2h1bmsgY2FuIGNvbnRhaW4uXG4gKi9cbk1heFRva2VuczogbnVtYmVyXG59XG4vKipcbiAqIFNldHRpbmdzIGZvciBjdXN0b21pemluZyBzdGVwcyBpbiB0aGUgZGF0YSBzb3VyY2UgY29udGVudCBpbmdlc3Rpb24gcGlwZWxpbmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tVHJhbnNmb3JtYXRpb25Db25maWd1cmF0aW9uIHtcbkludGVybWVkaWF0ZVN0b3JhZ2U6IEludGVybWVkaWF0ZVN0b3JhZ2Vcbi8qKlxuICogQSBsaXN0IG9mIExhbWJkYSBmdW5jdGlvbnMgdGhhdCBwcm9jZXNzIGRvY3VtZW50cy5cbiAqIFxuICogQG1pbkl0ZW1zIDFcbiAqIEBtYXhJdGVtcyAxXG4gKi9cblRyYW5zZm9ybWF0aW9uczogVHJhbnNmb3JtYXRpb25bXVxufVxuLyoqXG4gKiBBIGxvY2F0aW9uIGZvciBzdG9yaW5nIGNvbnRlbnQgZnJvbSBkYXRhIHNvdXJjZXMgdGVtcG9yYXJpbHkgYXMgaXQgaXMgcHJvY2Vzc2VkIGJ5IGN1c3RvbSBjb21wb25lbnRzIGluIHRoZSBpbmdlc3Rpb24gcGlwZWxpbmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJtZWRpYXRlU3RvcmFnZSB7XG5TM0xvY2F0aW9uOiBTM0xvY2F0aW9uXG59XG4vKipcbiAqIEFuIEFtYXpvbiBTMyBsb2NhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTM0xvY2F0aW9uIHtcbi8qKlxuICogVGhlIGxvY2F0aW9uJ3MgVVJJXG4gKi9cblVSSTogc3RyaW5nXG59XG4vKipcbiAqIEEgTGFtYmRhIGZ1bmN0aW9uIHRoYXQgcHJvY2Vzc2VzIGRvY3VtZW50cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFuc2Zvcm1hdGlvbiB7XG4vKipcbiAqIFdoZW4gdGhlIHNlcnZpY2UgYXBwbGllcyB0aGUgdHJhbnNmb3JtYXRpb24uXG4gKi9cblN0ZXBUb0FwcGx5OiBcIlBPU1RfQ0hVTktJTkdcIlxuVHJhbnNmb3JtYXRpb25GdW5jdGlvbjogVHJhbnNmb3JtYXRpb25GdW5jdGlvblxufVxuLyoqXG4gKiBBIExhbWJkYSBmdW5jdGlvbiB0aGF0IHByb2Nlc3NlcyBkb2N1bWVudHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmb3JtYXRpb25GdW5jdGlvbiB7XG5UcmFuc2Zvcm1hdGlvbkxhbWJkYUNvbmZpZ3VyYXRpb246IFRyYW5zZm9ybWF0aW9uTGFtYmRhQ29uZmlndXJhdGlvblxufVxuLyoqXG4gKiBBIExhbWJkYSBmdW5jdGlvbiB0aGF0IHByb2Nlc3NlcyBkb2N1bWVudHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmb3JtYXRpb25MYW1iZGFDb25maWd1cmF0aW9uIHtcbi8qKlxuICogVGhlIGZ1bmN0aW9uJ3MgQVJOIGlkZW50aWZpZXIuXG4gKi9cbkxhbWJkYUFybjogc3RyaW5nXG59XG4vKipcbiAqIFNldHRpbmdzIGZvciBwYXJzaW5nIGRvY3VtZW50IGNvbnRlbnRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2luZ0NvbmZpZ3VyYXRpb24ge1xuUGFyc2luZ1N0cmF0ZWd5OiBQYXJzaW5nU3RyYXRlZ3lcbkJlZHJvY2tGb3VuZGF0aW9uTW9kZWxDb25maWd1cmF0aW9uPzogQmVkcm9ja0ZvdW5kYXRpb25Nb2RlbENvbmZpZ3VyYXRpb25cbkJlZHJvY2tEYXRhQXV0b21hdGlvbkNvbmZpZ3VyYXRpb24/OiBCZWRyb2NrRGF0YUF1dG9tYXRpb25Db25maWd1cmF0aW9uXG59XG4vKipcbiAqIFNldHRpbmdzIGZvciBhIGZvdW5kYXRpb24gbW9kZWwgdXNlZCB0byBwYXJzZSBkb2N1bWVudHMgZm9yIGEgZGF0YSBzb3VyY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmVkcm9ja0ZvdW5kYXRpb25Nb2RlbENvbmZpZ3VyYXRpb24ge1xuLyoqXG4gKiBUaGUgbW9kZWwncyBBUk4uXG4gKi9cbk1vZGVsQXJuOiBzdHJpbmdcblBhcnNpbmdQcm9tcHQ/OiBQYXJzaW5nUHJvbXB0XG5QYXJzaW5nTW9kYWxpdHk/OiBQYXJzaW5nTW9kYWxpdHlcbn1cbi8qKlxuICogSW5zdHJ1Y3Rpb25zIGZvciBpbnRlcnByZXRpbmcgdGhlIGNvbnRlbnRzIG9mIGEgZG9jdW1lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2luZ1Byb21wdCB7XG4vKipcbiAqIEluc3RydWN0aW9ucyBmb3IgaW50ZXJwcmV0aW5nIHRoZSBjb250ZW50cyBvZiBhIGRvY3VtZW50LlxuICovXG5QYXJzaW5nUHJvbXB0VGV4dDogc3RyaW5nXG59XG4vKipcbiAqIFNldHRpbmdzIGZvciBhIEJlZHJvY2sgRGF0YSBBdXRvbWF0aW9uIHVzZWQgdG8gcGFyc2UgZG9jdW1lbnRzIGZvciBhIGRhdGEgc291cmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tEYXRhQXV0b21hdGlvbkNvbmZpZ3VyYXRpb24ge1xuUGFyc2luZ01vZGFsaXR5PzogUGFyc2luZ01vZGFsaXR5XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * The type of a knowledge base.
3
3
  */
4
- export type KnowledgeBaseType = ("VECTOR" | "KENDRA");
4
+ export type KnowledgeBaseType = ("VECTOR" | "KENDRA" | "SQL");
5
5
  /**
6
6
  * Supplemental data storage location type.
7
7
  */
@@ -17,6 +17,104 @@ export type SupplementalDataStorageLocations = SupplementalDataStorageLocation[]
17
17
  * Arn of a Kendra index
18
18
  */
19
19
  export type KendraIndexArn = string;
20
+ /**
21
+ * SQL query engine type
22
+ */
23
+ export type QueryEngineType = "REDSHIFT";
24
+ /**
25
+ * Redshift query engine storage type
26
+ */
27
+ export type RedshiftQueryEngineStorageType = ("REDSHIFT" | "AWS_DATA_CATALOG");
28
+ /**
29
+ * AWS Data Catalog table name
30
+ */
31
+ export type AwsDataCatalogTableName = string;
32
+ /**
33
+ * List of table names in AWS Data Catalog. Must follow two part notation
34
+ *
35
+ * @minItems 1
36
+ * @maxItems 1000
37
+ */
38
+ export type AwsDataCatalogTableNames = AwsDataCatalogTableName[];
39
+ /**
40
+ * Redshift database name
41
+ */
42
+ export type RedshiftDatabase = string;
43
+ /**
44
+ * List of configurations for available Redshift query engine storage types
45
+ *
46
+ * @minItems 1
47
+ * @maxItems 1
48
+ */
49
+ export type RedshiftQueryEngineStorageConfigurations = RedshiftQueryEngineStorageConfiguration[];
50
+ /**
51
+ * Redshift query engine type
52
+ */
53
+ export type RedshiftQueryEngineType = ("SERVERLESS" | "PROVISIONED");
54
+ /**
55
+ * Workgroup arn
56
+ */
57
+ export type WorkgroupArn = string;
58
+ /**
59
+ * Serverless Redshift auth type
60
+ */
61
+ export type RedshiftServerlessAuthType = ("IAM" | "USERNAME_PASSWORD");
62
+ /**
63
+ * Arn of a SecretsManager Secret
64
+ */
65
+ export type SecretArn = string;
66
+ /**
67
+ * Redshift cluster identifier
68
+ */
69
+ export type RedshiftClusterIdentifier = string;
70
+ /**
71
+ * Provisioned Redshift auth type
72
+ */
73
+ export type RedshiftProvisionedAuthType = ("IAM" | "USERNAME_PASSWORD" | "USERNAME");
74
+ /**
75
+ * Max query execution timeout
76
+ */
77
+ export type QueryExecutionTimeoutSeconds = number;
78
+ /**
79
+ * Query generation table name. Must follow three-part notation
80
+ */
81
+ export type QueryGenerationTableName = string;
82
+ /**
83
+ * Description for the attached entity
84
+ */
85
+ export type DescriptionString = string;
86
+ /**
87
+ * Include or Exclude status for an entity
88
+ */
89
+ export type InclusionType = ("INCLUDE" | "EXCLUDE");
90
+ /**
91
+ * Query generation column name
92
+ */
93
+ export type QueryGenerationColumnName = string;
94
+ /**
95
+ * List of Redshift query generation columns
96
+ */
97
+ export type QueryGenerationColumns = QueryGenerationColumn[];
98
+ /**
99
+ * List of tables used for Redshift query generation context
100
+ *
101
+ * @maxItems 50
102
+ */
103
+ export type QueryGenerationTables = QueryGenerationTable[];
104
+ /**
105
+ * Question for the curated query
106
+ */
107
+ export type NaturalLanguageString = string;
108
+ /**
109
+ * Answer for the curated query
110
+ */
111
+ export type SqlString = string;
112
+ /**
113
+ * List of example queries and results
114
+ *
115
+ * @maxItems 10
116
+ */
117
+ export type CuratedQueries = CuratedQuery[];
20
118
  /**
21
119
  * The status of a knowledge base.
22
120
  */
@@ -88,6 +186,7 @@ export interface KnowledgeBaseConfiguration {
88
186
  Type: KnowledgeBaseType;
89
187
  VectorKnowledgeBaseConfiguration?: VectorKnowledgeBaseConfiguration;
90
188
  KendraKnowledgeBaseConfiguration?: KendraKnowledgeBaseConfiguration;
189
+ SqlKnowledgeBaseConfiguration?: SqlKnowledgeBaseConfiguration;
91
190
  }
92
191
  /**
93
192
  * Contains details about the model used to create vector embeddings for the knowledge base.
@@ -143,6 +242,119 @@ export interface S3Location {
143
242
  export interface KendraKnowledgeBaseConfiguration {
144
243
  KendraIndexArn: KendraIndexArn;
145
244
  }
245
+ /**
246
+ * Configurations for a SQL knowledge base
247
+ */
248
+ export interface SqlKnowledgeBaseConfiguration {
249
+ Type: QueryEngineType;
250
+ RedshiftConfiguration?: RedshiftConfiguration;
251
+ }
252
+ /**
253
+ * Configurations for a Redshift knowledge base
254
+ */
255
+ export interface RedshiftConfiguration {
256
+ StorageConfigurations: RedshiftQueryEngineStorageConfigurations;
257
+ QueryEngineConfiguration: RedshiftQueryEngineConfiguration;
258
+ QueryGenerationConfiguration?: QueryGenerationConfiguration;
259
+ }
260
+ /**
261
+ * Configurations for available Redshift query engine storage types
262
+ */
263
+ export interface RedshiftQueryEngineStorageConfiguration {
264
+ Type: RedshiftQueryEngineStorageType;
265
+ AwsDataCatalogConfiguration?: RedshiftQueryEngineAwsDataCatalogStorageConfiguration;
266
+ RedshiftConfiguration?: RedshiftQueryEngineRedshiftStorageConfiguration;
267
+ }
268
+ /**
269
+ * Configurations for Redshift query engine AWS Data Catalog backed storage
270
+ */
271
+ export interface RedshiftQueryEngineAwsDataCatalogStorageConfiguration {
272
+ TableNames: AwsDataCatalogTableNames;
273
+ }
274
+ /**
275
+ * Configurations for Redshift query engine Redshift backed storage
276
+ */
277
+ export interface RedshiftQueryEngineRedshiftStorageConfiguration {
278
+ DatabaseName: RedshiftDatabase;
279
+ }
280
+ /**
281
+ * Configurations for Redshift query engine
282
+ */
283
+ export interface RedshiftQueryEngineConfiguration {
284
+ Type: RedshiftQueryEngineType;
285
+ ServerlessConfiguration?: RedshiftServerlessConfiguration;
286
+ ProvisionedConfiguration?: RedshiftProvisionedConfiguration;
287
+ }
288
+ /**
289
+ * Configurations for serverless Redshift query engine
290
+ */
291
+ export interface RedshiftServerlessConfiguration {
292
+ WorkgroupArn: WorkgroupArn;
293
+ AuthConfiguration: RedshiftServerlessAuthConfiguration;
294
+ }
295
+ /**
296
+ * Configurations for Redshift query engine serverless auth setup
297
+ */
298
+ export interface RedshiftServerlessAuthConfiguration {
299
+ Type: RedshiftServerlessAuthType;
300
+ UsernamePasswordSecretArn?: SecretArn;
301
+ }
302
+ /**
303
+ * Configurations for provisioned Redshift query engine
304
+ */
305
+ export interface RedshiftProvisionedConfiguration {
306
+ ClusterIdentifier: RedshiftClusterIdentifier;
307
+ AuthConfiguration: RedshiftProvisionedAuthConfiguration;
308
+ }
309
+ /**
310
+ * Configurations for Redshift query engine provisioned auth setup
311
+ */
312
+ export interface RedshiftProvisionedAuthConfiguration {
313
+ Type: RedshiftProvisionedAuthType;
314
+ /**
315
+ * Redshift database user
316
+ */
317
+ DatabaseUser?: string;
318
+ UsernamePasswordSecretArn?: SecretArn;
319
+ }
320
+ /**
321
+ * Configurations for generating Redshift engine queries
322
+ */
323
+ export interface QueryGenerationConfiguration {
324
+ ExecutionTimeoutSeconds?: QueryExecutionTimeoutSeconds;
325
+ GenerationContext?: QueryGenerationContext;
326
+ }
327
+ /**
328
+ * Context used to improve query generation
329
+ */
330
+ export interface QueryGenerationContext {
331
+ Tables?: QueryGenerationTables;
332
+ CuratedQueries?: CuratedQueries;
333
+ }
334
+ /**
335
+ * Tables used for Redshift query generation context
336
+ */
337
+ export interface QueryGenerationTable {
338
+ Name: QueryGenerationTableName;
339
+ Description?: DescriptionString;
340
+ Inclusion?: InclusionType;
341
+ Columns?: QueryGenerationColumns;
342
+ }
343
+ /**
344
+ * Redshift query generation column
345
+ */
346
+ export interface QueryGenerationColumn {
347
+ Name?: QueryGenerationColumnName;
348
+ Description?: DescriptionString;
349
+ Inclusion?: InclusionType;
350
+ }
351
+ /**
352
+ * Curated query or question and answer pair
353
+ */
354
+ export interface CuratedQuery {
355
+ NaturalLanguage: NaturalLanguageString;
356
+ Sql: SqlString;
357
+ }
146
358
  /**
147
359
  * Contains the storage configuration of the knowledge base in Amazon OpenSearch Service.
148
360
  */
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWJlZHJvY2sta25vd2xlZGdlYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImF3cy1iZWRyb2NrLWtub3dsZWRnZWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhlIHR5cGUgb2YgYSBrbm93bGVkZ2UgYmFzZS5cbiAqL1xuZXhwb3J0IHR5cGUgS25vd2xlZGdlQmFzZVR5cGUgPSAoXCJWRUNUT1JcIiB8IFwiS0VORFJBXCIpXG4vKipcbiAqIFN1cHBsZW1lbnRhbCBkYXRhIHN0b3JhZ2UgbG9jYXRpb24gdHlwZS5cbiAqL1xuZXhwb3J0IHR5cGUgU3VwcGxlbWVudGFsRGF0YVN0b3JhZ2VMb2NhdGlvblR5cGUgPSBcIlMzXCJcbi8qKlxuICogTGlzdCBvZiBzdXBwbGVtZW50YWwgZGF0YSBzdG9yYWdlIGxvY2F0aW9ucy5cbiAqIFxuICogQG1pbkl0ZW1zIDFcbiAqIEBtYXhJdGVtcyAxXG4gKi9cbmV4cG9ydCB0eXBlIFN1cHBsZW1lbnRhbERhdGFTdG9yYWdlTG9jYXRpb25zID0gU3VwcGxlbWVudGFsRGF0YVN0b3JhZ2VMb2NhdGlvbltdXG4vKipcbiAqIEFybiBvZiBhIEtlbmRyYSBpbmRleFxuICovXG5leHBvcnQgdHlwZSBLZW5kcmFJbmRleEFybiA9IHN0cmluZ1xuLyoqXG4gKiBUaGUgc3RhdHVzIG9mIGEga25vd2xlZGdlIGJhc2UuXG4gKi9cbmV4cG9ydCB0eXBlIEtub3dsZWRnZUJhc2VTdGF0dXMgPSAoXCJDUkVBVElOR1wiIHwgXCJBQ1RJVkVcIiB8IFwiREVMRVRJTkdcIiB8IFwiVVBEQVRJTkdcIiB8IFwiRkFJTEVEXCIgfCBcIkRFTEVURV9VTlNVQ0NFU1NGVUxcIilcbi8qKlxuICogVGhlIHZlY3RvciBzdG9yZSBzZXJ2aWNlIGluIHdoaWNoIHRoZSBrbm93bGVkZ2UgYmFzZSBpcyBzdG9yZWQuXG4gKi9cbmV4cG9ydCB0eXBlIFN0b3JhZ2VDb25maWd1cmF0aW9uID0gKHtcblR5cGU6IEtub3dsZWRnZUJhc2VTdG9yYWdlVHlwZVxuT3BlbnNlYXJjaFNlcnZlcmxlc3NDb25maWd1cmF0aW9uPzogT3BlblNlYXJjaFNlcnZlcmxlc3NDb25maWd1cmF0aW9uXG5QaW5lY29uZUNvbmZpZ3VyYXRpb24/OiBQaW5lY29uZUNvbmZpZ3VyYXRpb25cblJkc0NvbmZpZ3VyYXRpb24/OiBSZHNDb25maWd1cmF0aW9uXG5Nb25nb0RiQXRsYXNDb25maWd1cmF0aW9uPzogTW9uZ29EYkF0bGFzQ29uZmlndXJhdGlvblxufSAmIFN0b3JhZ2VDb25maWd1cmF0aW9uMSlcbi8qKlxuICogVGhlIHN0b3JhZ2UgdHlwZSBvZiBhIGtub3dsZWRnZSBiYXNlLlxuICovXG5leHBvcnQgdHlwZSBLbm93bGVkZ2VCYXNlU3RvcmFnZVR5cGUgPSAoXCJPUEVOU0VBUkNIX1NFUlZFUkxFU1NcIiB8IFwiUElORUNPTkVcIiB8IFwiUkRTXCIgfCBcIk1PTkdPX0RCX0FUTEFTXCIpXG5leHBvcnQgdHlwZSBTdG9yYWdlQ29uZmlndXJhdGlvbjEgPSB7XG5bazogc3RyaW5nXTogdW5rbm93blxufVxuXG4vKipcbiAqIERlZmluaXRpb24gb2YgQVdTOjpCZWRyb2NrOjpLbm93bGVkZ2VCYXNlIFJlc291cmNlIFR5cGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBfQVdTX0JFRFJPQ0tfS05PV0xFREdFQkFTRSB7XG4vKipcbiAqIERlc2NyaXB0aW9uIG9mIHRoZSBSZXNvdXJjZS5cbiAqL1xuRGVzY3JpcHRpb24/OiBzdHJpbmdcbktub3dsZWRnZUJhc2VDb25maWd1cmF0aW9uOiBLbm93bGVkZ2VCYXNlQ29uZmlndXJhdGlvblxuLyoqXG4gKiBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGtub3dsZWRnZSBiYXNlLlxuICovXG5Lbm93bGVkZ2VCYXNlSWQ/OiBzdHJpbmdcbi8qKlxuICogVGhlIEFSTiBvZiB0aGUga25vd2xlZGdlIGJhc2UuXG4gKi9cbktub3dsZWRnZUJhc2VBcm4/OiBzdHJpbmdcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIGtub3dsZWRnZSBiYXNlLlxuICovXG5OYW1lOiBzdHJpbmdcblN0YXR1cz86IEtub3dsZWRnZUJhc2VTdGF0dXNcbi8qKlxuICogVGhlIEFSTiBvZiB0aGUgSUFNIHJvbGUgd2l0aCBwZXJtaXNzaW9ucyB0byBpbnZva2UgQVBJIG9wZXJhdGlvbnMgb24gdGhlIGtub3dsZWRnZSBiYXNlLiBUaGUgQVJOIG11c3QgYmVnaW4gd2l0aCBBbWF6b25CZWRyb2NrRXhlY3V0aW9uUm9sZUZvcktub3dsZWRnZUJhc2VfXG4gKi9cblJvbGVBcm46IHN0cmluZ1xuLyoqXG4gKiBUaGUgdGltZSBhdCB3aGljaCB0aGUga25vd2xlZGdlIGJhc2Ugd2FzIGNyZWF0ZWQuXG4gKi9cbkNyZWF0ZWRBdD86IHN0cmluZ1xuLyoqXG4gKiBBIGxpc3Qgb2YgcmVhc29ucyB0aGF0IHRoZSBBUEkgb3BlcmF0aW9uIG9uIHRoZSBrbm93bGVkZ2UgYmFzZSBmYWlsZWQuXG4gKiBcbiAqIEBtYXhJdGVtcyAyMDQ4XG4gKi9cbkZhaWx1cmVSZWFzb25zPzogc3RyaW5nW11cbi8qKlxuICogVGhlIHRpbWUgYXQgd2hpY2ggdGhlIGtub3dsZWRnZSBiYXNlIHdhcyBsYXN0IHVwZGF0ZWQuXG4gKi9cblVwZGF0ZWRBdD86IHN0cmluZ1xuU3RvcmFnZUNvbmZpZ3VyYXRpb24/OiBTdG9yYWdlQ29uZmlndXJhdGlvblxuVGFncz86IFRhZ3NNYXBcbn1cbi8qKlxuICogQ29udGFpbnMgZGV0YWlscyBhYm91dCB0aGUgZW1iZWRkaW5ncyBtb2RlbCB1c2VkIGZvciB0aGUga25vd2xlZGdlIGJhc2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS25vd2xlZGdlQmFzZUNvbmZpZ3VyYXRpb24ge1xuVHlwZTogS25vd2xlZGdlQmFzZVR5cGVcblZlY3Rvcktub3dsZWRnZUJhc2VDb25maWd1cmF0aW9uPzogVmVjdG9yS25vd2xlZGdlQmFzZUNvbmZpZ3VyYXRpb25cbktlbmRyYUtub3dsZWRnZUJhc2VDb25maWd1cmF0aW9uPzogS2VuZHJhS25vd2xlZGdlQmFzZUNvbmZpZ3VyYXRpb25cbn1cbi8qKlxuICogQ29udGFpbnMgZGV0YWlscyBhYm91dCB0aGUgbW9kZWwgdXNlZCB0byBjcmVhdGUgdmVjdG9yIGVtYmVkZGluZ3MgZm9yIHRoZSBrbm93bGVkZ2UgYmFzZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWZWN0b3JLbm93bGVkZ2VCYXNlQ29uZmlndXJhdGlvbiB7XG4vKipcbiAqIFRoZSBBUk4gb2YgdGhlIG1vZGVsIHVzZWQgdG8gY3JlYXRlIHZlY3RvciBlbWJlZGRpbmdzIGZvciB0aGUga25vd2xlZGdlIGJhc2UuXG4gKi9cbkVtYmVkZGluZ01vZGVsQXJuOiBzdHJpbmdcbkVtYmVkZGluZ01vZGVsQ29uZmlndXJhdGlvbj86IEVtYmVkZGluZ01vZGVsQ29uZmlndXJhdGlvblxuU3VwcGxlbWVudGFsRGF0YVN0b3JhZ2VDb25maWd1cmF0aW9uPzogU3VwcGxlbWVudGFsRGF0YVN0b3JhZ2VDb25maWd1cmF0aW9uXG59XG4vKipcbiAqIFRoZSBlbWJlZGRpbmdzIG1vZGVsIGNvbmZpZ3VyYXRpb24gZGV0YWlscyBmb3IgdGhlIHZlY3RvciBtb2RlbCB1c2VkIGluIEtub3dsZWRnZSBCYXNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVtYmVkZGluZ01vZGVsQ29uZmlndXJhdGlvbiB7XG5CZWRyb2NrRW1iZWRkaW5nTW9kZWxDb25maWd1cmF0aW9uPzogQmVkcm9ja0VtYmVkZGluZ01vZGVsQ29uZmlndXJhdGlvblxufVxuLyoqXG4gKiBUaGUgdmVjdG9yIGNvbmZpZ3VyYXRpb24gZGV0YWlscyBmb3IgdGhlIEJlZHJvY2sgZW1iZWRkaW5ncyBtb2RlbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrRW1iZWRkaW5nTW9kZWxDb25maWd1cmF0aW9uIHtcbi8qKlxuICogVGhlIGRpbWVuc2lvbnMgZGV0YWlscyBmb3IgdGhlIHZlY3RvciBjb25maWd1cmF0aW9uIHVzZWQgb24gdGhlIEJlZHJvY2sgZW1iZWRkaW5ncyBtb2RlbC5cbiAqL1xuRGltZW5zaW9ucz86IG51bWJlclxufVxuLyoqXG4gKiBDb25maWd1cmF0aW9ucyBmb3Igc3VwcGxlbWVudGFsIGRhdGEgc3RvcmFnZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdXBwbGVtZW50YWxEYXRhU3RvcmFnZUNvbmZpZ3VyYXRpb24ge1xuU3VwcGxlbWVudGFsRGF0YVN0b3JhZ2VMb2NhdGlvbnM6IFN1cHBsZW1lbnRhbERhdGFTdG9yYWdlTG9jYXRpb25zXG59XG4vKipcbiAqIFN1cHBsZW1lbnRhbCBkYXRhIHN0b3JhZ2UgbG9jYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3VwcGxlbWVudGFsRGF0YVN0b3JhZ2VMb2NhdGlvbiB7XG5TdXBwbGVtZW50YWxEYXRhU3RvcmFnZUxvY2F0aW9uVHlwZTogU3VwcGxlbWVudGFsRGF0YVN0b3JhZ2VMb2NhdGlvblR5cGVcblMzTG9jYXRpb24/OiBTM0xvY2F0aW9uXG59XG4vKipcbiAqIEFuIEFtYXpvbiBTMyBsb2NhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTM0xvY2F0aW9uIHtcbi8qKlxuICogVGhlIGxvY2F0aW9uJ3MgVVJJXG4gKi9cblVSSTogc3RyaW5nXG59XG4vKipcbiAqIENvbmZpZ3VyYXRpb25zIGZvciBhIEtlbmRyYSBrbm93bGVkZ2UgYmFzZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEtlbmRyYUtub3dsZWRnZUJhc2VDb25maWd1cmF0aW9uIHtcbktlbmRyYUluZGV4QXJuOiBLZW5kcmFJbmRleEFyblxufVxuLyoqXG4gKiBDb250YWlucyB0aGUgc3RvcmFnZSBjb25maWd1cmF0aW9uIG9mIHRoZSBrbm93bGVkZ2UgYmFzZSBpbiBBbWF6b24gT3BlblNlYXJjaCBTZXJ2aWNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ29uZmlndXJhdGlvbiB7XG4vKipcbiAqIFRoZSBBUk4gb2YgdGhlIE9wZW5TZWFyY2ggU2VydmljZSB2ZWN0b3Igc3RvcmUuXG4gKi9cbkNvbGxlY3Rpb25Bcm46IHN0cmluZ1xuLyoqXG4gKiBUaGUgbmFtZSBvZiB0aGUgdmVjdG9yIHN0b3JlLlxuICovXG5WZWN0b3JJbmRleE5hbWU6IHN0cmluZ1xuRmllbGRNYXBwaW5nOiBPcGVuU2VhcmNoU2VydmVybGVzc0ZpZWxkTWFwcGluZ1xufVxuLyoqXG4gKiBBIG1hcHBpbmcgb2YgQmVkcm9jayBLbm93bGVkZ2UgQmFzZSBmaWVsZHMgdG8gT3BlblNlYXJjaCBTZXJ2ZXJsZXNzIGZpZWxkIG5hbWVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3BlblNlYXJjaFNlcnZlcmxlc3NGaWVsZE1hcHBpbmcge1xuLyoqXG4gKiBUaGUgbmFtZSBvZiB0aGUgZmllbGQgaW4gd2hpY2ggQW1hem9uIEJlZHJvY2sgc3RvcmVzIHRoZSB2ZWN0b3IgZW1iZWRkaW5ncyBmb3IgeW91ciBkYXRhIHNvdXJjZXMuXG4gKi9cblZlY3RvckZpZWxkOiBzdHJpbmdcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIGZpZWxkIGluIHdoaWNoIEFtYXpvbiBCZWRyb2NrIHN0b3JlcyB0aGUgcmF3IHRleHQgZnJvbSB5b3VyIGRhdGEuIFRoZSB0ZXh0IGlzIHNwbGl0IGFjY29yZGluZyB0byB0aGUgY2h1bmtpbmcgc3RyYXRlZ3kgeW91IGNob29zZS5cbiAqL1xuVGV4dEZpZWxkOiBzdHJpbmdcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIGZpZWxkIGluIHdoaWNoIEFtYXpvbiBCZWRyb2NrIHN0b3JlcyBtZXRhZGF0YSBhYm91dCB0aGUgdmVjdG9yIHN0b3JlLlxuICovXG5NZXRhZGF0YUZpZWxkOiBzdHJpbmdcbn1cbi8qKlxuICogQ29udGFpbnMgdGhlIHN0b3JhZ2UgY29uZmlndXJhdGlvbiBvZiB0aGUga25vd2xlZGdlIGJhc2UgaW4gUGluZWNvbmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGluZWNvbmVDb25maWd1cmF0aW9uIHtcbi8qKlxuICogVGhlIGVuZHBvaW50IFVSTCBmb3IgeW91ciBpbmRleCBtYW5hZ2VtZW50IHBhZ2UuXG4gKi9cbkNvbm5lY3Rpb25TdHJpbmc6IHN0cmluZ1xuLyoqXG4gKiBUaGUgQVJOIG9mIHRoZSBzZWNyZXQgdGhhdCB5b3UgY3JlYXRlZCBpbiBBV1MgU2VjcmV0cyBNYW5hZ2VyIHRoYXQgaXMgbGlua2VkIHRvIHlvdXIgUGluZWNvbmUgQVBJIGtleS5cbiAqL1xuQ3JlZGVudGlhbHNTZWNyZXRBcm46IHN0cmluZ1xuLyoqXG4gKiBUaGUgbmFtZXNwYWNlIHRvIGJlIHVzZWQgdG8gd3JpdGUgbmV3IGRhdGEgdG8geW91ciBkYXRhYmFzZS5cbiAqL1xuTmFtZXNwYWNlPzogc3RyaW5nXG5GaWVsZE1hcHBpbmc6IFBpbmVjb25lRmllbGRNYXBwaW5nXG59XG4vKipcbiAqIENvbnRhaW5zIHRoZSBuYW1lcyBvZiB0aGUgZmllbGRzIHRvIHdoaWNoIHRvIG1hcCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdmVjdG9yIHN0b3JlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBpbmVjb25lRmllbGRNYXBwaW5nIHtcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIGZpZWxkIGluIHdoaWNoIEFtYXpvbiBCZWRyb2NrIHN0b3JlcyB0aGUgcmF3IHRleHQgZnJvbSB5b3VyIGRhdGEuIFRoZSB0ZXh0IGlzIHNwbGl0IGFjY29yZGluZyB0byB0aGUgY2h1bmtpbmcgc3RyYXRlZ3kgeW91IGNob29zZS5cbiAqL1xuVGV4dEZpZWxkOiBzdHJpbmdcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIGZpZWxkIGluIHdoaWNoIEFtYXpvbiBCZWRyb2NrIHN0b3JlcyBtZXRhZGF0YSBhYm91dCB0aGUgdmVjdG9yIHN0b3JlLlxuICovXG5NZXRhZGF0YUZpZWxkOiBzdHJpbmdcbn1cbi8qKlxuICogQ29udGFpbnMgZGV0YWlscyBhYm91dCB0aGUgc3RvcmFnZSBjb25maWd1cmF0aW9uIG9mIHRoZSBrbm93bGVkZ2UgYmFzZSBpbiBBbWF6b24gUkRTLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIENyZWF0ZSBhIHZlY3RvciBpbmRleCBpbiBBbWF6b24gUkRTLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJkc0NvbmZpZ3VyYXRpb24ge1xuLyoqXG4gKiBUaGUgQVJOIG9mIHRoZSB2ZWN0b3Igc3RvcmUuXG4gKi9cblJlc291cmNlQXJuOiBzdHJpbmdcbi8qKlxuICogVGhlIEFSTiBvZiB0aGUgc2VjcmV0IHRoYXQgeW91IGNyZWF0ZWQgaW4gQVdTIFNlY3JldHMgTWFuYWdlciB0aGF0IGlzIGxpbmtlZCB0byB5b3VyIEFtYXpvbiBSRFMgZGF0YWJhc2UuXG4gKi9cbkNyZWRlbnRpYWxzU2VjcmV0QXJuOiBzdHJpbmdcbi8qKlxuICogVGhlIG5hbWUgb2YgeW91ciBBbWF6b24gUkRTIGRhdGFiYXNlLlxuICovXG5EYXRhYmFzZU5hbWU6IHN0cmluZ1xuLyoqXG4gKiBUaGUgbmFtZSBvZiB0aGUgdGFibGUgaW4gdGhlIGRhdGFiYXNlLlxuICovXG5UYWJsZU5hbWU6IHN0cmluZ1xuRmllbGRNYXBwaW5nOiBSZHNGaWVsZE1hcHBpbmdcbn1cbi8qKlxuICogQ29udGFpbnMgdGhlIG5hbWVzIG9mIHRoZSBmaWVsZHMgdG8gd2hpY2ggdG8gbWFwIGluZm9ybWF0aW9uIGFib3V0IHRoZSB2ZWN0b3Igc3RvcmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmRzRmllbGRNYXBwaW5nIHtcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIGZpZWxkIGluIHdoaWNoIEFtYXpvbiBCZWRyb2NrIHN0b3JlcyB0aGUgSUQgZm9yIGVhY2ggZW50cnkuXG4gKi9cblByaW1hcnlLZXlGaWVsZDogc3RyaW5nXG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSBmaWVsZCBpbiB3aGljaCBBbWF6b24gQmVkcm9jayBzdG9yZXMgdGhlIHZlY3RvciBlbWJlZGRpbmdzIGZvciB5b3VyIGRhdGEgc291cmNlcy5cbiAqL1xuVmVjdG9yRmllbGQ6IHN0cmluZ1xuLyoqXG4gKiBUaGUgbmFtZSBvZiB0aGUgZmllbGQgaW4gd2hpY2ggQW1hem9uIEJlZHJvY2sgc3RvcmVzIHRoZSByYXcgdGV4dCBmcm9tIHlvdXIgZGF0YS4gVGhlIHRleHQgaXMgc3BsaXQgYWNjb3JkaW5nIHRvIHRoZSBjaHVua2luZyBzdHJhdGVneSB5b3UgY2hvb3NlLlxuICovXG5UZXh0RmllbGQ6IHN0cmluZ1xuLyoqXG4gKiBUaGUgbmFtZSBvZiB0aGUgZmllbGQgaW4gd2hpY2ggQW1hem9uIEJlZHJvY2sgc3RvcmVzIG1ldGFkYXRhIGFib3V0IHRoZSB2ZWN0b3Igc3RvcmUuXG4gKi9cbk1ldGFkYXRhRmllbGQ6IHN0cmluZ1xufVxuLyoqXG4gKiBDb250YWlucyB0aGUgc3RvcmFnZSBjb25maWd1cmF0aW9uIG9mIHRoZSBrbm93bGVkZ2UgYmFzZSBpbiBNb25nb0RiIEF0bGFzIENsb3VkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vbmdvRGJBdGxhc0NvbmZpZ3VyYXRpb24ge1xuLyoqXG4gKiBNb25nb0RCIEF0bGFzIGVuZHBvaW50LlxuICovXG5FbmRwb2ludDogc3RyaW5nXG4vKipcbiAqIFRoZSBBUk4gb2YgdGhlIHNlY3JldCB0aGF0IHlvdSBjcmVhdGVkIGluIEFXUyBTZWNyZXRzIE1hbmFnZXIgdGhhdCBpcyBsaW5rZWQgdG8geW91ciBBbWF6b24gTW9uZ28gZGF0YWJhc2UuXG4gKi9cbkNyZWRlbnRpYWxzU2VjcmV0QXJuOiBzdHJpbmdcbi8qKlxuICogTmFtZSBvZiB0aGUgZGF0YWJhc2Ugd2l0aGluIE1vbmdvREIgQXRsYXMuXG4gKi9cbkRhdGFiYXNlTmFtZTogc3RyaW5nXG4vKipcbiAqIE5hbWUgb2YgdGhlIGNvbGxlY3Rpb24gd2l0aGluIE1vbmdvREIgQXRsYXMuXG4gKi9cbkNvbGxlY3Rpb25OYW1lOiBzdHJpbmdcbi8qKlxuICogTmFtZSBvZiBhIE1vbmdvREIgQXRsYXMgaW5kZXguXG4gKi9cblZlY3RvckluZGV4TmFtZTogc3RyaW5nXG4vKipcbiAqIE1vbmdvREIgQXRsYXMgZW5kcG9pbnQgc2VydmljZSBuYW1lLlxuICovXG5FbmRwb2ludFNlcnZpY2VOYW1lPzogc3RyaW5nXG5GaWVsZE1hcHBpbmc6IE1vbmdvRGJBdGxhc0ZpZWxkTWFwcGluZ1xufVxuLyoqXG4gKiBDb250YWlucyB0aGUgbmFtZXMgb2YgdGhlIGZpZWxkcyB0byB3aGljaCB0byBtYXAgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHZlY3RvciBzdG9yZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNb25nb0RiQXRsYXNGaWVsZE1hcHBpbmcge1xuLyoqXG4gKiBUaGUgbmFtZSBvZiB0aGUgZmllbGQgaW4gd2hpY2ggQW1hem9uIEJlZHJvY2sgc3RvcmVzIHRoZSB2ZWN0b3IgZW1iZWRkaW5ncyBmb3IgeW91ciBkYXRhIHNvdXJjZXMuXG4gKi9cblZlY3RvckZpZWxkOiBzdHJpbmdcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIGZpZWxkIGluIHdoaWNoIEFtYXpvbiBCZWRyb2NrIHN0b3JlcyB0aGUgcmF3IHRleHQgZnJvbSB5b3VyIGRhdGEuIFRoZSB0ZXh0IGlzIHNwbGl0IGFjY29yZGluZyB0byB0aGUgY2h1bmtpbmcgc3RyYXRlZ3kgeW91IGNob29zZS5cbiAqL1xuVGV4dEZpZWxkOiBzdHJpbmdcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIGZpZWxkIGluIHdoaWNoIEFtYXpvbiBCZWRyb2NrIHN0b3JlcyBtZXRhZGF0YSBhYm91dCB0aGUgdmVjdG9yIHN0b3JlLlxuICovXG5NZXRhZGF0YUZpZWxkOiBzdHJpbmdcbn1cbi8qKlxuICogQSBtYXAgb2YgdGFnIGtleXMgYW5kIHZhbHVlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhZ3NNYXAge1xuLyoqXG4gKiBWYWx1ZSBvZiBhIHRhZ1xuICogXG4gKiBUaGlzIGludGVyZmFjZSB3YXMgcmVmZXJlbmNlZCBieSBgVGFnc01hcGAncyBKU09OLVNjaGVtYSBkZWZpbml0aW9uXG4gKiB2aWEgdGhlIGBwYXR0ZXJuUHJvcGVydHlgIFwiXlthLXpBLVowLTlcXHMuXzovPStALV0qJFwiLlxuICovXG5bazogc3RyaW5nXTogc3RyaW5nXG59XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWJlZHJvY2sta25vd2xlZGdlYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImF3cy1iZWRyb2NrLWtub3dsZWRnZWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhlIHR5cGUgb2YgYSBrbm93bGVkZ2UgYmFzZS5cbiAqL1xuZXhwb3J0IHR5cGUgS25vd2xlZGdlQmFzZVR5cGUgPSAoXCJWRUNUT1JcIiB8IFwiS0VORFJBXCIgfCBcIlNRTFwiKVxuLyoqXG4gKiBTdXBwbGVtZW50YWwgZGF0YSBzdG9yYWdlIGxvY2F0aW9uIHR5cGUuXG4gKi9cbmV4cG9ydCB0eXBlIFN1cHBsZW1lbnRhbERhdGFTdG9yYWdlTG9jYXRpb25UeXBlID0gXCJTM1wiXG4vKipcbiAqIExpc3Qgb2Ygc3VwcGxlbWVudGFsIGRhdGEgc3RvcmFnZSBsb2NhdGlvbnMuXG4gKiBcbiAqIEBtaW5JdGVtcyAxXG4gKiBAbWF4SXRlbXMgMVxuICovXG5leHBvcnQgdHlwZSBTdXBwbGVtZW50YWxEYXRhU3RvcmFnZUxvY2F0aW9ucyA9IFN1cHBsZW1lbnRhbERhdGFTdG9yYWdlTG9jYXRpb25bXVxuLyoqXG4gKiBBcm4gb2YgYSBLZW5kcmEgaW5kZXhcbiAqL1xuZXhwb3J0IHR5cGUgS2VuZHJhSW5kZXhBcm4gPSBzdHJpbmdcbi8qKlxuICogU1FMIHF1ZXJ5IGVuZ2luZSB0eXBlXG4gKi9cbmV4cG9ydCB0eXBlIFF1ZXJ5RW5naW5lVHlwZSA9IFwiUkVEU0hJRlRcIlxuLyoqXG4gKiBSZWRzaGlmdCBxdWVyeSBlbmdpbmUgc3RvcmFnZSB0eXBlXG4gKi9cbmV4cG9ydCB0eXBlIFJlZHNoaWZ0UXVlcnlFbmdpbmVTdG9yYWdlVHlwZSA9IChcIlJFRFNISUZUXCIgfCBcIkFXU19EQVRBX0NBVEFMT0dcIilcbi8qKlxuICogQVdTIERhdGEgQ2F0YWxvZyB0YWJsZSBuYW1lXG4gKi9cbmV4cG9ydCB0eXBlIEF3c0RhdGFDYXRhbG9nVGFibGVOYW1lID0gc3RyaW5nXG4vKipcbiAqIExpc3Qgb2YgdGFibGUgbmFtZXMgaW4gQVdTIERhdGEgQ2F0YWxvZy4gTXVzdCBmb2xsb3cgdHdvIHBhcnQgbm90YXRpb25cbiAqIFxuICogQG1pbkl0ZW1zIDFcbiAqIEBtYXhJdGVtcyAxMDAwXG4gKi9cbmV4cG9ydCB0eXBlIEF3c0RhdGFDYXRhbG9nVGFibGVOYW1lcyA9IEF3c0RhdGFDYXRhbG9nVGFibGVOYW1lW11cbi8qKlxuICogUmVkc2hpZnQgZGF0YWJhc2UgbmFtZVxuICovXG5leHBvcnQgdHlwZSBSZWRzaGlmdERhdGFiYXNlID0gc3RyaW5nXG4vKipcbiAqIExpc3Qgb2YgY29uZmlndXJhdGlvbnMgZm9yIGF2YWlsYWJsZSBSZWRzaGlmdCBxdWVyeSBlbmdpbmUgc3RvcmFnZSB0eXBlc1xuICogXG4gKiBAbWluSXRlbXMgMVxuICogQG1heEl0ZW1zIDFcbiAqL1xuZXhwb3J0IHR5cGUgUmVkc2hpZnRRdWVyeUVuZ2luZVN0b3JhZ2VDb25maWd1cmF0aW9ucyA9IFJlZHNoaWZ0UXVlcnlFbmdpbmVTdG9yYWdlQ29uZmlndXJhdGlvbltdXG4vKipcbiAqIFJlZHNoaWZ0IHF1ZXJ5IGVuZ2luZSB0eXBlXG4gKi9cbmV4cG9ydCB0eXBlIFJlZHNoaWZ0UXVlcnlFbmdpbmVUeXBlID0gKFwiU0VSVkVSTEVTU1wiIHwgXCJQUk9WSVNJT05FRFwiKVxuLyoqXG4gKiBXb3JrZ3JvdXAgYXJuXG4gKi9cbmV4cG9ydCB0eXBlIFdvcmtncm91cEFybiA9IHN0cmluZ1xuLyoqXG4gKiBTZXJ2ZXJsZXNzIFJlZHNoaWZ0IGF1dGggdHlwZVxuICovXG5leHBvcnQgdHlwZSBSZWRzaGlmdFNlcnZlcmxlc3NBdXRoVHlwZSA9IChcIklBTVwiIHwgXCJVU0VSTkFNRV9QQVNTV09SRFwiKVxuLyoqXG4gKiBBcm4gb2YgYSBTZWNyZXRzTWFuYWdlciBTZWNyZXRcbiAqL1xuZXhwb3J0IHR5cGUgU2VjcmV0QXJuID0gc3RyaW5nXG4vKipcbiAqIFJlZHNoaWZ0IGNsdXN0ZXIgaWRlbnRpZmllclxuICovXG5leHBvcnQgdHlwZSBSZWRzaGlmdENsdXN0ZXJJZGVudGlmaWVyID0gc3RyaW5nXG4vKipcbiAqIFByb3Zpc2lvbmVkIFJlZHNoaWZ0IGF1dGggdHlwZVxuICovXG5leHBvcnQgdHlwZSBSZWRzaGlmdFByb3Zpc2lvbmVkQXV0aFR5cGUgPSAoXCJJQU1cIiB8IFwiVVNFUk5BTUVfUEFTU1dPUkRcIiB8IFwiVVNFUk5BTUVcIilcbi8qKlxuICogTWF4IHF1ZXJ5IGV4ZWN1dGlvbiB0aW1lb3V0XG4gKi9cbmV4cG9ydCB0eXBlIFF1ZXJ5RXhlY3V0aW9uVGltZW91dFNlY29uZHMgPSBudW1iZXJcbi8qKlxuICogUXVlcnkgZ2VuZXJhdGlvbiB0YWJsZSBuYW1lLiBNdXN0IGZvbGxvdyB0aHJlZS1wYXJ0IG5vdGF0aW9uXG4gKi9cbmV4cG9ydCB0eXBlIFF1ZXJ5R2VuZXJhdGlvblRhYmxlTmFtZSA9IHN0cmluZ1xuLyoqXG4gKiBEZXNjcmlwdGlvbiBmb3IgdGhlIGF0dGFjaGVkIGVudGl0eVxuICovXG5leHBvcnQgdHlwZSBEZXNjcmlwdGlvblN0cmluZyA9IHN0cmluZ1xuLyoqXG4gKiBJbmNsdWRlIG9yIEV4Y2x1ZGUgc3RhdHVzIGZvciBhbiBlbnRpdHlcbiAqL1xuZXhwb3J0IHR5cGUgSW5jbHVzaW9uVHlwZSA9IChcIklOQ0xVREVcIiB8IFwiRVhDTFVERVwiKVxuLyoqXG4gKiBRdWVyeSBnZW5lcmF0aW9uIGNvbHVtbiBuYW1lXG4gKi9cbmV4cG9ydCB0eXBlIFF1ZXJ5R2VuZXJhdGlvbkNvbHVtbk5hbWUgPSBzdHJpbmdcbi8qKlxuICogTGlzdCBvZiBSZWRzaGlmdCBxdWVyeSBnZW5lcmF0aW9uIGNvbHVtbnNcbiAqL1xuZXhwb3J0IHR5cGUgUXVlcnlHZW5lcmF0aW9uQ29sdW1ucyA9IFF1ZXJ5R2VuZXJhdGlvbkNvbHVtbltdXG4vKipcbiAqIExpc3Qgb2YgdGFibGVzIHVzZWQgZm9yIFJlZHNoaWZ0IHF1ZXJ5IGdlbmVyYXRpb24gY29udGV4dFxuICogXG4gKiBAbWF4SXRlbXMgNTBcbiAqL1xuZXhwb3J0IHR5cGUgUXVlcnlHZW5lcmF0aW9uVGFibGVzID0gUXVlcnlHZW5lcmF0aW9uVGFibGVbXVxuLyoqXG4gKiBRdWVzdGlvbiBmb3IgdGhlIGN1cmF0ZWQgcXVlcnlcbiAqL1xuZXhwb3J0IHR5cGUgTmF0dXJhbExhbmd1YWdlU3RyaW5nID0gc3RyaW5nXG4vKipcbiAqIEFuc3dlciBmb3IgdGhlIGN1cmF0ZWQgcXVlcnlcbiAqL1xuZXhwb3J0IHR5cGUgU3FsU3RyaW5nID0gc3RyaW5nXG4vKipcbiAqIExpc3Qgb2YgZXhhbXBsZSBxdWVyaWVzIGFuZCByZXN1bHRzXG4gKiBcbiAqIEBtYXhJdGVtcyAxMFxuICovXG5leHBvcnQgdHlwZSBDdXJhdGVkUXVlcmllcyA9IEN1cmF0ZWRRdWVyeVtdXG4vKipcbiAqIFRoZSBzdGF0dXMgb2YgYSBrbm93bGVkZ2UgYmFzZS5cbiAqL1xuZXhwb3J0IHR5cGUgS25vd2xlZGdlQmFzZVN0YXR1cyA9IChcIkNSRUFUSU5HXCIgfCBcIkFDVElWRVwiIHwgXCJERUxFVElOR1wiIHwgXCJVUERBVElOR1wiIHwgXCJGQUlMRURcIiB8IFwiREVMRVRFX1VOU1VDQ0VTU0ZVTFwiKVxuLyoqXG4gKiBUaGUgdmVjdG9yIHN0b3JlIHNlcnZpY2UgaW4gd2hpY2ggdGhlIGtub3dsZWRnZSBiYXNlIGlzIHN0b3JlZC5cbiAqL1xuZXhwb3J0IHR5cGUgU3RvcmFnZUNvbmZpZ3VyYXRpb24gPSAoe1xuVHlwZTogS25vd2xlZGdlQmFzZVN0b3JhZ2VUeXBlXG5PcGVuc2VhcmNoU2VydmVybGVzc0NvbmZpZ3VyYXRpb24/OiBPcGVuU2VhcmNoU2VydmVybGVzc0NvbmZpZ3VyYXRpb25cblBpbmVjb25lQ29uZmlndXJhdGlvbj86IFBpbmVjb25lQ29uZmlndXJhdGlvblxuUmRzQ29uZmlndXJhdGlvbj86IFJkc0NvbmZpZ3VyYXRpb25cbk1vbmdvRGJBdGxhc0NvbmZpZ3VyYXRpb24/OiBNb25nb0RiQXRsYXNDb25maWd1cmF0aW9uXG59ICYgU3RvcmFnZUNvbmZpZ3VyYXRpb24xKVxuLyoqXG4gKiBUaGUgc3RvcmFnZSB0eXBlIG9mIGEga25vd2xlZGdlIGJhc2UuXG4gKi9cbmV4cG9ydCB0eXBlIEtub3dsZWRnZUJhc2VTdG9yYWdlVHlwZSA9IChcIk9QRU5TRUFSQ0hfU0VSVkVSTEVTU1wiIHwgXCJQSU5FQ09ORVwiIHwgXCJSRFNcIiB8IFwiTU9OR09fREJfQVRMQVNcIilcbmV4cG9ydCB0eXBlIFN0b3JhZ2VDb25maWd1cmF0aW9uMSA9IHtcbltrOiBzdHJpbmddOiB1bmtub3duXG59XG5cbi8qKlxuICogRGVmaW5pdGlvbiBvZiBBV1M6OkJlZHJvY2s6Oktub3dsZWRnZUJhc2UgUmVzb3VyY2UgVHlwZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIF9BV1NfQkVEUk9DS19LTk9XTEVER0VCQVNFIHtcbi8qKlxuICogRGVzY3JpcHRpb24gb2YgdGhlIFJlc291cmNlLlxuICovXG5EZXNjcmlwdGlvbj86IHN0cmluZ1xuS25vd2xlZGdlQmFzZUNvbmZpZ3VyYXRpb246IEtub3dsZWRnZUJhc2VDb25maWd1cmF0aW9uXG4vKipcbiAqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUga25vd2xlZGdlIGJhc2UuXG4gKi9cbktub3dsZWRnZUJhc2VJZD86IHN0cmluZ1xuLyoqXG4gKiBUaGUgQVJOIG9mIHRoZSBrbm93bGVkZ2UgYmFzZS5cbiAqL1xuS25vd2xlZGdlQmFzZUFybj86IHN0cmluZ1xuLyoqXG4gKiBUaGUgbmFtZSBvZiB0aGUga25vd2xlZGdlIGJhc2UuXG4gKi9cbk5hbWU6IHN0cmluZ1xuU3RhdHVzPzogS25vd2xlZGdlQmFzZVN0YXR1c1xuLyoqXG4gKiBUaGUgQVJOIG9mIHRoZSBJQU0gcm9sZSB3aXRoIHBlcm1pc3Npb25zIHRvIGludm9rZSBBUEkgb3BlcmF0aW9ucyBvbiB0aGUga25vd2xlZGdlIGJhc2UuIFRoZSBBUk4gbXVzdCBiZWdpbiB3aXRoIEFtYXpvbkJlZHJvY2tFeGVjdXRpb25Sb2xlRm9yS25vd2xlZGdlQmFzZV9cbiAqL1xuUm9sZUFybjogc3RyaW5nXG4vKipcbiAqIFRoZSB0aW1lIGF0IHdoaWNoIHRoZSBrbm93bGVkZ2UgYmFzZSB3YXMgY3JlYXRlZC5cbiAqL1xuQ3JlYXRlZEF0Pzogc3RyaW5nXG4vKipcbiAqIEEgbGlzdCBvZiByZWFzb25zIHRoYXQgdGhlIEFQSSBvcGVyYXRpb24gb24gdGhlIGtub3dsZWRnZSBiYXNlIGZhaWxlZC5cbiAqIFxuICogQG1heEl0ZW1zIDIwNDhcbiAqL1xuRmFpbHVyZVJlYXNvbnM/OiBzdHJpbmdbXVxuLyoqXG4gKiBUaGUgdGltZSBhdCB3aGljaCB0aGUga25vd2xlZGdlIGJhc2Ugd2FzIGxhc3QgdXBkYXRlZC5cbiAqL1xuVXBkYXRlZEF0Pzogc3RyaW5nXG5TdG9yYWdlQ29uZmlndXJhdGlvbj86IFN0b3JhZ2VDb25maWd1cmF0aW9uXG5UYWdzPzogVGFnc01hcFxufVxuLyoqXG4gKiBDb250YWlucyBkZXRhaWxzIGFib3V0IHRoZSBlbWJlZGRpbmdzIG1vZGVsIHVzZWQgZm9yIHRoZSBrbm93bGVkZ2UgYmFzZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLbm93bGVkZ2VCYXNlQ29uZmlndXJhdGlvbiB7XG5UeXBlOiBLbm93bGVkZ2VCYXNlVHlwZVxuVmVjdG9yS25vd2xlZGdlQmFzZUNvbmZpZ3VyYXRpb24/OiBWZWN0b3JLbm93bGVkZ2VCYXNlQ29uZmlndXJhdGlvblxuS2VuZHJhS25vd2xlZGdlQmFzZUNvbmZpZ3VyYXRpb24/OiBLZW5kcmFLbm93bGVkZ2VCYXNlQ29uZmlndXJhdGlvblxuU3FsS25vd2xlZGdlQmFzZUNvbmZpZ3VyYXRpb24/OiBTcWxLbm93bGVkZ2VCYXNlQ29uZmlndXJhdGlvblxufVxuLyoqXG4gKiBDb250YWlucyBkZXRhaWxzIGFib3V0IHRoZSBtb2RlbCB1c2VkIHRvIGNyZWF0ZSB2ZWN0b3IgZW1iZWRkaW5ncyBmb3IgdGhlIGtub3dsZWRnZSBiYXNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZlY3Rvcktub3dsZWRnZUJhc2VDb25maWd1cmF0aW9uIHtcbi8qKlxuICogVGhlIEFSTiBvZiB0aGUgbW9kZWwgdXNlZCB0byBjcmVhdGUgdmVjdG9yIGVtYmVkZGluZ3MgZm9yIHRoZSBrbm93bGVkZ2UgYmFzZS5cbiAqL1xuRW1iZWRkaW5nTW9kZWxBcm46IHN0cmluZ1xuRW1iZWRkaW5nTW9kZWxDb25maWd1cmF0aW9uPzogRW1iZWRkaW5nTW9kZWxDb25maWd1cmF0aW9uXG5TdXBwbGVtZW50YWxEYXRhU3RvcmFnZUNvbmZpZ3VyYXRpb24/OiBTdXBwbGVtZW50YWxEYXRhU3RvcmFnZUNvbmZpZ3VyYXRpb25cbn1cbi8qKlxuICogVGhlIGVtYmVkZGluZ3MgbW9kZWwgY29uZmlndXJhdGlvbiBkZXRhaWxzIGZvciB0aGUgdmVjdG9yIG1vZGVsIHVzZWQgaW4gS25vd2xlZGdlIEJhc2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW1iZWRkaW5nTW9kZWxDb25maWd1cmF0aW9uIHtcbkJlZHJvY2tFbWJlZGRpbmdNb2RlbENvbmZpZ3VyYXRpb24/OiBCZWRyb2NrRW1iZWRkaW5nTW9kZWxDb25maWd1cmF0aW9uXG59XG4vKipcbiAqIFRoZSB2ZWN0b3IgY29uZmlndXJhdGlvbiBkZXRhaWxzIGZvciB0aGUgQmVkcm9jayBlbWJlZGRpbmdzIG1vZGVsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJlZHJvY2tFbWJlZGRpbmdNb2RlbENvbmZpZ3VyYXRpb24ge1xuLyoqXG4gKiBUaGUgZGltZW5zaW9ucyBkZXRhaWxzIGZvciB0aGUgdmVjdG9yIGNvbmZpZ3VyYXRpb24gdXNlZCBvbiB0aGUgQmVkcm9jayBlbWJlZGRpbmdzIG1vZGVsLlxuICovXG5EaW1lbnNpb25zPzogbnVtYmVyXG59XG4vKipcbiAqIENvbmZpZ3VyYXRpb25zIGZvciBzdXBwbGVtZW50YWwgZGF0YSBzdG9yYWdlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN1cHBsZW1lbnRhbERhdGFTdG9yYWdlQ29uZmlndXJhdGlvbiB7XG5TdXBwbGVtZW50YWxEYXRhU3RvcmFnZUxvY2F0aW9uczogU3VwcGxlbWVudGFsRGF0YVN0b3JhZ2VMb2NhdGlvbnNcbn1cbi8qKlxuICogU3VwcGxlbWVudGFsIGRhdGEgc3RvcmFnZSBsb2NhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdXBwbGVtZW50YWxEYXRhU3RvcmFnZUxvY2F0aW9uIHtcblN1cHBsZW1lbnRhbERhdGFTdG9yYWdlTG9jYXRpb25UeXBlOiBTdXBwbGVtZW50YWxEYXRhU3RvcmFnZUxvY2F0aW9uVHlwZVxuUzNMb2NhdGlvbj86IFMzTG9jYXRpb25cbn1cbi8qKlxuICogQW4gQW1hem9uIFMzIGxvY2F0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFMzTG9jYXRpb24ge1xuLyoqXG4gKiBUaGUgbG9jYXRpb24ncyBVUklcbiAqL1xuVVJJOiBzdHJpbmdcbn1cbi8qKlxuICogQ29uZmlndXJhdGlvbnMgZm9yIGEgS2VuZHJhIGtub3dsZWRnZSBiYXNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2VuZHJhS25vd2xlZGdlQmFzZUNvbmZpZ3VyYXRpb24ge1xuS2VuZHJhSW5kZXhBcm46IEtlbmRyYUluZGV4QXJuXG59XG4vKipcbiAqIENvbmZpZ3VyYXRpb25zIGZvciBhIFNRTCBrbm93bGVkZ2UgYmFzZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNxbEtub3dsZWRnZUJhc2VDb25maWd1cmF0aW9uIHtcblR5cGU6IFF1ZXJ5RW5naW5lVHlwZVxuUmVkc2hpZnRDb25maWd1cmF0aW9uPzogUmVkc2hpZnRDb25maWd1cmF0aW9uXG59XG4vKipcbiAqIENvbmZpZ3VyYXRpb25zIGZvciBhIFJlZHNoaWZ0IGtub3dsZWRnZSBiYXNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVkc2hpZnRDb25maWd1cmF0aW9uIHtcblN0b3JhZ2VDb25maWd1cmF0aW9uczogUmVkc2hpZnRRdWVyeUVuZ2luZVN0b3JhZ2VDb25maWd1cmF0aW9uc1xuUXVlcnlFbmdpbmVDb25maWd1cmF0aW9uOiBSZWRzaGlmdFF1ZXJ5RW5naW5lQ29uZmlndXJhdGlvblxuUXVlcnlHZW5lcmF0aW9uQ29uZmlndXJhdGlvbj86IFF1ZXJ5R2VuZXJhdGlvbkNvbmZpZ3VyYXRpb25cbn1cbi8qKlxuICogQ29uZmlndXJhdGlvbnMgZm9yIGF2YWlsYWJsZSBSZWRzaGlmdCBxdWVyeSBlbmdpbmUgc3RvcmFnZSB0eXBlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZHNoaWZ0UXVlcnlFbmdpbmVTdG9yYWdlQ29uZmlndXJhdGlvbiB7XG5UeXBlOiBSZWRzaGlmdFF1ZXJ5RW5naW5lU3RvcmFnZVR5cGVcbkF3c0RhdGFDYXRhbG9nQ29uZmlndXJhdGlvbj86IFJlZHNoaWZ0UXVlcnlFbmdpbmVBd3NEYXRhQ2F0YWxvZ1N0b3JhZ2VDb25maWd1cmF0aW9uXG5SZWRzaGlmdENvbmZpZ3VyYXRpb24/OiBSZWRzaGlmdFF1ZXJ5RW5naW5lUmVkc2hpZnRTdG9yYWdlQ29uZmlndXJhdGlvblxufVxuLyoqXG4gKiBDb25maWd1cmF0aW9ucyBmb3IgUmVkc2hpZnQgcXVlcnkgZW5naW5lIEFXUyBEYXRhIENhdGFsb2cgYmFja2VkIHN0b3JhZ2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWRzaGlmdFF1ZXJ5RW5naW5lQXdzRGF0YUNhdGFsb2dTdG9yYWdlQ29uZmlndXJhdGlvbiB7XG5UYWJsZU5hbWVzOiBBd3NEYXRhQ2F0YWxvZ1RhYmxlTmFtZXNcbn1cbi8qKlxuICogQ29uZmlndXJhdGlvbnMgZm9yIFJlZHNoaWZ0IHF1ZXJ5IGVuZ2luZSBSZWRzaGlmdCBiYWNrZWQgc3RvcmFnZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZHNoaWZ0UXVlcnlFbmdpbmVSZWRzaGlmdFN0b3JhZ2VDb25maWd1cmF0aW9uIHtcbkRhdGFiYXNlTmFtZTogUmVkc2hpZnREYXRhYmFzZVxufVxuLyoqXG4gKiBDb25maWd1cmF0aW9ucyBmb3IgUmVkc2hpZnQgcXVlcnkgZW5naW5lXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVkc2hpZnRRdWVyeUVuZ2luZUNvbmZpZ3VyYXRpb24ge1xuVHlwZTogUmVkc2hpZnRRdWVyeUVuZ2luZVR5cGVcblNlcnZlcmxlc3NDb25maWd1cmF0aW9uPzogUmVkc2hpZnRTZXJ2ZXJsZXNzQ29uZmlndXJhdGlvblxuUHJvdmlzaW9uZWRDb25maWd1cmF0aW9uPzogUmVkc2hpZnRQcm92aXNpb25lZENvbmZpZ3VyYXRpb25cbn1cbi8qKlxuICogQ29uZmlndXJhdGlvbnMgZm9yIHNlcnZlcmxlc3MgUmVkc2hpZnQgcXVlcnkgZW5naW5lXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVkc2hpZnRTZXJ2ZXJsZXNzQ29uZmlndXJhdGlvbiB7XG5Xb3JrZ3JvdXBBcm46IFdvcmtncm91cEFyblxuQXV0aENvbmZpZ3VyYXRpb246IFJlZHNoaWZ0U2VydmVybGVzc0F1dGhDb25maWd1cmF0aW9uXG59XG4vKipcbiAqIENvbmZpZ3VyYXRpb25zIGZvciBSZWRzaGlmdCBxdWVyeSBlbmdpbmUgc2VydmVybGVzcyBhdXRoIHNldHVwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVkc2hpZnRTZXJ2ZXJsZXNzQXV0aENvbmZpZ3VyYXRpb24ge1xuVHlwZTogUmVkc2hpZnRTZXJ2ZXJsZXNzQXV0aFR5cGVcblVzZXJuYW1lUGFzc3dvcmRTZWNyZXRBcm4/OiBTZWNyZXRBcm5cbn1cbi8qKlxuICogQ29uZmlndXJhdGlvbnMgZm9yIHByb3Zpc2lvbmVkIFJlZHNoaWZ0IHF1ZXJ5IGVuZ2luZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZHNoaWZ0UHJvdmlzaW9uZWRDb25maWd1cmF0aW9uIHtcbkNsdXN0ZXJJZGVudGlmaWVyOiBSZWRzaGlmdENsdXN0ZXJJZGVudGlmaWVyXG5BdXRoQ29uZmlndXJhdGlvbjogUmVkc2hpZnRQcm92aXNpb25lZEF1dGhDb25maWd1cmF0aW9uXG59XG4vKipcbiAqIENvbmZpZ3VyYXRpb25zIGZvciBSZWRzaGlmdCBxdWVyeSBlbmdpbmUgcHJvdmlzaW9uZWQgYXV0aCBzZXR1cFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZHNoaWZ0UHJvdmlzaW9uZWRBdXRoQ29uZmlndXJhdGlvbiB7XG5UeXBlOiBSZWRzaGlmdFByb3Zpc2lvbmVkQXV0aFR5cGVcbi8qKlxuICogUmVkc2hpZnQgZGF0YWJhc2UgdXNlclxuICovXG5EYXRhYmFzZVVzZXI/OiBzdHJpbmdcblVzZXJuYW1lUGFzc3dvcmRTZWNyZXRBcm4/OiBTZWNyZXRBcm5cbn1cbi8qKlxuICogQ29uZmlndXJhdGlvbnMgZm9yIGdlbmVyYXRpbmcgUmVkc2hpZnQgZW5naW5lIHF1ZXJpZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBRdWVyeUdlbmVyYXRpb25Db25maWd1cmF0aW9uIHtcbkV4ZWN1dGlvblRpbWVvdXRTZWNvbmRzPzogUXVlcnlFeGVjdXRpb25UaW1lb3V0U2Vjb25kc1xuR2VuZXJhdGlvbkNvbnRleHQ/OiBRdWVyeUdlbmVyYXRpb25Db250ZXh0XG59XG4vKipcbiAqIENvbnRleHQgdXNlZCB0byBpbXByb3ZlIHF1ZXJ5IGdlbmVyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBRdWVyeUdlbmVyYXRpb25Db250ZXh0IHtcblRhYmxlcz86IFF1ZXJ5R2VuZXJhdGlvblRhYmxlc1xuQ3VyYXRlZFF1ZXJpZXM/OiBDdXJhdGVkUXVlcmllc1xufVxuLyoqXG4gKiBUYWJsZXMgdXNlZCBmb3IgUmVkc2hpZnQgcXVlcnkgZ2VuZXJhdGlvbiBjb250ZXh0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlHZW5lcmF0aW9uVGFibGUge1xuTmFtZTogUXVlcnlHZW5lcmF0aW9uVGFibGVOYW1lXG5EZXNjcmlwdGlvbj86IERlc2NyaXB0aW9uU3RyaW5nXG5JbmNsdXNpb24/OiBJbmNsdXNpb25UeXBlXG5Db2x1bW5zPzogUXVlcnlHZW5lcmF0aW9uQ29sdW1uc1xufVxuLyoqXG4gKiBSZWRzaGlmdCBxdWVyeSBnZW5lcmF0aW9uIGNvbHVtblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5R2VuZXJhdGlvbkNvbHVtbiB7XG5OYW1lPzogUXVlcnlHZW5lcmF0aW9uQ29sdW1uTmFtZVxuRGVzY3JpcHRpb24/OiBEZXNjcmlwdGlvblN0cmluZ1xuSW5jbHVzaW9uPzogSW5jbHVzaW9uVHlwZVxufVxuLyoqXG4gKiBDdXJhdGVkIHF1ZXJ5IG9yIHF1ZXN0aW9uIGFuZCBhbnN3ZXIgcGFpclxuICovXG5leHBvcnQgaW50ZXJmYWNlIEN1cmF0ZWRRdWVyeSB7XG5OYXR1cmFsTGFuZ3VhZ2U6IE5hdHVyYWxMYW5ndWFnZVN0cmluZ1xuU3FsOiBTcWxTdHJpbmdcbn1cbi8qKlxuICogQ29udGFpbnMgdGhlIHN0b3JhZ2UgY29uZmlndXJhdGlvbiBvZiB0aGUga25vd2xlZGdlIGJhc2UgaW4gQW1hem9uIE9wZW5TZWFyY2ggU2VydmljZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcGVuU2VhcmNoU2VydmVybGVzc0NvbmZpZ3VyYXRpb24ge1xuLyoqXG4gKiBUaGUgQVJOIG9mIHRoZSBPcGVuU2VhcmNoIFNlcnZpY2UgdmVjdG9yIHN0b3JlLlxuICovXG5Db2xsZWN0aW9uQXJuOiBzdHJpbmdcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIHZlY3RvciBzdG9yZS5cbiAqL1xuVmVjdG9ySW5kZXhOYW1lOiBzdHJpbmdcbkZpZWxkTWFwcGluZzogT3BlblNlYXJjaFNlcnZlcmxlc3NGaWVsZE1hcHBpbmdcbn1cbi8qKlxuICogQSBtYXBwaW5nIG9mIEJlZHJvY2sgS25vd2xlZGdlIEJhc2UgZmllbGRzIHRvIE9wZW5TZWFyY2ggU2VydmVybGVzcyBmaWVsZCBuYW1lc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzRmllbGRNYXBwaW5nIHtcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIGZpZWxkIGluIHdoaWNoIEFtYXpvbiBCZWRyb2NrIHN0b3JlcyB0aGUgdmVjdG9yIGVtYmVkZGluZ3MgZm9yIHlvdXIgZGF0YSBzb3VyY2VzLlxuICovXG5WZWN0b3JGaWVsZDogc3RyaW5nXG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSBmaWVsZCBpbiB3aGljaCBBbWF6b24gQmVkcm9jayBzdG9yZXMgdGhlIHJhdyB0ZXh0IGZyb20geW91ciBkYXRhLiBUaGUgdGV4dCBpcyBzcGxpdCBhY2NvcmRpbmcgdG8gdGhlIGNodW5raW5nIHN0cmF0ZWd5IHlvdSBjaG9vc2UuXG4gKi9cblRleHRGaWVsZDogc3RyaW5nXG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSBmaWVsZCBpbiB3aGljaCBBbWF6b24gQmVkcm9jayBzdG9yZXMgbWV0YWRhdGEgYWJvdXQgdGhlIHZlY3RvciBzdG9yZS5cbiAqL1xuTWV0YWRhdGFGaWVsZDogc3RyaW5nXG59XG4vKipcbiAqIENvbnRhaW5zIHRoZSBzdG9yYWdlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGtub3dsZWRnZSBiYXNlIGluIFBpbmVjb25lLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBpbmVjb25lQ29uZmlndXJhdGlvbiB7XG4vKipcbiAqIFRoZSBlbmRwb2ludCBVUkwgZm9yIHlvdXIgaW5kZXggbWFuYWdlbWVudCBwYWdlLlxuICovXG5Db25uZWN0aW9uU3RyaW5nOiBzdHJpbmdcbi8qKlxuICogVGhlIEFSTiBvZiB0aGUgc2VjcmV0IHRoYXQgeW91IGNyZWF0ZWQgaW4gQVdTIFNlY3JldHMgTWFuYWdlciB0aGF0IGlzIGxpbmtlZCB0byB5b3VyIFBpbmVjb25lIEFQSSBrZXkuXG4gKi9cbkNyZWRlbnRpYWxzU2VjcmV0QXJuOiBzdHJpbmdcbi8qKlxuICogVGhlIG5hbWVzcGFjZSB0byBiZSB1c2VkIHRvIHdyaXRlIG5ldyBkYXRhIHRvIHlvdXIgZGF0YWJhc2UuXG4gKi9cbk5hbWVzcGFjZT86IHN0cmluZ1xuRmllbGRNYXBwaW5nOiBQaW5lY29uZUZpZWxkTWFwcGluZ1xufVxuLyoqXG4gKiBDb250YWlucyB0aGUgbmFtZXMgb2YgdGhlIGZpZWxkcyB0byB3aGljaCB0byBtYXAgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHZlY3RvciBzdG9yZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQaW5lY29uZUZpZWxkTWFwcGluZyB7XG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSBmaWVsZCBpbiB3aGljaCBBbWF6b24gQmVkcm9jayBzdG9yZXMgdGhlIHJhdyB0ZXh0IGZyb20geW91ciBkYXRhLiBUaGUgdGV4dCBpcyBzcGxpdCBhY2NvcmRpbmcgdG8gdGhlIGNodW5raW5nIHN0cmF0ZWd5IHlvdSBjaG9vc2UuXG4gKi9cblRleHRGaWVsZDogc3RyaW5nXG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSBmaWVsZCBpbiB3aGljaCBBbWF6b24gQmVkcm9jayBzdG9yZXMgbWV0YWRhdGEgYWJvdXQgdGhlIHZlY3RvciBzdG9yZS5cbiAqL1xuTWV0YWRhdGFGaWVsZDogc3RyaW5nXG59XG4vKipcbiAqIENvbnRhaW5zIGRldGFpbHMgYWJvdXQgdGhlIHN0b3JhZ2UgY29uZmlndXJhdGlvbiBvZiB0aGUga25vd2xlZGdlIGJhc2UgaW4gQW1hem9uIFJEUy4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBDcmVhdGUgYSB2ZWN0b3IgaW5kZXggaW4gQW1hem9uIFJEUy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZHNDb25maWd1cmF0aW9uIHtcbi8qKlxuICogVGhlIEFSTiBvZiB0aGUgdmVjdG9yIHN0b3JlLlxuICovXG5SZXNvdXJjZUFybjogc3RyaW5nXG4vKipcbiAqIFRoZSBBUk4gb2YgdGhlIHNlY3JldCB0aGF0IHlvdSBjcmVhdGVkIGluIEFXUyBTZWNyZXRzIE1hbmFnZXIgdGhhdCBpcyBsaW5rZWQgdG8geW91ciBBbWF6b24gUkRTIGRhdGFiYXNlLlxuICovXG5DcmVkZW50aWFsc1NlY3JldEFybjogc3RyaW5nXG4vKipcbiAqIFRoZSBuYW1lIG9mIHlvdXIgQW1hem9uIFJEUyBkYXRhYmFzZS5cbiAqL1xuRGF0YWJhc2VOYW1lOiBzdHJpbmdcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIHRhYmxlIGluIHRoZSBkYXRhYmFzZS5cbiAqL1xuVGFibGVOYW1lOiBzdHJpbmdcbkZpZWxkTWFwcGluZzogUmRzRmllbGRNYXBwaW5nXG59XG4vKipcbiAqIENvbnRhaW5zIHRoZSBuYW1lcyBvZiB0aGUgZmllbGRzIHRvIHdoaWNoIHRvIG1hcCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdmVjdG9yIHN0b3JlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJkc0ZpZWxkTWFwcGluZyB7XG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSBmaWVsZCBpbiB3aGljaCBBbWF6b24gQmVkcm9jayBzdG9yZXMgdGhlIElEIGZvciBlYWNoIGVudHJ5LlxuICovXG5QcmltYXJ5S2V5RmllbGQ6IHN0cmluZ1xuLyoqXG4gKiBUaGUgbmFtZSBvZiB0aGUgZmllbGQgaW4gd2hpY2ggQW1hem9uIEJlZHJvY2sgc3RvcmVzIHRoZSB2ZWN0b3IgZW1iZWRkaW5ncyBmb3IgeW91ciBkYXRhIHNvdXJjZXMuXG4gKi9cblZlY3RvckZpZWxkOiBzdHJpbmdcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIGZpZWxkIGluIHdoaWNoIEFtYXpvbiBCZWRyb2NrIHN0b3JlcyB0aGUgcmF3IHRleHQgZnJvbSB5b3VyIGRhdGEuIFRoZSB0ZXh0IGlzIHNwbGl0IGFjY29yZGluZyB0byB0aGUgY2h1bmtpbmcgc3RyYXRlZ3kgeW91IGNob29zZS5cbiAqL1xuVGV4dEZpZWxkOiBzdHJpbmdcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIGZpZWxkIGluIHdoaWNoIEFtYXpvbiBCZWRyb2NrIHN0b3JlcyBtZXRhZGF0YSBhYm91dCB0aGUgdmVjdG9yIHN0b3JlLlxuICovXG5NZXRhZGF0YUZpZWxkOiBzdHJpbmdcbn1cbi8qKlxuICogQ29udGFpbnMgdGhlIHN0b3JhZ2UgY29uZmlndXJhdGlvbiBvZiB0aGUga25vd2xlZGdlIGJhc2UgaW4gTW9uZ29EYiBBdGxhcyBDbG91ZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNb25nb0RiQXRsYXNDb25maWd1cmF0aW9uIHtcbi8qKlxuICogTW9uZ29EQiBBdGxhcyBlbmRwb2ludC5cbiAqL1xuRW5kcG9pbnQ6IHN0cmluZ1xuLyoqXG4gKiBUaGUgQVJOIG9mIHRoZSBzZWNyZXQgdGhhdCB5b3UgY3JlYXRlZCBpbiBBV1MgU2VjcmV0cyBNYW5hZ2VyIHRoYXQgaXMgbGlua2VkIHRvIHlvdXIgQW1hem9uIE1vbmdvIGRhdGFiYXNlLlxuICovXG5DcmVkZW50aWFsc1NlY3JldEFybjogc3RyaW5nXG4vKipcbiAqIE5hbWUgb2YgdGhlIGRhdGFiYXNlIHdpdGhpbiBNb25nb0RCIEF0bGFzLlxuICovXG5EYXRhYmFzZU5hbWU6IHN0cmluZ1xuLyoqXG4gKiBOYW1lIG9mIHRoZSBjb2xsZWN0aW9uIHdpdGhpbiBNb25nb0RCIEF0bGFzLlxuICovXG5Db2xsZWN0aW9uTmFtZTogc3RyaW5nXG4vKipcbiAqIE5hbWUgb2YgYSBNb25nb0RCIEF0bGFzIGluZGV4LlxuICovXG5WZWN0b3JJbmRleE5hbWU6IHN0cmluZ1xuLyoqXG4gKiBNb25nb0RCIEF0bGFzIGVuZHBvaW50IHNlcnZpY2UgbmFtZS5cbiAqL1xuRW5kcG9pbnRTZXJ2aWNlTmFtZT86IHN0cmluZ1xuRmllbGRNYXBwaW5nOiBNb25nb0RiQXRsYXNGaWVsZE1hcHBpbmdcbn1cbi8qKlxuICogQ29udGFpbnMgdGhlIG5hbWVzIG9mIHRoZSBmaWVsZHMgdG8gd2hpY2ggdG8gbWFwIGluZm9ybWF0aW9uIGFib3V0IHRoZSB2ZWN0b3Igc3RvcmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9uZ29EYkF0bGFzRmllbGRNYXBwaW5nIHtcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIGZpZWxkIGluIHdoaWNoIEFtYXpvbiBCZWRyb2NrIHN0b3JlcyB0aGUgdmVjdG9yIGVtYmVkZGluZ3MgZm9yIHlvdXIgZGF0YSBzb3VyY2VzLlxuICovXG5WZWN0b3JGaWVsZDogc3RyaW5nXG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSBmaWVsZCBpbiB3aGljaCBBbWF6b24gQmVkcm9jayBzdG9yZXMgdGhlIHJhdyB0ZXh0IGZyb20geW91ciBkYXRhLiBUaGUgdGV4dCBpcyBzcGxpdCBhY2NvcmRpbmcgdG8gdGhlIGNodW5raW5nIHN0cmF0ZWd5IHlvdSBjaG9vc2UuXG4gKi9cblRleHRGaWVsZDogc3RyaW5nXG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSBmaWVsZCBpbiB3aGljaCBBbWF6b24gQmVkcm9jayBzdG9yZXMgbWV0YWRhdGEgYWJvdXQgdGhlIHZlY3RvciBzdG9yZS5cbiAqL1xuTWV0YWRhdGFGaWVsZDogc3RyaW5nXG59XG4vKipcbiAqIEEgbWFwIG9mIHRhZyBrZXlzIGFuZCB2YWx1ZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYWdzTWFwIHtcbi8qKlxuICogVmFsdWUgb2YgYSB0YWdcbiAqIFxuICogVGhpcyBpbnRlcmZhY2Ugd2FzIHJlZmVyZW5jZWQgYnkgYFRhZ3NNYXBgJ3MgSlNPTi1TY2hlbWEgZGVmaW5pdGlvblxuICogdmlhIHRoZSBgcGF0dGVyblByb3BlcnR5YCBcIl5bYS16QS1aMC05XFxzLl86Lz0rQC1dKiRcIi5cbiAqL1xuW2s6IHN0cmluZ106IHN0cmluZ1xufVxuIl19
@@ -1,15 +1,43 @@
1
1
  /**
2
2
  * Prompt template type
3
3
  */
4
- export type PromptTemplateType = "TEXT";
4
+ export type PromptTemplateType = ("TEXT" | "CHAT");
5
5
  /**
6
6
  * Prompt template configuration
7
7
  */
8
- export type PromptTemplateConfiguration = Text;
8
+ export type PromptTemplateConfiguration = (Text | Chat);
9
+ /**
10
+ * Conversation roles for the chat prompt
11
+ */
12
+ export type ConversationRole = ("user" | "assistant");
13
+ /**
14
+ * Configuration for chat prompt template
15
+ */
16
+ export type ContentBlock = Text1;
17
+ /**
18
+ * Configuration for chat prompt template
19
+ */
20
+ export type SystemContentBlock = Text2;
21
+ /**
22
+ * Tool details
23
+ */
24
+ export type Tool = ToolSpec;
25
+ /**
26
+ * Tool input schema
27
+ */
28
+ export type ToolInputSchema = Json;
29
+ /**
30
+ * Tool choice
31
+ */
32
+ export type ToolChoice = (Auto | Any | Tool1);
9
33
  /**
10
34
  * Model inference configuration
11
35
  */
12
- export type PromptInferenceConfiguration = Text1;
36
+ export type PromptInferenceConfiguration = Text3;
37
+ /**
38
+ * Target resource to invoke with Prompt
39
+ */
40
+ export type PromptGenAiResource = Agent;
13
41
  /**
14
42
  * Definition of AWS::Bedrock::PromptVersion Resource Type
15
43
  */
@@ -78,6 +106,7 @@ export interface PromptVariant {
78
106
  */
79
107
  ModelId?: string;
80
108
  InferenceConfiguration?: PromptInferenceConfiguration;
109
+ GenAiResource?: PromptGenAiResource;
81
110
  }
82
111
  export interface Text {
83
112
  Text: TextPromptTemplateConfiguration;
@@ -107,7 +136,121 @@ export interface PromptInputVariable {
107
136
  */
108
137
  Name?: string;
109
138
  }
139
+ export interface Chat {
140
+ Chat: ChatPromptTemplateConfiguration;
141
+ }
142
+ /**
143
+ * Configuration for chat prompt template
144
+ */
145
+ export interface ChatPromptTemplateConfiguration {
146
+ /**
147
+ * List of messages for chat prompt template
148
+ *
149
+ * @minItems 0
150
+ */
151
+ Messages: Message[];
152
+ /**
153
+ * Configuration for chat prompt template
154
+ *
155
+ * @minItems 0
156
+ */
157
+ System?: SystemContentBlock[];
158
+ ToolConfiguration?: ToolConfiguration;
159
+ /**
160
+ * List of input variables
161
+ *
162
+ * @minItems 0
163
+ * @maxItems 5
164
+ */
165
+ InputVariables?: PromptInputVariable[];
166
+ }
167
+ /**
168
+ * Chat prompt Message
169
+ */
170
+ export interface Message {
171
+ Role: ConversationRole;
172
+ /**
173
+ * List of Content Blocks
174
+ *
175
+ * @minItems 1
176
+ */
177
+ Content: ContentBlock[];
178
+ }
110
179
  export interface Text1 {
180
+ /**
181
+ * Configuration for chat prompt template
182
+ */
183
+ Text: string;
184
+ }
185
+ export interface Text2 {
186
+ /**
187
+ * Configuration for chat prompt template
188
+ */
189
+ Text: string;
190
+ }
191
+ /**
192
+ * Tool configuration
193
+ */
194
+ export interface ToolConfiguration {
195
+ /**
196
+ * List of Tools
197
+ *
198
+ * @minItems 1
199
+ */
200
+ Tools: Tool[];
201
+ ToolChoice?: ToolChoice;
202
+ }
203
+ export interface ToolSpec {
204
+ ToolSpec: ToolSpecification;
205
+ }
206
+ /**
207
+ * Tool specification
208
+ */
209
+ export interface ToolSpecification {
210
+ /**
211
+ * Tool name
212
+ */
213
+ Name: string;
214
+ Description?: string;
215
+ InputSchema: ToolInputSchema;
216
+ }
217
+ /**
218
+ * Tool input schema json
219
+ */
220
+ export interface Json {
221
+ Json: {
222
+ [k: string]: unknown;
223
+ };
224
+ }
225
+ export interface Auto {
226
+ Auto: AutoToolChoice;
227
+ }
228
+ /**
229
+ * Auto Tool choice
230
+ */
231
+ export interface AutoToolChoice {
232
+ }
233
+ export interface Any {
234
+ Any: AnyToolChoice;
235
+ }
236
+ /**
237
+ * Any Tool choice
238
+ */
239
+ export interface AnyToolChoice {
240
+ }
241
+ export interface Tool1 {
242
+ Tool: SpecificToolChoice;
243
+ }
244
+ /**
245
+ * Specific Tool choice
246
+ */
247
+ export interface SpecificToolChoice {
248
+ /**
249
+ * Tool name
250
+ */
251
+ Name: string;
252
+ }
253
+ export interface Text3 {
111
254
  Text: PromptModelInferenceConfiguration;
112
255
  }
113
256
  /**
@@ -134,6 +277,18 @@ export interface PromptModelInferenceConfiguration {
134
277
  */
135
278
  StopSequences?: string[];
136
279
  }
280
+ export interface Agent {
281
+ Agent: PromptAgentResource;
282
+ }
283
+ /**
284
+ * Target Agent to invoke with Prompt
285
+ */
286
+ export interface PromptAgentResource {
287
+ /**
288
+ * Arn representation of the Agent Alias.
289
+ */
290
+ AgentIdentifier: string;
291
+ }
137
292
  /**
138
293
  * A map of tag keys and values
139
294
  */
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWJlZHJvY2stcHJvbXB0dmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImF3cy1iZWRyb2NrLXByb21wdHZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUHJvbXB0IHRlbXBsYXRlIHR5cGVcbiAqL1xuZXhwb3J0IHR5cGUgUHJvbXB0VGVtcGxhdGVUeXBlID0gXCJURVhUXCJcbi8qKlxuICogUHJvbXB0IHRlbXBsYXRlIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IHR5cGUgUHJvbXB0VGVtcGxhdGVDb25maWd1cmF0aW9uID0gVGV4dFxuLyoqXG4gKiBNb2RlbCBpbmZlcmVuY2UgY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgdHlwZSBQcm9tcHRJbmZlcmVuY2VDb25maWd1cmF0aW9uID0gVGV4dDFcblxuLyoqXG4gKiBEZWZpbml0aW9uIG9mIEFXUzo6QmVkcm9jazo6UHJvbXB0VmVyc2lvbiBSZXNvdXJjZSBUeXBlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgX0FXU19CRURST0NLX1BST01QVFZFUlNJT04ge1xuLyoqXG4gKiBBUk4gb2YgYSBwcm9tcHQgcmVzb3VyY2UgcG9zc2libHkgd2l0aCBhIHZlcnNpb25cbiAqL1xuUHJvbXB0QXJuOiBzdHJpbmdcbi8qKlxuICogQVJOIG9mIGEgcHJvbXB0IHZlcnNpb24gcmVzb3VyY2VcbiAqL1xuQXJuPzogc3RyaW5nXG4vKipcbiAqIFRpbWUgU3RhbXAuXG4gKi9cbkNyZWF0ZWRBdD86IHN0cmluZ1xuLyoqXG4gKiBJZGVudGlmaWVyIGZvciBhIFByb21wdFxuICovXG5Qcm9tcHRJZD86IHN0cmluZ1xuLyoqXG4gKiBUaW1lIFN0YW1wLlxuICovXG5VcGRhdGVkQXQ/OiBzdHJpbmdcbi8qKlxuICogVmVyc2lvbi5cbiAqL1xuVmVyc2lvbj86IHN0cmluZ1xuLyoqXG4gKiBMaXN0IG9mIHByb21wdCB2YXJpYW50c1xuICogXG4gKiBAbWluSXRlbXMgMVxuICogQG1heEl0ZW1zIDFcbiAqL1xuVmFyaWFudHM/OiBQcm9tcHRWYXJpYW50W11cbi8qKlxuICogTmFtZSBmb3IgYSB2YXJpYW50LlxuICovXG5EZWZhdWx0VmFyaWFudD86IHN0cmluZ1xuLyoqXG4gKiBEZXNjcmlwdGlvbiBmb3IgYSBwcm9tcHQgdmVyc2lvbiByZXNvdXJjZS5cbiAqL1xuRGVzY3JpcHRpb24/OiBzdHJpbmdcbi8qKlxuICogQSBLTVMga2V5IEFSTlxuICovXG5DdXN0b21lckVuY3J5cHRpb25LZXlBcm4/OiBzdHJpbmdcbi8qKlxuICogTmFtZSBmb3IgYSBwcm9tcHQgcmVzb3VyY2UuXG4gKi9cbk5hbWU/OiBzdHJpbmdcblRhZ3M/OiBUYWdzTWFwXG59XG4vKipcbiAqIFByb21wdCB2YXJpYW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvbXB0VmFyaWFudCB7XG4vKipcbiAqIE5hbWUgZm9yIGEgdmFyaWFudC5cbiAqL1xuTmFtZTogc3RyaW5nXG5UZW1wbGF0ZVR5cGU6IFByb21wdFRlbXBsYXRlVHlwZVxuVGVtcGxhdGVDb25maWd1cmF0aW9uOiBQcm9tcHRUZW1wbGF0ZUNvbmZpZ3VyYXRpb25cbi8qKlxuICogQVJOIG9yIElkIG9mIGEgQmVkcm9jayBGb3VuZGF0aW9uYWwgTW9kZWwgb3IgSW5mZXJlbmNlIFByb2ZpbGUsIG9yIHRoZSBBUk4gb2YgYSBpbXBvcnRlZCBtb2RlbCwgb3IgYSBwcm92aXNpb25lZCB0aHJvdWdocHV0IEFSTiBmb3IgY3VzdG9tIG1vZGVscy5cbiAqL1xuTW9kZWxJZD86IHN0cmluZ1xuSW5mZXJlbmNlQ29uZmlndXJhdGlvbj86IFByb21wdEluZmVyZW5jZUNvbmZpZ3VyYXRpb25cbn1cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dCB7XG5UZXh0OiBUZXh0UHJvbXB0VGVtcGxhdGVDb25maWd1cmF0aW9uXG59XG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIHRleHQgcHJvbXB0IHRlbXBsYXRlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dFByb21wdFRlbXBsYXRlQ29uZmlndXJhdGlvbiB7XG4vKipcbiAqIFByb21wdCBjb250ZW50IGZvciBTdHJpbmcgcHJvbXB0IHRlbXBsYXRlXG4gKi9cblRleHQ6IHN0cmluZ1xuLyoqXG4gKiBMaXN0IG9mIGlucHV0IHZhcmlhYmxlc1xuICogXG4gKiBAbWluSXRlbXMgMFxuICogQG1heEl0ZW1zIDVcbiAqL1xuSW5wdXRWYXJpYWJsZXM/OiBQcm9tcHRJbnB1dFZhcmlhYmxlW11cbn1cbi8qKlxuICogSW5wdXQgdmFyaWFibGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9tcHRJbnB1dFZhcmlhYmxlIHtcbi8qKlxuICogTmFtZSBmb3IgYW4gaW5wdXQgdmFyaWFibGVcbiAqL1xuTmFtZT86IHN0cmluZ1xufVxuZXhwb3J0IGludGVyZmFjZSBUZXh0MSB7XG5UZXh0OiBQcm9tcHRNb2RlbEluZmVyZW5jZUNvbmZpZ3VyYXRpb25cbn1cbi8qKlxuICogUHJvbXB0IG1vZGVsIGluZmVyZW5jZSBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvbXB0TW9kZWxJbmZlcmVuY2VDb25maWd1cmF0aW9uIHtcbi8qKlxuICogQ29udHJvbHMgcmFuZG9tbmVzcywgaGlnaGVyIHZhbHVlcyBpbmNyZWFzZSBkaXZlcnNpdHlcbiAqL1xuVGVtcGVyYXR1cmU/OiBudW1iZXJcbi8qKlxuICogQ3VtdWxhdGl2ZSBwcm9iYWJpbGl0eSBjdXRvZmYgZm9yIHRva2VuIHNlbGVjdGlvblxuICovXG5Ub3BQPzogbnVtYmVyXG4vKipcbiAqIE1heGltdW0gbGVuZ3RoIG9mIG91dHB1dFxuICovXG5NYXhUb2tlbnM/OiBudW1iZXJcbi8qKlxuICogTGlzdCBvZiBzdG9wIHNlcXVlbmNlc1xuICogXG4gKiBAbWluSXRlbXMgMFxuICogQG1heEl0ZW1zIDRcbiAqL1xuU3RvcFNlcXVlbmNlcz86IHN0cmluZ1tdXG59XG4vKipcbiAqIEEgbWFwIG9mIHRhZyBrZXlzIGFuZCB2YWx1ZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYWdzTWFwIHtcbi8qKlxuICogVmFsdWUgb2YgYSB0YWdcbiAqIFxuICogVGhpcyBpbnRlcmZhY2Ugd2FzIHJlZmVyZW5jZWQgYnkgYFRhZ3NNYXBgJ3MgSlNPTi1TY2hlbWEgZGVmaW5pdGlvblxuICogdmlhIHRoZSBgcGF0dGVyblByb3BlcnR5YCBcIl5bYS16QS1aMC05XFxzLl86Lz0rQC1dKiRcIi5cbiAqL1xuW2s6IHN0cmluZ106IHN0cmluZ1xufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWJlZHJvY2stcHJvbXB0dmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImF3cy1iZWRyb2NrLXByb21wdHZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUHJvbXB0IHRlbXBsYXRlIHR5cGVcbiAqL1xuZXhwb3J0IHR5cGUgUHJvbXB0VGVtcGxhdGVUeXBlID0gKFwiVEVYVFwiIHwgXCJDSEFUXCIpXG4vKipcbiAqIFByb21wdCB0ZW1wbGF0ZSBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCB0eXBlIFByb21wdFRlbXBsYXRlQ29uZmlndXJhdGlvbiA9IChUZXh0IHwgQ2hhdClcbi8qKlxuICogQ29udmVyc2F0aW9uIHJvbGVzIGZvciB0aGUgY2hhdCBwcm9tcHRcbiAqL1xuZXhwb3J0IHR5cGUgQ29udmVyc2F0aW9uUm9sZSA9IChcInVzZXJcIiB8IFwiYXNzaXN0YW50XCIpXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIGNoYXQgcHJvbXB0IHRlbXBsYXRlXG4gKi9cbmV4cG9ydCB0eXBlIENvbnRlbnRCbG9jayA9IFRleHQxXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIGNoYXQgcHJvbXB0IHRlbXBsYXRlXG4gKi9cbmV4cG9ydCB0eXBlIFN5c3RlbUNvbnRlbnRCbG9jayA9IFRleHQyXG4vKipcbiAqIFRvb2wgZGV0YWlsc1xuICovXG5leHBvcnQgdHlwZSBUb29sID0gVG9vbFNwZWNcbi8qKlxuICogVG9vbCBpbnB1dCBzY2hlbWFcbiAqL1xuZXhwb3J0IHR5cGUgVG9vbElucHV0U2NoZW1hID0gSnNvblxuLyoqXG4gKiBUb29sIGNob2ljZVxuICovXG5leHBvcnQgdHlwZSBUb29sQ2hvaWNlID0gKEF1dG8gfCBBbnkgfCBUb29sMSlcbi8qKlxuICogTW9kZWwgaW5mZXJlbmNlIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IHR5cGUgUHJvbXB0SW5mZXJlbmNlQ29uZmlndXJhdGlvbiA9IFRleHQzXG4vKipcbiAqIFRhcmdldCByZXNvdXJjZSB0byBpbnZva2Ugd2l0aCBQcm9tcHRcbiAqL1xuZXhwb3J0IHR5cGUgUHJvbXB0R2VuQWlSZXNvdXJjZSA9IEFnZW50XG5cbi8qKlxuICogRGVmaW5pdGlvbiBvZiBBV1M6OkJlZHJvY2s6OlByb21wdFZlcnNpb24gUmVzb3VyY2UgVHlwZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIF9BV1NfQkVEUk9DS19QUk9NUFRWRVJTSU9OIHtcbi8qKlxuICogQVJOIG9mIGEgcHJvbXB0IHJlc291cmNlIHBvc3NpYmx5IHdpdGggYSB2ZXJzaW9uXG4gKi9cblByb21wdEFybjogc3RyaW5nXG4vKipcbiAqIEFSTiBvZiBhIHByb21wdCB2ZXJzaW9uIHJlc291cmNlXG4gKi9cbkFybj86IHN0cmluZ1xuLyoqXG4gKiBUaW1lIFN0YW1wLlxuICovXG5DcmVhdGVkQXQ/OiBzdHJpbmdcbi8qKlxuICogSWRlbnRpZmllciBmb3IgYSBQcm9tcHRcbiAqL1xuUHJvbXB0SWQ/OiBzdHJpbmdcbi8qKlxuICogVGltZSBTdGFtcC5cbiAqL1xuVXBkYXRlZEF0Pzogc3RyaW5nXG4vKipcbiAqIFZlcnNpb24uXG4gKi9cblZlcnNpb24/OiBzdHJpbmdcbi8qKlxuICogTGlzdCBvZiBwcm9tcHQgdmFyaWFudHNcbiAqIFxuICogQG1pbkl0ZW1zIDFcbiAqIEBtYXhJdGVtcyAxXG4gKi9cblZhcmlhbnRzPzogUHJvbXB0VmFyaWFudFtdXG4vKipcbiAqIE5hbWUgZm9yIGEgdmFyaWFudC5cbiAqL1xuRGVmYXVsdFZhcmlhbnQ/OiBzdHJpbmdcbi8qKlxuICogRGVzY3JpcHRpb24gZm9yIGEgcHJvbXB0IHZlcnNpb24gcmVzb3VyY2UuXG4gKi9cbkRlc2NyaXB0aW9uPzogc3RyaW5nXG4vKipcbiAqIEEgS01TIGtleSBBUk5cbiAqL1xuQ3VzdG9tZXJFbmNyeXB0aW9uS2V5QXJuPzogc3RyaW5nXG4vKipcbiAqIE5hbWUgZm9yIGEgcHJvbXB0IHJlc291cmNlLlxuICovXG5OYW1lPzogc3RyaW5nXG5UYWdzPzogVGFnc01hcFxufVxuLyoqXG4gKiBQcm9tcHQgdmFyaWFudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb21wdFZhcmlhbnQge1xuLyoqXG4gKiBOYW1lIGZvciBhIHZhcmlhbnQuXG4gKi9cbk5hbWU6IHN0cmluZ1xuVGVtcGxhdGVUeXBlOiBQcm9tcHRUZW1wbGF0ZVR5cGVcblRlbXBsYXRlQ29uZmlndXJhdGlvbjogUHJvbXB0VGVtcGxhdGVDb25maWd1cmF0aW9uXG4vKipcbiAqIEFSTiBvciBJZCBvZiBhIEJlZHJvY2sgRm91bmRhdGlvbmFsIE1vZGVsIG9yIEluZmVyZW5jZSBQcm9maWxlLCBvciB0aGUgQVJOIG9mIGEgaW1wb3J0ZWQgbW9kZWwsIG9yIGEgcHJvdmlzaW9uZWQgdGhyb3VnaHB1dCBBUk4gZm9yIGN1c3RvbSBtb2RlbHMuXG4gKi9cbk1vZGVsSWQ/OiBzdHJpbmdcbkluZmVyZW5jZUNvbmZpZ3VyYXRpb24/OiBQcm9tcHRJbmZlcmVuY2VDb25maWd1cmF0aW9uXG5HZW5BaVJlc291cmNlPzogUHJvbXB0R2VuQWlSZXNvdXJjZVxufVxuZXhwb3J0IGludGVyZmFjZSBUZXh0IHtcblRleHQ6IFRleHRQcm9tcHRUZW1wbGF0ZUNvbmZpZ3VyYXRpb25cbn1cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgdGV4dCBwcm9tcHQgdGVtcGxhdGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUZXh0UHJvbXB0VGVtcGxhdGVDb25maWd1cmF0aW9uIHtcbi8qKlxuICogUHJvbXB0IGNvbnRlbnQgZm9yIFN0cmluZyBwcm9tcHQgdGVtcGxhdGVcbiAqL1xuVGV4dDogc3RyaW5nXG4vKipcbiAqIExpc3Qgb2YgaW5wdXQgdmFyaWFibGVzXG4gKiBcbiAqIEBtaW5JdGVtcyAwXG4gKiBAbWF4SXRlbXMgNVxuICovXG5JbnB1dFZhcmlhYmxlcz86IFByb21wdElucHV0VmFyaWFibGVbXVxufVxuLyoqXG4gKiBJbnB1dCB2YXJpYWJsZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb21wdElucHV0VmFyaWFibGUge1xuLyoqXG4gKiBOYW1lIGZvciBhbiBpbnB1dCB2YXJpYWJsZVxuICovXG5OYW1lPzogc3RyaW5nXG59XG5leHBvcnQgaW50ZXJmYWNlIENoYXQge1xuQ2hhdDogQ2hhdFByb21wdFRlbXBsYXRlQ29uZmlndXJhdGlvblxufVxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBjaGF0IHByb21wdCB0ZW1wbGF0ZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENoYXRQcm9tcHRUZW1wbGF0ZUNvbmZpZ3VyYXRpb24ge1xuLyoqXG4gKiBMaXN0IG9mIG1lc3NhZ2VzIGZvciBjaGF0IHByb21wdCB0ZW1wbGF0ZVxuICogXG4gKiBAbWluSXRlbXMgMFxuICovXG5NZXNzYWdlczogTWVzc2FnZVtdXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIGNoYXQgcHJvbXB0IHRlbXBsYXRlXG4gKiBcbiAqIEBtaW5JdGVtcyAwXG4gKi9cblN5c3RlbT86IFN5c3RlbUNvbnRlbnRCbG9ja1tdXG5Ub29sQ29uZmlndXJhdGlvbj86IFRvb2xDb25maWd1cmF0aW9uXG4vKipcbiAqIExpc3Qgb2YgaW5wdXQgdmFyaWFibGVzXG4gKiBcbiAqIEBtaW5JdGVtcyAwXG4gKiBAbWF4SXRlbXMgNVxuICovXG5JbnB1dFZhcmlhYmxlcz86IFByb21wdElucHV0VmFyaWFibGVbXVxufVxuLyoqXG4gKiBDaGF0IHByb21wdCBNZXNzYWdlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZSB7XG5Sb2xlOiBDb252ZXJzYXRpb25Sb2xlXG4vKipcbiAqIExpc3Qgb2YgQ29udGVudCBCbG9ja3NcbiAqIFxuICogQG1pbkl0ZW1zIDFcbiAqL1xuQ29udGVudDogQ29udGVudEJsb2NrW11cbn1cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dDEge1xuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBjaGF0IHByb21wdCB0ZW1wbGF0ZVxuICovXG5UZXh0OiBzdHJpbmdcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dDIge1xuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBjaGF0IHByb21wdCB0ZW1wbGF0ZVxuICovXG5UZXh0OiBzdHJpbmdcbn1cbi8qKlxuICogVG9vbCBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVG9vbENvbmZpZ3VyYXRpb24ge1xuLyoqXG4gKiBMaXN0IG9mIFRvb2xzXG4gKiBcbiAqIEBtaW5JdGVtcyAxXG4gKi9cblRvb2xzOiBUb29sW11cblRvb2xDaG9pY2U/OiBUb29sQ2hvaWNlXG59XG5leHBvcnQgaW50ZXJmYWNlIFRvb2xTcGVjIHtcblRvb2xTcGVjOiBUb29sU3BlY2lmaWNhdGlvblxufVxuLyoqXG4gKiBUb29sIHNwZWNpZmljYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUb29sU3BlY2lmaWNhdGlvbiB7XG4vKipcbiAqIFRvb2wgbmFtZVxuICovXG5OYW1lOiBzdHJpbmdcbkRlc2NyaXB0aW9uPzogc3RyaW5nXG5JbnB1dFNjaGVtYTogVG9vbElucHV0U2NoZW1hXG59XG4vKipcbiAqIFRvb2wgaW5wdXQgc2NoZW1hIGpzb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBKc29uIHtcbkpzb246IHtcbltrOiBzdHJpbmddOiB1bmtub3duXG59XG59XG5leHBvcnQgaW50ZXJmYWNlIEF1dG8ge1xuQXV0bzogQXV0b1Rvb2xDaG9pY2Vcbn1cbi8qKlxuICogQXV0byBUb29sIGNob2ljZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9Ub29sQ2hvaWNlIHtcblxufVxuZXhwb3J0IGludGVyZmFjZSBBbnkge1xuQW55OiBBbnlUb29sQ2hvaWNlXG59XG4vKipcbiAqIEFueSBUb29sIGNob2ljZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFueVRvb2xDaG9pY2Uge1xuXG59XG5leHBvcnQgaW50ZXJmYWNlIFRvb2wxIHtcblRvb2w6IFNwZWNpZmljVG9vbENob2ljZVxufVxuLyoqXG4gKiBTcGVjaWZpYyBUb29sIGNob2ljZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNwZWNpZmljVG9vbENob2ljZSB7XG4vKipcbiAqIFRvb2wgbmFtZVxuICovXG5OYW1lOiBzdHJpbmdcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dDMge1xuVGV4dDogUHJvbXB0TW9kZWxJbmZlcmVuY2VDb25maWd1cmF0aW9uXG59XG4vKipcbiAqIFByb21wdCBtb2RlbCBpbmZlcmVuY2UgY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb21wdE1vZGVsSW5mZXJlbmNlQ29uZmlndXJhdGlvbiB7XG4vKipcbiAqIENvbnRyb2xzIHJhbmRvbW5lc3MsIGhpZ2hlciB2YWx1ZXMgaW5jcmVhc2UgZGl2ZXJzaXR5XG4gKi9cblRlbXBlcmF0dXJlPzogbnVtYmVyXG4vKipcbiAqIEN1bXVsYXRpdmUgcHJvYmFiaWxpdHkgY3V0b2ZmIGZvciB0b2tlbiBzZWxlY3Rpb25cbiAqL1xuVG9wUD86IG51bWJlclxuLyoqXG4gKiBNYXhpbXVtIGxlbmd0aCBvZiBvdXRwdXRcbiAqL1xuTWF4VG9rZW5zPzogbnVtYmVyXG4vKipcbiAqIExpc3Qgb2Ygc3RvcCBzZXF1ZW5jZXNcbiAqIFxuICogQG1pbkl0ZW1zIDBcbiAqIEBtYXhJdGVtcyA0XG4gKi9cblN0b3BTZXF1ZW5jZXM/OiBzdHJpbmdbXVxufVxuZXhwb3J0IGludGVyZmFjZSBBZ2VudCB7XG5BZ2VudDogUHJvbXB0QWdlbnRSZXNvdXJjZVxufVxuLyoqXG4gKiBUYXJnZXQgQWdlbnQgdG8gaW52b2tlIHdpdGggUHJvbXB0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvbXB0QWdlbnRSZXNvdXJjZSB7XG4vKipcbiAqIEFybiByZXByZXNlbnRhdGlvbiBvZiB0aGUgQWdlbnQgQWxpYXMuXG4gKi9cbkFnZW50SWRlbnRpZmllcjogc3RyaW5nXG59XG4vKipcbiAqIEEgbWFwIG9mIHRhZyBrZXlzIGFuZCB2YWx1ZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYWdzTWFwIHtcbi8qKlxuICogVmFsdWUgb2YgYSB0YWdcbiAqIFxuICogVGhpcyBpbnRlcmZhY2Ugd2FzIHJlZmVyZW5jZWQgYnkgYFRhZ3NNYXBgJ3MgSlNPTi1TY2hlbWEgZGVmaW5pdGlvblxuICogdmlhIHRoZSBgcGF0dGVyblByb3BlcnR5YCBcIl5bYS16QS1aMC05XFxzLl86Lz0rQC1dKiRcIi5cbiAqL1xuW2s6IHN0cmluZ106IHN0cmluZ1xufVxuIl19