@microsoft/terraform-cdk-constructs 1.8.0 → 2.2.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.
- package/.jsii +48328 -33656
- package/API.md +56123 -38995
- package/lib/azure-actiongroup/lib/action-group.d.ts +3 -3
- package/lib/azure-actiongroup/lib/action-group.js +5 -5
- package/lib/azure-actiongroup/test/action-group.integ.d.ts +1 -1
- package/lib/azure-actiongroup/test/action-group.integ.js +5 -5
- package/lib/azure-actiongroup/test/action-group.spec.js +9 -9
- package/lib/azure-activitylogalert/lib/activity-log-alert.d.ts +3 -3
- package/lib/azure-activitylogalert/lib/activity-log-alert.js +5 -5
- package/lib/azure-activitylogalert/test/activity-log-alert.integ.d.ts +1 -1
- package/lib/azure-activitylogalert/test/activity-log-alert.integ.js +6 -6
- package/lib/azure-activitylogalert/test/activity-log-alert.spec.js +9 -9
- package/lib/azure-aks/lib/aks-cluster.d.ts +6 -6
- package/lib/azure-aks/lib/aks-cluster.js +8 -8
- package/lib/azure-aks/test/aks-cluster.integ.d.ts +1 -1
- package/lib/azure-aks/test/aks-cluster.integ.js +5 -5
- package/lib/azure-aks/test/aks-cluster.spec.js +12 -12
- package/lib/azure-containerapps/index.d.ts +1 -0
- package/lib/azure-containerapps/index.js +18 -0
- package/lib/azure-containerapps/lib/container-app-environment-schemas.d.ts +50 -0
- package/lib/azure-containerapps/lib/container-app-environment-schemas.js +522 -0
- package/lib/azure-containerapps/lib/container-app-environment.d.ts +374 -0
- package/lib/azure-containerapps/lib/container-app-environment.js +310 -0
- package/lib/azure-containerapps/lib/container-app-schemas.d.ts +48 -0
- package/lib/azure-containerapps/lib/container-app-schemas.js +466 -0
- package/lib/azure-containerapps/lib/container-app.d.ts +925 -0
- package/lib/azure-containerapps/lib/container-app.js +320 -0
- package/lib/azure-containerapps/lib/index.d.ts +4 -0
- package/lib/azure-containerapps/lib/index.js +21 -0
- package/lib/azure-containerapps/test/container-app-environment.integ.d.ts +10 -0
- package/lib/azure-containerapps/test/container-app-environment.integ.js +82 -0
- package/lib/azure-containerapps/test/container-app-environment.spec.d.ts +9 -0
- package/lib/azure-containerapps/test/container-app-environment.spec.js +412 -0
- package/lib/azure-containerapps/test/container-app.integ.d.ts +10 -0
- package/lib/azure-containerapps/test/container-app.integ.js +119 -0
- package/lib/azure-containerapps/test/container-app.spec.d.ts +9 -0
- package/lib/azure-containerapps/test/container-app.spec.js +839 -0
- package/lib/azure-diagnosticsettings/lib/diagnostic-settings.d.ts +3 -3
- package/lib/azure-diagnosticsettings/lib/diagnostic-settings.js +5 -5
- package/lib/azure-diagnosticsettings/test/diagnostic-settings.spec.js +9 -9
- package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.d.ts +7 -7
- package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.js +9 -9
- package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.d.ts +4 -4
- package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.js +6 -6
- package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.d.ts +4 -4
- package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.js +6 -6
- package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.integ.d.ts +1 -1
- package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.integ.js +5 -5
- package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.spec.js +11 -11
- package/lib/azure-dnsforwardingruleset/test/forwarding-rule.spec.js +14 -14
- package/lib/azure-dnsforwardingruleset/test/virtual-network-link.spec.js +12 -12
- package/lib/azure-dnsresolver/lib/dns-resolver.d.ts +8 -8
- package/lib/azure-dnsresolver/lib/dns-resolver.js +10 -10
- package/lib/azure-dnsresolver/lib/inbound-endpoint.d.ts +6 -6
- package/lib/azure-dnsresolver/lib/inbound-endpoint.js +8 -8
- package/lib/azure-dnsresolver/lib/outbound-endpoint.d.ts +7 -7
- package/lib/azure-dnsresolver/lib/outbound-endpoint.js +9 -9
- package/lib/azure-dnsresolver/test/dns-resolver.integ.d.ts +1 -1
- package/lib/azure-dnsresolver/test/dns-resolver.integ.js +5 -5
- package/lib/azure-dnsresolver/test/dns-resolver.spec.js +11 -11
- package/lib/azure-dnsresolver/test/inbound-endpoint.integ.d.ts +1 -1
- package/lib/azure-dnsresolver/test/inbound-endpoint.integ.js +5 -5
- package/lib/azure-dnsresolver/test/inbound-endpoint.spec.js +12 -12
- package/lib/azure-dnsresolver/test/outbound-endpoint.integ.d.ts +1 -1
- package/lib/azure-dnsresolver/test/outbound-endpoint.integ.js +5 -5
- package/lib/azure-dnsresolver/test/outbound-endpoint.spec.js +9 -9
- package/lib/azure-dnszone/lib/dns-zone.d.ts +6 -6
- package/lib/azure-dnszone/lib/dns-zone.js +8 -8
- package/lib/azure-dnszone/lib/records/dns-records.d.ts +31 -31
- package/lib/azure-dnszone/lib/records/dns-records.js +42 -42
- package/lib/azure-dnszone/test/dns-records.integ.d.ts +1 -1
- package/lib/azure-dnszone/test/dns-records.integ.js +5 -5
- package/lib/azure-dnszone/test/dns-records.spec.js +57 -57
- package/lib/azure-dnszone/test/dns-zone.integ.d.ts +1 -1
- package/lib/azure-dnszone/test/dns-zone.integ.js +5 -5
- package/lib/azure-dnszone/test/dns-zone.spec.js +11 -11
- package/lib/azure-loganalyticsworkspace/index.d.ts +6 -0
- package/lib/azure-loganalyticsworkspace/index.js +23 -0
- package/lib/azure-loganalyticsworkspace/lib/index.d.ts +5 -0
- package/lib/azure-loganalyticsworkspace/lib/index.js +22 -0
- package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace-schemas.d.ts +51 -0
- package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace-schemas.js +255 -0
- package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace.d.ts +301 -0
- package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace.js +213 -0
- package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.integ.d.ts +9 -0
- package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.integ.js +71 -0
- package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.spec.d.ts +8 -0
- package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.spec.js +504 -0
- package/lib/azure-metricalert/lib/metric-alert.d.ts +3 -3
- package/lib/azure-metricalert/lib/metric-alert.js +5 -5
- package/lib/azure-metricalert/test/metric-alert.integ.d.ts +1 -1
- package/lib/azure-metricalert/test/metric-alert.integ.js +5 -5
- package/lib/azure-metricalert/test/metric-alert.spec.js +9 -9
- package/lib/azure-networkinterface/lib/network-interface.d.ts +5 -5
- package/lib/azure-networkinterface/lib/network-interface.js +7 -7
- package/lib/azure-networkinterface/test/network-interface.integ.d.ts +1 -1
- package/lib/azure-networkinterface/test/network-interface.integ.js +5 -5
- package/lib/azure-networkinterface/test/network-interface.spec.js +11 -11
- package/lib/azure-networksecuritygroup/lib/network-security-group.d.ts +6 -6
- package/lib/azure-networksecuritygroup/lib/network-security-group.js +8 -8
- package/lib/azure-networksecuritygroup/test/network-security-group.integ.d.ts +1 -1
- package/lib/azure-networksecuritygroup/test/network-security-group.integ.js +5 -5
- package/lib/azure-networksecuritygroup/test/network-security-group.spec.js +12 -12
- package/lib/azure-networkwatcher/index.d.ts +14 -0
- package/lib/azure-networkwatcher/index.js +31 -0
- package/lib/azure-networkwatcher/lib/index.d.ts +5 -0
- package/lib/azure-networkwatcher/lib/index.js +22 -0
- package/lib/azure-networkwatcher/lib/network-watcher-schemas.d.ts +47 -0
- package/lib/azure-networkwatcher/lib/network-watcher-schemas.js +167 -0
- package/lib/azure-networkwatcher/lib/network-watcher.d.ts +181 -0
- package/lib/azure-networkwatcher/lib/network-watcher.js +187 -0
- package/lib/azure-networkwatcher/test/network-watcher.integ.d.ts +12 -0
- package/lib/azure-networkwatcher/test/network-watcher.integ.js +84 -0
- package/lib/azure-networkwatcher/test/network-watcher.spec.d.ts +8 -0
- package/lib/azure-networkwatcher/test/network-watcher.spec.js +312 -0
- package/lib/azure-policyassignment/lib/policy-assignment.d.ts +3 -3
- package/lib/azure-policyassignment/lib/policy-assignment.js +5 -5
- package/lib/azure-policyassignment/test/policy-assignment.integ.d.ts +1 -1
- package/lib/azure-policyassignment/test/policy-assignment.integ.js +5 -5
- package/lib/azure-policyassignment/test/policy-assignment.spec.js +12 -12
- package/lib/azure-policydefinition/lib/policy-definition.d.ts +3 -3
- package/lib/azure-policydefinition/lib/policy-definition.js +5 -5
- package/lib/azure-policydefinition/test/policy-definition.integ.d.ts +1 -1
- package/lib/azure-policydefinition/test/policy-definition.integ.js +5 -5
- package/lib/azure-policydefinition/test/policy-definition.spec.js +19 -19
- package/lib/azure-policysetdefinition/index.d.ts +10 -0
- package/lib/azure-policysetdefinition/index.js +27 -0
- package/lib/azure-policysetdefinition/lib/index.d.ts +5 -0
- package/lib/azure-policysetdefinition/lib/index.js +22 -0
- package/lib/azure-policysetdefinition/lib/policy-set-definition-schemas.d.ts +50 -0
- package/lib/azure-policysetdefinition/lib/policy-set-definition-schemas.js +255 -0
- package/lib/azure-policysetdefinition/lib/policy-set-definition.d.ts +426 -0
- package/lib/azure-policysetdefinition/lib/policy-set-definition.js +255 -0
- package/lib/azure-policysetdefinition/test/policy-set-definition.integ.d.ts +9 -0
- package/lib/azure-policysetdefinition/test/policy-set-definition.integ.js +56 -0
- package/lib/azure-policysetdefinition/test/policy-set-definition.spec.d.ts +8 -0
- package/lib/azure-policysetdefinition/test/policy-set-definition.spec.js +745 -0
- package/lib/azure-privatednszone/lib/private-dns-zone.d.ts +10 -10
- package/lib/azure-privatednszone/lib/private-dns-zone.js +12 -12
- package/lib/azure-privatednszone/lib/records/private-dns-records.d.ts +25 -25
- package/lib/azure-privatednszone/lib/records/private-dns-records.js +34 -34
- package/lib/azure-privatednszone/test/private-dns-records.integ.d.ts +1 -1
- package/lib/azure-privatednszone/test/private-dns-records.integ.js +5 -5
- package/lib/azure-privatednszone/test/private-dns-records.spec.js +49 -49
- package/lib/azure-privatednszone/test/private-dns-zone.integ.d.ts +1 -1
- package/lib/azure-privatednszone/test/private-dns-zone.integ.js +5 -5
- package/lib/azure-privatednszone/test/private-dns-zone.spec.js +12 -12
- package/lib/azure-privatednszonelink/lib/private-dns-zone-link.d.ts +6 -6
- package/lib/azure-privatednszonelink/lib/private-dns-zone-link.js +8 -8
- package/lib/azure-privatednszonelink/test/private-dns-zone-link.integ.d.ts +1 -1
- package/lib/azure-privatednszonelink/test/private-dns-zone-link.integ.js +5 -5
- package/lib/azure-privatednszonelink/test/private-dns-zone-link.spec.js +12 -12
- package/lib/azure-publicipaddress/lib/public-ip-address.d.ts +5 -5
- package/lib/azure-publicipaddress/lib/public-ip-address.js +7 -7
- package/lib/azure-publicipaddress/test/public-ip-address.integ.d.ts +1 -1
- package/lib/azure-publicipaddress/test/public-ip-address.integ.js +6 -6
- package/lib/azure-publicipaddress/test/public-ip-address.spec.js +11 -11
- package/lib/azure-resourcegroup/lib/resource-group.d.ts +5 -5
- package/lib/azure-resourcegroup/lib/resource-group.js +7 -7
- package/lib/azure-resourcegroup/test/resource-group.integ.d.ts +1 -1
- package/lib/azure-resourcegroup/test/resource-group.integ.js +5 -5
- package/lib/azure-resourcegroup/test/resource-group.spec.js +14 -14
- package/lib/azure-roleassignment/lib/role-assignment.d.ts +3 -3
- package/lib/azure-roleassignment/lib/role-assignment.js +5 -5
- package/lib/azure-roleassignment/test/role-assignment.integ.d.ts +1 -1
- package/lib/azure-roleassignment/test/role-assignment.integ.js +5 -5
- package/lib/azure-roleassignment/test/role-assignment.spec.js +12 -12
- package/lib/azure-roledefinition/lib/role-definition.d.ts +3 -3
- package/lib/azure-roledefinition/lib/role-definition.js +5 -5
- package/lib/azure-roledefinition/test/role-definition.integ.d.ts +1 -1
- package/lib/azure-roledefinition/test/role-definition.integ.js +5 -5
- package/lib/azure-roledefinition/test/role-definition.spec.js +12 -12
- package/lib/azure-storageaccount/lib/storage-account.d.ts +6 -6
- package/lib/azure-storageaccount/lib/storage-account.js +8 -8
- package/lib/azure-storageaccount/test/storage-account.integ.d.ts +1 -1
- package/lib/azure-storageaccount/test/storage-account.integ.js +5 -5
- package/lib/azure-storageaccount/test/storage-account.spec.js +11 -11
- package/lib/azure-subnet/lib/subnet.d.ts +3 -3
- package/lib/azure-subnet/lib/subnet.js +5 -5
- package/lib/azure-subnet/test/subnet.integ.d.ts +1 -1
- package/lib/azure-subnet/test/subnet.integ.js +5 -5
- package/lib/azure-subnet/test/subnet.spec.js +9 -9
- package/lib/azure-virtualmachine/lib/virtual-machine.d.ts +6 -6
- package/lib/azure-virtualmachine/lib/virtual-machine.js +8 -8
- package/lib/azure-virtualmachine/test/virtual-machine.integ.d.ts +1 -1
- package/lib/azure-virtualmachine/test/virtual-machine.integ.js +5 -5
- package/lib/azure-virtualmachine/test/virtual-machine.spec.js +17 -17
- package/lib/azure-virtualnetwork/lib/virtual-network.d.ts +6 -6
- package/lib/azure-virtualnetwork/lib/virtual-network.js +8 -8
- package/lib/azure-virtualnetwork/test/virtual-network.integ.d.ts +1 -1
- package/lib/azure-virtualnetwork/test/virtual-network.integ.js +5 -5
- package/lib/azure-virtualnetwork/test/virtual-network.spec.js +12 -12
- package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway-schemas.js +2 -2
- package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.d.ts +9 -7
- package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.js +13 -10
- package/lib/azure-virtualnetworkgateway/test/virtual-network-gateway.integ.d.ts +1 -1
- package/lib/azure-virtualnetworkgateway/test/virtual-network-gateway.integ.js +5 -5
- package/lib/azure-virtualnetworkgateway/test/virtual-network-gateway.spec.js +119 -11
- package/lib/azure-virtualnetworkgatewayconnection/lib/virtual-network-gateway-connection.d.ts +5 -5
- package/lib/azure-virtualnetworkgatewayconnection/lib/virtual-network-gateway-connection.js +7 -7
- package/lib/azure-virtualnetworkgatewayconnection/test/virtual-network-gateway-connection.integ.d.ts +1 -1
- package/lib/azure-virtualnetworkgatewayconnection/test/virtual-network-gateway-connection.integ.js +5 -5
- package/lib/azure-virtualnetworkgatewayconnection/test/virtual-network-gateway-connection.spec.js +20 -20
- package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.d.ts +4 -4
- package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.js +6 -6
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool-static-cidr.d.ts +4 -4
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool-static-cidr.js +6 -6
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool.d.ts +4 -4
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool.js +6 -6
- package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.d.ts +4 -4
- package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.js +6 -6
- package/lib/azure-virtualnetworkmanager/lib/network-group.d.ts +4 -4
- package/lib/azure-virtualnetworkmanager/lib/network-group.js +6 -6
- package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.d.ts +4 -4
- package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.js +6 -6
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.d.ts +4 -4
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.js +6 -6
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.d.ts +4 -4
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.js +6 -6
- package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.d.ts +7 -7
- package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.js +9 -9
- package/lib/azure-virtualnetworkmanager/test/ipam-pool-static-cidr.spec.js +17 -17
- package/lib/azure-virtualnetworkmanager/test/ipam-pool.spec.js +15 -15
- package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.integ.d.ts +1 -1
- package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.integ.js +5 -5
- package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.spec.js +57 -57
- package/lib/azure-vmss/lib/virtual-machine-scale-set.d.ts +6 -6
- package/lib/azure-vmss/lib/virtual-machine-scale-set.js +8 -8
- package/lib/azure-vmss/test/virtual-machine-scale-set.integ.d.ts +1 -1
- package/lib/azure-vmss/test/virtual-machine-scale-set.integ.js +5 -5
- package/lib/azure-vmss/test/virtual-machine-scale-set.spec.js +12 -12
- package/lib/core-azure/lib/azapi/azapi-resource-tags.spec.js +6 -6
- package/lib/core-azure/lib/azapi/azapi-resource.d.ts +7 -7
- package/lib/core-azure/lib/azapi/azapi-resource.js +6 -6
- package/lib/core-azure/lib/azapi/azapi-resource.spec.js +7 -7
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.d.ts +12 -12
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.js +15 -15
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.d.ts +35 -35
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +58 -58
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-action/index.d.ts +25 -25
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-action/index.js +49 -49
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-id/index.d.ts +13 -13
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-id/index.js +22 -22
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-list/index.d.ts +24 -24
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-list/index.js +40 -40
- package/lib/core-azure/lib/azapi/providers-azapi/data-plane-resource/index.d.ts +44 -44
- package/lib/core-azure/lib/azapi/providers-azapi/data-plane-resource/index.js +72 -72
- package/lib/core-azure/lib/azapi/providers-azapi/index.js +2 -2
- package/lib/core-azure/lib/azapi/providers-azapi/lazy-index.js +2 -2
- package/lib/core-azure/lib/azapi/providers-azapi/provider/index.d.ts +54 -54
- package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +86 -86
- package/lib/core-azure/lib/azapi/providers-azapi/resource/index.d.ts +65 -65
- package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +102 -102
- package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.d.ts +25 -25
- package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +62 -62
- package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.d.ts +36 -36
- package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +69 -69
- package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.js +1 -1
- 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/index.d.ts +12 -0
- package/lib/index.js +14 -2
- package/lib/testing/index.d.ts +1 -1
- package/lib/testing/index.js +8 -8
- package/lib/testing/lib/cleanup.js +1 -1
- package/lib/testing/lib/metadata.js +1 -1
- package/package.json +10 -22
- package/setup.js +2 -2
|
@@ -24,7 +24,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
24
24
|
* - Scope exclusions (notScopes)
|
|
25
25
|
* - JSII compliance for multi-language support
|
|
26
26
|
*/
|
|
27
|
-
const
|
|
27
|
+
const cdktn = require("cdktn");
|
|
28
28
|
const policy_assignment_schemas_1 = require("./policy-assignment-schemas");
|
|
29
29
|
const azapi_resource_1 = require("../../core-azure/lib/azapi/azapi-resource");
|
|
30
30
|
/**
|
|
@@ -104,11 +104,11 @@ class PolicyAssignment extends azapi_resource_1.AzapiResource {
|
|
|
104
104
|
this.props = props;
|
|
105
105
|
// Extract properties from the AZAPI resource outputs using Terraform interpolation
|
|
106
106
|
// Create Terraform outputs for easy access and referencing from other resources
|
|
107
|
-
this.idOutput = new
|
|
107
|
+
this.idOutput = new cdktn.TerraformOutput(this, "id", {
|
|
108
108
|
value: this.id,
|
|
109
109
|
description: "The ID of the Policy Assignment",
|
|
110
110
|
});
|
|
111
|
-
this.nameOutput = new
|
|
111
|
+
this.nameOutput = new cdktn.TerraformOutput(this, "name", {
|
|
112
112
|
value: `\${${this.terraformResource.fqn}.name}`,
|
|
113
113
|
description: "The name of the Policy Assignment",
|
|
114
114
|
});
|
|
@@ -236,8 +236,8 @@ class PolicyAssignment extends azapi_resource_1.AzapiResource {
|
|
|
236
236
|
}
|
|
237
237
|
exports.PolicyAssignment = PolicyAssignment;
|
|
238
238
|
_a = JSII_RTTI_SYMBOL_1;
|
|
239
|
-
PolicyAssignment[_a] = { fqn: "@microsoft/terraform-cdk-constructs.PolicyAssignment", version: "
|
|
239
|
+
PolicyAssignment[_a] = { fqn: "@microsoft/terraform-cdk-constructs.PolicyAssignment", version: "2.2.0" };
|
|
240
240
|
(() => {
|
|
241
241
|
azapi_resource_1.AzapiResource.registerSchemas(policy_assignment_schemas_1.POLICY_ASSIGNMENT_TYPE, policy_assignment_schemas_1.ALL_POLICY_ASSIGNMENT_VERSIONS);
|
|
242
242
|
})();
|
|
243
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9saWN5LWFzc2lnbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtcG9saWN5YXNzaWdubWVudC9saWIvcG9saWN5LWFzc2lnbm1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCwrQkFBK0I7QUFFL0IsMkVBR3FDO0FBQ3JDLDhFQUdtRDtBQW1PbkQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkRHO0FBQ0gsTUFBYSxnQkFBaUIsU0FBUSw4QkFBYTtJQWlCakQsb0JBQW9CO0lBRXBCOzs7Ozs7Ozs7T0FTRztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNEI7UUFDcEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIsbUZBQW1GO1FBRW5GLGdGQUFnRjtRQUNoRixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ3BELEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNkLFdBQVcsRUFBRSxpQ0FBaUM7U0FDL0MsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUN4RCxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxRQUFRO1lBQy9DLFdBQVcsRUFBRSxtQ0FBbUM7U0FDakQsQ0FBQyxDQUFDO1FBRUgsMkRBQTJEO1FBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFVBQVUs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Q29udGVudCI6WyIvKipcbiAqIFVuaWZpZWQgQXp1cmUgUG9saWN5IEFzc2lnbm1lbnQgaW1wbGVtZW50YXRpb24gdXNpbmcgVmVyc2lvbmVkQXphcGlSZXNvdXJjZSBmcmFtZXdvcmtcbiAqXG4gKiBUaGlzIGNsYXNzIHByb3ZpZGVzIGEgdmVyc2lvbi1hd2FyZSBpbXBsZW1lbnRhdGlvbiBmb3IgbWFuYWdpbmcgQXp1cmUgUG9saWN5IEFzc2lnbm1lbnRzXG4gKiB1c2luZyB0aGUgQVpBUEkgcHJvdmlkZXIuIFBvbGljeSBhc3NpZ25tZW50cyBhcHBseSBwb2xpY3kgZGVmaW5pdGlvbnMgdG8gc3BlY2lmaWMgc2NvcGVzXG4gKiAobWFuYWdlbWVudCBncm91cCwgc3Vic2NyaXB0aW9uLCByZXNvdXJjZSBncm91cCwgb3IgcmVzb3VyY2UpIGFuZCBjYW4gcHJvdmlkZSBwYXJhbWV0ZXJcbiAqIHZhbHVlcyBhbmQgZW5mb3JjZW1lbnQgc2V0dGluZ3MuXG4gKlxuICogU3VwcG9ydGVkIEFQSSBWZXJzaW9uczpcbiAqIC0gMjAyMi0wNi0wMSAoQWN0aXZlLCBMYXRlc3QpXG4gKlxuICogRmVhdHVyZXM6XG4gKiAtIEF1dG9tYXRpYyBsYXRlc3QgdmVyc2lvbiByZXNvbHV0aW9uIHdoZW4gbm8gdmVyc2lvbiBpcyBzcGVjaWZpZWRcbiAqIC0gRXhwbGljaXQgdmVyc2lvbiBwaW5uaW5nIGZvciBzdGFiaWxpdHkgcmVxdWlyZW1lbnRzXG4gKiAtIFNjaGVtYS1kcml2ZW4gdmFsaWRhdGlvbiBhbmQgdHJhbnNmb3JtYXRpb25cbiAqIC0gU3VwcG9ydCBmb3IgZW5mb3JjZW1lbnQgbW9kZXMgKERlZmF1bHQsIERvTm90RW5mb3JjZSlcbiAqIC0gTWFuYWdlZCBpZGVudGl0eSBzdXBwb3J0IGZvciByZW1lZGlhdGlvbiBwb2xpY2llc1xuICogLSBDdXN0b20gbm9uLWNvbXBsaWFuY2UgbWVzc2FnZXNcbiAqIC0gU2NvcGUgZXhjbHVzaW9ucyAobm90U2NvcGVzKVxuICogLSBKU0lJIGNvbXBsaWFuY2UgZm9yIG11bHRpLWxhbmd1YWdlIHN1cHBvcnRcbiAqL1xuXG5pbXBvcnQgKiBhcyBjZGt0ZiBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBBTExfUE9MSUNZX0FTU0lHTk1FTlRfVkVSU0lPTlMsXG4gIFBPTElDWV9BU1NJR05NRU5UX1RZUEUsXG59IGZyb20gXCIuL3BvbGljeS1hc3NpZ25tZW50LXNjaGVtYXNcIjtcbmltcG9ydCB7XG4gIEF6YXBpUmVzb3VyY2UsXG4gIEF6YXBpUmVzb3VyY2VQcm9wcyxcbn0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliL2F6YXBpL2F6YXBpLXJlc291cmNlXCI7XG5pbXBvcnQgeyBBcGlTY2hlbWEgfSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvdmVyc2lvbi1tYW5hZ2VyL2ludGVyZmFjZXMvdmVyc2lvbi1pbnRlcmZhY2VzXCI7XG5cbi8qKlxuICogSWRlbnRpdHkgY29uZmlndXJhdGlvbiBmb3IgcG9saWN5IGFzc2lnbm1lbnRzXG4gKiBSZXF1aXJlZCBmb3IgcG9saWNpZXMgd2l0aCBkZXBsb3lJZk5vdEV4aXN0cyBvciBtb2RpZnkgZWZmZWN0c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvbGljeUFzc2lnbm1lbnRJZGVudGl0eSB7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBtYW5hZ2VkIGlkZW50aXR5XG4gICAqIEBleGFtcGxlIFwiU3lzdGVtQXNzaWduZWRcIiwgXCJVc2VyQXNzaWduZWRcIiwgXCJOb25lXCJcbiAgICovXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHVzZXIgYXNzaWduZWQgaWRlbnRpdGllcyBhc3NvY2lhdGVkIHdpdGggdGhlIHBvbGljeSBhc3NpZ25tZW50XG4gICAqIFJlcXVpcmVkIHdoZW4gdHlwZSBpcyBVc2VyQXNzaWduZWRcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICoge1xuICAgKiAgIFwiL3N1YnNjcmlwdGlvbnMvMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwL3Jlc291cmNlR3JvdXBzL3JnL3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlZElkZW50aXR5L3VzZXJBc3NpZ25lZElkZW50aXRpZXMvaWRlbnRpdHlcIjoge31cbiAgICogfVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlckFzc2lnbmVkSWRlbnRpdGllcz86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG59XG5cbi8qKlxuICogTm9uLWNvbXBsaWFuY2UgbWVzc2FnZSBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9saWN5QXNzaWdubWVudE5vbkNvbXBsaWFuY2VNZXNzYWdlIHtcbiAgLyoqXG4gICAqIFRoZSBub24tY29tcGxpYW5jZSBtZXNzYWdlIGZvciB0aGUgcG9saWN5IGFzc2lnbm1lbnRcbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBvbGljeSBkZWZpbml0aW9uIHJlZmVyZW5jZSBJRCB3aXRoaW4gYSBwb2xpY3kgc2V0IGRlZmluaXRpb25cbiAgICogT3B0aW9uYWwgLSBpZiBzcGVjaWZpZWQsIHRoaXMgbWVzc2FnZSBhcHBsaWVzIG9ubHkgdG8gdGhlIHNwZWNpZmllZCBwb2xpY3kgd2l0aGluIHRoZSBzZXRcbiAgICovXG4gIHJlYWRvbmx5IHBvbGljeURlZmluaXRpb25SZWZlcmVuY2VJZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciB0aGUgdW5pZmllZCBBenVyZSBQb2xpY3kgQXNzaWdubWVudFxuICpcbiAqIEV4dGVuZHMgQXphcGlSZXNvdXJjZVByb3BzIHdpdGggUG9saWN5IEFzc2lnbm1lbnQgc3BlY2lmaWMgcHJvcGVydGllc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvbGljeUFzc2lnbm1lbnRQcm9wcyBleHRlbmRzIEF6YXBpUmVzb3VyY2VQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgcG9saWN5IGRlZmluaXRpb24gSUQgdG8gYXNzaWduXG4gICAqIFRoaXMgY2FuIGJlIGEgYnVpbHQtaW4gb3IgY3VzdG9tIHBvbGljeSBkZWZpbml0aW9uXG4gICAqIFJlcXVpcmVkIHByb3BlcnR5XG4gICAqXG4gICAqIEBleGFtcGxlIFwiL3N1YnNjcmlwdGlvbnMvMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwL3Byb3ZpZGVycy9NaWNyb3NvZnQuQXV0aG9yaXphdGlvbi9wb2xpY3lEZWZpbml0aW9ucy9wb2xpY3ktbmFtZVwiXG4gICAqIEBleGFtcGxlIFwiL3Byb3ZpZGVycy9NaWNyb3NvZnQuQXV0aG9yaXphdGlvbi9wb2xpY3lEZWZpbml0aW9ucy8wNmE3OGUyMC05MzU4LTQxYzktOTIzYy1mYjczNmQzODJhNGRcIiAoYnVpbHQtaW4pXG4gICAqL1xuICByZWFkb25seSBwb2xpY3lEZWZpbml0aW9uSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNjb3BlIGF0IHdoaWNoIHRoZSBwb2xpY3kgYXNzaWdubWVudCBpcyBhcHBsaWVkXG4gICAqIENhbiBiZSBhIG1hbmFnZW1lbnQgZ3JvdXAsIHN1YnNjcmlwdGlvbiwgcmVzb3VyY2UgZ3JvdXAsIG9yIHJlc291cmNlXG4gICAqIFJlcXVpcmVkIHByb3BlcnR5XG4gICAqXG4gICAqIEBleGFtcGxlIFwiL3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlbWVudC9tYW5hZ2VtZW50R3JvdXBzL215LW1nXCJcbiAgICogQGV4YW1wbGUgXCIvc3Vic2NyaXB0aW9ucy8wMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDBcIlxuICAgKiBAZXhhbXBsZSBcIi9zdWJzY3JpcHRpb25zLzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMC9yZXNvdXJjZUdyb3Vwcy9yZy1uYW1lXCJcbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHBvbGljeSBhc3NpZ25tZW50XG4gICAqIFByb3ZpZGVzIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhlIGFzc2lnbm1lbnRcbiAgICpcbiAgICogQGV4YW1wbGUgXCJSZXF1aXJlIHRhZyBvbiByZXNvdXJjZXMgaW4gcHJvZHVjdGlvblwiXG4gICAqL1xuICByZWFkb25seSBkaXNwbGF5TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBvbGljeSBhc3NpZ25tZW50IGRlc2NyaXB0aW9uXG4gICAqIFByb3ZpZGVzIGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IHRoZSBhc3NpZ25tZW50XG4gICAqXG4gICAqIEBleGFtcGxlIFwiRW5mb3JjZXMgcmVxdWlyZWQgdGFncyBvbiBhbGwgcmVzb3VyY2VzIGluIHByb2R1Y3Rpb24gZW52aXJvbm1lbnRcIlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBlbmZvcmNlbWVudCBtb2RlIG9mIHRoZSBwb2xpY3kgYXNzaWdubWVudFxuICAgKiBAZGVmYXVsdCBcIkRlZmF1bHRcIlxuICAgKiBAZXhhbXBsZSBcIkRlZmF1bHRcIiAtIFBvbGljeSBlZmZlY3QgaXMgZW5mb3JjZWQgZHVyaW5nIHJlc291cmNlIGNyZWF0aW9uL3VwZGF0ZVxuICAgKiBAZXhhbXBsZSBcIkRvTm90RW5mb3JjZVwiIC0gUG9saWN5IGVmZmVjdCBpcyBub3QgZW5mb3JjZWQgKGF1ZGl0IG9ubHkpXG4gICAqL1xuICByZWFkb25seSBlbmZvcmNlbWVudE1vZGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhcmFtZXRlcnMgZm9yIHRoZSBwb2xpY3kgYXNzaWdubWVudFxuICAgKiBQcm92aWRlcyB2YWx1ZXMgZm9yIHBhcmFtZXRlcnMgZGVmaW5lZCBpbiB0aGUgcG9saWN5IGRlZmluaXRpb25cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICoge1xuICAgKiAgIHRhZ05hbWU6IHtcbiAgICogICAgIHZhbHVlOiBcIkVudmlyb25tZW50XCJcbiAgICogICB9LFxuICAgKiAgIHRhZ1ZhbHVlOiB7XG4gICAqICAgICB2YWx1ZTogXCJQcm9kdWN0aW9uXCJcbiAgICogICB9XG4gICAqIH1cbiAgICovXG4gIHJlYWRvbmx5IHBhcmFtZXRlcnM/OiBhbnk7XG5cbiAgLyoqXG4gICAqIE1ldGFkYXRhIGZvciB0aGUgcG9saWN5IGFzc2lnbm1lbnRcbiAgICogVXNlZCB0byBzdG9yZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGxpa2UgYXNzaWduZWRCeSwgcGFyYW1ldGVyU2NvcGVzLCBldGMuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIHtcbiAgICogICBhc3NpZ25lZEJ5OiBcImFkbWluQGV4YW1wbGUuY29tXCIsXG4gICAqICAgcGFyYW1ldGVyU2NvcGVzOiB7fVxuICAgKiB9XG4gICAqL1xuICByZWFkb25seSBtZXRhZGF0YT86IGFueTtcblxuICAvKipcbiAgICogVGhlIG1hbmFnZWQgaWRlbnRpdHkgYXNzb2NpYXRlZCB3aXRoIHRoZSBwb2xpY3kgYXNzaWdubWVudFxuICAgKiBSZXF1aXJlZCBmb3IgcG9saWNpZXMgd2l0aCBkZXBsb3lJZk5vdEV4aXN0cyBvciBtb2RpZnkgZWZmZWN0c1xuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiB7XG4gICAqICAgdHlwZTogXCJTeXN0ZW1Bc3NpZ25lZFwiXG4gICAqIH1cbiAgICovXG4gIHJlYWRvbmx5IGlkZW50aXR5PzogUG9saWN5QXNzaWdubWVudElkZW50aXR5O1xuXG4gIC8qKlxuICAgKiBUaGUgcG9saWN5J3MgZXhjbHVkZWQgc2NvcGVzXG4gICAqIFJlc291cmNlcyB3aXRoaW4gdGhlc2Ugc2NvcGVzIHdpbGwgbm90IGJlIGV2YWx1YXRlZCBieSB0aGUgcG9saWN5XG4gICAqXG4gICAqIEBleGFtcGxlIFtcIi9zdWJzY3JpcHRpb25zLzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMC9yZXNvdXJjZUdyb3Vwcy9leGNsdWRlZC1yZ1wiXVxuICAgKi9cbiAgcmVhZG9ubHkgbm90U2NvcGVzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBub24tY29tcGxpYW5jZSBtZXNzYWdlcyBmb3IgdGhlIHBvbGljeSBhc3NpZ25tZW50XG4gICAqIFByb3ZpZGVzIGN1c3RvbSBtZXNzYWdlcyB3aGVuIHJlc291cmNlcyBhcmUgbm9uLWNvbXBsaWFudFxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBbXG4gICAqICAge1xuICAgKiAgICAgbWVzc2FnZTogXCJSZXNvdXJjZSBtdXN0IGhhdmUgdGhlIEVudmlyb25tZW50IHRhZ1wiXG4gICAqICAgfVxuICAgKiBdXG4gICAqL1xuICByZWFkb25seSBub25Db21wbGlhbmNlTWVzc2FnZXM/OiBQb2xpY3lBc3NpZ25tZW50Tm9uQ29tcGxpYW5jZU1lc3NhZ2VbXTtcblxuICAvKipcbiAgICogVGhlIGxpZmVjeWNsZSBydWxlcyB0byBpZ25vcmUgY2hhbmdlc1xuICAgKiBAZXhhbXBsZSBbXCJtZXRhZGF0YVwiXVxuICAgKi9cbiAgcmVhZG9ubHkgaWdub3JlQ2hhbmdlcz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgaW50ZXJmYWNlIGZvciBBenVyZSBQb2xpY3kgQXNzaWdubWVudFxuICogVGhpcyBpcyByZXF1aXJlZCBmb3IgSlNJSSBjb21wbGlhbmNlIHRvIHN1cHBvcnQgbXVsdGktbGFuZ3VhZ2UgY29kZSBnZW5lcmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9saWN5QXNzaWdubWVudFByb3BlcnRpZXMge1xuICAvKipcbiAgICogVGhlIHBvbGljeSBkZWZpbml0aW9uIElEXG4gICAqL1xuICByZWFkb25seSBwb2xpY3lEZWZpbml0aW9uSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNjb3BlIG9mIHRoZSBwb2xpY3kgYXNzaWdubWVudFxuICAgKi9cbiAgcmVhZG9ubHkgc2NvcGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgcG9saWN5IGFzc2lnbm1lbnRcbiAgICovXG4gIHJlYWRvbmx5IGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcG9saWN5IGFzc2lnbm1lbnQgZGVzY3JpcHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZW5mb3JjZW1lbnQgbW9kZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5mb3JjZW1lbnRNb2RlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXJhbWV0ZXJzIGZvciB0aGUgcG9saWN5IGFzc2lnbm1lbnRcbiAgICovXG4gIHJlYWRvbmx5IHBhcmFtZXRlcnM/OiBhbnk7XG5cbiAgLyoqXG4gICAqIE1ldGFkYXRhIGZvciB0aGUgcG9saWN5IGFzc2lnbm1lbnRcbiAgICovXG4gIHJlYWRvbmx5IG1ldGFkYXRhPzogYW55O1xuXG4gIC8qKlxuICAgKiBUaGUgcG9saWN5J3MgZXhjbHVkZWQgc2NvcGVzXG4gICAqL1xuICByZWFkb25seSBub3RTY29wZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIG5vbi1jb21wbGlhbmNlIG1lc3NhZ2VzXG4gICAqL1xuICByZWFkb25seSBub25Db21wbGlhbmNlTWVzc2FnZXM/OiBQb2xpY3lBc3NpZ25tZW50Tm9uQ29tcGxpYW5jZU1lc3NhZ2VbXTtcbn1cblxuLyoqXG4gKiBUaGUgcmVzb3VyY2UgYm9keSBpbnRlcmZhY2UgZm9yIEF6dXJlIFBvbGljeSBBc3NpZ25tZW50IEFQSSBjYWxsc1xuICogVGhpcyBtYXRjaGVzIHRoZSBBenVyZSBSRVNUIEFQSSBzY2hlbWEgZm9yIHBvbGljeSBhc3NpZ25tZW50c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvbGljeUFzc2lnbm1lbnRCb2R5IHtcbiAgLyoqXG4gICAqIFRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBwb2xpY3kgYXNzaWdubWVudFxuICAgKi9cbiAgcmVhZG9ubHkgcHJvcGVydGllczogUG9saWN5QXNzaWdubWVudFByb3BlcnRpZXM7XG5cbiAgLyoqXG4gICAqIFRoZSBtYW5hZ2VkIGlkZW50aXR5IGFzc29jaWF0ZWQgd2l0aCB0aGUgcG9saWN5IGFzc2lnbm1lbnRcbiAgICovXG4gIHJlYWRvbmx5IGlkZW50aXR5PzogUG9saWN5QXNzaWdubWVudElkZW50aXR5O1xufVxuXG4vKipcbiAqIFVuaWZpZWQgQXp1cmUgUG9saWN5IEFzc2lnbm1lbnQgaW1wbGVtZW50YXRpb25cbiAqXG4gKiBUaGlzIGNsYXNzIHByb3ZpZGVzIGEgc2luZ2xlLCB2ZXJzaW9uLWF3YXJlIGltcGxlbWVudGF0aW9uIGZvciBtYW5hZ2luZyBBenVyZVxuICogUG9saWN5IEFzc2lnbm1lbnRzLiBJdCBhdXRvbWF0aWNhbGx5IGhhbmRsZXMgdmVyc2lvbiByZXNvbHV0aW9uLCBzY2hlbWEgdmFsaWRhdGlvbixcbiAqIGFuZCBwcm9wZXJ0eSB0cmFuc2Zvcm1hdGlvbi5cbiAqXG4gKiBOb3RlOiBQb2xpY3kgYXNzaWdubWVudHMgY2FuIGJlIGRlcGxveWVkIGF0IG1hbmFnZW1lbnQgZ3JvdXAsIHN1YnNjcmlwdGlvbiwgcmVzb3VyY2UgZ3JvdXAsXG4gKiBvciByZXNvdXJjZSBzY29wZS4gTGlrZSBwb2xpY3kgZGVmaW5pdGlvbnMsIHRoZXkgZG8gbm90IGhhdmUgYSBsb2NhdGlvbiBwcm9wZXJ0eSBhcyB0aGV5XG4gKiBhcmUgbm90IHJlZ2lvbi1zcGVjaWZpYy5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQmFzaWMgcG9saWN5IGFzc2lnbm1lbnQ6XG4gKiBjb25zdCBhc3NpZ25tZW50ID0gbmV3IFBvbGljeUFzc2lnbm1lbnQodGhpcywgXCJhc3NpZ25tZW50XCIsIHtcbiAqICAgbmFtZTogXCJyZXF1aXJlLXRhZy1hc3NpZ25tZW50XCIsXG4gKiAgIHBvbGljeURlZmluaXRpb25JZDogcG9saWN5RGVmaW5pdGlvbi5pZCxcbiAqICAgc2NvcGU6IFwiL3N1YnNjcmlwdGlvbnMvMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwL3Jlc291cmNlR3JvdXBzL3JnLW5hbWVcIixcbiAqICAgZGlzcGxheU5hbWU6IFwiUmVxdWlyZSB0YWcgb24gcmVzb3VyY2VzXCIsXG4gKiAgIGRlc2NyaXB0aW9uOiBcIkVuZm9yY2VzIHJlcXVpcmVkIHRhZ3Mgb24gcmVzb3VyY2VzXCJcbiAqIH0pO1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBQb2xpY3kgYXNzaWdubWVudCB3aXRoIHBhcmFtZXRlcnM6XG4gKiBjb25zdCBhc3NpZ25tZW50ID0gbmV3IFBvbGljeUFzc2lnbm1lbnQodGhpcywgXCJhc3NpZ25tZW50XCIsIHtcbiAqICAgbmFtZTogXCJyZXF1aXJlLXRhZy1hc3NpZ25tZW50XCIsXG4gKiAgIHBvbGljeURlZmluaXRpb25JZDogcG9saWN5RGVmaW5pdGlvbi5pZCxcbiAqICAgc2NvcGU6IFwiL3N1YnNjcmlwdGlvbnMvMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwXCIsXG4gKiAgIHBhcmFtZXRlcnM6IHtcbiAqICAgICB0YWdOYW1lOiB7XG4gKiAgICAgICB2YWx1ZTogXCJFbnZpcm9ubWVudFwiXG4gKiAgICAgfSxcbiAqICAgICB0YWdWYWx1ZToge1xuICogICAgICAgdmFsdWU6IFwiUHJvZHVjdGlvblwiXG4gKiAgICAgfVxuICogICB9XG4gKiB9KTtcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gUG9saWN5IGFzc2lnbm1lbnQgd2l0aCBtYW5hZ2VkIGlkZW50aXR5OlxuICogY29uc3QgYXNzaWdubWVudCA9IG5ldyBQb2xpY3lBc3NpZ25tZW50KHRoaXMsIFwiYXNzaWdubWVudFwiLCB7XG4gKiAgIG5hbWU6IFwiZGVwbG95LW1vbml0b3JpbmctYXNzaWdubWVudFwiLFxuICogICBwb2xpY3lEZWZpbml0aW9uSWQ6IFwiL3Byb3ZpZGVycy9NaWNyb3NvZnQuQXV0aG9yaXphdGlvbi9wb2xpY3lEZWZpbml0aW9ucy9wb2xpY3ktaWRcIixcbiAqICAgc2NvcGU6IFwiL3N1YnNjcmlwdGlvbnMvMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwXCIsXG4gKiAgIGlkZW50aXR5OiB7XG4gKiAgICAgdHlwZTogXCJTeXN0ZW1Bc3NpZ25lZFwiXG4gKiAgIH1cbiAqIH0pO1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBQb2xpY3kgYXNzaWdubWVudCBhdCBtYW5hZ2VtZW50IGdyb3VwIHNjb3BlOlxuICogY29uc3QgbWdBc3NpZ25tZW50ID0gbmV3IFBvbGljeUFzc2lnbm1lbnQodGhpcywgXCJtZ0Fzc2lnbm1lbnRcIiwge1xuICogICBuYW1lOiBcIm1nLXBvbGljeS1hc3NpZ25tZW50XCIsXG4gKiAgIHBvbGljeURlZmluaXRpb25JZDogXCIvcHJvdmlkZXJzL01pY3Jvc29mdC5BdXRob3JpemF0aW9uL3BvbGljeURlZmluaXRpb25zL3BvbGljeS1pZFwiLFxuICogICBzY29wZTogXCIvcHJvdmlkZXJzL01pY3Jvc29mdC5NYW5hZ2VtZW50L21hbmFnZW1lbnRHcm91cHMvbXktbWdcIixcbiAqICAgZGlzcGxheU5hbWU6IFwiTWFuYWdlbWVudCBHcm91cCBQb2xpY3lcIixcbiAqICAgZGVzY3JpcHRpb246IFwiQXBwbGllcyBwb2xpY3kgYWNyb3NzIHRoZSBlbnRpcmUgbWFuYWdlbWVudCBncm91cCBoaWVyYXJjaHlcIlxuICogfSk7XG4gKlxuICogQHN0YWJpbGl0eSBzdGFibGVcbiAqL1xuZXhwb3J0IGNsYXNzIFBvbGljeUFzc2lnbm1lbnQgZXh0ZW5kcyBBemFwaVJlc291cmNlIHtcbiAgc3RhdGljIHtcbiAgICBBemFwaVJlc291cmNlLnJlZ2lzdGVyU2NoZW1hcyhcbiAgICAgIFBPTElDWV9BU1NJR05NRU5UX1RZUEUsXG4gICAgICBBTExfUE9MSUNZX0FTU0lHTk1FTlRfVkVSU0lPTlMsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgaW5wdXQgcHJvcGVydGllcyBmb3IgdGhpcyBQb2xpY3kgQXNzaWdubWVudCBpbnN0YW5jZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHByb3BzOiBQb2xpY3lBc3NpZ25tZW50UHJvcHM7XG5cbiAgLy8gT3V0cHV0IHByb3BlcnRpZXMgZm9yIGVhc3kgYWNjZXNzIGFuZCByZWZlcmVuY2luZ1xuICBwdWJsaWMgcmVhZG9ubHkgaWRPdXRwdXQ6IGNka3RmLlRlcnJhZm9ybU91dHB1dDtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWVPdXRwdXQ6IGNka3RmLlRlcnJhZm9ybU91dHB1dDtcblxuICAvLyBQdWJsaWMgcHJvcGVydGllc1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IEF6dXJlIFBvbGljeSBBc3NpZ25tZW50IHVzaW5nIHRoZSBWZXJzaW9uZWRBemFwaVJlc291cmNlIGZyYW1ld29ya1xuICAgKlxuICAgKiBUaGUgY29uc3RydWN0b3IgYXV0b21hdGljYWxseSBoYW5kbGVzIHZlcnNpb24gcmVzb2x1dGlvbiwgc2NoZW1hIHJlZ2lzdHJhdGlvbixcbiAgICogdmFsaWRhdGlvbiwgYW5kIHJlc291cmNlIGNyZWF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgLSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0XG4gICAqIEBwYXJhbSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBpbnN0YW5jZVxuICAgKiBAcGFyYW0gcHJvcHMgLSBDb25maWd1cmF0aW9uIHByb3BlcnRpZXMgZm9yIHRoZSBQb2xpY3kgQXNzaWdubWVudFxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFBvbGljeUFzc2lnbm1lbnRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuXG4gICAgLy8gRXh0cmFjdCBwcm9wZXJ0aWVzIGZyb20gdGhlIEFaQVBJIHJlc291cmNlIG91dHB1dHMgdXNpbmcgVGVycmFmb3JtIGludGVycG9sYXRpb25cblxuICAgIC8vIENyZWF0ZSBUZXJyYWZvcm0gb3V0cHV0cyBmb3IgZWFzeSBhY2Nlc3MgYW5kIHJlZmVyZW5jaW5nIGZyb20gb3RoZXIgcmVzb3VyY2VzXG4gICAgdGhpcy5pZE91dHB1dCA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQodGhpcywgXCJpZFwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5pZCxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBJRCBvZiB0aGUgUG9saWN5IEFzc2lnbm1lbnRcIixcbiAgICB9KTtcblxuICAgIHRoaXMubmFtZU91dHB1dCA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgIHZhbHVlOiBgXFwkeyR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZS5mcW59Lm5hbWV9YCxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBuYW1lIG9mIHRoZSBQb2xpY3kgQXNzaWdubWVudFwiLFxuICAgIH0pO1xuXG4gICAgLy8gT3ZlcnJpZGUgbG9naWNhbCBJRHMgdG8gbWF0Y2ggb3JpZ2luYWwgbmFtaW5nIGNvbnZlbnRpb25cbiAgICB0aGlzLmlkT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwiaWRcIik7XG4gICAgdGhpcy5uYW1lT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwibmFtZVwiKTtcblxuICAgIC8vIEFwcGx5IGlnbm9yZSBjaGFuZ2VzIGlmIHNwZWNpZmllZFxuICAgIHRoaXMuX2FwcGx5SWdub3JlQ2hhbmdlcygpO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUkVRVUlSRUQgQUJTVFJBQ1QgTUVUSE9EUyBGUk9NIEF6YXBpUmVzb3VyY2VcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogR2V0cyB0aGUgZGVmYXVsdCBBUEkgdmVyc2lvbiB0byB1c2Ugd2hlbiBubyBleHBsaWNpdCB2ZXJzaW9uIGlzIHNwZWNpZmllZFxuICAgKiBSZXR1cm5zIHRoZSBtb3N0IHJlY2VudCBzdGFibGUgdmVyc2lvbiBhcyB0aGUgZGVmYXVsdFxuICAgKi9cbiAgcHJvdGVjdGVkIGRlZmF1bHRWZXJzaW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFwiMjAyMi0wNi0wMVwiO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIEF6dXJlIHJlc291cmNlIHR5cGUgZm9yIFBvbGljeSBBc3NpZ25tZW50c1xuICAgKi9cbiAgcHJvdGVjdGVkIHJlc291cmNlVHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBQT0xJQ1lfQVNTSUdOTUVOVF9UWVBFO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIEFQSSBzY2hlbWEgZm9yIHRoZSByZXNvbHZlZCB2ZXJzaW9uXG4gICAqIFVzZXMgdGhlIGZyYW1ld29yaydzIHNjaGVtYSByZXNvbHV0aW9uIHRvIGdldCB0aGUgYXBwcm9wcmlhdGUgc2NoZW1hXG4gICAqL1xuICBwcm90ZWN0ZWQgYXBpU2NoZW1hKCk6IEFwaVNjaGVtYSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZVNjaGVtYSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFBvbGljeSBBc3NpZ25tZW50cyBkbyBub3Qgc3VwcG9ydCB0YWdzIGF0IHRoZSByZXNvdXJjZSBsZXZlbFxuICAgKiBUYWdzIGFyZSBub3QgYSB2YWxpZCBwcm9wZXJ0eSBmb3IgTWljcm9zb2Z0LkF1dGhvcml6YXRpb24vcG9saWN5QXNzaWdubWVudHNcbiAgICogQHJldHVybnMgZmFsc2UgLSBQb2xpY3kgQXNzaWdubWVudHMgY2Fubm90IGhhdmUgdGFnc1xuICAgKiBAb3ZlcnJpZGVcbiAgICovXG4gIHByb3RlY3RlZCBzdXBwb3J0c1RhZ3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgdGhlIHJlc291cmNlIGJvZHkgZm9yIHRoZSBBenVyZSBBUEkgY2FsbFxuICAgKiBUcmFuc2Zvcm1zIHRoZSBpbnB1dCBwcm9wZXJ0aWVzIGludG8gdGhlIEpTT04gZm9ybWF0IGV4cGVjdGVkIGJ5IEF6dXJlIFJFU1QgQVBJXG4gICAqXG4gICAqIE5vdGU6IFBvbGljeSBhc3NpZ25tZW50cyBkbyBub3QgaGF2ZSBhIGxvY2F0aW9uIHByb3BlcnR5IGFzIHRoZXkgYXJlXG4gICAqIHNjb3BlZCByZXNvdXJjZXMgKHN1YnNjcmlwdGlvbiwgcmVzb3VyY2UgZ3JvdXAsIG9yIHJlc291cmNlIGxldmVsKS5cbiAgICogVGhlIHNjb3BlIHByb3BlcnR5IGlzIE5PVCBpbmNsdWRlZCBpbiB0aGUgYm9keSBhcyBpdCdzIHJlYWQtb25seSBhbmRcbiAgICogYXV0b21hdGljYWxseSBkZXJpdmVkIGZyb20gdGhlIHBhcmVudElkLlxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZVJlc291cmNlQm9keShwcm9wczogYW55KTogYW55IHtcbiAgICBjb25zdCB0eXBlZFByb3BzID0gcHJvcHMgYXMgUG9saWN5QXNzaWdubWVudFByb3BzO1xuXG4gICAgY29uc3QgYm9keTogYW55ID0ge1xuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBwb2xpY3lEZWZpbml0aW9uSWQ6IHR5cGVkUHJvcHMucG9saWN5RGVmaW5pdGlvbklkLFxuICAgICAgICAvLyBOb3RlOiBzY29wZSBpcyBOT1QgaW5jbHVkZWQgaGVyZSAtIGl0J3MgcmVhZC1vbmx5IGFuZCBkZXJpdmVkIGZyb20gcGFyZW50SWRcbiAgICAgICAgZGlzcGxheU5hbWU6IHR5cGVkUHJvcHMuZGlzcGxheU5hbWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0eXBlZFByb3BzLmRlc2NyaXB0aW9uLFxuICAgICAgICBlbmZvcmNlbWVudE1vZGU6IHR5cGVkUHJvcHMuZW5mb3JjZW1lbnRNb2RlIHx8IFwiRGVmYXVsdFwiLFxuICAgICAgICBwYXJhbWV0ZXJzOiB0eXBlZFByb3BzLnBhcmFtZXRlcnMsXG4gICAgICAgIG1ldGFkYXRhOiB0eXBlZFByb3BzLm1ldGFkYXRhLFxuICAgICAgICBub3RTY29wZXM6IHR5cGVkUHJvcHMubm90U2NvcGVzLFxuICAgICAgICBub25Db21wbGlhbmNlTWVzc2FnZXM6IHR5cGVkUHJvcHMubm9uQ29tcGxpYW5jZU1lc3NhZ2VzLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgLy8gQWRkIGlkZW50aXR5IGlmIHByb3ZpZGVkXG4gICAgaWYgKHR5cGVkUHJvcHMuaWRlbnRpdHkpIHtcbiAgICAgIGJvZHkuaWRlbnRpdHkgPSB0eXBlZFByb3BzLmlkZW50aXR5O1xuICAgICAgLy8gTm90ZTogbG9jYXRpb24gaXMgTk9UIGFkZGVkIHRvIHRoZSBib2R5IGZvciBwb2xpY3kgYXNzaWdubWVudHNcbiAgICAgIC8vIEl0J3MgaGFuZGxlZCBieSB0aGUgQVpBUEkgcHJvdmlkZXIgY29uZmlnIGZvciBpZGVudGl0eSBwcm92aXNpb25pbmdcbiAgICB9XG5cbiAgICByZXR1cm4gYm9keTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPdmVycmlkZXMgcGFyZW50IElEIHJlc29sdXRpb24gdG8gdXNlIHRoZSBzY29wZSBmcm9tIHByb3BzXG4gICAqIFBvbGljeSBhc3NpZ25tZW50cyBhcmUgc2NvcGVkIHJlc291cmNlcyB3aGVyZSB0aGUgc2NvcGUgSVMgdGhlIHBhcmVudFxuICAgKi9cbiAgcHJvdGVjdGVkIHJlc29sdmVQYXJlbnRJZChwcm9wczogYW55KTogc3RyaW5nIHtcbiAgICBjb25zdCB0eXBlZFByb3BzID0gcHJvcHMgYXMgUG9saWN5QXNzaWdubWVudFByb3BzO1xuICAgIHJldHVybiB0eXBlZFByb3BzLnNjb3BlO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUFVCTElDIE1FVEhPRFMgRk9SIFBPTElDWSBBU1NJR05NRU5UIE9QRVJBVElPTlNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogR2V0IHRoZSBmdWxsIHJlc291cmNlIGlkZW50aWZpZXIgZm9yIHVzZSBpbiBvdGhlciBBenVyZSByZXNvdXJjZXNcbiAgICogQWxpYXMgZm9yIHRoZSBpZCBwcm9wZXJ0eVxuICAgKi9cbiAgcHVibGljIGdldCByZXNvdXJjZUlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBwb2xpY3kgZGVmaW5pdGlvbiBJRCB0aGlzIGFzc2lnbm1lbnQgcmVmZXJlbmNlc1xuICAgKi9cbiAgcHVibGljIGdldCBwb2xpY3lEZWZpbml0aW9uSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5wb2xpY3lEZWZpbml0aW9uSWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBzY29wZSBvZiB0aGlzIHBvbGljeSBhc3NpZ25tZW50XG4gICAqL1xuICBwdWJsaWMgZ2V0IGFzc2lnbm1lbnRTY29wZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLnNjb3BlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgZW5mb3JjZW1lbnQgbW9kZVxuICAgKi9cbiAgcHVibGljIGdldCBlbmZvcmNlbWVudE1vZGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5lbmZvcmNlbWVudE1vZGUgfHwgXCJEZWZhdWx0XCI7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBQUklWQVRFIEhFTFBFUiBNRVRIT0RTXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIEFwcGxpZXMgaWdub3JlIGNoYW5nZXMgbGlmZWN5Y2xlIHJ1bGVzIGlmIHNwZWNpZmllZCBpbiBwcm9wc1xuICAgKi9cbiAgcHJpdmF0ZSBfYXBwbHlJZ25vcmVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByb3BzLmlnbm9yZUNoYW5nZXMgJiYgdGhpcy5wcm9wcy5pZ25vcmVDaGFuZ2VzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudGVycmFmb3JtUmVzb3VyY2UuYWRkT3ZlcnJpZGUoXCJsaWZlY3ljbGVcIiwgW1xuICAgICAgICB7XG4gICAgICAgICAgaWdub3JlX2NoYW5nZXM6IHRoaXMucHJvcHMuaWdub3JlQ2hhbmdlcyxcbiAgICAgICAgfSxcbiAgICAgIF0pO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9saWN5LWFzc2lnbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtcG9saWN5YXNzaWdubWVudC9saWIvcG9saWN5LWFzc2lnbm1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCwrQkFBK0I7QUFFL0IsMkVBR3FDO0FBQ3JDLDhFQUdtRDtBQW1PbkQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkRHO0FBQ0gsTUFBYSxnQkFBaUIsU0FBUSw4QkFBYTtJQWlCakQsb0JBQW9CO0lBRXBCOzs7Ozs7Ozs7T0FTRztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNEI7UUFDcEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIsbUZBQW1GO1FBRW5GLGdGQUFnRjtRQUNoRixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ3BELEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNkLFdBQVcsRUFBRSxpQ0FBaUM7U0FDL0MsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUN4RCxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxRQUFRO1lBQy9DLFdBQVcsRUFBRSxtQ0FBbUM7U0FDakQsQ0FBQyxDQUFDO1FBRUgsMkRBQTJEO1FBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFVBQVUs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Q29udGVudCI6WyIvKipcbiAqIFVuaWZpZWQgQXp1cmUgUG9saWN5IEFzc2lnbm1lbnQgaW1wbGVtZW50YXRpb24gdXNpbmcgVmVyc2lvbmVkQXphcGlSZXNvdXJjZSBmcmFtZXdvcmtcbiAqXG4gKiBUaGlzIGNsYXNzIHByb3ZpZGVzIGEgdmVyc2lvbi1hd2FyZSBpbXBsZW1lbnRhdGlvbiBmb3IgbWFuYWdpbmcgQXp1cmUgUG9saWN5IEFzc2lnbm1lbnRzXG4gKiB1c2luZyB0aGUgQVpBUEkgcHJvdmlkZXIuIFBvbGljeSBhc3NpZ25tZW50cyBhcHBseSBwb2xpY3kgZGVmaW5pdGlvbnMgdG8gc3BlY2lmaWMgc2NvcGVzXG4gKiAobWFuYWdlbWVudCBncm91cCwgc3Vic2NyaXB0aW9uLCByZXNvdXJjZSBncm91cCwgb3IgcmVzb3VyY2UpIGFuZCBjYW4gcHJvdmlkZSBwYXJhbWV0ZXJcbiAqIHZhbHVlcyBhbmQgZW5mb3JjZW1lbnQgc2V0dGluZ3MuXG4gKlxuICogU3VwcG9ydGVkIEFQSSBWZXJzaW9uczpcbiAqIC0gMjAyMi0wNi0wMSAoQWN0aXZlLCBMYXRlc3QpXG4gKlxuICogRmVhdHVyZXM6XG4gKiAtIEF1dG9tYXRpYyBsYXRlc3QgdmVyc2lvbiByZXNvbHV0aW9uIHdoZW4gbm8gdmVyc2lvbiBpcyBzcGVjaWZpZWRcbiAqIC0gRXhwbGljaXQgdmVyc2lvbiBwaW5uaW5nIGZvciBzdGFiaWxpdHkgcmVxdWlyZW1lbnRzXG4gKiAtIFNjaGVtYS1kcml2ZW4gdmFsaWRhdGlvbiBhbmQgdHJhbnNmb3JtYXRpb25cbiAqIC0gU3VwcG9ydCBmb3IgZW5mb3JjZW1lbnQgbW9kZXMgKERlZmF1bHQsIERvTm90RW5mb3JjZSlcbiAqIC0gTWFuYWdlZCBpZGVudGl0eSBzdXBwb3J0IGZvciByZW1lZGlhdGlvbiBwb2xpY2llc1xuICogLSBDdXN0b20gbm9uLWNvbXBsaWFuY2UgbWVzc2FnZXNcbiAqIC0gU2NvcGUgZXhjbHVzaW9ucyAobm90U2NvcGVzKVxuICogLSBKU0lJIGNvbXBsaWFuY2UgZm9yIG11bHRpLWxhbmd1YWdlIHN1cHBvcnRcbiAqL1xuXG5pbXBvcnQgKiBhcyBjZGt0biBmcm9tIFwiY2RrdG5cIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBBTExfUE9MSUNZX0FTU0lHTk1FTlRfVkVSU0lPTlMsXG4gIFBPTElDWV9BU1NJR05NRU5UX1RZUEUsXG59IGZyb20gXCIuL3BvbGljeS1hc3NpZ25tZW50LXNjaGVtYXNcIjtcbmltcG9ydCB7XG4gIEF6YXBpUmVzb3VyY2UsXG4gIEF6YXBpUmVzb3VyY2VQcm9wcyxcbn0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliL2F6YXBpL2F6YXBpLXJlc291cmNlXCI7XG5pbXBvcnQgeyBBcGlTY2hlbWEgfSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvdmVyc2lvbi1tYW5hZ2VyL2ludGVyZmFjZXMvdmVyc2lvbi1pbnRlcmZhY2VzXCI7XG5cbi8qKlxuICogSWRlbnRpdHkgY29uZmlndXJhdGlvbiBmb3IgcG9saWN5IGFzc2lnbm1lbnRzXG4gKiBSZXF1aXJlZCBmb3IgcG9saWNpZXMgd2l0aCBkZXBsb3lJZk5vdEV4aXN0cyBvciBtb2RpZnkgZWZmZWN0c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvbGljeUFzc2lnbm1lbnRJZGVudGl0eSB7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBtYW5hZ2VkIGlkZW50aXR5XG4gICAqIEBleGFtcGxlIFwiU3lzdGVtQXNzaWduZWRcIiwgXCJVc2VyQXNzaWduZWRcIiwgXCJOb25lXCJcbiAgICovXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHVzZXIgYXNzaWduZWQgaWRlbnRpdGllcyBhc3NvY2lhdGVkIHdpdGggdGhlIHBvbGljeSBhc3NpZ25tZW50XG4gICAqIFJlcXVpcmVkIHdoZW4gdHlwZSBpcyBVc2VyQXNzaWduZWRcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICoge1xuICAgKiAgIFwiL3N1YnNjcmlwdGlvbnMvMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwL3Jlc291cmNlR3JvdXBzL3JnL3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlZElkZW50aXR5L3VzZXJBc3NpZ25lZElkZW50aXRpZXMvaWRlbnRpdHlcIjoge31cbiAgICogfVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlckFzc2lnbmVkSWRlbnRpdGllcz86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG59XG5cbi8qKlxuICogTm9uLWNvbXBsaWFuY2UgbWVzc2FnZSBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9saWN5QXNzaWdubWVudE5vbkNvbXBsaWFuY2VNZXNzYWdlIHtcbiAgLyoqXG4gICAqIFRoZSBub24tY29tcGxpYW5jZSBtZXNzYWdlIGZvciB0aGUgcG9saWN5IGFzc2lnbm1lbnRcbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBvbGljeSBkZWZpbml0aW9uIHJlZmVyZW5jZSBJRCB3aXRoaW4gYSBwb2xpY3kgc2V0IGRlZmluaXRpb25cbiAgICogT3B0aW9uYWwgLSBpZiBzcGVjaWZpZWQsIHRoaXMgbWVzc2FnZSBhcHBsaWVzIG9ubHkgdG8gdGhlIHNwZWNpZmllZCBwb2xpY3kgd2l0aGluIHRoZSBzZXRcbiAgICovXG4gIHJlYWRvbmx5IHBvbGljeURlZmluaXRpb25SZWZlcmVuY2VJZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciB0aGUgdW5pZmllZCBBenVyZSBQb2xpY3kgQXNzaWdubWVudFxuICpcbiAqIEV4dGVuZHMgQXphcGlSZXNvdXJjZVByb3BzIHdpdGggUG9saWN5IEFzc2lnbm1lbnQgc3BlY2lmaWMgcHJvcGVydGllc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvbGljeUFzc2lnbm1lbnRQcm9wcyBleHRlbmRzIEF6YXBpUmVzb3VyY2VQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgcG9saWN5IGRlZmluaXRpb24gSUQgdG8gYXNzaWduXG4gICAqIFRoaXMgY2FuIGJlIGEgYnVpbHQtaW4gb3IgY3VzdG9tIHBvbGljeSBkZWZpbml0aW9uXG4gICAqIFJlcXVpcmVkIHByb3BlcnR5XG4gICAqXG4gICAqIEBleGFtcGxlIFwiL3N1YnNjcmlwdGlvbnMvMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwL3Byb3ZpZGVycy9NaWNyb3NvZnQuQXV0aG9yaXphdGlvbi9wb2xpY3lEZWZpbml0aW9ucy9wb2xpY3ktbmFtZVwiXG4gICAqIEBleGFtcGxlIFwiL3Byb3ZpZGVycy9NaWNyb3NvZnQuQXV0aG9yaXphdGlvbi9wb2xpY3lEZWZpbml0aW9ucy8wNmE3OGUyMC05MzU4LTQxYzktOTIzYy1mYjczNmQzODJhNGRcIiAoYnVpbHQtaW4pXG4gICAqL1xuICByZWFkb25seSBwb2xpY3lEZWZpbml0aW9uSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNjb3BlIGF0IHdoaWNoIHRoZSBwb2xpY3kgYXNzaWdubWVudCBpcyBhcHBsaWVkXG4gICAqIENhbiBiZSBhIG1hbmFnZW1lbnQgZ3JvdXAsIHN1YnNjcmlwdGlvbiwgcmVzb3VyY2UgZ3JvdXAsIG9yIHJlc291cmNlXG4gICAqIFJlcXVpcmVkIHByb3BlcnR5XG4gICAqXG4gICAqIEBleGFtcGxlIFwiL3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlbWVudC9tYW5hZ2VtZW50R3JvdXBzL215LW1nXCJcbiAgICogQGV4YW1wbGUgXCIvc3Vic2NyaXB0aW9ucy8wMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDBcIlxuICAgKiBAZXhhbXBsZSBcIi9zdWJzY3JpcHRpb25zLzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMC9yZXNvdXJjZUdyb3Vwcy9yZy1uYW1lXCJcbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIHBvbGljeSBhc3NpZ25tZW50XG4gICAqIFByb3ZpZGVzIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhlIGFzc2lnbm1lbnRcbiAgICpcbiAgICogQGV4YW1wbGUgXCJSZXF1aXJlIHRhZyBvbiByZXNvdXJjZXMgaW4gcHJvZHVjdGlvblwiXG4gICAqL1xuICByZWFkb25seSBkaXNwbGF5TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBvbGljeSBhc3NpZ25tZW50IGRlc2NyaXB0aW9uXG4gICAqIFByb3ZpZGVzIGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IHRoZSBhc3NpZ25tZW50XG4gICAqXG4gICAqIEBleGFtcGxlIFwiRW5mb3JjZXMgcmVxdWlyZWQgdGFncyBvbiBhbGwgcmVzb3VyY2VzIGluIHByb2R1Y3Rpb24gZW52aXJvbm1lbnRcIlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBlbmZvcmNlbWVudCBtb2RlIG9mIHRoZSBwb2xpY3kgYXNzaWdubWVudFxuICAgKiBAZGVmYXVsdCBcIkRlZmF1bHRcIlxuICAgKiBAZXhhbXBsZSBcIkRlZmF1bHRcIiAtIFBvbGljeSBlZmZlY3QgaXMgZW5mb3JjZWQgZHVyaW5nIHJlc291cmNlIGNyZWF0aW9uL3VwZGF0ZVxuICAgKiBAZXhhbXBsZSBcIkRvTm90RW5mb3JjZVwiIC0gUG9saWN5IGVmZmVjdCBpcyBub3QgZW5mb3JjZWQgKGF1ZGl0IG9ubHkpXG4gICAqL1xuICByZWFkb25seSBlbmZvcmNlbWVudE1vZGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhcmFtZXRlcnMgZm9yIHRoZSBwb2xpY3kgYXNzaWdubWVudFxuICAgKiBQcm92aWRlcyB2YWx1ZXMgZm9yIHBhcmFtZXRlcnMgZGVmaW5lZCBpbiB0aGUgcG9saWN5IGRlZmluaXRpb25cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICoge1xuICAgKiAgIHRhZ05hbWU6IHtcbiAgICogICAgIHZhbHVlOiBcIkVudmlyb25tZW50XCJcbiAgICogICB9LFxuICAgKiAgIHRhZ1ZhbHVlOiB7XG4gICAqICAgICB2YWx1ZTogXCJQcm9kdWN0aW9uXCJcbiAgICogICB9XG4gICAqIH1cbiAgICovXG4gIHJlYWRvbmx5IHBhcmFtZXRlcnM/OiBhbnk7XG5cbiAgLyoqXG4gICAqIE1ldGFkYXRhIGZvciB0aGUgcG9saWN5IGFzc2lnbm1lbnRcbiAgICogVXNlZCB0byBzdG9yZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGxpa2UgYXNzaWduZWRCeSwgcGFyYW1ldGVyU2NvcGVzLCBldGMuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIHtcbiAgICogICBhc3NpZ25lZEJ5OiBcImFkbWluQGV4YW1wbGUuY29tXCIsXG4gICAqICAgcGFyYW1ldGVyU2NvcGVzOiB7fVxuICAgKiB9XG4gICAqL1xuICByZWFkb25seSBtZXRhZGF0YT86IGFueTtcblxuICAvKipcbiAgICogVGhlIG1hbmFnZWQgaWRlbnRpdHkgYXNzb2NpYXRlZCB3aXRoIHRoZSBwb2xpY3kgYXNzaWdubWVudFxuICAgKiBSZXF1aXJlZCBmb3IgcG9saWNpZXMgd2l0aCBkZXBsb3lJZk5vdEV4aXN0cyBvciBtb2RpZnkgZWZmZWN0c1xuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiB7XG4gICAqICAgdHlwZTogXCJTeXN0ZW1Bc3NpZ25lZFwiXG4gICAqIH1cbiAgICovXG4gIHJlYWRvbmx5IGlkZW50aXR5PzogUG9saWN5QXNzaWdubWVudElkZW50aXR5O1xuXG4gIC8qKlxuICAgKiBUaGUgcG9saWN5J3MgZXhjbHVkZWQgc2NvcGVzXG4gICAqIFJlc291cmNlcyB3aXRoaW4gdGhlc2Ugc2NvcGVzIHdpbGwgbm90IGJlIGV2YWx1YXRlZCBieSB0aGUgcG9saWN5XG4gICAqXG4gICAqIEBleGFtcGxlIFtcIi9zdWJzY3JpcHRpb25zLzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMC9yZXNvdXJjZUdyb3Vwcy9leGNsdWRlZC1yZ1wiXVxuICAgKi9cbiAgcmVhZG9ubHkgbm90U2NvcGVzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBub24tY29tcGxpYW5jZSBtZXNzYWdlcyBmb3IgdGhlIHBvbGljeSBhc3NpZ25tZW50XG4gICAqIFByb3ZpZGVzIGN1c3RvbSBtZXNzYWdlcyB3aGVuIHJlc291cmNlcyBhcmUgbm9uLWNvbXBsaWFudFxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBbXG4gICAqICAge1xuICAgKiAgICAgbWVzc2FnZTogXCJSZXNvdXJjZSBtdXN0IGhhdmUgdGhlIEVudmlyb25tZW50IHRhZ1wiXG4gICAqICAgfVxuICAgKiBdXG4gICAqL1xuICByZWFkb25seSBub25Db21wbGlhbmNlTWVzc2FnZXM/OiBQb2xpY3lBc3NpZ25tZW50Tm9uQ29tcGxpYW5jZU1lc3NhZ2VbXTtcblxuICAvKipcbiAgICogVGhlIGxpZmVjeWNsZSBydWxlcyB0byBpZ25vcmUgY2hhbmdlc1xuICAgKiBAZXhhbXBsZSBbXCJtZXRhZGF0YVwiXVxuICAgKi9cbiAgcmVhZG9ubHkgaWdub3JlQ2hhbmdlcz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgaW50ZXJmYWNlIGZvciBBenVyZSBQb2xpY3kgQXNzaWdubWVudFxuICogVGhpcyBpcyByZXF1aXJlZCBmb3IgSlNJSSBjb21wbGlhbmNlIHRvIHN1cHBvcnQgbXVsdGktbGFuZ3VhZ2UgY29kZSBnZW5lcmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9saWN5QXNzaWdubWVudFByb3BlcnRpZXMge1xuICAvKipcbiAgICogVGhlIHBvbGljeSBkZWZpbml0aW9uIElEXG4gICAqL1xuICByZWFkb25seSBwb2xpY3lEZWZpbml0aW9uSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNjb3BlIG9mIHRoZSBwb2xpY3kgYXNzaWdubWVudFxuICAgKi9cbiAgcmVhZG9ubHkgc2NvcGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgcG9saWN5IGFzc2lnbm1lbnRcbiAgICovXG4gIHJlYWRvbmx5IGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcG9saWN5IGFzc2lnbm1lbnQgZGVzY3JpcHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZW5mb3JjZW1lbnQgbW9kZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5mb3JjZW1lbnRNb2RlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXJhbWV0ZXJzIGZvciB0aGUgcG9saWN5IGFzc2lnbm1lbnRcbiAgICovXG4gIHJlYWRvbmx5IHBhcmFtZXRlcnM/OiBhbnk7XG5cbiAgLyoqXG4gICAqIE1ldGFkYXRhIGZvciB0aGUgcG9saWN5IGFzc2lnbm1lbnRcbiAgICovXG4gIHJlYWRvbmx5IG1ldGFkYXRhPzogYW55O1xuXG4gIC8qKlxuICAgKiBUaGUgcG9saWN5J3MgZXhjbHVkZWQgc2NvcGVzXG4gICAqL1xuICByZWFkb25seSBub3RTY29wZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIG5vbi1jb21wbGlhbmNlIG1lc3NhZ2VzXG4gICAqL1xuICByZWFkb25seSBub25Db21wbGlhbmNlTWVzc2FnZXM/OiBQb2xpY3lBc3NpZ25tZW50Tm9uQ29tcGxpYW5jZU1lc3NhZ2VbXTtcbn1cblxuLyoqXG4gKiBUaGUgcmVzb3VyY2UgYm9keSBpbnRlcmZhY2UgZm9yIEF6dXJlIFBvbGljeSBBc3NpZ25tZW50IEFQSSBjYWxsc1xuICogVGhpcyBtYXRjaGVzIHRoZSBBenVyZSBSRVNUIEFQSSBzY2hlbWEgZm9yIHBvbGljeSBhc3NpZ25tZW50c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvbGljeUFzc2lnbm1lbnRCb2R5IHtcbiAgLyoqXG4gICAqIFRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBwb2xpY3kgYXNzaWdubWVudFxuICAgKi9cbiAgcmVhZG9ubHkgcHJvcGVydGllczogUG9saWN5QXNzaWdubWVudFByb3BlcnRpZXM7XG5cbiAgLyoqXG4gICAqIFRoZSBtYW5hZ2VkIGlkZW50aXR5IGFzc29jaWF0ZWQgd2l0aCB0aGUgcG9saWN5IGFzc2lnbm1lbnRcbiAgICovXG4gIHJlYWRvbmx5IGlkZW50aXR5PzogUG9saWN5QXNzaWdubWVudElkZW50aXR5O1xufVxuXG4vKipcbiAqIFVuaWZpZWQgQXp1cmUgUG9saWN5IEFzc2lnbm1lbnQgaW1wbGVtZW50YXRpb25cbiAqXG4gKiBUaGlzIGNsYXNzIHByb3ZpZGVzIGEgc2luZ2xlLCB2ZXJzaW9uLWF3YXJlIGltcGxlbWVudGF0aW9uIGZvciBtYW5hZ2luZyBBenVyZVxuICogUG9saWN5IEFzc2lnbm1lbnRzLiBJdCBhdXRvbWF0aWNhbGx5IGhhbmRsZXMgdmVyc2lvbiByZXNvbHV0aW9uLCBzY2hlbWEgdmFsaWRhdGlvbixcbiAqIGFuZCBwcm9wZXJ0eSB0cmFuc2Zvcm1hdGlvbi5cbiAqXG4gKiBOb3RlOiBQb2xpY3kgYXNzaWdubWVudHMgY2FuIGJlIGRlcGxveWVkIGF0IG1hbmFnZW1lbnQgZ3JvdXAsIHN1YnNjcmlwdGlvbiwgcmVzb3VyY2UgZ3JvdXAsXG4gKiBvciByZXNvdXJjZSBzY29wZS4gTGlrZSBwb2xpY3kgZGVmaW5pdGlvbnMsIHRoZXkgZG8gbm90IGhhdmUgYSBsb2NhdGlvbiBwcm9wZXJ0eSBhcyB0aGV5XG4gKiBhcmUgbm90IHJlZ2lvbi1zcGVjaWZpYy5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQmFzaWMgcG9saWN5IGFzc2lnbm1lbnQ6XG4gKiBjb25zdCBhc3NpZ25tZW50ID0gbmV3IFBvbGljeUFzc2lnbm1lbnQodGhpcywgXCJhc3NpZ25tZW50XCIsIHtcbiAqICAgbmFtZTogXCJyZXF1aXJlLXRhZy1hc3NpZ25tZW50XCIsXG4gKiAgIHBvbGljeURlZmluaXRpb25JZDogcG9saWN5RGVmaW5pdGlvbi5pZCxcbiAqICAgc2NvcGU6IFwiL3N1YnNjcmlwdGlvbnMvMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwL3Jlc291cmNlR3JvdXBzL3JnLW5hbWVcIixcbiAqICAgZGlzcGxheU5hbWU6IFwiUmVxdWlyZSB0YWcgb24gcmVzb3VyY2VzXCIsXG4gKiAgIGRlc2NyaXB0aW9uOiBcIkVuZm9yY2VzIHJlcXVpcmVkIHRhZ3Mgb24gcmVzb3VyY2VzXCJcbiAqIH0pO1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBQb2xpY3kgYXNzaWdubWVudCB3aXRoIHBhcmFtZXRlcnM6XG4gKiBjb25zdCBhc3NpZ25tZW50ID0gbmV3IFBvbGljeUFzc2lnbm1lbnQodGhpcywgXCJhc3NpZ25tZW50XCIsIHtcbiAqICAgbmFtZTogXCJyZXF1aXJlLXRhZy1hc3NpZ25tZW50XCIsXG4gKiAgIHBvbGljeURlZmluaXRpb25JZDogcG9saWN5RGVmaW5pdGlvbi5pZCxcbiAqICAgc2NvcGU6IFwiL3N1YnNjcmlwdGlvbnMvMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwXCIsXG4gKiAgIHBhcmFtZXRlcnM6IHtcbiAqICAgICB0YWdOYW1lOiB7XG4gKiAgICAgICB2YWx1ZTogXCJFbnZpcm9ubWVudFwiXG4gKiAgICAgfSxcbiAqICAgICB0YWdWYWx1ZToge1xuICogICAgICAgdmFsdWU6IFwiUHJvZHVjdGlvblwiXG4gKiAgICAgfVxuICogICB9XG4gKiB9KTtcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gUG9saWN5IGFzc2lnbm1lbnQgd2l0aCBtYW5hZ2VkIGlkZW50aXR5OlxuICogY29uc3QgYXNzaWdubWVudCA9IG5ldyBQb2xpY3lBc3NpZ25tZW50KHRoaXMsIFwiYXNzaWdubWVudFwiLCB7XG4gKiAgIG5hbWU6IFwiZGVwbG95LW1vbml0b3JpbmctYXNzaWdubWVudFwiLFxuICogICBwb2xpY3lEZWZpbml0aW9uSWQ6IFwiL3Byb3ZpZGVycy9NaWNyb3NvZnQuQXV0aG9yaXphdGlvbi9wb2xpY3lEZWZpbml0aW9ucy9wb2xpY3ktaWRcIixcbiAqICAgc2NvcGU6IFwiL3N1YnNjcmlwdGlvbnMvMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwXCIsXG4gKiAgIGlkZW50aXR5OiB7XG4gKiAgICAgdHlwZTogXCJTeXN0ZW1Bc3NpZ25lZFwiXG4gKiAgIH1cbiAqIH0pO1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBQb2xpY3kgYXNzaWdubWVudCBhdCBtYW5hZ2VtZW50IGdyb3VwIHNjb3BlOlxuICogY29uc3QgbWdBc3NpZ25tZW50ID0gbmV3IFBvbGljeUFzc2lnbm1lbnQodGhpcywgXCJtZ0Fzc2lnbm1lbnRcIiwge1xuICogICBuYW1lOiBcIm1nLXBvbGljeS1hc3NpZ25tZW50XCIsXG4gKiAgIHBvbGljeURlZmluaXRpb25JZDogXCIvcHJvdmlkZXJzL01pY3Jvc29mdC5BdXRob3JpemF0aW9uL3BvbGljeURlZmluaXRpb25zL3BvbGljeS1pZFwiLFxuICogICBzY29wZTogXCIvcHJvdmlkZXJzL01pY3Jvc29mdC5NYW5hZ2VtZW50L21hbmFnZW1lbnRHcm91cHMvbXktbWdcIixcbiAqICAgZGlzcGxheU5hbWU6IFwiTWFuYWdlbWVudCBHcm91cCBQb2xpY3lcIixcbiAqICAgZGVzY3JpcHRpb246IFwiQXBwbGllcyBwb2xpY3kgYWNyb3NzIHRoZSBlbnRpcmUgbWFuYWdlbWVudCBncm91cCBoaWVyYXJjaHlcIlxuICogfSk7XG4gKlxuICogQHN0YWJpbGl0eSBzdGFibGVcbiAqL1xuZXhwb3J0IGNsYXNzIFBvbGljeUFzc2lnbm1lbnQgZXh0ZW5kcyBBemFwaVJlc291cmNlIHtcbiAgc3RhdGljIHtcbiAgICBBemFwaVJlc291cmNlLnJlZ2lzdGVyU2NoZW1hcyhcbiAgICAgIFBPTElDWV9BU1NJR05NRU5UX1RZUEUsXG4gICAgICBBTExfUE9MSUNZX0FTU0lHTk1FTlRfVkVSU0lPTlMsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgaW5wdXQgcHJvcGVydGllcyBmb3IgdGhpcyBQb2xpY3kgQXNzaWdubWVudCBpbnN0YW5jZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHByb3BzOiBQb2xpY3lBc3NpZ25tZW50UHJvcHM7XG5cbiAgLy8gT3V0cHV0IHByb3BlcnRpZXMgZm9yIGVhc3kgYWNjZXNzIGFuZCByZWZlcmVuY2luZ1xuICBwdWJsaWMgcmVhZG9ubHkgaWRPdXRwdXQ6IGNka3RuLlRlcnJhZm9ybU91dHB1dDtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWVPdXRwdXQ6IGNka3RuLlRlcnJhZm9ybU91dHB1dDtcblxuICAvLyBQdWJsaWMgcHJvcGVydGllc1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IEF6dXJlIFBvbGljeSBBc3NpZ25tZW50IHVzaW5nIHRoZSBWZXJzaW9uZWRBemFwaVJlc291cmNlIGZyYW1ld29ya1xuICAgKlxuICAgKiBUaGUgY29uc3RydWN0b3IgYXV0b21hdGljYWxseSBoYW5kbGVzIHZlcnNpb24gcmVzb2x1dGlvbiwgc2NoZW1hIHJlZ2lzdHJhdGlvbixcbiAgICogdmFsaWRhdGlvbiwgYW5kIHJlc291cmNlIGNyZWF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgLSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0XG4gICAqIEBwYXJhbSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBpbnN0YW5jZVxuICAgKiBAcGFyYW0gcHJvcHMgLSBDb25maWd1cmF0aW9uIHByb3BlcnRpZXMgZm9yIHRoZSBQb2xpY3kgQXNzaWdubWVudFxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFBvbGljeUFzc2lnbm1lbnRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuXG4gICAgLy8gRXh0cmFjdCBwcm9wZXJ0aWVzIGZyb20gdGhlIEFaQVBJIHJlc291cmNlIG91dHB1dHMgdXNpbmcgVGVycmFmb3JtIGludGVycG9sYXRpb25cblxuICAgIC8vIENyZWF0ZSBUZXJyYWZvcm0gb3V0cHV0cyBmb3IgZWFzeSBhY2Nlc3MgYW5kIHJlZmVyZW5jaW5nIGZyb20gb3RoZXIgcmVzb3VyY2VzXG4gICAgdGhpcy5pZE91dHB1dCA9IG5ldyBjZGt0bi5UZXJyYWZvcm1PdXRwdXQodGhpcywgXCJpZFwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5pZCxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBJRCBvZiB0aGUgUG9saWN5IEFzc2lnbm1lbnRcIixcbiAgICB9KTtcblxuICAgIHRoaXMubmFtZU91dHB1dCA9IG5ldyBjZGt0bi5UZXJyYWZvcm1PdXRwdXQodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgIHZhbHVlOiBgXFwkeyR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZS5mcW59Lm5hbWV9YCxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBuYW1lIG9mIHRoZSBQb2xpY3kgQXNzaWdubWVudFwiLFxuICAgIH0pO1xuXG4gICAgLy8gT3ZlcnJpZGUgbG9naWNhbCBJRHMgdG8gbWF0Y2ggb3JpZ2luYWwgbmFtaW5nIGNvbnZlbnRpb25cbiAgICB0aGlzLmlkT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwiaWRcIik7XG4gICAgdGhpcy5uYW1lT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwibmFtZVwiKTtcblxuICAgIC8vIEFwcGx5IGlnbm9yZSBjaGFuZ2VzIGlmIHNwZWNpZmllZFxuICAgIHRoaXMuX2FwcGx5SWdub3JlQ2hhbmdlcygpO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUkVRVUlSRUQgQUJTVFJBQ1QgTUVUSE9EUyBGUk9NIEF6YXBpUmVzb3VyY2VcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogR2V0cyB0aGUgZGVmYXVsdCBBUEkgdmVyc2lvbiB0byB1c2Ugd2hlbiBubyBleHBsaWNpdCB2ZXJzaW9uIGlzIHNwZWNpZmllZFxuICAgKiBSZXR1cm5zIHRoZSBtb3N0IHJlY2VudCBzdGFibGUgdmVyc2lvbiBhcyB0aGUgZGVmYXVsdFxuICAgKi9cbiAgcHJvdGVjdGVkIGRlZmF1bHRWZXJzaW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFwiMjAyMi0wNi0wMVwiO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIEF6dXJlIHJlc291cmNlIHR5cGUgZm9yIFBvbGljeSBBc3NpZ25tZW50c1xuICAgKi9cbiAgcHJvdGVjdGVkIHJlc291cmNlVHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBQT0xJQ1lfQVNTSUdOTUVOVF9UWVBFO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIEFQSSBzY2hlbWEgZm9yIHRoZSByZXNvbHZlZCB2ZXJzaW9uXG4gICAqIFVzZXMgdGhlIGZyYW1ld29yaydzIHNjaGVtYSByZXNvbHV0aW9uIHRvIGdldCB0aGUgYXBwcm9wcmlhdGUgc2NoZW1hXG4gICAqL1xuICBwcm90ZWN0ZWQgYXBpU2NoZW1hKCk6IEFwaVNjaGVtYSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZVNjaGVtYSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFBvbGljeSBBc3NpZ25tZW50cyBkbyBub3Qgc3VwcG9ydCB0YWdzIGF0IHRoZSByZXNvdXJjZSBsZXZlbFxuICAgKiBUYWdzIGFyZSBub3QgYSB2YWxpZCBwcm9wZXJ0eSBmb3IgTWljcm9zb2Z0LkF1dGhvcml6YXRpb24vcG9saWN5QXNzaWdubWVudHNcbiAgICogQHJldHVybnMgZmFsc2UgLSBQb2xpY3kgQXNzaWdubWVudHMgY2Fubm90IGhhdmUgdGFnc1xuICAgKiBAb3ZlcnJpZGVcbiAgICovXG4gIHByb3RlY3RlZCBzdXBwb3J0c1RhZ3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgdGhlIHJlc291cmNlIGJvZHkgZm9yIHRoZSBBenVyZSBBUEkgY2FsbFxuICAgKiBUcmFuc2Zvcm1zIHRoZSBpbnB1dCBwcm9wZXJ0aWVzIGludG8gdGhlIEpTT04gZm9ybWF0IGV4cGVjdGVkIGJ5IEF6dXJlIFJFU1QgQVBJXG4gICAqXG4gICAqIE5vdGU6IFBvbGljeSBhc3NpZ25tZW50cyBkbyBub3QgaGF2ZSBhIGxvY2F0aW9uIHByb3BlcnR5IGFzIHRoZXkgYXJlXG4gICAqIHNjb3BlZCByZXNvdXJjZXMgKHN1YnNjcmlwdGlvbiwgcmVzb3VyY2UgZ3JvdXAsIG9yIHJlc291cmNlIGxldmVsKS5cbiAgICogVGhlIHNjb3BlIHByb3BlcnR5IGlzIE5PVCBpbmNsdWRlZCBpbiB0aGUgYm9keSBhcyBpdCdzIHJlYWQtb25seSBhbmRcbiAgICogYXV0b21hdGljYWxseSBkZXJpdmVkIGZyb20gdGhlIHBhcmVudElkLlxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZVJlc291cmNlQm9keShwcm9wczogYW55KTogYW55IHtcbiAgICBjb25zdCB0eXBlZFByb3BzID0gcHJvcHMgYXMgUG9saWN5QXNzaWdubWVudFByb3BzO1xuXG4gICAgY29uc3QgYm9keTogYW55ID0ge1xuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBwb2xpY3lEZWZpbml0aW9uSWQ6IHR5cGVkUHJvcHMucG9saWN5RGVmaW5pdGlvbklkLFxuICAgICAgICAvLyBOb3RlOiBzY29wZSBpcyBOT1QgaW5jbHVkZWQgaGVyZSAtIGl0J3MgcmVhZC1vbmx5IGFuZCBkZXJpdmVkIGZyb20gcGFyZW50SWRcbiAgICAgICAgZGlzcGxheU5hbWU6IHR5cGVkUHJvcHMuZGlzcGxheU5hbWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0eXBlZFByb3BzLmRlc2NyaXB0aW9uLFxuICAgICAgICBlbmZvcmNlbWVudE1vZGU6IHR5cGVkUHJvcHMuZW5mb3JjZW1lbnRNb2RlIHx8IFwiRGVmYXVsdFwiLFxuICAgICAgICBwYXJhbWV0ZXJzOiB0eXBlZFByb3BzLnBhcmFtZXRlcnMsXG4gICAgICAgIG1ldGFkYXRhOiB0eXBlZFByb3BzLm1ldGFkYXRhLFxuICAgICAgICBub3RTY29wZXM6IHR5cGVkUHJvcHMubm90U2NvcGVzLFxuICAgICAgICBub25Db21wbGlhbmNlTWVzc2FnZXM6IHR5cGVkUHJvcHMubm9uQ29tcGxpYW5jZU1lc3NhZ2VzLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgLy8gQWRkIGlkZW50aXR5IGlmIHByb3ZpZGVkXG4gICAgaWYgKHR5cGVkUHJvcHMuaWRlbnRpdHkpIHtcbiAgICAgIGJvZHkuaWRlbnRpdHkgPSB0eXBlZFByb3BzLmlkZW50aXR5O1xuICAgICAgLy8gTm90ZTogbG9jYXRpb24gaXMgTk9UIGFkZGVkIHRvIHRoZSBib2R5IGZvciBwb2xpY3kgYXNzaWdubWVudHNcbiAgICAgIC8vIEl0J3MgaGFuZGxlZCBieSB0aGUgQVpBUEkgcHJvdmlkZXIgY29uZmlnIGZvciBpZGVudGl0eSBwcm92aXNpb25pbmdcbiAgICB9XG5cbiAgICByZXR1cm4gYm9keTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPdmVycmlkZXMgcGFyZW50IElEIHJlc29sdXRpb24gdG8gdXNlIHRoZSBzY29wZSBmcm9tIHByb3BzXG4gICAqIFBvbGljeSBhc3NpZ25tZW50cyBhcmUgc2NvcGVkIHJlc291cmNlcyB3aGVyZSB0aGUgc2NvcGUgSVMgdGhlIHBhcmVudFxuICAgKi9cbiAgcHJvdGVjdGVkIHJlc29sdmVQYXJlbnRJZChwcm9wczogYW55KTogc3RyaW5nIHtcbiAgICBjb25zdCB0eXBlZFByb3BzID0gcHJvcHMgYXMgUG9saWN5QXNzaWdubWVudFByb3BzO1xuICAgIHJldHVybiB0eXBlZFByb3BzLnNjb3BlO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUFVCTElDIE1FVEhPRFMgRk9SIFBPTElDWSBBU1NJR05NRU5UIE9QRVJBVElPTlNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogR2V0IHRoZSBmdWxsIHJlc291cmNlIGlkZW50aWZpZXIgZm9yIHVzZSBpbiBvdGhlciBBenVyZSByZXNvdXJjZXNcbiAgICogQWxpYXMgZm9yIHRoZSBpZCBwcm9wZXJ0eVxuICAgKi9cbiAgcHVibGljIGdldCByZXNvdXJjZUlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBwb2xpY3kgZGVmaW5pdGlvbiBJRCB0aGlzIGFzc2lnbm1lbnQgcmVmZXJlbmNlc1xuICAgKi9cbiAgcHVibGljIGdldCBwb2xpY3lEZWZpbml0aW9uSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5wb2xpY3lEZWZpbml0aW9uSWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBzY29wZSBvZiB0aGlzIHBvbGljeSBhc3NpZ25tZW50XG4gICAqL1xuICBwdWJsaWMgZ2V0IGFzc2lnbm1lbnRTY29wZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLnNjb3BlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgZW5mb3JjZW1lbnQgbW9kZVxuICAgKi9cbiAgcHVibGljIGdldCBlbmZvcmNlbWVudE1vZGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5lbmZvcmNlbWVudE1vZGUgfHwgXCJEZWZhdWx0XCI7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBQUklWQVRFIEhFTFBFUiBNRVRIT0RTXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIEFwcGxpZXMgaWdub3JlIGNoYW5nZXMgbGlmZWN5Y2xlIHJ1bGVzIGlmIHNwZWNpZmllZCBpbiBwcm9wc1xuICAgKi9cbiAgcHJpdmF0ZSBfYXBwbHlJZ25vcmVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByb3BzLmlnbm9yZUNoYW5nZXMgJiYgdGhpcy5wcm9wcy5pZ25vcmVDaGFuZ2VzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudGVycmFmb3JtUmVzb3VyY2UuYWRkT3ZlcnJpZGUoXCJsaWZlY3ljbGVcIiwgW1xuICAgICAgICB7XG4gICAgICAgICAgaWdub3JlX2NoYW5nZXM6IHRoaXMucHJvcHMuaWdub3JlQ2hhbmdlcyxcbiAgICAgICAgfSxcbiAgICAgIF0pO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
* Run with: npm run integration:nostream
|
|
13
13
|
*/
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const
|
|
16
|
-
require("
|
|
15
|
+
const cdktn_1 = require("cdktn");
|
|
16
|
+
require("cdktn/lib/testing/adapters/jest");
|
|
17
17
|
const azure_policydefinition_1 = require("../../azure-policydefinition");
|
|
18
18
|
const data_azapi_client_config_1 = require("../../core-azure/lib/azapi/providers-azapi/data-azapi-client-config");
|
|
19
19
|
const provider_1 = require("../../core-azure/lib/azapi/providers-azapi/provider");
|
|
@@ -140,9 +140,9 @@ class PolicyAssignmentExampleStack extends testing_1.BaseTestStack {
|
|
|
140
140
|
}
|
|
141
141
|
describe("Policy Assignment Integration Test", () => {
|
|
142
142
|
it("should deploy, validate idempotency, and cleanup policy assignment resources", () => {
|
|
143
|
-
const app =
|
|
143
|
+
const app = cdktn_1.Testing.app();
|
|
144
144
|
const stack = new PolicyAssignmentExampleStack(app, "test-policy-assignment");
|
|
145
|
-
const synthesized =
|
|
145
|
+
const synthesized = cdktn_1.Testing.fullSynth(stack);
|
|
146
146
|
// This will:
|
|
147
147
|
// 1. Run terraform apply to deploy resources (policy definition and assignments)
|
|
148
148
|
// 2. Run terraform plan to check idempotency (no changes expected)
|
|
@@ -150,4 +150,4 @@ describe("Policy Assignment Integration Test", () => {
|
|
|
150
150
|
(0, testing_1.TerraformApplyCheckAndDestroy)(synthesized, { verifyCleanup: true });
|
|
151
151
|
}, 600000); // 10 minute timeout for deployment and cleanup
|
|
152
152
|
});
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9saWN5LWFzc2lnbm1lbnQuaW50ZWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtcG9saWN5YXNzaWdubWVudC90ZXN0L3BvbGljeS1hc3NpZ25tZW50LmludGVnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFFSCxpQ0FBZ0M7QUFFaEMsMkNBQXlDO0FBQ3pDLHlFQUFnRTtBQUNoRSxrSEFBNEc7QUFDNUcsa0ZBQW9GO0FBQ3BGLDJDQUE2RTtBQUM3RSx5REFBNkQ7QUFDN0QsZ0VBQTREO0FBRTVELHdEQUF3RDtBQUN4RCxNQUFNLFlBQVksR0FBRyxJQUFJLDBCQUFlLENBQUMsK0JBQStCLEVBQUU7SUFDeEUsV0FBVyxFQUFFLENBQUM7Q0FDZixDQUFDLENBQUM7QUFFSDs7R0FFRztBQUNILE1BQU0sNEJBQTZCLFNBQVEsdUJBQWE7SUFDdEQsWUFBWSxLQUFnQixFQUFFLEVBQVU7UUFDdEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixjQUFjLEVBQUU7Z0JBQ2QsV0FBVyxFQUFFLFlBQVksQ0FBQyxXQUFXO2dCQUNyQyxXQUFXLEVBQUUsWUFBWSxDQUFDLFdBQVc7Z0JBQ3JDLGFBQWEsRUFBRSxZQUFZLENBQUMsYUFBYTthQUMxQztTQUNGLENBQUMsQ0FBQztRQUVILDJCQUEyQjtRQUMzQixJQUFJLHdCQUFhLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVyQyw2Q0FBNkM7UUFDN0MsTUFBTSxZQUFZLEdBQUcsSUFBSSxnREFBcUIsQ0FDNUMsSUFBSSxFQUNKLHVCQUF1QixDQUN4QixDQUFDO1FBRUYsd0JBQXdCO1FBQ3hCLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUNwRCwyQ0FBMkMsRUFDM0MsWUFBWSxDQUNiLENBQUM7UUFDRixNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FDbkQsMkNBQTJDLEVBQzNDLE9BQU8sQ0FDUixDQUFDO1FBQ0YsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQ3RELDJDQUEyQyxFQUMzQyxVQUFVLENBQ1gsQ0FBQztRQUVGLDhDQUE4QztRQUM5QyxNQUFNLGdCQUFnQixHQUFHLElBQUkseUNBQWdCLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUNqRSxJQUFJLEVBQUUsb0JBQW9CO1lBQzFCLFdBQVcsRUFBRSw0QkFBNEI7WUFDekMsV0FBVyxFQUFFLDBEQUEwRDtZQUN2RSxVQUFVLEVBQUUsUUFBUTtZQUNwQixJQUFJLEVBQUUsU0FBUztZQUNmLFVBQVUsRUFBRTtnQkFDVixFQUFFLEVBQUU7b0JBQ0YsS0FBSyxFQUFFLG1EQUFtRDtvQkFDMUQsTUFBTSxFQUFFLE9BQU87aUJBQ2hCO2dCQUNELElBQUksRUFBRTtvQkFDSixNQUFNLEVBQUUsT0FBTztpQkFDaEI7YUFDRjtZQUNELFVBQVUsRUFBRTtnQkFDVixPQUFPLEVBQUU7b0JBQ1AsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsUUFBUSxFQUFFO3dCQUNSLFdBQVcsRUFBRSxVQUFVO3dCQUN2QixXQUFXLEVBQUUsMEJBQTBCO3FCQUN4QztvQkFDRCxZQUFZLEVBQUUsU0FBUztpQkFDeEI7YUFDRjtZQUNELFFBQVEsRUFBRTtnQkFDUixRQUFRLEVBQUUsU0FBUztnQkFDbkIsT0FBTyxFQUFFLE9BQU87YUFDakI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNwQixPQUFPLEVBQUUsa0JBQWtCO2FBQzVCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsb0VBQW9FO1FBQ3BFLE1BQU0saUJBQWlCLEdBQUcsa0JBQWtCLFlBQVksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUUxRSwyREFBMkQ7UUFDM0QscURBQXFEO1FBQ3JELElBQUksb0NBQWdCLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFO1lBQzdDLElBQUksRUFBRSxtQkFBbUI7WUFDekIsV0FBVyxFQUFFLHlCQUF5QjtZQUN0QyxXQUFXLEVBQUUsdUNBQXVDO1lBQ3BELGtCQUFrQixFQUFFLGdCQUFnQixDQUFDLEVBQUU7WUFDdkMsS0FBSyxFQUFFLGlCQUFpQjtZQUN4QixlQUFlLEVBQUUsU0FBUztZQUMxQixJQUFJLEVBQUU7Z0JBQ0osR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNwQixPQUFPLEVBQUUsT0FBTzthQUNqQjtZQUNELHFFQUFxRTtZQUNyRSw0REFBNEQ7WUFDNUQsZ0VBQWdFO1lBQ2hFLDJFQUEyRTtZQUMzRSxTQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7U0FDdkMsQ0FBQyxDQUFDO1FBRUgsK0ZBQStGO1FBQy9GLHFEQUFxRDtRQUNyRCxJQUFJLG9DQUFnQixDQUFDLElBQUksRUFBRSxxQkFBcUIsRUFBRTtZQUNoRCxJQUFJLEVBQUUsc0JBQXNCO1lBQzVCLFFBQVEsRUFBRSxRQUFRLEVBQUUsc0NBQXNDO1lBQzFELFdBQVcsRUFBRSw0QkFBNEI7WUFDekMsV0FBVyxFQUFFLDREQUE0RDtZQUN6RSxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFO1lBQ3ZDLEtBQUssRUFBRSxpQkFBaUI7WUFDeEIsZUFBZSxFQUFFLGNBQWMsRUFBRSxhQUFhO1lBQzlDLFVBQVUsRUFBRTtnQkFDVixPQUFPLEVBQUU7b0JBQ1AsS0FBSyxFQUFFLGFBQWE7aUJBQ3JCO2FBQ0Y7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsVUFBVSxFQUFFLGtCQUFrQjtnQkFDOUIsY0FBYyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFO2FBQ3pDO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSxnQkFBZ0I7YUFDdkI7WUFDRCxxQkFBcUIsRUFBRTtnQkFDckI7b0JBQ0UsT0FBTyxFQUNMLHlFQUF5RTtpQkFDNUU7YUFDRjtZQUNELElBQUksRUFBRTtnQkFDSixHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3BCLE9BQU8sRUFBRSxVQUFVO2FBQ3BCO1lBQ0QscUVBQXFFO1lBQ3JFLDREQUE0RDtZQUM1RCxnRUFBZ0U7WUFDaEUsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO1NBQ3ZDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQUVELFFBQVEsQ0FBQyxvQ0FBb0MsRUFBRSxHQUFHLEVBQUU7SUFDbEQsRUFBRSxDQUFDLDhFQUE4RSxFQUFFLEdBQUcsRUFBRTtRQUN0RixNQUFNLEdBQUcsR0FBRyxlQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSw0QkFBNEIsQ0FDNUMsR0FBRyxFQUNILHdCQUF3QixDQUN6QixDQUFDO1FBQ0YsTUFBTSxXQUFXLEdBQUcsZUFBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU3QyxhQUFhO1FBQ2IsaUZBQWlGO1FBQ2pGLG1FQUFtRTtRQUNuRSxnREFBZ0Q7UUFDaEQsSUFBQSx1Q0FBNkIsRUFBQyxXQUFXLEVBQUUsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQywrQ0FBK0M7QUFDN0QsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEludGVncmF0aW9uIHRlc3QgZm9yIEF6dXJlIFBvbGljeSBBc3NpZ25tZW50XG4gKlxuICogVGhpcyB0ZXN0IGRlbW9uc3RyYXRlcyBiYXNpYyB1c2FnZSBvZiB0aGUgUG9saWN5QXNzaWdubWVudCBjb25zdHJ1Y3RcbiAqIGFuZCB2YWxpZGF0ZXMgZGVwbG95bWVudCwgaWRlbXBvdGVuY3ksIGFuZCBjbGVhbnVwLlxuICpcbiAqIE5vdGU6IFRoaXMgdGVzdCByZXF1aXJlcyBhIHBvbGljeSBkZWZpbml0aW9uIHRvIGV4aXN0IGJlZm9yZSBhc3NpZ25pbmcgaXQuXG4gKiBJdCBjcmVhdGVzIGEgc2ltcGxlIHBvbGljeSBkZWZpbml0aW9uIGZpcnN0LCB0aGVuIGNyZWF0ZXMgYXNzaWdubWVudHNcbiAqIHRoYXQgcmVmZXJlbmNlIGl0LlxuICpcbiAqIFJ1biB3aXRoOiBucG0gcnVuIGludGVncmF0aW9uOm5vc3RyZWFtXG4gKi9cblxuaW1wb3J0IHsgVGVzdGluZyB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCBcImNka3RmL2xpYi90ZXN0aW5nL2FkYXB0ZXJzL2plc3RcIjtcbmltcG9ydCB7IFBvbGljeURlZmluaXRpb24gfSBmcm9tIFwiLi4vLi4vYXp1cmUtcG9saWN5ZGVmaW5pdGlvblwiO1xuaW1wb3J0IHsgRGF0YUF6YXBpQ2xpZW50Q29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliL2F6YXBpL3Byb3ZpZGVycy1hemFwaS9kYXRhLWF6YXBpLWNsaWVudC1jb25maWdcIjtcbmltcG9ydCB7IEF6YXBpUHJvdmlkZXIgfSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvYXphcGkvcHJvdmlkZXJzLWF6YXBpL3Byb3ZpZGVyXCI7XG5pbXBvcnQgeyBCYXNlVGVzdFN0YWNrLCBUZXJyYWZvcm1BcHBseUNoZWNrQW5kRGVzdHJveSB9IGZyb20gXCIuLi8uLi90ZXN0aW5nXCI7XG5pbXBvcnQgeyBUZXN0UnVuTWV0YWRhdGEgfSBmcm9tIFwiLi4vLi4vdGVzdGluZy9saWIvbWV0YWRhdGFcIjtcbmltcG9ydCB7IFBvbGljeUFzc2lnbm1lbnQgfSBmcm9tIFwiLi4vbGliL3BvbGljeS1hc3NpZ25tZW50XCI7XG5cbi8vIEdlbmVyYXRlIHVuaXF1ZSB0ZXN0IHJ1biBtZXRhZGF0YSBmb3IgdGhpcyB0ZXN0IHN1aXRlXG5jb25zdCB0ZXN0TWV0YWRhdGEgPSBuZXcgVGVzdFJ1bk1ldGFkYXRhKFwicG9saWN5LWFzc2lnbm1lbnQtaW50ZWdyYXRpb25cIiwge1xuICBtYXhBZ2VIb3VyczogNCxcbn0pO1xuXG4vKipcbiAqIEV4YW1wbGUgc3RhY2sgZGVtb25zdHJhdGluZyBQb2xpY3kgQXNzaWdubWVudCB1c2FnZVxuICovXG5jbGFzcyBQb2xpY3lBc3NpZ25tZW50RXhhbXBsZVN0YWNrIGV4dGVuZHMgQmFzZVRlc3RTdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHRlc3RSdW5PcHRpb25zOiB7XG4gICAgICAgIG1heEFnZUhvdXJzOiB0ZXN0TWV0YWRhdGEubWF4QWdlSG91cnMsXG4gICAgICAgIGF1dG9DbGVhbnVwOiB0ZXN0TWV0YWRhdGEuYXV0b0NsZWFudXAsXG4gICAgICAgIGNsZWFudXBQb2xpY3k6IHRlc3RNZXRhZGF0YS5jbGVhbnVwUG9saWN5LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIENvbmZpZ3VyZSBBWkFQSSBwcm92aWRlclxuICAgIG5ldyBBemFwaVByb3ZpZGVyKHRoaXMsIFwiYXphcGlcIiwge30pO1xuXG4gICAgLy8gR2V0IHRoZSBjdXJyZW50IHN1YnNjcmlwdGlvbiBJRCBmcm9tIEF6dXJlXG4gICAgY29uc3QgY2xpZW50Q29uZmlnID0gbmV3IERhdGFBemFwaUNsaWVudENvbmZpZyhcbiAgICAgIHRoaXMsXG4gICAgICBcImNsaWVudF9jb25maWdfZGVmYXVsdFwiLFxuICAgICk7XG5cbiAgICAvLyBHZW5lcmF0ZSB1bmlxdWUgbmFtZXNcbiAgICBjb25zdCBwb2xpY3lEZWZpbml0aW9uTmFtZSA9IHRoaXMuZ2VuZXJhdGVSZXNvdXJjZU5hbWUoXG4gICAgICBcIk1pY3Jvc29mdC5BdXRob3JpemF0aW9uL3BvbGljeURlZmluaXRpb25zXCIsXG4gICAgICBcInRlc3Rwb2xpY3lcIixcbiAgICApO1xuICAgIGNvbnN0IGJhc2ljQXNzaWdubWVudE5hbWUgPSB0aGlzLmdlbmVyYXRlUmVzb3VyY2VOYW1lKFxuICAgICAgXCJNaWNyb3NvZnQuQXV0aG9yaXphdGlvbi9wb2xpY3lBc3NpZ25tZW50c1wiLFxuICAgICAgXCJiYXNpY1wiLFxuICAgICk7XG4gICAgY29uc3QgYWR2YW5jZWRBc3NpZ25tZW50TmFtZSA9IHRoaXMuZ2VuZXJhdGVSZXNvdXJjZU5hbWUoXG4gICAgICBcIk1pY3Jvc29mdC5BdXRob3JpemF0aW9uL3BvbGljeUFzc2lnbm1lbnRzXCIsXG4gICAgICBcImFkdmFuY2VkXCIsXG4gICAgKTtcblxuICAgIC8vIEZpcnN0LCBjcmVhdGUgYSBwb2xpY3kgZGVmaW5pdGlvbiB0byBhc3NpZ25cbiAgICBjb25zdCBwb2xpY3lEZWZpbml0aW9uID0gbmV3IFBvbGljeURlZmluaXRpb24odGhpcywgXCJ0ZXN0LXBvbGljeVwiLCB7XG4gICAgICBuYW1lOiBwb2xpY3lEZWZpbml0aW9uTmFtZSxcbiAgICAgIGRpc3BsYXlOYW1lOiBcIlRlc3QgUG9saWN5IGZvciBBc3NpZ25tZW50XCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJBIHNpbXBsZSB0ZXN0IHBvbGljeSB1c2VkIHRvIHZhbGlkYXRlIHBvbGljeSBhc3NpZ25tZW50c1wiLFxuICAgICAgcG9saWN5VHlwZTogXCJDdXN0b21cIixcbiAgICAgIG1vZGU6IFwiSW5kZXhlZFwiLFxuICAgICAgcG9saWN5UnVsZToge1xuICAgICAgICBpZjoge1xuICAgICAgICAgIGZpZWxkOiBcIltjb25jYXQoJ3RhZ3NbJycnLCBwYXJhbWV0ZXJzKCd0YWdOYW1lJyksICcnJ10nKV1cIixcbiAgICAgICAgICBleGlzdHM6IFwiZmFsc2VcIixcbiAgICAgICAgfSxcbiAgICAgICAgdGhlbjoge1xuICAgICAgICAgIGVmZmVjdDogXCJhdWRpdFwiLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgdGFnTmFtZToge1xuICAgICAgICAgIHR5cGU6IFwiU3RyaW5nXCIsXG4gICAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiBcIlRhZyBOYW1lXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJOYW1lIG9mIHRoZSB0YWcgdG8gY2hlY2tcIixcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogXCJUZXN0VGFnXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgY2F0ZWdvcnk6IFwiVGVzdGluZ1wiLFxuICAgICAgICB2ZXJzaW9uOiBcIjEuMC4wXCIsXG4gICAgICB9LFxuICAgICAgdGFnczoge1xuICAgICAgICAuLi50aGlzLnN5c3RlbVRhZ3MoKSxcbiAgICAgICAgcHVycG9zZTogXCJpbnRlZ3JhdGlvbi10ZXN0XCIsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gVXNlIHRoZSBhY3R1YWwgc3Vic2NyaXB0aW9uIElEIGZyb20gdGhlIGNsaWVudCBjb25maWcgZGF0YSBzb3VyY2VcbiAgICBjb25zdCBzdWJzY3JpcHRpb25TY29wZSA9IGAvc3Vic2NyaXB0aW9ucy8ke2NsaWVudENvbmZpZy5zdWJzY3JpcHRpb25JZH1gO1xuXG4gICAgLy8gRXhhbXBsZSAxOiBCYXNpYyBwb2xpY3kgYXNzaWdubWVudCBhdCBzdWJzY3JpcHRpb24gc2NvcGVcbiAgICAvLyBBZGQgZXhwbGljaXQgZGVwZW5kc09uIGZvciBwcm9wZXIgZGVzdHJveSBvcmRlcmluZ1xuICAgIG5ldyBQb2xpY3lBc3NpZ25tZW50KHRoaXMsIFwiYmFzaWMtYXNzaWdubWVudFwiLCB7XG4gICAgICBuYW1lOiBiYXNpY0Fzc2lnbm1lbnROYW1lLFxuICAgICAgZGlzcGxheU5hbWU6IFwiQmFzaWMgUG9saWN5IEFzc2lnbm1lbnRcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkEgYmFzaWMgcG9saWN5IGFzc2lnbm1lbnQgZm9yIHRlc3RpbmdcIixcbiAgICAgIHBvbGljeURlZmluaXRpb25JZDogcG9saWN5RGVmaW5pdGlvbi5pZCxcbiAgICAgIHNjb3BlOiBzdWJzY3JpcHRpb25TY29wZSxcbiAgICAgIGVuZm9yY2VtZW50TW9kZTogXCJEZWZhdWx0XCIsXG4gICAgICB0YWdzOiB7XG4gICAgICAgIC4uLnRoaXMuc3lzdGVtVGFncygpLFxuICAgICAgICBleGFtcGxlOiBcImJhc2ljXCIsXG4gICAgICB9LFxuICAgICAgLy8gSU1QT1JUQU5UOiBBZGQgZXhwbGljaXQgZGVwZW5kZW5jeSBvbiBwb2xpY3kgZGVmaW5pdGlvbiB0byBlbnN1cmU6XG4gICAgICAvLyAxLiBQb2xpY3kgZGVmaW5pdGlvbiBpcyBjcmVhdGVkIGJlZm9yZSBhc3NpZ25tZW50IChhcHBseSlcbiAgICAgIC8vIDIuIFBvbGljeSBhc3NpZ25tZW50IGlzIGRlc3Ryb3llZCBiZWZvcmUgZGVmaW5pdGlvbiAoZGVzdHJveSlcbiAgICAgIC8vIEF6dXJlIFJCQUMvUG9saWN5IGhhcyBldmVudHVhbCBjb25zaXN0ZW5jeSAtIGV4cGxpY2l0IGRlcHMgaGVscCBvcmRlcmluZ1xuICAgICAgZGVwZW5kc09uOiBbcG9saWN5RGVmaW5pdGlvbi5yZXNvdXJjZV0sXG4gICAgfSk7XG5cbiAgICAvLyBFeGFtcGxlIDI6IEFkdmFuY2VkIHBvbGljeSBhc3NpZ25tZW50IHdpdGggcGFyYW1ldGVycywgaWRlbnRpdHksIGFuZCBub24tY29tcGxpYW5jZSBtZXNzYWdlc1xuICAgIC8vIEFkZCBleHBsaWNpdCBkZXBlbmRzT24gZm9yIHByb3BlciBkZXN0cm95IG9yZGVyaW5nXG4gICAgbmV3IFBvbGljeUFzc2lnbm1lbnQodGhpcywgXCJhZHZhbmNlZC1hc3NpZ25tZW50XCIsIHtcbiAgICAgIG5hbWU6IGFkdmFuY2VkQXNzaWdubWVudE5hbWUsXG4gICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIiwgLy8gUmVxdWlyZWQgd2hlbiBpZGVudGl0eSBpcyBzcGVjaWZpZWRcbiAgICAgIGRpc3BsYXlOYW1lOiBcIkFkdmFuY2VkIFBvbGljeSBBc3NpZ25tZW50XCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJBbiBhZHZhbmNlZCBwb2xpY3kgYXNzaWdubWVudCB3aXRoIHBhcmFtZXRlcnMgYW5kIGlkZW50aXR5XCIsXG4gICAgICBwb2xpY3lEZWZpbml0aW9uSWQ6IHBvbGljeURlZmluaXRpb24uaWQsXG4gICAgICBzY29wZTogc3Vic2NyaXB0aW9uU2NvcGUsXG4gICAgICBlbmZvcmNlbWVudE1vZGU6IFwiRG9Ob3RFbmZvcmNlXCIsIC8vIEF1ZGl0IG1vZGVcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgdGFnTmFtZToge1xuICAgICAgICAgIHZhbHVlOiBcIkVudmlyb25tZW50XCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgYXNzaWduZWRCeTogXCJpbnRlZ3JhdGlvbi10ZXN0XCIsXG4gICAgICAgIGFzc2lnbm1lbnREYXRlOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICB9LFxuICAgICAgaWRlbnRpdHk6IHtcbiAgICAgICAgdHlwZTogXCJTeXN0ZW1Bc3NpZ25lZFwiLFxuICAgICAgfSxcbiAgICAgIG5vbkNvbXBsaWFuY2VNZXNzYWdlczogW1xuICAgICAgICB7XG4gICAgICAgICAgbWVzc2FnZTpcbiAgICAgICAgICAgIFwiUmVzb3VyY2VzIG11c3QgaGF2ZSB0aGUgcmVxdWlyZWQgdGFnLiBUaGlzIGlzIGEgdGVzdCBwb2xpY3kgYXNzaWdubWVudC5cIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICB0YWdzOiB7XG4gICAgICAgIC4uLnRoaXMuc3lzdGVtVGFncygpLFxuICAgICAgICBleGFtcGxlOiBcImFkdmFuY2VkXCIsXG4gICAgICB9LFxuICAgICAgLy8gSU1QT1JUQU5UOiBBZGQgZXhwbGljaXQgZGVwZW5kZW5jeSBvbiBwb2xpY3kgZGVmaW5pdGlvbiB0byBlbnN1cmU6XG4gICAgICAvLyAxLiBQb2xpY3kgZGVmaW5pdGlvbiBpcyBjcmVhdGVkIGJlZm9yZSBhc3NpZ25tZW50IChhcHBseSlcbiAgICAgIC8vIDIuIFBvbGljeSBhc3NpZ25tZW50IGlzIGRlc3Ryb3llZCBiZWZvcmUgZGVmaW5pdGlvbiAoZGVzdHJveSlcbiAgICAgIGRlcGVuZHNPbjogW3BvbGljeURlZmluaXRpb24ucmVzb3VyY2VdLFxuICAgIH0pO1xuICB9XG59XG5cbmRlc2NyaWJlKFwiUG9saWN5IEFzc2lnbm1lbnQgSW50ZWdyYXRpb24gVGVzdFwiLCAoKSA9PiB7XG4gIGl0KFwic2hvdWxkIGRlcGxveSwgdmFsaWRhdGUgaWRlbXBvdGVuY3ksIGFuZCBjbGVhbnVwIHBvbGljeSBhc3NpZ25tZW50IHJlc291cmNlc1wiLCAoKSA9PiB7XG4gICAgY29uc3QgYXBwID0gVGVzdGluZy5hcHAoKTtcbiAgICBjb25zdCBzdGFjayA9IG5ldyBQb2xpY3lBc3NpZ25tZW50RXhhbXBsZVN0YWNrKFxuICAgICAgYXBwLFxuICAgICAgXCJ0ZXN0LXBvbGljeS1hc3NpZ25tZW50XCIsXG4gICAgKTtcbiAgICBjb25zdCBzeW50aGVzaXplZCA9IFRlc3RpbmcuZnVsbFN5bnRoKHN0YWNrKTtcblxuICAgIC8vIFRoaXMgd2lsbDpcbiAgICAvLyAxLiBSdW4gdGVycmFmb3JtIGFwcGx5IHRvIGRlcGxveSByZXNvdXJjZXMgKHBvbGljeSBkZWZpbml0aW9uIGFuZCBhc3NpZ25tZW50cylcbiAgICAvLyAyLiBSdW4gdGVycmFmb3JtIHBsYW4gdG8gY2hlY2sgaWRlbXBvdGVuY3kgKG5vIGNoYW5nZXMgZXhwZWN0ZWQpXG4gICAgLy8gMy4gUnVuIHRlcnJhZm9ybSBkZXN0cm95IHRvIGNsZWFudXAgcmVzb3VyY2VzXG4gICAgVGVycmFmb3JtQXBwbHlDaGVja0FuZERlc3Ryb3koc3ludGhlc2l6ZWQsIHsgdmVyaWZ5Q2xlYW51cDogdHJ1ZSB9KTtcbiAgfSwgNjAwMDAwKTsgLy8gMTAgbWludXRlIHRpbWVvdXQgZm9yIGRlcGxveW1lbnQgYW5kIGNsZWFudXBcbn0pO1xuIl19
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9saWN5LWFzc2lnbm1lbnQuaW50ZWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtcG9saWN5YXNzaWdubWVudC90ZXN0L3BvbGljeS1hc3NpZ25tZW50LmludGVnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFFSCxpQ0FBZ0M7QUFFaEMsMkNBQXlDO0FBQ3pDLHlFQUFnRTtBQUNoRSxrSEFBNEc7QUFDNUcsa0ZBQW9GO0FBQ3BGLDJDQUE2RTtBQUM3RSx5REFBNkQ7QUFDN0QsZ0VBQTREO0FBRTVELHdEQUF3RDtBQUN4RCxNQUFNLFlBQVksR0FBRyxJQUFJLDBCQUFlLENBQUMsK0JBQStCLEVBQUU7SUFDeEUsV0FBVyxFQUFFLENBQUM7Q0FDZixDQUFDLENBQUM7QUFFSDs7R0FFRztBQUNILE1BQU0sNEJBQTZCLFNBQVEsdUJBQWE7SUFDdEQsWUFBWSxLQUFnQixFQUFFLEVBQVU7UUFDdEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixjQUFjLEVBQUU7Z0JBQ2QsV0FBVyxFQUFFLFlBQVksQ0FBQyxXQUFXO2dCQUNyQyxXQUFXLEVBQUUsWUFBWSxDQUFDLFdBQVc7Z0JBQ3JDLGFBQWEsRUFBRSxZQUFZLENBQUMsYUFBYTthQUMxQztTQUNGLENBQUMsQ0FBQztRQUVILDJCQUEyQjtRQUMzQixJQUFJLHdCQUFhLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVyQyw2Q0FBNkM7UUFDN0MsTUFBTSxZQUFZLEdBQUcsSUFBSSxnREFBcUIsQ0FDNUMsSUFBSSxFQUNKLHVCQUF1QixDQUN4QixDQUFDO1FBRUYsd0JBQXdCO1FBQ3hCLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUNwRCwyQ0FBMkMsRUFDM0MsWUFBWSxDQUNiLENBQUM7UUFDRixNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FDbkQsMkNBQTJDLEVBQzNDLE9BQU8sQ0FDUixDQUFDO1FBQ0YsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQ3RELDJDQUEyQyxFQUMzQyxVQUFVLENBQ1gsQ0FBQztRQUVGLDhDQUE4QztRQUM5QyxNQUFNLGdCQUFnQixHQUFHLElBQUkseUNBQWdCLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUNqRSxJQUFJLEVBQUUsb0JBQW9CO1lBQzFCLFdBQVcsRUFBRSw0QkFBNEI7WUFDekMsV0FBVyxFQUFFLDBEQUEwRDtZQUN2RSxVQUFVLEVBQUUsUUFBUTtZQUNwQixJQUFJLEVBQUUsU0FBUztZQUNmLFVBQVUsRUFBRTtnQkFDVixFQUFFLEVBQUU7b0JBQ0YsS0FBSyxFQUFFLG1EQUFtRDtvQkFDMUQsTUFBTSxFQUFFLE9BQU87aUJBQ2hCO2dCQUNELElBQUksRUFBRTtvQkFDSixNQUFNLEVBQUUsT0FBTztpQkFDaEI7YUFDRjtZQUNELFVBQVUsRUFBRTtnQkFDVixPQUFPLEVBQUU7b0JBQ1AsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsUUFBUSxFQUFFO3dCQUNSLFdBQVcsRUFBRSxVQUFVO3dCQUN2QixXQUFXLEVBQUUsMEJBQTBCO3FCQUN4QztvQkFDRCxZQUFZLEVBQUUsU0FBUztpQkFDeEI7YUFDRjtZQUNELFFBQVEsRUFBRTtnQkFDUixRQUFRLEVBQUUsU0FBUztnQkFDbkIsT0FBTyxFQUFFLE9BQU87YUFDakI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNwQixPQUFPLEVBQUUsa0JBQWtCO2FBQzVCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsb0VBQW9FO1FBQ3BFLE1BQU0saUJBQWlCLEdBQUcsa0JBQWtCLFlBQVksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUUxRSwyREFBMkQ7UUFDM0QscURBQXFEO1FBQ3JELElBQUksb0NBQWdCLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFO1lBQzdDLElBQUksRUFBRSxtQkFBbUI7WUFDekIsV0FBVyxFQUFFLHlCQUF5QjtZQUN0QyxXQUFXLEVBQUUsdUNBQXVDO1lBQ3BELGtCQUFrQixFQUFFLGdCQUFnQixDQUFDLEVBQUU7WUFDdkMsS0FBSyxFQUFFLGlCQUFpQjtZQUN4QixlQUFlLEVBQUUsU0FBUztZQUMxQixJQUFJLEVBQUU7Z0JBQ0osR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNwQixPQUFPLEVBQUUsT0FBTzthQUNqQjtZQUNELHFFQUFxRTtZQUNyRSw0REFBNEQ7WUFDNUQsZ0VBQWdFO1lBQ2hFLDJFQUEyRTtZQUMzRSxTQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7U0FDdkMsQ0FBQyxDQUFDO1FBRUgsK0ZBQStGO1FBQy9GLHFEQUFxRDtRQUNyRCxJQUFJLG9DQUFnQixDQUFDLElBQUksRUFBRSxxQkFBcUIsRUFBRTtZQUNoRCxJQUFJLEVBQUUsc0JBQXNCO1lBQzVCLFFBQVEsRUFBRSxRQUFRLEVBQUUsc0NBQXNDO1lBQzFELFdBQVcsRUFBRSw0QkFBNEI7WUFDekMsV0FBVyxFQUFFLDREQUE0RDtZQUN6RSxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFO1lBQ3ZDLEtBQUssRUFBRSxpQkFBaUI7WUFDeEIsZUFBZSxFQUFFLGNBQWMsRUFBRSxhQUFhO1lBQzlDLFVBQVUsRUFBRTtnQkFDVixPQUFPLEVBQUU7b0JBQ1AsS0FBSyxFQUFFLGFBQWE7aUJBQ3JCO2FBQ0Y7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsVUFBVSxFQUFFLGtCQUFrQjtnQkFDOUIsY0FBYyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFO2FBQ3pDO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSxnQkFBZ0I7YUFDdkI7WUFDRCxxQkFBcUIsRUFBRTtnQkFDckI7b0JBQ0UsT0FBTyxFQUNMLHlFQUF5RTtpQkFDNUU7YUFDRjtZQUNELElBQUksRUFBRTtnQkFDSixHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3BCLE9BQU8sRUFBRSxVQUFVO2FBQ3BCO1lBQ0QscUVBQXFFO1lBQ3JFLDREQUE0RDtZQUM1RCxnRUFBZ0U7WUFDaEUsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO1NBQ3ZDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQUVELFFBQVEsQ0FBQyxvQ0FBb0MsRUFBRSxHQUFHLEVBQUU7SUFDbEQsRUFBRSxDQUFDLDhFQUE4RSxFQUFFLEdBQUcsRUFBRTtRQUN0RixNQUFNLEdBQUcsR0FBRyxlQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSw0QkFBNEIsQ0FDNUMsR0FBRyxFQUNILHdCQUF3QixDQUN6QixDQUFDO1FBQ0YsTUFBTSxXQUFXLEdBQUcsZUFBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU3QyxhQUFhO1FBQ2IsaUZBQWlGO1FBQ2pGLG1FQUFtRTtRQUNuRSxnREFBZ0Q7UUFDaEQsSUFBQSx1Q0FBNkIsRUFBQyxXQUFXLEVBQUUsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQywrQ0FBK0M7QUFDN0QsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEludGVncmF0aW9uIHRlc3QgZm9yIEF6dXJlIFBvbGljeSBBc3NpZ25tZW50XG4gKlxuICogVGhpcyB0ZXN0IGRlbW9uc3RyYXRlcyBiYXNpYyB1c2FnZSBvZiB0aGUgUG9saWN5QXNzaWdubWVudCBjb25zdHJ1Y3RcbiAqIGFuZCB2YWxpZGF0ZXMgZGVwbG95bWVudCwgaWRlbXBvdGVuY3ksIGFuZCBjbGVhbnVwLlxuICpcbiAqIE5vdGU6IFRoaXMgdGVzdCByZXF1aXJlcyBhIHBvbGljeSBkZWZpbml0aW9uIHRvIGV4aXN0IGJlZm9yZSBhc3NpZ25pbmcgaXQuXG4gKiBJdCBjcmVhdGVzIGEgc2ltcGxlIHBvbGljeSBkZWZpbml0aW9uIGZpcnN0LCB0aGVuIGNyZWF0ZXMgYXNzaWdubWVudHNcbiAqIHRoYXQgcmVmZXJlbmNlIGl0LlxuICpcbiAqIFJ1biB3aXRoOiBucG0gcnVuIGludGVncmF0aW9uOm5vc3RyZWFtXG4gKi9cblxuaW1wb3J0IHsgVGVzdGluZyB9IGZyb20gXCJjZGt0blwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCBcImNka3RuL2xpYi90ZXN0aW5nL2FkYXB0ZXJzL2plc3RcIjtcbmltcG9ydCB7IFBvbGljeURlZmluaXRpb24gfSBmcm9tIFwiLi4vLi4vYXp1cmUtcG9saWN5ZGVmaW5pdGlvblwiO1xuaW1wb3J0IHsgRGF0YUF6YXBpQ2xpZW50Q29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliL2F6YXBpL3Byb3ZpZGVycy1hemFwaS9kYXRhLWF6YXBpLWNsaWVudC1jb25maWdcIjtcbmltcG9ydCB7IEF6YXBpUHJvdmlkZXIgfSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvYXphcGkvcHJvdmlkZXJzLWF6YXBpL3Byb3ZpZGVyXCI7XG5pbXBvcnQgeyBCYXNlVGVzdFN0YWNrLCBUZXJyYWZvcm1BcHBseUNoZWNrQW5kRGVzdHJveSB9IGZyb20gXCIuLi8uLi90ZXN0aW5nXCI7XG5pbXBvcnQgeyBUZXN0UnVuTWV0YWRhdGEgfSBmcm9tIFwiLi4vLi4vdGVzdGluZy9saWIvbWV0YWRhdGFcIjtcbmltcG9ydCB7IFBvbGljeUFzc2lnbm1lbnQgfSBmcm9tIFwiLi4vbGliL3BvbGljeS1hc3NpZ25tZW50XCI7XG5cbi8vIEdlbmVyYXRlIHVuaXF1ZSB0ZXN0IHJ1biBtZXRhZGF0YSBmb3IgdGhpcyB0ZXN0IHN1aXRlXG5jb25zdCB0ZXN0TWV0YWRhdGEgPSBuZXcgVGVzdFJ1bk1ldGFkYXRhKFwicG9saWN5LWFzc2lnbm1lbnQtaW50ZWdyYXRpb25cIiwge1xuICBtYXhBZ2VIb3VyczogNCxcbn0pO1xuXG4vKipcbiAqIEV4YW1wbGUgc3RhY2sgZGVtb25zdHJhdGluZyBQb2xpY3kgQXNzaWdubWVudCB1c2FnZVxuICovXG5jbGFzcyBQb2xpY3lBc3NpZ25tZW50RXhhbXBsZVN0YWNrIGV4dGVuZHMgQmFzZVRlc3RTdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHRlc3RSdW5PcHRpb25zOiB7XG4gICAgICAgIG1heEFnZUhvdXJzOiB0ZXN0TWV0YWRhdGEubWF4QWdlSG91cnMsXG4gICAgICAgIGF1dG9DbGVhbnVwOiB0ZXN0TWV0YWRhdGEuYXV0b0NsZWFudXAsXG4gICAgICAgIGNsZWFudXBQb2xpY3k6IHRlc3RNZXRhZGF0YS5jbGVhbnVwUG9saWN5LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIENvbmZpZ3VyZSBBWkFQSSBwcm92aWRlclxuICAgIG5ldyBBemFwaVByb3ZpZGVyKHRoaXMsIFwiYXphcGlcIiwge30pO1xuXG4gICAgLy8gR2V0IHRoZSBjdXJyZW50IHN1YnNjcmlwdGlvbiBJRCBmcm9tIEF6dXJlXG4gICAgY29uc3QgY2xpZW50Q29uZmlnID0gbmV3IERhdGFBemFwaUNsaWVudENvbmZpZyhcbiAgICAgIHRoaXMsXG4gICAgICBcImNsaWVudF9jb25maWdfZGVmYXVsdFwiLFxuICAgICk7XG5cbiAgICAvLyBHZW5lcmF0ZSB1bmlxdWUgbmFtZXNcbiAgICBjb25zdCBwb2xpY3lEZWZpbml0aW9uTmFtZSA9IHRoaXMuZ2VuZXJhdGVSZXNvdXJjZU5hbWUoXG4gICAgICBcIk1pY3Jvc29mdC5BdXRob3JpemF0aW9uL3BvbGljeURlZmluaXRpb25zXCIsXG4gICAgICBcInRlc3Rwb2xpY3lcIixcbiAgICApO1xuICAgIGNvbnN0IGJhc2ljQXNzaWdubWVudE5hbWUgPSB0aGlzLmdlbmVyYXRlUmVzb3VyY2VOYW1lKFxuICAgICAgXCJNaWNyb3NvZnQuQXV0aG9yaXphdGlvbi9wb2xpY3lBc3NpZ25tZW50c1wiLFxuICAgICAgXCJiYXNpY1wiLFxuICAgICk7XG4gICAgY29uc3QgYWR2YW5jZWRBc3NpZ25tZW50TmFtZSA9IHRoaXMuZ2VuZXJhdGVSZXNvdXJjZU5hbWUoXG4gICAgICBcIk1pY3Jvc29mdC5BdXRob3JpemF0aW9uL3BvbGljeUFzc2lnbm1lbnRzXCIsXG4gICAgICBcImFkdmFuY2VkXCIsXG4gICAgKTtcblxuICAgIC8vIEZpcnN0LCBjcmVhdGUgYSBwb2xpY3kgZGVmaW5pdGlvbiB0byBhc3NpZ25cbiAgICBjb25zdCBwb2xpY3lEZWZpbml0aW9uID0gbmV3IFBvbGljeURlZmluaXRpb24odGhpcywgXCJ0ZXN0LXBvbGljeVwiLCB7XG4gICAgICBuYW1lOiBwb2xpY3lEZWZpbml0aW9uTmFtZSxcbiAgICAgIGRpc3BsYXlOYW1lOiBcIlRlc3QgUG9saWN5IGZvciBBc3NpZ25tZW50XCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJBIHNpbXBsZSB0ZXN0IHBvbGljeSB1c2VkIHRvIHZhbGlkYXRlIHBvbGljeSBhc3NpZ25tZW50c1wiLFxuICAgICAgcG9saWN5VHlwZTogXCJDdXN0b21cIixcbiAgICAgIG1vZGU6IFwiSW5kZXhlZFwiLFxuICAgICAgcG9saWN5UnVsZToge1xuICAgICAgICBpZjoge1xuICAgICAgICAgIGZpZWxkOiBcIltjb25jYXQoJ3RhZ3NbJycnLCBwYXJhbWV0ZXJzKCd0YWdOYW1lJyksICcnJ10nKV1cIixcbiAgICAgICAgICBleGlzdHM6IFwiZmFsc2VcIixcbiAgICAgICAgfSxcbiAgICAgICAgdGhlbjoge1xuICAgICAgICAgIGVmZmVjdDogXCJhdWRpdFwiLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgdGFnTmFtZToge1xuICAgICAgICAgIHR5cGU6IFwiU3RyaW5nXCIsXG4gICAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiBcIlRhZyBOYW1lXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJOYW1lIG9mIHRoZSB0YWcgdG8gY2hlY2tcIixcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogXCJUZXN0VGFnXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgY2F0ZWdvcnk6IFwiVGVzdGluZ1wiLFxuICAgICAgICB2ZXJzaW9uOiBcIjEuMC4wXCIsXG4gICAgICB9LFxuICAgICAgdGFnczoge1xuICAgICAgICAuLi50aGlzLnN5c3RlbVRhZ3MoKSxcbiAgICAgICAgcHVycG9zZTogXCJpbnRlZ3JhdGlvbi10ZXN0XCIsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gVXNlIHRoZSBhY3R1YWwgc3Vic2NyaXB0aW9uIElEIGZyb20gdGhlIGNsaWVudCBjb25maWcgZGF0YSBzb3VyY2VcbiAgICBjb25zdCBzdWJzY3JpcHRpb25TY29wZSA9IGAvc3Vic2NyaXB0aW9ucy8ke2NsaWVudENvbmZpZy5zdWJzY3JpcHRpb25JZH1gO1xuXG4gICAgLy8gRXhhbXBsZSAxOiBCYXNpYyBwb2xpY3kgYXNzaWdubWVudCBhdCBzdWJzY3JpcHRpb24gc2NvcGVcbiAgICAvLyBBZGQgZXhwbGljaXQgZGVwZW5kc09uIGZvciBwcm9wZXIgZGVzdHJveSBvcmRlcmluZ1xuICAgIG5ldyBQb2xpY3lBc3NpZ25tZW50KHRoaXMsIFwiYmFzaWMtYXNzaWdubWVudFwiLCB7XG4gICAgICBuYW1lOiBiYXNpY0Fzc2lnbm1lbnROYW1lLFxuICAgICAgZGlzcGxheU5hbWU6IFwiQmFzaWMgUG9saWN5IEFzc2lnbm1lbnRcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkEgYmFzaWMgcG9saWN5IGFzc2lnbm1lbnQgZm9yIHRlc3RpbmdcIixcbiAgICAgIHBvbGljeURlZmluaXRpb25JZDogcG9saWN5RGVmaW5pdGlvbi5pZCxcbiAgICAgIHNjb3BlOiBzdWJzY3JpcHRpb25TY29wZSxcbiAgICAgIGVuZm9yY2VtZW50TW9kZTogXCJEZWZhdWx0XCIsXG4gICAgICB0YWdzOiB7XG4gICAgICAgIC4uLnRoaXMuc3lzdGVtVGFncygpLFxuICAgICAgICBleGFtcGxlOiBcImJhc2ljXCIsXG4gICAgICB9LFxuICAgICAgLy8gSU1QT1JUQU5UOiBBZGQgZXhwbGljaXQgZGVwZW5kZW5jeSBvbiBwb2xpY3kgZGVmaW5pdGlvbiB0byBlbnN1cmU6XG4gICAgICAvLyAxLiBQb2xpY3kgZGVmaW5pdGlvbiBpcyBjcmVhdGVkIGJlZm9yZSBhc3NpZ25tZW50IChhcHBseSlcbiAgICAgIC8vIDIuIFBvbGljeSBhc3NpZ25tZW50IGlzIGRlc3Ryb3llZCBiZWZvcmUgZGVmaW5pdGlvbiAoZGVzdHJveSlcbiAgICAgIC8vIEF6dXJlIFJCQUMvUG9saWN5IGhhcyBldmVudHVhbCBjb25zaXN0ZW5jeSAtIGV4cGxpY2l0IGRlcHMgaGVscCBvcmRlcmluZ1xuICAgICAgZGVwZW5kc09uOiBbcG9saWN5RGVmaW5pdGlvbi5yZXNvdXJjZV0sXG4gICAgfSk7XG5cbiAgICAvLyBFeGFtcGxlIDI6IEFkdmFuY2VkIHBvbGljeSBhc3NpZ25tZW50IHdpdGggcGFyYW1ldGVycywgaWRlbnRpdHksIGFuZCBub24tY29tcGxpYW5jZSBtZXNzYWdlc1xuICAgIC8vIEFkZCBleHBsaWNpdCBkZXBlbmRzT24gZm9yIHByb3BlciBkZXN0cm95IG9yZGVyaW5nXG4gICAgbmV3IFBvbGljeUFzc2lnbm1lbnQodGhpcywgXCJhZHZhbmNlZC1hc3NpZ25tZW50XCIsIHtcbiAgICAgIG5hbWU6IGFkdmFuY2VkQXNzaWdubWVudE5hbWUsXG4gICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIiwgLy8gUmVxdWlyZWQgd2hlbiBpZGVudGl0eSBpcyBzcGVjaWZpZWRcbiAgICAgIGRpc3BsYXlOYW1lOiBcIkFkdmFuY2VkIFBvbGljeSBBc3NpZ25tZW50XCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJBbiBhZHZhbmNlZCBwb2xpY3kgYXNzaWdubWVudCB3aXRoIHBhcmFtZXRlcnMgYW5kIGlkZW50aXR5XCIsXG4gICAgICBwb2xpY3lEZWZpbml0aW9uSWQ6IHBvbGljeURlZmluaXRpb24uaWQsXG4gICAgICBzY29wZTogc3Vic2NyaXB0aW9uU2NvcGUsXG4gICAgICBlbmZvcmNlbWVudE1vZGU6IFwiRG9Ob3RFbmZvcmNlXCIsIC8vIEF1ZGl0IG1vZGVcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgdGFnTmFtZToge1xuICAgICAgICAgIHZhbHVlOiBcIkVudmlyb25tZW50XCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgYXNzaWduZWRCeTogXCJpbnRlZ3JhdGlvbi10ZXN0XCIsXG4gICAgICAgIGFzc2lnbm1lbnREYXRlOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICB9LFxuICAgICAgaWRlbnRpdHk6IHtcbiAgICAgICAgdHlwZTogXCJTeXN0ZW1Bc3NpZ25lZFwiLFxuICAgICAgfSxcbiAgICAgIG5vbkNvbXBsaWFuY2VNZXNzYWdlczogW1xuICAgICAgICB7XG4gICAgICAgICAgbWVzc2FnZTpcbiAgICAgICAgICAgIFwiUmVzb3VyY2VzIG11c3QgaGF2ZSB0aGUgcmVxdWlyZWQgdGFnLiBUaGlzIGlzIGEgdGVzdCBwb2xpY3kgYXNzaWdubWVudC5cIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICB0YWdzOiB7XG4gICAgICAgIC4uLnRoaXMuc3lzdGVtVGFncygpLFxuICAgICAgICBleGFtcGxlOiBcImFkdmFuY2VkXCIsXG4gICAgICB9LFxuICAgICAgLy8gSU1QT1JUQU5UOiBBZGQgZXhwbGljaXQgZGVwZW5kZW5jeSBvbiBwb2xpY3kgZGVmaW5pdGlvbiB0byBlbnN1cmU6XG4gICAgICAvLyAxLiBQb2xpY3kgZGVmaW5pdGlvbiBpcyBjcmVhdGVkIGJlZm9yZSBhc3NpZ25tZW50IChhcHBseSlcbiAgICAgIC8vIDIuIFBvbGljeSBhc3NpZ25tZW50IGlzIGRlc3Ryb3llZCBiZWZvcmUgZGVmaW5pdGlvbiAoZGVzdHJveSlcbiAgICAgIGRlcGVuZHNPbjogW3BvbGljeURlZmluaXRpb24ucmVzb3VyY2VdLFxuICAgIH0pO1xuICB9XG59XG5cbmRlc2NyaWJlKFwiUG9saWN5IEFzc2lnbm1lbnQgSW50ZWdyYXRpb24gVGVzdFwiLCAoKSA9PiB7XG4gIGl0KFwic2hvdWxkIGRlcGxveSwgdmFsaWRhdGUgaWRlbXBvdGVuY3ksIGFuZCBjbGVhbnVwIHBvbGljeSBhc3NpZ25tZW50IHJlc291cmNlc1wiLCAoKSA9PiB7XG4gICAgY29uc3QgYXBwID0gVGVzdGluZy5hcHAoKTtcbiAgICBjb25zdCBzdGFjayA9IG5ldyBQb2xpY3lBc3NpZ25tZW50RXhhbXBsZVN0YWNrKFxuICAgICAgYXBwLFxuICAgICAgXCJ0ZXN0LXBvbGljeS1hc3NpZ25tZW50XCIsXG4gICAgKTtcbiAgICBjb25zdCBzeW50aGVzaXplZCA9IFRlc3RpbmcuZnVsbFN5bnRoKHN0YWNrKTtcblxuICAgIC8vIFRoaXMgd2lsbDpcbiAgICAvLyAxLiBSdW4gdGVycmFmb3JtIGFwcGx5IHRvIGRlcGxveSByZXNvdXJjZXMgKHBvbGljeSBkZWZpbml0aW9uIGFuZCBhc3NpZ25tZW50cylcbiAgICAvLyAyLiBSdW4gdGVycmFmb3JtIHBsYW4gdG8gY2hlY2sgaWRlbXBvdGVuY3kgKG5vIGNoYW5nZXMgZXhwZWN0ZWQpXG4gICAgLy8gMy4gUnVuIHRlcnJhZm9ybSBkZXN0cm95IHRvIGNsZWFudXAgcmVzb3VyY2VzXG4gICAgVGVycmFmb3JtQXBwbHlDaGVja0FuZERlc3Ryb3koc3ludGhlc2l6ZWQsIHsgdmVyaWZ5Q2xlYW51cDogdHJ1ZSB9KTtcbiAgfSwgNjAwMDAwKTsgLy8gMTAgbWludXRlIHRpbWVvdXQgZm9yIGRlcGxveW1lbnQgYW5kIGNsZWFudXBcbn0pO1xuIl19
|