@microsoft/terraform-cdk-constructs 1.6.0 → 1.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +354 -264
- package/API.md +104 -76
- package/LICENSE +1 -1
- package/lib/azure-actiongroup/lib/action-group.js +1 -1
- package/lib/azure-activitylogalert/lib/activity-log-alert.js +1 -1
- package/lib/azure-aks/lib/aks-cluster.js +1 -1
- package/lib/azure-diagnosticsettings/lib/diagnostic-settings.js +1 -1
- package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.js +1 -1
- package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.js +1 -1
- package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.js +1 -1
- package/lib/azure-dnsresolver/lib/dns-resolver.js +1 -1
- package/lib/azure-dnsresolver/lib/inbound-endpoint.js +1 -1
- package/lib/azure-dnsresolver/lib/outbound-endpoint.js +1 -1
- package/lib/azure-dnszone/lib/dns-zone.js +1 -1
- package/lib/azure-metricalert/lib/metric-alert.js +1 -1
- package/lib/azure-networkinterface/lib/network-interface.js +1 -1
- package/lib/azure-networksecuritygroup/lib/network-security-group.js +1 -1
- package/lib/azure-policyassignment/lib/policy-assignment-schemas.js +2 -2
- package/lib/azure-policyassignment/lib/policy-assignment.d.ts +17 -5
- package/lib/azure-policyassignment/lib/policy-assignment.js +19 -13
- package/lib/azure-policyassignment/test/policy-assignment.spec.js +9 -6
- package/lib/azure-policydefinition/lib/policy-definition.d.ts +33 -0
- package/lib/azure-policydefinition/lib/policy-definition.js +33 -2
- package/lib/azure-policydefinition/test/policy-definition.spec.js +69 -1
- package/lib/azure-privatednszone/lib/private-dns-zone.js +1 -1
- package/lib/azure-privatednszonelink/lib/private-dns-zone-link.js +1 -1
- package/lib/azure-publicipaddress/lib/public-ip-address.js +1 -1
- package/lib/azure-resourcegroup/lib/resource-group.js +1 -1
- package/lib/azure-roleassignment/lib/role-assignment-schemas.js +2 -2
- package/lib/azure-roleassignment/lib/role-assignment.d.ts +18 -5
- package/lib/azure-roleassignment/lib/role-assignment.js +18 -6
- package/lib/azure-roleassignment/test/role-assignment.spec.js +11 -1
- package/lib/azure-roledefinition/lib/role-definition.d.ts +1 -0
- package/lib/azure-roledefinition/lib/role-definition.js +2 -2
- package/lib/azure-storageaccount/lib/storage-account.js +1 -1
- package/lib/azure-subnet/lib/subnet.js +1 -1
- package/lib/azure-virtualmachine/lib/virtual-machine.js +1 -1
- package/lib/azure-virtualnetwork/lib/virtual-network.js +1 -1
- package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.js +1 -1
- package/lib/azure-virtualnetworkgatewayconnection/lib/virtual-network-gateway-connection.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool-static-cidr.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/network-group.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.js +1 -1
- package/lib/azure-vmss/lib/virtual-machine-scale-set.js +1 -1
- package/lib/core-azure/lib/azapi/azapi-resource.js +2 -2
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.js +2 -2
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +5 -5
- package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +1 -1
- package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +5 -5
- package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +3 -3
- package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +3 -3
- package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.js +3 -2
- package/lib/core-azure/lib/version-manager/api-version-manager.js +1 -1
- package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.js +7 -7
- package/lib/testing/index.js +2 -2
- package/lib/testing/lib/cleanup.js +1 -1
- package/lib/testing/lib/metadata.js +1 -1
- package/package.json +1 -1
package/API.md
CHANGED
|
@@ -27540,20 +27540,20 @@ This class provides a single, version-aware implementation for managing Azure
|
|
|
27540
27540
|
Policy Assignments. It automatically handles version resolution, schema validation,
|
|
27541
27541
|
and property transformation.
|
|
27542
27542
|
|
|
27543
|
-
Note: Policy assignments can be deployed at subscription, resource group,
|
|
27544
|
-
Like policy definitions, they do not have a location property as they
|
|
27543
|
+
Note: Policy assignments can be deployed at management group, subscription, resource group,
|
|
27544
|
+
or resource scope. Like policy definitions, they do not have a location property as they
|
|
27545
|
+
are not region-specific.
|
|
27545
27546
|
|
|
27546
27547
|
*Example*
|
|
27547
27548
|
|
|
27548
27549
|
```typescript
|
|
27549
|
-
// Policy assignment
|
|
27550
|
-
const
|
|
27551
|
-
name: "
|
|
27550
|
+
// Policy assignment at management group scope:
|
|
27551
|
+
const mgAssignment = new PolicyAssignment(this, "mgAssignment", {
|
|
27552
|
+
name: "mg-policy-assignment",
|
|
27552
27553
|
policyDefinitionId: "/providers/Microsoft.Authorization/policyDefinitions/policy-id",
|
|
27553
|
-
scope: "/
|
|
27554
|
-
|
|
27555
|
-
|
|
27556
|
-
}
|
|
27554
|
+
scope: "/providers/Microsoft.Management/managementGroups/my-mg",
|
|
27555
|
+
displayName: "Management Group Policy",
|
|
27556
|
+
description: "Applies policy across the entire management group hierarchy"
|
|
27557
27557
|
});
|
|
27558
27558
|
```
|
|
27559
27559
|
|
|
@@ -28041,20 +28041,20 @@ This class provides a single, version-aware implementation for managing Azure
|
|
|
28041
28041
|
Policy Assignments. It automatically handles version resolution, schema validation,
|
|
28042
28042
|
and property transformation.
|
|
28043
28043
|
|
|
28044
|
-
Note: Policy assignments can be deployed at subscription, resource group,
|
|
28045
|
-
Like policy definitions, they do not have a location property as they
|
|
28044
|
+
Note: Policy assignments can be deployed at management group, subscription, resource group,
|
|
28045
|
+
or resource scope. Like policy definitions, they do not have a location property as they
|
|
28046
|
+
are not region-specific.
|
|
28046
28047
|
|
|
28047
28048
|
*Example*
|
|
28048
28049
|
|
|
28049
28050
|
```typescript
|
|
28050
|
-
// Policy assignment
|
|
28051
|
-
const
|
|
28052
|
-
name: "
|
|
28051
|
+
// Policy assignment at management group scope:
|
|
28052
|
+
const mgAssignment = new PolicyAssignment(this, "mgAssignment", {
|
|
28053
|
+
name: "mg-policy-assignment",
|
|
28053
28054
|
policyDefinitionId: "/providers/Microsoft.Authorization/policyDefinitions/policy-id",
|
|
28054
|
-
scope: "/
|
|
28055
|
-
|
|
28056
|
-
|
|
28057
|
-
}
|
|
28055
|
+
scope: "/providers/Microsoft.Management/managementGroups/my-mg",
|
|
28056
|
+
displayName: "Management Group Policy",
|
|
28057
|
+
description: "Applies policy across the entire management group hierarchy"
|
|
28058
28058
|
});
|
|
28059
28059
|
```
|
|
28060
28060
|
|
|
@@ -28549,26 +28549,20 @@ not region-specific.
|
|
|
28549
28549
|
*Example*
|
|
28550
28550
|
|
|
28551
28551
|
```typescript
|
|
28552
|
-
// Policy definition
|
|
28553
|
-
const
|
|
28554
|
-
name: "require-tag-policy",
|
|
28555
|
-
|
|
28552
|
+
// Policy definition at management group scope:
|
|
28553
|
+
const mgPolicyDefinition = new PolicyDefinition(this, "mgPolicy", {
|
|
28554
|
+
name: "mg-require-tag-policy",
|
|
28555
|
+
parentId: "/providers/Microsoft.Management/managementGroups/my-mg",
|
|
28556
|
+
displayName: "Management Group Tag Policy",
|
|
28557
|
+
description: "Enforces tags across the management group hierarchy",
|
|
28556
28558
|
policyRule: {
|
|
28557
28559
|
if: {
|
|
28558
|
-
field: "
|
|
28560
|
+
field: "tags['CostCenter']",
|
|
28559
28561
|
exists: "false"
|
|
28560
28562
|
},
|
|
28561
28563
|
then: {
|
|
28562
28564
|
effect: "deny"
|
|
28563
28565
|
}
|
|
28564
|
-
},
|
|
28565
|
-
parameters: {
|
|
28566
|
-
tagName: {
|
|
28567
|
-
type: "String",
|
|
28568
|
-
metadata: {
|
|
28569
|
-
displayName: "Tag Name"
|
|
28570
|
-
}
|
|
28571
|
-
}
|
|
28572
28566
|
}
|
|
28573
28567
|
});
|
|
28574
28568
|
```
|
|
@@ -29051,26 +29045,20 @@ not region-specific.
|
|
|
29051
29045
|
*Example*
|
|
29052
29046
|
|
|
29053
29047
|
```typescript
|
|
29054
|
-
// Policy definition
|
|
29055
|
-
const
|
|
29056
|
-
name: "require-tag-policy",
|
|
29057
|
-
|
|
29048
|
+
// Policy definition at management group scope:
|
|
29049
|
+
const mgPolicyDefinition = new PolicyDefinition(this, "mgPolicy", {
|
|
29050
|
+
name: "mg-require-tag-policy",
|
|
29051
|
+
parentId: "/providers/Microsoft.Management/managementGroups/my-mg",
|
|
29052
|
+
displayName: "Management Group Tag Policy",
|
|
29053
|
+
description: "Enforces tags across the management group hierarchy",
|
|
29058
29054
|
policyRule: {
|
|
29059
29055
|
if: {
|
|
29060
|
-
field: "
|
|
29056
|
+
field: "tags['CostCenter']",
|
|
29061
29057
|
exists: "false"
|
|
29062
29058
|
},
|
|
29063
29059
|
then: {
|
|
29064
29060
|
effect: "deny"
|
|
29065
29061
|
}
|
|
29066
|
-
},
|
|
29067
|
-
parameters: {
|
|
29068
|
-
tagName: {
|
|
29069
|
-
type: "String",
|
|
29070
|
-
metadata: {
|
|
29071
|
-
displayName: "Tag Name"
|
|
29072
|
-
}
|
|
29073
|
-
}
|
|
29074
29062
|
}
|
|
29075
29063
|
});
|
|
29076
29064
|
```
|
|
@@ -38577,8 +38565,9 @@ Role Assignments. It automatically handles version resolution, schema validation
|
|
|
38577
38565
|
and property transformation.
|
|
38578
38566
|
|
|
38579
38567
|
**Important Notes:**
|
|
38580
|
-
- Role assignments are scoped resources deployed at
|
|
38581
|
-
or resource level. They do not have a location property as they
|
|
38568
|
+
- Role assignments are scoped resources deployed at management group, subscription,
|
|
38569
|
+
resource group, or resource level. They do not have a location property as they
|
|
38570
|
+
are not region-specific.
|
|
38582
38571
|
- The `name` property (inherited from AzapiResourceProps) is not used. Azure automatically
|
|
38583
38572
|
generates a deterministic GUID for role assignment names based on the deployment context.
|
|
38584
38573
|
This ensures idempotent deployments without duplicate role assignments.
|
|
@@ -38586,16 +38575,14 @@ and property transformation.
|
|
|
38586
38575
|
*Example*
|
|
38587
38576
|
|
|
38588
38577
|
```typescript
|
|
38589
|
-
|
|
38578
|
+
Management group scoped assignment - Assign Reader role at management group level
|
|
38590
38579
|
|
|
38591
|
-
const
|
|
38592
|
-
roleDefinitionId:
|
|
38593
|
-
principalId:
|
|
38594
|
-
scope:
|
|
38595
|
-
principalType: "
|
|
38596
|
-
|
|
38597
|
-
conditionVersion: "2.0",
|
|
38598
|
-
description: "Grants access only to the logs container",
|
|
38580
|
+
const mgAssignment = new RoleAssignment(this, "mg-assignment", {
|
|
38581
|
+
roleDefinitionId: "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7",
|
|
38582
|
+
principalId: "00000000-0000-0000-0000-000000000000",
|
|
38583
|
+
scope: "/providers/Microsoft.Management/managementGroups/my-mg",
|
|
38584
|
+
principalType: "Group",
|
|
38585
|
+
description: "Grants read access across the entire management group hierarchy",
|
|
38599
38586
|
});
|
|
38600
38587
|
```
|
|
38601
38588
|
|
|
@@ -39097,8 +39084,9 @@ Role Assignments. It automatically handles version resolution, schema validation
|
|
|
39097
39084
|
and property transformation.
|
|
39098
39085
|
|
|
39099
39086
|
**Important Notes:**
|
|
39100
|
-
- Role assignments are scoped resources deployed at
|
|
39101
|
-
or resource level. They do not have a location property as they
|
|
39087
|
+
- Role assignments are scoped resources deployed at management group, subscription,
|
|
39088
|
+
resource group, or resource level. They do not have a location property as they
|
|
39089
|
+
are not region-specific.
|
|
39102
39090
|
- The `name` property (inherited from AzapiResourceProps) is not used. Azure automatically
|
|
39103
39091
|
generates a deterministic GUID for role assignment names based on the deployment context.
|
|
39104
39092
|
This ensures idempotent deployments without duplicate role assignments.
|
|
@@ -39106,16 +39094,14 @@ and property transformation.
|
|
|
39106
39094
|
*Example*
|
|
39107
39095
|
|
|
39108
39096
|
```typescript
|
|
39109
|
-
|
|
39097
|
+
Management group scoped assignment - Assign Reader role at management group level
|
|
39110
39098
|
|
|
39111
|
-
const
|
|
39112
|
-
roleDefinitionId:
|
|
39113
|
-
principalId:
|
|
39114
|
-
scope:
|
|
39115
|
-
principalType: "
|
|
39116
|
-
|
|
39117
|
-
conditionVersion: "2.0",
|
|
39118
|
-
description: "Grants access only to the logs container",
|
|
39099
|
+
const mgAssignment = new RoleAssignment(this, "mg-assignment", {
|
|
39100
|
+
roleDefinitionId: "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7",
|
|
39101
|
+
principalId: "00000000-0000-0000-0000-000000000000",
|
|
39102
|
+
scope: "/providers/Microsoft.Management/managementGroups/my-mg",
|
|
39103
|
+
principalType: "Group",
|
|
39104
|
+
description: "Grants read access across the entire management group hierarchy",
|
|
39119
39105
|
});
|
|
39120
39106
|
```
|
|
39121
39107
|
|
|
@@ -91604,7 +91590,7 @@ const policyAssignmentProps: PolicyAssignmentProps = { ... }
|
|
|
91604
91590
|
| <code><a href="#@microsoft/terraform-cdk-constructs.PolicyAssignmentProps.property.name">name</a></code> | <code>string</code> | The name of the resource. |
|
|
91605
91591
|
| <code><a href="#@microsoft/terraform-cdk-constructs.PolicyAssignmentProps.property.tags">tags</a></code> | <code>{[ key: string ]: string}</code> | Tags to apply to the resource. |
|
|
91606
91592
|
| <code><a href="#@microsoft/terraform-cdk-constructs.PolicyAssignmentProps.property.policyDefinitionId">policyDefinitionId</a></code> | <code>string</code> | The policy definition ID to assign This can be a built-in or custom policy definition Required property. |
|
|
91607
|
-
| <code><a href="#@microsoft/terraform-cdk-constructs.PolicyAssignmentProps.property.scope">scope</a></code> | <code>string</code> | The scope at which the policy assignment is applied Can be a subscription, resource group, or resource Required property. |
|
|
91593
|
+
| <code><a href="#@microsoft/terraform-cdk-constructs.PolicyAssignmentProps.property.scope">scope</a></code> | <code>string</code> | The scope at which the policy assignment is applied Can be a management group, subscription, resource group, or resource Required property. |
|
|
91608
91594
|
| <code><a href="#@microsoft/terraform-cdk-constructs.PolicyAssignmentProps.property.description">description</a></code> | <code>string</code> | The policy assignment description Provides detailed information about the assignment. |
|
|
91609
91595
|
| <code><a href="#@microsoft/terraform-cdk-constructs.PolicyAssignmentProps.property.displayName">displayName</a></code> | <code>string</code> | The display name of the policy assignment Provides a human-readable name for the assignment. |
|
|
91610
91596
|
| <code><a href="#@microsoft/terraform-cdk-constructs.PolicyAssignmentProps.property.enforcementMode">enforcementMode</a></code> | <code>string</code> | The enforcement mode of the policy assignment. |
|
|
@@ -91866,7 +91852,7 @@ public readonly scope: string;
|
|
|
91866
91852
|
|
|
91867
91853
|
- *Type:* string
|
|
91868
91854
|
|
|
91869
|
-
The scope at which the policy assignment is applied Can be a subscription, resource group, or resource Required property.
|
|
91855
|
+
The scope at which the policy assignment is applied Can be a management group, subscription, resource group, or resource Required property.
|
|
91870
91856
|
|
|
91871
91857
|
---
|
|
91872
91858
|
|
|
@@ -92099,7 +92085,7 @@ const policyAssignmentProps: azure_policyassignment.PolicyAssignmentProps = { ..
|
|
|
92099
92085
|
| <code><a href="#@microsoft/terraform-cdk-constructs.azure_policyassignment.PolicyAssignmentProps.property.name">name</a></code> | <code>string</code> | The name of the resource. |
|
|
92100
92086
|
| <code><a href="#@microsoft/terraform-cdk-constructs.azure_policyassignment.PolicyAssignmentProps.property.tags">tags</a></code> | <code>{[ key: string ]: string}</code> | Tags to apply to the resource. |
|
|
92101
92087
|
| <code><a href="#@microsoft/terraform-cdk-constructs.azure_policyassignment.PolicyAssignmentProps.property.policyDefinitionId">policyDefinitionId</a></code> | <code>string</code> | The policy definition ID to assign This can be a built-in or custom policy definition Required property. |
|
|
92102
|
-
| <code><a href="#@microsoft/terraform-cdk-constructs.azure_policyassignment.PolicyAssignmentProps.property.scope">scope</a></code> | <code>string</code> | The scope at which the policy assignment is applied Can be a subscription, resource group, or resource Required property. |
|
|
92088
|
+
| <code><a href="#@microsoft/terraform-cdk-constructs.azure_policyassignment.PolicyAssignmentProps.property.scope">scope</a></code> | <code>string</code> | The scope at which the policy assignment is applied Can be a management group, subscription, resource group, or resource Required property. |
|
|
92103
92089
|
| <code><a href="#@microsoft/terraform-cdk-constructs.azure_policyassignment.PolicyAssignmentProps.property.description">description</a></code> | <code>string</code> | The policy assignment description Provides detailed information about the assignment. |
|
|
92104
92090
|
| <code><a href="#@microsoft/terraform-cdk-constructs.azure_policyassignment.PolicyAssignmentProps.property.displayName">displayName</a></code> | <code>string</code> | The display name of the policy assignment Provides a human-readable name for the assignment. |
|
|
92105
92091
|
| <code><a href="#@microsoft/terraform-cdk-constructs.azure_policyassignment.PolicyAssignmentProps.property.enforcementMode">enforcementMode</a></code> | <code>string</code> | The enforcement mode of the policy assignment. |
|
|
@@ -92361,7 +92347,7 @@ public readonly scope: string;
|
|
|
92361
92347
|
|
|
92362
92348
|
- *Type:* string
|
|
92363
92349
|
|
|
92364
|
-
The scope at which the policy assignment is applied Can be a subscription, resource group, or resource Required property.
|
|
92350
|
+
The scope at which the policy assignment is applied Can be a management group, subscription, resource group, or resource Required property.
|
|
92365
92351
|
|
|
92366
92352
|
---
|
|
92367
92353
|
|
|
@@ -92884,6 +92870,7 @@ const policyDefinitionProps: PolicyDefinitionProps = { ... }
|
|
|
92884
92870
|
| <code><a href="#@microsoft/terraform-cdk-constructs.PolicyDefinitionProps.property.metadata">metadata</a></code> | <code>any</code> | Metadata for the policy definition Used to store additional information like category, version, etc. |
|
|
92885
92871
|
| <code><a href="#@microsoft/terraform-cdk-constructs.PolicyDefinitionProps.property.mode">mode</a></code> | <code>string</code> | The policy mode Determines which resource types will be evaluated. |
|
|
92886
92872
|
| <code><a href="#@microsoft/terraform-cdk-constructs.PolicyDefinitionProps.property.parameters">parameters</a></code> | <code>any</code> | Parameters for the policy definition Allows policy assignments to provide values that are used in the policy rule. |
|
|
92873
|
+
| <code><a href="#@microsoft/terraform-cdk-constructs.PolicyDefinitionProps.property.parentId">parentId</a></code> | <code>string</code> | The parent scope where the policy definition should be created Can be a management group or subscription scope If not specified, defaults to subscription scope. |
|
|
92887
92874
|
| <code><a href="#@microsoft/terraform-cdk-constructs.PolicyDefinitionProps.property.policyType">policyType</a></code> | <code>string</code> | The type of policy definition. |
|
|
92888
92875
|
|
|
92889
92876
|
---
|
|
@@ -93263,6 +93250,26 @@ Parameters for the policy definition Allows policy assignments to provide values
|
|
|
93263
93250
|
```
|
|
93264
93251
|
|
|
93265
93252
|
|
|
93253
|
+
##### `parentId`<sup>Optional</sup> <a name="parentId" id="@microsoft/terraform-cdk-constructs.PolicyDefinitionProps.property.parentId"></a>
|
|
93254
|
+
|
|
93255
|
+
```typescript
|
|
93256
|
+
public readonly parentId: string;
|
|
93257
|
+
```
|
|
93258
|
+
|
|
93259
|
+
- *Type:* string
|
|
93260
|
+
- *Default:* Subscription scope (auto-detected from client config)
|
|
93261
|
+
|
|
93262
|
+
The parent scope where the policy definition should be created Can be a management group or subscription scope If not specified, defaults to subscription scope.
|
|
93263
|
+
|
|
93264
|
+
---
|
|
93265
|
+
|
|
93266
|
+
*Example*
|
|
93267
|
+
|
|
93268
|
+
```typescript
|
|
93269
|
+
"/subscriptions/00000000-0000-0000-0000-000000000000"
|
|
93270
|
+
```
|
|
93271
|
+
|
|
93272
|
+
|
|
93266
93273
|
##### `policyType`<sup>Optional</sup> <a name="policyType" id="@microsoft/terraform-cdk-constructs.PolicyDefinitionProps.property.policyType"></a>
|
|
93267
93274
|
|
|
93268
93275
|
```typescript
|
|
@@ -93323,6 +93330,7 @@ const policyDefinitionProps: azure_policydefinition.PolicyDefinitionProps = { ..
|
|
|
93323
93330
|
| <code><a href="#@microsoft/terraform-cdk-constructs.azure_policydefinition.PolicyDefinitionProps.property.metadata">metadata</a></code> | <code>any</code> | Metadata for the policy definition Used to store additional information like category, version, etc. |
|
|
93324
93331
|
| <code><a href="#@microsoft/terraform-cdk-constructs.azure_policydefinition.PolicyDefinitionProps.property.mode">mode</a></code> | <code>string</code> | The policy mode Determines which resource types will be evaluated. |
|
|
93325
93332
|
| <code><a href="#@microsoft/terraform-cdk-constructs.azure_policydefinition.PolicyDefinitionProps.property.parameters">parameters</a></code> | <code>any</code> | Parameters for the policy definition Allows policy assignments to provide values that are used in the policy rule. |
|
|
93333
|
+
| <code><a href="#@microsoft/terraform-cdk-constructs.azure_policydefinition.PolicyDefinitionProps.property.parentId">parentId</a></code> | <code>string</code> | The parent scope where the policy definition should be created Can be a management group or subscription scope If not specified, defaults to subscription scope. |
|
|
93326
93334
|
| <code><a href="#@microsoft/terraform-cdk-constructs.azure_policydefinition.PolicyDefinitionProps.property.policyType">policyType</a></code> | <code>string</code> | The type of policy definition. |
|
|
93327
93335
|
|
|
93328
93336
|
---
|
|
@@ -93702,6 +93710,26 @@ Parameters for the policy definition Allows policy assignments to provide values
|
|
|
93702
93710
|
```
|
|
93703
93711
|
|
|
93704
93712
|
|
|
93713
|
+
##### `parentId`<sup>Optional</sup> <a name="parentId" id="@microsoft/terraform-cdk-constructs.azure_policydefinition.PolicyDefinitionProps.property.parentId"></a>
|
|
93714
|
+
|
|
93715
|
+
```typescript
|
|
93716
|
+
public readonly parentId: string;
|
|
93717
|
+
```
|
|
93718
|
+
|
|
93719
|
+
- *Type:* string
|
|
93720
|
+
- *Default:* Subscription scope (auto-detected from client config)
|
|
93721
|
+
|
|
93722
|
+
The parent scope where the policy definition should be created Can be a management group or subscription scope If not specified, defaults to subscription scope.
|
|
93723
|
+
|
|
93724
|
+
---
|
|
93725
|
+
|
|
93726
|
+
*Example*
|
|
93727
|
+
|
|
93728
|
+
```typescript
|
|
93729
|
+
"/subscriptions/00000000-0000-0000-0000-000000000000"
|
|
93730
|
+
```
|
|
93731
|
+
|
|
93732
|
+
|
|
93705
93733
|
##### `policyType`<sup>Optional</sup> <a name="policyType" id="@microsoft/terraform-cdk-constructs.azure_policydefinition.PolicyDefinitionProps.property.policyType"></a>
|
|
93706
93734
|
|
|
93707
93735
|
```typescript
|
|
@@ -100930,7 +100958,7 @@ const roleAssignmentProps: RoleAssignmentProps = { ... }
|
|
|
100930
100958
|
| <code><a href="#@microsoft/terraform-cdk-constructs.RoleAssignmentProps.property.tags">tags</a></code> | <code>{[ key: string ]: string}</code> | Tags to apply to the resource. |
|
|
100931
100959
|
| <code><a href="#@microsoft/terraform-cdk-constructs.RoleAssignmentProps.property.principalId">principalId</a></code> | <code>string</code> | The principal ID (object ID) to which the role is assigned This can be a user, group, service principal, or managed identity Required property. |
|
|
100932
100960
|
| <code><a href="#@microsoft/terraform-cdk-constructs.RoleAssignmentProps.property.roleDefinitionId">roleDefinitionId</a></code> | <code>string</code> | The role definition ID to assign This can be a built-in or custom role definition Required property. |
|
|
100933
|
-
| <code><a href="#@microsoft/terraform-cdk-constructs.RoleAssignmentProps.property.scope">scope</a></code> | <code>string</code> | The scope at which the role assignment is applied Can be a subscription, resource group, or resource Required property. |
|
|
100961
|
+
| <code><a href="#@microsoft/terraform-cdk-constructs.RoleAssignmentProps.property.scope">scope</a></code> | <code>string</code> | The scope at which the role assignment is applied Can be a management group, subscription, resource group, or resource Required property. |
|
|
100934
100962
|
| <code><a href="#@microsoft/terraform-cdk-constructs.RoleAssignmentProps.property.condition">condition</a></code> | <code>string</code> | The conditions on the role assignment Limits the resources it applies to using ABAC expressions Requires conditionVersion to be set when used. |
|
|
100935
100963
|
| <code><a href="#@microsoft/terraform-cdk-constructs.RoleAssignmentProps.property.conditionVersion">conditionVersion</a></code> | <code>string</code> | Version of the condition syntax Required when condition is specified. |
|
|
100936
100964
|
| <code><a href="#@microsoft/terraform-cdk-constructs.RoleAssignmentProps.property.delegatedManagedIdentityResourceId">delegatedManagedIdentityResourceId</a></code> | <code>string</code> | The delegated Azure Resource Id which contains a Managed Identity Applicable only when the principalType is Group Used for scenarios where a group assignment should use a specific managed identity. |
|
|
@@ -101208,7 +101236,7 @@ public readonly scope: string;
|
|
|
101208
101236
|
|
|
101209
101237
|
- *Type:* string
|
|
101210
101238
|
|
|
101211
|
-
The scope at which the role assignment is applied Can be a subscription, resource group, or resource Required property.
|
|
101239
|
+
The scope at which the role assignment is applied Can be a management group, subscription, resource group, or resource Required property.
|
|
101212
101240
|
|
|
101213
101241
|
---
|
|
101214
101242
|
|
|
@@ -101376,7 +101404,7 @@ const roleAssignmentProps: azure_roleassignment.RoleAssignmentProps = { ... }
|
|
|
101376
101404
|
| <code><a href="#@microsoft/terraform-cdk-constructs.azure_roleassignment.RoleAssignmentProps.property.tags">tags</a></code> | <code>{[ key: string ]: string}</code> | Tags to apply to the resource. |
|
|
101377
101405
|
| <code><a href="#@microsoft/terraform-cdk-constructs.azure_roleassignment.RoleAssignmentProps.property.principalId">principalId</a></code> | <code>string</code> | The principal ID (object ID) to which the role is assigned This can be a user, group, service principal, or managed identity Required property. |
|
|
101378
101406
|
| <code><a href="#@microsoft/terraform-cdk-constructs.azure_roleassignment.RoleAssignmentProps.property.roleDefinitionId">roleDefinitionId</a></code> | <code>string</code> | The role definition ID to assign This can be a built-in or custom role definition Required property. |
|
|
101379
|
-
| <code><a href="#@microsoft/terraform-cdk-constructs.azure_roleassignment.RoleAssignmentProps.property.scope">scope</a></code> | <code>string</code> | The scope at which the role assignment is applied Can be a subscription, resource group, or resource Required property. |
|
|
101407
|
+
| <code><a href="#@microsoft/terraform-cdk-constructs.azure_roleassignment.RoleAssignmentProps.property.scope">scope</a></code> | <code>string</code> | The scope at which the role assignment is applied Can be a management group, subscription, resource group, or resource Required property. |
|
|
101380
101408
|
| <code><a href="#@microsoft/terraform-cdk-constructs.azure_roleassignment.RoleAssignmentProps.property.condition">condition</a></code> | <code>string</code> | The conditions on the role assignment Limits the resources it applies to using ABAC expressions Requires conditionVersion to be set when used. |
|
|
101381
101409
|
| <code><a href="#@microsoft/terraform-cdk-constructs.azure_roleassignment.RoleAssignmentProps.property.conditionVersion">conditionVersion</a></code> | <code>string</code> | Version of the condition syntax Required when condition is specified. |
|
|
101382
101410
|
| <code><a href="#@microsoft/terraform-cdk-constructs.azure_roleassignment.RoleAssignmentProps.property.delegatedManagedIdentityResourceId">delegatedManagedIdentityResourceId</a></code> | <code>string</code> | The delegated Azure Resource Id which contains a Managed Identity Applicable only when the principalType is Group Used for scenarios where a group assignment should use a specific managed identity. |
|
|
@@ -101654,7 +101682,7 @@ public readonly scope: string;
|
|
|
101654
101682
|
|
|
101655
101683
|
- *Type:* string
|
|
101656
101684
|
|
|
101657
|
-
The scope at which the role assignment is applied Can be a subscription, resource group, or resource Required property.
|
|
101685
|
+
The scope at which the role assignment is applied Can be a management group, subscription, resource group, or resource Required property.
|
|
101658
101686
|
|
|
101659
101687
|
---
|
|
101660
101688
|
|
|
@@ -102490,7 +102518,7 @@ An array of scopes where this role can be assigned Can include subscription, res
|
|
|
102490
102518
|
*Example*
|
|
102491
102519
|
|
|
102492
102520
|
```typescript
|
|
102493
|
-
["/
|
|
102521
|
+
["/providers/Microsoft.Management/managementGroups/my-mg"]
|
|
102494
102522
|
```
|
|
102495
102523
|
|
|
102496
102524
|
|
|
@@ -102876,7 +102904,7 @@ An array of scopes where this role can be assigned Can include subscription, res
|
|
|
102876
102904
|
*Example*
|
|
102877
102905
|
|
|
102878
102906
|
```typescript
|
|
102879
|
-
["/
|
|
102907
|
+
["/providers/Microsoft.Management/managementGroups/my-mg"]
|
|
102880
102908
|
```
|
|
102881
102909
|
|
|
102882
102910
|
|
package/LICENSE
CHANGED
|
@@ -168,7 +168,7 @@ class ActionGroup extends azapi_resource_1.AzapiResource {
|
|
|
168
168
|
}
|
|
169
169
|
exports.ActionGroup = ActionGroup;
|
|
170
170
|
_a = JSII_RTTI_SYMBOL_1;
|
|
171
|
-
ActionGroup[_a] = { fqn: "@microsoft/terraform-cdk-constructs.ActionGroup", version: "1.
|
|
171
|
+
ActionGroup[_a] = { fqn: "@microsoft/terraform-cdk-constructs.ActionGroup", version: "1.7.1" };
|
|
172
172
|
(() => {
|
|
173
173
|
azapi_resource_1.AzapiResource.registerSchemas(action_group_schemas_1.ACTION_GROUP_TYPE, action_group_schemas_1.ALL_ACTION_GROUP_VERSIONS);
|
|
174
174
|
})();
|
|
@@ -179,7 +179,7 @@ class ActivityLogAlert extends azapi_resource_1.AzapiResource {
|
|
|
179
179
|
}
|
|
180
180
|
exports.ActivityLogAlert = ActivityLogAlert;
|
|
181
181
|
_a = JSII_RTTI_SYMBOL_1;
|
|
182
|
-
ActivityLogAlert[_a] = { fqn: "@microsoft/terraform-cdk-constructs.ActivityLogAlert", version: "1.
|
|
182
|
+
ActivityLogAlert[_a] = { fqn: "@microsoft/terraform-cdk-constructs.ActivityLogAlert", version: "1.7.1" };
|
|
183
183
|
(() => {
|
|
184
184
|
azapi_resource_1.AzapiResource.registerSchemas(activity_log_alert_schemas_1.ACTIVITY_LOG_ALERT_TYPE, activity_log_alert_schemas_1.ALL_ACTIVITY_LOG_ALERT_VERSIONS);
|
|
185
185
|
})();
|
|
@@ -459,7 +459,7 @@ class AksCluster extends azapi_resource_1.AzapiResource {
|
|
|
459
459
|
}
|
|
460
460
|
exports.AksCluster = AksCluster;
|
|
461
461
|
_a = JSII_RTTI_SYMBOL_1;
|
|
462
|
-
AksCluster[_a] = { fqn: "@microsoft/terraform-cdk-constructs.AksCluster", version: "1.
|
|
462
|
+
AksCluster[_a] = { fqn: "@microsoft/terraform-cdk-constructs.AksCluster", version: "1.7.1" };
|
|
463
463
|
(() => {
|
|
464
464
|
azapi_resource_1.AzapiResource.registerSchemas(aks_cluster_schemas_1.AKS_CLUSTER_TYPE, aks_cluster_schemas_1.ALL_AKS_CLUSTER_VERSIONS);
|
|
465
465
|
})();
|
|
@@ -167,7 +167,7 @@ class DiagnosticSettings extends azapi_resource_1.AzapiResource {
|
|
|
167
167
|
}
|
|
168
168
|
exports.DiagnosticSettings = DiagnosticSettings;
|
|
169
169
|
_a = JSII_RTTI_SYMBOL_1;
|
|
170
|
-
DiagnosticSettings[_a] = { fqn: "@microsoft/terraform-cdk-constructs.DiagnosticSettings", version: "1.
|
|
170
|
+
DiagnosticSettings[_a] = { fqn: "@microsoft/terraform-cdk-constructs.DiagnosticSettings", version: "1.7.1" };
|
|
171
171
|
(() => {
|
|
172
172
|
azapi_resource_1.AzapiResource.registerSchemas(diagnostic_settings_schemas_1.DIAGNOSTIC_SETTINGS_TYPE, diagnostic_settings_schemas_1.ALL_DIAGNOSTIC_SETTINGS_VERSIONS);
|
|
173
173
|
})();
|
|
@@ -207,7 +207,7 @@ class DnsForwardingRuleset extends azapi_resource_1.AzapiResource {
|
|
|
207
207
|
}
|
|
208
208
|
exports.DnsForwardingRuleset = DnsForwardingRuleset;
|
|
209
209
|
_a = JSII_RTTI_SYMBOL_1;
|
|
210
|
-
DnsForwardingRuleset[_a] = { fqn: "@microsoft/terraform-cdk-constructs.DnsForwardingRuleset", version: "1.
|
|
210
|
+
DnsForwardingRuleset[_a] = { fqn: "@microsoft/terraform-cdk-constructs.DnsForwardingRuleset", version: "1.7.1" };
|
|
211
211
|
(() => {
|
|
212
212
|
azapi_resource_1.AzapiResource.registerSchemas(dns_forwarding_ruleset_schemas_1.DNS_FORWARDING_RULESET_TYPE, dns_forwarding_ruleset_schemas_1.ALL_DNS_FORWARDING_RULESET_VERSIONS);
|
|
213
213
|
})();
|
|
@@ -186,7 +186,7 @@ class ForwardingRule extends azapi_resource_1.AzapiResource {
|
|
|
186
186
|
}
|
|
187
187
|
exports.ForwardingRule = ForwardingRule;
|
|
188
188
|
_a = JSII_RTTI_SYMBOL_1;
|
|
189
|
-
ForwardingRule[_a] = { fqn: "@microsoft/terraform-cdk-constructs.ForwardingRule", version: "1.
|
|
189
|
+
ForwardingRule[_a] = { fqn: "@microsoft/terraform-cdk-constructs.ForwardingRule", version: "1.7.1" };
|
|
190
190
|
(() => {
|
|
191
191
|
azapi_resource_1.AzapiResource.registerSchemas(forwarding_rule_schemas_1.FORWARDING_RULE_TYPE, forwarding_rule_schemas_1.ALL_FORWARDING_RULE_VERSIONS);
|
|
192
192
|
})();
|
|
@@ -171,7 +171,7 @@ class DnsForwardingRulesetVirtualNetworkLink extends azapi_resource_1.AzapiResou
|
|
|
171
171
|
}
|
|
172
172
|
exports.DnsForwardingRulesetVirtualNetworkLink = DnsForwardingRulesetVirtualNetworkLink;
|
|
173
173
|
_a = JSII_RTTI_SYMBOL_1;
|
|
174
|
-
DnsForwardingRulesetVirtualNetworkLink[_a] = { fqn: "@microsoft/terraform-cdk-constructs.DnsForwardingRulesetVirtualNetworkLink", version: "1.
|
|
174
|
+
DnsForwardingRulesetVirtualNetworkLink[_a] = { fqn: "@microsoft/terraform-cdk-constructs.DnsForwardingRulesetVirtualNetworkLink", version: "1.7.1" };
|
|
175
175
|
(() => {
|
|
176
176
|
azapi_resource_1.AzapiResource.registerSchemas(virtual_network_link_schemas_1.VIRTUAL_NETWORK_LINK_TYPE, virtual_network_link_schemas_1.ALL_VIRTUAL_NETWORK_LINK_VERSIONS);
|
|
177
177
|
})();
|
|
@@ -229,7 +229,7 @@ class DnsResolver extends azapi_resource_1.AzapiResource {
|
|
|
229
229
|
}
|
|
230
230
|
exports.DnsResolver = DnsResolver;
|
|
231
231
|
_a = JSII_RTTI_SYMBOL_1;
|
|
232
|
-
DnsResolver[_a] = { fqn: "@microsoft/terraform-cdk-constructs.DnsResolver", version: "1.
|
|
232
|
+
DnsResolver[_a] = { fqn: "@microsoft/terraform-cdk-constructs.DnsResolver", version: "1.7.1" };
|
|
233
233
|
(() => {
|
|
234
234
|
azapi_resource_1.AzapiResource.registerSchemas(dns_resolver_schemas_1.DNS_RESOLVER_TYPE, dns_resolver_schemas_1.ALL_DNS_RESOLVER_VERSIONS);
|
|
235
235
|
})();
|
|
@@ -236,7 +236,7 @@ class DnsResolverInboundEndpoint extends azapi_resource_1.AzapiResource {
|
|
|
236
236
|
}
|
|
237
237
|
exports.DnsResolverInboundEndpoint = DnsResolverInboundEndpoint;
|
|
238
238
|
_a = JSII_RTTI_SYMBOL_1;
|
|
239
|
-
DnsResolverInboundEndpoint[_a] = { fqn: "@microsoft/terraform-cdk-constructs.DnsResolverInboundEndpoint", version: "1.
|
|
239
|
+
DnsResolverInboundEndpoint[_a] = { fqn: "@microsoft/terraform-cdk-constructs.DnsResolverInboundEndpoint", version: "1.7.1" };
|
|
240
240
|
(() => {
|
|
241
241
|
azapi_resource_1.AzapiResource.registerSchemas(inbound_endpoint_schemas_1.DNS_RESOLVER_INBOUND_ENDPOINT_TYPE, inbound_endpoint_schemas_1.ALL_DNS_RESOLVER_INBOUND_ENDPOINT_VERSIONS);
|
|
242
242
|
})();
|
|
@@ -227,7 +227,7 @@ class DnsResolverOutboundEndpoint extends azapi_resource_1.AzapiResource {
|
|
|
227
227
|
}
|
|
228
228
|
exports.DnsResolverOutboundEndpoint = DnsResolverOutboundEndpoint;
|
|
229
229
|
_a = JSII_RTTI_SYMBOL_1;
|
|
230
|
-
DnsResolverOutboundEndpoint[_a] = { fqn: "@microsoft/terraform-cdk-constructs.DnsResolverOutboundEndpoint", version: "1.
|
|
230
|
+
DnsResolverOutboundEndpoint[_a] = { fqn: "@microsoft/terraform-cdk-constructs.DnsResolverOutboundEndpoint", version: "1.7.1" };
|
|
231
231
|
(() => {
|
|
232
232
|
azapi_resource_1.AzapiResource.registerSchemas(outbound_endpoint_schemas_1.DNS_RESOLVER_OUTBOUND_ENDPOINT_TYPE, outbound_endpoint_schemas_1.ALL_DNS_RESOLVER_OUTBOUND_ENDPOINT_VERSIONS);
|
|
233
233
|
})();
|
|
@@ -221,7 +221,7 @@ class DnsZone extends azapi_resource_1.AzapiResource {
|
|
|
221
221
|
}
|
|
222
222
|
exports.DnsZone = DnsZone;
|
|
223
223
|
_a = JSII_RTTI_SYMBOL_1;
|
|
224
|
-
DnsZone[_a] = { fqn: "@microsoft/terraform-cdk-constructs.DnsZone", version: "1.
|
|
224
|
+
DnsZone[_a] = { fqn: "@microsoft/terraform-cdk-constructs.DnsZone", version: "1.7.1" };
|
|
225
225
|
(() => {
|
|
226
226
|
azapi_resource_1.AzapiResource.registerSchemas(dns_zone_schemas_1.DNS_ZONE_TYPE, dns_zone_schemas_1.ALL_DNS_ZONE_VERSIONS);
|
|
227
227
|
})();
|
|
@@ -219,7 +219,7 @@ class MetricAlert extends azapi_resource_1.AzapiResource {
|
|
|
219
219
|
}
|
|
220
220
|
exports.MetricAlert = MetricAlert;
|
|
221
221
|
_a = JSII_RTTI_SYMBOL_1;
|
|
222
|
-
MetricAlert[_a] = { fqn: "@microsoft/terraform-cdk-constructs.MetricAlert", version: "1.
|
|
222
|
+
MetricAlert[_a] = { fqn: "@microsoft/terraform-cdk-constructs.MetricAlert", version: "1.7.1" };
|
|
223
223
|
(() => {
|
|
224
224
|
azapi_resource_1.AzapiResource.registerSchemas(metric_alert_schemas_1.METRIC_ALERT_TYPE, metric_alert_schemas_1.ALL_METRIC_ALERT_VERSIONS);
|
|
225
225
|
})();
|
|
@@ -206,7 +206,7 @@ class NetworkInterface extends azapi_resource_1.AzapiResource {
|
|
|
206
206
|
}
|
|
207
207
|
exports.NetworkInterface = NetworkInterface;
|
|
208
208
|
_a = JSII_RTTI_SYMBOL_1;
|
|
209
|
-
NetworkInterface[_a] = { fqn: "@microsoft/terraform-cdk-constructs.NetworkInterface", version: "1.
|
|
209
|
+
NetworkInterface[_a] = { fqn: "@microsoft/terraform-cdk-constructs.NetworkInterface", version: "1.7.1" };
|
|
210
210
|
(() => {
|
|
211
211
|
azapi_resource_1.AzapiResource.registerSchemas(network_interface_schemas_1.NETWORK_INTERFACE_TYPE, network_interface_schemas_1.ALL_NETWORK_INTERFACE_VERSIONS);
|
|
212
212
|
})();
|
|
@@ -219,7 +219,7 @@ class NetworkSecurityGroup extends azapi_resource_1.AzapiResource {
|
|
|
219
219
|
}
|
|
220
220
|
exports.NetworkSecurityGroup = NetworkSecurityGroup;
|
|
221
221
|
_a = JSII_RTTI_SYMBOL_1;
|
|
222
|
-
NetworkSecurityGroup[_a] = { fqn: "@microsoft/terraform-cdk-constructs.NetworkSecurityGroup", version: "1.
|
|
222
|
+
NetworkSecurityGroup[_a] = { fqn: "@microsoft/terraform-cdk-constructs.NetworkSecurityGroup", version: "1.7.1" };
|
|
223
223
|
(() => {
|
|
224
224
|
azapi_resource_1.AzapiResource.registerSchemas(network_security_group_schemas_1.NETWORK_SECURITY_GROUP_TYPE, network_security_group_schemas_1.ALL_NETWORK_SECURITY_GROUP_VERSIONS);
|
|
225
225
|
})();
|
|
@@ -52,7 +52,7 @@ const COMMON_PROPERTIES = {
|
|
|
52
52
|
scope: {
|
|
53
53
|
dataType: version_interfaces_1.PropertyType.STRING,
|
|
54
54
|
required: true,
|
|
55
|
-
description: "The scope at which the policy assignment is applied (subscription, resource group, or resource)",
|
|
55
|
+
description: "The scope at which the policy assignment is applied (management group, subscription, resource group, or resource)",
|
|
56
56
|
validation: [
|
|
57
57
|
{
|
|
58
58
|
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
@@ -257,4 +257,4 @@ exports.ALL_POLICY_ASSIGNMENT_VERSIONS = [
|
|
|
257
257
|
* Resource type constant
|
|
258
258
|
*/
|
|
259
259
|
exports.POLICY_ASSIGNMENT_TYPE = "Microsoft.Authorization/policyAssignments";
|
|
260
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9saWN5LWFzc2lnbm1lbnQtc2NoZW1hcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1wb2xpY3lhc3NpZ25tZW50L2xpYi9wb2xpY3ktYXNzaWdubWVudC1zY2hlbWFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUVILDJHQU80RTtBQUU1RSxnRkFBZ0Y7QUFDaEYsOEJBQThCO0FBQzlCLGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQU0saUJBQWlCLEdBQTBDO0lBQy9ELElBQUksRUFBRTtRQUNKLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLEtBQUs7UUFDZixXQUFXLEVBQ1Qsb0VBQW9FO1FBQ3RFLFVBQVUsRUFBRTtZQUNWO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxhQUFhO2dCQUMxQyxLQUFLLEVBQUUsa0JBQWtCO2dCQUN6QixPQUFPLEVBQ0wsMkZBQTJGO2FBQzlGO1lBQ0Q7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFdBQVc7Z0JBQ3hDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtnQkFDdEMsT0FBTyxFQUFFLDREQUE0RDthQUN0RTtTQUNGO0tBQ0Y7SUFDRCxrQkFBa0IsRUFBRTtRQUNsQixRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxJQUFJO1FBQ2QsV0FBVyxFQUNULHdGQUF3RjtRQUMxRixVQUFVLEVBQUU7WUFDVjtnQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsUUFBUTtnQkFDckMsT0FBTyxFQUFFLHlEQUF5RDthQUNuRTtZQUNEO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxVQUFVO2dCQUN2QyxLQUFLLEVBQUUsaUNBQVksQ0FBQyxNQUFNO2dCQUMxQixPQUFPLEVBQUUsdUNBQXVDO2FBQ2pEO1NBQ0Y7S0FD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ZjtZQUNFLFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsS0FBSyxFQUFFO2dCQUNMO29CQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxRQUFRO29CQUNyQyxPQUFPLEVBQUUseURBQXlEO2lCQUNuRTthQUNGO1NBQ0Y7UUFDRDtZQUNFLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLEtBQUssRUFBRTtnQkFDTDtvQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsUUFBUTtvQkFDckMsT0FBTyxFQUFFLDBDQUEwQztpQkFDcEQ7YUFDRjtTQUNGO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsZ0ZBQWdGO0FBQ2hGLHlCQUF5QjtBQUN6QixnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDVSxRQUFBLG9DQUFvQyxHQUFrQjtJQUNqRSxPQUFPLEVBQUUsWUFBWTtJQUNyQixNQUFNLEVBQUUsMkNBQW1DO0lBQzNDLFlBQVksRUFBRSx3Q0FBbUIsQ0FBQyxNQUFNO0lBQ3hDLFdBQVcsRUFBRSxZQUFZO0lBQ3pCLGVBQWUsRUFBRSxTQUFTO0lBQzFCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLGVBQWUsRUFBRSxFQUFFO0lBQ25CLGNBQWMsRUFBRSw4Q0FBOEM7SUFDOUQsU0FBUyxFQUFFO1FBQ1Q7WUFDRSxVQUFVLEVBQUUsT0FBTztZQUNuQixXQUFXLEVBQ1Qsd0hBQXdIO1lBQzFILFFBQVEsRUFBRSxLQUFLO1NBQ2hCO0tBQ0Y7Q0FDRixDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLDhCQUE4QixHQUFvQjtJQUM3RCw0Q0FBb0M7Q0FDckMsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxzQkFBc0IsR0FDakMsMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFQSSBzY2hlbWFzIGZvciBBenVyZSBQb2xpY3kgQXNzaWdubWVudCBhY3Jvc3MgYWxsIHN1cHBvcnRlZCB2ZXJzaW9uc1xuICpcbiAqIFRoaXMgZmlsZSBkZWZpbmVzIHRoZSBjb21wbGV0ZSBBUEkgc2NoZW1hcyBmb3IgTWljcm9zb2Z0LkF1dGhvcml6YXRpb24vcG9saWN5QXNzaWdubWVudHNcbiAqIGFjcm9zcyBhbGwgc3VwcG9ydGVkIEFQSSB2ZXJzaW9ucy4gVGhlIHNjaGVtYXMgYXJlIHVzZWQgYnkgdGhlIFZlcnNpb25lZEF6YXBpUmVzb3VyY2VcbiAqIGZyYW1ld29yayBmb3IgdmFsaWRhdGlvbiwgdHJhbnNmb3JtYXRpb24sIGFuZCB2ZXJzaW9uIG1hbmFnZW1lbnQuXG4gKi9cblxuaW1wb3J0IHtcbiAgQXBpU2NoZW1hLFxuICBQcm9wZXJ0eURlZmluaXRpb24sXG4gIFByb3BlcnR5VHlwZSxcbiAgVmFsaWRhdGlvblJ1bGVUeXBlLFxuICBWZXJzaW9uQ29uZmlnLFxuICBWZXJzaW9uU3VwcG9ydExldmVsLFxufSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvdmVyc2lvbi1tYW5hZ2VyL2ludGVyZmFjZXMvdmVyc2lvbi1pbnRlcmZhY2VzXCI7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDT01NT04gUFJPUEVSVFkgREVGSU5JVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQ29tbW9uIHByb3BlcnR5IGRlZmluaXRpb25zIHNoYXJlZCBhY3Jvc3MgYWxsIFBvbGljeSBBc3NpZ25tZW50IHZlcnNpb25zXG4gKi9cbmNvbnN0IENPTU1PTl9QUk9QRVJUSUVTOiB7IFtrZXk6IHN0cmluZ106IFByb3BlcnR5RGVmaW5pdGlvbiB9ID0ge1xuICBuYW1lOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJUaGUgbmFtZSBvZiB0aGUgcG9saWN5IGFzc2lnbm1lbnQuIE11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgc2NvcGVcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUEFUVEVSTl9NQVRDSCxcbiAgICAgICAgdmFsdWU6IFwiXlthLXpBLVowLTlfLV0rJFwiLFxuICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgIFwiUG9saWN5IGFzc2lnbm1lbnQgbmFtZSBjYW4gb25seSBjb250YWluIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCB1bmRlcnNjb3JlcywgYW5kIGh5cGhlbnNcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVkFMVUVfUkFOR0UsXG4gICAgICAgIHZhbHVlOiB7IG1pbkxlbmd0aDogMSwgbWF4TGVuZ3RoOiA2NCB9LFxuICAgICAgICBtZXNzYWdlOiBcIlBvbGljeSBhc3NpZ25tZW50IG5hbWUgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDY0IGNoYXJhY3RlcnNcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgcG9saWN5RGVmaW5pdGlvbklkOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIlRoZSBwb2xpY3kgZGVmaW5pdGlvbiBJRCB0byBhc3NpZ24uIFRoaXMgY2FuIGJlIGEgYnVpbHQtaW4gb3IgY3VzdG9tIHBvbGljeSBkZWZpbml0aW9uXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICBtZXNzYWdlOiBcIlBvbGljeSBkZWZpbml0aW9uIElEIGlzIHJlcXVpcmVkIGZvciBwb2xpY3kgYXNzaWdubWVudHNcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVFlQRV9DSEVDSyxcbiAgICAgICAgdmFsdWU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgICAgIG1lc3NhZ2U6IFwiUG9saWN5IGRlZmluaXRpb24gSUQgbXVzdCBiZSBhIHN0cmluZ1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBzY29wZToge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJUaGUgc2NvcGUgYXQgd2hpY2ggdGhlIHBvbGljeSBhc3NpZ25tZW50IGlzIGFwcGxpZWQgKHN1YnNjcmlwdGlvbiwgcmVzb3VyY2UgZ3JvdXAsIG9yIHJlc291cmNlKVwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgbWVzc2FnZTogXCJTY29wZSBpcyByZXF1aXJlZCBmb3IgcG9saWN5IGFzc2lnbm1lbnRzXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgIHZhbHVlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgICAgICBtZXNzYWdlOiBcIlNjb3BlIG11c3QgYmUgYSBzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgZGlzcGxheU5hbWU6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiVGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgcG9saWN5IGFzc2lnbm1lbnRcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVkFMVUVfUkFOR0UsXG4gICAgICAgIHZhbHVlOiB7IG1pbkxlbmd0aDogMSwgbWF4TGVuZ3RoOiAxMjggfSxcbiAgICAgICAgbWVzc2FnZTogXCJEaXNwbGF5IG5hbWUgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDEyOCBjaGFyYWN0ZXJzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIGRlc2NyaXB0aW9uOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJUaGUgcG9saWN5IGFzc2lnbm1lbnQgZGVzY3JpcHRpb24uIFByb3ZpZGVzIGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IHRoZSBhc3NpZ25tZW50XCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlZBTFVFX1JBTkdFLFxuICAgICAgICB2YWx1ZTogeyBtaW5MZW5ndGg6IDAsIG1heExlbmd0aDogNTEyIH0sXG4gICAgICAgIG1lc3NhZ2U6IFwiRGVzY3JpcHRpb24gbXVzdCBub3QgZXhjZWVkIDUxMiBjaGFyYWN0ZXJzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIGVuZm9yY2VtZW50TW9kZToge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZWZhdWx0VmFsdWU6IFwiRGVmYXVsdFwiLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJUaGUgZW5mb3JjZW1lbnQgbW9kZSBvZiB0aGUgcG9saWN5IGFzc2lnbm1lbnQuIFZhbGlkIHZhbHVlczogRGVmYXVsdCwgRG9Ob3RFbmZvcmNlXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlBBVFRFUk5fTUFUQ0gsXG4gICAgICAgIHZhbHVlOiBcIl4oRGVmYXVsdHxEb05vdEVuZm9yY2UpJFwiLFxuICAgICAgICBtZXNzYWdlOiBcIkVuZm9yY2VtZW50IG1vZGUgbXVzdCBiZSBlaXRoZXIgRGVmYXVsdCBvciBEb05vdEVuZm9yY2VcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgcGFyYW1ldGVyczoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuT0JKRUNULFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiUGFyYW1ldGVycyBmb3IgdGhlIHBvbGljeSBhc3NpZ25tZW50LiBQcm92aWRlcyB2YWx1ZXMgZm9yIHBhcmFtZXRlcnMgZGVmaW5lZCBpbiB0aGUgcG9saWN5IGRlZmluaXRpb25cIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVFlQRV9DSEVDSyxcbiAgICAgICAgdmFsdWU6IFByb3BlcnR5VHlwZS5PQkpFQ1QsXG4gICAgICAgIG1lc3NhZ2U6IFwiUGFyYW1ldGVycyBtdXN0IGJlIGEgdmFsaWQgSlNPTiBvYmplY3RcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgbWV0YWRhdGE6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLk9CSkVDVCxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIk1ldGFkYXRhIGZvciB0aGUgcG9saWN5IGFzc2lnbm1lbnQuIFVzZWQgdG8gc3RvcmUgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBsaWtlIGFzc2lnbmVkQnksIHBhcmFtZXRlclNjb3BlcywgZXRjLlwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5UWVBFX0NIRUNLLFxuICAgICAgICB2YWx1ZTogUHJvcGVydHlUeXBlLk9CSkVDVCxcbiAgICAgICAgbWVzc2FnZTogXCJNZXRhZGF0YSBtdXN0IGJlIGEgdmFsaWQgSlNPTiBvYmplY3RcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgaWRlbnRpdHk6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLk9CSkVDVCxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIlRoZSBtYW5hZ2VkIGlkZW50aXR5IGFzc29jaWF0ZWQgd2l0aCB0aGUgcG9saWN5IGFzc2lnbm1lbnQuIFJlcXVpcmVkIGZvciBwb2xpY2llcyB3aXRoIGRlcGxveUlmTm90RXhpc3RzIG9yIG1vZGlmeSBlZmZlY3RzXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgIHZhbHVlOiBQcm9wZXJ0eVR5cGUuT0JKRUNULFxuICAgICAgICBtZXNzYWdlOiBcIklkZW50aXR5IG11c3QgYmUgYSB2YWxpZCBKU09OIG9iamVjdFwiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBub3RTY29wZXM6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLkFSUkFZLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVGhlIHBvbGljeSdzIGV4Y2x1ZGVkIHNjb3Blcy4gUmVzb3VyY2VzIHdpdGhpbiB0aGVzZSBzY29wZXMgd2lsbCBub3QgYmUgZXZhbHVhdGVkIGJ5IHRoZSBwb2xpY3lcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVFlQRV9DSEVDSyxcbiAgICAgICAgdmFsdWU6IFByb3BlcnR5VHlwZS5BUlJBWSxcbiAgICAgICAgbWVzc2FnZTogXCJOb3RTY29wZXMgbXVzdCBiZSBhbiBhcnJheSBvZiBzdHJpbmdzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIG5vbkNvbXBsaWFuY2VNZXNzYWdlczoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuQVJSQVksXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJUaGUgbm9uLWNvbXBsaWFuY2UgbWVzc2FnZXMgZm9yIHRoZSBwb2xpY3kgYXNzaWdubWVudC4gUHJvdmlkZXMgY3VzdG9tIG1lc3NhZ2VzIHdoZW4gcmVzb3VyY2VzIGFyZSBub24tY29tcGxpYW50XCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgIHZhbHVlOiBQcm9wZXJ0eVR5cGUuQVJSQVksXG4gICAgICAgIG1lc3NhZ2U6IFwiTm9uQ29tcGxpYW5jZU1lc3NhZ2VzIG11c3QgYmUgYW4gYXJyYXkgb2Ygb2JqZWN0c1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBpZ25vcmVDaGFuZ2VzOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5BUlJBWSxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiQXJyYXkgb2YgcHJvcGVydHkgbmFtZXMgdG8gaWdub3JlIGR1cmluZyB1cGRhdGVzXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgIHZhbHVlOiBQcm9wZXJ0eVR5cGUuQVJSQVksXG4gICAgICAgIG1lc3NhZ2U6IFwiSWdub3JlQ2hhbmdlcyBtdXN0IGJlIGFuIGFycmF5IG9mIHN0cmluZ3NcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBWRVJTSU9OLVNQRUNJRklDIFNDSEVNQVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQVBJIFNjaGVtYSBmb3IgUG9saWN5IEFzc2lnbm1lbnQgdmVyc2lvbiAyMDIyLTA2LTAxXG4gKiBUaGlzIGlzIHRoZSBsYXRlc3Qgc3RhYmxlIEFQSSB2ZXJzaW9uIGZvciBwb2xpY3kgYXNzaWdubWVudHNcbiAqL1xuZXhwb3J0IGNvbnN0IFBPTElDWV9BU1NJR05NRU5UX1NDSEVNQV8yMDIyXzA2XzAxOiBBcGlTY2hlbWEgPSB7XG4gIHJlc291cmNlVHlwZTogXCJNaWNyb3NvZnQuQXV0aG9yaXphdGlvbi9wb2xpY3lBc3NpZ25tZW50c1wiLFxuICB2ZXJzaW9uOiBcIjIwMjItMDYtMDFcIixcbiAgcHJvcGVydGllczoge1xuICAgIC4uLkNPTU1PTl9QUk9QRVJUSUVTLFxuICB9LFxuICByZXF1aXJlZDogW1wicG9saWN5RGVmaW5pdGlvbklkXCIsIFwic2NvcGVcIl0sXG4gIG9wdGlvbmFsOiBbXG4gICAgXCJuYW1lXCIsXG4gICAgXCJkaXNwbGF5TmFtZVwiLFxuICAgIFwiZGVzY3JpcHRpb25cIixcbiAgICBcImVuZm9yY2VtZW50TW9kZVwiLFxuICAgIFwicGFyYW1ldGVyc1wiLFxuICAgIFwibWV0YWRhdGFcIixcbiAgICBcImlkZW50aXR5XCIsXG4gICAgXCJub3RTY29wZXNcIixcbiAgICBcIm5vbkNvbXBsaWFuY2VNZXNzYWdlc1wiLFxuICAgIFwiaWdub3JlQ2hhbmdlc1wiLFxuICBdLFxuICBkZXByZWNhdGVkOiBbXSxcbiAgdHJhbnNmb3JtYXRpb25SdWxlczoge30sXG4gIHZhbGlkYXRpb25SdWxlczogW1xuICAgIHtcbiAgICAgIHByb3BlcnR5OiBcInBvbGljeURlZmluaXRpb25JZFwiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTogXCJQb2xpY3kgZGVmaW5pdGlvbiBJRCBpcyByZXF1aXJlZCBmb3IgcG9saWN5IGFzc2lnbm1lbnRzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwic2NvcGVcIixcbiAgICAgIHJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICAgIG1lc3NhZ2U6IFwiU2NvcGUgaXMgcmVxdWlyZWQgZm9yIHBvbGljeSBhc3NpZ25tZW50c1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFZFUlNJT04gQ09ORklHVVJBVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogVmVyc2lvbiBjb25maWd1cmF0aW9uIGZvciBQb2xpY3kgQXNzaWdubWVudCAyMDIyLTA2LTAxXG4gKi9cbmV4cG9ydCBjb25zdCBQT0xJQ1lfQVNTSUdOTUVOVF9WRVJTSU9OXzIwMjJfMDZfMDE6IFZlcnNpb25Db25maWcgPSB7XG4gIHZlcnNpb246IFwiMjAyMi0wNi0wMVwiLFxuICBzY2hlbWE6IFBPTElDWV9BU1NJR05NRU5UX1NDSEVNQV8yMDIyXzA2XzAxLFxuICBzdXBwb3J0TGV2ZWw6IFZlcnNpb25TdXBwb3J0TGV2ZWwuQUNUSVZFLFxuICByZWxlYXNlRGF0ZTogXCIyMDIyLTA2LTAxXCIsXG4gIGRlcHJlY2F0aW9uRGF0ZTogdW5kZWZpbmVkLFxuICBzdW5zZXREYXRlOiB1bmRlZmluZWQsXG4gIGJyZWFraW5nQ2hhbmdlczogW10sXG4gIG1pZ3JhdGlvbkd1aWRlOiBcIi9kb2NzL3BvbGljeS1hc3NpZ25tZW50L21pZ3JhdGlvbi0yMDIyLTA2LTAxXCIsXG4gIGNoYW5nZUxvZzogW1xuICAgIHtcbiAgICAgIGNoYW5nZVR5cGU6IFwiYWRkZWRcIixcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIlN0YWJsZSByZWxlYXNlIG9mIFBvbGljeSBBc3NpZ25tZW50IEFQSSB3aXRoIGZ1bGwgc3VwcG9ydCBmb3IgZW5mb3JjZW1lbnQgbW9kZXMsIGlkZW50aXR5LCBhbmQgbm9uLWNvbXBsaWFuY2UgbWVzc2FnZXNcIixcbiAgICAgIGJyZWFraW5nOiBmYWxzZSxcbiAgICB9LFxuICBdLFxufTtcblxuLyoqXG4gKiBBbGwgc3VwcG9ydGVkIFBvbGljeSBBc3NpZ25tZW50IHZlcnNpb25zIGZvciByZWdpc3RyYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IEFMTF9QT0xJQ1lfQVNTSUdOTUVOVF9WRVJTSU9OUzogVmVyc2lvbkNvbmZpZ1tdID0gW1xuICBQT0xJQ1lfQVNTSUdOTUVOVF9WRVJTSU9OXzIwMjJfMDZfMDEsXG5dO1xuXG4vKipcbiAqIFJlc291cmNlIHR5cGUgY29uc3RhbnRcbiAqL1xuZXhwb3J0IGNvbnN0IFBPTElDWV9BU1NJR05NRU5UX1RZUEUgPVxuICBcIk1pY3Jvc29mdC5BdXRob3JpemF0aW9uL3BvbGljeUFzc2lnbm1lbnRzXCI7XG4iXX0=
|
|
260
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9saWN5LWFzc2lnbm1lbnQtc2NoZW1hcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1wb2xpY3lhc3NpZ25tZW50L2xpYi9wb2xpY3ktYXNzaWdubWVudC1zY2hlbWFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUVILDJHQU80RTtBQUU1RSxnRkFBZ0Y7QUFDaEYsOEJBQThCO0FBQzlCLGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQU0saUJBQWlCLEdBQTBDO0lBQy9ELElBQUksRUFBRTtRQUNKLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLEtBQUs7UUFDZixXQUFXLEVBQ1Qsb0VBQW9FO1FBQ3RFLFVBQVUsRUFBRTtZQUNWO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxhQUFhO2dCQUMxQyxLQUFLLEVBQUUsa0JBQWtCO2dCQUN6QixPQUFPLEVBQ0wsMkZBQTJGO2FBQzlGO1lBQ0Q7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFdBQVc7Z0JBQ3hDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtnQkFDdEMsT0FBTyxFQUFFLDREQUE0RDthQUN0RTtTQUNGO0tBQ0Y7SUFDRCxrQkFBa0IsRUFBRTtRQUNsQixRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxJQUFJO1FBQ2QsV0FBVyxFQUNULHdGQUF3RjtRQUMxRixVQUFVLEVBQUU7WUFDVjtnQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsUUFBUTtnQkFDckMsT0FBTyxFQUFFLHlEQUF5RDthQUNuRTtZQUNEO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxVQUFVO2dCQUN2QyxLQUFLLEVBQUUsaUNBQVksQ0FBQyxNQUFNO2dCQUMxQixPQUFPLEVBQUUsdUNBQXVDO2FBQ2pEO1NBQ0Y7S0FD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ZjtZQUNFLFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsS0FBSyxFQUFFO2dCQUNMO29CQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxRQUFRO29CQUNyQyxPQUFPLEVBQUUseURBQXlEO2lCQUNuRTthQUNGO1NBQ0Y7UUFDRDtZQUNFLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLEtBQUssRUFBRTtnQkFDTDtvQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsUUFBUTtvQkFDckMsT0FBTyxFQUFFLDBDQUEwQztpQkFDcEQ7YUFDRjtTQUNGO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsZ0ZBQWdGO0FBQ2hGLHlCQUF5QjtBQUN6QixnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDVSxRQUFBLG9DQUFvQyxHQUFrQjtJQUNqRSxPQUFPLEVBQUUsWUFBWTtJQUNyQixNQUFNLEVBQUUsMkNBQW1DO0lBQzNDLFlBQVksRUFBRSx3Q0FBbUIsQ0FBQyxNQUFNO0lBQ3hDLFdBQVcsRUFBRSxZQUFZO0lBQ3pCLGVBQWUsRUFBRSxTQUFTO0lBQzFCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLGVBQWUsRUFBRSxFQUFFO0lBQ25CLGNBQWMsRUFBRSw4Q0FBOEM7SUFDOUQsU0FBUyxFQUFFO1FBQ1Q7WUFDRSxVQUFVLEVBQUUsT0FBTztZQUNuQixXQUFXLEVBQ1Qsd0hBQXdIO1lBQzFILFFBQVEsRUFBRSxLQUFLO1NBQ2hCO0tBQ0Y7Q0FDRixDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLDhCQUE4QixHQUFvQjtJQUM3RCw0Q0FBb0M7Q0FDckMsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxzQkFBc0IsR0FDakMsMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFQSSBzY2hlbWFzIGZvciBBenVyZSBQb2xpY3kgQXNzaWdubWVudCBhY3Jvc3MgYWxsIHN1cHBvcnRlZCB2ZXJzaW9uc1xuICpcbiAqIFRoaXMgZmlsZSBkZWZpbmVzIHRoZSBjb21wbGV0ZSBBUEkgc2NoZW1hcyBmb3IgTWljcm9zb2Z0LkF1dGhvcml6YXRpb24vcG9saWN5QXNzaWdubWVudHNcbiAqIGFjcm9zcyBhbGwgc3VwcG9ydGVkIEFQSSB2ZXJzaW9ucy4gVGhlIHNjaGVtYXMgYXJlIHVzZWQgYnkgdGhlIFZlcnNpb25lZEF6YXBpUmVzb3VyY2VcbiAqIGZyYW1ld29yayBmb3IgdmFsaWRhdGlvbiwgdHJhbnNmb3JtYXRpb24sIGFuZCB2ZXJzaW9uIG1hbmFnZW1lbnQuXG4gKi9cblxuaW1wb3J0IHtcbiAgQXBpU2NoZW1hLFxuICBQcm9wZXJ0eURlZmluaXRpb24sXG4gIFByb3BlcnR5VHlwZSxcbiAgVmFsaWRhdGlvblJ1bGVUeXBlLFxuICBWZXJzaW9uQ29uZmlnLFxuICBWZXJzaW9uU3VwcG9ydExldmVsLFxufSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvdmVyc2lvbi1tYW5hZ2VyL2ludGVyZmFjZXMvdmVyc2lvbi1pbnRlcmZhY2VzXCI7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDT01NT04gUFJPUEVSVFkgREVGSU5JVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQ29tbW9uIHByb3BlcnR5IGRlZmluaXRpb25zIHNoYXJlZCBhY3Jvc3MgYWxsIFBvbGljeSBBc3NpZ25tZW50IHZlcnNpb25zXG4gKi9cbmNvbnN0IENPTU1PTl9QUk9QRVJUSUVTOiB7IFtrZXk6IHN0cmluZ106IFByb3BlcnR5RGVmaW5pdGlvbiB9ID0ge1xuICBuYW1lOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJUaGUgbmFtZSBvZiB0aGUgcG9saWN5IGFzc2lnbm1lbnQuIE11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgc2NvcGVcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUEFUVEVSTl9NQVRDSCxcbiAgICAgICAgdmFsdWU6IFwiXlthLXpBLVowLTlfLV0rJFwiLFxuICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgIFwiUG9saWN5IGFzc2lnbm1lbnQgbmFtZSBjYW4gb25seSBjb250YWluIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCB1bmRlcnNjb3JlcywgYW5kIGh5cGhlbnNcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVkFMVUVfUkFOR0UsXG4gICAgICAgIHZhbHVlOiB7IG1pbkxlbmd0aDogMSwgbWF4TGVuZ3RoOiA2NCB9LFxuICAgICAgICBtZXNzYWdlOiBcIlBvbGljeSBhc3NpZ25tZW50IG5hbWUgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDY0IGNoYXJhY3RlcnNcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgcG9saWN5RGVmaW5pdGlvbklkOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIlRoZSBwb2xpY3kgZGVmaW5pdGlvbiBJRCB0byBhc3NpZ24uIFRoaXMgY2FuIGJlIGEgYnVpbHQtaW4gb3IgY3VzdG9tIHBvbGljeSBkZWZpbml0aW9uXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICBtZXNzYWdlOiBcIlBvbGljeSBkZWZpbml0aW9uIElEIGlzIHJlcXVpcmVkIGZvciBwb2xpY3kgYXNzaWdubWVudHNcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVFlQRV9DSEVDSyxcbiAgICAgICAgdmFsdWU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgICAgIG1lc3NhZ2U6IFwiUG9saWN5IGRlZmluaXRpb24gSUQgbXVzdCBiZSBhIHN0cmluZ1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBzY29wZToge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJUaGUgc2NvcGUgYXQgd2hpY2ggdGhlIHBvbGljeSBhc3NpZ25tZW50IGlzIGFwcGxpZWQgKG1hbmFnZW1lbnQgZ3JvdXAsIHN1YnNjcmlwdGlvbiwgcmVzb3VyY2UgZ3JvdXAsIG9yIHJlc291cmNlKVwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgbWVzc2FnZTogXCJTY29wZSBpcyByZXF1aXJlZCBmb3IgcG9saWN5IGFzc2lnbm1lbnRzXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgIHZhbHVlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgICAgICBtZXNzYWdlOiBcIlNjb3BlIG11c3QgYmUgYSBzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgZGlzcGxheU5hbWU6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiVGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgcG9saWN5IGFzc2lnbm1lbnRcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVkFMVUVfUkFOR0UsXG4gICAgICAgIHZhbHVlOiB7IG1pbkxlbmd0aDogMSwgbWF4TGVuZ3RoOiAxMjggfSxcbiAgICAgICAgbWVzc2FnZTogXCJEaXNwbGF5IG5hbWUgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDEyOCBjaGFyYWN0ZXJzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIGRlc2NyaXB0aW9uOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJUaGUgcG9saWN5IGFzc2lnbm1lbnQgZGVzY3JpcHRpb24uIFByb3ZpZGVzIGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IHRoZSBhc3NpZ25tZW50XCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlZBTFVFX1JBTkdFLFxuICAgICAgICB2YWx1ZTogeyBtaW5MZW5ndGg6IDAsIG1heExlbmd0aDogNTEyIH0sXG4gICAgICAgIG1lc3NhZ2U6IFwiRGVzY3JpcHRpb24gbXVzdCBub3QgZXhjZWVkIDUxMiBjaGFyYWN0ZXJzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIGVuZm9yY2VtZW50TW9kZToge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZWZhdWx0VmFsdWU6IFwiRGVmYXVsdFwiLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJUaGUgZW5mb3JjZW1lbnQgbW9kZSBvZiB0aGUgcG9saWN5IGFzc2lnbm1lbnQuIFZhbGlkIHZhbHVlczogRGVmYXVsdCwgRG9Ob3RFbmZvcmNlXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlBBVFRFUk5fTUFUQ0gsXG4gICAgICAgIHZhbHVlOiBcIl4oRGVmYXVsdHxEb05vdEVuZm9yY2UpJFwiLFxuICAgICAgICBtZXNzYWdlOiBcIkVuZm9yY2VtZW50IG1vZGUgbXVzdCBiZSBlaXRoZXIgRGVmYXVsdCBvciBEb05vdEVuZm9yY2VcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgcGFyYW1ldGVyczoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuT0JKRUNULFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiUGFyYW1ldGVycyBmb3IgdGhlIHBvbGljeSBhc3NpZ25tZW50LiBQcm92aWRlcyB2YWx1ZXMgZm9yIHBhcmFtZXRlcnMgZGVmaW5lZCBpbiB0aGUgcG9saWN5IGRlZmluaXRpb25cIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVFlQRV9DSEVDSyxcbiAgICAgICAgdmFsdWU6IFByb3BlcnR5VHlwZS5PQkpFQ1QsXG4gICAgICAgIG1lc3NhZ2U6IFwiUGFyYW1ldGVycyBtdXN0IGJlIGEgdmFsaWQgSlNPTiBvYmplY3RcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgbWV0YWRhdGE6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLk9CSkVDVCxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIk1ldGFkYXRhIGZvciB0aGUgcG9saWN5IGFzc2lnbm1lbnQuIFVzZWQgdG8gc3RvcmUgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBsaWtlIGFzc2lnbmVkQnksIHBhcmFtZXRlclNjb3BlcywgZXRjLlwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5UWVBFX0NIRUNLLFxuICAgICAgICB2YWx1ZTogUHJvcGVydHlUeXBlLk9CSkVDVCxcbiAgICAgICAgbWVzc2FnZTogXCJNZXRhZGF0YSBtdXN0IGJlIGEgdmFsaWQgSlNPTiBvYmplY3RcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgaWRlbnRpdHk6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLk9CSkVDVCxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIlRoZSBtYW5hZ2VkIGlkZW50aXR5IGFzc29jaWF0ZWQgd2l0aCB0aGUgcG9saWN5IGFzc2lnbm1lbnQuIFJlcXVpcmVkIGZvciBwb2xpY2llcyB3aXRoIGRlcGxveUlmTm90RXhpc3RzIG9yIG1vZGlmeSBlZmZlY3RzXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgIHZhbHVlOiBQcm9wZXJ0eVR5cGUuT0JKRUNULFxuICAgICAgICBtZXNzYWdlOiBcIklkZW50aXR5IG11c3QgYmUgYSB2YWxpZCBKU09OIG9iamVjdFwiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBub3RTY29wZXM6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLkFSUkFZLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVGhlIHBvbGljeSdzIGV4Y2x1ZGVkIHNjb3Blcy4gUmVzb3VyY2VzIHdpdGhpbiB0aGVzZSBzY29wZXMgd2lsbCBub3QgYmUgZXZhbHVhdGVkIGJ5IHRoZSBwb2xpY3lcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVFlQRV9DSEVDSyxcbiAgICAgICAgdmFsdWU6IFByb3BlcnR5VHlwZS5BUlJBWSxcbiAgICAgICAgbWVzc2FnZTogXCJOb3RTY29wZXMgbXVzdCBiZSBhbiBhcnJheSBvZiBzdHJpbmdzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIG5vbkNvbXBsaWFuY2VNZXNzYWdlczoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuQVJSQVksXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJUaGUgbm9uLWNvbXBsaWFuY2UgbWVzc2FnZXMgZm9yIHRoZSBwb2xpY3kgYXNzaWdubWVudC4gUHJvdmlkZXMgY3VzdG9tIG1lc3NhZ2VzIHdoZW4gcmVzb3VyY2VzIGFyZSBub24tY29tcGxpYW50XCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgIHZhbHVlOiBQcm9wZXJ0eVR5cGUuQVJSQVksXG4gICAgICAgIG1lc3NhZ2U6IFwiTm9uQ29tcGxpYW5jZU1lc3NhZ2VzIG11c3QgYmUgYW4gYXJyYXkgb2Ygb2JqZWN0c1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBpZ25vcmVDaGFuZ2VzOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5BUlJBWSxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiQXJyYXkgb2YgcHJvcGVydHkgbmFtZXMgdG8gaWdub3JlIGR1cmluZyB1cGRhdGVzXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgIHZhbHVlOiBQcm9wZXJ0eVR5cGUuQVJSQVksXG4gICAgICAgIG1lc3NhZ2U6IFwiSWdub3JlQ2hhbmdlcyBtdXN0IGJlIGFuIGFycmF5IG9mIHN0cmluZ3NcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBWRVJTSU9OLVNQRUNJRklDIFNDSEVNQVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQVBJIFNjaGVtYSBmb3IgUG9saWN5IEFzc2lnbm1lbnQgdmVyc2lvbiAyMDIyLTA2LTAxXG4gKiBUaGlzIGlzIHRoZSBsYXRlc3Qgc3RhYmxlIEFQSSB2ZXJzaW9uIGZvciBwb2xpY3kgYXNzaWdubWVudHNcbiAqL1xuZXhwb3J0IGNvbnN0IFBPTElDWV9BU1NJR05NRU5UX1NDSEVNQV8yMDIyXzA2XzAxOiBBcGlTY2hlbWEgPSB7XG4gIHJlc291cmNlVHlwZTogXCJNaWNyb3NvZnQuQXV0aG9yaXphdGlvbi9wb2xpY3lBc3NpZ25tZW50c1wiLFxuICB2ZXJzaW9uOiBcIjIwMjItMDYtMDFcIixcbiAgcHJvcGVydGllczoge1xuICAgIC4uLkNPTU1PTl9QUk9QRVJUSUVTLFxuICB9LFxuICByZXF1aXJlZDogW1wicG9saWN5RGVmaW5pdGlvbklkXCIsIFwic2NvcGVcIl0sXG4gIG9wdGlvbmFsOiBbXG4gICAgXCJuYW1lXCIsXG4gICAgXCJkaXNwbGF5TmFtZVwiLFxuICAgIFwiZGVzY3JpcHRpb25cIixcbiAgICBcImVuZm9yY2VtZW50TW9kZVwiLFxuICAgIFwicGFyYW1ldGVyc1wiLFxuICAgIFwibWV0YWRhdGFcIixcbiAgICBcImlkZW50aXR5XCIsXG4gICAgXCJub3RTY29wZXNcIixcbiAgICBcIm5vbkNvbXBsaWFuY2VNZXNzYWdlc1wiLFxuICAgIFwiaWdub3JlQ2hhbmdlc1wiLFxuICBdLFxuICBkZXByZWNhdGVkOiBbXSxcbiAgdHJhbnNmb3JtYXRpb25SdWxlczoge30sXG4gIHZhbGlkYXRpb25SdWxlczogW1xuICAgIHtcbiAgICAgIHByb3BlcnR5OiBcInBvbGljeURlZmluaXRpb25JZFwiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTogXCJQb2xpY3kgZGVmaW5pdGlvbiBJRCBpcyByZXF1aXJlZCBmb3IgcG9saWN5IGFzc2lnbm1lbnRzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwic2NvcGVcIixcbiAgICAgIHJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICAgIG1lc3NhZ2U6IFwiU2NvcGUgaXMgcmVxdWlyZWQgZm9yIHBvbGljeSBhc3NpZ25tZW50c1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFZFUlNJT04gQ09ORklHVVJBVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogVmVyc2lvbiBjb25maWd1cmF0aW9uIGZvciBQb2xpY3kgQXNzaWdubWVudCAyMDIyLTA2LTAxXG4gKi9cbmV4cG9ydCBjb25zdCBQT0xJQ1lfQVNTSUdOTUVOVF9WRVJTSU9OXzIwMjJfMDZfMDE6IFZlcnNpb25Db25maWcgPSB7XG4gIHZlcnNpb246IFwiMjAyMi0wNi0wMVwiLFxuICBzY2hlbWE6IFBPTElDWV9BU1NJR05NRU5UX1NDSEVNQV8yMDIyXzA2XzAxLFxuICBzdXBwb3J0TGV2ZWw6IFZlcnNpb25TdXBwb3J0TGV2ZWwuQUNUSVZFLFxuICByZWxlYXNlRGF0ZTogXCIyMDIyLTA2LTAxXCIsXG4gIGRlcHJlY2F0aW9uRGF0ZTogdW5kZWZpbmVkLFxuICBzdW5zZXREYXRlOiB1bmRlZmluZWQsXG4gIGJyZWFraW5nQ2hhbmdlczogW10sXG4gIG1pZ3JhdGlvbkd1aWRlOiBcIi9kb2NzL3BvbGljeS1hc3NpZ25tZW50L21pZ3JhdGlvbi0yMDIyLTA2LTAxXCIsXG4gIGNoYW5nZUxvZzogW1xuICAgIHtcbiAgICAgIGNoYW5nZVR5cGU6IFwiYWRkZWRcIixcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIlN0YWJsZSByZWxlYXNlIG9mIFBvbGljeSBBc3NpZ25tZW50IEFQSSB3aXRoIGZ1bGwgc3VwcG9ydCBmb3IgZW5mb3JjZW1lbnQgbW9kZXMsIGlkZW50aXR5LCBhbmQgbm9uLWNvbXBsaWFuY2UgbWVzc2FnZXNcIixcbiAgICAgIGJyZWFraW5nOiBmYWxzZSxcbiAgICB9LFxuICBdLFxufTtcblxuLyoqXG4gKiBBbGwgc3VwcG9ydGVkIFBvbGljeSBBc3NpZ25tZW50IHZlcnNpb25zIGZvciByZWdpc3RyYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IEFMTF9QT0xJQ1lfQVNTSUdOTUVOVF9WRVJTSU9OUzogVmVyc2lvbkNvbmZpZ1tdID0gW1xuICBQT0xJQ1lfQVNTSUdOTUVOVF9WRVJTSU9OXzIwMjJfMDZfMDEsXG5dO1xuXG4vKipcbiAqIFJlc291cmNlIHR5cGUgY29uc3RhbnRcbiAqL1xuZXhwb3J0IGNvbnN0IFBPTElDWV9BU1NJR05NRU5UX1RZUEUgPVxuICBcIk1pY3Jvc29mdC5BdXRob3JpemF0aW9uL3BvbGljeUFzc2lnbm1lbnRzXCI7XG4iXX0=
|