@alicloud/ros-cdk-ecs 1.4.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/lib/activation.d.ts +32 -6
  2. package/lib/activation.js +2 -1
  3. package/lib/assignipv6addresses.d.ts +32 -6
  4. package/lib/assignipv6addresses.js +3 -1
  5. package/lib/assignprivateipaddresses.d.ts +26 -4
  6. package/lib/assignprivateipaddresses.js +3 -1
  7. package/lib/autoprovisioninggroup.d.ts +44 -4
  8. package/lib/autoprovisioninggroup.js +17 -12
  9. package/lib/autosnapshotpolicy.d.ts +32 -3
  10. package/lib/autosnapshotpolicy.js +5 -1
  11. package/lib/capacityreservation.d.ts +13 -3
  12. package/lib/capacityreservation.js +1 -1
  13. package/lib/command.d.ts +13 -3
  14. package/lib/command.js +1 -1
  15. package/lib/copyimage.d.ts +23 -5
  16. package/lib/copyimage.js +1 -1
  17. package/lib/customimage.d.ts +18 -4
  18. package/lib/customimage.js +1 -1
  19. package/lib/datasource/activation.d.ts +59 -13
  20. package/lib/datasource/activation.js +2 -2
  21. package/lib/datasource/activations.d.ts +18 -4
  22. package/lib/datasource/activations.js +1 -1
  23. package/lib/datasource/autosnapshotpolicies.d.ts +18 -4
  24. package/lib/datasource/autosnapshotpolicies.js +1 -1
  25. package/lib/datasource/autosnapshotpolicy.d.ts +56 -12
  26. package/lib/datasource/autosnapshotpolicy.js +2 -2
  27. package/lib/datasource/command.d.ts +64 -14
  28. package/lib/datasource/command.js +2 -2
  29. package/lib/datasource/commands.d.ts +18 -4
  30. package/lib/datasource/commands.js +1 -1
  31. package/lib/datasource/dedicatedhostcluster.d.ts +39 -9
  32. package/lib/datasource/dedicatedhostcluster.js +2 -2
  33. package/lib/datasource/dedicatedhostclusters.d.ts +18 -4
  34. package/lib/datasource/dedicatedhostclusters.js +1 -1
  35. package/lib/datasource/dedicatedhosts.d.ts +18 -4
  36. package/lib/datasource/dedicatedhosts.js +1 -1
  37. package/lib/datasource/deploymentset.d.ts +49 -11
  38. package/lib/datasource/deploymentset.js +2 -2
  39. package/lib/datasource/deploymentsets.d.ts +19 -5
  40. package/lib/datasource/deploymentsets.js +2 -2
  41. package/lib/datasource/disk.d.ts +204 -42
  42. package/lib/datasource/disk.js +2 -2
  43. package/lib/datasource/diskcategories.d.ts +19 -5
  44. package/lib/datasource/diskcategories.js +2 -2
  45. package/lib/datasource/disks.d.ts +19 -5
  46. package/lib/datasource/disks.js +2 -2
  47. package/lib/datasource/ecs.generated.d.ts +21 -21
  48. package/lib/datasource/ecs.generated.js +20 -20
  49. package/lib/datasource/hpccluster.d.ts +24 -6
  50. package/lib/datasource/hpccluster.js +2 -2
  51. package/lib/datasource/hpcclusters.d.ts +18 -4
  52. package/lib/datasource/hpcclusters.js +1 -1
  53. package/lib/datasource/images.d.ts +18 -4
  54. package/lib/datasource/images.js +1 -1
  55. package/lib/datasource/instance.d.ts +344 -70
  56. package/lib/datasource/instance.js +2 -2
  57. package/lib/datasource/instances.d.ts +18 -4
  58. package/lib/datasource/instances.js +1 -1
  59. package/lib/datasource/keypair.d.ts +34 -8
  60. package/lib/datasource/keypair.js +2 -2
  61. package/lib/datasource/keypairs.d.ts +19 -5
  62. package/lib/datasource/keypairs.js +2 -2
  63. package/lib/datasource/launchtemplate.d.ts +231 -49
  64. package/lib/datasource/launchtemplate.js +2 -2
  65. package/lib/datasource/launchtemplates.d.ts +19 -5
  66. package/lib/datasource/launchtemplates.js +2 -2
  67. package/lib/datasource/managedinstances.d.ts +18 -4
  68. package/lib/datasource/managedinstances.js +1 -1
  69. package/lib/datasource/networkinterfaces.d.ts +19 -5
  70. package/lib/datasource/networkinterfaces.js +2 -2
  71. package/lib/datasource/recommendinstancetypes.d.ts +19 -5
  72. package/lib/datasource/recommendinstancetypes.js +2 -2
  73. package/lib/datasource/securitygroup.d.ts +74 -16
  74. package/lib/datasource/securitygroup.js +2 -2
  75. package/lib/datasource/securitygroups.d.ts +18 -4
  76. package/lib/datasource/securitygroups.js +1 -1
  77. package/lib/datasource/snapshot.d.ts +109 -23
  78. package/lib/datasource/snapshot.js +2 -2
  79. package/lib/datasource/snapshots.d.ts +18 -4
  80. package/lib/datasource/snapshots.js +1 -1
  81. package/lib/datasource/zones.d.ts +18 -4
  82. package/lib/datasource/zones.js +1 -1
  83. package/lib/dedicatedhost.d.ts +18 -4
  84. package/lib/dedicatedhost.js +1 -1
  85. package/lib/deploymentset.d.ts +13 -3
  86. package/lib/deploymentset.js +1 -1
  87. package/lib/disk.d.ts +18 -4
  88. package/lib/disk.js +1 -1
  89. package/lib/diskattachment.d.ts +23 -5
  90. package/lib/diskattachment.js +1 -1
  91. package/lib/ecs.generated.d.ts +317 -40
  92. package/lib/ecs.generated.js +402 -51
  93. package/lib/elasticityassurance.d.ts +13 -3
  94. package/lib/elasticityassurance.js +1 -1
  95. package/lib/forwardentry.d.ts +13 -3
  96. package/lib/forwardentry.js +1 -1
  97. package/lib/hpccluster.d.ts +18 -4
  98. package/lib/hpccluster.js +1 -1
  99. package/lib/imagecomponent.d.ts +13 -3
  100. package/lib/imagecomponent.js +1 -1
  101. package/lib/imagepipeline.d.ts +13 -3
  102. package/lib/imagepipeline.js +1 -1
  103. package/lib/imagesharepermission.d.ts +13 -3
  104. package/lib/imagesharepermission.js +1 -1
  105. package/lib/instance.d.ts +48 -10
  106. package/lib/instance.js +1 -1
  107. package/lib/instanceclone.d.ts +48 -10
  108. package/lib/instanceclone.js +1 -1
  109. package/lib/instancegroup.d.ts +53 -11
  110. package/lib/instancegroup.js +1 -1
  111. package/lib/instancegroupclone.d.ts +53 -11
  112. package/lib/instancegroupclone.js +1 -1
  113. package/lib/invocation.d.ts +23 -5
  114. package/lib/invocation.js +1 -1
  115. package/lib/joinsecuritygroup.d.ts +8 -2
  116. package/lib/joinsecuritygroup.js +1 -1
  117. package/lib/launchtemplate.d.ts +28 -6
  118. package/lib/launchtemplate.js +1 -1
  119. package/lib/networkinterface.d.ts +28 -6
  120. package/lib/networkinterface.js +1 -1
  121. package/lib/networkinterfaceattachment.d.ts +23 -5
  122. package/lib/networkinterfaceattachment.js +1 -1
  123. package/lib/networkinterfacepermission.d.ts +13 -3
  124. package/lib/networkinterfacepermission.js +1 -1
  125. package/lib/prefixlist.d.ts +13 -3
  126. package/lib/prefixlist.js +1 -1
  127. package/lib/ramroleattachment.d.ts +18 -4
  128. package/lib/ramroleattachment.js +1 -1
  129. package/lib/route.d.ts +13 -3
  130. package/lib/route.js +1 -1
  131. package/lib/runcommand.d.ts +28 -6
  132. package/lib/runcommand.js +1 -1
  133. package/lib/securitygroup.d.ts +18 -4
  134. package/lib/securitygroup.js +1 -1
  135. package/lib/securitygroupclone.d.ts +13 -3
  136. package/lib/securitygroupclone.js +1 -1
  137. package/lib/securitygroupegress.d.ts +8 -2
  138. package/lib/securitygroupegress.js +1 -1
  139. package/lib/securitygroupegresses.d.ts +8 -2
  140. package/lib/securitygroupegresses.js +1 -1
  141. package/lib/securitygroupingress.d.ts +8 -2
  142. package/lib/securitygroupingress.js +1 -1
  143. package/lib/securitygroupingresses.d.ts +8 -2
  144. package/lib/securitygroupingresses.js +1 -1
  145. package/lib/snapshot.d.ts +13 -3
  146. package/lib/snapshot.js +1 -1
  147. package/lib/snapshotgroup.d.ts +14 -4
  148. package/lib/snapshotgroup.js +2 -2
  149. package/lib/snatentry.d.ts +13 -3
  150. package/lib/snatentry.js +1 -1
  151. package/lib/sshkeypair.d.ts +23 -5
  152. package/lib/sshkeypair.js +1 -1
  153. package/lib/sshkeypairattachment.d.ts +8 -2
  154. package/lib/sshkeypairattachment.js +1 -1
  155. package/lib/vpc.d.ts +28 -6
  156. package/lib/vpc.js +1 -1
  157. package/lib/vswitch.d.ts +28 -6
  158. package/lib/vswitch.js +1 -1
  159. package/package.json +1 -1
@@ -22,6 +22,10 @@ export interface ActivationProps {
22
22
  * Property ipAddressRange: The IP addresses of hosts that are allowed to use the activation code. The value can be IPv4 addresses, IPv6 addresses, or CIDR blocks.
23
23
  */
24
24
  readonly ipAddressRange?: string | ros.IResolvable;
25
+ /**
26
+ * Property resourceGroupId: The ID of the resource group.
27
+ */
28
+ readonly resourceGroupId?: string | ros.IResolvable;
25
29
  /**
26
30
  * Property tags: Tags to attach to instance. Max support 20 tags to add during create instance. Each tag with two properties Key and Value, and Key is required.
27
31
  */
@@ -31,32 +35,54 @@ export interface ActivationProps {
31
35
  */
32
36
  readonly timeToLiveInHours?: number | ros.IResolvable;
33
37
  }
38
+ /**
39
+ * Represents a `Activation`.
40
+ */
41
+ export interface IActivation extends ros.IResource {
42
+ readonly props: ActivationProps;
43
+ /**
44
+ * Attribute ActivationCode: Activation code.
45
+ */
46
+ readonly attrActivationCode: ros.IResolvable | string;
47
+ /**
48
+ * Attribute ActivationId: Activation code ID.
49
+ */
50
+ readonly attrActivationId: ros.IResolvable | string;
51
+ /**
52
+ * Attribute DeregisteredCount: The number of instances that have been logged out.
53
+ */
54
+ readonly attrDeregisteredCount: ros.IResolvable | string;
55
+ /**
56
+ * Attribute RegisteredCount: The number of registered instances.
57
+ */
58
+ readonly attrRegisteredCount: ros.IResolvable | string;
59
+ }
34
60
  /**
35
61
  * This class encapsulates and extends the ROS resource type `ALIYUN::ECS::Activation`, which is used to create an activation code.
36
62
  * @Note This class may have some new functions to facilitate development, so it is recommended to use this class instead of `RosActivation`for a more convenient development experience.
37
63
  * See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-ecs-activation
38
64
  */
39
- export declare class Activation extends ros.Resource {
65
+ export declare class Activation extends ros.Resource implements IActivation {
40
66
  protected scope: ros.Construct;
41
67
  protected id: string;
42
- protected props: ActivationProps;
68
+ readonly props: ActivationProps;
43
69
  protected enableResourcePropertyConstraint: boolean;
44
70
  /**
45
71
  * Attribute ActivationCode: Activation code.
46
72
  */
47
- readonly attrActivationCode: ros.IResolvable;
73
+ readonly attrActivationCode: ros.IResolvable | string;
48
74
  /**
49
75
  * Attribute ActivationId: Activation code ID.
50
76
  */
51
- readonly attrActivationId: ros.IResolvable;
77
+ readonly attrActivationId: ros.IResolvable | string;
52
78
  /**
53
79
  * Attribute DeregisteredCount: The number of instances that have been logged out.
54
80
  */
55
- readonly attrDeregisteredCount: ros.IResolvable;
81
+ readonly attrDeregisteredCount: ros.IResolvable | string;
56
82
  /**
57
83
  * Attribute RegisteredCount: The number of registered instances.
58
84
  */
59
- readonly attrRegisteredCount: ros.IResolvable;
85
+ readonly attrRegisteredCount: ros.IResolvable | string;
60
86
  /**
61
87
  * Param scope - scope in which this resource is defined
62
88
  * Param id - scoped id of the resource
package/lib/activation.js CHANGED
@@ -25,6 +25,7 @@ class Activation extends ros.Resource {
25
25
  instanceName: props.instanceName,
26
26
  instanceCount: props.instanceCount,
27
27
  description: props.description,
28
+ resourceGroupId: props.resourceGroupId,
28
29
  timeToLiveInHours: props.timeToLiveInHours,
29
30
  ipAddressRange: props.ipAddressRange,
30
31
  tags: props.tags,
@@ -37,4 +38,4 @@ class Activation extends ros.Resource {
37
38
  }
38
39
  }
39
40
  exports.Activation = Activation;
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFjdGl2YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOENBQThDO0FBQzlDLG1EQUFnRDtBQUV0QixtR0FGakIsNkJBQWEsT0FFc0I7QUF1QzVDOzs7O0dBSUc7QUFDSCxNQUFhLFVBQVcsU0FBUSxHQUFHLENBQUMsUUFBUTtJQTBCeEM7Ozs7T0FJRztJQUNILFlBQVksS0FBb0IsRUFBRSxFQUFVLEVBQUUsUUFBeUIsRUFBRSxFQUFFLG1DQUEyQyxJQUFJO1FBQ3RILEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsZ0NBQWdDLEdBQUcsZ0NBQWdDLENBQUM7UUFFekUsTUFBTSxhQUFhLEdBQUcsSUFBSSw2QkFBYSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUc7WUFDL0MsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ2hDLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYTtZQUNsQyxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQjtZQUMxQyxjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWM7WUFDcEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1NBQ25CLEVBQUUsZ0NBQWdDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDO1FBQzlCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxhQUFhLENBQUMsa0JBQWtCLENBQUM7UUFDM0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQztRQUN2RCxJQUFJLENBQUMscUJBQXFCLEdBQUcsYUFBYSxDQUFDLHFCQUFxQixDQUFDO1FBQ2pFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxhQUFhLENBQUMsbUJBQW1CLENBQUM7SUFDakUsQ0FBQztDQUNKO0FBcERELGdDQW9EQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHJvcyBmcm9tICdAYWxpY2xvdWQvcm9zLWNkay1jb3JlJztcbmltcG9ydCB7IFJvc0FjdGl2YXRpb24gfSBmcm9tICcuL2Vjcy5nZW5lcmF0ZWQnO1xuLy8gR2VuZXJhdGVkIGZyb20gdGhlIEFsaUNsb3VkIFJPUyBSZXNvdXJjZSBTcGVjaWZpY2F0aW9uXG5leHBvcnQgeyBSb3NBY3RpdmF0aW9uIGFzIEFjdGl2YXRpb25Qcm9wZXJ0eSB9O1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGRlZmluaW5nIGEgYEFjdGl2YXRpb25gLlxuICogU2VlIGh0dHBzOi8vd3d3LmFsaWJhYmFjbG91ZC5jb20vaGVscC9yb3MvZGV2ZWxvcGVyLXJlZmVyZW5jZS9hbGl5dW4tZWNzLWFjdGl2YXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBY3RpdmF0aW9uUHJvcHMge1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgZGVzY3JpcHRpb246IFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgYWN0aXZhdGlvbiBjb2RlLiBJdCBtdXN0IGJlIDEgdG8gMTAwIGNoYXJhY3RlcnMgaW4gbGVuZ3RoLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgaW5zdGFuY2VDb3VudDogVGhlIG1heGltdW0gbnVtYmVyIG9mIHRpbWVzIHRoYXQgeW91IGNhbiB1c2UgdGhlIGFjdGl2YXRpb24gY29kZSB0byByZWdpc3RlciBtYW5hZ2VkIGluc3RhbmNlcy4gVmFsaWQgdmFsdWVzOiAxIHRvIDEwMDAuRGVmYXVsdCB2YWx1ZTogMTAuXG4gICAgICovXG4gICAgcmVhZG9ubHkgaW5zdGFuY2VDb3VudD86IG51bWJlciB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IGluc3RhbmNlTmFtZTogVGhlIGRlZmF1bHQgaW5zdGFuY2UgbmFtZSBwcmVmaXguIFRoZSBpbnN0YW5jZSBuYW1lIHByZWZpeCBtdXN0IGJlIDIgdG8gNTAgY2hhcmFjdGVycyBpbiBsZW5ndGguIEl0IG11c3Qgc3RhcnQgd2l0aCBhIGxldHRlciBhbmQgY2Fubm90IHN0YXJ0IHdpdGggaHR0cDpcXC9cXC8gb3IgaHR0cHM6XFwvXFwvLiBJdCBjYW4gY29udGFpbiBsZXR0ZXJzLCBkaWdpdHMsIHBlcmlvZHMgKC4pLCB1bmRlcnNjb3JlcyAoXyksIGh5cGhlbnMgKC0pLCBhbmQgY29sb25zICg6KS4gSWYgeW91IHVzZSB0aGUgYWN0aXZhdGlvbiBjb2RlIHRoYXQgaXMgY3JlYXRlZCBieSBjYWxsaW5nIHRoaXMgb3BlcmF0aW9uIChDcmVhdGVBY3RpdmF0aW9uKSB0byByZWdpc3RlciBtYW5hZ2VkIGluc3RhbmNlcywgdGhlIGluc3RhbmNlcyBhcmUgYXNzaWduZWQgc2VxdWVudGlhbCBuYW1lcyB0aGF0IGFyZSBwcmVmaXhlZCBieSB0aGUgdmFsdWUgb2YgdGhpcyBwYXJhbWV0ZXIuIFlvdSBjYW4gYWxzbyBzcGVjaWZ5IGEgbmV3IGluc3RhbmNlIG5hbWUgdG8gcmVwbGFjZSB0aGUgYXNzaWduZWQgc2VxdWVudGlhbCBuYW1lIHdoZW4geW91IHJlZ2lzdGVyIGEgbWFuYWdlZCBpbnN0YW5jZS5JZiB5b3Ugc3BlY2lmeSBJbnN0YW5jZU5hbWUgd2hlbiB5b3UgcmVnaXN0ZXIgYSBtYW5hZ2VkIGluc3RhbmNlLCBhbiBpbnN0YW5jZSBuYW1lIGluIHRoZWZvcm1hdCBvZiA8SW5zdGFuY2VOYW1lPi08TnVtYmVyPiBpcyBnZW5lcmF0ZWQuIFRoZSBudW1iZXIgb2YgZGlnaXRzIGluIHRoZSA8TnVtYmVyPiB2YWx1ZSBpc2RldGVybWluZWQgYnkgdGhhdCBpbiB0aGUgSW5zdGFuY2VDb3VudCB2YWx1ZS4gRXhhbXBsZTogMDAxLiBJZiB5b3UgZG8gbm90IHNwZWNpZnkgSW5zdGFuY2VOYW1lLCB0aGUgaG9zdG5hbWUgKEhvc3RuYW1lKSBpcyB1c2VkIGFzIHRoZSBpbnN0YW5jZSBuYW1lLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGluc3RhbmNlTmFtZT86IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IGlwQWRkcmVzc1JhbmdlOiBUaGUgSVAgYWRkcmVzc2VzIG9mIGhvc3RzIHRoYXQgYXJlIGFsbG93ZWQgdG8gdXNlIHRoZSBhY3RpdmF0aW9uIGNvZGUuIFRoZSB2YWx1ZSBjYW4gYmUgSVB2NCBhZGRyZXNzZXMsIElQdjYgYWRkcmVzc2VzLCBvciBDSURSIGJsb2Nrcy5cbiAgICAgKi9cbiAgICByZWFkb25seSBpcEFkZHJlc3NSYW5nZT86IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IHRhZ3M6IFRhZ3MgdG8gYXR0YWNoIHRvIGluc3RhbmNlLiBNYXggc3VwcG9ydCAyMCB0YWdzIHRvIGFkZCBkdXJpbmcgY3JlYXRlIGluc3RhbmNlLiBFYWNoIHRhZyB3aXRoIHR3byBwcm9wZXJ0aWVzIEtleSBhbmQgVmFsdWUsIGFuZCBLZXkgaXMgcmVxdWlyZWQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgdGFncz86IFJvc0FjdGl2YXRpb24uVGFnc1Byb3BlcnR5W107XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSB0aW1lVG9MaXZlSW5Ib3VyczogVGhlIHZhbGlkaXR5IHBlcmlvZCBvZiB0aGUgYWN0aXZhdGlvbiBjb2RlLiBUaGUgYWN0aXZhdGlvbiBjb2RlIGNhbiBubyBsb25nZXIgYmUgdXNlZCB0byByZWdpc3RlciBpbnN0YW5jZXMgYWZ0ZXIgdGhlIHBlcmlvZCBlbmRzLiBVbml0OiBob3Vycy4gVmFsaWQgdmFsdWVzOiAxIHRvIDg3NjU3Niwgd2hpY2ggcmVwcmVzZW50cyBhIHJhbmdlIG9mIHRpbWUgZnJvbSAxIGhvdXIgdG8gMTAwIHllYXJzLkRlZmF1bHQgdmFsdWU6IDQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgdGltZVRvTGl2ZUluSG91cnM/OiBudW1iZXIgfCByb3MuSVJlc29sdmFibGU7XG59XG5cbi8qKlxuICogVGhpcyBjbGFzcyBlbmNhcHN1bGF0ZXMgYW5kIGV4dGVuZHMgdGhlIFJPUyByZXNvdXJjZSB0eXBlIGBBTElZVU46OkVDUzo6QWN0aXZhdGlvbmAsIHdoaWNoIGlzIHVzZWQgdG8gY3JlYXRlIGFuIGFjdGl2YXRpb24gY29kZS5cbiAqIEBOb3RlIFRoaXMgY2xhc3MgbWF5IGhhdmUgc29tZSBuZXcgZnVuY3Rpb25zIHRvIGZhY2lsaXRhdGUgZGV2ZWxvcG1lbnQsIHNvIGl0IGlzIHJlY29tbWVuZGVkIHRvIHVzZSB0aGlzIGNsYXNzIGluc3RlYWQgb2YgYFJvc0FjdGl2YXRpb25gZm9yIGEgbW9yZSBjb252ZW5pZW50IGRldmVsb3BtZW50IGV4cGVyaWVuY2UuXG4gKiBTZWUgaHR0cHM6Ly93d3cuYWxpYmFiYWNsb3VkLmNvbS9oZWxwL3Jvcy9kZXZlbG9wZXItcmVmZXJlbmNlL2FsaXl1bi1lY3MtYWN0aXZhdGlvblxuICovXG5leHBvcnQgY2xhc3MgQWN0aXZhdGlvbiBleHRlbmRzIHJvcy5SZXNvdXJjZSB7XG4gICAgcHJvdGVjdGVkIHNjb3BlOiByb3MuQ29uc3RydWN0O1xuICAgIHByb3RlY3RlZCBpZDogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBwcm9wczogQWN0aXZhdGlvblByb3BzO1xuICAgIHByb3RlY3RlZCBlbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBBY3RpdmF0aW9uQ29kZTogQWN0aXZhdGlvbiBjb2RlLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyQWN0aXZhdGlvbkNvZGU6IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBBY3RpdmF0aW9uSWQ6IEFjdGl2YXRpb24gY29kZSBJRC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0ckFjdGl2YXRpb25JZDogcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIERlcmVnaXN0ZXJlZENvdW50OiBUaGUgbnVtYmVyIG9mIGluc3RhbmNlcyB0aGF0IGhhdmUgYmVlbiBsb2dnZWQgb3V0LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyRGVyZWdpc3RlcmVkQ291bnQ6IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBSZWdpc3RlcmVkQ291bnQ6IFRoZSBudW1iZXIgb2YgcmVnaXN0ZXJlZCBpbnN0YW5jZXMuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJSZWdpc3RlcmVkQ291bnQ6IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFBhcmFtIHNjb3BlIC0gc2NvcGUgaW4gd2hpY2ggdGhpcyByZXNvdXJjZSBpcyBkZWZpbmVkXG4gICAgICogUGFyYW0gaWQgICAgLSBzY29wZWQgaWQgb2YgdGhlIHJlc291cmNlXG4gICAgICogUGFyYW0gcHJvcHMgLSByZXNvdXJjZSBwcm9wZXJ0aWVzXG4gICAgICovXG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IHJvcy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBY3RpdmF0aW9uUHJvcHMgPSB7fSwgZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQ6Ym9vbGVhbiA9IHRydWUpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICAgICAgdGhpcy5zY29wZSA9IHNjb3BlO1xuICAgICAgICB0aGlzLmlkID0gaWQ7XG4gICAgICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgICAgICAgdGhpcy5lbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludCA9IGVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50O1xuXG4gICAgICAgIGNvbnN0IHJvc0FjdGl2YXRpb24gPSBuZXcgUm9zQWN0aXZhdGlvbih0aGlzLCBpZCwgIHtcbiAgICAgICAgICAgIGluc3RhbmNlTmFtZTogcHJvcHMuaW5zdGFuY2VOYW1lLFxuICAgICAgICAgICAgaW5zdGFuY2VDb3VudDogcHJvcHMuaW5zdGFuY2VDb3VudCxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIHRpbWVUb0xpdmVJbkhvdXJzOiBwcm9wcy50aW1lVG9MaXZlSW5Ib3VycyxcbiAgICAgICAgICAgIGlwQWRkcmVzc1JhbmdlOiBwcm9wcy5pcEFkZHJlc3NSYW5nZSxcbiAgICAgICAgICAgIHRhZ3M6IHByb3BzLnRhZ3MsXG4gICAgICAgIH0sIGVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50ICYmIHRoaXMuc3RhY2suZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQpO1xuICAgICAgICB0aGlzLnJlc291cmNlID0gcm9zQWN0aXZhdGlvbjtcbiAgICAgICAgdGhpcy5hdHRyQWN0aXZhdGlvbkNvZGUgPSByb3NBY3RpdmF0aW9uLmF0dHJBY3RpdmF0aW9uQ29kZTtcbiAgICAgICAgdGhpcy5hdHRyQWN0aXZhdGlvbklkID0gcm9zQWN0aXZhdGlvbi5hdHRyQWN0aXZhdGlvbklkO1xuICAgICAgICB0aGlzLmF0dHJEZXJlZ2lzdGVyZWRDb3VudCA9IHJvc0FjdGl2YXRpb24uYXR0ckRlcmVnaXN0ZXJlZENvdW50O1xuICAgICAgICB0aGlzLmF0dHJSZWdpc3RlcmVkQ291bnQgPSByb3NBY3RpdmF0aW9uLmF0dHJSZWdpc3RlcmVkQ291bnQ7XG4gICAgfVxufVxuIl19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFjdGl2YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOENBQThDO0FBQzlDLG1EQUFnRDtBQUV0QixtR0FGakIsNkJBQWEsT0FFc0I7QUFzRTVDOzs7O0dBSUc7QUFDSCxNQUFhLFVBQVcsU0FBUSxHQUFHLENBQUMsUUFBUTtJQTBCeEM7Ozs7T0FJRztJQUNILFlBQVksS0FBb0IsRUFBRSxFQUFVLEVBQUUsUUFBeUIsRUFBRSxFQUFFLG1DQUEyQyxJQUFJO1FBQ3RILEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsZ0NBQWdDLEdBQUcsZ0NBQWdDLENBQUM7UUFFekUsTUFBTSxhQUFhLEdBQUcsSUFBSSw2QkFBYSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUc7WUFDL0MsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ2hDLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYTtZQUNsQyxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsZUFBZSxFQUFFLEtBQUssQ0FBQyxlQUFlO1lBQ3RDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUI7WUFDMUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO1lBQ3BDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtTQUNuQixFQUFFLGdDQUFnQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQztRQUM5QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsYUFBYSxDQUFDLGtCQUFrQixDQUFDO1FBQzNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxhQUFhLENBQUMsZ0JBQWdCLENBQUM7UUFDdkQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQztRQUNqRSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsYUFBYSxDQUFDLG1CQUFtQixDQUFDO0lBQ2pFLENBQUM7Q0FDSjtBQXJERCxnQ0FxREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyByb3MgZnJvbSAnQGFsaWNsb3VkL3Jvcy1jZGstY29yZSc7XG5pbXBvcnQgeyBSb3NBY3RpdmF0aW9uIH0gZnJvbSAnLi9lY3MuZ2VuZXJhdGVkJztcbi8vIEdlbmVyYXRlZCBmcm9tIHRoZSBBbGlDbG91ZCBST1MgUmVzb3VyY2UgU3BlY2lmaWNhdGlvblxuZXhwb3J0IHsgUm9zQWN0aXZhdGlvbiBhcyBBY3RpdmF0aW9uUHJvcGVydHkgfTtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBkZWZpbmluZyBhIGBBY3RpdmF0aW9uYC5cbiAqIFNlZSBodHRwczovL3d3dy5hbGliYWJhY2xvdWQuY29tL2hlbHAvcm9zL2RldmVsb3Blci1yZWZlcmVuY2UvYWxpeXVuLWVjcy1hY3RpdmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZhdGlvblByb3BzIHtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IGRlc2NyaXB0aW9uOiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIGFjdGl2YXRpb24gY29kZS4gSXQgbXVzdCBiZSAxIHRvIDEwMCBjaGFyYWN0ZXJzIGluIGxlbmd0aC5cbiAgICAgKi9cbiAgICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IGluc3RhbmNlQ291bnQ6IFRoZSBtYXhpbXVtIG51bWJlciBvZiB0aW1lcyB0aGF0IHlvdSBjYW4gdXNlIHRoZSBhY3RpdmF0aW9uIGNvZGUgdG8gcmVnaXN0ZXIgbWFuYWdlZCBpbnN0YW5jZXMuIFZhbGlkIHZhbHVlczogMSB0byAxMDAwLkRlZmF1bHQgdmFsdWU6IDEwLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGluc3RhbmNlQ291bnQ/OiBudW1iZXIgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBpbnN0YW5jZU5hbWU6IFRoZSBkZWZhdWx0IGluc3RhbmNlIG5hbWUgcHJlZml4LiBUaGUgaW5zdGFuY2UgbmFtZSBwcmVmaXggbXVzdCBiZSAyIHRvIDUwIGNoYXJhY3RlcnMgaW4gbGVuZ3RoLiBJdCBtdXN0IHN0YXJ0IHdpdGggYSBsZXR0ZXIgYW5kIGNhbm5vdCBzdGFydCB3aXRoIGh0dHA6XFwvXFwvIG9yIGh0dHBzOlxcL1xcLy4gSXQgY2FuIGNvbnRhaW4gbGV0dGVycywgZGlnaXRzLCBwZXJpb2RzICguKSwgdW5kZXJzY29yZXMgKF8pLCBoeXBoZW5zICgtKSwgYW5kIGNvbG9ucyAoOikuIElmIHlvdSB1c2UgdGhlIGFjdGl2YXRpb24gY29kZSB0aGF0IGlzIGNyZWF0ZWQgYnkgY2FsbGluZyB0aGlzIG9wZXJhdGlvbiAoQ3JlYXRlQWN0aXZhdGlvbikgdG8gcmVnaXN0ZXIgbWFuYWdlZCBpbnN0YW5jZXMsIHRoZSBpbnN0YW5jZXMgYXJlIGFzc2lnbmVkIHNlcXVlbnRpYWwgbmFtZXMgdGhhdCBhcmUgcHJlZml4ZWQgYnkgdGhlIHZhbHVlIG9mIHRoaXMgcGFyYW1ldGVyLiBZb3UgY2FuIGFsc28gc3BlY2lmeSBhIG5ldyBpbnN0YW5jZSBuYW1lIHRvIHJlcGxhY2UgdGhlIGFzc2lnbmVkIHNlcXVlbnRpYWwgbmFtZSB3aGVuIHlvdSByZWdpc3RlciBhIG1hbmFnZWQgaW5zdGFuY2UuSWYgeW91IHNwZWNpZnkgSW5zdGFuY2VOYW1lIHdoZW4geW91IHJlZ2lzdGVyIGEgbWFuYWdlZCBpbnN0YW5jZSwgYW4gaW5zdGFuY2UgbmFtZSBpbiB0aGVmb3JtYXQgb2YgPEluc3RhbmNlTmFtZT4tPE51bWJlcj4gaXMgZ2VuZXJhdGVkLiBUaGUgbnVtYmVyIG9mIGRpZ2l0cyBpbiB0aGUgPE51bWJlcj4gdmFsdWUgaXNkZXRlcm1pbmVkIGJ5IHRoYXQgaW4gdGhlIEluc3RhbmNlQ291bnQgdmFsdWUuIEV4YW1wbGU6IDAwMS4gSWYgeW91IGRvIG5vdCBzcGVjaWZ5IEluc3RhbmNlTmFtZSwgdGhlIGhvc3RuYW1lIChIb3N0bmFtZSkgaXMgdXNlZCBhcyB0aGUgaW5zdGFuY2UgbmFtZS5cbiAgICAgKi9cbiAgICByZWFkb25seSBpbnN0YW5jZU5hbWU/OiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBpcEFkZHJlc3NSYW5nZTogVGhlIElQIGFkZHJlc3NlcyBvZiBob3N0cyB0aGF0IGFyZSBhbGxvd2VkIHRvIHVzZSB0aGUgYWN0aXZhdGlvbiBjb2RlLiBUaGUgdmFsdWUgY2FuIGJlIElQdjQgYWRkcmVzc2VzLCBJUHY2IGFkZHJlc3Nlcywgb3IgQ0lEUiBibG9ja3MuXG4gICAgICovXG4gICAgcmVhZG9ubHkgaXBBZGRyZXNzUmFuZ2U/OiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSByZXNvdXJjZUdyb3VwSWQ6IFRoZSBJRCBvZiB0aGUgcmVzb3VyY2UgZ3JvdXAuXG4gICAgICovXG4gICAgcmVhZG9ubHkgcmVzb3VyY2VHcm91cElkPzogc3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgdGFnczogVGFncyB0byBhdHRhY2ggdG8gaW5zdGFuY2UuIE1heCBzdXBwb3J0IDIwIHRhZ3MgdG8gYWRkIGR1cmluZyBjcmVhdGUgaW5zdGFuY2UuIEVhY2ggdGFnIHdpdGggdHdvIHByb3BlcnRpZXMgS2V5IGFuZCBWYWx1ZSwgYW5kIEtleSBpcyByZXF1aXJlZC5cbiAgICAgKi9cbiAgICByZWFkb25seSB0YWdzPzogUm9zQWN0aXZhdGlvbi5UYWdzUHJvcGVydHlbXTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IHRpbWVUb0xpdmVJbkhvdXJzOiBUaGUgdmFsaWRpdHkgcGVyaW9kIG9mIHRoZSBhY3RpdmF0aW9uIGNvZGUuIFRoZSBhY3RpdmF0aW9uIGNvZGUgY2FuIG5vIGxvbmdlciBiZSB1c2VkIHRvIHJlZ2lzdGVyIGluc3RhbmNlcyBhZnRlciB0aGUgcGVyaW9kIGVuZHMuIFVuaXQ6IGhvdXJzLiBWYWxpZCB2YWx1ZXM6IDEgdG8gODc2NTc2LCB3aGljaCByZXByZXNlbnRzIGEgcmFuZ2Ugb2YgdGltZSBmcm9tIDEgaG91ciB0byAxMDAgeWVhcnMuRGVmYXVsdCB2YWx1ZTogNC5cbiAgICAgKi9cbiAgICByZWFkb25seSB0aW1lVG9MaXZlSW5Ib3Vycz86IG51bWJlciB8IHJvcy5JUmVzb2x2YWJsZTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgYEFjdGl2YXRpb25gLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBY3RpdmF0aW9uIGV4dGVuZHMgcm9zLklSZXNvdXJjZSB7XG4gICAgcmVhZG9ubHkgcHJvcHM6IEFjdGl2YXRpb25Qcm9wcztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBBY3RpdmF0aW9uQ29kZTogQWN0aXZhdGlvbiBjb2RlLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGF0dHJBY3RpdmF0aW9uQ29kZTogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIEFjdGl2YXRpb25JZDogQWN0aXZhdGlvbiBjb2RlIElELlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGF0dHJBY3RpdmF0aW9uSWQ6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBEZXJlZ2lzdGVyZWRDb3VudDogVGhlIG51bWJlciBvZiBpbnN0YW5jZXMgdGhhdCBoYXZlIGJlZW4gbG9nZ2VkIG91dC5cbiAgICAgKi9cbiAgICByZWFkb25seSBhdHRyRGVyZWdpc3RlcmVkQ291bnQ6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBSZWdpc3RlcmVkQ291bnQ6IFRoZSBudW1iZXIgb2YgcmVnaXN0ZXJlZCBpbnN0YW5jZXMuXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXR0clJlZ2lzdGVyZWRDb3VudDogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xufVxuLyoqXG4gKiBUaGlzIGNsYXNzIGVuY2Fwc3VsYXRlcyBhbmQgZXh0ZW5kcyB0aGUgUk9TIHJlc291cmNlIHR5cGUgYEFMSVlVTjo6RUNTOjpBY3RpdmF0aW9uYCwgd2hpY2ggaXMgdXNlZCB0byBjcmVhdGUgYW4gYWN0aXZhdGlvbiBjb2RlLlxuICogQE5vdGUgVGhpcyBjbGFzcyBtYXkgaGF2ZSBzb21lIG5ldyBmdW5jdGlvbnMgdG8gZmFjaWxpdGF0ZSBkZXZlbG9wbWVudCwgc28gaXQgaXMgcmVjb21tZW5kZWQgdG8gdXNlIHRoaXMgY2xhc3MgaW5zdGVhZCBvZiBgUm9zQWN0aXZhdGlvbmBmb3IgYSBtb3JlIGNvbnZlbmllbnQgZGV2ZWxvcG1lbnQgZXhwZXJpZW5jZS5cbiAqIFNlZSBodHRwczovL3d3dy5hbGliYWJhY2xvdWQuY29tL2hlbHAvcm9zL2RldmVsb3Blci1yZWZlcmVuY2UvYWxpeXVuLWVjcy1hY3RpdmF0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBBY3RpdmF0aW9uIGV4dGVuZHMgcm9zLlJlc291cmNlIGltcGxlbWVudHMgSUFjdGl2YXRpb24ge1xuICAgIHByb3RlY3RlZCBzY29wZTogcm9zLkNvbnN0cnVjdDtcbiAgICBwcm90ZWN0ZWQgaWQ6IHN0cmluZztcbiAgICBwdWJsaWMgcmVhZG9ubHkgcHJvcHM6IEFjdGl2YXRpb25Qcm9wcztcbiAgICBwcm90ZWN0ZWQgZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQ6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgQWN0aXZhdGlvbkNvZGU6IEFjdGl2YXRpb24gY29kZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0ckFjdGl2YXRpb25Db2RlOiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgQWN0aXZhdGlvbklkOiBBY3RpdmF0aW9uIGNvZGUgSUQuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJBY3RpdmF0aW9uSWQ6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBEZXJlZ2lzdGVyZWRDb3VudDogVGhlIG51bWJlciBvZiBpbnN0YW5jZXMgdGhhdCBoYXZlIGJlZW4gbG9nZ2VkIG91dC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0ckRlcmVnaXN0ZXJlZENvdW50OiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgUmVnaXN0ZXJlZENvdW50OiBUaGUgbnVtYmVyIG9mIHJlZ2lzdGVyZWQgaW5zdGFuY2VzLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyUmVnaXN0ZXJlZENvdW50OiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBQYXJhbSBzY29wZSAtIHNjb3BlIGluIHdoaWNoIHRoaXMgcmVzb3VyY2UgaXMgZGVmaW5lZFxuICAgICAqIFBhcmFtIGlkICAgIC0gc2NvcGVkIGlkIG9mIHRoZSByZXNvdXJjZVxuICAgICAqIFBhcmFtIHByb3BzIC0gcmVzb3VyY2UgcHJvcGVydGllc1xuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiByb3MuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQWN0aXZhdGlvblByb3BzID0ge30sIGVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50OmJvb2xlYW4gPSB0cnVlKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgICAgIHRoaXMuc2NvcGUgPSBzY29wZTtcbiAgICAgICAgdGhpcy5pZCA9IGlkO1xuICAgICAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gICAgICAgIHRoaXMuZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQgPSBlbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludDtcblxuICAgICAgICBjb25zdCByb3NBY3RpdmF0aW9uID0gbmV3IFJvc0FjdGl2YXRpb24odGhpcywgaWQsICB7XG4gICAgICAgICAgICBpbnN0YW5jZU5hbWU6IHByb3BzLmluc3RhbmNlTmFtZSxcbiAgICAgICAgICAgIGluc3RhbmNlQ291bnQ6IHByb3BzLmluc3RhbmNlQ291bnQsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICByZXNvdXJjZUdyb3VwSWQ6IHByb3BzLnJlc291cmNlR3JvdXBJZCxcbiAgICAgICAgICAgIHRpbWVUb0xpdmVJbkhvdXJzOiBwcm9wcy50aW1lVG9MaXZlSW5Ib3VycyxcbiAgICAgICAgICAgIGlwQWRkcmVzc1JhbmdlOiBwcm9wcy5pcEFkZHJlc3NSYW5nZSxcbiAgICAgICAgICAgIHRhZ3M6IHByb3BzLnRhZ3MsXG4gICAgICAgIH0sIGVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50ICYmIHRoaXMuc3RhY2suZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQpO1xuICAgICAgICB0aGlzLnJlc291cmNlID0gcm9zQWN0aXZhdGlvbjtcbiAgICAgICAgdGhpcy5hdHRyQWN0aXZhdGlvbkNvZGUgPSByb3NBY3RpdmF0aW9uLmF0dHJBY3RpdmF0aW9uQ29kZTtcbiAgICAgICAgdGhpcy5hdHRyQWN0aXZhdGlvbklkID0gcm9zQWN0aXZhdGlvbi5hdHRyQWN0aXZhdGlvbklkO1xuICAgICAgICB0aGlzLmF0dHJEZXJlZ2lzdGVyZWRDb3VudCA9IHJvc0FjdGl2YXRpb24uYXR0ckRlcmVnaXN0ZXJlZENvdW50O1xuICAgICAgICB0aGlzLmF0dHJSZWdpc3RlcmVkQ291bnQgPSByb3NBY3RpdmF0aW9uLmF0dHJSZWdpc3RlcmVkQ291bnQ7XG4gICAgfVxufVxuIl19
@@ -16,33 +16,59 @@ export interface AssignIpv6AddressesProps {
16
16
  */
17
17
  readonly ipv6AddressCount?: number | ros.IResolvable;
18
18
  /**
19
- * Property ipv6Addresses: Specify one or more IPv6 addresses for the elastic NIC. Currently, the maximum list size is 1. Example value: 2001:db8:1234:1a00::*** .
19
+ * Property ipv6Addresses: Specify one or more IPv6 addresses for the elastic NIC. Currently, the maximum list size is 10. Example value: 2001:db8:1234:1a00::*** .
20
20
  * Note You cannot specify the parameters Ipv6Addresses and Ipv6AddressCount at the same time.
21
21
  */
22
22
  readonly ipv6Addresses?: Array<any | ros.IResolvable> | ros.IResolvable;
23
+ /**
24
+ * Property ipv6PrefixCount: IPv6 prefix specified number of randomly generated interfaces elasticity.
25
+ */
26
+ readonly ipv6PrefixCount?: number | ros.IResolvable;
27
+ /**
28
+ * Property ipv6Prefixes: Specify one or more IPv6 prefixes for the elastic NIC.
29
+ */
30
+ readonly ipv6Prefixes?: Array<any | ros.IResolvable> | ros.IResolvable;
31
+ }
32
+ /**
33
+ * Represents a `AssignIpv6Addresses`.
34
+ */
35
+ export interface IAssignIpv6Addresses extends ros.IResource {
36
+ readonly props: AssignIpv6AddressesProps;
37
+ /**
38
+ * Attribute Ipv6AddressIds: Assigned IPv6 address IDs.
39
+ */
40
+ readonly attrIpv6AddressIds: ros.IResolvable | string;
41
+ /**
42
+ * Attribute Ipv6Addresses: Assigned IPv6 addresses.
43
+ */
44
+ readonly attrIpv6Addresses: ros.IResolvable | string;
45
+ /**
46
+ * Attribute NetworkInterfaceId: Elastic network interface ID.
47
+ */
48
+ readonly attrNetworkInterfaceId: ros.IResolvable | string;
23
49
  }
24
50
  /**
25
51
  * This class encapsulates and extends the ROS resource type `ALIYUN::ECS::AssignIpv6Addresses`, which is used to assign one or more IPv6 addresses to an elastic network interface (ENI).
26
52
  * @Note This class may have some new functions to facilitate development, so it is recommended to use this class instead of `RosAssignIpv6Addresses`for a more convenient development experience.
27
53
  * See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-ecs-assignipv6addresses
28
54
  */
29
- export declare class AssignIpv6Addresses extends ros.Resource {
55
+ export declare class AssignIpv6Addresses extends ros.Resource implements IAssignIpv6Addresses {
30
56
  protected scope: ros.Construct;
31
57
  protected id: string;
32
- protected props: AssignIpv6AddressesProps;
58
+ readonly props: AssignIpv6AddressesProps;
33
59
  protected enableResourcePropertyConstraint: boolean;
34
60
  /**
35
61
  * Attribute Ipv6AddressIds: Assigned IPv6 address IDs.
36
62
  */
37
- readonly attrIpv6AddressIds: ros.IResolvable;
63
+ readonly attrIpv6AddressIds: ros.IResolvable | string;
38
64
  /**
39
65
  * Attribute Ipv6Addresses: Assigned IPv6 addresses.
40
66
  */
41
- readonly attrIpv6Addresses: ros.IResolvable;
67
+ readonly attrIpv6Addresses: ros.IResolvable | string;
42
68
  /**
43
69
  * Attribute NetworkInterfaceId: Elastic network interface ID.
44
70
  */
45
- readonly attrNetworkInterfaceId: ros.IResolvable;
71
+ readonly attrNetworkInterfaceId: ros.IResolvable | string;
46
72
  /**
47
73
  * Param scope - scope in which this resource is defined
48
74
  * Param id - scoped id of the resource
@@ -22,8 +22,10 @@ class AssignIpv6Addresses extends ros.Resource {
22
22
  this.props = props;
23
23
  this.enableResourcePropertyConstraint = enableResourcePropertyConstraint;
24
24
  const rosAssignIpv6Addresses = new ecs_generated_1.RosAssignIpv6Addresses(this, id, {
25
+ ipv6PrefixCount: props.ipv6PrefixCount,
25
26
  ipv6AddressCount: props.ipv6AddressCount,
26
27
  ipv6Addresses: props.ipv6Addresses,
28
+ ipv6Prefixes: props.ipv6Prefixes,
27
29
  networkInterfaceId: props.networkInterfaceId,
28
30
  }, enableResourcePropertyConstraint && this.stack.enableResourcePropertyConstraint);
29
31
  this.resource = rosAssignIpv6Addresses;
@@ -33,4 +35,4 @@ class AssignIpv6Addresses extends ros.Resource {
33
35
  }
34
36
  }
35
37
  exports.AssignIpv6Addresses = AssignIpv6Addresses;
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWduaXB2NmFkZHJlc3Nlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFzc2lnbmlwdjZhZGRyZXNzZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOENBQThDO0FBQzlDLG1EQUF5RDtBQUV0Qiw0R0FGMUIsc0NBQXNCLE9BRStCO0FBMEI5RDs7OztHQUlHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSxHQUFHLENBQUMsUUFBUTtJQXFCakQ7Ozs7T0FJRztJQUNILFlBQVksS0FBb0IsRUFBRSxFQUFVLEVBQUUsS0FBK0IsRUFBRSxtQ0FBMkMsSUFBSTtRQUMxSCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLGdDQUFnQyxDQUFDO1FBRXpFLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxzQ0FBc0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFHO1lBQ2pFLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7WUFDeEMsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhO1lBQ2xDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0I7U0FDL0MsRUFBRSxnQ0FBZ0MsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLFFBQVEsR0FBRyxzQkFBc0IsQ0FBQztRQUN2QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsc0JBQXNCLENBQUMsa0JBQWtCLENBQUM7UUFDcEUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLHNCQUFzQixDQUFDLGlCQUFpQixDQUFDO1FBQ2xFLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxzQkFBc0IsQ0FBQyxzQkFBc0IsQ0FBQztJQUNoRixDQUFDO0NBQ0o7QUEzQ0Qsa0RBMkNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcm9zIGZyb20gJ0BhbGljbG91ZC9yb3MtY2RrLWNvcmUnO1xuaW1wb3J0IHsgUm9zQXNzaWduSXB2NkFkZHJlc3NlcyB9IGZyb20gJy4vZWNzLmdlbmVyYXRlZCc7XG4vLyBHZW5lcmF0ZWQgZnJvbSB0aGUgQWxpQ2xvdWQgUk9TIFJlc291cmNlIFNwZWNpZmljYXRpb25cbmV4cG9ydCB7IFJvc0Fzc2lnbklwdjZBZGRyZXNzZXMgYXMgQXNzaWduSXB2NkFkZHJlc3Nlc1Byb3BlcnR5IH07XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgZGVmaW5pbmcgYSBgQXNzaWduSXB2NkFkZHJlc3Nlc2AuXG4gKiBTZWUgaHR0cHM6Ly93d3cuYWxpYmFiYWNsb3VkLmNvbS9oZWxwL3Jvcy9kZXZlbG9wZXItcmVmZXJlbmNlL2FsaXl1bi1lY3MtYXNzaWduaXB2NmFkZHJlc3Nlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFzc2lnbklwdjZBZGRyZXNzZXNQcm9wcyB7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBuZXR3b3JrSW50ZXJmYWNlSWQ6IEVsYXN0aWMgbmV0d29yayBpbnRlcmZhY2UgSUQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgbmV0d29ya0ludGVyZmFjZUlkOiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBpcHY2QWRkcmVzc0NvdW50OiBJUHY2IGFkZHJlc3NlcyBzcGVjaWZpZWQgbnVtYmVyIG9mIHJhbmRvbWx5IGdlbmVyYXRlZCBpbnRlcmZhY2VzIGVsYXN0aWNpdHkuXG4gICAgICogTm90ZSBZb3UgY2Fubm90IHNwZWNpZnkgdGhlIHBhcmFtZXRlcnMgSXB2NkFkZHJlc3NlcyBhbmQgSXB2NkFkZHJlc3NDb3VudCBhdCB0aGUgc2FtZSB0aW1lLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGlwdjZBZGRyZXNzQ291bnQ/OiBudW1iZXIgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBpcHY2QWRkcmVzc2VzOiBTcGVjaWZ5IG9uZSBvciBtb3JlIElQdjYgYWRkcmVzc2VzIGZvciB0aGUgZWxhc3RpYyBOSUMuIEN1cnJlbnRseSwgdGhlIG1heGltdW0gbGlzdCBzaXplIGlzIDEuIEV4YW1wbGUgdmFsdWU6IDIwMDE6ZGI4OjEyMzQ6MWEwMDo6KioqIC5cbiAgICAgKiBOb3RlIFlvdSBjYW5ub3Qgc3BlY2lmeSB0aGUgcGFyYW1ldGVycyBJcHY2QWRkcmVzc2VzIGFuZCBJcHY2QWRkcmVzc0NvdW50IGF0IHRoZSBzYW1lIHRpbWUuXG4gICAgICovXG4gICAgcmVhZG9ubHkgaXB2NkFkZHJlc3Nlcz86IEFycmF5PGFueSB8IHJvcy5JUmVzb2x2YWJsZT4gfCByb3MuSVJlc29sdmFibGU7XG59XG5cbi8qKlxuICogVGhpcyBjbGFzcyBlbmNhcHN1bGF0ZXMgYW5kIGV4dGVuZHMgdGhlIFJPUyByZXNvdXJjZSB0eXBlIGBBTElZVU46OkVDUzo6QXNzaWduSXB2NkFkZHJlc3Nlc2AsIHdoaWNoIGlzIHVzZWQgdG8gYXNzaWduIG9uZSBvciBtb3JlIElQdjYgYWRkcmVzc2VzIHRvIGFuIGVsYXN0aWMgbmV0d29yayBpbnRlcmZhY2UgKEVOSSkuXG4gKiBATm90ZSBUaGlzIGNsYXNzIG1heSBoYXZlIHNvbWUgbmV3IGZ1bmN0aW9ucyB0byBmYWNpbGl0YXRlIGRldmVsb3BtZW50LCBzbyBpdCBpcyByZWNvbW1lbmRlZCB0byB1c2UgdGhpcyBjbGFzcyBpbnN0ZWFkIG9mIGBSb3NBc3NpZ25JcHY2QWRkcmVzc2VzYGZvciBhIG1vcmUgY29udmVuaWVudCBkZXZlbG9wbWVudCBleHBlcmllbmNlLlxuICogU2VlIGh0dHBzOi8vd3d3LmFsaWJhYmFjbG91ZC5jb20vaGVscC9yb3MvZGV2ZWxvcGVyLXJlZmVyZW5jZS9hbGl5dW4tZWNzLWFzc2lnbmlwdjZhZGRyZXNzZXNcbiAqL1xuZXhwb3J0IGNsYXNzIEFzc2lnbklwdjZBZGRyZXNzZXMgZXh0ZW5kcyByb3MuUmVzb3VyY2Uge1xuICAgIHByb3RlY3RlZCBzY29wZTogcm9zLkNvbnN0cnVjdDtcbiAgICBwcm90ZWN0ZWQgaWQ6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgcHJvcHM6IEFzc2lnbklwdjZBZGRyZXNzZXNQcm9wcztcbiAgICBwcm90ZWN0ZWQgZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQ6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgSXB2NkFkZHJlc3NJZHM6IEFzc2lnbmVkIElQdjYgYWRkcmVzcyBJRHMuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJJcHY2QWRkcmVzc0lkczogcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIElwdjZBZGRyZXNzZXM6IEFzc2lnbmVkIElQdjYgYWRkcmVzc2VzLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRySXB2NkFkZHJlc3Nlczogcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIE5ldHdvcmtJbnRlcmZhY2VJZDogRWxhc3RpYyBuZXR3b3JrIGludGVyZmFjZSBJRC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0ck5ldHdvcmtJbnRlcmZhY2VJZDogcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogUGFyYW0gc2NvcGUgLSBzY29wZSBpbiB3aGljaCB0aGlzIHJlc291cmNlIGlzIGRlZmluZWRcbiAgICAgKiBQYXJhbSBpZCAgICAtIHNjb3BlZCBpZCBvZiB0aGUgcmVzb3VyY2VcbiAgICAgKiBQYXJhbSBwcm9wcyAtIHJlc291cmNlIHByb3BlcnRpZXNcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogcm9zLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEFzc2lnbklwdjZBZGRyZXNzZXNQcm9wcywgZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQ6Ym9vbGVhbiA9IHRydWUpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICAgICAgdGhpcy5zY29wZSA9IHNjb3BlO1xuICAgICAgICB0aGlzLmlkID0gaWQ7XG4gICAgICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgICAgICAgdGhpcy5lbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludCA9IGVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50O1xuXG4gICAgICAgIGNvbnN0IHJvc0Fzc2lnbklwdjZBZGRyZXNzZXMgPSBuZXcgUm9zQXNzaWduSXB2NkFkZHJlc3Nlcyh0aGlzLCBpZCwgIHtcbiAgICAgICAgICAgIGlwdjZBZGRyZXNzQ291bnQ6IHByb3BzLmlwdjZBZGRyZXNzQ291bnQsXG4gICAgICAgICAgICBpcHY2QWRkcmVzc2VzOiBwcm9wcy5pcHY2QWRkcmVzc2VzLFxuICAgICAgICAgICAgbmV0d29ya0ludGVyZmFjZUlkOiBwcm9wcy5uZXR3b3JrSW50ZXJmYWNlSWQsXG4gICAgICAgIH0sIGVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50ICYmIHRoaXMuc3RhY2suZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQpO1xuICAgICAgICB0aGlzLnJlc291cmNlID0gcm9zQXNzaWduSXB2NkFkZHJlc3NlcztcbiAgICAgICAgdGhpcy5hdHRySXB2NkFkZHJlc3NJZHMgPSByb3NBc3NpZ25JcHY2QWRkcmVzc2VzLmF0dHJJcHY2QWRkcmVzc0lkcztcbiAgICAgICAgdGhpcy5hdHRySXB2NkFkZHJlc3NlcyA9IHJvc0Fzc2lnbklwdjZBZGRyZXNzZXMuYXR0cklwdjZBZGRyZXNzZXM7XG4gICAgICAgIHRoaXMuYXR0ck5ldHdvcmtJbnRlcmZhY2VJZCA9IHJvc0Fzc2lnbklwdjZBZGRyZXNzZXMuYXR0ck5ldHdvcmtJbnRlcmZhY2VJZDtcbiAgICB9XG59XG4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWduaXB2NmFkZHJlc3Nlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFzc2lnbmlwdjZhZGRyZXNzZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOENBQThDO0FBQzlDLG1EQUF5RDtBQUV0Qiw0R0FGMUIsc0NBQXNCLE9BRStCO0FBeUQ5RDs7OztHQUlHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSxHQUFHLENBQUMsUUFBUTtJQXFCakQ7Ozs7T0FJRztJQUNILFlBQVksS0FBb0IsRUFBRSxFQUFVLEVBQUUsS0FBK0IsRUFBRSxtQ0FBMkMsSUFBSTtRQUMxSCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLGdDQUFnQyxDQUFDO1FBRXpFLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxzQ0FBc0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFHO1lBQ2pFLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZTtZQUN0QyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO1lBQ3hDLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYTtZQUNsQyxZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7WUFDaEMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtTQUMvQyxFQUFFLGdDQUFnQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsUUFBUSxHQUFHLHNCQUFzQixDQUFDO1FBQ3ZDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQztRQUNwRSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsc0JBQXNCLENBQUMsaUJBQWlCLENBQUM7UUFDbEUsSUFBSSxDQUFDLHNCQUFzQixHQUFHLHNCQUFzQixDQUFDLHNCQUFzQixDQUFDO0lBQ2hGLENBQUM7Q0FDSjtBQTdDRCxrREE2Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyByb3MgZnJvbSAnQGFsaWNsb3VkL3Jvcy1jZGstY29yZSc7XG5pbXBvcnQgeyBSb3NBc3NpZ25JcHY2QWRkcmVzc2VzIH0gZnJvbSAnLi9lY3MuZ2VuZXJhdGVkJztcbi8vIEdlbmVyYXRlZCBmcm9tIHRoZSBBbGlDbG91ZCBST1MgUmVzb3VyY2UgU3BlY2lmaWNhdGlvblxuZXhwb3J0IHsgUm9zQXNzaWduSXB2NkFkZHJlc3NlcyBhcyBBc3NpZ25JcHY2QWRkcmVzc2VzUHJvcGVydHkgfTtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBkZWZpbmluZyBhIGBBc3NpZ25JcHY2QWRkcmVzc2VzYC5cbiAqIFNlZSBodHRwczovL3d3dy5hbGliYWJhY2xvdWQuY29tL2hlbHAvcm9zL2RldmVsb3Blci1yZWZlcmVuY2UvYWxpeXVuLWVjcy1hc3NpZ25pcHY2YWRkcmVzc2VzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXNzaWduSXB2NkFkZHJlc3Nlc1Byb3BzIHtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IG5ldHdvcmtJbnRlcmZhY2VJZDogRWxhc3RpYyBuZXR3b3JrIGludGVyZmFjZSBJRC5cbiAgICAgKi9cbiAgICByZWFkb25seSBuZXR3b3JrSW50ZXJmYWNlSWQ6IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IGlwdjZBZGRyZXNzQ291bnQ6IElQdjYgYWRkcmVzc2VzIHNwZWNpZmllZCBudW1iZXIgb2YgcmFuZG9tbHkgZ2VuZXJhdGVkIGludGVyZmFjZXMgZWxhc3RpY2l0eS5cbiAgICAgKiBOb3RlIFlvdSBjYW5ub3Qgc3BlY2lmeSB0aGUgcGFyYW1ldGVycyBJcHY2QWRkcmVzc2VzIGFuZCBJcHY2QWRkcmVzc0NvdW50IGF0IHRoZSBzYW1lIHRpbWUuXG4gICAgICovXG4gICAgcmVhZG9ubHkgaXB2NkFkZHJlc3NDb3VudD86IG51bWJlciB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IGlwdjZBZGRyZXNzZXM6IFNwZWNpZnkgb25lIG9yIG1vcmUgSVB2NiBhZGRyZXNzZXMgZm9yIHRoZSBlbGFzdGljIE5JQy4gQ3VycmVudGx5LCB0aGUgbWF4aW11bSBsaXN0IHNpemUgaXMgMTAuIEV4YW1wbGUgdmFsdWU6IDIwMDE6ZGI4OjEyMzQ6MWEwMDo6KioqIC5cbiAgICAgKiBOb3RlIFlvdSBjYW5ub3Qgc3BlY2lmeSB0aGUgcGFyYW1ldGVycyBJcHY2QWRkcmVzc2VzIGFuZCBJcHY2QWRkcmVzc0NvdW50IGF0IHRoZSBzYW1lIHRpbWUuXG4gICAgICovXG4gICAgcmVhZG9ubHkgaXB2NkFkZHJlc3Nlcz86IEFycmF5PGFueSB8IHJvcy5JUmVzb2x2YWJsZT4gfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBpcHY2UHJlZml4Q291bnQ6IElQdjYgcHJlZml4IHNwZWNpZmllZCBudW1iZXIgb2YgcmFuZG9tbHkgZ2VuZXJhdGVkIGludGVyZmFjZXMgZWxhc3RpY2l0eS5cbiAgICAgKi9cbiAgICByZWFkb25seSBpcHY2UHJlZml4Q291bnQ/OiBudW1iZXIgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBpcHY2UHJlZml4ZXM6IFNwZWNpZnkgb25lIG9yIG1vcmUgSVB2NiBwcmVmaXhlcyBmb3IgdGhlIGVsYXN0aWMgTklDLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGlwdjZQcmVmaXhlcz86IEFycmF5PGFueSB8IHJvcy5JUmVzb2x2YWJsZT4gfCByb3MuSVJlc29sdmFibGU7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGBBc3NpZ25JcHY2QWRkcmVzc2VzYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQXNzaWduSXB2NkFkZHJlc3NlcyBleHRlbmRzIHJvcy5JUmVzb3VyY2Uge1xuICAgIHJlYWRvbmx5IHByb3BzOiBBc3NpZ25JcHY2QWRkcmVzc2VzUHJvcHM7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgSXB2NkFkZHJlc3NJZHM6IEFzc2lnbmVkIElQdjYgYWRkcmVzcyBJRHMuXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXR0cklwdjZBZGRyZXNzSWRzOiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgSXB2NkFkZHJlc3NlczogQXNzaWduZWQgSVB2NiBhZGRyZXNzZXMuXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXR0cklwdjZBZGRyZXNzZXM6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBOZXR3b3JrSW50ZXJmYWNlSWQ6IEVsYXN0aWMgbmV0d29yayBpbnRlcmZhY2UgSUQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXR0ck5ldHdvcmtJbnRlcmZhY2VJZDogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xufVxuLyoqXG4gKiBUaGlzIGNsYXNzIGVuY2Fwc3VsYXRlcyBhbmQgZXh0ZW5kcyB0aGUgUk9TIHJlc291cmNlIHR5cGUgYEFMSVlVTjo6RUNTOjpBc3NpZ25JcHY2QWRkcmVzc2VzYCwgd2hpY2ggaXMgdXNlZCB0byBhc3NpZ24gb25lIG9yIG1vcmUgSVB2NiBhZGRyZXNzZXMgdG8gYW4gZWxhc3RpYyBuZXR3b3JrIGludGVyZmFjZSAoRU5JKS5cbiAqIEBOb3RlIFRoaXMgY2xhc3MgbWF5IGhhdmUgc29tZSBuZXcgZnVuY3Rpb25zIHRvIGZhY2lsaXRhdGUgZGV2ZWxvcG1lbnQsIHNvIGl0IGlzIHJlY29tbWVuZGVkIHRvIHVzZSB0aGlzIGNsYXNzIGluc3RlYWQgb2YgYFJvc0Fzc2lnbklwdjZBZGRyZXNzZXNgZm9yIGEgbW9yZSBjb252ZW5pZW50IGRldmVsb3BtZW50IGV4cGVyaWVuY2UuXG4gKiBTZWUgaHR0cHM6Ly93d3cuYWxpYmFiYWNsb3VkLmNvbS9oZWxwL3Jvcy9kZXZlbG9wZXItcmVmZXJlbmNlL2FsaXl1bi1lY3MtYXNzaWduaXB2NmFkZHJlc3Nlc1xuICovXG5leHBvcnQgY2xhc3MgQXNzaWduSXB2NkFkZHJlc3NlcyBleHRlbmRzIHJvcy5SZXNvdXJjZSBpbXBsZW1lbnRzIElBc3NpZ25JcHY2QWRkcmVzc2VzIHtcbiAgICBwcm90ZWN0ZWQgc2NvcGU6IHJvcy5Db25zdHJ1Y3Q7XG4gICAgcHJvdGVjdGVkIGlkOiBzdHJpbmc7XG4gICAgcHVibGljIHJlYWRvbmx5IHByb3BzOiBBc3NpZ25JcHY2QWRkcmVzc2VzUHJvcHM7XG4gICAgcHJvdGVjdGVkIGVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIElwdjZBZGRyZXNzSWRzOiBBc3NpZ25lZCBJUHY2IGFkZHJlc3MgSURzLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRySXB2NkFkZHJlc3NJZHM6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBJcHY2QWRkcmVzc2VzOiBBc3NpZ25lZCBJUHY2IGFkZHJlc3Nlcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0cklwdjZBZGRyZXNzZXM6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBOZXR3b3JrSW50ZXJmYWNlSWQ6IEVsYXN0aWMgbmV0d29yayBpbnRlcmZhY2UgSUQuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJOZXR3b3JrSW50ZXJmYWNlSWQ6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFBhcmFtIHNjb3BlIC0gc2NvcGUgaW4gd2hpY2ggdGhpcyByZXNvdXJjZSBpcyBkZWZpbmVkXG4gICAgICogUGFyYW0gaWQgICAgLSBzY29wZWQgaWQgb2YgdGhlIHJlc291cmNlXG4gICAgICogUGFyYW0gcHJvcHMgLSByZXNvdXJjZSBwcm9wZXJ0aWVzXG4gICAgICovXG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IHJvcy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBc3NpZ25JcHY2QWRkcmVzc2VzUHJvcHMsIGVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50OmJvb2xlYW4gPSB0cnVlKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgICAgIHRoaXMuc2NvcGUgPSBzY29wZTtcbiAgICAgICAgdGhpcy5pZCA9IGlkO1xuICAgICAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gICAgICAgIHRoaXMuZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQgPSBlbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludDtcblxuICAgICAgICBjb25zdCByb3NBc3NpZ25JcHY2QWRkcmVzc2VzID0gbmV3IFJvc0Fzc2lnbklwdjZBZGRyZXNzZXModGhpcywgaWQsICB7XG4gICAgICAgICAgICBpcHY2UHJlZml4Q291bnQ6IHByb3BzLmlwdjZQcmVmaXhDb3VudCxcbiAgICAgICAgICAgIGlwdjZBZGRyZXNzQ291bnQ6IHByb3BzLmlwdjZBZGRyZXNzQ291bnQsXG4gICAgICAgICAgICBpcHY2QWRkcmVzc2VzOiBwcm9wcy5pcHY2QWRkcmVzc2VzLFxuICAgICAgICAgICAgaXB2NlByZWZpeGVzOiBwcm9wcy5pcHY2UHJlZml4ZXMsXG4gICAgICAgICAgICBuZXR3b3JrSW50ZXJmYWNlSWQ6IHByb3BzLm5ldHdvcmtJbnRlcmZhY2VJZCxcbiAgICAgICAgfSwgZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQgJiYgdGhpcy5zdGFjay5lbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludCk7XG4gICAgICAgIHRoaXMucmVzb3VyY2UgPSByb3NBc3NpZ25JcHY2QWRkcmVzc2VzO1xuICAgICAgICB0aGlzLmF0dHJJcHY2QWRkcmVzc0lkcyA9IHJvc0Fzc2lnbklwdjZBZGRyZXNzZXMuYXR0cklwdjZBZGRyZXNzSWRzO1xuICAgICAgICB0aGlzLmF0dHJJcHY2QWRkcmVzc2VzID0gcm9zQXNzaWduSXB2NkFkZHJlc3Nlcy5hdHRySXB2NkFkZHJlc3NlcztcbiAgICAgICAgdGhpcy5hdHRyTmV0d29ya0ludGVyZmFjZUlkID0gcm9zQXNzaWduSXB2NkFkZHJlc3Nlcy5hdHRyTmV0d29ya0ludGVyZmFjZUlkO1xuICAgIH1cbn1cbiJdfQ==
@@ -10,6 +10,14 @@ export interface AssignPrivateIpAddressesProps {
10
10
  * Property networkInterfaceId: The ID of the ENI.
11
11
  */
12
12
  readonly networkInterfaceId: string | ros.IResolvable;
13
+ /**
14
+ * Property ipv4PrefixCount: The specified number of IPv4 prefixes to be assigned to the ENI.
15
+ */
16
+ readonly ipv4PrefixCount?: number | ros.IResolvable;
17
+ /**
18
+ * Property ipv4Prefixes: One or multiple IPv4 prefixes to be assigned to the ENI.
19
+ */
20
+ readonly ipv4Prefixes?: Array<any | ros.IResolvable> | ros.IResolvable;
13
21
  /**
14
22
  * Property privateIpAddresses: One or multiple secondary private IP addresses selected from the CIDR block of the VSwitch that hosts the ENI.
15
23
  * Valid values of number of private ip addresses:
@@ -24,24 +32,38 @@ export interface AssignPrivateIpAddressesProps {
24
32
  */
25
33
  readonly secondaryPrivateIpAddressCount?: number | ros.IResolvable;
26
34
  }
35
+ /**
36
+ * Represents a `AssignPrivateIpAddresses`.
37
+ */
38
+ export interface IAssignPrivateIpAddresses extends ros.IResource {
39
+ readonly props: AssignPrivateIpAddressesProps;
40
+ /**
41
+ * Attribute NetworkInterfaceId: The ID of the ENI.
42
+ */
43
+ readonly attrNetworkInterfaceId: ros.IResolvable | string;
44
+ /**
45
+ * Attribute PrivateIpAddresses: Assigned private ip addresses.
46
+ */
47
+ readonly attrPrivateIpAddresses: ros.IResolvable | string;
48
+ }
27
49
  /**
28
50
  * This class encapsulates and extends the ROS resource type `ALIYUN::ECS::AssignPrivateIpAddresses`, which is used to assign one or more secondary private IP addresses to an ENI. You can specify private IP addresses within the CIDR block of the vSwitch that hosts the ENI. You can also specify the number of private IP addresses for ECS to assign them automatically.
29
51
  * @Note This class may have some new functions to facilitate development, so it is recommended to use this class instead of `RosAssignPrivateIpAddresses`for a more convenient development experience.
30
52
  * See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-ecs-assignprivateipaddresses
31
53
  */
32
- export declare class AssignPrivateIpAddresses extends ros.Resource {
54
+ export declare class AssignPrivateIpAddresses extends ros.Resource implements IAssignPrivateIpAddresses {
33
55
  protected scope: ros.Construct;
34
56
  protected id: string;
35
- protected props: AssignPrivateIpAddressesProps;
57
+ readonly props: AssignPrivateIpAddressesProps;
36
58
  protected enableResourcePropertyConstraint: boolean;
37
59
  /**
38
60
  * Attribute NetworkInterfaceId: The ID of the ENI.
39
61
  */
40
- readonly attrNetworkInterfaceId: ros.IResolvable;
62
+ readonly attrNetworkInterfaceId: ros.IResolvable | string;
41
63
  /**
42
64
  * Attribute PrivateIpAddresses: Assigned private ip addresses.
43
65
  */
44
- readonly attrPrivateIpAddresses: ros.IResolvable;
66
+ readonly attrPrivateIpAddresses: ros.IResolvable | string;
45
67
  /**
46
68
  * Param scope - scope in which this resource is defined
47
69
  * Param id - scoped id of the resource
@@ -24,6 +24,8 @@ class AssignPrivateIpAddresses extends ros.Resource {
24
24
  const rosAssignPrivateIpAddresses = new ecs_generated_1.RosAssignPrivateIpAddresses(this, id, {
25
25
  secondaryPrivateIpAddressCount: props.secondaryPrivateIpAddressCount,
26
26
  privateIpAddresses: props.privateIpAddresses,
27
+ ipv4Prefixes: props.ipv4Prefixes,
28
+ ipv4PrefixCount: props.ipv4PrefixCount,
27
29
  networkInterfaceId: props.networkInterfaceId,
28
30
  }, enableResourcePropertyConstraint && this.stack.enableResourcePropertyConstraint);
29
31
  this.resource = rosAssignPrivateIpAddresses;
@@ -32,4 +34,4 @@ class AssignPrivateIpAddresses extends ros.Resource {
32
34
  }
33
35
  }
34
36
  exports.AssignPrivateIpAddresses = AssignPrivateIpAddresses;
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWducHJpdmF0ZWlwYWRkcmVzc2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXNzaWducHJpdmF0ZWlwYWRkcmVzc2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhDQUE4QztBQUM5QyxtREFBOEQ7QUFFdEIsaUhBRi9CLDJDQUEyQixPQUVvQztBQTZCeEU7Ozs7R0FJRztBQUNILE1BQWEsd0JBQXlCLFNBQVEsR0FBRyxDQUFDLFFBQVE7SUFnQnREOzs7O09BSUc7SUFDSCxZQUFZLEtBQW9CLEVBQUUsRUFBVSxFQUFFLEtBQW9DLEVBQUUsbUNBQTJDLElBQUk7UUFDL0gsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxnQ0FBZ0MsQ0FBQztRQUV6RSxNQUFNLDJCQUEyQixHQUFHLElBQUksMkNBQTJCLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRztZQUMzRSw4QkFBOEIsRUFBRSxLQUFLLENBQUMsOEJBQThCO1lBQ3BFLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0I7WUFDNUMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtTQUMvQyxFQUFFLGdDQUFnQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsUUFBUSxHQUFHLDJCQUEyQixDQUFDO1FBQzVDLElBQUksQ0FBQyxzQkFBc0IsR0FBRywyQkFBMkIsQ0FBQyxzQkFBc0IsQ0FBQztRQUNqRixJQUFJLENBQUMsc0JBQXNCLEdBQUcsMkJBQTJCLENBQUMsc0JBQXNCLENBQUM7SUFDckYsQ0FBQztDQUNKO0FBckNELDREQXFDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHJvcyBmcm9tICdAYWxpY2xvdWQvcm9zLWNkay1jb3JlJztcbmltcG9ydCB7IFJvc0Fzc2lnblByaXZhdGVJcEFkZHJlc3NlcyB9IGZyb20gJy4vZWNzLmdlbmVyYXRlZCc7XG4vLyBHZW5lcmF0ZWQgZnJvbSB0aGUgQWxpQ2xvdWQgUk9TIFJlc291cmNlIFNwZWNpZmljYXRpb25cbmV4cG9ydCB7IFJvc0Fzc2lnblByaXZhdGVJcEFkZHJlc3NlcyBhcyBBc3NpZ25Qcml2YXRlSXBBZGRyZXNzZXNQcm9wZXJ0eSB9O1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGRlZmluaW5nIGEgYEFzc2lnblByaXZhdGVJcEFkZHJlc3Nlc2AuXG4gKiBTZWUgaHR0cHM6Ly93d3cuYWxpYmFiYWNsb3VkLmNvbS9oZWxwL3Jvcy9kZXZlbG9wZXItcmVmZXJlbmNlL2FsaXl1bi1lY3MtYXNzaWducHJpdmF0ZWlwYWRkcmVzc2VzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXNzaWduUHJpdmF0ZUlwQWRkcmVzc2VzUHJvcHMge1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgbmV0d29ya0ludGVyZmFjZUlkOiBUaGUgSUQgb2YgdGhlIEVOSS5cbiAgICAgKi9cbiAgICByZWFkb25seSBuZXR3b3JrSW50ZXJmYWNlSWQ6IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IHByaXZhdGVJcEFkZHJlc3NlczogT25lIG9yIG11bHRpcGxlIHNlY29uZGFyeSBwcml2YXRlIElQIGFkZHJlc3NlcyBzZWxlY3RlZCBmcm9tIHRoZSBDSURSIGJsb2NrIG9mIHRoZSBWU3dpdGNoIHRoYXQgaG9zdHMgdGhlIEVOSS4gXG4gICAgICogVmFsaWQgdmFsdWVzIG9mIG51bWJlciBvZiBwcml2YXRlIGlwIGFkZHJlc3NlczpcbiAgICAgKiBXaGVuIHRoZSBFTkkgaXMgaW4gdGhlIEF2YWlsYWJsZSBzdGF0ZTogMSB0byAxMC5cbiAgICAgKiBXaGVuIHRoZSBFTkkgaXMgaW4gdGhlIEluVXNlIHN0YXRlOiBsaW1pdGVkIGJ5IHRoZSBpbnN0YW5jZSB0eXBlLiBcbiAgICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIEluc3RhbmNlIHR5cGUgZmFtaWxpZXMuXG4gICAgICogWW91IG11c3Qgc3BlY2lmeSBlaXRoZXIgdGhlIFByaXZhdGVJcEFkZHJlc3NlcyBwYXJhbWV0ZXIgb3IgdGhlIFNlY29uZGFyeVByaXZhdGVJcEFkZHJlc3NDb3VudCBwYXJhbWV0ZXIgdG8gYXNzaWduIHNlY29uZGFyeSBwcml2YXRlIElQIGFkZHJlc3Nlcy5cbiAgICAgKi9cbiAgICByZWFkb25seSBwcml2YXRlSXBBZGRyZXNzZXM/OiBBcnJheTxhbnkgfCByb3MuSVJlc29sdmFibGU+IHwgcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgc2Vjb25kYXJ5UHJpdmF0ZUlwQWRkcmVzc0NvdW50OiBUaGUgc3BlY2lmaWVkIG51bWJlciBvZiBwcml2YXRlIElQIGFkZHJlc3NlcyB0byBiZSBhc3NpZ25lZCBieSB0aGUgRUNTIGluc3RhbmNlLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHNlY29uZGFyeVByaXZhdGVJcEFkZHJlc3NDb3VudD86IG51bWJlciB8IHJvcy5JUmVzb2x2YWJsZTtcbn1cblxuLyoqXG4gKiBUaGlzIGNsYXNzIGVuY2Fwc3VsYXRlcyBhbmQgZXh0ZW5kcyB0aGUgUk9TIHJlc291cmNlIHR5cGUgYEFMSVlVTjo6RUNTOjpBc3NpZ25Qcml2YXRlSXBBZGRyZXNzZXNgLCB3aGljaCBpcyB1c2VkIHRvIGFzc2lnbiBvbmUgb3IgbW9yZSBzZWNvbmRhcnkgcHJpdmF0ZSBJUCBhZGRyZXNzZXMgdG8gYW4gRU5JLiBZb3UgY2FuIHNwZWNpZnkgcHJpdmF0ZSBJUCBhZGRyZXNzZXMgd2l0aGluIHRoZSBDSURSIGJsb2NrIG9mIHRoZSB2U3dpdGNoIHRoYXQgaG9zdHMgdGhlIEVOSS4gWW91IGNhbiBhbHNvIHNwZWNpZnkgdGhlIG51bWJlciBvZiBwcml2YXRlIElQIGFkZHJlc3NlcyBmb3IgRUNTIHRvIGFzc2lnbiB0aGVtIGF1dG9tYXRpY2FsbHkuXG4gKiBATm90ZSBUaGlzIGNsYXNzIG1heSBoYXZlIHNvbWUgbmV3IGZ1bmN0aW9ucyB0byBmYWNpbGl0YXRlIGRldmVsb3BtZW50LCBzbyBpdCBpcyByZWNvbW1lbmRlZCB0byB1c2UgdGhpcyBjbGFzcyBpbnN0ZWFkIG9mIGBSb3NBc3NpZ25Qcml2YXRlSXBBZGRyZXNzZXNgZm9yIGEgbW9yZSBjb252ZW5pZW50IGRldmVsb3BtZW50IGV4cGVyaWVuY2UuXG4gKiBTZWUgaHR0cHM6Ly93d3cuYWxpYmFiYWNsb3VkLmNvbS9oZWxwL3Jvcy9kZXZlbG9wZXItcmVmZXJlbmNlL2FsaXl1bi1lY3MtYXNzaWducHJpdmF0ZWlwYWRkcmVzc2VzXG4gKi9cbmV4cG9ydCBjbGFzcyBBc3NpZ25Qcml2YXRlSXBBZGRyZXNzZXMgZXh0ZW5kcyByb3MuUmVzb3VyY2Uge1xuICAgIHByb3RlY3RlZCBzY29wZTogcm9zLkNvbnN0cnVjdDtcbiAgICBwcm90ZWN0ZWQgaWQ6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgcHJvcHM6IEFzc2lnblByaXZhdGVJcEFkZHJlc3Nlc1Byb3BzO1xuICAgIHByb3RlY3RlZCBlbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBOZXR3b3JrSW50ZXJmYWNlSWQ6IFRoZSBJRCBvZiB0aGUgRU5JLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyTmV0d29ya0ludGVyZmFjZUlkOiByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgUHJpdmF0ZUlwQWRkcmVzc2VzOiBBc3NpZ25lZCBwcml2YXRlIGlwIGFkZHJlc3Nlcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0clByaXZhdGVJcEFkZHJlc3Nlczogcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogUGFyYW0gc2NvcGUgLSBzY29wZSBpbiB3aGljaCB0aGlzIHJlc291cmNlIGlzIGRlZmluZWRcbiAgICAgKiBQYXJhbSBpZCAgICAtIHNjb3BlZCBpZCBvZiB0aGUgcmVzb3VyY2VcbiAgICAgKiBQYXJhbSBwcm9wcyAtIHJlc291cmNlIHByb3BlcnRpZXNcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogcm9zLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEFzc2lnblByaXZhdGVJcEFkZHJlc3Nlc1Byb3BzLCBlbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludDpib29sZWFuID0gdHJ1ZSkge1xuICAgICAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgICAgICB0aGlzLnNjb3BlID0gc2NvcGU7XG4gICAgICAgIHRoaXMuaWQgPSBpZDtcbiAgICAgICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICAgICAgICB0aGlzLmVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50ID0gZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQ7XG5cbiAgICAgICAgY29uc3Qgcm9zQXNzaWduUHJpdmF0ZUlwQWRkcmVzc2VzID0gbmV3IFJvc0Fzc2lnblByaXZhdGVJcEFkZHJlc3Nlcyh0aGlzLCBpZCwgIHtcbiAgICAgICAgICAgIHNlY29uZGFyeVByaXZhdGVJcEFkZHJlc3NDb3VudDogcHJvcHMuc2Vjb25kYXJ5UHJpdmF0ZUlwQWRkcmVzc0NvdW50LFxuICAgICAgICAgICAgcHJpdmF0ZUlwQWRkcmVzc2VzOiBwcm9wcy5wcml2YXRlSXBBZGRyZXNzZXMsXG4gICAgICAgICAgICBuZXR3b3JrSW50ZXJmYWNlSWQ6IHByb3BzLm5ldHdvcmtJbnRlcmZhY2VJZCxcbiAgICAgICAgfSwgZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQgJiYgdGhpcy5zdGFjay5lbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludCk7XG4gICAgICAgIHRoaXMucmVzb3VyY2UgPSByb3NBc3NpZ25Qcml2YXRlSXBBZGRyZXNzZXM7XG4gICAgICAgIHRoaXMuYXR0ck5ldHdvcmtJbnRlcmZhY2VJZCA9IHJvc0Fzc2lnblByaXZhdGVJcEFkZHJlc3Nlcy5hdHRyTmV0d29ya0ludGVyZmFjZUlkO1xuICAgICAgICB0aGlzLmF0dHJQcml2YXRlSXBBZGRyZXNzZXMgPSByb3NBc3NpZ25Qcml2YXRlSXBBZGRyZXNzZXMuYXR0clByaXZhdGVJcEFkZHJlc3NlcztcbiAgICB9XG59XG4iXX0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWducHJpdmF0ZWlwYWRkcmVzc2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXNzaWducHJpdmF0ZWlwYWRkcmVzc2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhDQUE4QztBQUM5QyxtREFBOEQ7QUFFdEIsaUhBRi9CLDJDQUEyQixPQUVvQztBQXVEeEU7Ozs7R0FJRztBQUNILE1BQWEsd0JBQXlCLFNBQVEsR0FBRyxDQUFDLFFBQVE7SUFnQnREOzs7O09BSUc7SUFDSCxZQUFZLEtBQW9CLEVBQUUsRUFBVSxFQUFFLEtBQW9DLEVBQUUsbUNBQTJDLElBQUk7UUFDL0gsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxnQ0FBZ0MsQ0FBQztRQUV6RSxNQUFNLDJCQUEyQixHQUFHLElBQUksMkNBQTJCLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRztZQUMzRSw4QkFBOEIsRUFBRSxLQUFLLENBQUMsOEJBQThCO1lBQ3BFLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0I7WUFDNUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ2hDLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZTtZQUN0QyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsa0JBQWtCO1NBQy9DLEVBQUUsZ0NBQWdDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxRQUFRLEdBQUcsMkJBQTJCLENBQUM7UUFDNUMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLDJCQUEyQixDQUFDLHNCQUFzQixDQUFDO1FBQ2pGLElBQUksQ0FBQyxzQkFBc0IsR0FBRywyQkFBMkIsQ0FBQyxzQkFBc0IsQ0FBQztJQUNyRixDQUFDO0NBQ0o7QUF2Q0QsNERBdUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcm9zIGZyb20gJ0BhbGljbG91ZC9yb3MtY2RrLWNvcmUnO1xuaW1wb3J0IHsgUm9zQXNzaWduUHJpdmF0ZUlwQWRkcmVzc2VzIH0gZnJvbSAnLi9lY3MuZ2VuZXJhdGVkJztcbi8vIEdlbmVyYXRlZCBmcm9tIHRoZSBBbGlDbG91ZCBST1MgUmVzb3VyY2UgU3BlY2lmaWNhdGlvblxuZXhwb3J0IHsgUm9zQXNzaWduUHJpdmF0ZUlwQWRkcmVzc2VzIGFzIEFzc2lnblByaXZhdGVJcEFkZHJlc3Nlc1Byb3BlcnR5IH07XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgZGVmaW5pbmcgYSBgQXNzaWduUHJpdmF0ZUlwQWRkcmVzc2VzYC5cbiAqIFNlZSBodHRwczovL3d3dy5hbGliYWJhY2xvdWQuY29tL2hlbHAvcm9zL2RldmVsb3Blci1yZWZlcmVuY2UvYWxpeXVuLWVjcy1hc3NpZ25wcml2YXRlaXBhZGRyZXNzZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBc3NpZ25Qcml2YXRlSXBBZGRyZXNzZXNQcm9wcyB7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBuZXR3b3JrSW50ZXJmYWNlSWQ6IFRoZSBJRCBvZiB0aGUgRU5JLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IG5ldHdvcmtJbnRlcmZhY2VJZDogc3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgaXB2NFByZWZpeENvdW50OiBUaGUgc3BlY2lmaWVkIG51bWJlciBvZiBJUHY0IHByZWZpeGVzIHRvIGJlIGFzc2lnbmVkIHRvIHRoZSBFTkkuXG4gICAgICovXG4gICAgcmVhZG9ubHkgaXB2NFByZWZpeENvdW50PzogbnVtYmVyIHwgcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgaXB2NFByZWZpeGVzOiBPbmUgb3IgbXVsdGlwbGUgSVB2NCBwcmVmaXhlcyB0byBiZSBhc3NpZ25lZCB0byB0aGUgRU5JLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGlwdjRQcmVmaXhlcz86IEFycmF5PGFueSB8IHJvcy5JUmVzb2x2YWJsZT4gfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBwcml2YXRlSXBBZGRyZXNzZXM6IE9uZSBvciBtdWx0aXBsZSBzZWNvbmRhcnkgcHJpdmF0ZSBJUCBhZGRyZXNzZXMgc2VsZWN0ZWQgZnJvbSB0aGUgQ0lEUiBibG9jayBvZiB0aGUgVlN3aXRjaCB0aGF0IGhvc3RzIHRoZSBFTkkuIFxuICAgICAqIFZhbGlkIHZhbHVlcyBvZiBudW1iZXIgb2YgcHJpdmF0ZSBpcCBhZGRyZXNzZXM6XG4gICAgICogV2hlbiB0aGUgRU5JIGlzIGluIHRoZSBBdmFpbGFibGUgc3RhdGU6IDEgdG8gMTAuXG4gICAgICogV2hlbiB0aGUgRU5JIGlzIGluIHRoZSBJblVzZSBzdGF0ZTogbGltaXRlZCBieSB0aGUgaW5zdGFuY2UgdHlwZS4gXG4gICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBJbnN0YW5jZSB0eXBlIGZhbWlsaWVzLlxuICAgICAqIFlvdSBtdXN0IHNwZWNpZnkgZWl0aGVyIHRoZSBQcml2YXRlSXBBZGRyZXNzZXMgcGFyYW1ldGVyIG9yIHRoZSBTZWNvbmRhcnlQcml2YXRlSXBBZGRyZXNzQ291bnQgcGFyYW1ldGVyIHRvIGFzc2lnbiBzZWNvbmRhcnkgcHJpdmF0ZSBJUCBhZGRyZXNzZXMuXG4gICAgICovXG4gICAgcmVhZG9ubHkgcHJpdmF0ZUlwQWRkcmVzc2VzPzogQXJyYXk8YW55IHwgcm9zLklSZXNvbHZhYmxlPiB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IHNlY29uZGFyeVByaXZhdGVJcEFkZHJlc3NDb3VudDogVGhlIHNwZWNpZmllZCBudW1iZXIgb2YgcHJpdmF0ZSBJUCBhZGRyZXNzZXMgdG8gYmUgYXNzaWduZWQgYnkgdGhlIEVDUyBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICByZWFkb25seSBzZWNvbmRhcnlQcml2YXRlSXBBZGRyZXNzQ291bnQ/OiBudW1iZXIgfCByb3MuSVJlc29sdmFibGU7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGBBc3NpZ25Qcml2YXRlSXBBZGRyZXNzZXNgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBc3NpZ25Qcml2YXRlSXBBZGRyZXNzZXMgZXh0ZW5kcyByb3MuSVJlc291cmNlIHtcbiAgICByZWFkb25seSBwcm9wczogQXNzaWduUHJpdmF0ZUlwQWRkcmVzc2VzUHJvcHM7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgTmV0d29ya0ludGVyZmFjZUlkOiBUaGUgSUQgb2YgdGhlIEVOSS5cbiAgICAgKi9cbiAgICByZWFkb25seSBhdHRyTmV0d29ya0ludGVyZmFjZUlkOiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgUHJpdmF0ZUlwQWRkcmVzc2VzOiBBc3NpZ25lZCBwcml2YXRlIGlwIGFkZHJlc3Nlcy5cbiAgICAgKi9cbiAgICByZWFkb25seSBhdHRyUHJpdmF0ZUlwQWRkcmVzc2VzOiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG59XG4vKipcbiAqIFRoaXMgY2xhc3MgZW5jYXBzdWxhdGVzIGFuZCBleHRlbmRzIHRoZSBST1MgcmVzb3VyY2UgdHlwZSBgQUxJWVVOOjpFQ1M6OkFzc2lnblByaXZhdGVJcEFkZHJlc3Nlc2AsIHdoaWNoIGlzIHVzZWQgdG8gYXNzaWduIG9uZSBvciBtb3JlIHNlY29uZGFyeSBwcml2YXRlIElQIGFkZHJlc3NlcyB0byBhbiBFTkkuIFlvdSBjYW4gc3BlY2lmeSBwcml2YXRlIElQIGFkZHJlc3NlcyB3aXRoaW4gdGhlIENJRFIgYmxvY2sgb2YgdGhlIHZTd2l0Y2ggdGhhdCBob3N0cyB0aGUgRU5JLiBZb3UgY2FuIGFsc28gc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHByaXZhdGUgSVAgYWRkcmVzc2VzIGZvciBFQ1MgdG8gYXNzaWduIHRoZW0gYXV0b21hdGljYWxseS5cbiAqIEBOb3RlIFRoaXMgY2xhc3MgbWF5IGhhdmUgc29tZSBuZXcgZnVuY3Rpb25zIHRvIGZhY2lsaXRhdGUgZGV2ZWxvcG1lbnQsIHNvIGl0IGlzIHJlY29tbWVuZGVkIHRvIHVzZSB0aGlzIGNsYXNzIGluc3RlYWQgb2YgYFJvc0Fzc2lnblByaXZhdGVJcEFkZHJlc3Nlc2Bmb3IgYSBtb3JlIGNvbnZlbmllbnQgZGV2ZWxvcG1lbnQgZXhwZXJpZW5jZS5cbiAqIFNlZSBodHRwczovL3d3dy5hbGliYWJhY2xvdWQuY29tL2hlbHAvcm9zL2RldmVsb3Blci1yZWZlcmVuY2UvYWxpeXVuLWVjcy1hc3NpZ25wcml2YXRlaXBhZGRyZXNzZXNcbiAqL1xuZXhwb3J0IGNsYXNzIEFzc2lnblByaXZhdGVJcEFkZHJlc3NlcyBleHRlbmRzIHJvcy5SZXNvdXJjZSBpbXBsZW1lbnRzIElBc3NpZ25Qcml2YXRlSXBBZGRyZXNzZXMge1xuICAgIHByb3RlY3RlZCBzY29wZTogcm9zLkNvbnN0cnVjdDtcbiAgICBwcm90ZWN0ZWQgaWQ6IHN0cmluZztcbiAgICBwdWJsaWMgcmVhZG9ubHkgcHJvcHM6IEFzc2lnblByaXZhdGVJcEFkZHJlc3Nlc1Byb3BzO1xuICAgIHByb3RlY3RlZCBlbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBOZXR3b3JrSW50ZXJmYWNlSWQ6IFRoZSBJRCBvZiB0aGUgRU5JLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyTmV0d29ya0ludGVyZmFjZUlkOiByb3MuSVJlc29sdmFibGUgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgUHJpdmF0ZUlwQWRkcmVzc2VzOiBBc3NpZ25lZCBwcml2YXRlIGlwIGFkZHJlc3Nlcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0clByaXZhdGVJcEFkZHJlc3Nlczogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogUGFyYW0gc2NvcGUgLSBzY29wZSBpbiB3aGljaCB0aGlzIHJlc291cmNlIGlzIGRlZmluZWRcbiAgICAgKiBQYXJhbSBpZCAgICAtIHNjb3BlZCBpZCBvZiB0aGUgcmVzb3VyY2VcbiAgICAgKiBQYXJhbSBwcm9wcyAtIHJlc291cmNlIHByb3BlcnRpZXNcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogcm9zLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEFzc2lnblByaXZhdGVJcEFkZHJlc3Nlc1Byb3BzLCBlbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludDpib29sZWFuID0gdHJ1ZSkge1xuICAgICAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgICAgICB0aGlzLnNjb3BlID0gc2NvcGU7XG4gICAgICAgIHRoaXMuaWQgPSBpZDtcbiAgICAgICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICAgICAgICB0aGlzLmVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50ID0gZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQ7XG5cbiAgICAgICAgY29uc3Qgcm9zQXNzaWduUHJpdmF0ZUlwQWRkcmVzc2VzID0gbmV3IFJvc0Fzc2lnblByaXZhdGVJcEFkZHJlc3Nlcyh0aGlzLCBpZCwgIHtcbiAgICAgICAgICAgIHNlY29uZGFyeVByaXZhdGVJcEFkZHJlc3NDb3VudDogcHJvcHMuc2Vjb25kYXJ5UHJpdmF0ZUlwQWRkcmVzc0NvdW50LFxuICAgICAgICAgICAgcHJpdmF0ZUlwQWRkcmVzc2VzOiBwcm9wcy5wcml2YXRlSXBBZGRyZXNzZXMsXG4gICAgICAgICAgICBpcHY0UHJlZml4ZXM6IHByb3BzLmlwdjRQcmVmaXhlcyxcbiAgICAgICAgICAgIGlwdjRQcmVmaXhDb3VudDogcHJvcHMuaXB2NFByZWZpeENvdW50LFxuICAgICAgICAgICAgbmV0d29ya0ludGVyZmFjZUlkOiBwcm9wcy5uZXR3b3JrSW50ZXJmYWNlSWQsXG4gICAgICAgIH0sIGVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50ICYmIHRoaXMuc3RhY2suZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQpO1xuICAgICAgICB0aGlzLnJlc291cmNlID0gcm9zQXNzaWduUHJpdmF0ZUlwQWRkcmVzc2VzO1xuICAgICAgICB0aGlzLmF0dHJOZXR3b3JrSW50ZXJmYWNlSWQgPSByb3NBc3NpZ25Qcml2YXRlSXBBZGRyZXNzZXMuYXR0ck5ldHdvcmtJbnRlcmZhY2VJZDtcbiAgICAgICAgdGhpcy5hdHRyUHJpdmF0ZUlwQWRkcmVzc2VzID0gcm9zQXNzaWduUHJpdmF0ZUlwQWRkcmVzc2VzLmF0dHJQcml2YXRlSXBBZGRyZXNzZXM7XG4gICAgfVxufVxuIl19
@@ -37,6 +37,10 @@ export interface AutoProvisioningGroupProps {
37
37
  * Property checkExecutionStatus: Whether check execution status. If set true, ROS will check the state of AutoProvisioningGroup to be fulfilled. Otherwise ROS will regard AutoProvisioningGroup create failed.
38
38
  */
39
39
  readonly checkExecutionStatus?: boolean | ros.IResolvable;
40
+ /**
41
+ * Property dataDiskConfig: List of instance data disk information.
42
+ */
43
+ readonly dataDiskConfig?: Array<RosAutoProvisioningGroup.DataDiskConfigProperty | ros.IResolvable> | ros.IResolvable;
40
44
  /**
41
45
  * Property defaultTargetCapacityType: The type of supplemental instances. When the total value of PayAsYouGoTargetCapacity and SpotTargetCapacity is smaller than the value of TotalTargetCapacity, the auto provisioning group will create instances of the specified type to meet
42
46
  * the capacity requirements. Valid values:
@@ -84,6 +88,14 @@ export interface AutoProvisioningGroupProps {
84
88
  * If both the MaxSpotPrice and LaunchTemplateConfig.N.MaxPrice parameters are specified, the maximum price is the lower value of the two.
85
89
  */
86
90
  readonly maxSpotPrice?: number | ros.IResolvable;
91
+ /**
92
+ * Property minTargetCapacity: The target minimum capacity of the elastic supply group. Value range: Positive integer.
93
+ * Once you have set this parameter, note that:
94
+ * Only create one-time synchronous delivery type elastic supply group (AutoProvisioningGroupType = instant), the parameters to take effect.
95
+ * If the inventory of instances in the current domain is less than this value, the call to the interface will fail and no instance will be created.
96
+ * If the instance inventory in the current domain is greater than the parameter value, the instance is created normally according to the other parameter values that have been set.
97
+ */
98
+ readonly minTargetCapacity?: string | ros.IResolvable;
87
99
  /**
88
100
  * Property payAsYouGoAllocationStrategy: The scale-out policy for pay-as-you-go instances. Valid values:
89
101
  * lowest-price: The cost optimization policy the auto provisioning group follows to select instance
@@ -97,6 +109,16 @@ export interface AutoProvisioningGroupProps {
97
109
  * Property payAsYouGoTargetCapacity: The target capacity of pay-as-you-go instances in the auto provisioning group.
98
110
  */
99
111
  readonly payAsYouGoTargetCapacity?: string | ros.IResolvable;
112
+ /**
113
+ * Property resourceGroupId: The resource group ID.
114
+ */
115
+ readonly resourceGroupId?: string | ros.IResolvable;
116
+ /**
117
+ * Property resourcePoolOptions: Resource pooling policy to use when creating an instance. Once you have set this parameter, note that:
118
+ * This parameter only applies if a pay-as-you-go instance is created.
119
+ * Only create one-time synchronous delivery type elastic supply group (AutoProvisioningGroupType = instant), the parameters to take effect.
120
+ */
121
+ readonly resourcePoolOptions?: RosAutoProvisioningGroup.ResourcePoolOptionsProperty | ros.IResolvable;
100
122
  /**
101
123
  * Property spotAllocationStrategy: The scale-out policy for preemptible instances. Valid values:
102
124
  * lowest-price: The cost optimization policy the auto provisioning group follows to select instance
@@ -122,6 +144,10 @@ export interface AutoProvisioningGroupProps {
122
144
  * Property spotTargetCapacity: The target capacity of preemptible instances in the auto provisioning group.
123
145
  */
124
146
  readonly spotTargetCapacity?: string | ros.IResolvable;
147
+ /**
148
+ * Property systemDiskConfig: List of instance system disk information.
149
+ */
150
+ readonly systemDiskConfig?: Array<RosAutoProvisioningGroup.SystemDiskConfigProperty | ros.IResolvable> | ros.IResolvable;
125
151
  /**
126
152
  * Property terminateInstances: Specifies whether to release instances of the auto provisioning group. Valid values:
127
153
  * true
@@ -151,24 +177,38 @@ export interface AutoProvisioningGroupProps {
151
177
  */
152
178
  readonly validUntil?: string | ros.IResolvable;
153
179
  }
180
+ /**
181
+ * Represents a `AutoProvisioningGroup`.
182
+ */
183
+ export interface IAutoProvisioningGroup extends ros.IResource {
184
+ readonly props: AutoProvisioningGroupProps;
185
+ /**
186
+ * Attribute AutoProvisioningGroupId: The ID of the auto provisioning group.
187
+ */
188
+ readonly attrAutoProvisioningGroupId: ros.IResolvable | string;
189
+ /**
190
+ * Attribute AutoProvisioningGroupName: The name of the auto provisioning group.
191
+ */
192
+ readonly attrAutoProvisioningGroupName: ros.IResolvable | string;
193
+ }
154
194
  /**
155
195
  * This class encapsulates and extends the ROS resource type `ALIYUN::ECS::AutoProvisioningGroup`, which is used to create an auto provisioning group.
156
196
  * @Note This class may have some new functions to facilitate development, so it is recommended to use this class instead of `RosAutoProvisioningGroup`for a more convenient development experience.
157
197
  * See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-ecs-autoprovisioninggroup
158
198
  */
159
- export declare class AutoProvisioningGroup extends ros.Resource {
199
+ export declare class AutoProvisioningGroup extends ros.Resource implements IAutoProvisioningGroup {
160
200
  protected scope: ros.Construct;
161
201
  protected id: string;
162
- protected props: AutoProvisioningGroupProps;
202
+ readonly props: AutoProvisioningGroupProps;
163
203
  protected enableResourcePropertyConstraint: boolean;
164
204
  /**
165
205
  * Attribute AutoProvisioningGroupId: The ID of the auto provisioning group.
166
206
  */
167
- readonly attrAutoProvisioningGroupId: ros.IResolvable;
207
+ readonly attrAutoProvisioningGroupId: ros.IResolvable | string;
168
208
  /**
169
209
  * Attribute AutoProvisioningGroupName: The name of the auto provisioning group.
170
210
  */
171
- readonly attrAutoProvisioningGroupName: ros.IResolvable;
211
+ readonly attrAutoProvisioningGroupName: ros.IResolvable | string;
172
212
  /**
173
213
  * Param scope - scope in which this resource is defined
174
214
  * Param id - scoped id of the resource
@@ -22,28 +22,33 @@ class AutoProvisioningGroup extends ros.Resource {
22
22
  this.props = props;
23
23
  this.enableResourcePropertyConstraint = enableResourcePropertyConstraint;
24
24
  const rosAutoProvisioningGroup = new ecs_generated_1.RosAutoProvisioningGroup(this, id, {
25
- totalTargetCapacity: props.totalTargetCapacity,
26
- autoProvisioningGroupName: props.autoProvisioningGroupName,
27
25
  description: props.description,
28
- excessCapacityTerminationPolicy: props.excessCapacityTerminationPolicy,
29
- launchTemplateConfig: props.launchTemplateConfig,
30
- launchTemplateId: props.launchTemplateId,
26
+ resourceGroupId: props.resourceGroupId,
31
27
  checkExecutionStatus: props.checkExecutionStatus,
32
- payAsYouGoTargetCapacity: props.payAsYouGoTargetCapacity,
33
28
  autoProvisioningGroupType: props.autoProvisioningGroupType,
34
- spotInstanceInterruptionBehavior: props.spotInstanceInterruptionBehavior,
35
- validUntil: props.validUntil,
36
- terminateInstancesWithExpiration: props.terminateInstancesWithExpiration,
37
29
  defaultTargetCapacityType: props.defaultTargetCapacityType,
38
30
  launchConfiguration: props.launchConfiguration,
39
31
  spotInstancePoolsToUseCount: props.spotInstancePoolsToUseCount,
40
- spotTargetCapacity: props.spotTargetCapacity,
41
- launchTemplateVersion: props.launchTemplateVersion,
42
32
  validFrom: props.validFrom,
43
33
  maxSpotPrice: props.maxSpotPrice,
44
34
  spotAllocationStrategy: props.spotAllocationStrategy,
45
35
  terminateInstances: props.terminateInstances,
46
36
  payAsYouGoAllocationStrategy: props.payAsYouGoAllocationStrategy,
37
+ totalTargetCapacity: props.totalTargetCapacity,
38
+ resourcePoolOptions: props.resourcePoolOptions,
39
+ autoProvisioningGroupName: props.autoProvisioningGroupName,
40
+ excessCapacityTerminationPolicy: props.excessCapacityTerminationPolicy,
41
+ dataDiskConfig: props.dataDiskConfig,
42
+ launchTemplateConfig: props.launchTemplateConfig,
43
+ launchTemplateId: props.launchTemplateId,
44
+ payAsYouGoTargetCapacity: props.payAsYouGoTargetCapacity,
45
+ spotInstanceInterruptionBehavior: props.spotInstanceInterruptionBehavior,
46
+ validUntil: props.validUntil,
47
+ terminateInstancesWithExpiration: props.terminateInstancesWithExpiration,
48
+ spotTargetCapacity: props.spotTargetCapacity,
49
+ minTargetCapacity: props.minTargetCapacity,
50
+ launchTemplateVersion: props.launchTemplateVersion,
51
+ systemDiskConfig: props.systemDiskConfig,
47
52
  }, enableResourcePropertyConstraint && this.stack.enableResourcePropertyConstraint);
48
53
  this.resource = rosAutoProvisioningGroup;
49
54
  this.attrAutoProvisioningGroupId = rosAutoProvisioningGroup.attrAutoProvisioningGroupId;
@@ -51,4 +56,4 @@ class AutoProvisioningGroup extends ros.Resource {
51
56
  }
52
57
  }
53
58
  exports.AutoProvisioningGroup = AutoProvisioningGroup;
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b3Byb3Zpc2lvbmluZ2dyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXV0b3Byb3Zpc2lvbmluZ2dyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhDQUE4QztBQUM5QyxtREFBMkQ7QUFFdEIsOEdBRjVCLHdDQUF3QixPQUVpQztBQStLbEU7Ozs7R0FJRztBQUNILE1BQWEscUJBQXNCLFNBQVEsR0FBRyxDQUFDLFFBQVE7SUFnQm5EOzs7O09BSUc7SUFDSCxZQUFZLEtBQW9CLEVBQUUsRUFBVSxFQUFFLEtBQWlDLEVBQUUsbUNBQTJDLElBQUk7UUFDNUgsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxnQ0FBZ0MsQ0FBQztRQUV6RSxNQUFNLHdCQUF3QixHQUFHLElBQUksd0NBQXdCLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRztZQUNyRSxtQkFBbUIsRUFBRSxLQUFLLENBQUMsbUJBQW1CO1lBQzlDLHlCQUF5QixFQUFFLEtBQUssQ0FBQyx5QkFBeUI7WUFDMUQsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzlCLCtCQUErQixFQUFFLEtBQUssQ0FBQywrQkFBK0I7WUFDdEUsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjtZQUNoRCxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO1lBQ3hDLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxvQkFBb0I7WUFDaEQsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLHdCQUF3QjtZQUN4RCx5QkFBeUIsRUFBRSxLQUFLLENBQUMseUJBQXlCO1lBQzFELGdDQUFnQyxFQUFFLEtBQUssQ0FBQyxnQ0FBZ0M7WUFDeEUsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQzVCLGdDQUFnQyxFQUFFLEtBQUssQ0FBQyxnQ0FBZ0M7WUFDeEUseUJBQXlCLEVBQUUsS0FBSyxDQUFDLHlCQUF5QjtZQUMxRCxtQkFBbUIsRUFBRSxLQUFLLENBQUMsbUJBQW1CO1lBQzlDLDJCQUEyQixFQUFFLEtBQUssQ0FBQywyQkFBMkI7WUFDOUQsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtZQUM1QyxxQkFBcUIsRUFBRSxLQUFLLENBQUMscUJBQXFCO1lBQ2xELFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUztZQUMxQixZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7WUFDaEMsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLHNCQUFzQjtZQUNwRCxrQkFBa0IsRUFBRSxLQUFLLENBQUMsa0JBQWtCO1lBQzVDLDRCQUE0QixFQUFFLEtBQUssQ0FBQyw0QkFBNEI7U0FDbkUsRUFBRSxnQ0FBZ0MsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLFFBQVEsR0FBRyx3QkFBd0IsQ0FBQztRQUN6QyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsd0JBQXdCLENBQUMsMkJBQTJCLENBQUM7UUFDeEYsSUFBSSxDQUFDLDZCQUE2QixHQUFHLHdCQUF3QixDQUFDLDZCQUE2QixDQUFDO0lBQ2hHLENBQUM7Q0FDSjtBQXhERCxzREF3REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyByb3MgZnJvbSAnQGFsaWNsb3VkL3Jvcy1jZGstY29yZSc7XG5pbXBvcnQgeyBSb3NBdXRvUHJvdmlzaW9uaW5nR3JvdXAgfSBmcm9tICcuL2Vjcy5nZW5lcmF0ZWQnO1xuLy8gR2VuZXJhdGVkIGZyb20gdGhlIEFsaUNsb3VkIFJPUyBSZXNvdXJjZSBTcGVjaWZpY2F0aW9uXG5leHBvcnQgeyBSb3NBdXRvUHJvdmlzaW9uaW5nR3JvdXAgYXMgQXV0b1Byb3Zpc2lvbmluZ0dyb3VwUHJvcGVydHkgfTtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBkZWZpbmluZyBhIGBBdXRvUHJvdmlzaW9uaW5nR3JvdXBgLlxuICogU2VlIGh0dHBzOi8vd3d3LmFsaWJhYmFjbG91ZC5jb20vaGVscC9yb3MvZGV2ZWxvcGVyLXJlZmVyZW5jZS9hbGl5dW4tZWNzLWF1dG9wcm92aXNpb25pbmdncm91cFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9Qcm92aXNpb25pbmdHcm91cFByb3BzIHtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IHRvdGFsVGFyZ2V0Q2FwYWNpdHk6IFRoZSB0b3RhbCB0YXJnZXQgY2FwYWNpdHkgb2YgdGhlIGF1dG8gcHJvdmlzaW9uaW5nIGdyb3VwLiBUaGUgdGFyZ2V0IGNhcGFjaXR5IGNvbnNpc3RzXG4gICAgICogb2YgdGhlIGZvbGxvd2luZyB0aHJlZSBwYXJ0czpcbiAgICAgKiBUaGUgdGFyZ2V0IGNhcGFjaXR5IG9mIHBheS1hcy15b3UtZ28gaW5zdGFuY2VzIHNwZWNpZmllZCBieSB0aGUgUGF5QXNZb3VHb1RhcmdldENhcGFjaXR5IHBhcmFtZXRlclxuICAgICAqIFRoZSB0YXJnZXQgY2FwYWNpdHkgb2YgcHJlZW1wdGlibGUgaW5zdGFuY2VzIHNwZWNpZmllZCBieSB0aGUgU3BvdFRhcmdldENhcGFjaXR5IHBhcmFtZXRlclxuICAgICAqIFRoZSBzdXBwbGVtZW50YWwgY2FwYWNpdHkgYmVzaWRlcyBQYXlBc1lvdUdvVGFyZ2V0Q2FwYWNpdHkgYW5kIFNwb3RUYXJnZXRDYXBhY2l0eVxuICAgICAqL1xuICAgIHJlYWRvbmx5IHRvdGFsVGFyZ2V0Q2FwYWNpdHk6IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IGF1dG9Qcm92aXNpb25pbmdHcm91cE5hbWU6IFRoZSBuYW1lIG9mIHRoZSBhdXRvIHByb3Zpc2lvbmluZyBncm91cCB0byBiZSBjcmVhdGVkLiBJdCBtdXN0IGJlIDIgdG8gMTI4IGNoYXJhY3RlcnNcbiAgICAgKiBpbiBsZW5ndGguIEl0IG11c3Qgc3RhcnQgd2l0aCBhIGxldHRlciBidXQgY2Fubm90IHN0YXJ0IHdpdGggaHR0cDpcXC9cXC8gb3IgaHR0cHM6XFwvXFwvLlxuICAgICAqIEl0IGNhbiBjb250YWluIGxldHRlcnMsIGRpZ2l0cywgY29sb25zICg6KSwgdW5kZXJzY29yZXMgKF8pLCBhbmQgaHlwaGVucyAoLSkuXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXV0b1Byb3Zpc2lvbmluZ0dyb3VwTmFtZT86IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IGF1dG9Qcm92aXNpb25pbmdHcm91cFR5cGU6IFRoZSB0eXBlIG9mIHRoZSBhdXRvIHByb3Zpc2lvbmluZyBncm91cC4gVmFsaWQgdmFsdWVzOlxuICAgICAqIHJlcXVlc3Q6IE9uZS10aW1lIGRlbGl2ZXJ5LiBBZnRlciB0aGUgYXV0byBwcm92aXNpb25pbmcgZ3JvdXAgaXMgc3RhcnRlZCwgaXQgb25seSBhdHRlbXB0c1xuICAgICAqIHRvIGNyZWF0ZSBhbiBpbnN0YW5jZSBjbHVzdGVyIG9uY2UuIElmIHRoZSBjbHVzdGVyIGZhaWxzIHRvIGJlIGNyZWF0ZWQsIHRoZSBncm91cFxuICAgICAqIGRvZXMgbm90IHRyeSBhZ2Fpbi5cbiAgICAgKiBtYWludGFpbjogVGhlIGNvbnRpbnVvdXMgZGVsaXZlcnkgYW5kIG1haW50YWluIGNhcGFjaXR5IHR5cGUuIEFmdGVyIHRoZSBhdXRvIHByb3Zpc2lvbmluZyBncm91cFxuICAgICAqIGlzIHN0YXJ0ZWQsIGl0IGNvbnRpbnVvdXNseSBhdHRlbXB0cyB0byBjcmVhdGUgYW5kIG1haW50YWluIHRoZSBpbnN0YW5jZSBjbHVzdGVyLlxuICAgICAqIFRoZSBhdXRvIHByb3Zpc2lvbmluZyBncm91cCBjb21wYXJlcyB0aGUgcmVhbC10aW1lIGFuZCB0YXJnZXQgY2FwYWNpdHkgb2YgdGhlIGNsdXN0ZXIuXG4gICAgICogSWYgdGhlIGNsdXN0ZXIgZG9lcyBub3QgbWVldCB0aGUgdGFyZ2V0IGNhcGFjaXR5LCB0aGUgZ3JvdXAgd2lsbCBjcmVhdGUgaW5zdGFuY2VzXG4gICAgICogdW50aWwgdGhlIGNsdXN0ZXIgbWVldHMgdGhlIHRhcmdldCBjYXBhY2l0eS5cbiAgICAgKiBEZWZhdWx0IHZhbHVlOiBtYWludGFpblxuICAgICAqL1xuICAgIHJlYWRvbmx5IGF1dG9Qcm92aXNpb25pbmdHcm91cFR5cGU/OiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBjaGVja0V4ZWN1dGlvblN0YXR1czogV2hldGhlciBjaGVjayBleGVjdXRpb24gc3RhdHVzLiBJZiBzZXQgdHJ1ZSwgUk9TIHdpbGwgY2hlY2sgdGhlIHN0YXRlIG9mIEF1dG9Qcm92aXNpb25pbmdHcm91cCB0byBiZSBmdWxmaWxsZWQuIE90aGVyd2lzZSBST1Mgd2lsbCByZWdhcmQgQXV0b1Byb3Zpc2lvbmluZ0dyb3VwIGNyZWF0ZSBmYWlsZWQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgY2hlY2tFeGVjdXRpb25TdGF0dXM/OiBib29sZWFuIHwgcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgZGVmYXVsdFRhcmdldENhcGFjaXR5VHlwZTogVGhlIHR5cGUgb2Ygc3VwcGxlbWVudGFsIGluc3RhbmNlcy4gV2hlbiB0aGUgdG90YWwgdmFsdWUgb2YgUGF5QXNZb3VHb1RhcmdldENhcGFjaXR5IGFuZCBTcG90VGFyZ2V0Q2FwYWNpdHkgaXMgc21hbGxlciB0aGFuIHRoZSB2YWx1ZSBvZiBUb3RhbFRhcmdldENhcGFjaXR5LCB0aGUgYXV0byBwcm92aXNpb25pbmcgZ3JvdXAgd2lsbCBjcmVhdGUgaW5zdGFuY2VzIG9mIHRoZSBzcGVjaWZpZWQgdHlwZSB0byBtZWV0XG4gICAgICogdGhlIGNhcGFjaXR5IHJlcXVpcmVtZW50cy4gVmFsaWQgdmFsdWVzOlxuICAgICAqIFBheUFzWW91R286IFBheS1hcy15b3UtZ28gaW5zdGFuY2VzLlxuICAgICAqIFNwb3Q6IFByZWVtcHRpYmxlIGluc3RhbmNlcy5cbiAgICAgKiBEZWZhdWx0IHZhbHVlOiBTcG90XG4gICAgICovXG4gICAgcmVhZG9ubHkgZGVmYXVsdFRhcmdldENhcGFjaXR5VHlwZT86IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IGRlc2NyaXB0aW9uOiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIGF1dG8gcHJvdmlzaW9uaW5nIGdyb3VwLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgZXhjZXNzQ2FwYWNpdHlUZXJtaW5hdGlvblBvbGljeTogVGhlIHNodXRkb3duIHBvbGljeSBmb3IgZXhjZXNzIHByZWVtcHRpYmxlIGluc3RhbmNlcyBmb2xsb3dlZCB3aGVuIHRoZSBjYXBhY2l0eSBvZlxuICAgICAqIHRoZSBhdXRvIHByb3Zpc2lvbmluZyBncm91cCBleGNlZWRzIHRoZSB0YXJnZXQgY2FwYWNpdHkuIFZhbGlkIHZhbHVlczpcbiAgICAgKiBuby10ZXJtaW5hdGlvbjogRXhjZXNzIHByZWVtcHRpYmxlIGluc3RhbmNlcyBhcmUgbm90IHNodXQgZG93bi5cbiAgICAgKiB0ZXJtaW5hdGlvbjogRXhjZXNzIHByZWVtcHRpYmxlIGluc3RhbmNlcyBhcmUgdG8gYmUgc2h1dCBkb3duLiBUaGUgYWN0aW9uIHRvIGJlIHBlcmZvcm1lZCBvbiB0aGVzZVxuICAgICAqIHNodXRkb3duIGluc3RhbmNlcyBpcyBzcGVjaWZpZWQgYnkgdGhlIFNwb3RJbnN0YW5jZUludGVycnVwdGlvbkJlaGF2aW9yIHBhcmFtZXRlci5cbiAgICAgKiBEZWZhdWx0IHZhbHVlOiBuby10ZXJtaW5hdGlvblxuICAgICAqL1xuICAgIHJlYWRvbmx5IGV4Y2Vzc0NhcGFjaXR5VGVybWluYXRpb25Qb2xpY3k/OiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBsYXVuY2hDb25maWd1cmF0aW9uOlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGxhdW5jaENvbmZpZ3VyYXRpb24/OiBSb3NBdXRvUHJvdmlzaW9uaW5nR3JvdXAuTGF1bmNoQ29uZmlndXJhdGlvblByb3BlcnR5IHwgcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgbGF1bmNoVGVtcGxhdGVDb25maWc6XG4gICAgICovXG4gICAgcmVhZG9ubHkgbGF1bmNoVGVtcGxhdGVDb25maWc/OiBBcnJheTxSb3NBdXRvUHJvdmlzaW9uaW5nR3JvdXAuTGF1bmNoVGVtcGxhdGVDb25maWdQcm9wZXJ0eSB8IHJvcy5JUmVzb2x2YWJsZT4gfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBsYXVuY2hUZW1wbGF0ZUlkOiBUaGUgSUQgb2YgdGhlIGluc3RhbmNlIGxhdW5jaCB0ZW1wbGF0ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGF1dG8gcHJvdmlzaW9uaW5nIGdyb3VwLlxuICAgICAqIFlvdSBjYW4gY2FsbCB0aGUgRGVzY3JpYmVMYXVuY2hUZW1wbGF0ZXMgb3BlcmF0aW9uIHRvIHF1ZXJ5IGF2YWlsYWJsZSBpbnN0YW5jZSBsYXVuY2ggdGVtcGxhdGVzLlxuICAgICAqIEFuIGF1dG8gcHJvdmlzaW9uaW5nIGdyb3VwIGNhbiBiZSBhc3NvY2lhdGVkIHdpdGggb25seSBvbmUgaW5zdGFuY2UgbGF1bmNoIHRlbXBsYXRlLlxuICAgICAqIEJ1dCB5b3UgY2FuIGNvbmZpZ3VyZSBtdWx0aXBsZSBleHRlbmRlZCBjb25maWd1cmF0aW9ucyBmb3IgdGhlIGxhdW5jaCB0ZW1wbGF0ZSB0aHJvdWdoXG4gICAgICogdGhlIExhdW5jaFRlbXBsYXRlQ29uZmlnIHBhcmFtZXRlci5cbiAgICAgKi9cbiAgICByZWFkb25seSBsYXVuY2hUZW1wbGF0ZUlkPzogc3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgbGF1bmNoVGVtcGxhdGVWZXJzaW9uOiBUaGUgdmVyc2lvbiBvZiB0aGUgaW5zdGFuY2UgbGF1bmNoIHRlbXBsYXRlIGFzc29jaWF0ZWQgd2l0aCB0aGUgYXV0byBwcm92aXNpb25pbmdcbiAgICAgKiBncm91cC4gWW91IGNhbiBjYWxsIHRoZSBEZXNjcmliZUxhdW5jaFRlbXBsYXRlVmVyc2lvbnMgb3BlcmF0aW9uIHRvIHF1ZXJ5IHRoZSB2ZXJzaW9ucyBvZiBhdmFpbGFibGUgaW5zdGFuY2UgbGF1bmNoIHRlbXBsYXRlcy5cbiAgICAgKi9cbiAgICByZWFkb25seSBsYXVuY2hUZW1wbGF0ZVZlcnNpb24/OiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBtYXhTcG90UHJpY2U6IFRoZSBnbG9iYWwgbWF4aW11bSBwcmljZSBmb3IgcHJlZW1wdGlibGUgaW5zdGFuY2VzIGluIHRoZSBhdXRvIHByb3Zpc2lvbmluZyBncm91cC5cbiAgICAgKiBJZiBib3RoIHRoZSBNYXhTcG90UHJpY2UgYW5kIExhdW5jaFRlbXBsYXRlQ29uZmlnLk4uTWF4UHJpY2UgcGFyYW1ldGVycyBhcmUgc3BlY2lmaWVkLCB0aGUgbWF4aW11bSBwcmljZSBpcyB0aGUgbG93ZXIgdmFsdWUgb2YgdGhlIHR3by5cbiAgICAgKi9cbiAgICByZWFkb25seSBtYXhTcG90UHJpY2U/OiBudW1iZXIgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBwYXlBc1lvdUdvQWxsb2NhdGlvblN0cmF0ZWd5OiBUaGUgc2NhbGUtb3V0IHBvbGljeSBmb3IgcGF5LWFzLXlvdS1nbyBpbnN0YW5jZXMuIFZhbGlkIHZhbHVlczpcbiAgICAgKiBsb3dlc3QtcHJpY2U6IFRoZSBjb3N0IG9wdGltaXphdGlvbiBwb2xpY3kgdGhlIGF1dG8gcHJvdmlzaW9uaW5nIGdyb3VwIGZvbGxvd3MgdG8gc2VsZWN0IGluc3RhbmNlXG4gICAgICogdHlwZXMgb2YgdGhlIGxvd2VzdCBjb3N0IHRvIGNyZWF0ZSBpbnN0YW5jZXMuXG4gICAgICogcHJpb3JpdGl6ZWQ6IFRoZSBwcmlvcml0eS1iYXNlZCBwb2xpY3kgdGhlIGF1dG8gcHJvdmlzaW9uaW5nIGdyb3VwIGZvbGxvd3MgdG8gY3JlYXRlIGluc3RhbmNlcy5cbiAgICAgKiBUaGUgcHJpb3JpdHkgb2YgYW4gaW5zdGFuY2UgdHlwZSBpcyBzcGVjaWZpZWQgYnkgdGhlIExhdW5jaFRlbXBsYXRlQ29uZmlnLk4uUHJpb3JpdHkgcGFyYW1ldGVyLlxuICAgICAqIERlZmF1bHQgdmFsdWU6IGxvd2VzdC1wcmljZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IHBheUFzWW91R29BbGxvY2F0aW9uU3RyYXRlZ3k/OiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBwYXlBc1lvdUdvVGFyZ2V0Q2FwYWNpdHk6IFRoZSB0YXJnZXQgY2FwYWNpdHkgb2YgcGF5LWFzLXlvdS1nbyBpbnN0YW5jZXMgaW4gdGhlIGF1dG8gcHJvdmlzaW9uaW5nIGdyb3VwLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHBheUFzWW91R29UYXJnZXRDYXBhY2l0eT86IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IHNwb3RBbGxvY2F0aW9uU3RyYXRlZ3k6IFRoZSBzY2FsZS1vdXQgcG9saWN5IGZvciBwcmVlbXB0aWJsZSBpbnN0YW5jZXMuIFZhbGlkIHZhbHVlczpcbiAgICAgKiBsb3dlc3QtcHJpY2U6IFRoZSBjb3N0IG9wdGltaXphdGlvbiBwb2xpY3kgdGhlIGF1dG8gcHJvdmlzaW9uaW5nIGdyb3VwIGZvbGxvd3MgdG8gc2VsZWN0IGluc3RhbmNlXG4gICAgICogdHlwZXMgb2YgdGhlIGxvd2VzdCBjb3N0IHRvIGNyZWF0ZSBpbnN0YW5jZXMuXG4gICAgICogZGl2ZXJzaWZpZWQ6IFRoZSBkaXN0cmlidXRpb24gYmFsYW5jaW5nIHBvbGljeSB0aGUgYXV0byBwcm92aXNpb25pbmcgZ3JvdXAgZm9sbG93cyB0byBldmVubHkgY3JlYXRlXG4gICAgICogaW5zdGFuY2VzIGFjcm9zcyB6b25lcyBzcGVjaWZpZWQgaW4gbXVsdGlwbGUgZXh0ZW5kZWQgdGVtcGxhdGUgY29uZmlndXJhdGlvbnMuXG4gICAgICogRGVmYXVsdCB2YWx1ZTogbG93ZXN0LXByaWNlXG4gICAgICovXG4gICAgcmVhZG9ubHkgc3BvdEFsbG9jYXRpb25TdHJhdGVneT86IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IHNwb3RJbnN0YW5jZUludGVycnVwdGlvbkJlaGF2aW9yOiBUaGUgZGVmYXVsdCBiZWhhdmlvciBhZnRlciBwcmVlbXB0aWJsZSBpbnN0YW5jZXMgYXJlIHNodXQgZG93bi4gVmFsdWUgdmFsdWVzOlxuICAgICAqIHN0b3A6IHN0b3BzIHByZWVtcHRpYmxlIGluc3RhbmNlcy5cbiAgICAgKiB0ZXJtaW5hdGU6IHJlbGVhc2VzIHByZWVtcHRpYmxlIGluc3RhbmNlcy5cbiAgICAgKiBEZWZhdWx0IHZhbHVlOiBzdG9wXG4gICAgICovXG4gICAgcmVhZG9ubHkgc3BvdEluc3RhbmNlSW50ZXJydXB0aW9uQmVoYXZpb3I/OiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBzcG90SW5zdGFuY2VQb29sc1RvVXNlQ291bnQ6IFRoaXMgcGFyYW1ldGVyIHRha2VzIGVmZmVjdCB3aGVuIHRoZSBTcG90QWxsb2NhdGlvblN0cmF0ZWd5IHBhcmFtZXRlciBpcyBzZXQgdG8gbG93ZXN0LXByaWNlLiBUaGUgYXV0byBwcm92aXNpb25pbmcgZ3JvdXAgc2VsZWN0cyBpbnN0YW5jZSB0eXBlcyBvZiB0aGUgbG93ZXN0IGNvc3QgdG8gY3JlYXRlXG4gICAgICogaW5zdGFuY2VzLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHNwb3RJbnN0YW5jZVBvb2xzVG9Vc2VDb3VudD86IG51bWJlciB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IHNwb3RUYXJnZXRDYXBhY2l0eTogVGhlIHRhcmdldCBjYXBhY2l0eSBvZiBwcmVlbXB0aWJsZSBpbnN0YW5jZXMgaW4gdGhlIGF1dG8gcHJvdmlzaW9uaW5nIGdyb3VwLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHNwb3RUYXJnZXRDYXBhY2l0eT86IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IHRlcm1pbmF0ZUluc3RhbmNlczogU3BlY2lmaWVzIHdoZXRoZXIgdG8gcmVsZWFzZSBpbnN0YW5jZXMgb2YgdGhlIGF1dG8gcHJvdmlzaW9uaW5nIGdyb3VwLiBWYWxpZCB2YWx1ZXM6XG4gICAgICogdHJ1ZVxuICAgICAqIGZhbHNlXG4gICAgICogRGVmYXVsdDogZmFsc2VcbiAgICAgKi9cbiAgICByZWFkb25seSB0ZXJtaW5hdGVJbnN0YW5jZXM/OiBib29sZWFuIHwgcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgdGVybWluYXRlSW5zdGFuY2VzV2l0aEV4cGlyYXRpb246IFRoZSBzaHV0ZG93biBwb2xpY3kgZm9yIHByZWVtcHRpYmxlIGluc3RhbmNlcyB3aGVuIHRoZSBhdXRvIHByb3Zpc2lvbmluZyBncm91cCBleHBpcmVzLlxuICAgICAqIFZhbGlkIHZhbHVlczpcbiAgICAgKiB0cnVlOiBzaHV0cyBkb3duIHByZWVtcHRpYmxlIGluc3RhbmNlcy4gVGhlIGFjdGlvbiB0byBiZSBwZXJmb3JtZWQgb24gdGhlc2Ugc2h1dGRvd24gaW5zdGFuY2VzXG4gICAgICogaXMgc3BlY2lmaWVkIGJ5IHRoZSBTcG90SW5zdGFuY2VJbnRlcnJ1cHRpb25CZWhhdmlvciBwYXJhbWV0ZXIuXG4gICAgICogZmFsc2U6IGRvZXMgbm90IHNodXQgZG93biBwcmVlbXB0aWJsZSBpbnN0YW5jZXMuXG4gICAgICogRGVmYXVsdDogZmFsc2VcbiAgICAgKi9cbiAgICByZWFkb25seSB0ZXJtaW5hdGVJbnN0YW5jZXNXaXRoRXhwaXJhdGlvbj86IGJvb2xlYW4gfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSB2YWxpZEZyb206IFRoZSB0aW1lIHdoZW4gdGhlIGF1dG8gcHJvdmlzaW9uaW5nIGdyb3VwIGlzIHN0YXJ0ZWQuIFRoZSBwZXJpb2Qgb2YgdGltZSBiZXR3ZWVuIHRoaXNcbiAgICAgKiBwb2ludCBpbiB0aW1lIGFuZCB0aGUgcG9pbnQgaW4gdGltZSBzcGVjaWZpZWQgYnkgdGhlIFZhbGlkVW50aWwgcGFyYW1ldGVyIGlzIHRoZSBlZmZlY3RpdmUgdGltZSBwZXJpb2Qgb2YgdGhlIGF1dG8gcHJvdmlzaW9uaW5nIGdyb3VwLlxuICAgICAqIEJ5IGRlZmF1bHQsIGFuIGF1dG8gcHJvdmlzaW9uaW5nIGdyb3VwIGlzIGltbWVkaWF0ZWx5IHN0YXJ0ZWQgYWZ0ZXIgY3JlYXRpb24uXG4gICAgICovXG4gICAgcmVhZG9ubHkgdmFsaWRGcm9tPzogc3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgdmFsaWRVbnRpbDogVGhlIHRpbWUgd2hlbiB0aGUgYXV0byBwcm92aXNpb25pbmcgZ3JvdXAgZXhwaXJlcy4gVGhlIHBlcmlvZCBvZiB0aW1lIGJldHdlZW4gdGhpc1xuICAgICAqIHBvaW50IGluIHRpbWUgYW5kIHRoZSBwb2ludCBpbiB0aW1lIHNwZWNpZmllZCBieSB0aGUgVmFsaWRGcm9tIHBhcmFtZXRlciBpcyB0aGUgZWZmZWN0aXZlIHRpbWUgcGVyaW9kIG9mIHRoZSBhdXRvIHByb3Zpc2lvbmluZyBncm91cC5cbiAgICAgKiBCeSBkZWZhdWx0LCBhbiBhdXRvIHByb3Zpc2lvbmluZyBncm91cCBuZXZlciBleHBpcmVzLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHZhbGlkVW50aWw/OiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG59XG5cbi8qKlxuICogVGhpcyBjbGFzcyBlbmNhcHN1bGF0ZXMgYW5kIGV4dGVuZHMgdGhlIFJPUyByZXNvdXJjZSB0eXBlIGBBTElZVU46OkVDUzo6QXV0b1Byb3Zpc2lvbmluZ0dyb3VwYCwgd2hpY2ggaXMgdXNlZCB0byBjcmVhdGUgYW4gYXV0byBwcm92aXNpb25pbmcgZ3JvdXAuXG4gKiBATm90ZSBUaGlzIGNsYXNzIG1heSBoYXZlIHNvbWUgbmV3IGZ1bmN0aW9ucyB0byBmYWNpbGl0YXRlIGRldmVsb3BtZW50LCBzbyBpdCBpcyByZWNvbW1lbmRlZCB0byB1c2UgdGhpcyBjbGFzcyBpbnN0ZWFkIG9mIGBSb3NBdXRvUHJvdmlzaW9uaW5nR3JvdXBgZm9yIGEgbW9yZSBjb252ZW5pZW50IGRldmVsb3BtZW50IGV4cGVyaWVuY2UuXG4gKiBTZWUgaHR0cHM6Ly93d3cuYWxpYmFiYWNsb3VkLmNvbS9oZWxwL3Jvcy9kZXZlbG9wZXItcmVmZXJlbmNlL2FsaXl1bi1lY3MtYXV0b3Byb3Zpc2lvbmluZ2dyb3VwXG4gKi9cbmV4cG9ydCBjbGFzcyBBdXRvUHJvdmlzaW9uaW5nR3JvdXAgZXh0ZW5kcyByb3MuUmVzb3VyY2Uge1xuICAgIHByb3RlY3RlZCBzY29wZTogcm9zLkNvbnN0cnVjdDtcbiAgICBwcm90ZWN0ZWQgaWQ6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgcHJvcHM6IEF1dG9Qcm92aXNpb25pbmdHcm91cFByb3BzO1xuICAgIHByb3RlY3RlZCBlbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBBdXRvUHJvdmlzaW9uaW5nR3JvdXBJZDogVGhlIElEIG9mIHRoZSBhdXRvIHByb3Zpc2lvbmluZyBncm91cC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0ckF1dG9Qcm92aXNpb25pbmdHcm91cElkOiByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgQXV0b1Byb3Zpc2lvbmluZ0dyb3VwTmFtZTogVGhlIG5hbWUgb2YgdGhlIGF1dG8gcHJvdmlzaW9uaW5nIGdyb3VwLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdHRyQXV0b1Byb3Zpc2lvbmluZ0dyb3VwTmFtZTogcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogUGFyYW0gc2NvcGUgLSBzY29wZSBpbiB3aGljaCB0aGlzIHJlc291cmNlIGlzIGRlZmluZWRcbiAgICAgKiBQYXJhbSBpZCAgICAtIHNjb3BlZCBpZCBvZiB0aGUgcmVzb3VyY2VcbiAgICAgKiBQYXJhbSBwcm9wcyAtIHJlc291cmNlIHByb3BlcnRpZXNcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogcm9zLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEF1dG9Qcm92aXNpb25pbmdHcm91cFByb3BzLCBlbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludDpib29sZWFuID0gdHJ1ZSkge1xuICAgICAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgICAgICB0aGlzLnNjb3BlID0gc2NvcGU7XG4gICAgICAgIHRoaXMuaWQgPSBpZDtcbiAgICAgICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICAgICAgICB0aGlzLmVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50ID0gZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQ7XG5cbiAgICAgICAgY29uc3Qgcm9zQXV0b1Byb3Zpc2lvbmluZ0dyb3VwID0gbmV3IFJvc0F1dG9Qcm92aXNpb25pbmdHcm91cCh0aGlzLCBpZCwgIHtcbiAgICAgICAgICAgIHRvdGFsVGFyZ2V0Q2FwYWNpdHk6IHByb3BzLnRvdGFsVGFyZ2V0Q2FwYWNpdHksXG4gICAgICAgICAgICBhdXRvUHJvdmlzaW9uaW5nR3JvdXBOYW1lOiBwcm9wcy5hdXRvUHJvdmlzaW9uaW5nR3JvdXBOYW1lLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgZXhjZXNzQ2FwYWNpdHlUZXJtaW5hdGlvblBvbGljeTogcHJvcHMuZXhjZXNzQ2FwYWNpdHlUZXJtaW5hdGlvblBvbGljeSxcbiAgICAgICAgICAgIGxhdW5jaFRlbXBsYXRlQ29uZmlnOiBwcm9wcy5sYXVuY2hUZW1wbGF0ZUNvbmZpZyxcbiAgICAgICAgICAgIGxhdW5jaFRlbXBsYXRlSWQ6IHByb3BzLmxhdW5jaFRlbXBsYXRlSWQsXG4gICAgICAgICAgICBjaGVja0V4ZWN1dGlvblN0YXR1czogcHJvcHMuY2hlY2tFeGVjdXRpb25TdGF0dXMsXG4gICAgICAgICAgICBwYXlBc1lvdUdvVGFyZ2V0Q2FwYWNpdHk6IHByb3BzLnBheUFzWW91R29UYXJnZXRDYXBhY2l0eSxcbiAgICAgICAgICAgIGF1dG9Qcm92aXNpb25pbmdHcm91cFR5cGU6IHByb3BzLmF1dG9Qcm92aXNpb25pbmdHcm91cFR5cGUsXG4gICAgICAgICAgICBzcG90SW5zdGFuY2VJbnRlcnJ1cHRpb25CZWhhdmlvcjogcHJvcHMuc3BvdEluc3RhbmNlSW50ZXJydXB0aW9uQmVoYXZpb3IsXG4gICAgICAgICAgICB2YWxpZFVudGlsOiBwcm9wcy52YWxpZFVudGlsLFxuICAgICAgICAgICAgdGVybWluYXRlSW5zdGFuY2VzV2l0aEV4cGlyYXRpb246IHByb3BzLnRlcm1pbmF0ZUluc3RhbmNlc1dpdGhFeHBpcmF0aW9uLFxuICAgICAgICAgICAgZGVmYXVsdFRhcmdldENhcGFjaXR5VHlwZTogcHJvcHMuZGVmYXVsdFRhcmdldENhcGFjaXR5VHlwZSxcbiAgICAgICAgICAgIGxhdW5jaENvbmZpZ3VyYXRpb246IHByb3BzLmxhdW5jaENvbmZpZ3VyYXRpb24sXG4gICAgICAgICAgICBzcG90SW5zdGFuY2VQb29sc1RvVXNlQ291bnQ6IHByb3BzLnNwb3RJbnN0YW5jZVBvb2xzVG9Vc2VDb3VudCxcbiAgICAgICAgICAgIHNwb3RUYXJnZXRDYXBhY2l0eTogcHJvcHMuc3BvdFRhcmdldENhcGFjaXR5LFxuICAgICAgICAgICAgbGF1bmNoVGVtcGxhdGVWZXJzaW9uOiBwcm9wcy5sYXVuY2hUZW1wbGF0ZVZlcnNpb24sXG4gICAgICAgICAgICB2YWxpZEZyb206IHByb3BzLnZhbGlkRnJvbSxcbiAgICAgICAgICAgIG1heFNwb3RQcmljZTogcHJvcHMubWF4U3BvdFByaWNlLFxuICAgICAgICAgICAgc3BvdEFsbG9jYXRpb25TdHJhdGVneTogcHJvcHMuc3BvdEFsbG9jYXRpb25TdHJhdGVneSxcbiAgICAgICAgICAgIHRlcm1pbmF0ZUluc3RhbmNlczogcHJvcHMudGVybWluYXRlSW5zdGFuY2VzLFxuICAgICAgICAgICAgcGF5QXNZb3VHb0FsbG9jYXRpb25TdHJhdGVneTogcHJvcHMucGF5QXNZb3VHb0FsbG9jYXRpb25TdHJhdGVneSxcbiAgICAgICAgfSwgZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQgJiYgdGhpcy5zdGFjay5lbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludCk7XG4gICAgICAgIHRoaXMucmVzb3VyY2UgPSByb3NBdXRvUHJvdmlzaW9uaW5nR3JvdXA7XG4gICAgICAgIHRoaXMuYXR0ckF1dG9Qcm92aXNpb25pbmdHcm91cElkID0gcm9zQXV0b1Byb3Zpc2lvbmluZ0dyb3VwLmF0dHJBdXRvUHJvdmlzaW9uaW5nR3JvdXBJZDtcbiAgICAgICAgdGhpcy5hdHRyQXV0b1Byb3Zpc2lvbmluZ0dyb3VwTmFtZSA9IHJvc0F1dG9Qcm92aXNpb25pbmdHcm91cC5hdHRyQXV0b1Byb3Zpc2lvbmluZ0dyb3VwTmFtZTtcbiAgICB9XG59XG4iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b3Byb3Zpc2lvbmluZ2dyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXV0b3Byb3Zpc2lvbmluZ2dyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhDQUE4QztBQUM5QyxtREFBMkQ7QUFFdEIsOEdBRjVCLHdDQUF3QixPQUVpQztBQThObEU7Ozs7R0FJRztBQUNILE1BQWEscUJBQXNCLFNBQVEsR0FBRyxDQUFDLFFBQVE7SUFnQm5EOzs7O09BSUc7SUFDSCxZQUFZLEtBQW9CLEVBQUUsRUFBVSxFQUFFLEtBQWlDLEVBQUUsbUNBQTJDLElBQUk7UUFDNUgsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxnQ0FBZ0MsQ0FBQztRQUV6RSxNQUFNLHdCQUF3QixHQUFHLElBQUksd0NBQXdCLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRztZQUNyRSxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsZUFBZSxFQUFFLEtBQUssQ0FBQyxlQUFlO1lBQ3RDLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxvQkFBb0I7WUFDaEQseUJBQXlCLEVBQUUsS0FBSyxDQUFDLHlCQUF5QjtZQUMxRCx5QkFBeUIsRUFBRSxLQUFLLENBQUMseUJBQXlCO1lBQzFELG1CQUFtQixFQUFFLEtBQUssQ0FBQyxtQkFBbUI7WUFDOUMsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLDJCQUEyQjtZQUM5RCxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7WUFDMUIsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ2hDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxzQkFBc0I7WUFDcEQsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtZQUM1Qyw0QkFBNEIsRUFBRSxLQUFLLENBQUMsNEJBQTRCO1lBQ2hFLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxtQkFBbUI7WUFDOUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtZQUM5Qyx5QkFBeUIsRUFBRSxLQUFLLENBQUMseUJBQXlCO1lBQzFELCtCQUErQixFQUFFLEtBQUssQ0FBQywrQkFBK0I7WUFDdEUsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO1lBQ3BDLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxvQkFBb0I7WUFDaEQsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtZQUN4Qyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsd0JBQXdCO1lBQ3hELGdDQUFnQyxFQUFFLEtBQUssQ0FBQyxnQ0FBZ0M7WUFDeEUsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQzVCLGdDQUFnQyxFQUFFLEtBQUssQ0FBQyxnQ0FBZ0M7WUFDeEUsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtZQUM1QyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1lBQzFDLHFCQUFxQixFQUFFLEtBQUssQ0FBQyxxQkFBcUI7WUFDbEQsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtTQUMzQyxFQUFFLGdDQUFnQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsUUFBUSxHQUFHLHdCQUF3QixDQUFDO1FBQ3pDLElBQUksQ0FBQywyQkFBMkIsR0FBRyx3QkFBd0IsQ0FBQywyQkFBMkIsQ0FBQztRQUN4RixJQUFJLENBQUMsNkJBQTZCLEdBQUcsd0JBQXdCLENBQUMsNkJBQTZCLENBQUM7SUFDaEcsQ0FBQztDQUNKO0FBN0RELHNEQTZEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHJvcyBmcm9tICdAYWxpY2xvdWQvcm9zLWNkay1jb3JlJztcbmltcG9ydCB7IFJvc0F1dG9Qcm92aXNpb25pbmdHcm91cCB9IGZyb20gJy4vZWNzLmdlbmVyYXRlZCc7XG4vLyBHZW5lcmF0ZWQgZnJvbSB0aGUgQWxpQ2xvdWQgUk9TIFJlc291cmNlIFNwZWNpZmljYXRpb25cbmV4cG9ydCB7IFJvc0F1dG9Qcm92aXNpb25pbmdHcm91cCBhcyBBdXRvUHJvdmlzaW9uaW5nR3JvdXBQcm9wZXJ0eSB9O1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGRlZmluaW5nIGEgYEF1dG9Qcm92aXNpb25pbmdHcm91cGAuXG4gKiBTZWUgaHR0cHM6Ly93d3cuYWxpYmFiYWNsb3VkLmNvbS9oZWxwL3Jvcy9kZXZlbG9wZXItcmVmZXJlbmNlL2FsaXl1bi1lY3MtYXV0b3Byb3Zpc2lvbmluZ2dyb3VwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0b1Byb3Zpc2lvbmluZ0dyb3VwUHJvcHMge1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgdG90YWxUYXJnZXRDYXBhY2l0eTogVGhlIHRvdGFsIHRhcmdldCBjYXBhY2l0eSBvZiB0aGUgYXV0byBwcm92aXNpb25pbmcgZ3JvdXAuIFRoZSB0YXJnZXQgY2FwYWNpdHkgY29uc2lzdHNcbiAgICAgKiBvZiB0aGUgZm9sbG93aW5nIHRocmVlIHBhcnRzOlxuICAgICAqIFRoZSB0YXJnZXQgY2FwYWNpdHkgb2YgcGF5LWFzLXlvdS1nbyBpbnN0YW5jZXMgc3BlY2lmaWVkIGJ5IHRoZSBQYXlBc1lvdUdvVGFyZ2V0Q2FwYWNpdHkgcGFyYW1ldGVyXG4gICAgICogVGhlIHRhcmdldCBjYXBhY2l0eSBvZiBwcmVlbXB0aWJsZSBpbnN0YW5jZXMgc3BlY2lmaWVkIGJ5IHRoZSBTcG90VGFyZ2V0Q2FwYWNpdHkgcGFyYW1ldGVyXG4gICAgICogVGhlIHN1cHBsZW1lbnRhbCBjYXBhY2l0eSBiZXNpZGVzIFBheUFzWW91R29UYXJnZXRDYXBhY2l0eSBhbmQgU3BvdFRhcmdldENhcGFjaXR5XG4gICAgICovXG4gICAgcmVhZG9ubHkgdG90YWxUYXJnZXRDYXBhY2l0eTogc3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgYXV0b1Byb3Zpc2lvbmluZ0dyb3VwTmFtZTogVGhlIG5hbWUgb2YgdGhlIGF1dG8gcHJvdmlzaW9uaW5nIGdyb3VwIHRvIGJlIGNyZWF0ZWQuIEl0IG11c3QgYmUgMiB0byAxMjggY2hhcmFjdGVyc1xuICAgICAqIGluIGxlbmd0aC4gSXQgbXVzdCBzdGFydCB3aXRoIGEgbGV0dGVyIGJ1dCBjYW5ub3Qgc3RhcnQgd2l0aCBodHRwOlxcL1xcLyBvciBodHRwczpcXC9cXC8uXG4gICAgICogSXQgY2FuIGNvbnRhaW4gbGV0dGVycywgZGlnaXRzLCBjb2xvbnMgKDopLCB1bmRlcnNjb3JlcyAoXyksIGFuZCBoeXBoZW5zICgtKS5cbiAgICAgKi9cbiAgICByZWFkb25seSBhdXRvUHJvdmlzaW9uaW5nR3JvdXBOYW1lPzogc3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgYXV0b1Byb3Zpc2lvbmluZ0dyb3VwVHlwZTogVGhlIHR5cGUgb2YgdGhlIGF1dG8gcHJvdmlzaW9uaW5nIGdyb3VwLiBWYWxpZCB2YWx1ZXM6XG4gICAgICogcmVxdWVzdDogT25lLXRpbWUgZGVsaXZlcnkuIEFmdGVyIHRoZSBhdXRvIHByb3Zpc2lvbmluZyBncm91cCBpcyBzdGFydGVkLCBpdCBvbmx5IGF0dGVtcHRzXG4gICAgICogdG8gY3JlYXRlIGFuIGluc3RhbmNlIGNsdXN0ZXIgb25jZS4gSWYgdGhlIGNsdXN0ZXIgZmFpbHMgdG8gYmUgY3JlYXRlZCwgdGhlIGdyb3VwXG4gICAgICogZG9lcyBub3QgdHJ5IGFnYWluLlxuICAgICAqIG1haW50YWluOiBUaGUgY29udGludW91cyBkZWxpdmVyeSBhbmQgbWFpbnRhaW4gY2FwYWNpdHkgdHlwZS4gQWZ0ZXIgdGhlIGF1dG8gcHJvdmlzaW9uaW5nIGdyb3VwXG4gICAgICogaXMgc3RhcnRlZCwgaXQgY29udGludW91c2x5IGF0dGVtcHRzIHRvIGNyZWF0ZSBhbmQgbWFpbnRhaW4gdGhlIGluc3RhbmNlIGNsdXN0ZXIuXG4gICAgICogVGhlIGF1dG8gcHJvdmlzaW9uaW5nIGdyb3VwIGNvbXBhcmVzIHRoZSByZWFsLXRpbWUgYW5kIHRhcmdldCBjYXBhY2l0eSBvZiB0aGUgY2x1c3Rlci5cbiAgICAgKiBJZiB0aGUgY2x1c3RlciBkb2VzIG5vdCBtZWV0IHRoZSB0YXJnZXQgY2FwYWNpdHksIHRoZSBncm91cCB3aWxsIGNyZWF0ZSBpbnN0YW5jZXNcbiAgICAgKiB1bnRpbCB0aGUgY2x1c3RlciBtZWV0cyB0aGUgdGFyZ2V0IGNhcGFjaXR5LlxuICAgICAqIERlZmF1bHQgdmFsdWU6IG1haW50YWluXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXV0b1Byb3Zpc2lvbmluZ0dyb3VwVHlwZT86IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IGNoZWNrRXhlY3V0aW9uU3RhdHVzOiBXaGV0aGVyIGNoZWNrIGV4ZWN1dGlvbiBzdGF0dXMuIElmIHNldCB0cnVlLCBST1Mgd2lsbCBjaGVjayB0aGUgc3RhdGUgb2YgQXV0b1Byb3Zpc2lvbmluZ0dyb3VwIHRvIGJlIGZ1bGZpbGxlZC4gT3RoZXJ3aXNlIFJPUyB3aWxsIHJlZ2FyZCBBdXRvUHJvdmlzaW9uaW5nR3JvdXAgY3JlYXRlIGZhaWxlZC5cbiAgICAgKi9cbiAgICByZWFkb25seSBjaGVja0V4ZWN1dGlvblN0YXR1cz86IGJvb2xlYW4gfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBkYXRhRGlza0NvbmZpZzogTGlzdCBvZiBpbnN0YW5jZSBkYXRhIGRpc2sgaW5mb3JtYXRpb24uXG4gICAgICovXG4gICAgcmVhZG9ubHkgZGF0YURpc2tDb25maWc/OiBBcnJheTxSb3NBdXRvUHJvdmlzaW9uaW5nR3JvdXAuRGF0YURpc2tDb25maWdQcm9wZXJ0eSB8IHJvcy5JUmVzb2x2YWJsZT4gfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBkZWZhdWx0VGFyZ2V0Q2FwYWNpdHlUeXBlOiBUaGUgdHlwZSBvZiBzdXBwbGVtZW50YWwgaW5zdGFuY2VzLiBXaGVuIHRoZSB0b3RhbCB2YWx1ZSBvZiBQYXlBc1lvdUdvVGFyZ2V0Q2FwYWNpdHkgYW5kIFNwb3RUYXJnZXRDYXBhY2l0eSBpcyBzbWFsbGVyIHRoYW4gdGhlIHZhbHVlIG9mIFRvdGFsVGFyZ2V0Q2FwYWNpdHksIHRoZSBhdXRvIHByb3Zpc2lvbmluZyBncm91cCB3aWxsIGNyZWF0ZSBpbnN0YW5jZXMgb2YgdGhlIHNwZWNpZmllZCB0eXBlIHRvIG1lZXRcbiAgICAgKiB0aGUgY2FwYWNpdHkgcmVxdWlyZW1lbnRzLiBWYWxpZCB2YWx1ZXM6XG4gICAgICogUGF5QXNZb3VHbzogUGF5LWFzLXlvdS1nbyBpbnN0YW5jZXMuXG4gICAgICogU3BvdDogUHJlZW1wdGlibGUgaW5zdGFuY2VzLlxuICAgICAqIERlZmF1bHQgdmFsdWU6IFNwb3RcbiAgICAgKi9cbiAgICByZWFkb25seSBkZWZhdWx0VGFyZ2V0Q2FwYWNpdHlUeXBlPzogc3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgZGVzY3JpcHRpb246IFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgYXV0byBwcm92aXNpb25pbmcgZ3JvdXAuXG4gICAgICovXG4gICAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBleGNlc3NDYXBhY2l0eVRlcm1pbmF0aW9uUG9saWN5OiBUaGUgc2h1dGRvd24gcG9saWN5IGZvciBleGNlc3MgcHJlZW1wdGlibGUgaW5zdGFuY2VzIGZvbGxvd2VkIHdoZW4gdGhlIGNhcGFjaXR5IG9mXG4gICAgICogdGhlIGF1dG8gcHJvdmlzaW9uaW5nIGdyb3VwIGV4Y2VlZHMgdGhlIHRhcmdldCBjYXBhY2l0eS4gVmFsaWQgdmFsdWVzOlxuICAgICAqIG5vLXRlcm1pbmF0aW9uOiBFeGNlc3MgcHJlZW1wdGlibGUgaW5zdGFuY2VzIGFyZSBub3Qgc2h1dCBkb3duLlxuICAgICAqIHRlcm1pbmF0aW9uOiBFeGNlc3MgcHJlZW1wdGlibGUgaW5zdGFuY2VzIGFyZSB0byBiZSBzaHV0IGRvd24uIFRoZSBhY3Rpb24gdG8gYmUgcGVyZm9ybWVkIG9uIHRoZXNlXG4gICAgICogc2h1dGRvd24gaW5zdGFuY2VzIGlzIHNwZWNpZmllZCBieSB0aGUgU3BvdEluc3RhbmNlSW50ZXJydXB0aW9uQmVoYXZpb3IgcGFyYW1ldGVyLlxuICAgICAqIERlZmF1bHQgdmFsdWU6IG5vLXRlcm1pbmF0aW9uXG4gICAgICovXG4gICAgcmVhZG9ubHkgZXhjZXNzQ2FwYWNpdHlUZXJtaW5hdGlvblBvbGljeT86IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IGxhdW5jaENvbmZpZ3VyYXRpb246XG4gICAgICovXG4gICAgcmVhZG9ubHkgbGF1bmNoQ29uZmlndXJhdGlvbj86IFJvc0F1dG9Qcm92aXNpb25pbmdHcm91cC5MYXVuY2hDb25maWd1cmF0aW9uUHJvcGVydHkgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBsYXVuY2hUZW1wbGF0ZUNvbmZpZzpcbiAgICAgKi9cbiAgICByZWFkb25seSBsYXVuY2hUZW1wbGF0ZUNvbmZpZz86IEFycmF5PFJvc0F1dG9Qcm92aXNpb25pbmdHcm91cC5MYXVuY2hUZW1wbGF0ZUNvbmZpZ1Byb3BlcnR5IHwgcm9zLklSZXNvbHZhYmxlPiB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IGxhdW5jaFRlbXBsYXRlSWQ6IFRoZSBJRCBvZiB0aGUgaW5zdGFuY2UgbGF1bmNoIHRlbXBsYXRlIGFzc29jaWF0ZWQgd2l0aCB0aGUgYXV0byBwcm92aXNpb25pbmcgZ3JvdXAuXG4gICAgICogWW91IGNhbiBjYWxsIHRoZSBEZXNjcmliZUxhdW5jaFRlbXBsYXRlcyBvcGVyYXRpb24gdG8gcXVlcnkgYXZhaWxhYmxlIGluc3RhbmNlIGxhdW5jaCB0ZW1wbGF0ZXMuXG4gICAgICogQW4gYXV0byBwcm92aXNpb25pbmcgZ3JvdXAgY2FuIGJlIGFzc29jaWF0ZWQgd2l0aCBvbmx5IG9uZSBpbnN0YW5jZSBsYXVuY2ggdGVtcGxhdGUuXG4gICAgICogQnV0IHlvdSBjYW4gY29uZmlndXJlIG11bHRpcGxlIGV4dGVuZGVkIGNvbmZpZ3VyYXRpb25zIGZvciB0aGUgbGF1bmNoIHRlbXBsYXRlIHRocm91Z2hcbiAgICAgKiB0aGUgTGF1bmNoVGVtcGxhdGVDb25maWcgcGFyYW1ldGVyLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGxhdW5jaFRlbXBsYXRlSWQ/OiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBsYXVuY2hUZW1wbGF0ZVZlcnNpb246IFRoZSB2ZXJzaW9uIG9mIHRoZSBpbnN0YW5jZSBsYXVuY2ggdGVtcGxhdGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBhdXRvIHByb3Zpc2lvbmluZ1xuICAgICAqIGdyb3VwLiBZb3UgY2FuIGNhbGwgdGhlIERlc2NyaWJlTGF1bmNoVGVtcGxhdGVWZXJzaW9ucyBvcGVyYXRpb24gdG8gcXVlcnkgdGhlIHZlcnNpb25zIG9mIGF2YWlsYWJsZSBpbnN0YW5jZSBsYXVuY2ggdGVtcGxhdGVzLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGxhdW5jaFRlbXBsYXRlVmVyc2lvbj86IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IG1heFNwb3RQcmljZTogVGhlIGdsb2JhbCBtYXhpbXVtIHByaWNlIGZvciBwcmVlbXB0aWJsZSBpbnN0YW5jZXMgaW4gdGhlIGF1dG8gcHJvdmlzaW9uaW5nIGdyb3VwLlxuICAgICAqIElmIGJvdGggdGhlIE1heFNwb3RQcmljZSBhbmQgTGF1bmNoVGVtcGxhdGVDb25maWcuTi5NYXhQcmljZSBwYXJhbWV0ZXJzIGFyZSBzcGVjaWZpZWQsIHRoZSBtYXhpbXVtIHByaWNlIGlzIHRoZSBsb3dlciB2YWx1ZSBvZiB0aGUgdHdvLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IG1heFNwb3RQcmljZT86IG51bWJlciB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IG1pblRhcmdldENhcGFjaXR5OiBUaGUgdGFyZ2V0IG1pbmltdW0gY2FwYWNpdHkgb2YgdGhlIGVsYXN0aWMgc3VwcGx5IGdyb3VwLiBWYWx1ZSByYW5nZTogUG9zaXRpdmUgaW50ZWdlci5cbiAgICAgKiBPbmNlIHlvdSBoYXZlIHNldCB0aGlzIHBhcmFtZXRlciwgbm90ZSB0aGF0OlxuICAgICAqIE9ubHkgY3JlYXRlIG9uZS10aW1lIHN5bmNocm9ub3VzIGRlbGl2ZXJ5IHR5cGUgZWxhc3RpYyBzdXBwbHkgZ3JvdXAgKEF1dG9Qcm92aXNpb25pbmdHcm91cFR5cGUgPSBpbnN0YW50KSwgdGhlIHBhcmFtZXRlcnMgdG8gdGFrZSBlZmZlY3QuXG4gICAgICogSWYgdGhlIGludmVudG9yeSBvZiBpbnN0YW5jZXMgaW4gdGhlIGN1cnJlbnQgZG9tYWluIGlzIGxlc3MgdGhhbiB0aGlzIHZhbHVlLCB0aGUgY2FsbCB0byB0aGUgaW50ZXJmYWNlIHdpbGwgZmFpbCBhbmQgbm8gaW5zdGFuY2Ugd2lsbCBiZSBjcmVhdGVkLlxuICAgICAqIElmIHRoZSBpbnN0YW5jZSBpbnZlbnRvcnkgaW4gdGhlIGN1cnJlbnQgZG9tYWluIGlzIGdyZWF0ZXIgdGhhbiB0aGUgcGFyYW1ldGVyIHZhbHVlLCB0aGUgaW5zdGFuY2UgaXMgY3JlYXRlZCBub3JtYWxseSBhY2NvcmRpbmcgdG8gdGhlIG90aGVyIHBhcmFtZXRlciB2YWx1ZXMgdGhhdCBoYXZlIGJlZW4gc2V0LlxuICAgICAqL1xuICAgIHJlYWRvbmx5IG1pblRhcmdldENhcGFjaXR5Pzogc3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgcGF5QXNZb3VHb0FsbG9jYXRpb25TdHJhdGVneTogVGhlIHNjYWxlLW91dCBwb2xpY3kgZm9yIHBheS1hcy15b3UtZ28gaW5zdGFuY2VzLiBWYWxpZCB2YWx1ZXM6XG4gICAgICogbG93ZXN0LXByaWNlOiBUaGUgY29zdCBvcHRpbWl6YXRpb24gcG9saWN5IHRoZSBhdXRvIHByb3Zpc2lvbmluZyBncm91cCBmb2xsb3dzIHRvIHNlbGVjdCBpbnN0YW5jZVxuICAgICAqIHR5cGVzIG9mIHRoZSBsb3dlc3QgY29zdCB0byBjcmVhdGUgaW5zdGFuY2VzLlxuICAgICAqIHByaW9yaXRpemVkOiBUaGUgcHJpb3JpdHktYmFzZWQgcG9saWN5IHRoZSBhdXRvIHByb3Zpc2lvbmluZyBncm91cCBmb2xsb3dzIHRvIGNyZWF0ZSBpbnN0YW5jZXMuXG4gICAgICogVGhlIHByaW9yaXR5IG9mIGFuIGluc3RhbmNlIHR5cGUgaXMgc3BlY2lmaWVkIGJ5IHRoZSBMYXVuY2hUZW1wbGF0ZUNvbmZpZy5OLlByaW9yaXR5IHBhcmFtZXRlci5cbiAgICAgKiBEZWZhdWx0IHZhbHVlOiBsb3dlc3QtcHJpY2VcbiAgICAgKi9cbiAgICByZWFkb25seSBwYXlBc1lvdUdvQWxsb2NhdGlvblN0cmF0ZWd5Pzogc3RyaW5nIHwgcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgcGF5QXNZb3VHb1RhcmdldENhcGFjaXR5OiBUaGUgdGFyZ2V0IGNhcGFjaXR5IG9mIHBheS1hcy15b3UtZ28gaW5zdGFuY2VzIGluIHRoZSBhdXRvIHByb3Zpc2lvbmluZyBncm91cC5cbiAgICAgKi9cbiAgICByZWFkb25seSBwYXlBc1lvdUdvVGFyZ2V0Q2FwYWNpdHk/OiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSByZXNvdXJjZUdyb3VwSWQ6IFRoZSByZXNvdXJjZSBncm91cCBJRC5cbiAgICAgKi9cbiAgICByZWFkb25seSByZXNvdXJjZUdyb3VwSWQ/OiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSByZXNvdXJjZVBvb2xPcHRpb25zOiBSZXNvdXJjZSBwb29saW5nIHBvbGljeSB0byB1c2Ugd2hlbiBjcmVhdGluZyBhbiBpbnN0YW5jZS4gT25jZSB5b3UgaGF2ZSBzZXQgdGhpcyBwYXJhbWV0ZXIsIG5vdGUgdGhhdDpcbiAgICAgKiBUaGlzIHBhcmFtZXRlciBvbmx5IGFwcGxpZXMgaWYgYSBwYXktYXMteW91LWdvIGluc3RhbmNlIGlzIGNyZWF0ZWQuXG4gICAgICogT25seSBjcmVhdGUgb25lLXRpbWUgc3luY2hyb25vdXMgZGVsaXZlcnkgdHlwZSBlbGFzdGljIHN1cHBseSBncm91cCAoQXV0b1Byb3Zpc2lvbmluZ0dyb3VwVHlwZSA9IGluc3RhbnQpLCB0aGUgcGFyYW1ldGVycyB0byB0YWtlIGVmZmVjdC5cbiAgICAgKi9cbiAgICByZWFkb25seSByZXNvdXJjZVBvb2xPcHRpb25zPzogUm9zQXV0b1Byb3Zpc2lvbmluZ0dyb3VwLlJlc291cmNlUG9vbE9wdGlvbnNQcm9wZXJ0eSB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IHNwb3RBbGxvY2F0aW9uU3RyYXRlZ3k6IFRoZSBzY2FsZS1vdXQgcG9saWN5IGZvciBwcmVlbXB0aWJsZSBpbnN0YW5jZXMuIFZhbGlkIHZhbHVlczpcbiAgICAgKiBsb3dlc3QtcHJpY2U6IFRoZSBjb3N0IG9wdGltaXphdGlvbiBwb2xpY3kgdGhlIGF1dG8gcHJvdmlzaW9uaW5nIGdyb3VwIGZvbGxvd3MgdG8gc2VsZWN0IGluc3RhbmNlXG4gICAgICogdHlwZXMgb2YgdGhlIGxvd2VzdCBjb3N0IHRvIGNyZWF0ZSBpbnN0YW5jZXMuXG4gICAgICogZGl2ZXJzaWZpZWQ6IFRoZSBkaXN0cmlidXRpb24gYmFsYW5jaW5nIHBvbGljeSB0aGUgYXV0byBwcm92aXNpb25pbmcgZ3JvdXAgZm9sbG93cyB0byBldmVubHkgY3JlYXRlXG4gICAgICogaW5zdGFuY2VzIGFjcm9zcyB6b25lcyBzcGVjaWZpZWQgaW4gbXVsdGlwbGUgZXh0ZW5kZWQgdGVtcGxhdGUgY29uZmlndXJhdGlvbnMuXG4gICAgICogRGVmYXVsdCB2YWx1ZTogbG93ZXN0LXByaWNlXG4gICAgICovXG4gICAgcmVhZG9ubHkgc3BvdEFsbG9jYXRpb25TdHJhdGVneT86IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IHNwb3RJbnN0YW5jZUludGVycnVwdGlvbkJlaGF2aW9yOiBUaGUgZGVmYXVsdCBiZWhhdmlvciBhZnRlciBwcmVlbXB0aWJsZSBpbnN0YW5jZXMgYXJlIHNodXQgZG93bi4gVmFsdWUgdmFsdWVzOlxuICAgICAqIHN0b3A6IHN0b3BzIHByZWVtcHRpYmxlIGluc3RhbmNlcy5cbiAgICAgKiB0ZXJtaW5hdGU6IHJlbGVhc2VzIHByZWVtcHRpYmxlIGluc3RhbmNlcy5cbiAgICAgKiBEZWZhdWx0IHZhbHVlOiBzdG9wXG4gICAgICovXG4gICAgcmVhZG9ubHkgc3BvdEluc3RhbmNlSW50ZXJydXB0aW9uQmVoYXZpb3I/OiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBzcG90SW5zdGFuY2VQb29sc1RvVXNlQ291bnQ6IFRoaXMgcGFyYW1ldGVyIHRha2VzIGVmZmVjdCB3aGVuIHRoZSBTcG90QWxsb2NhdGlvblN0cmF0ZWd5IHBhcmFtZXRlciBpcyBzZXQgdG8gbG93ZXN0LXByaWNlLiBUaGUgYXV0byBwcm92aXNpb25pbmcgZ3JvdXAgc2VsZWN0cyBpbnN0YW5jZSB0eXBlcyBvZiB0aGUgbG93ZXN0IGNvc3QgdG8gY3JlYXRlXG4gICAgICogaW5zdGFuY2VzLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHNwb3RJbnN0YW5jZVBvb2xzVG9Vc2VDb3VudD86IG51bWJlciB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IHNwb3RUYXJnZXRDYXBhY2l0eTogVGhlIHRhcmdldCBjYXBhY2l0eSBvZiBwcmVlbXB0aWJsZSBpbnN0YW5jZXMgaW4gdGhlIGF1dG8gcHJvdmlzaW9uaW5nIGdyb3VwLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHNwb3RUYXJnZXRDYXBhY2l0eT86IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IHN5c3RlbURpc2tDb25maWc6IExpc3Qgb2YgaW5zdGFuY2Ugc3lzdGVtIGRpc2sgaW5mb3JtYXRpb24uXG4gICAgICovXG4gICAgcmVhZG9ubHkgc3lzdGVtRGlza0NvbmZpZz86IEFycmF5PFJvc0F1dG9Qcm92aXNpb25pbmdHcm91cC5TeXN0ZW1EaXNrQ29uZmlnUHJvcGVydHkgfCByb3MuSVJlc29sdmFibGU+IHwgcm9zLklSZXNvbHZhYmxlO1xuXG4gICAgLyoqXG4gICAgICogUHJvcGVydHkgdGVybWluYXRlSW5zdGFuY2VzOiBTcGVjaWZpZXMgd2hldGhlciB0byByZWxlYXNlIGluc3RhbmNlcyBvZiB0aGUgYXV0byBwcm92aXNpb25pbmcgZ3JvdXAuIFZhbGlkIHZhbHVlczpcbiAgICAgKiB0cnVlXG4gICAgICogZmFsc2VcbiAgICAgKiBEZWZhdWx0OiBmYWxzZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IHRlcm1pbmF0ZUluc3RhbmNlcz86IGJvb2xlYW4gfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSB0ZXJtaW5hdGVJbnN0YW5jZXNXaXRoRXhwaXJhdGlvbjogVGhlIHNodXRkb3duIHBvbGljeSBmb3IgcHJlZW1wdGlibGUgaW5zdGFuY2VzIHdoZW4gdGhlIGF1dG8gcHJvdmlzaW9uaW5nIGdyb3VwIGV4cGlyZXMuXG4gICAgICogVmFsaWQgdmFsdWVzOlxuICAgICAqIHRydWU6IHNodXRzIGRvd24gcHJlZW1wdGlibGUgaW5zdGFuY2VzLiBUaGUgYWN0aW9uIHRvIGJlIHBlcmZvcm1lZCBvbiB0aGVzZSBzaHV0ZG93biBpbnN0YW5jZXNcbiAgICAgKiBpcyBzcGVjaWZpZWQgYnkgdGhlIFNwb3RJbnN0YW5jZUludGVycnVwdGlvbkJlaGF2aW9yIHBhcmFtZXRlci5cbiAgICAgKiBmYWxzZTogZG9lcyBub3Qgc2h1dCBkb3duIHByZWVtcHRpYmxlIGluc3RhbmNlcy5cbiAgICAgKiBEZWZhdWx0OiBmYWxzZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IHRlcm1pbmF0ZUluc3RhbmNlc1dpdGhFeHBpcmF0aW9uPzogYm9vbGVhbiB8IHJvcy5JUmVzb2x2YWJsZTtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IHZhbGlkRnJvbTogVGhlIHRpbWUgd2hlbiB0aGUgYXV0byBwcm92aXNpb25pbmcgZ3JvdXAgaXMgc3RhcnRlZC4gVGhlIHBlcmlvZCBvZiB0aW1lIGJldHdlZW4gdGhpc1xuICAgICAqIHBvaW50IGluIHRpbWUgYW5kIHRoZSBwb2ludCBpbiB0aW1lIHNwZWNpZmllZCBieSB0aGUgVmFsaWRVbnRpbCBwYXJhbWV0ZXIgaXMgdGhlIGVmZmVjdGl2ZSB0aW1lIHBlcmlvZCBvZiB0aGUgYXV0byBwcm92aXNpb25pbmcgZ3JvdXAuXG4gICAgICogQnkgZGVmYXVsdCwgYW4gYXV0byBwcm92aXNpb25pbmcgZ3JvdXAgaXMgaW1tZWRpYXRlbHkgc3RhcnRlZCBhZnRlciBjcmVhdGlvbi5cbiAgICAgKi9cbiAgICByZWFkb25seSB2YWxpZEZyb20/OiBzdHJpbmcgfCByb3MuSVJlc29sdmFibGU7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSB2YWxpZFVudGlsOiBUaGUgdGltZSB3aGVuIHRoZSBhdXRvIHByb3Zpc2lvbmluZyBncm91cCBleHBpcmVzLiBUaGUgcGVyaW9kIG9mIHRpbWUgYmV0d2VlbiB0aGlzXG4gICAgICogcG9pbnQgaW4gdGltZSBhbmQgdGhlIHBvaW50IGluIHRpbWUgc3BlY2lmaWVkIGJ5IHRoZSBWYWxpZEZyb20gcGFyYW1ldGVyIGlzIHRoZSBlZmZlY3RpdmUgdGltZSBwZXJpb2Qgb2YgdGhlIGF1dG8gcHJvdmlzaW9uaW5nIGdyb3VwLlxuICAgICAqIEJ5IGRlZmF1bHQsIGFuIGF1dG8gcHJvdmlzaW9uaW5nIGdyb3VwIG5ldmVyIGV4cGlyZXMuXG4gICAgICovXG4gICAgcmVhZG9ubHkgdmFsaWRVbnRpbD86IHN0cmluZyB8IHJvcy5JUmVzb2x2YWJsZTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgYEF1dG9Qcm92aXNpb25pbmdHcm91cGAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUF1dG9Qcm92aXNpb25pbmdHcm91cCBleHRlbmRzIHJvcy5JUmVzb3VyY2Uge1xuICAgIHJlYWRvbmx5IHByb3BzOiBBdXRvUHJvdmlzaW9uaW5nR3JvdXBQcm9wcztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBBdXRvUHJvdmlzaW9uaW5nR3JvdXBJZDogVGhlIElEIG9mIHRoZSBhdXRvIHByb3Zpc2lvbmluZyBncm91cC5cbiAgICAgKi9cbiAgICByZWFkb25seSBhdHRyQXV0b1Byb3Zpc2lvbmluZ0dyb3VwSWQ6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBBdXRvUHJvdmlzaW9uaW5nR3JvdXBOYW1lOiBUaGUgbmFtZSBvZiB0aGUgYXV0byBwcm92aXNpb25pbmcgZ3JvdXAuXG4gICAgICovXG4gICAgcmVhZG9ubHkgYXR0ckF1dG9Qcm92aXNpb25pbmdHcm91cE5hbWU6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcbn1cbi8qKlxuICogVGhpcyBjbGFzcyBlbmNhcHN1bGF0ZXMgYW5kIGV4dGVuZHMgdGhlIFJPUyByZXNvdXJjZSB0eXBlIGBBTElZVU46OkVDUzo6QXV0b1Byb3Zpc2lvbmluZ0dyb3VwYCwgd2hpY2ggaXMgdXNlZCB0byBjcmVhdGUgYW4gYXV0byBwcm92aXNpb25pbmcgZ3JvdXAuXG4gKiBATm90ZSBUaGlzIGNsYXNzIG1heSBoYXZlIHNvbWUgbmV3IGZ1bmN0aW9ucyB0byBmYWNpbGl0YXRlIGRldmVsb3BtZW50LCBzbyBpdCBpcyByZWNvbW1lbmRlZCB0byB1c2UgdGhpcyBjbGFzcyBpbnN0ZWFkIG9mIGBSb3NBdXRvUHJvdmlzaW9uaW5nR3JvdXBgZm9yIGEgbW9yZSBjb252ZW5pZW50IGRldmVsb3BtZW50IGV4cGVyaWVuY2UuXG4gKiBTZWUgaHR0cHM6Ly93d3cuYWxpYmFiYWNsb3VkLmNvbS9oZWxwL3Jvcy9kZXZlbG9wZXItcmVmZXJlbmNlL2FsaXl1bi1lY3MtYXV0b3Byb3Zpc2lvbmluZ2dyb3VwXG4gKi9cbmV4cG9ydCBjbGFzcyBBdXRvUHJvdmlzaW9uaW5nR3JvdXAgZXh0ZW5kcyByb3MuUmVzb3VyY2UgaW1wbGVtZW50cyBJQXV0b1Byb3Zpc2lvbmluZ0dyb3VwIHtcbiAgICBwcm90ZWN0ZWQgc2NvcGU6IHJvcy5Db25zdHJ1Y3Q7XG4gICAgcHJvdGVjdGVkIGlkOiBzdHJpbmc7XG4gICAgcHVibGljIHJlYWRvbmx5IHByb3BzOiBBdXRvUHJvdmlzaW9uaW5nR3JvdXBQcm9wcztcbiAgICBwcm90ZWN0ZWQgZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQ6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgQXV0b1Byb3Zpc2lvbmluZ0dyb3VwSWQ6IFRoZSBJRCBvZiB0aGUgYXV0byBwcm92aXNpb25pbmcgZ3JvdXAuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJBdXRvUHJvdmlzaW9uaW5nR3JvdXBJZDogcm9zLklSZXNvbHZhYmxlIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIEF1dG9Qcm92aXNpb25pbmdHcm91cE5hbWU6IFRoZSBuYW1lIG9mIHRoZSBhdXRvIHByb3Zpc2lvbmluZyBncm91cC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXR0ckF1dG9Qcm92aXNpb25pbmdHcm91cE5hbWU6IHJvcy5JUmVzb2x2YWJsZSB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFBhcmFtIHNjb3BlIC0gc2NvcGUgaW4gd2hpY2ggdGhpcyByZXNvdXJjZSBpcyBkZWZpbmVkXG4gICAgICogUGFyYW0gaWQgICAgLSBzY29wZWQgaWQgb2YgdGhlIHJlc291cmNlXG4gICAgICogUGFyYW0gcHJvcHMgLSByZXNvdXJjZSBwcm9wZXJ0aWVzXG4gICAgICovXG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IHJvcy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBdXRvUHJvdmlzaW9uaW5nR3JvdXBQcm9wcywgZW5hYmxlUmVzb3VyY2VQcm9wZXJ0eUNvbnN0cmFpbnQ6Ym9vbGVhbiA9IHRydWUpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICAgICAgdGhpcy5zY29wZSA9IHNjb3BlO1xuICAgICAgICB0aGlzLmlkID0gaWQ7XG4gICAgICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgICAgICAgdGhpcy5lbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludCA9IGVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50O1xuXG4gICAgICAgIGNvbnN0IHJvc0F1dG9Qcm92aXNpb25pbmdHcm91cCA9IG5ldyBSb3NBdXRvUHJvdmlzaW9uaW5nR3JvdXAodGhpcywgaWQsICB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICByZXNvdXJjZUdyb3VwSWQ6IHByb3BzLnJlc291cmNlR3JvdXBJZCxcbiAgICAgICAgICAgIGNoZWNrRXhlY3V0aW9uU3RhdHVzOiBwcm9wcy5jaGVja0V4ZWN1dGlvblN0YXR1cyxcbiAgICAgICAgICAgIGF1dG9Qcm92aXNpb25pbmdHcm91cFR5cGU6IHByb3BzLmF1dG9Qcm92aXNpb25pbmdHcm91cFR5cGUsXG4gICAgICAgICAgICBkZWZhdWx0VGFyZ2V0Q2FwYWNpdHlUeXBlOiBwcm9wcy5kZWZhdWx0VGFyZ2V0Q2FwYWNpdHlUeXBlLFxuICAgICAgICAgICAgbGF1bmNoQ29uZmlndXJhdGlvbjogcHJvcHMubGF1bmNoQ29uZmlndXJhdGlvbixcbiAgICAgICAgICAgIHNwb3RJbnN0YW5jZVBvb2xzVG9Vc2VDb3VudDogcHJvcHMuc3BvdEluc3RhbmNlUG9vbHNUb1VzZUNvdW50LFxuICAgICAgICAgICAgdmFsaWRGcm9tOiBwcm9wcy52YWxpZEZyb20sXG4gICAgICAgICAgICBtYXhTcG90UHJpY2U6IHByb3BzLm1heFNwb3RQcmljZSxcbiAgICAgICAgICAgIHNwb3RBbGxvY2F0aW9uU3RyYXRlZ3k6IHByb3BzLnNwb3RBbGxvY2F0aW9uU3RyYXRlZ3ksXG4gICAgICAgICAgICB0ZXJtaW5hdGVJbnN0YW5jZXM6IHByb3BzLnRlcm1pbmF0ZUluc3RhbmNlcyxcbiAgICAgICAgICAgIHBheUFzWW91R29BbGxvY2F0aW9uU3RyYXRlZ3k6IHByb3BzLnBheUFzWW91R29BbGxvY2F0aW9uU3RyYXRlZ3ksXG4gICAgICAgICAgICB0b3RhbFRhcmdldENhcGFjaXR5OiBwcm9wcy50b3RhbFRhcmdldENhcGFjaXR5LFxuICAgICAgICAgICAgcmVzb3VyY2VQb29sT3B0aW9uczogcHJvcHMucmVzb3VyY2VQb29sT3B0aW9ucyxcbiAgICAgICAgICAgIGF1dG9Qcm92aXNpb25pbmdHcm91cE5hbWU6IHByb3BzLmF1dG9Qcm92aXNpb25pbmdHcm91cE5hbWUsXG4gICAgICAgICAgICBleGNlc3NDYXBhY2l0eVRlcm1pbmF0aW9uUG9saWN5OiBwcm9wcy5leGNlc3NDYXBhY2l0eVRlcm1pbmF0aW9uUG9saWN5LFxuICAgICAgICAgICAgZGF0YURpc2tDb25maWc6IHByb3BzLmRhdGFEaXNrQ29uZmlnLFxuICAgICAgICAgICAgbGF1bmNoVGVtcGxhdGVDb25maWc6IHByb3BzLmxhdW5jaFRlbXBsYXRlQ29uZmlnLFxuICAgICAgICAgICAgbGF1bmNoVGVtcGxhdGVJZDogcHJvcHMubGF1bmNoVGVtcGxhdGVJZCxcbiAgICAgICAgICAgIHBheUFzWW91R29UYXJnZXRDYXBhY2l0eTogcHJvcHMucGF5QXNZb3VHb1RhcmdldENhcGFjaXR5LFxuICAgICAgICAgICAgc3BvdEluc3RhbmNlSW50ZXJydXB0aW9uQmVoYXZpb3I6IHByb3BzLnNwb3RJbnN0YW5jZUludGVycnVwdGlvbkJlaGF2aW9yLFxuICAgICAgICAgICAgdmFsaWRVbnRpbDogcHJvcHMudmFsaWRVbnRpbCxcbiAgICAgICAgICAgIHRlcm1pbmF0ZUluc3RhbmNlc1dpdGhFeHBpcmF0aW9uOiBwcm9wcy50ZXJtaW5hdGVJbnN0YW5jZXNXaXRoRXhwaXJhdGlvbixcbiAgICAgICAgICAgIHNwb3RUYXJnZXRDYXBhY2l0eTogcHJvcHMuc3BvdFRhcmdldENhcGFjaXR5LFxuICAgICAgICAgICAgbWluVGFyZ2V0Q2FwYWNpdHk6IHByb3BzLm1pblRhcmdldENhcGFjaXR5LFxuICAgICAgICAgICAgbGF1bmNoVGVtcGxhdGVWZXJzaW9uOiBwcm9wcy5sYXVuY2hUZW1wbGF0ZVZlcnNpb24sXG4gICAgICAgICAgICBzeXN0ZW1EaXNrQ29uZmlnOiBwcm9wcy5zeXN0ZW1EaXNrQ29uZmlnLFxuICAgICAgICB9LCBlbmFibGVSZXNvdXJjZVByb3BlcnR5Q29uc3RyYWludCAmJiB0aGlzLnN0YWNrLmVuYWJsZVJlc291cmNlUHJvcGVydHlDb25zdHJhaW50KTtcbiAgICAgICAgdGhpcy5yZXNvdXJjZSA9IHJvc0F1dG9Qcm92aXNpb25pbmdHcm91cDtcbiAgICAgICAgdGhpcy5hdHRyQXV0b1Byb3Zpc2lvbmluZ0dyb3VwSWQgPSByb3NBdXRvUHJvdmlzaW9uaW5nR3JvdXAuYXR0ckF1dG9Qcm92aXNpb25pbmdHcm91cElkO1xuICAgICAgICB0aGlzLmF0dHJBdXRvUHJvdmlzaW9uaW5nR3JvdXBOYW1lID0gcm9zQXV0b1Byb3Zpc2lvbmluZ0dyb3VwLmF0dHJBdXRvUHJvdmlzaW9uaW5nR3JvdXBOYW1lO1xuICAgIH1cbn1cbiJdfQ==