@microsoft/terraform-cdk-constructs 1.9.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 +38110 -28389
- package/API.md +40683 -30877
- 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/lib/log-analytics-workspace.d.ts +1 -1
- package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace.js +3 -3
- package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.integ.d.ts +1 -1
- package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.integ.js +6 -6
- package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.spec.js +6 -6
- 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/lib/network-watcher.d.ts +1 -1
- package/lib/azure-networkwatcher/lib/network-watcher.js +3 -3
- package/lib/azure-networkwatcher/test/network-watcher.integ.d.ts +1 -1
- package/lib/azure-networkwatcher/test/network-watcher.integ.js +6 -6
- package/lib/azure-networkwatcher/test/network-watcher.spec.js +6 -6
- 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/lib/policy-set-definition.d.ts +1 -1
- package/lib/azure-policysetdefinition/lib/policy-set-definition.js +3 -3
- package/lib/azure-policysetdefinition/test/policy-set-definition.integ.d.ts +1 -1
- package/lib/azure-policysetdefinition/test/policy-set-definition.integ.js +6 -6
- package/lib/azure-policysetdefinition/test/policy-set-definition.spec.js +6 -6
- 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.d.ts +5 -5
- package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.js +7 -7
- 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 +13 -13
- 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 +3 -0
- package/lib/index.js +5 -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
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* - Full backward compatibility with existing Network Interface interface
|
|
18
18
|
* - JSII compliance for multi-language support
|
|
19
19
|
*/
|
|
20
|
-
import * as
|
|
20
|
+
import * as cdktn from "cdktn";
|
|
21
21
|
import { Construct } from "constructs";
|
|
22
22
|
import { AzapiResource, AzapiResourceProps } from "../../core-azure/lib/azapi/azapi-resource";
|
|
23
23
|
import { ApiSchema } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
|
|
@@ -207,10 +207,10 @@ export interface NetworkInterfaceBody {
|
|
|
207
207
|
*/
|
|
208
208
|
export declare class NetworkInterface extends AzapiResource {
|
|
209
209
|
readonly props: NetworkInterfaceProps;
|
|
210
|
-
readonly idOutput:
|
|
211
|
-
readonly locationOutput:
|
|
212
|
-
readonly nameOutput:
|
|
213
|
-
readonly tagsOutput:
|
|
210
|
+
readonly idOutput: cdktn.TerraformOutput;
|
|
211
|
+
readonly locationOutput: cdktn.TerraformOutput;
|
|
212
|
+
readonly nameOutput: cdktn.TerraformOutput;
|
|
213
|
+
readonly tagsOutput: cdktn.TerraformOutput;
|
|
214
214
|
/**
|
|
215
215
|
* Creates a new Azure Network Interface using the VersionedAzapiResource framework
|
|
216
216
|
*
|
|
@@ -22,7 +22,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
22
22
|
* - Full backward compatibility with existing Network Interface interface
|
|
23
23
|
* - JSII compliance for multi-language support
|
|
24
24
|
*/
|
|
25
|
-
const
|
|
25
|
+
const cdktn = require("cdktn");
|
|
26
26
|
const network_interface_schemas_1 = require("./network-interface-schemas");
|
|
27
27
|
const azapi_resource_1 = require("../../core-azure/lib/azapi/azapi-resource");
|
|
28
28
|
/**
|
|
@@ -78,19 +78,19 @@ class NetworkInterface extends azapi_resource_1.AzapiResource {
|
|
|
78
78
|
this.props = props;
|
|
79
79
|
// Extract properties from the AZAPI resource outputs
|
|
80
80
|
// Create Terraform outputs
|
|
81
|
-
this.idOutput = new
|
|
81
|
+
this.idOutput = new cdktn.TerraformOutput(this, "id", {
|
|
82
82
|
value: this.id,
|
|
83
83
|
description: "The ID of the Network Interface",
|
|
84
84
|
});
|
|
85
|
-
this.locationOutput = new
|
|
85
|
+
this.locationOutput = new cdktn.TerraformOutput(this, "location", {
|
|
86
86
|
value: `\${${this.terraformResource.fqn}.location}`,
|
|
87
87
|
description: "The location of the Network Interface",
|
|
88
88
|
});
|
|
89
|
-
this.nameOutput = new
|
|
89
|
+
this.nameOutput = new cdktn.TerraformOutput(this, "name", {
|
|
90
90
|
value: `\${${this.terraformResource.fqn}.name}`,
|
|
91
91
|
description: "The name of the Network Interface",
|
|
92
92
|
});
|
|
93
|
-
this.tagsOutput = new
|
|
93
|
+
this.tagsOutput = new cdktn.TerraformOutput(this, "tags", {
|
|
94
94
|
value: `\${${this.terraformResource.fqn}.tags}`,
|
|
95
95
|
description: "The tags assigned to the Network Interface",
|
|
96
96
|
});
|
|
@@ -206,8 +206,8 @@ class NetworkInterface extends azapi_resource_1.AzapiResource {
|
|
|
206
206
|
}
|
|
207
207
|
exports.NetworkInterface = NetworkInterface;
|
|
208
208
|
_a = JSII_RTTI_SYMBOL_1;
|
|
209
|
-
NetworkInterface[_a] = { fqn: "@microsoft/terraform-cdk-constructs.NetworkInterface", version: "
|
|
209
|
+
NetworkInterface[_a] = { fqn: "@microsoft/terraform-cdk-constructs.NetworkInterface", version: "2.2.0" };
|
|
210
210
|
(() => {
|
|
211
211
|
azapi_resource_1.AzapiResource.registerSchemas(network_interface_schemas_1.NETWORK_INTERFACE_TYPE, network_interface_schemas_1.ALL_NETWORK_INTERFACE_VERSIONS);
|
|
212
212
|
})();
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay1pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtbmV0d29ya2ludGVyZmFjZS9saWIvbmV0d29yay1pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBRUgsK0JBQStCO0FBRS9CLDJFQUdxQztBQUNyQyw4RUFHbUQ7QUFzS25EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNDRztBQUNILE1BQWEsZ0JBQWlCLFNBQVEsOEJBQWE7SUFnQmpELG9CQUFvQjtJQUVwQjs7Ozs7O09BTUc7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTRCO1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLHFEQUFxRDtRQUVyRCwyQkFBMkI7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTtZQUNwRCxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDZCxXQUFXLEVBQUUsaUNBQWlDO1NBQy9DLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDaEUsS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsWUFBWTtZQUNuRCxXQUFXLEVBQUUsdUNBQXVDO1NBQ3JELENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDeEQsS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFD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QUFDLEtBQUssQ0FBQyxJQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNJLFNBQVMsQ0FBQyxHQUFXO1FBQzFCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM1QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0ZBQWdGO0lBQ2hGLHlCQUF5QjtJQUN6QixnRkFBZ0Y7SUFFaEY7O09BRUc7SUFDSyxtQkFBbUI7UUFDekIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDcEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUU7Z0JBQzlDO29CQUNFLGNBQWMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWE7aUJBQ3pDO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7O0FBbExILDRDQW1MQzs7O0FBbExDO0lBQ0UsOEJBQWEsQ0FBQyxlQUFlLENBQzNCLGtEQUFzQixFQUN0QiwwREFBOEIsQ0FDL0IsQ0FBQztBQUNKLENBQUMsR0FBQSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBVbmlmaWVkIEF6dXJlIE5ldHdvcmsgSW50ZXJmYWNlIGltcGxlbWVudGF0aW9uIHVzaW5nIFZlcnNpb25lZEF6YXBpUmVzb3VyY2UgZnJhbWV3b3JrXG4gKlxuICogVGhpcyBjbGFzcyByZXBsYWNlcyBhbGwgdmVyc2lvbi1zcGVjaWZpYyBOZXR3b3JrIEludGVyZmFjZSBpbXBsZW1lbnRhdGlvbnMgd2l0aCBhIHNpbmdsZVxuICogdW5pZmllZCBjbGFzcyB0aGF0IGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB2ZXJzaW9uIG1hbmFnZW1lbnQsIHNjaGVtYSB2YWxpZGF0aW9uLCBhbmRcbiAqIHByb3BlcnR5IHRyYW5zZm9ybWF0aW9uIGFjcm9zcyBhbGwgc3VwcG9ydGVkIEFQSSB2ZXJzaW9ucy5cbiAqXG4gKiBTdXBwb3J0ZWQgQVBJIFZlcnNpb25zOlxuICogLSAyMDI0LTA3LTAxIChBY3RpdmUpXG4gKiAtIDIwMjQtMTAtMDEgKEFjdGl2ZSlcbiAqIC0gMjAyNS0wMS0wMSAoQWN0aXZlLCBMYXRlc3QpXG4gKlxuICogRmVhdHVyZXM6XG4gKiAtIEF1dG9tYXRpYyBsYXRlc3QgdmVyc2lvbiByZXNvbHV0aW9uIHdoZW4gbm8gdmVyc2lvbiBpcyBzcGVjaWZpZWRcbiAqIC0gRXhwbGljaXQgdmVyc2lvbiBwaW5uaW5nIGZvciBzdGFiaWxpdHkgcmVxdWlyZW1lbnRzXG4gKiAtIFNjaGVtYS1kcml2ZW4gdmFsaWRhdGlvbiBhbmQgdHJhbnNmb3JtYXRpb25cbiAqIC0gRnVsbCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpdGggZXhpc3RpbmcgTmV0d29yayBJbnRlcmZhY2UgaW50ZXJmYWNlXG4gKiAtIEpTSUkgY29tcGxpYW5jZSBmb3IgbXVsdGktbGFuZ3VhZ2Ugc3VwcG9ydFxuICovXG5cbmltcG9ydCAqIGFzIGNka3RmIGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7XG4gIEFMTF9ORVRXT1JLX0lOVEVSRkFDRV9WRVJTSU9OUyxcbiAgTkVUV09SS19JTlRFUkZBQ0VfVFlQRSxcbn0gZnJvbSBcIi4vbmV0d29yay1pbnRlcmZhY2Utc2NoZW1hc1wiO1xuaW1wb3J0IHtcbiAgQXphcGlSZXNvdXJjZSxcbiAgQXphcGlSZXNvdXJjZVByb3BzLFxufSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvYXphcGkvYXphcGktcmVzb3VyY2VcIjtcbmltcG9ydCB7IEFwaVNjaGVtYSB9IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlL2xpYi92ZXJzaW9uLW1hbmFnZXIvaW50ZXJmYWNlcy92ZXJzaW9uLWludGVyZmFjZXNcIjtcblxuLyoqXG4gKiBTdWJuZXQgcmVmZXJlbmNlIGZvciBOZXR3b3JrIEludGVyZmFjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5ldHdvcmtJbnRlcmZhY2VTdWJuZXRSZWZlcmVuY2Uge1xuICAvKipcbiAgICogU3VibmV0IHJlc291cmNlIElEXG4gICAqL1xuICByZWFkb25seSBpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFB1YmxpYyBJUCBhZGRyZXNzIHJlZmVyZW5jZSBmb3IgTmV0d29yayBJbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZXR3b3JrSW50ZXJmYWNlUHVibGljSVBSZWZlcmVuY2Uge1xuICAvKipcbiAgICogUHVibGljIElQIGFkZHJlc3MgcmVzb3VyY2UgSURcbiAgICovXG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogTmV0d29yayBTZWN1cml0eSBHcm91cCByZWZlcmVuY2UgZm9yIE5ldHdvcmsgSW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmV0d29ya0ludGVyZmFjZU5TR1JlZmVyZW5jZSB7XG4gIC8qKlxuICAgKiBOZXR3b3JrIFNlY3VyaXR5IEdyb3VwIHJlc291cmNlIElEXG4gICAqL1xuICByZWFkb25seSBpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIElQIENvbmZpZ3VyYXRpb24gZm9yIE5ldHdvcmsgSW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmV0d29ya0ludGVyZmFjZUlQQ29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBJUCBjb25maWd1cmF0aW9uXG4gICAqIEBleGFtcGxlIFwiaXBjb25maWcxXCJcbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogU3VibmV0IHJlZmVyZW5jZSB3aXRoIGlkIHByb3BlcnR5XG4gICAqIEBleGFtcGxlIHsgaWQ6IFwiL3N1YnNjcmlwdGlvbnMvLi4uL3N1Ym5ldHMvbXlTdWJuZXRcIiB9XG4gICAqL1xuICByZWFkb25seSBzdWJuZXQ6IE5ldHdvcmtJbnRlcmZhY2VTdWJuZXRSZWZlcmVuY2U7XG5cbiAgLyoqXG4gICAqIFByaXZhdGUgSVAgYWxsb2NhdGlvbiBtZXRob2RcbiAgICogQGV4YW1wbGUgXCJEeW5hbWljXCIgb3IgXCJTdGF0aWNcIlxuICAgKiBAZGVmYXVsdFZhbHVlIFwiRHluYW1pY1wiXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQcml2YXRlIElQIGFkZHJlc3MgKHJlcXVpcmVkIGlmIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2QgaXMgU3RhdGljKVxuICAgKiBAZXhhbXBsZSBcIjEwLjAuMS40XCJcbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVJUEFkZHJlc3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFB1YmxpYyBJUCBhZGRyZXNzIHJlZmVyZW5jZSB3aXRoIGlkIHByb3BlcnR5XG4gICAqIE9wdGlvbmFsIC0gZm9yIE5JQ3MgdGhhdCBuZWVkIHB1YmxpYyBJUHNcbiAgICogQGV4YW1wbGUgeyBpZDogXCIvc3Vic2NyaXB0aW9ucy8uLi4vcHVibGljSVBBZGRyZXNzZXMvbXlQdWJsaWNJUFwiIH1cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY0lQQWRkcmVzcz86IE5ldHdvcmtJbnRlcmZhY2VQdWJsaWNJUFJlZmVyZW5jZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGlzIGlzIHRoZSBwcmltYXJ5IElQIGNvbmZpZ3VyYXRpb25cbiAgICogQXQgbGVhc3Qgb25lIElQIGNvbmZpZ3VyYXRpb24gbXVzdCBiZSBwcmltYXJ5XG4gICAqIEBkZWZhdWx0VmFsdWUgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHByaW1hcnk/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEROUyBzZXR0aW5ncyBjb25maWd1cmF0aW9uIGZvciBOZXR3b3JrIEludGVyZmFjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5ldHdvcmtJbnRlcmZhY2VEbnNTZXR0aW5ncyB7XG4gIC8qKlxuICAgKiBBcnJheSBvZiBETlMgc2VydmVyIElQIGFkZHJlc3Nlc1xuICAgKiBAZXhhbXBsZSBbXCIxMC4wLjAuNFwiLCBcIjEwLjAuMC41XCJdXG4gICAqL1xuICByZWFkb25seSBkbnNTZXJ2ZXJzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEludGVybmFsIEROUyBuYW1lIGxhYmVsIGZvciB0aGUgTklDXG4gICAqIEBleGFtcGxlIFwibXl2bVwiXG4gICAqL1xuICByZWFkb25seSBpbnRlcm5hbERuc05hbWVMYWJlbD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciB0aGUgdW5pZmllZCBBenVyZSBOZXR3b3JrIEludGVyZmFjZVxuICpcbiAqIEV4dGVuZHMgVmVyc2lvbmVkQXphcGlSZXNvdXJjZVByb3BzIHdpdGggTmV0d29yayBJbnRlcmZhY2Ugc3BlY2lmaWMgcHJvcGVydGllc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE5ldHdvcmtJbnRlcmZhY2VQcm9wcyBleHRlbmRzIEF6YXBpUmVzb3VyY2VQcm9wcyB7XG4gIC8qKlxuICAgKiBJUCBjb25maWd1cmF0aW9ucyBmb3IgdGhlIG5ldHdvcmsgaW50ZXJmYWNlXG4gICAqIEF0IGxlYXN0IG9uZSBJUCBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkXG4gICAqIE9uZSBJUCBjb25maWd1cmF0aW9uIG11c3QgYmUgbWFya2VkIGFzIHByaW1hcnlcbiAgICovXG4gIHJlYWRvbmx5IGlwQ29uZmlndXJhdGlvbnM6IE5ldHdvcmtJbnRlcmZhY2VJUENvbmZpZ3VyYXRpb25bXTtcblxuICAvKipcbiAgICogTmV0d29yayBTZWN1cml0eSBHcm91cCByZWZlcmVuY2Ugd2l0aCBpZCBwcm9wZXJ0eVxuICAgKiBPcHRpb25hbCAtIGFzc29jaWF0ZXMgYW4gTlNHIHdpdGggdGhpcyBOSUNcbiAgICogQGV4YW1wbGUgeyBpZDogXCIvc3Vic2NyaXB0aW9ucy8uLi4vbmV0d29ya1NlY3VyaXR5R3JvdXBzL215TlNHXCIgfVxuICAgKi9cbiAgcmVhZG9ubHkgbmV0d29ya1NlY3VyaXR5R3JvdXA/OiBOZXR3b3JrSW50ZXJmYWNlTlNHUmVmZXJlbmNlO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgYWNjZWxlcmF0ZWQgbmV0d29ya2luZyBmb3IgaGlnaC1wZXJmb3JtYW5jZSBzY2VuYXJpb3NcbiAgICogUmVxdWlyZXMgc3VwcG9ydGVkIFZNIHNpemVcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUFjY2VsZXJhdGVkTmV0d29ya2luZz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBJUCBmb3J3YXJkaW5nIGZvciBuZXR3b3JrIHZpcnR1YWwgYXBwbGlhbmNlc1xuICAgKiBBbGxvd3MgTklDIHRvIGZvcndhcmQgdHJhZmZpYyBub3QgZGVzdGluZWQgZm9yIGl0cyBJUFxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlSVBGb3J3YXJkaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRE5TIHNldHRpbmdzIGNvbmZpZ3VyYXRpb25cbiAgICogT3B0aW9uYWwgLSBjb25maWd1cmVzIEROUyBzZXJ2ZXJzIGZvciB0aGUgTklDXG4gICAqL1xuICByZWFkb25seSBkbnNTZXR0aW5ncz86IE5ldHdvcmtJbnRlcmZhY2VEbnNTZXR0aW5ncztcblxuICAvKipcbiAgICogVGhlIGxpZmVjeWNsZSBydWxlcyB0byBpZ25vcmUgY2hhbmdlc1xuICAgKiBAZXhhbXBsZSBbXCJ0YWdzXCJdXG4gICAqL1xuICByZWFkb25seSBpZ25vcmVDaGFuZ2VzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFJlc291cmNlIGdyb3VwIElEIHdoZXJlIHRoZSBuZXR3b3JrIGludGVyZmFjZSB3aWxsIGJlIGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHJlc291cmNlR3JvdXBJZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBOZXR3b3JrIEludGVyZmFjZSBwcm9wZXJ0aWVzIGZvciB0aGUgcmVxdWVzdCBib2R5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmV0d29ya0ludGVyZmFjZUJvZHlQcm9wZXJ0aWVzIHtcbiAgcmVhZG9ubHkgaXBDb25maWd1cmF0aW9uczogTmV0d29ya0ludGVyZmFjZUlQQ29uZmlndXJhdGlvbltdO1xuICByZWFkb25seSBuZXR3b3JrU2VjdXJpdHlHcm91cD86IE5ldHdvcmtJbnRlcmZhY2VOU0dSZWZlcmVuY2U7XG4gIHJlYWRvbmx5IGVuYWJsZUFjY2VsZXJhdGVkTmV0d29ya2luZz86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGVuYWJsZUlQRm9yd2FyZGluZz86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGRuc1NldHRpbmdzPzogTmV0d29ya0ludGVyZmFjZURuc1NldHRpbmdzO1xufVxuXG4vKipcbiAqIFRoZSByZXNvdXJjZSBib2R5IGludGVyZmFjZSBmb3IgQXp1cmUgTmV0d29yayBJbnRlcmZhY2UgQVBJIGNhbGxzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmV0d29ya0ludGVyZmFjZUJvZHkge1xuICByZWFkb25seSBsb2NhdGlvbjogc3RyaW5nO1xuICByZWFkb25seSB0YWdzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgcmVhZG9ubHkgcHJvcGVydGllczogTmV0d29ya0ludGVyZmFjZUJvZHlQcm9wZXJ0aWVzO1xufVxuXG4vKipcbiAqIFVuaWZpZWQgQXp1cmUgTmV0d29yayBJbnRlcmZhY2UgaW1wbGVtZW50YXRpb25cbiAqXG4gKiBUaGlzIGNsYXNzIHByb3ZpZGVzIGEgc2luZ2xlLCB2ZXJzaW9uLWF3YXJlIGltcGxlbWVudGF0aW9uIHRoYXQgcmVwbGFjZXMgYWxsXG4gKiB2ZXJzaW9uLXNwZWNpZmljIE5ldHdvcmsgSW50ZXJmYWNlIGNsYXNzZXMuIEl0IGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB2ZXJzaW9uXG4gKiByZXNvbHV0aW9uLCBzY2hlbWEgdmFsaWRhdGlvbiwgYW5kIHByb3BlcnR5IHRyYW5zZm9ybWF0aW9uIHdoaWxlIG1haW50YWluaW5nXG4gKiBmdWxsIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEJhc2ljIHVzYWdlIHdpdGggYXV0b21hdGljIHZlcnNpb24gcmVzb2x1dGlvbjpcbiAqIGNvbnN0IG5pYyA9IG5ldyBOZXR3b3JrSW50ZXJmYWNlKHRoaXMsIFwibmljXCIsIHtcbiAqICAgbmFtZTogXCJteW5pY1wiLFxuICogICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAqICAgcmVzb3VyY2VHcm91cElkOiByZXNvdXJjZUdyb3VwLmlkLFxuICogICBpcENvbmZpZ3VyYXRpb25zOiBbe1xuICogICAgIG5hbWU6IFwiaXBjb25maWcxXCIsXG4gKiAgICAgc3VibmV0OiB7IGlkOiBzdWJuZXQuaWQgfSxcbiAqICAgICBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kOiBcIkR5bmFtaWNcIixcbiAqICAgICBwcmltYXJ5OiB0cnVlXG4gKiAgIH1dXG4gKiB9KTtcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVXNhZ2Ugd2l0aCBleHBsaWNpdCB2ZXJzaW9uIHBpbm5pbmc6XG4gKiBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZSh0aGlzLCBcIm5pY1wiLCB7XG4gKiAgIG5hbWU6IFwibXluaWNcIixcbiAqICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gKiAgIHJlc291cmNlR3JvdXBJZDogcmVzb3VyY2VHcm91cC5pZCxcbiAqICAgaXBDb25maWd1cmF0aW9uczogW3tcbiAqICAgICBuYW1lOiBcImlwY29uZmlnMVwiLFxuICogICAgIHN1Ym5ldDogeyBpZDogc3VibmV0LmlkIH0sXG4gKiAgICAgcHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZDogXCJEeW5hbWljXCIsXG4gKiAgICAgcHJpbWFyeTogdHJ1ZVxuICogICB9XSxcbiAqICAgYXBpVmVyc2lvbjogXCIyMDI0LTA3LTAxXCIsXG4gKiB9KTtcbiAqXG4gKiBAc3RhYmlsaXR5IHN0YWJsZVxuICovXG5leHBvcnQgY2xhc3MgTmV0d29ya0ludGVyZmFjZSBleHRlbmRzIEF6YXBpUmVzb3VyY2Uge1xuICBzdGF0aWMge1xuICAgIEF6YXBpUmVzb3VyY2UucmVnaXN0ZXJTY2hlbWFzKFxuICAgICAgTkVUV09SS19JTlRFUkZBQ0VfVFlQRSxcbiAgICAgIEFMTF9ORVRXT1JLX0lOVEVSRkFDRV9WRVJTSU9OUyxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IHByb3BzOiBOZXR3b3JrSW50ZXJmYWNlUHJvcHM7XG5cbiAgLy8gT3V0cHV0IHByb3BlcnRpZXMgZm9yIGVhc3kgYWNjZXNzIGFuZCByZWZlcmVuY2luZ1xuICBwdWJsaWMgcmVhZG9ubHkgaWRPdXRwdXQ6IGNka3RmLlRlcnJhZm9ybU91dHB1dDtcbiAgcHVibGljIHJlYWRvbmx5IGxvY2F0aW9uT3V0cHV0OiBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQ7XG4gIHB1YmxpYyByZWFkb25seSBuYW1lT3V0cHV0OiBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQ7XG4gIHB1YmxpYyByZWFkb25seSB0YWdzT3V0cHV0OiBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQ7XG5cbiAgLy8gUHVibGljIHByb3BlcnRpZXNcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBBenVyZSBOZXR3b3JrIEludGVyZmFjZSB1c2luZyB0aGUgVmVyc2lvbmVkQXphcGlSZXNvdXJjZSBmcmFtZXdvcmtcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gVGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgaW5zdGFuY2VcbiAgICogQHBhcmFtIHByb3BzIC0gQ29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgTmV0d29yayBJbnRlcmZhY2VcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBOZXR3b3JrSW50ZXJmYWNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcblxuICAgIC8vIEV4dHJhY3QgcHJvcGVydGllcyBmcm9tIHRoZSBBWkFQSSByZXNvdXJjZSBvdXRwdXRzXG5cbiAgICAvLyBDcmVhdGUgVGVycmFmb3JtIG91dHB1dHNcbiAgICB0aGlzLmlkT3V0cHV0ID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcImlkXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLmlkLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIElEIG9mIHRoZSBOZXR3b3JrIEludGVyZmFjZVwiLFxuICAgIH0pO1xuXG4gICAgdGhpcy5sb2NhdGlvbk91dHB1dCA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQodGhpcywgXCJsb2NhdGlvblwiLCB7XG4gICAgICB2YWx1ZTogYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5sb2NhdGlvbn1gLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGxvY2F0aW9uIG9mIHRoZSBOZXR3b3JrIEludGVyZmFjZVwiLFxuICAgIH0pO1xuXG4gICAgdGhpcy5uYW1lT3V0cHV0ID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgdmFsdWU6IGBcXCR7JHt0aGlzLnRlcnJhZm9ybVJlc291cmNlLmZxbn0ubmFtZX1gLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIG5hbWUgb2YgdGhlIE5ldHdvcmsgSW50ZXJmYWNlXCIsXG4gICAgfSk7XG5cbiAgICB0aGlzLnRhZ3NPdXRwdXQgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KHRoaXMsIFwidGFnc1wiLCB7XG4gICAgICB2YWx1ZTogYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS50YWdzfWAsXG4gICAgICBkZXNjcmlwdGlvbjogXCJUaGUgdGFncyBhc3NpZ25lZCB0byB0aGUgTmV0d29yayBJbnRlcmZhY2VcIixcbiAgICB9KTtcblxuICAgIC8vIE92ZXJyaWRlIGxvZ2ljYWwgSURzXG4gICAgdGhpcy5pZE91dHB1dC5vdmVycmlkZUxvZ2ljYWxJZChcImlkXCIpO1xuICAgIHRoaXMubG9jYXRpb25PdXRwdXQub3ZlcnJpZGVMb2dpY2FsSWQoXCJsb2NhdGlvblwiKTtcbiAgICB0aGlzLm5hbWVPdXRwdXQub3ZlcnJpZGVMb2dpY2FsSWQoXCJuYW1lXCIpO1xuICAgIHRoaXMudGFnc091dHB1dC5vdmVycmlkZUxvZ2ljYWxJZChcInRhZ3NcIik7XG5cbiAgICAvLyBBcHBseSBpZ25vcmUgY2hhbmdlcyBpZiBzcGVjaWZpZWRcbiAgICB0aGlzLl9hcHBseUlnbm9yZUNoYW5nZXMoKTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFJFUVVJUkVEIEFCU1RSQUNUIE1FVEhPRFMgRlJPTSBWZXJzaW9uZWRBemFwaVJlc291cmNlXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGRlZmF1bHQgQVBJIHZlcnNpb24gdG8gdXNlIHdoZW4gbm8gZXhwbGljaXQgdmVyc2lvbiBpcyBzcGVjaWZpZWRcbiAgICovXG4gIHByb3RlY3RlZCBkZWZhdWx0VmVyc2lvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBcIjIwMjQtMTAtMDFcIjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBBenVyZSByZXNvdXJjZSB0eXBlIGZvciBOZXR3b3JrIEludGVyZmFjZXNcbiAgICovXG4gIHByb3RlY3RlZCByZXNvdXJjZVR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gTkVUV09SS19JTlRFUkZBQ0VfVFlQRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBBUEkgc2NoZW1hIGZvciB0aGUgcmVzb2x2ZWQgdmVyc2lvblxuICAgKi9cbiAgcHJvdGVjdGVkIGFwaVNjaGVtYSgpOiBBcGlTY2hlbWEge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVTY2hlbWEoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCBsb2NhdGlvbiBpcyByZXF1aXJlZCBmb3IgTmV0d29yayBJbnRlcmZhY2VzXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVxdWlyZXNMb2NhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIHRoZSByZXNvdXJjZSBib2R5IGZvciB0aGUgQXp1cmUgQVBJIGNhbGxcbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVSZXNvdXJjZUJvZHkocHJvcHM6IGFueSk6IGFueSB7XG4gICAgY29uc3QgdHlwZWRQcm9wcyA9IHByb3BzIGFzIE5ldHdvcmtJbnRlcmZhY2VQcm9wcztcblxuICAgIC8vIFRyYW5zZm9ybSBpcENvbmZpZ3VyYXRpb25zIHRvIG1hdGNoIEF6dXJlIEFQSSBzY2hlbWFcbiAgICAvLyBFYWNoIElQIGNvbmZpZ3VyYXRpb24gbmVlZHMgaXRzIHByb3BlcnRpZXMgbmVzdGVkIHVuZGVyIGEgXCJwcm9wZXJ0aWVzXCIga2V5XG4gICAgY29uc3QgaXBDb25maWd1cmF0aW9ucyA9IHR5cGVkUHJvcHMuaXBDb25maWd1cmF0aW9ucy5tYXAoKGlwQ29uZmlnKSA9PiAoe1xuICAgICAgbmFtZTogaXBDb25maWcubmFtZSxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgc3VibmV0OiBpcENvbmZpZy5zdWJuZXQsXG4gICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6XG4gICAgICAgICAgaXBDb25maWcucHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZCB8fCBcIkR5bmFtaWNcIixcbiAgICAgICAgcHJpdmF0ZUlQQWRkcmVzczogaXBDb25maWcucHJpdmF0ZUlQQWRkcmVzcyxcbiAgICAgICAgcHVibGljSVBBZGRyZXNzOiBpcENvbmZpZy5wdWJsaWNJUEFkZHJlc3MsXG4gICAgICAgIHByaW1hcnk6IGlwQ29uZmlnLnByaW1hcnksXG4gICAgICB9LFxuICAgIH0pKTtcblxuICAgIHJldHVybiB7XG4gICAgICBsb2NhdGlvbjogdGhpcy5sb2NhdGlvbixcbiAgICAgIHRhZ3M6IHRoaXMuYWxsVGFncygpLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBpcENvbmZpZ3VyYXRpb25zLFxuICAgICAgICBuZXR3b3JrU2VjdXJpdHlHcm91cDogdHlwZWRQcm9wcy5uZXR3b3JrU2VjdXJpdHlHcm91cCxcbiAgICAgICAgZW5hYmxlQWNjZWxlcmF0ZWROZXR3b3JraW5nOlxuICAgICAgICAgIHR5cGVkUHJvcHMuZW5hYmxlQWNjZWxlcmF0ZWROZXR3b3JraW5nIHx8IGZhbHNlLFxuICAgICAgICBlbmFibGVJUEZvcndhcmRpbmc6IHR5cGVkUHJvcHMuZW5hYmxlSVBGb3J3YXJkaW5nIHx8IGZhbHNlLFxuICAgICAgICBkbnNTZXR0aW5nczogdHlwZWRQcm9wcy5kbnNTZXR0aW5ncyxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFBVQkxJQyBNRVRIT0RTIEZPUiBORVRXT1JLIElOVEVSRkFDRSBPUEVSQVRJT05TXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcHJpdmF0ZSBJUCBhZGRyZXNzIG9mIHRoZSBwcmltYXJ5IElQIGNvbmZpZ3VyYXRpb25cbiAgICogTm90ZTogVGhpcyBtYXkgbm90IGJlIGF2YWlsYWJsZSB1bnRpbCBhZnRlciB0aGUgcmVzb3VyY2UgaXMgY3JlYXRlZFxuICAgKiBUaGUgYWN0dWFsIElQIGFkZHJlc3MgbG9jYXRpb24gaW4gQXp1cmUgQVBJIHJlc3BvbnNlIHZhcmllcyBieSBBUEkgdmVyc2lvblxuICAgKi9cbiAgcHVibGljIGdldCBwcml2YXRlSVBBZGRyZXNzKCk6IHN0cmluZyB7XG4gICAgLy8gVGhlIHByaXZhdGUgSVAgYWRkcmVzcyBpcyB0eXBpY2FsbHkgYXZhaWxhYmxlIGF0IHJ1bnRpbWUgYnV0IG5vdCBpbiBUZXJyYWZvcm0gb3V0cHV0XG4gICAgLy8gVXNlcnMgc2hvdWxkIHF1ZXJ5IHRoZSBBenVyZSBBUEkgZGlyZWN0bHkgZm9yIHRoZSBwcml2YXRlIElQIGlmIG5lZWRlZFxuICAgIHJldHVybiBgXFwkeyR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZS5mcW59LmlkfWA7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgdGFnIHRvIHRoZSBOZXR3b3JrIEludGVyZmFjZVxuICAgKi9cbiAgcHVibGljIGFkZFRhZyhrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdGhpcy5wcm9wcy50YWdzKSB7XG4gICAgICAodGhpcy5wcm9wcyBhcyBhbnkpLnRhZ3MgPSB7fTtcbiAgICB9XG4gICAgdGhpcy5wcm9wcy50YWdzIVtrZXldID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGEgdGFnIGZyb20gdGhlIE5ldHdvcmsgSW50ZXJmYWNlXG4gICAqL1xuICBwdWJsaWMgcmVtb3ZlVGFnKGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJvcHMudGFncyAmJiB0aGlzLnByb3BzLnRhZ3Nba2V5XSkge1xuICAgICAgZGVsZXRlIHRoaXMucHJvcHMudGFnc1trZXldO1xuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFBSSVZBVEUgSEVMUEVSIE1FVEhPRFNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogQXBwbGllcyBpZ25vcmUgY2hhbmdlcyBsaWZlY3ljbGUgcnVsZXMgaWYgc3BlY2lmaWVkIGluIHByb3BzXG4gICAqL1xuICBwcml2YXRlIF9hcHBseUlnbm9yZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJvcHMuaWdub3JlQ2hhbmdlcyAmJiB0aGlzLnByb3BzLmlnbm9yZUNoYW5nZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy50ZXJyYWZvcm1SZXNvdXJjZS5hZGRPdmVycmlkZShcImxpZmVjeWNsZVwiLCBbXG4gICAgICAgIHtcbiAgICAgICAgICBpZ25vcmVfY2hhbmdlczogdGhpcy5wcm9wcy5pZ25vcmVDaGFuZ2VzLFxuICAgICAgICB9LFxuICAgICAgXSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay1pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtbmV0d29ya2ludGVyZmFjZS9saWIvbmV0d29yay1pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBRUgsK0JBQStCO0FBRS9CLDJFQUdxQztBQUNyQyw4RUFHbUQ7QUFzS25EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNDRztBQUNILE1BQWEsZ0JBQWlCLFNBQVEsOEJBQWE7SUFnQmpELG9CQUFvQjtJQUVwQjs7Ozs7O09BTUc7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTRCO1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLHFEQUFxRDtRQUVyRCwyQkFBMkI7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTtZQUNwRCxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDZCxXQUFXLEVBQUUsaUNBQWlDO1NBQy9DLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDaEUsS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsWUFBWTtZQUNuRCxXQUFXLEVBQUUsdUNBQXVDO1NBQ3JELENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDeEQsS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFD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QUFDLEtBQUssQ0FBQyxJQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNJLFNBQVMsQ0FBQyxHQUFXO1FBQzFCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM1QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0ZBQWdGO0lBQ2hGLHlCQUF5QjtJQUN6QixnRkFBZ0Y7SUFFaEY7O09BRUc7SUFDSyxtQkFBbUI7UUFDekIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDcEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUU7Z0JBQzlDO29CQUNFLGNBQWMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWE7aUJBQ3pDO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7O0FBbExILDRDQW1MQzs7O0FBbExDO0lBQ0UsOEJBQWEsQ0FBQyxlQUFlLENBQzNCLGtEQUFzQixFQUN0QiwwREFBOEIsQ0FDL0IsQ0FBQztBQUNKLENBQUMsR0FBQSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBVbmlmaWVkIEF6dXJlIE5ldHdvcmsgSW50ZXJmYWNlIGltcGxlbWVudGF0aW9uIHVzaW5nIFZlcnNpb25lZEF6YXBpUmVzb3VyY2UgZnJhbWV3b3JrXG4gKlxuICogVGhpcyBjbGFzcyByZXBsYWNlcyBhbGwgdmVyc2lvbi1zcGVjaWZpYyBOZXR3b3JrIEludGVyZmFjZSBpbXBsZW1lbnRhdGlvbnMgd2l0aCBhIHNpbmdsZVxuICogdW5pZmllZCBjbGFzcyB0aGF0IGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB2ZXJzaW9uIG1hbmFnZW1lbnQsIHNjaGVtYSB2YWxpZGF0aW9uLCBhbmRcbiAqIHByb3BlcnR5IHRyYW5zZm9ybWF0aW9uIGFjcm9zcyBhbGwgc3VwcG9ydGVkIEFQSSB2ZXJzaW9ucy5cbiAqXG4gKiBTdXBwb3J0ZWQgQVBJIFZlcnNpb25zOlxuICogLSAyMDI0LTA3LTAxIChBY3RpdmUpXG4gKiAtIDIwMjQtMTAtMDEgKEFjdGl2ZSlcbiAqIC0gMjAyNS0wMS0wMSAoQWN0aXZlLCBMYXRlc3QpXG4gKlxuICogRmVhdHVyZXM6XG4gKiAtIEF1dG9tYXRpYyBsYXRlc3QgdmVyc2lvbiByZXNvbHV0aW9uIHdoZW4gbm8gdmVyc2lvbiBpcyBzcGVjaWZpZWRcbiAqIC0gRXhwbGljaXQgdmVyc2lvbiBwaW5uaW5nIGZvciBzdGFiaWxpdHkgcmVxdWlyZW1lbnRzXG4gKiAtIFNjaGVtYS1kcml2ZW4gdmFsaWRhdGlvbiBhbmQgdHJhbnNmb3JtYXRpb25cbiAqIC0gRnVsbCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpdGggZXhpc3RpbmcgTmV0d29yayBJbnRlcmZhY2UgaW50ZXJmYWNlXG4gKiAtIEpTSUkgY29tcGxpYW5jZSBmb3IgbXVsdGktbGFuZ3VhZ2Ugc3VwcG9ydFxuICovXG5cbmltcG9ydCAqIGFzIGNka3RuIGZyb20gXCJjZGt0blwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7XG4gIEFMTF9ORVRXT1JLX0lOVEVSRkFDRV9WRVJTSU9OUyxcbiAgTkVUV09SS19JTlRFUkZBQ0VfVFlQRSxcbn0gZnJvbSBcIi4vbmV0d29yay1pbnRlcmZhY2Utc2NoZW1hc1wiO1xuaW1wb3J0IHtcbiAgQXphcGlSZXNvdXJjZSxcbiAgQXphcGlSZXNvdXJjZVByb3BzLFxufSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvYXphcGkvYXphcGktcmVzb3VyY2VcIjtcbmltcG9ydCB7IEFwaVNjaGVtYSB9IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlL2xpYi92ZXJzaW9uLW1hbmFnZXIvaW50ZXJmYWNlcy92ZXJzaW9uLWludGVyZmFjZXNcIjtcblxuLyoqXG4gKiBTdWJuZXQgcmVmZXJlbmNlIGZvciBOZXR3b3JrIEludGVyZmFjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5ldHdvcmtJbnRlcmZhY2VTdWJuZXRSZWZlcmVuY2Uge1xuICAvKipcbiAgICogU3VibmV0IHJlc291cmNlIElEXG4gICAqL1xuICByZWFkb25seSBpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFB1YmxpYyBJUCBhZGRyZXNzIHJlZmVyZW5jZSBmb3IgTmV0d29yayBJbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZXR3b3JrSW50ZXJmYWNlUHVibGljSVBSZWZlcmVuY2Uge1xuICAvKipcbiAgICogUHVibGljIElQIGFkZHJlc3MgcmVzb3VyY2UgSURcbiAgICovXG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogTmV0d29yayBTZWN1cml0eSBHcm91cCByZWZlcmVuY2UgZm9yIE5ldHdvcmsgSW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmV0d29ya0ludGVyZmFjZU5TR1JlZmVyZW5jZSB7XG4gIC8qKlxuICAgKiBOZXR3b3JrIFNlY3VyaXR5IEdyb3VwIHJlc291cmNlIElEXG4gICAqL1xuICByZWFkb25seSBpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIElQIENvbmZpZ3VyYXRpb24gZm9yIE5ldHdvcmsgSW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmV0d29ya0ludGVyZmFjZUlQQ29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBJUCBjb25maWd1cmF0aW9uXG4gICAqIEBleGFtcGxlIFwiaXBjb25maWcxXCJcbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogU3VibmV0IHJlZmVyZW5jZSB3aXRoIGlkIHByb3BlcnR5XG4gICAqIEBleGFtcGxlIHsgaWQ6IFwiL3N1YnNjcmlwdGlvbnMvLi4uL3N1Ym5ldHMvbXlTdWJuZXRcIiB9XG4gICAqL1xuICByZWFkb25seSBzdWJuZXQ6IE5ldHdvcmtJbnRlcmZhY2VTdWJuZXRSZWZlcmVuY2U7XG5cbiAgLyoqXG4gICAqIFByaXZhdGUgSVAgYWxsb2NhdGlvbiBtZXRob2RcbiAgICogQGV4YW1wbGUgXCJEeW5hbWljXCIgb3IgXCJTdGF0aWNcIlxuICAgKiBAZGVmYXVsdFZhbHVlIFwiRHluYW1pY1wiXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQcml2YXRlIElQIGFkZHJlc3MgKHJlcXVpcmVkIGlmIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2QgaXMgU3RhdGljKVxuICAgKiBAZXhhbXBsZSBcIjEwLjAuMS40XCJcbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVJUEFkZHJlc3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFB1YmxpYyBJUCBhZGRyZXNzIHJlZmVyZW5jZSB3aXRoIGlkIHByb3BlcnR5XG4gICAqIE9wdGlvbmFsIC0gZm9yIE5JQ3MgdGhhdCBuZWVkIHB1YmxpYyBJUHNcbiAgICogQGV4YW1wbGUgeyBpZDogXCIvc3Vic2NyaXB0aW9ucy8uLi4vcHVibGljSVBBZGRyZXNzZXMvbXlQdWJsaWNJUFwiIH1cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY0lQQWRkcmVzcz86IE5ldHdvcmtJbnRlcmZhY2VQdWJsaWNJUFJlZmVyZW5jZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGlzIGlzIHRoZSBwcmltYXJ5IElQIGNvbmZpZ3VyYXRpb25cbiAgICogQXQgbGVhc3Qgb25lIElQIGNvbmZpZ3VyYXRpb24gbXVzdCBiZSBwcmltYXJ5XG4gICAqIEBkZWZhdWx0VmFsdWUgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHByaW1hcnk/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEROUyBzZXR0aW5ncyBjb25maWd1cmF0aW9uIGZvciBOZXR3b3JrIEludGVyZmFjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5ldHdvcmtJbnRlcmZhY2VEbnNTZXR0aW5ncyB7XG4gIC8qKlxuICAgKiBBcnJheSBvZiBETlMgc2VydmVyIElQIGFkZHJlc3Nlc1xuICAgKiBAZXhhbXBsZSBbXCIxMC4wLjAuNFwiLCBcIjEwLjAuMC41XCJdXG4gICAqL1xuICByZWFkb25seSBkbnNTZXJ2ZXJzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEludGVybmFsIEROUyBuYW1lIGxhYmVsIGZvciB0aGUgTklDXG4gICAqIEBleGFtcGxlIFwibXl2bVwiXG4gICAqL1xuICByZWFkb25seSBpbnRlcm5hbERuc05hbWVMYWJlbD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciB0aGUgdW5pZmllZCBBenVyZSBOZXR3b3JrIEludGVyZmFjZVxuICpcbiAqIEV4dGVuZHMgVmVyc2lvbmVkQXphcGlSZXNvdXJjZVByb3BzIHdpdGggTmV0d29yayBJbnRlcmZhY2Ugc3BlY2lmaWMgcHJvcGVydGllc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE5ldHdvcmtJbnRlcmZhY2VQcm9wcyBleHRlbmRzIEF6YXBpUmVzb3VyY2VQcm9wcyB7XG4gIC8qKlxuICAgKiBJUCBjb25maWd1cmF0aW9ucyBmb3IgdGhlIG5ldHdvcmsgaW50ZXJmYWNlXG4gICAqIEF0IGxlYXN0IG9uZSBJUCBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkXG4gICAqIE9uZSBJUCBjb25maWd1cmF0aW9uIG11c3QgYmUgbWFya2VkIGFzIHByaW1hcnlcbiAgICovXG4gIHJlYWRvbmx5IGlwQ29uZmlndXJhdGlvbnM6IE5ldHdvcmtJbnRlcmZhY2VJUENvbmZpZ3VyYXRpb25bXTtcblxuICAvKipcbiAgICogTmV0d29yayBTZWN1cml0eSBHcm91cCByZWZlcmVuY2Ugd2l0aCBpZCBwcm9wZXJ0eVxuICAgKiBPcHRpb25hbCAtIGFzc29jaWF0ZXMgYW4gTlNHIHdpdGggdGhpcyBOSUNcbiAgICogQGV4YW1wbGUgeyBpZDogXCIvc3Vic2NyaXB0aW9ucy8uLi4vbmV0d29ya1NlY3VyaXR5R3JvdXBzL215TlNHXCIgfVxuICAgKi9cbiAgcmVhZG9ubHkgbmV0d29ya1NlY3VyaXR5R3JvdXA/OiBOZXR3b3JrSW50ZXJmYWNlTlNHUmVmZXJlbmNlO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgYWNjZWxlcmF0ZWQgbmV0d29ya2luZyBmb3IgaGlnaC1wZXJmb3JtYW5jZSBzY2VuYXJpb3NcbiAgICogUmVxdWlyZXMgc3VwcG9ydGVkIFZNIHNpemVcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUFjY2VsZXJhdGVkTmV0d29ya2luZz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBJUCBmb3J3YXJkaW5nIGZvciBuZXR3b3JrIHZpcnR1YWwgYXBwbGlhbmNlc1xuICAgKiBBbGxvd3MgTklDIHRvIGZvcndhcmQgdHJhZmZpYyBub3QgZGVzdGluZWQgZm9yIGl0cyBJUFxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlSVBGb3J3YXJkaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRE5TIHNldHRpbmdzIGNvbmZpZ3VyYXRpb25cbiAgICogT3B0aW9uYWwgLSBjb25maWd1cmVzIEROUyBzZXJ2ZXJzIGZvciB0aGUgTklDXG4gICAqL1xuICByZWFkb25seSBkbnNTZXR0aW5ncz86IE5ldHdvcmtJbnRlcmZhY2VEbnNTZXR0aW5ncztcblxuICAvKipcbiAgICogVGhlIGxpZmVjeWNsZSBydWxlcyB0byBpZ25vcmUgY2hhbmdlc1xuICAgKiBAZXhhbXBsZSBbXCJ0YWdzXCJdXG4gICAqL1xuICByZWFkb25seSBpZ25vcmVDaGFuZ2VzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFJlc291cmNlIGdyb3VwIElEIHdoZXJlIHRoZSBuZXR3b3JrIGludGVyZmFjZSB3aWxsIGJlIGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHJlc291cmNlR3JvdXBJZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBOZXR3b3JrIEludGVyZmFjZSBwcm9wZXJ0aWVzIGZvciB0aGUgcmVxdWVzdCBib2R5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmV0d29ya0ludGVyZmFjZUJvZHlQcm9wZXJ0aWVzIHtcbiAgcmVhZG9ubHkgaXBDb25maWd1cmF0aW9uczogTmV0d29ya0ludGVyZmFjZUlQQ29uZmlndXJhdGlvbltdO1xuICByZWFkb25seSBuZXR3b3JrU2VjdXJpdHlHcm91cD86IE5ldHdvcmtJbnRlcmZhY2VOU0dSZWZlcmVuY2U7XG4gIHJlYWRvbmx5IGVuYWJsZUFjY2VsZXJhdGVkTmV0d29ya2luZz86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGVuYWJsZUlQRm9yd2FyZGluZz86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGRuc1NldHRpbmdzPzogTmV0d29ya0ludGVyZmFjZURuc1NldHRpbmdzO1xufVxuXG4vKipcbiAqIFRoZSByZXNvdXJjZSBib2R5IGludGVyZmFjZSBmb3IgQXp1cmUgTmV0d29yayBJbnRlcmZhY2UgQVBJIGNhbGxzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmV0d29ya0ludGVyZmFjZUJvZHkge1xuICByZWFkb25seSBsb2NhdGlvbjogc3RyaW5nO1xuICByZWFkb25seSB0YWdzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgcmVhZG9ubHkgcHJvcGVydGllczogTmV0d29ya0ludGVyZmFjZUJvZHlQcm9wZXJ0aWVzO1xufVxuXG4vKipcbiAqIFVuaWZpZWQgQXp1cmUgTmV0d29yayBJbnRlcmZhY2UgaW1wbGVtZW50YXRpb25cbiAqXG4gKiBUaGlzIGNsYXNzIHByb3ZpZGVzIGEgc2luZ2xlLCB2ZXJzaW9uLWF3YXJlIGltcGxlbWVudGF0aW9uIHRoYXQgcmVwbGFjZXMgYWxsXG4gKiB2ZXJzaW9uLXNwZWNpZmljIE5ldHdvcmsgSW50ZXJmYWNlIGNsYXNzZXMuIEl0IGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB2ZXJzaW9uXG4gKiByZXNvbHV0aW9uLCBzY2hlbWEgdmFsaWRhdGlvbiwgYW5kIHByb3BlcnR5IHRyYW5zZm9ybWF0aW9uIHdoaWxlIG1haW50YWluaW5nXG4gKiBmdWxsIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEJhc2ljIHVzYWdlIHdpdGggYXV0b21hdGljIHZlcnNpb24gcmVzb2x1dGlvbjpcbiAqIGNvbnN0IG5pYyA9IG5ldyBOZXR3b3JrSW50ZXJmYWNlKHRoaXMsIFwibmljXCIsIHtcbiAqICAgbmFtZTogXCJteW5pY1wiLFxuICogICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAqICAgcmVzb3VyY2VHcm91cElkOiByZXNvdXJjZUdyb3VwLmlkLFxuICogICBpcENvbmZpZ3VyYXRpb25zOiBbe1xuICogICAgIG5hbWU6IFwiaXBjb25maWcxXCIsXG4gKiAgICAgc3VibmV0OiB7IGlkOiBzdWJuZXQuaWQgfSxcbiAqICAgICBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kOiBcIkR5bmFtaWNcIixcbiAqICAgICBwcmltYXJ5OiB0cnVlXG4gKiAgIH1dXG4gKiB9KTtcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVXNhZ2Ugd2l0aCBleHBsaWNpdCB2ZXJzaW9uIHBpbm5pbmc6XG4gKiBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZSh0aGlzLCBcIm5pY1wiLCB7XG4gKiAgIG5hbWU6IFwibXluaWNcIixcbiAqICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gKiAgIHJlc291cmNlR3JvdXBJZDogcmVzb3VyY2VHcm91cC5pZCxcbiAqICAgaXBDb25maWd1cmF0aW9uczogW3tcbiAqICAgICBuYW1lOiBcImlwY29uZmlnMVwiLFxuICogICAgIHN1Ym5ldDogeyBpZDogc3VibmV0LmlkIH0sXG4gKiAgICAgcHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZDogXCJEeW5hbWljXCIsXG4gKiAgICAgcHJpbWFyeTogdHJ1ZVxuICogICB9XSxcbiAqICAgYXBpVmVyc2lvbjogXCIyMDI0LTA3LTAxXCIsXG4gKiB9KTtcbiAqXG4gKiBAc3RhYmlsaXR5IHN0YWJsZVxuICovXG5leHBvcnQgY2xhc3MgTmV0d29ya0ludGVyZmFjZSBleHRlbmRzIEF6YXBpUmVzb3VyY2Uge1xuICBzdGF0aWMge1xuICAgIEF6YXBpUmVzb3VyY2UucmVnaXN0ZXJTY2hlbWFzKFxuICAgICAgTkVUV09SS19JTlRFUkZBQ0VfVFlQRSxcbiAgICAgIEFMTF9ORVRXT1JLX0lOVEVSRkFDRV9WRVJTSU9OUyxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IHByb3BzOiBOZXR3b3JrSW50ZXJmYWNlUHJvcHM7XG5cbiAgLy8gT3V0cHV0IHByb3BlcnRpZXMgZm9yIGVhc3kgYWNjZXNzIGFuZCByZWZlcmVuY2luZ1xuICBwdWJsaWMgcmVhZG9ubHkgaWRPdXRwdXQ6IGNka3RuLlRlcnJhZm9ybU91dHB1dDtcbiAgcHVibGljIHJlYWRvbmx5IGxvY2F0aW9uT3V0cHV0OiBjZGt0bi5UZXJyYWZvcm1PdXRwdXQ7XG4gIHB1YmxpYyByZWFkb25seSBuYW1lT3V0cHV0OiBjZGt0bi5UZXJyYWZvcm1PdXRwdXQ7XG4gIHB1YmxpYyByZWFkb25seSB0YWdzT3V0cHV0OiBjZGt0bi5UZXJyYWZvcm1PdXRwdXQ7XG5cbiAgLy8gUHVibGljIHByb3BlcnRpZXNcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBBenVyZSBOZXR3b3JrIEludGVyZmFjZSB1c2luZyB0aGUgVmVyc2lvbmVkQXphcGlSZXNvdXJjZSBmcmFtZXdvcmtcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gVGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgaW5zdGFuY2VcbiAgICogQHBhcmFtIHByb3BzIC0gQ29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgTmV0d29yayBJbnRlcmZhY2VcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBOZXR3b3JrSW50ZXJmYWNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcblxuICAgIC8vIEV4dHJhY3QgcHJvcGVydGllcyBmcm9tIHRoZSBBWkFQSSByZXNvdXJjZSBvdXRwdXRzXG5cbiAgICAvLyBDcmVhdGUgVGVycmFmb3JtIG91dHB1dHNcbiAgICB0aGlzLmlkT3V0cHV0ID0gbmV3IGNka3RuLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcImlkXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLmlkLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIElEIG9mIHRoZSBOZXR3b3JrIEludGVyZmFjZVwiLFxuICAgIH0pO1xuXG4gICAgdGhpcy5sb2NhdGlvbk91dHB1dCA9IG5ldyBjZGt0bi5UZXJyYWZvcm1PdXRwdXQodGhpcywgXCJsb2NhdGlvblwiLCB7XG4gICAgICB2YWx1ZTogYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5sb2NhdGlvbn1gLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGxvY2F0aW9uIG9mIHRoZSBOZXR3b3JrIEludGVyZmFjZVwiLFxuICAgIH0pO1xuXG4gICAgdGhpcy5uYW1lT3V0cHV0ID0gbmV3IGNka3RuLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgdmFsdWU6IGBcXCR7JHt0aGlzLnRlcnJhZm9ybVJlc291cmNlLmZxbn0ubmFtZX1gLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIG5hbWUgb2YgdGhlIE5ldHdvcmsgSW50ZXJmYWNlXCIsXG4gICAgfSk7XG5cbiAgICB0aGlzLnRhZ3NPdXRwdXQgPSBuZXcgY2RrdG4uVGVycmFmb3JtT3V0cHV0KHRoaXMsIFwidGFnc1wiLCB7XG4gICAgICB2YWx1ZTogYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS50YWdzfWAsXG4gICAgICBkZXNjcmlwdGlvbjogXCJUaGUgdGFncyBhc3NpZ25lZCB0byB0aGUgTmV0d29yayBJbnRlcmZhY2VcIixcbiAgICB9KTtcblxuICAgIC8vIE92ZXJyaWRlIGxvZ2ljYWwgSURzXG4gICAgdGhpcy5pZE91dHB1dC5vdmVycmlkZUxvZ2ljYWxJZChcImlkXCIpO1xuICAgIHRoaXMubG9jYXRpb25PdXRwdXQub3ZlcnJpZGVMb2dpY2FsSWQoXCJsb2NhdGlvblwiKTtcbiAgICB0aGlzLm5hbWVPdXRwdXQub3ZlcnJpZGVMb2dpY2FsSWQoXCJuYW1lXCIpO1xuICAgIHRoaXMudGFnc091dHB1dC5vdmVycmlkZUxvZ2ljYWxJZChcInRhZ3NcIik7XG5cbiAgICAvLyBBcHBseSBpZ25vcmUgY2hhbmdlcyBpZiBzcGVjaWZpZWRcbiAgICB0aGlzLl9hcHBseUlnbm9yZUNoYW5nZXMoKTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFJFUVVJUkVEIEFCU1RSQUNUIE1FVEhPRFMgRlJPTSBWZXJzaW9uZWRBemFwaVJlc291cmNlXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGRlZmF1bHQgQVBJIHZlcnNpb24gdG8gdXNlIHdoZW4gbm8gZXhwbGljaXQgdmVyc2lvbiBpcyBzcGVjaWZpZWRcbiAgICovXG4gIHByb3RlY3RlZCBkZWZhdWx0VmVyc2lvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBcIjIwMjQtMTAtMDFcIjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBBenVyZSByZXNvdXJjZSB0eXBlIGZvciBOZXR3b3JrIEludGVyZmFjZXNcbiAgICovXG4gIHByb3RlY3RlZCByZXNvdXJjZVR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gTkVUV09SS19JTlRFUkZBQ0VfVFlQRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBBUEkgc2NoZW1hIGZvciB0aGUgcmVzb2x2ZWQgdmVyc2lvblxuICAgKi9cbiAgcHJvdGVjdGVkIGFwaVNjaGVtYSgpOiBBcGlTY2hlbWEge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVTY2hlbWEoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCBsb2NhdGlvbiBpcyByZXF1aXJlZCBmb3IgTmV0d29yayBJbnRlcmZhY2VzXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVxdWlyZXNMb2NhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIHRoZSByZXNvdXJjZSBib2R5IGZvciB0aGUgQXp1cmUgQVBJIGNhbGxcbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVSZXNvdXJjZUJvZHkocHJvcHM6IGFueSk6IGFueSB7XG4gICAgY29uc3QgdHlwZWRQcm9wcyA9IHByb3BzIGFzIE5ldHdvcmtJbnRlcmZhY2VQcm9wcztcblxuICAgIC8vIFRyYW5zZm9ybSBpcENvbmZpZ3VyYXRpb25zIHRvIG1hdGNoIEF6dXJlIEFQSSBzY2hlbWFcbiAgICAvLyBFYWNoIElQIGNvbmZpZ3VyYXRpb24gbmVlZHMgaXRzIHByb3BlcnRpZXMgbmVzdGVkIHVuZGVyIGEgXCJwcm9wZXJ0aWVzXCIga2V5XG4gICAgY29uc3QgaXBDb25maWd1cmF0aW9ucyA9IHR5cGVkUHJvcHMuaXBDb25maWd1cmF0aW9ucy5tYXAoKGlwQ29uZmlnKSA9PiAoe1xuICAgICAgbmFtZTogaXBDb25maWcubmFtZSxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgc3VibmV0OiBpcENvbmZpZy5zdWJuZXQsXG4gICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6XG4gICAgICAgICAgaXBDb25maWcucHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZCB8fCBcIkR5bmFtaWNcIixcbiAgICAgICAgcHJpdmF0ZUlQQWRkcmVzczogaXBDb25maWcucHJpdmF0ZUlQQWRkcmVzcyxcbiAgICAgICAgcHVibGljSVBBZGRyZXNzOiBpcENvbmZpZy5wdWJsaWNJUEFkZHJlc3MsXG4gICAgICAgIHByaW1hcnk6IGlwQ29uZmlnLnByaW1hcnksXG4gICAgICB9LFxuICAgIH0pKTtcblxuICAgIHJldHVybiB7XG4gICAgICBsb2NhdGlvbjogdGhpcy5sb2NhdGlvbixcbiAgICAgIHRhZ3M6IHRoaXMuYWxsVGFncygpLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBpcENvbmZpZ3VyYXRpb25zLFxuICAgICAgICBuZXR3b3JrU2VjdXJpdHlHcm91cDogdHlwZWRQcm9wcy5uZXR3b3JrU2VjdXJpdHlHcm91cCxcbiAgICAgICAgZW5hYmxlQWNjZWxlcmF0ZWROZXR3b3JraW5nOlxuICAgICAgICAgIHR5cGVkUHJvcHMuZW5hYmxlQWNjZWxlcmF0ZWROZXR3b3JraW5nIHx8IGZhbHNlLFxuICAgICAgICBlbmFibGVJUEZvcndhcmRpbmc6IHR5cGVkUHJvcHMuZW5hYmxlSVBGb3J3YXJkaW5nIHx8IGZhbHNlLFxuICAgICAgICBkbnNTZXR0aW5nczogdHlwZWRQcm9wcy5kbnNTZXR0aW5ncyxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFBVQkxJQyBNRVRIT0RTIEZPUiBORVRXT1JLIElOVEVSRkFDRSBPUEVSQVRJT05TXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcHJpdmF0ZSBJUCBhZGRyZXNzIG9mIHRoZSBwcmltYXJ5IElQIGNvbmZpZ3VyYXRpb25cbiAgICogTm90ZTogVGhpcyBtYXkgbm90IGJlIGF2YWlsYWJsZSB1bnRpbCBhZnRlciB0aGUgcmVzb3VyY2UgaXMgY3JlYXRlZFxuICAgKiBUaGUgYWN0dWFsIElQIGFkZHJlc3MgbG9jYXRpb24gaW4gQXp1cmUgQVBJIHJlc3BvbnNlIHZhcmllcyBieSBBUEkgdmVyc2lvblxuICAgKi9cbiAgcHVibGljIGdldCBwcml2YXRlSVBBZGRyZXNzKCk6IHN0cmluZyB7XG4gICAgLy8gVGhlIHByaXZhdGUgSVAgYWRkcmVzcyBpcyB0eXBpY2FsbHkgYXZhaWxhYmxlIGF0IHJ1bnRpbWUgYnV0IG5vdCBpbiBUZXJyYWZvcm0gb3V0cHV0XG4gICAgLy8gVXNlcnMgc2hvdWxkIHF1ZXJ5IHRoZSBBenVyZSBBUEkgZGlyZWN0bHkgZm9yIHRoZSBwcml2YXRlIElQIGlmIG5lZWRlZFxuICAgIHJldHVybiBgXFwkeyR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZS5mcW59LmlkfWA7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgdGFnIHRvIHRoZSBOZXR3b3JrIEludGVyZmFjZVxuICAgKi9cbiAgcHVibGljIGFkZFRhZyhrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdGhpcy5wcm9wcy50YWdzKSB7XG4gICAgICAodGhpcy5wcm9wcyBhcyBhbnkpLnRhZ3MgPSB7fTtcbiAgICB9XG4gICAgdGhpcy5wcm9wcy50YWdzIVtrZXldID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGEgdGFnIGZyb20gdGhlIE5ldHdvcmsgSW50ZXJmYWNlXG4gICAqL1xuICBwdWJsaWMgcmVtb3ZlVGFnKGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJvcHMudGFncyAmJiB0aGlzLnByb3BzLnRhZ3Nba2V5XSkge1xuICAgICAgZGVsZXRlIHRoaXMucHJvcHMudGFnc1trZXldO1xuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFBSSVZBVEUgSEVMUEVSIE1FVEhPRFNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogQXBwbGllcyBpZ25vcmUgY2hhbmdlcyBsaWZlY3ljbGUgcnVsZXMgaWYgc3BlY2lmaWVkIGluIHByb3BzXG4gICAqL1xuICBwcml2YXRlIF9hcHBseUlnbm9yZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJvcHMuaWdub3JlQ2hhbmdlcyAmJiB0aGlzLnByb3BzLmlnbm9yZUNoYW5nZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy50ZXJyYWZvcm1SZXNvdXJjZS5hZGRPdmVycmlkZShcImxpZmVjeWNsZVwiLCBbXG4gICAgICAgIHtcbiAgICAgICAgICBpZ25vcmVfY2hhbmdlczogdGhpcy5wcm9wcy5pZ25vcmVDaGFuZ2VzLFxuICAgICAgICB9LFxuICAgICAgXSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* Run with: npm run integration:nostream
|
|
9
9
|
*/
|
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
-
const
|
|
12
|
-
require("
|
|
11
|
+
const cdktn_1 = require("cdktn");
|
|
12
|
+
require("cdktn/lib/testing/adapters/jest");
|
|
13
13
|
const azure_resourcegroup_1 = require("../../azure-resourcegroup");
|
|
14
14
|
const azure_subnet_1 = require("../../azure-subnet");
|
|
15
15
|
const azure_virtualnetwork_1 = require("../../azure-virtualnetwork");
|
|
@@ -103,9 +103,9 @@ class NetworkInterfaceExampleStack extends testing_1.BaseTestStack {
|
|
|
103
103
|
}
|
|
104
104
|
describe("Network Interface Integration Test", () => {
|
|
105
105
|
it("should deploy, validate idempotency, and cleanup network interface resources", () => {
|
|
106
|
-
const app =
|
|
106
|
+
const app = cdktn_1.Testing.app();
|
|
107
107
|
const stack = new NetworkInterfaceExampleStack(app, "test-network-interface");
|
|
108
|
-
const synthesized =
|
|
108
|
+
const synthesized = cdktn_1.Testing.fullSynth(stack);
|
|
109
109
|
// This will:
|
|
110
110
|
// 1. Run terraform apply to deploy resources
|
|
111
111
|
// 2. Run terraform plan to check idempotency (no changes expected)
|
|
@@ -113,4 +113,4 @@ describe("Network Interface Integration Test", () => {
|
|
|
113
113
|
(0, testing_1.TerraformApplyCheckAndDestroy)(synthesized);
|
|
114
114
|
}, 600000); // 10 minute timeout for deployment and cleanup
|
|
115
115
|
});
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay1pbnRlcmZhY2UuaW50ZWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtbmV0d29ya2ludGVyZmFjZS90ZXN0L25ldHdvcmstaW50ZXJmYWNlLmludGVnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7OztHQU9HOztBQUVILGlDQUFnQztBQUVoQywyQ0FBeUM7QUFDekMsbUVBQTBEO0FBQzFELHFEQUE0QztBQUM1QyxxRUFBNEQ7QUFDNUQsa0ZBQW9GO0FBQ3BGLDJDQUE2RTtBQUM3RSx5REFBNkQ7QUFDN0QsZ0VBQTREO0FBRTVELHdEQUF3RDtBQUN4RCxNQUFNLFlBQVksR0FBRyxJQUFJLDBCQUFlLENBQUMsK0JBQStCLEVBQUU7SUFDeEUsV0FBVyxFQUFFLENBQUM7Q0FDZixDQUFDLENBQUM7QUFFSDs7R0FFRztBQUNILE1BQU0sNEJBQTZCLFNBQVEsdUJBQWE7SUFDdEQsWUFBWSxLQUFnQixFQUFFLEVBQVU7UUFDdEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixjQUFjLEVBQUU7Z0JBQ2QsV0FBVyxFQUFFLFlBQVksQ0FBQyxXQUFXO2dCQUNyQyxXQUFXLEVBQUUsWUFBWSxDQUFDLFdBQVc7Z0JBQ3JDLGFBQWEsRUFBRSxZQUFZLENBQUMsYUFBYTthQUMxQztTQUNGLENBQUMsQ0FBQztRQUVILDJCQUEyQjtRQUMzQixJQUFJLHdCQUFhLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVyQyx3QkFBd0I7UUFDeEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUN0QyxvQ0FBb0MsRUFDcEMsS0FBSyxDQUNOLENBQUM7UUFFRiwwQkFBMEI7UUFDMUIsTUFBTSxhQUFhLEdBQUcsSUFBSSxtQ0FBYSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDMUQsSUFBSSxFQUFFLE1BQU07WUFDWixRQUFRLEVBQUUsUUFBUTtZ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cmZhY2VcbiAqXG4gKiBUaGlzIHRlc3QgZGVtb25zdHJhdGVzIGJhc2ljIHVzYWdlIG9mIHRoZSBOZXR3b3JrSW50ZXJmYWNlIGNvbnN0cnVjdFxuICogYW5kIHZhbGlkYXRlcyBkZXBsb3ltZW50LCBpZGVtcG90ZW5jeSwgYW5kIGNsZWFudXAuXG4gKlxuICogUnVuIHdpdGg6IG5wbSBydW4gaW50ZWdyYXRpb246bm9zdHJlYW1cbiAqL1xuXG5pbXBvcnQgeyBUZXN0aW5nIH0gZnJvbSBcImNka3RuXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IFwiY2RrdG4vbGliL3Rlc3RpbmcvYWRhcHRlcnMvamVzdFwiO1xuaW1wb3J0IHsgUmVzb3VyY2VHcm91cCB9IGZyb20gXCIuLi8uLi9henVyZS1yZXNvdXJjZWdyb3VwXCI7XG5pbXBvcnQgeyBTdWJuZXQgfSBmcm9tIFwiLi4vLi4vYXp1cmUtc3VibmV0XCI7XG5pbXBvcnQgeyBWaXJ0dWFsTmV0d29yayB9IGZyb20gXCIuLi8uLi9henVyZS12aXJ0dWFsbmV0d29ya1wiO1xuaW1wb3J0IHsgQXphcGlQcm92aWRlciB9IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlL2xpYi9hemFwaS9wcm92aWRlcnMtYXphcGkvcHJvdmlkZXJcIjtcbmltcG9ydCB7IEJhc2VUZXN0U3RhY2ssIFRlcnJhZm9ybUFwcGx5Q2hlY2tBbmREZXN0cm95IH0gZnJvbSBcIi4uLy4uL3Rlc3RpbmdcIjtcbmltcG9ydCB7IFRlc3RSdW5NZXRhZGF0YSB9IGZyb20gXCIuLi8uLi90ZXN0aW5nL2xpYi9tZXRhZGF0YVwiO1xuaW1wb3J0IHsgTmV0d29ya0ludGVyZmFjZSB9IGZyb20gXCIuLi9saWIvbmV0d29yay1pbnRlcmZhY2VcIjtcblxuLy8gR2VuZXJhdGUgdW5pcXVlIHRlc3QgcnVuIG1ldGFkYXRhIGZvciB0aGlzIHRlc3Qgc3VpdGVcbmNvbnN0IHRlc3RNZXRhZGF0YSA9IG5ldyBUZXN0UnVuTWV0YWRhdGEoXCJuZXR3b3JrLWludGVyZmFjZS1pbnRlZ3JhdGlvblwiLCB7XG4gIG1heEFnZUhvdXJzOiA0LFxufSk7XG5cbi8qKlxuICogRXhhbXBsZSBzdGFjayBkZW1vbnN0cmF0aW5nIE5ldHdvcmsgSW50ZXJmYWNlIHVzYWdlXG4gKi9cbmNsYXNzIE5ldHdvcmtJbnRlcmZhY2VFeGFtcGxlU3RhY2sgZXh0ZW5kcyBCYXNlVGVzdFN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgdGVzdFJ1bk9wdGlvbnM6IHtcbiAgICAgICAgbWF4QWdlSG91cnM6IHRlc3RNZXRhZGF0YS5tYXhBZ2VIb3VycyxcbiAgICAgICAgYXV0b0NsZWFudXA6IHRlc3RNZXRhZGF0YS5hdXRvQ2xlYW51cCxcbiAgICAgICAgY2xlYW51cFBvbGljeTogdGVzdE1ldGFkYXRhLmNsZWFudXBQb2xpY3ksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gQ29uZmlndXJlIEFaQVBJIHByb3ZpZGVyXG4gICAgbmV3IEF6YXBpUHJvdmlkZXIodGhpcywgXCJhemFwaVwiLCB7fSk7XG5cbiAgICAvLyBHZW5lcmF0ZSB1bmlxdWUgbmFtZXNcbiAgICBjb25zdCByZ05hbWUgPSB0aGlzLmdlbmVyYXRlUmVzb3VyY2VOYW1lKFxuICAgICAgXCJNaWNyb3NvZnQuUmVzb3VyY2VzL3Jlc291cmNlR3JvdXBzXCIsXG4gICAgICBcIm5pY1wiLFxuICAgICk7XG5cbiAgICAvLyBDcmVhdGUgYSByZXNvdXJjZSBncm91cFxuICAgIGNvbnN0IHJlc291cmNlR3JvdXAgPSBuZXcgUmVzb3VyY2VHcm91cCh0aGlzLCBcImV4YW1wbGUtcmdcIiwge1xuICAgICAgbmFtZTogcmdOYW1lLFxuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICB0YWdzOiB7XG4gICAgICAgIC4uLnRoaXMuc3lzdGVtVGFncygpLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBhIHZpcnR1YWwgbmV0d29ya1xuICAgIGNvbnN0IHZuZXQgPSBuZXcgVmlydHVhbE5ldHdvcmsodGhpcywgXCJleGFtcGxlLXZuZXRcIiwge1xuICAgICAgbmFtZTogXCJ2bmV0LWV4YW1wbGVcIixcbiAgICAgIGxvY2F0aW9uOiByZXNvdXJjZUdyb3VwLnByb3BzLmxvY2F0aW9uISxcbiAgICAgIHJlc291cmNlR3JvdXBJZDogcmVzb3VyY2VHcm91cC5pZCxcbiAgICAgIGFkZHJlc3NTcGFjZToge1xuICAgICAgICBhZGRyZXNzUHJlZml4ZXM6IFtcIjEwLjAuMC4wLzE2XCJdLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBhIHN1Ym5ldCAtIHVzZSB2aXJ0dWFsTmV0d29ya0lkIHRvIGNyZWF0ZSBleHBsaWNpdCBUZXJyYWZvcm0gZGVwZW5kZW5jeVxuICAgIGNvbnN0IHN1Ym5ldCA9IG5ldyBTdWJuZXQodGhpcywgXCJleGFtcGxlLXN1Ym5ldFwiLCB7XG4gICAgICBuYW1lOiBcInN1Ym5ldC1leGFtcGxlXCIsXG4gICAgICByZXNvdXJjZUdyb3VwSWQ6IHJlc291cmNlR3JvdXAuaWQsXG4gICAgICB2aXJ0dWFsTmV0d29ya05hbWU6IFwidm5ldC1leGFtcGxlXCIsXG4gICAgICB2aXJ0dWFsTmV0d29ya0lkOiB2bmV0LmlkLFxuICAgICAgYWRkcmVzc1ByZWZpeDogXCIxMC4wLjEuMC8yNFwiLFxuICAgIH0pO1xuXG4gICAgLy8gRXhhbXBsZSAxOiBCYXNpYyBuZXR3b3JrIGludGVyZmFjZVxuICAgIG5ldyBOZXR3b3JrSW50ZXJmYWNlKHRoaXMsIFwiYmFzaWMtbmljXCIsIHtcbiAgICAgIG5hbWU6IFwibmljLWJhc2ljLWV4YW1wbGVcIixcbiAgICAgIGxvY2F0aW9uOiByZXNvdXJjZUdyb3VwLnByb3BzLmxvY2F0aW9uISxcbiAgICAgIHJlc291cmNlR3JvdXBJZDogcmVzb3VyY2VHcm91cC5pZCxcbiAgICAgIGlwQ29uZmlndXJhdGlvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiaXBjb25maWcxXCIsXG4gICAgICAgICAgc3VibmV0OiB7IGlkOiBzdWJuZXQuaWQgfSxcbiAgICAgICAgICBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kOiBcIkR5bmFtaWNcIixcbiAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHRhZ3M6IHtcbiAgICAgICAgLi4udGhpcy5zeXN0ZW1UYWdzKCksXG4gICAgICAgIGV4YW1wbGU6IFwiYmFzaWNcIixcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyBFeGFtcGxlIDI6IE5ldHdvcmsgaW50ZXJmYWNlIHdpdGggc3BlY2lmaWMgdmVyc2lvblxuICAgIG5ldyBOZXR3b3JrSW50ZXJmYWNlKHRoaXMsIFwidmVyc2lvbmVkLW5pY1wiLCB7XG4gICAgICBuYW1lOiBcIm5pYy12ZXJzaW9uZWQtZXhhbXBsZVwiLFxuICAgICAgbG9jYXRpb246IHJlc291cmNlR3JvdXAucHJvcHMubG9jYXRpb24hLFxuICAgICAgcmVzb3VyY2VHcm91cElkOiByZXNvdXJjZUdyb3VwLmlkLFxuICAgICAgaXBDb25maWd1cmF0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJpcGNvbmZpZzFcIixcbiAgICAgICAgICBzdWJuZXQ6IHsgaWQ6IHN1Ym5ldC5pZCB9LFxuICAgICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6IFwiRHluYW1pY1wiLFxuICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgYXBpVmVyc2lvbjogXCIyMDI0LTA3LTAxXCIsXG4gICAgICB0YWdzOiB7XG4gICAgICAgIC4uLnRoaXMuc3lzdGVtVGFncygpLFxuICAgICAgICBleGFtcGxlOiBcInZlcnNpb25lZFwiLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuXG5kZXNjcmliZShcIk5ldHdvcmsgSW50ZXJmYWNlIEludGVncmF0aW9uIFRlc3RcIiwgKCkgPT4ge1xuICBpdChcInNob3VsZCBkZXBsb3ksIHZhbGlkYXRlIGlkZW1wb3RlbmN5LCBhbmQgY2xlYW51cCBuZXR3b3JrIGludGVyZmFjZSByZXNvdXJjZXNcIiwgKCkgPT4ge1xuICAgIGNvbnN0IGFwcCA9IFRlc3RpbmcuYXBwKCk7XG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgTmV0d29ya0ludGVyZmFjZUV4YW1wbGVTdGFjayhcbiAgICAgIGFwcCxcbiAgICAgIFwidGVzdC1uZXR3b3JrLWludGVyZmFjZVwiLFxuICAgICk7XG4gICAgY29uc3Qgc3ludGhlc2l6ZWQgPSBUZXN0aW5nLmZ1bGxTeW50aChzdGFjayk7XG5cbiAgICAvLyBUaGlzIHdpbGw6XG4gICAgLy8gMS4gUnVuIHRlcnJhZm9ybSBhcHBseSB0byBkZXBsb3kgcmVzb3VyY2VzXG4gICAgLy8gMi4gUnVuIHRlcnJhZm9ybSBwbGFuIHRvIGNoZWNrIGlkZW1wb3RlbmN5IChubyBjaGFuZ2VzIGV4cGVjdGVkKVxuICAgIC8vIDMuIFJ1biB0ZXJyYWZvcm0gZGVzdHJveSB0byBjbGVhbnVwIHJlc291cmNlc1xuICAgIFRlcnJhZm9ybUFwcGx5Q2hlY2tBbmREZXN0cm95KHN5bnRoZXNpemVkKTtcbiAgfSwgNjAwMDAwKTsgLy8gMTAgbWludXRlIHRpbWVvdXQgZm9yIGRlcGxveW1lbnQgYW5kIGNsZWFudXBcbn0pO1xuIl19
|
|
@@ -7,15 +7,15 @@
|
|
|
7
7
|
* property transformation, and resource creation.
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
const
|
|
11
|
-
const
|
|
10
|
+
const cdktn_1 = require("cdktn");
|
|
11
|
+
const cdktn = require("cdktn");
|
|
12
12
|
const network_interface_1 = require("../lib/network-interface");
|
|
13
13
|
describe("NetworkInterface - Implementation", () => {
|
|
14
14
|
let app;
|
|
15
15
|
let stack;
|
|
16
16
|
beforeEach(() => {
|
|
17
|
-
app =
|
|
18
|
-
stack = new
|
|
17
|
+
app = cdktn_1.Testing.app();
|
|
18
|
+
stack = new cdktn.TerraformStack(app, "TestStack");
|
|
19
19
|
});
|
|
20
20
|
describe("Constructor and Basic Properties", () => {
|
|
21
21
|
it("should create network interface with automatic latest version resolution", () => {
|
|
@@ -467,10 +467,10 @@ describe("NetworkInterface - Implementation", () => {
|
|
|
467
467
|
},
|
|
468
468
|
],
|
|
469
469
|
});
|
|
470
|
-
expect(nic.idOutput).toBeInstanceOf(
|
|
471
|
-
expect(nic.nameOutput).toBeInstanceOf(
|
|
472
|
-
expect(nic.locationOutput).toBeInstanceOf(
|
|
473
|
-
expect(nic.tagsOutput).toBeInstanceOf(
|
|
470
|
+
expect(nic.idOutput).toBeInstanceOf(cdktn.TerraformOutput);
|
|
471
|
+
expect(nic.nameOutput).toBeInstanceOf(cdktn.TerraformOutput);
|
|
472
|
+
expect(nic.locationOutput).toBeInstanceOf(cdktn.TerraformOutput);
|
|
473
|
+
expect(nic.tagsOutput).toBeInstanceOf(cdktn.TerraformOutput);
|
|
474
474
|
});
|
|
475
475
|
it("should have correct id format", () => {
|
|
476
476
|
const nic = new network_interface_1.NetworkInterface(stack, "IdFormat", {
|
|
@@ -559,7 +559,7 @@ describe("NetworkInterface - Implementation", () => {
|
|
|
559
559
|
],
|
|
560
560
|
tags: { test: "synthesis" },
|
|
561
561
|
});
|
|
562
|
-
const synthesized =
|
|
562
|
+
const synthesized = cdktn_1.Testing.synth(stack);
|
|
563
563
|
expect(synthesized).toBeDefined();
|
|
564
564
|
const stackConfig = JSON.parse(synthesized);
|
|
565
565
|
expect(stackConfig.resource).toBeDefined();
|
|
@@ -593,7 +593,7 @@ describe("NetworkInterface - Implementation", () => {
|
|
|
593
593
|
});
|
|
594
594
|
expect(nic1.resolvedApiVersion).toBe("2024-10-01");
|
|
595
595
|
expect(nic2.resolvedApiVersion).toBe("2024-07-01");
|
|
596
|
-
const synthesized =
|
|
596
|
+
const synthesized = cdktn_1.Testing.synth(stack);
|
|
597
597
|
expect(synthesized).toBeDefined();
|
|
598
598
|
});
|
|
599
599
|
});
|
|
@@ -652,4 +652,4 @@ describe("NetworkInterface - Implementation", () => {
|
|
|
652
652
|
});
|
|
653
653
|
});
|
|
654
654
|
});
|
|
655
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay1pbnRlcmZhY2Uuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1uZXR3b3JraW50ZXJmYWNlL3Rlc3QvbmV0d29yay1pbnRlcmZhY2Uuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOztBQUVILGlDQUFnQztBQUNoQywrQkFBK0I7QUFDL0IsZ0VBR2tDO0FBRWxDLFFBQVEsQ0FBQyxtQ0FBbUMsRUFBRSxHQUFHLEVBQUU7SUFDakQsSUFBSSxHQUFjLENBQUM7SUFDbkIsSUFBSSxLQUEyQixDQUFDO0lBRWhDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxHQUFHLEdBQUcsZUFBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3JELENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLGtDQUFrQyxFQUFFLEdBQUcsRUFBRTtRQUNoRCxFQUFFLENBQUMsMEVBQTBFLEVBQUUsR0FBRyxFQUFFO1lBQ2xGLE1BQU0sS0FBSyxHQUEwQjtnQkFDbkMsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixnQkFBZ0IsRUFBRTtvQkFDaEI7d0JBQ0UsSUFBSSxFQUFFLFdBQVc7d0JBQ2pCLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxxQ0FBcUMsRUFBRTt3QkFDckQseUJBQXlCLEVBQUUsU0FBUzt3QkFDcEMsT0FBTyxFQUFFLElBQUk7cUJBQ2Q7aUJBQ0Y7YUFDRixDQUFDO1lBRUYsTUFBTSxHQUFHLEdBQUcsSUFBSSxvQ0FBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRTFELE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxjQUFjLENBQUMsb0NBQWdCLENBQUMsQ0FBQztZQUM3QyxNQUFNLENB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LENBQUM7WUFDaEQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb21wcmVoZW5zaXZlIHRlc3RzIGZvciB0aGUgTmV0d29yayBJbnRlcmZhY2UgaW1wbGVtZW50YXRpb25cbiAqXG4gKiBUaGlzIHRlc3Qgc3VpdGUgdmFsaWRhdGVzIHRoZSBOZXR3b3JrSW50ZXJmYWNlIGNsYXNzIHVzaW5nIHRoZSBBemFwaVJlc291cmNlIGZyYW1ld29yay5cbiAqIFRlc3RzIGNvdmVyIGF1dG9tYXRpYyB2ZXJzaW9uIHJlc29sdXRpb24sIGV4cGxpY2l0IHZlcnNpb24gcGlubmluZywgc2NoZW1hIHZhbGlkYXRpb24sXG4gKiBwcm9wZXJ0eSB0cmFuc2Zvcm1hdGlvbiwgYW5kIHJlc291cmNlIGNyZWF0aW9uLlxuICovXG5cbmltcG9ydCB7IFRlc3RpbmcgfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCAqIGFzIGNka3RmIGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHtcbiAgTmV0d29ya0ludGVyZmFjZSxcbiAgTmV0d29ya0ludGVyZmFjZVByb3BzLFxufSBmcm9tIFwiLi4vbGliL25ldHdvcmstaW50ZXJmYWNlXCI7XG5cbmRlc2NyaWJlKFwiTmV0d29ya0ludGVyZmFjZSAtIEltcGxlbWVudGF0aW9uXCIsICgpID0+IHtcbiAgbGV0IGFwcDogY2RrdGYuQXBwO1xuICBsZXQgc3RhY2s6IGNka3RmLlRlcnJhZm9ybVN0YWNrO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGFwcCA9IFRlc3RpbmcuYXBwKCk7XG4gICAgc3RhY2sgPSBuZXcgY2RrdGYuVGVycmFmb3JtU3RhY2soYXBwLCBcIlRlc3RTdGFja1wiKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoXCJDb25zdHJ1Y3RvciBhbmQgQmFzaWMgUHJvcGVydGllc1wiLCAoKSA9PiB7XG4gICAgaXQoXCJzaG91bGQgY3JlYXRlIG5ldHdvcmsgaW50ZXJmYWNlIHdpdGggYXV0b21hdGljIGxhdGVzdCB2ZXJzaW9uIHJlc29sdXRpb25cIiwgKCkgPT4ge1xuICAgICAgY29uc3QgcHJvcHM6IE5ldHdvcmtJbnRlcmZhY2VQcm9wcyA9IHtcbiAgICAgICAgbmFtZTogXCJ0ZXN0LW5pY1wiLFxuICAgICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgICAgaXBDb25maWd1cmF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiaXBjb25maWcxXCIsXG4gICAgICAgICAgICBzdWJuZXQ6IHsgaWQ6IFwiL3N1YnNjcmlwdGlvbnMvdGVzdC9zdWJuZXRzL3N1Ym5ldDFcIiB9LFxuICAgICAgICAgICAgcHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZDogXCJEeW5hbWljXCIsXG4gICAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJUZXN0TklDXCIsIHByb3BzKTtcblxuICAgICAgZXhwZWN0KG5pYykudG9CZUluc3RhbmNlT2YoTmV0d29ya0ludGVyZmFjZSk7XG4gICAgICBleHBlY3QobmljLnByb3BzKS50b0JlKHByb3BzKTtcbiAgICAgIGV4cGVjdChuaWMubmFtZSkudG9CZShcInRlc3QtbmljXCIpO1xuICAgICAgZXhwZWN0KG5pYy5sb2NhdGlvbikudG9CZShcImVhc3R1c1wiKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGNyZWF0ZSBuZXR3b3JrIGludGVyZmFjZSB3aXRoIGV4cGxpY2l0IHZlcnNpb24gcGlubmluZ1wiLCAoKSA9PiB7XG4gICAgICBjb25zdCBwcm9wczogTmV0d29ya0ludGVyZmFjZVByb3BzID0ge1xuICAgICAgICBuYW1lOiBcInRlc3QtbmljLXBpbm5lZFwiLFxuICAgICAgICBsb2NhdGlvbjogXCJ3ZXN0dXNcIixcbiAgICAgICAgYXBpVmVyc2lvbjogXCIyMDI0LTA3LTAxXCIsXG4gICAgICAgIGlwQ29uZmlndXJhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImlwY29uZmlnMVwiLFxuICAgICAgICAgICAgc3VibmV0OiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qvc3VibmV0cy9zdWJuZXQxXCIgfSxcbiAgICAgICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6IFwiRHluYW1pY1wiLFxuICAgICAgICAgICAgcHJpbWFyeTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICB0YWdzOiB7IGVudmlyb25tZW50OiBcInRlc3RcIiB9LFxuICAgICAgfTtcblxuICAgICAgY29uc3QgbmljID0gbmV3IE5ldHdvcmtJbnRlcmZhY2Uoc3RhY2ssIFwiVGVzdE5JQ1wiLCBwcm9wcyk7XG5cbiAgICAgIGV4cGVjdChuaWMucmVzb2x2ZWRBcGlWZXJzaW9uKS50b0JlKFwiMjAyNC0wNy0wMVwiKTtcbiAgICAgIGV4cGVjdChuaWMudGFncykudG9FcXVhbCh7IGVudmlyb25tZW50OiBcInRlc3RcIiB9KTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGNyZWF0ZSBuZXR3b3JrIGludGVyZmFjZSB3aXRoIGFsbCBvcHRpb25hbCBwcm9wZXJ0aWVzXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IHByb3BzOiBOZXR3b3JrSW50ZXJmYWNlUHJvcHMgPSB7XG4gICAgICAgIG5hbWU6IFwidGVzdC1uaWMtZnVsbFwiLFxuICAgICAgICBsb2NhdGlvbjogXCJjZW50cmFsdXNcIixcbiAgICAgICAgaXBDb25maWd1cmF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiaXBjb25maWcxXCIsXG4gICAgICAgICAgICBzdWJuZXQ6IHsgaWQ6IFwiL3N1YnNjcmlwdGlvbnMvdGVzdC9zdWJuZXRzL3N1Ym5ldDFcIiB9LFxuICAgICAgICAgICAgcHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZDogXCJTdGF0aWNcIixcbiAgICAgICAgICAgIHByaXZhdGVJUEFkZHJlc3M6IFwiMTAuMC4xLjRcIixcbiAgICAgICAgICAgIHB1YmxpY0lQQWRkcmVzczogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3B1YmxpY0lQcy9waXAxXCIgfSxcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgbmV0d29ya1NlY3VyaXR5R3JvdXA6IHsgaWQ6IFwiL3N1YnNjcmlwdGlvbnMvdGVzdC9uc2dzL25zZzFcIiB9LFxuICAgICAgICBlbmFibGVBY2NlbGVyYXRlZE5ldHdvcmtpbmc6IHRydWUsXG4gICAgICAgIGVuYWJsZUlQRm9yd2FyZGluZzogdHJ1ZSxcbiAgICAgICAgZG5zU2V0dGluZ3M6IHtcbiAgICAgICAgICBkbnNTZXJ2ZXJzOiBbXCIxMC4wLjAuNFwiLCBcIjEwLjAuMC41XCJdLFxuICAgICAgICAgIGludGVybmFsRG5zTmFtZUxhYmVsOiBcIm15dm1cIixcbiAgICAgICAgfSxcbiAgICAgICAgdGFnczoge1xuICAgICAgICAgIGVudmlyb25tZW50OiBcInByb2R1Y3Rpb25cIixcbiAgICAgICAgICBwcm9qZWN0OiBcIm5ldHdvcmtpbmdcIixcbiAgICAgICAgICBvd25lcjogXCJ0ZWFtQGNvbXBhbnkuY29tXCIsXG4gICAgICAgIH0sXG4gICAgICAgIGlnbm9yZUNoYW5nZXM6IFtcInRhZ3NcIl0sXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJUZXN0TklDXCIsIHByb3BzKTtcblxuICAgICAgZXhwZWN0KG5pYy5wcm9wcy5pcENvbmZpZ3VyYXRpb25zKS50b0VxdWFsKHByb3BzLmlwQ29uZmlndXJhdGlvbnMpO1xuICAgICAgZXhwZWN0KG5pYy5wcm9wcy5uZXR3b3JrU2VjdXJpdHlHcm91cCkudG9FcXVhbChcbiAgICAgICAgcHJvcHMubmV0d29ya1NlY3VyaXR5R3JvdXAsXG4gICAgICApO1xuICAgICAgZXhwZWN0KG5pYy5wcm9wcy5lbmFibGVBY2NlbGVyYXRlZE5ldHdvcmtpbmcpLnRvQmUodHJ1ZSk7XG4gICAgICBleHBlY3QobmljLnByb3BzLmVuYWJsZUlQRm9yd2FyZGluZykudG9CZSh0cnVlKTtcbiAgICAgIGV4cGVjdChuaWMucHJvcHMuZG5zU2V0dGluZ3MpLnRvRXF1YWwocHJvcHMuZG5zU2V0dGluZ3MpO1xuICAgICAgZXhwZWN0KG5pYy5wcm9wcy50YWdzKS50b0VxdWFsKHByb3BzLnRhZ3MpO1xuICAgIH0pO1xuXG4gICAgaXQoXCJzaG91bGQgdXNlIGRlZmF1bHQgbmFtZSB3aGVuIG5hbWUgaXMgbm90IHByb3ZpZGVkXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IHByb3BzOiBOZXR3b3JrSW50ZXJmYWNlUHJvcHMgPSB7XG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBpcENvbmZpZ3VyYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJpcGNvbmZpZzFcIixcbiAgICAgICAgICAgIHN1Ym5ldDogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3N1Ym5ldHMvc3VibmV0MVwiIH0sXG4gICAgICAgICAgICBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kOiBcIkR5bmFtaWNcIixcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IG5pYyA9IG5ldyBOZXR3b3JrSW50ZXJmYWNlKHN0YWNrLCBcIlRlc3ROSUNcIiwgcHJvcHMpO1xuXG4gICAgICBleHBlY3QobmljLm5hbWUpLnRvQmUoXCJUZXN0TklDXCIpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZShcIlJlc291cmNlIFR5cGUgYW5kIEFQSSBWZXJzaW9uc1wiLCAoKSA9PiB7XG4gICAgaXQoXCJzaG91bGQgaGF2ZSBjb3JyZWN0IHJlc291cmNlIHR5cGVcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgbmljID0gbmV3IE5ldHdvcmtJbnRlcmZhY2Uoc3RhY2ssIFwiVGVzdE5JQ1wiLCB7XG4gICAgICAgIG5hbWU6IFwidGVzdC1uaWNcIixcbiAgICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICAgIGlwQ29uZmlndXJhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImlwY29uZmlnMVwiLFxuICAgICAgICAgICAgc3VibmV0OiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qvc3VibmV0cy9zdWJuZXQxXCIgfSxcbiAgICAgICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6IFwiRHluYW1pY1wiLFxuICAgICAgICAgICAgcHJpbWFyeTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChuaWMpLnRvQmVJbnN0YW5jZU9mKE5ldHdvcmtJbnRlcmZhY2UpO1xuICAgIH0pO1xuXG4gICAgaXQoXCJzaG91bGQgc3VwcG9ydCBhbGwgcmVnaXN0ZXJlZCBBUEkgdmVyc2lvbnNcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgdmVyc2lvbnMgPSBbXCIyMDI0LTA3LTAxXCIsIFwiMjAyNC0xMC0wMVwiXTtcblxuICAgICAgdmVyc2lvbnMuZm9yRWFjaCgodmVyc2lvbikgPT4ge1xuICAgICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShcbiAgICAgICAgICBzdGFjayxcbiAgICAgICAgICBgTklDLSR7dmVyc2lvbi5yZXBsYWNlKC8tL2csIFwiXCIpfWAsXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogYG5pYy0ke3ZlcnNpb259YCxcbiAgICAgICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICAgICAgYXBpVmVyc2lvbjogdmVyc2lvbixcbiAgICAgICAgICAgIGlwQ29uZmlndXJhdGlvbnM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiaXBjb25maWcxXCIsXG4gICAgICAgICAgICAgICAgc3VibmV0OiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qvc3VibmV0cy9zdWJuZXQxXCIgfSxcbiAgICAgICAgICAgICAgICBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kOiBcIkR5bmFtaWNcIixcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuXG4gICAgICAgIGV4cGVjdChuaWMucmVzb2x2ZWRBcGlWZXJzaW9uKS50b0JlKHZlcnNpb24pO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCB1c2UgbGF0ZXN0IHZlcnNpb24gYXMgZGVmYXVsdFwiLCAoKSA9PiB7XG4gICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJUZXN0TklDXCIsIHtcbiAgICAgICAgbmFtZTogXCJ0ZXN0LW5pY1wiLFxuICAgICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgICAgaXBDb25maWd1cmF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiaXBjb25maWcxXCIsXG4gICAgICAgICAgICBzdWJuZXQ6IHsgaWQ6IFwiL3N1YnNjcmlwdGlvbnMvdGVzdC9zdWJuZXRzL3N1Ym5ldDFcIiB9LFxuICAgICAgICAgICAgcHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZDogXCJEeW5hbWljXCIsXG4gICAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KG5pYy5yZXNvbHZlZEFwaVZlcnNpb24pLnRvQmUoXCIyMDI0LTEwLTAxXCIpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZShcIklQIENvbmZpZ3VyYXRpb25cIiwgKCkgPT4ge1xuICAgIGl0KFwic2hvdWxkIGNyZWF0ZSBOSUMgd2l0aCBzaW5nbGUgZHluYW1pYyBJUCBjb25maWd1cmF0aW9uXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IG5pYyA9IG5ldyBOZXR3b3JrSW50ZXJmYWNlKHN0YWNrLCBcIlNpbmdsZUR5bmFtaWNcIiwge1xuICAgICAgICBuYW1lOiBcIm5pYy1zaW5nbGUtZHluYW1pY1wiLFxuICAgICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgICAgaXBDb25maWd1cmF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiaXBjb25maWcxXCIsXG4gICAgICAgICAgICBzdWJuZXQ6IHsgaWQ6IFwiL3N1YnNjcmlwdGlvbnMvdGVzdC9zdWJuZXRzL3N1Ym5ldDFcIiB9LFxuICAgICAgICAgICAgcHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZDogXCJEeW5hbWljXCIsXG4gICAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KG5pYy5wcm9wcy5pcENvbmZpZ3VyYXRpb25zKS50b0hhdmVMZW5ndGgoMSk7XG4gICAgICBleHBlY3QobmljLnByb3BzLmlwQ29uZmlndXJhdGlvbnNbMF0ucHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZCkudG9CZShcbiAgICAgICAgXCJEeW5hbWljXCIsXG4gICAgICApO1xuICAgICAgZXhwZWN0KG5pYy5wcm9wcy5pcENvbmZpZ3VyYXRpb25zWzBdLnByaW1hcnkpLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCBjcmVhdGUgTklDIHdpdGggc3RhdGljIHByaXZhdGUgSVBcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgbmljID0gbmV3IE5ldHdvcmtJbnRlcmZhY2Uoc3RhY2ssIFwiU3RhdGljSVBcIiwge1xuICAgICAgICBuYW1lOiBcIm5pYy1zdGF0aWNcIixcbiAgICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICAgIGlwQ29uZmlndXJhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImlwY29uZmlnMVwiLFxuICAgICAgICAgICAgc3VibmV0OiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qvc3VibmV0cy9zdWJuZXQxXCIgfSxcbiAgICAgICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6IFwiU3RhdGljXCIsXG4gICAgICAgICAgICBwcml2YXRlSVBBZGRyZXNzOiBcIjEwLjAuMS40XCIsXG4gICAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KG5pYy5wcm9wcy5pcENvbmZpZ3VyYXRpb25zWzBdLnByaXZhdGVJUEFsbG9jYXRpb25NZXRob2QpLnRvQmUoXG4gICAgICAgIFwiU3RhdGljXCIsXG4gICAgICApO1xuICAgICAgZXhwZWN0KG5pYy5wcm9wcy5pcENvbmZpZ3VyYXRpb25zWzBdLnByaXZhdGVJUEFkZHJlc3MpLnRvQmUoXCIxMC4wLjEuNFwiKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGNyZWF0ZSBOSUMgd2l0aCBwdWJsaWMgSVAgYWRkcmVzc1wiLCAoKSA9PiB7XG4gICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJXaXRoUHVibGljSVBcIiwge1xuICAgICAgICBuYW1lOiBcIm5pYy1wdWJsaWMtaXBcIixcbiAgICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICAgIGlwQ29uZmlndXJhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImlwY29uZmlnMVwiLFxuICAgICAgICAgICAgc3VibmV0OiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qvc3VibmV0cy9zdWJuZXQxXCIgfSxcbiAgICAgICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6IFwiRHluYW1pY1wiLFxuICAgICAgICAgICAgcHVibGljSVBBZGRyZXNzOiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3QvcHVibGljSVBzL3BpcDFcIiB9LFxuICAgICAgICAgICAgcHJpbWFyeTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChuaWMucHJvcHMuaXBDb25maWd1cmF0aW9uc1swXS5wdWJsaWNJUEFkZHJlc3MpLnRvQmVEZWZpbmVkKCk7XG4gICAgICBleHBlY3QobmljLnByb3BzLmlwQ29uZmlndXJhdGlvbnNbMF0ucHVibGljSVBBZGRyZXNzPy5pZCkudG9CZShcbiAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3B1YmxpY0lQcy9waXAxXCIsXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoXCJzaG91bGQgY3JlYXRlIE5JQyB3aXRoIG11bHRpcGxlIElQIGNvbmZpZ3VyYXRpb25zXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IG5pYyA9IG5ldyBOZXR3b3JrSW50ZXJmYWNlKHN0YWNrLCBcIk11bHRpcGxlSVBzXCIsIHtcbiAgICAgICAgbmFtZTogXCJuaWMtbXVsdGlwbGUtaXBzXCIsXG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBpcENvbmZpZ3VyYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJpcGNvbmZpZzFcIixcbiAgICAgICAgICAgIHN1Ym5ldDogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3N1Ym5ldHMvc3VibmV0MVwiIH0sXG4gICAgICAgICAgICBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kOiBcIkR5bmFtaWNcIixcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImlwY29uZmlnMlwiLFxuICAgICAgICAgICAgc3VibmV0OiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qvc3VibmV0cy9zdWJuZXQxXCIgfSxcbiAgICAgICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6IFwiU3RhdGljXCIsXG4gICAgICAgICAgICBwcml2YXRlSVBBZGRyZXNzOiBcIjEwLjAuMS41XCIsXG4gICAgICAgICAgICBwcmltYXJ5OiBmYWxzZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChuaWMucHJvcHMuaXBDb25maWd1cmF0aW9ucykudG9IYXZlTGVuZ3RoKDIpO1xuICAgICAgZXhwZWN0KG5pYy5wcm9wcy5pcENvbmZpZ3VyYXRpb25zWzBdLnByaW1hcnkpLnRvQmUodHJ1ZSk7XG4gICAgICBleHBlY3QobmljLnByb3BzLmlwQ29uZmlndXJhdGlvbnNbMV0ucHJpbWFyeSkudG9CZShmYWxzZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKFwiTmV0d29yayBTZWN1cml0eSBHcm91cCBBc3NvY2lhdGlvblwiLCAoKSA9PiB7XG4gICAgaXQoXCJzaG91bGQgY3JlYXRlIE5JQyB3aXRoIE5TRyBhdHRhY2hlZFwiLCAoKSA9PiB7XG4gICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJXaXRoTlNHXCIsIHtcbiAgICAgICAgbmFtZTogXCJuaWMtd2l0aC1uc2dcIixcbiAgICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICAgIGlwQ29uZmlndXJhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImlwY29uZmlnMVwiLFxuICAgICAgICAgICAgc3VibmV0OiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qvc3VibmV0cy9zdWJuZXQxXCIgfSxcbiAgICAgICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6IFwiRHluYW1pY1wiLFxuICAgICAgICAgICAgcHJpbWFyeTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBuZXR3b3JrU2VjdXJpdHlHcm91cDogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L25zZ3MvbnNnMVwiIH0sXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KG5pYy5wcm9wcy5uZXR3b3JrU2VjdXJpdHlHcm91cCkudG9CZURlZmluZWQoKTtcbiAgICAgIGV4cGVjdChuaWMucHJvcHMubmV0d29ya1NlY3VyaXR5R3JvdXA/LmlkKS50b0JlKFxuICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3QvbnNncy9uc2cxXCIsXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoXCJzaG91bGQgY3JlYXRlIE5JQyB3aXRob3V0IE5TR1wiLCAoKSA9PiB7XG4gICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJXaXRob3V0TlNHXCIsIHtcbiAgICAgICAgbmFtZTogXCJuaWMtbm8tbnNnXCIsXG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBpcENvbmZpZ3VyYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJpcGNvbmZpZzFcIixcbiAgICAgICAgICAgIHN1Ym5ldDogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3N1Ym5ldHMvc3VibmV0MVwiIH0sXG4gICAgICAgICAgICBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kOiBcIkR5bmFtaWNcIixcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QobmljLnByb3BzLm5ldHdvcmtTZWN1cml0eUdyb3VwKS50b0JlVW5kZWZpbmVkKCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKFwiQWNjZWxlcmF0ZWQgTmV0d29ya2luZ1wiLCAoKSA9PiB7XG4gICAgaXQoXCJzaG91bGQgY3JlYXRlIE5JQyB3aXRoIGFjY2VsZXJhdGVkIG5ldHdvcmtpbmcgZW5hYmxlZFwiLCAoKSA9PiB7XG4gICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJBY2NlbGVyYXRlZE5ldHdvcmtpbmdcIiwge1xuICAgICAgICBuYW1lOiBcIm5pYy1hY2NlbGVyYXRlZFwiLFxuICAgICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgICAgaXBDb25maWd1cmF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiaXBjb25maWcxXCIsXG4gICAgICAgICAgICBzdWJuZXQ6IHsgaWQ6IFwiL3N1YnNjcmlwdGlvbnMvdGVzdC9zdWJuZXRzL3N1Ym5ldDFcIiB9LFxuICAgICAgICAgICAgcHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZDogXCJEeW5hbWljXCIsXG4gICAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIGVuYWJsZUFjY2VsZXJhdGVkTmV0d29ya2luZzogdHJ1ZSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QobmljLnByb3BzLmVuYWJsZUFjY2VsZXJhdGVkTmV0d29ya2luZykudG9CZSh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGRlZmF1bHQgYWNjZWxlcmF0ZWQgbmV0d29ya2luZyB0byBmYWxzZVwiLCAoKSA9PiB7XG4gICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJEZWZhdWx0QWNjZWxlcmF0ZWRcIiwge1xuICAgICAgICBuYW1lOiBcIm5pYy1kZWZhdWx0LWFjY2VsZXJhdGVkXCIsXG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBpcENvbmZpZ3VyYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJpcGNvbmZpZzFcIixcbiAgICAgICAgICAgIHN1Ym5ldDogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3N1Ym5ldHMvc3VibmV0MVwiIH0sXG4gICAgICAgICAgICBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kOiBcIkR5bmFtaWNcIixcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QobmljLnByb3BzLmVuYWJsZUFjY2VsZXJhdGVkTmV0d29ya2luZykudG9CZVVuZGVmaW5lZCgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZShcIklQIEZvcndhcmRpbmdcIiwgKCkgPT4ge1xuICAgIGl0KFwic2hvdWxkIGNyZWF0ZSBOSUMgd2l0aCBJUCBmb3J3YXJkaW5nIGVuYWJsZWQgKGZvciBOVkFzKVwiLCAoKSA9PiB7XG4gICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJJUEZvcndhcmRpbmdcIiwge1xuICAgICAgICBuYW1lOiBcIm5pYy1pcC1mb3J3YXJkaW5nXCIsXG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBpcENvbmZpZ3VyYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJpcGNvbmZpZzFcIixcbiAgICAgICAgICAgIHN1Ym5ldDogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3N1Ym5ldHMvc3VibmV0MVwiIH0sXG4gICAgICAgICAgICBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kOiBcIkR5bmFtaWNcIixcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgZW5hYmxlSVBGb3J3YXJkaW5nOiB0cnVlLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChuaWMucHJvcHMuZW5hYmxlSVBGb3J3YXJkaW5nKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoXCJzaG91bGQgZGVmYXVsdCBJUCBmb3J3YXJkaW5nIHRvIGZhbHNlXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IG5pYyA9IG5ldyBOZXR3b3JrSW50ZXJmYWNlKHN0YWNrLCBcIkRlZmF1bHRJUEZvcndhcmRpbmdcIiwge1xuICAgICAgICBuYW1lOiBcIm5pYy1kZWZhdWx0LWZvcndhcmRpbmdcIixcbiAgICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICAgIGlwQ29uZmlndXJhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImlwY29uZmlnMVwiLFxuICAgICAgICAgICAgc3VibmV0OiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qvc3VibmV0cy9zdWJuZXQxXCIgfSxcbiAgICAgICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6IFwiRHluYW1pY1wiLFxuICAgICAgICAgICAgcHJpbWFyeTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChuaWMucHJvcHMuZW5hYmxlSVBGb3J3YXJkaW5nKS50b0JlVW5kZWZpbmVkKCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKFwiRE5TIFNldHRpbmdzIENvbmZpZ3VyYXRpb25cIiwgKCkgPT4ge1xuICAgIGl0KFwic2hvdWxkIGNyZWF0ZSBOSUMgd2l0aCBjdXN0b20gRE5TIHNlcnZlcnNcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgbmljID0gbmV3IE5ldHdvcmtJbnRlcmZhY2Uoc3RhY2ssIFwiQ3VzdG9tRE5TXCIsIHtcbiAgICAgICAgbmFtZTogXCJuaWMtZG5zXCIsXG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBpcENvbmZpZ3VyYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJpcGNvbmZpZzFcIixcbiAgICAgICAgICAgIHN1Ym5ldDogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3N1Ym5ldHMvc3VibmV0MVwiIH0sXG4gICAgICAgICAgICBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kOiBcIkR5bmFtaWNcIixcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgZG5zU2V0dGluZ3M6IHtcbiAgICAgICAgICBkbnNTZXJ2ZXJzOiBbXCI4LjguOC44XCIsIFwiOC44LjQuNFwiXSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QobmljLnByb3BzLmRuc1NldHRpbmdzKS50b0JlRGVmaW5lZCgpO1xuICAgICAgZXhwZWN0KG5pYy5wcm9wcy5kbnNTZXR0aW5ncz8uZG5zU2VydmVycykudG9FcXVhbChbXCI4LjguOC44XCIsIFwiOC44LjQuNFwiXSk7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCBjcmVhdGUgTklDIHdpdGggaW50ZXJuYWwgRE5TIG5hbWUgbGFiZWxcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgbmljID0gbmV3IE5ldHdvcmtJbnRlcmZhY2Uoc3RhY2ssIFwiSW50ZXJuYWxETlNcIiwge1xuICAgICAgICBuYW1lOiBcIm5pYy1pbnRlcm5hbC1kbnNcIixcbiAgICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICAgIGlwQ29uZmlndXJhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImlwY29uZmlnMVwiLFxuICAgICAgICAgICAgc3VibmV0OiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qvc3VibmV0cy9zdWJuZXQxXCIgfSxcbiAgICAgICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6IFwiRHluYW1pY1wiLFxuICAgICAgICAgICAgcHJpbWFyeTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBkbnNTZXR0aW5nczoge1xuICAgICAgICAgIGludGVybmFsRG5zTmFtZUxhYmVsOiBcIm15dm1cIixcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QobmljLnByb3BzLmRuc1NldHRpbmdzPy5pbnRlcm5hbERuc05hbWVMYWJlbCkudG9CZShcIm15dm1cIik7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCBjcmVhdGUgTklDIHdpdGhvdXQgRE5TIHNldHRpbmdzXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IG5pYyA9IG5ldyBOZXR3b3JrSW50ZXJmYWNlKHN0YWNrLCBcIk5vRE5TXCIsIHtcbiAgICAgICAgbmFtZTogXCJuaWMtbm8tZG5zXCIsXG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBpcENvbmZpZ3VyYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJpcGNvbmZpZzFcIixcbiAgICAgICAgICAgIHN1Ym5ldDogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3N1Ym5ldHMvc3VibmV0MVwiIH0sXG4gICAgICAgICAgICBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kOiBcIkR5bmFtaWNcIixcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QobmljLnByb3BzLmRuc1NldHRpbmdzKS50b0JlVW5kZWZpbmVkKCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKFwiVGFncyBNYW5hZ2VtZW50XCIsICgpID0+IHtcbiAgICBpdChcInNob3VsZCBjcmVhdGUgTklDIHdpdGggdGFnc1wiLCAoKSA9PiB7XG4gICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJUYWdnZWROSUNcIiwge1xuICAgICAgICBuYW1lOiBcIm5pYy10YWdnZWRcIixcbiAgICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICAgIGlwQ29uZmlndXJhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImlwY29uZmlnMVwiLFxuICAgICAgICAgICAgc3VibmV0OiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qvc3VibmV0cy9zdWJuZXQxXCIgfSxcbiAgICAgICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6IFwiRHluYW1pY1wiLFxuICAgICAgICAgICAgcHJpbWFyeTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICB0YWdzOiB7XG4gICAgICAgICAgZW52aXJvbm1lbnQ6IFwicHJvZHVjdGlvblwiLFxuICAgICAgICAgIGNvc3RfY2VudGVyOiBcImVuZ2luZWVyaW5nXCIsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KG5pYy5wcm9wcy50YWdzKS50b0VxdWFsKHtcbiAgICAgICAgZW52aXJvbm1lbnQ6IFwicHJvZHVjdGlvblwiLFxuICAgICAgICBjb3N0X2NlbnRlcjogXCJlbmdpbmVlcmluZ1wiLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCBzdXBwb3J0IGFkZGluZyB0YWdzXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IG5pYyA9IG5ldyBOZXR3b3JrSW50ZXJmYWNlKHN0YWNrLCBcIkFkZFRhZ1wiLCB7XG4gICAgICAgIG5hbWU6IFwibmljLWFkZC10YWdcIixcbiAgICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICAgIGlwQ29uZmlndXJhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImlwY29uZmlnMVwiLFxuICAgICAgICAgICAgc3VibmV0OiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qvc3VibmV0cy9zdWJuZXQxXCIgfSxcbiAgICAgICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6IFwiRHluYW1pY1wiLFxuICAgICAgICAgICAgcHJpbWFyeTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICB0YWdzOiB7IGVudmlyb25tZW50OiBcInRlc3RcIiB9LFxuICAgICAgfSk7XG5cbiAgICAgIG5pYy5hZGRUYWcoXCJuZXdUYWdcIiwgXCJuZXdWYWx1ZVwiKTtcbiAgICAgIGV4cGVjdChuaWMucHJvcHMudGFncyEubmV3VGFnKS50b0JlKFwibmV3VmFsdWVcIik7XG4gICAgICBleHBlY3QobmljLnByb3BzLnRhZ3MhLmVudmlyb25tZW50KS50b0JlKFwidGVzdFwiKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIHN1cHBvcnQgcmVtb3ZpbmcgdGFnc1wiLCAoKSA9PiB7XG4gICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJSZW1vdmVUYWdcIiwge1xuICAgICAgICBuYW1lOiBcIm5pYy1yZW1vdmUtdGFnXCIsXG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBpcENvbmZpZ3VyYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJpcGNvbmZpZzFcIixcbiAgICAgICAgICAgIHN1Ym5ldDogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3N1Ym5ldHMvc3VibmV0MVwiIH0sXG4gICAgICAgICAgICBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kOiBcIkR5bmFtaWNcIixcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgdGFnczoge1xuICAgICAgICAgIGVudmlyb25tZW50OiBcInRlc3RcIixcbiAgICAgICAgICB0ZW1wb3Jhcnk6IFwidHJ1ZVwiLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIG5pYy5yZW1vdmVUYWcoXCJ0ZW1wb3JhcnlcIik7XG4gICAgICBleHBlY3QobmljLnByb3BzLnRhZ3MhLnRlbXBvcmFyeSkudG9CZVVuZGVmaW5lZCgpO1xuICAgICAgZXhwZWN0KG5pYy5wcm9wcy50YWdzIS5lbnZpcm9ubWVudCkudG9CZShcInRlc3RcIik7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKFwiVGVycmFmb3JtIE91dHB1dHNcIiwgKCkgPT4ge1xuICAgIGl0KFwic2hvdWxkIGNyZWF0ZSBUZXJyYWZvcm0gb3V0cHV0c1wiLCAoKSA9PiB7XG4gICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJPdXRwdXRUZXN0XCIsIHtcbiAgICAgICAgbmFtZTogXCJuaWMtb3V0cHV0c1wiLFxuICAgICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgICAgaXBDb25maWd1cmF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiaXBjb25maWcxXCIsXG4gICAgICAgICAgICBzdWJuZXQ6IHsgaWQ6IFwiL3N1YnNjcmlwdGlvbnMvdGVzdC9zdWJuZXRzL3N1Ym5ldDFcIiB9LFxuICAgICAgICAgICAgcHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZDogXCJEeW5hbWljXCIsXG4gICAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KG5pYy5pZE91dHB1dCkudG9CZUluc3RhbmNlT2YoY2RrdGYuVGVycmFmb3JtT3V0cHV0KTtcbiAgICAgIGV4cGVjdChuaWMubmFtZU91dHB1dCkudG9CZUluc3RhbmNlT2YoY2RrdGYuVGVycmFmb3JtT3V0cHV0KTtcbiAgICAgIGV4cGVjdChuaWMubG9jYXRpb25PdXRwdXQpLnRvQmVJbnN0YW5jZU9mKGNka3RmLlRlcnJhZm9ybU91dHB1dCk7XG4gICAgICBleHBlY3QobmljLnRhZ3NPdXRwdXQpLnRvQmVJbnN0YW5jZU9mKGNka3RmLlRlcnJhZm9ybU91dHB1dCk7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCBoYXZlIGNvcnJlY3QgaWQgZm9ybWF0XCIsICgpID0+IHtcbiAgICAgIGNvbnN0IG5pYyA9IG5ldyBOZXR3b3JrSW50ZXJmYWNlKHN0YWNrLCBcIklkRm9ybWF0XCIsIHtcbiAgICAgICAgbmFtZTogXCJuaWMtaWRcIixcbiAgICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICAgIGlwQ29uZmlndXJhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImlwY29uZmlnMVwiLFxuICAgICAgICAgICAgc3VibmV0OiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qvc3VibmV0cy9zdWJuZXQxXCIgfSxcbiAgICAgICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6IFwiRHluYW1pY1wiLFxuICAgICAgICAgICAgcHJpbWFyeTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChuaWMuaWQpLnRvTWF0Y2goL15cXCRcXHsuKlxcLmlkXFx9JC8pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZShcIlZlcnNpb24gQ29tcGF0aWJpbGl0eVwiLCAoKSA9PiB7XG4gICAgaXQoXCJzaG91bGQgd29yayB3aXRoIGFsbCBzdXBwb3J0ZWQgQVBJIHZlcnNpb25zXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IHZlcnNpb25zID0gW1wiMjAyNC0wNy0wMVwiLCBcIjIwMjQtMTAtMDFcIl07XG5cbiAgICAgIHZlcnNpb25zLmZvckVhY2goKHZlcnNpb24pID0+IHtcbiAgICAgICAgY29uc3QgbmljID0gbmV3IE5ldHdvcmtJbnRlcmZhY2UoXG4gICAgICAgICAgc3RhY2ssXG4gICAgICAgICAgYE5JQy0ke3ZlcnNpb24ucmVwbGFjZSgvLS9nLCBcIlwiKX1gLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IGBuaWMtJHt2ZXJzaW9ufWAsXG4gICAgICAgICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgICAgICAgIGFwaVZlcnNpb246IHZlcnNpb24sXG4gICAgICAgICAgICBpcENvbmZpZ3VyYXRpb25zOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcImlwY29uZmlnMVwiLFxuICAgICAgICAgICAgICAgIHN1Ym5ldDogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3N1Ym5ldHMvc3VibmV0MVwiIH0sXG4gICAgICAgICAgICAgICAgcHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZDogXCJEeW5hbWljXCIsXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogdHJ1ZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcblxuICAgICAgICBleHBlY3QobmljLnJlc29sdmVkQXBpVmVyc2lvbikudG9CZSh2ZXJzaW9uKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZShcIklnbm9yZSBDaGFuZ2VzIENvbmZpZ3VyYXRpb25cIiwgKCkgPT4ge1xuICAgIGl0KFwic2hvdWxkIGFwcGx5IGlnbm9yZSBjaGFuZ2VzIGxpZmVjeWNsZSBydWxlc1wiLCAoKSA9PiB7XG4gICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJJZ25vcmVDaGFuZ2VzXCIsIHtcbiAgICAgICAgbmFtZTogXCJuaWMtaWdub3JlXCIsXG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBpcENvbmZpZ3VyYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJpcGNvbmZpZzFcIixcbiAgICAgICAgICAgIHN1Ym5ldDogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3N1Ym5ldHMvc3VibmV0MVwiIH0sXG4gICAgICAgICAgICBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kOiBcIkR5bmFtaWNcIixcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgaWdub3JlQ2hhbmdlczogW1widGFnc1wiLCBcImRuc1NldHRpbmdzXCJdLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChuaWMpLnRvQmVJbnN0YW5jZU9mKE5ldHdvcmtJbnRlcmZhY2UpO1xuICAgICAgZXhwZWN0KG5pYy5wcm9wcy5pZ25vcmVDaGFuZ2VzKS50b0VxdWFsKFtcInRhZ3NcIiwgXCJkbnNTZXR0aW5nc1wiXSk7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCBoYW5kbGUgZW1wdHkgaWdub3JlIGNoYW5nZXMgYXJyYXlcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgbmljID0gbmV3IE5ldHdvcmtJbnRlcmZhY2Uoc3RhY2ssIFwiRW1wdHlJZ25vcmVcIiwge1xuICAgICAgICBuYW1lOiBcIm5pYy1lbXB0eS1pZ25vcmVcIixcbiAgICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICAgIGlwQ29uZmlndXJhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImlwY29uZmlnMVwiLFxuICAgICAgICAgICAgc3VibmV0OiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qvc3VibmV0cy9zdWJuZXQxXCIgfSxcbiAgICAgICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6IFwiRHluYW1pY1wiLFxuICAgICAgICAgICAgcHJpbWFyeTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBpZ25vcmVDaGFuZ2VzOiBbXSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QobmljKS50b0JlSW5zdGFuY2VPZihOZXR3b3JrSW50ZXJmYWNlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoXCJDREsgVGVycmFmb3JtIEludGVncmF0aW9uXCIsICgpID0+IHtcbiAgICBpdChcInNob3VsZCBzeW50aGVzaXplIHRvIHZhbGlkIFRlcnJhZm9ybSBjb25maWd1cmF0aW9uXCIsICgpID0+IHtcbiAgICAgIG5ldyBOZXR3b3JrSW50ZXJmYWNlKHN0YWNrLCBcIlN5bnRoVGVzdFwiLCB7XG4gICAgICAgIG5hbWU6IFwibmljLXN5bnRoXCIsXG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBpcENvbmZpZ3VyYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJpcGNvbmZpZzFcIixcbiAgICAgICAgICAgIHN1Ym5ldDogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3N1Ym5ldHMvc3VibmV0MVwiIH0sXG4gICAgICAgICAgICBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kOiBcIkR5bmFtaWNcIixcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgdGFnczogeyB0ZXN0OiBcInN5bnRoZXNpc1wiIH0sXG4gICAgICB9KTtcblxuICAgICAgY29uc3Qgc3ludGhlc2l6ZWQgPSBUZXN0aW5nLnN5bnRoKHN0YWNrKTtcbiAgICAgIGV4cGVjdChzeW50aGVzaXplZCkudG9CZURlZmluZWQoKTtcblxuICAgICAgY29uc3Qgc3RhY2tDb25maWcgPSBKU09OLnBhcnNlKHN5bnRoZXNpemVkKTtcbiAgICAgIGV4cGVjdChzdGFja0NvbmZpZy5yZXNvdXJjZSkudG9CZURlZmluZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGhhbmRsZSBtdWx0aXBsZSBOSUNzIGluIHRoZSBzYW1lIHN0YWNrXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IG5pYzEgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJOSUMxXCIsIHtcbiAgICAgICAgbmFtZTogXCJuaWMtMVwiLFxuICAgICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgICAgaXBDb25maWd1cmF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiaXBjb25maWcxXCIsXG4gICAgICAgICAgICBzdWJuZXQ6IHsgaWQ6IFwiL3N1YnNjcmlwdGlvbnMvdGVzdC9zdWJuZXRzL3N1Ym5ldDFcIiB9LFxuICAgICAgICAgICAgcHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZDogXCJEeW5hbWljXCIsXG4gICAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgbmljMiA9IG5ldyBOZXR3b3JrSW50ZXJmYWNlKHN0YWNrLCBcIk5JQzJcIiwge1xuICAgICAgICBuYW1lOiBcIm5pYy0yXCIsXG4gICAgICAgIGxvY2F0aW9uOiBcIndlc3R1c1wiLFxuICAgICAgICBhcGlWZXJzaW9uOiBcIjIwMjQtMDctMDFcIixcbiAgICAgICAgaXBDb25maWd1cmF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiaXBjb25maWcxXCIsXG4gICAgICAgICAgICBzdWJuZXQ6IHsgaWQ6IFwiL3N1YnNjcmlwdGlvbnMvdGVzdC9zdWJuZXRzL3N1Ym5ldDJcIiB9LFxuICAgICAgICAgICAgcHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZDogXCJTdGF0aWNcIixcbiAgICAgICAgICAgIHByaXZhdGVJUEFkZHJlc3M6IFwiMTAuMS4xLjRcIixcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QobmljMS5yZXNvbHZlZEFwaVZlcnNpb24pLnRvQmUoXCIyMDI0LTEwLTAxXCIpO1xuICAgICAgZXhwZWN0KG5pYzIucmVzb2x2ZWRBcGlWZXJzaW9uKS50b0JlKFwiMjAyNC0wNy0wMVwiKTtcblxuICAgICAgY29uc3Qgc3ludGhlc2l6ZWQgPSBUZXN0aW5nLnN5bnRoKHN0YWNrKTtcbiAgICAgIGV4cGVjdChzeW50aGVzaXplZCkudG9CZURlZmluZWQoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoXCJDb21wbGV0ZSBOZXR3b3JraW5nIFNjZW5hcmlvc1wiLCAoKSA9PiB7XG4gICAgaXQoXCJzaG91bGQgY3JlYXRlIFZNIE5JQyB3aXRoIGFsbCBuZXR3b3JraW5nIGNvbXBvbmVudHNcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgbmljID0gbmV3IE5ldHdvcmtJbnRlcmZhY2Uoc3RhY2ssIFwiQ29tcGxldGVOSUNcIiwge1xuICAgICAgICBuYW1lOiBcInZtLW5pYy1jb21wbGV0ZVwiLFxuICAgICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgICAgaXBDb25maWd1cmF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiaXBjb25maWcxXCIsXG4gICAgICAgICAgICBzdWJuZXQ6IHsgaWQ6IFwiL3N1YnNjcmlwdGlvbnMvdGVzdC9zdWJuZXRzL3N1Ym5ldDFcIiB9LFxuICAgICAgICAgICAgcHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZDogXCJTdGF0aWNcIixcbiAgICAgICAgICAgIHByaXZhdGVJUEFkZHJlc3M6IFwiMTAuMC4xLjRcIixcbiAgICAgICAgICAgIHB1YmxpY0lQQWRkcmVzczogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3B1YmxpY0lQcy9waXAxXCIgfSxcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgbmV0d29ya1NlY3VyaXR5R3JvdXA6IHsgaWQ6IFwiL3N1YnNjcmlwdGlvbnMvdGVzdC9uc2dzL25zZzFcIiB9LFxuICAgICAgICBlbmFibGVBY2NlbGVyYXRlZE5ldHdvcmtpbmc6IHRydWUsXG4gICAgICAgIGRuc1NldHRpbmdzOiB7XG4gICAgICAgICAgZG5zU2VydmVyczogW1wiMTAuMC4wLjRcIl0sXG4gICAgICAgICAgaW50ZXJuYWxEbnNOYW1lTGFiZWw6IFwibXl2bVwiLFxuICAgICAgICB9LFxuICAgICAgICB0YWdzOiB7XG4gICAgICAgICAgZW52aXJvbm1lbnQ6IFwicHJvZHVjdGlvblwiLFxuICAgICAgICAgIHJvbGU6IFwid2ViLXNlcnZlclwiLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChuaWMucHJvcHMuaXBDb25maWd1cmF0aW9uc1swXS5wdWJsaWNJUEFkZHJlc3MpLnRvQmVEZWZpbmVkKCk7XG4gICAgICBleHBlY3QobmljLnByb3BzLm5ldHdvcmtTZWN1cml0eUdyb3VwKS50b0JlRGVmaW5lZCgpO1xuICAgICAgZXhwZWN0KG5pYy5wcm9wcy5lbmFibGVBY2NlbGVyYXRlZE5ldHdvcmtpbmcpLnRvQmUodHJ1ZSk7XG4gICAgICBleHBlY3QobmljLnByb3BzLmRuc1NldHRpbmdzKS50b0JlRGVmaW5lZCgpO1xuICAgIH0pO1xuXG4gICAgaXQoXCJzaG91bGQgY3JlYXRlIE5WQSBOSUMgd2l0aCBJUCBmb3J3YXJkaW5nXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IG5pYyA9IG5ldyBOZXR3b3JrSW50ZXJmYWNlKHN0YWNrLCBcIk5WQU5JQ1wiLCB7XG4gICAgICAgIG5hbWU6IFwibnZhLW5pY1wiLFxuICAgICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgICAgaXBDb25maWd1cmF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiaXBjb25maWcxXCIsXG4gICAgICAgICAgICBzdWJuZXQ6IHsgaWQ6IFwiL3N1YnNjcmlwdGlvbnMvdGVzdC9zdWJuZXRzL3N1Ym5ldDFcIiB9LFxuICAgICAgICAgICAgcHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZDogXCJTdGF0aWNcIixcbiAgICAgICAgICAgIHByaXZhdGVJUEFkZHJlc3M6IFwiMTAuMC4xLjEwXCIsXG4gICAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIGVuYWJsZUlQRm9yd2FyZGluZzogdHJ1ZSxcbiAgICAgICAgZW5hYmxlQWNjZWxlcmF0ZWROZXR3b3JraW5nOiB0cnVlLFxuICAgICAgICB0YWdzOiB7XG4gICAgICAgICAgcm9sZTogXCJuZXR3b3JrLXZpcnR1YWwtYXBwbGlhbmNlXCIsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KG5pYy5wcm9wcy5lbmFibGVJUEZvcndhcmRpbmcpLnRvQmUodHJ1ZSk7XG4gICAgICBleHBlY3QobmljLnByb3BzLmVuYWJsZUFjY2VsZXJhdGVkTmV0d29ya2luZykudG9CZSh0cnVlKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
655
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay1pbnRlcmZhY2Uuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1uZXR3b3JraW50ZXJmYWNlL3Rlc3QvbmV0d29yay1pbnRlcmZhY2Uuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOztBQUVILGlDQUFnQztBQUNoQywrQkFBK0I7QUFDL0IsZ0VBR2tDO0FBRWxDLFFBQVEsQ0FBQyxtQ0FBbUMsRUFBRSxHQUFHLEVBQUU7SUFDakQsSUFBSSxHQUFjLENBQUM7SUFDbkIsSUFBSSxLQUEyQixDQUFDO0lBRWhDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxHQUFHLEdBQUcsZUFBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3JELENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLGtDQUFrQyxFQUFFLEdBQUcsRUFBRTtRQUNoRCxFQUFFLENBQUMsMEVBQTBFLEVBQUUsR0FBRyxFQUFFO1lBQ2xGLE1BQU0sS0FBSyxHQUEwQjtnQkFDbkMsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixnQkFBZ0IsRUFBRTtvQkFDaEI7d0JBQ0UsSUFBSSxFQUFFLFdBQVc7d0JBQ2pCLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxxQ0FBcUMsRUFBRTt3QkFDckQseUJBQXlCLEVBQUUsU0FBUzt3QkFDcEMsT0FBTyxFQUFFLElBQUk7cUJBQ2Q7aUJBQ0Y7YUFDRixDQUFDO1lBRUYsTUFBTSxHQUFHLEdBQUcsSUFBSSxvQ0FBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRTFELE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxjQUFjLENBQUMsb0NBQWdCLENBQUMsQ0FBQztZQUM3QyxNQUFNLENB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LENBQUM7WUFDaEQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb21wcmVoZW5zaXZlIHRlc3RzIGZvciB0aGUgTmV0d29yayBJbnRlcmZhY2UgaW1wbGVtZW50YXRpb25cbiAqXG4gKiBUaGlzIHRlc3Qgc3VpdGUgdmFsaWRhdGVzIHRoZSBOZXR3b3JrSW50ZXJmYWNlIGNsYXNzIHVzaW5nIHRoZSBBemFwaVJlc291cmNlIGZyYW1ld29yay5cbiAqIFRlc3RzIGNvdmVyIGF1dG9tYXRpYyB2ZXJzaW9uIHJlc29sdXRpb24sIGV4cGxpY2l0IHZlcnNpb24gcGlubmluZywgc2NoZW1hIHZhbGlkYXRpb24sXG4gKiBwcm9wZXJ0eSB0cmFuc2Zvcm1hdGlvbiwgYW5kIHJlc291cmNlIGNyZWF0aW9uLlxuICovXG5cbmltcG9ydCB7IFRlc3RpbmcgfSBmcm9tIFwiY2RrdG5cIjtcbmltcG9ydCAqIGFzIGNka3RuIGZyb20gXCJjZGt0blwiO1xuaW1wb3J0IHtcbiAgTmV0d29ya0ludGVyZmFjZSxcbiAgTmV0d29ya0ludGVyZmFjZVByb3BzLFxufSBmcm9tIFwiLi4vbGliL25ldHdvcmstaW50ZXJmYWNlXCI7XG5cbmRlc2NyaWJlKFwiTmV0d29ya0ludGVyZmFjZSAtIEltcGxlbWVudGF0aW9uXCIsICgpID0+IHtcbiAgbGV0IGFwcDogY2RrdG4uQXBwO1xuICBsZXQgc3RhY2s6IGNka3RuLlRlcnJhZm9ybVN0YWNrO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGFwcCA9IFRlc3RpbmcuYXBwKCk7XG4gICAgc3RhY2sgPSBuZXcgY2RrdG4uVGVycmFmb3JtU3RhY2soYXBwLCBcIlRlc3RTdGFja1wiKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoXCJDb25zdHJ1Y3RvciBhbmQgQmFzaWMgUHJvcGVydGllc1wiLCAoKSA9PiB7XG4gICAgaXQoXCJzaG91bGQgY3JlYXRlIG5ldHdvcmsgaW50ZXJmYWNlIHdpdGggYXV0b21hdGljIGxhdGVzdCB2ZXJzaW9uIHJlc29sdXRpb25cIiwgKCkgPT4ge1xuICAgICAgY29uc3QgcHJvcHM6IE5ldHdvcmtJbnRlcmZhY2VQcm9wcyA9IHtcbiAgICAgICAgbmFtZTogXCJ0ZXN0LW5pY1wiLFxuICAgICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgICAgaXBDb25maWd1cmF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiaXBjb25maWcxXCIsXG4gICAgICAgICAgICBzdWJuZXQ6IHsgaWQ6IFwiL3N1YnNjcmlwdGlvbnMvdGVzdC9zdWJuZXRzL3N1Ym5ldDFcIiB9LFxuICAgICAgICAgICAgcHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZDogXCJEeW5hbWljXCIsXG4gICAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJUZXN0TklDXCIsIHByb3BzKTtcblxuICAgICAgZXhwZWN0KG5pYykudG9CZUluc3RhbmNlT2YoTmV0d29ya0ludGVyZmFjZSk7XG4gICAgICBleHBlY3QobmljLnByb3BzKS50b0JlKHByb3BzKTtcbiAgICAgIGV4cGVjdChuaWMubmFtZSkudG9CZShcInRlc3QtbmljXCIpO1xuICAgICAgZXhwZWN0KG5pYy5sb2NhdGlvbikudG9CZShcImVhc3R1c1wiKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGNyZWF0ZSBuZXR3b3JrIGludGVyZmFjZSB3aXRoIGV4cGxpY2l0IHZlcnNpb24gcGlubmluZ1wiLCAoKSA9PiB7XG4gICAgICBjb25zdCBwcm9wczogTmV0d29ya0ludGVyZmFjZVByb3BzID0ge1xuICAgICAgICBuYW1lOiBcInRlc3QtbmljLXBpbm5lZFwiLFxuICAgICAgICBsb2NhdGlvbjogXCJ3ZXN0dXNcIixcbiAgICAgICAgYXBpVmVyc2lvbjogXCIyMDI0LTA3LTAxXCIsXG4gICAgICAgIGlwQ29uZmlndXJhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImlwY29uZmlnMVwiLFxuICAgICAgICAgICAgc3VibmV0OiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qvc3VibmV0cy9zdWJuZXQxXCIgfSxcbiAgICAgICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6IFwiRHluYW1pY1wiLFxuICAgICAgICAgICAgcHJpbWFyeTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICB0YWdzOiB7IGVudmlyb25tZW50OiBcInRlc3RcIiB9LFxuICAgICAgfTtcblxuICAgICAgY29uc3QgbmljID0gbmV3IE5ldHdvcmtJbnRlcmZhY2Uoc3RhY2ssIFwiVGVzdE5JQ1wiLCBwcm9wcyk7XG5cbiAgICAgIGV4cGVjdChuaWMucmVzb2x2ZWRBcGlWZXJzaW9uKS50b0JlKFwiMjAyNC0wNy0wMVwiKTtcbiAgICAgIGV4cGVjdChuaWMudGFncykudG9FcXVhbCh7IGVudmlyb25tZW50OiBcInRlc3RcIiB9KTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGNyZWF0ZSBuZXR3b3JrIGludGVyZmFjZSB3aXRoIGFsbCBvcHRpb25hbCBwcm9wZXJ0aWVzXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IHByb3BzOiBOZXR3b3JrSW50ZXJmYWNlUHJvcHMgPSB7XG4gICAgICAgIG5hbWU6IFwidGVzdC1uaWMtZnVsbFwiLFxuICAgICAgICBsb2NhdGlvbjogXCJjZW50cmFsdXNcIixcbiAgICAgICAgaXBDb25maWd1cmF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiaXBjb25maWcxXCIsXG4gICAgICAgICAgICBzdWJuZXQ6IHsgaWQ6IFwiL3N1YnNjcmlwdGlvbnMvdGVzdC9zdWJuZXRzL3N1Ym5ldDFcIiB9LFxuICAgICAgICAgICAgcHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZDogXCJTdGF0aWNcIixcbiAgICAgICAgICAgIHByaXZhdGVJUEFkZHJlc3M6IFwiMTAuMC4xLjRcIixcbiAgICAgICAgICAgIHB1YmxpY0lQQWRkcmVzczogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3B1YmxpY0lQcy9waXAxXCIgfSxcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgbmV0d29ya1NlY3VyaXR5R3JvdXA6IHsgaWQ6IFwiL3N1YnNjcmlwdGlvbnMvdGVzdC9uc2dzL25zZzFcIiB9LFxuICAgICAgICBlbmFibGVBY2NlbGVyYXRlZE5ldHdvcmtpbmc6IHRydWUsXG4gICAgICAgIGVuYWJsZUlQRm9yd2FyZGluZzogdHJ1ZSxcbiAgICAgICAgZG5zU2V0dGluZ3M6IHtcbiAgICAgICAgICBkbnNTZXJ2ZXJzOiBbXCIxMC4wLjAuNFwiLCBcIjEwLjAuMC41XCJdLFxuICAgICAgICAgIGludGVybmFsRG5zTmFtZUxhYmVsOiBcIm15dm1cIixcbiAgICAgICAgfSxcbiAgICAgICAgdGFnczoge1xuICAgICAgICAgIGVudmlyb25tZW50OiBcInByb2R1Y3Rpb25cIixcbiAgICAgICAgICBwcm9qZWN0OiBcIm5ldHdvcmtpbmdcIixcbiAgICAgICAgICBvd25lcjogXCJ0ZWFtQGNvbXBhbnkuY29tXCIsXG4gICAgICAgIH0sXG4gICAgICAgIGlnbm9yZUNoYW5nZXM6IFtcInRhZ3NcIl0sXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJUZXN0TklDXCIsIHByb3BzKTtcblxuICAgICAgZXhwZWN0KG5pYy5wcm9wcy5pcENvbmZpZ3VyYXRpb25zKS50b0VxdWFsKHByb3BzLmlwQ29uZmlndXJhdGlvbnMpO1xuICAgICAgZXhwZWN0KG5pYy5wcm9wcy5uZXR3b3JrU2VjdXJpdHlHcm91cCkudG9FcXVhbChcbiAgICAgICAgcHJvcHMubmV0d29ya1NlY3VyaXR5R3JvdXAsXG4gICAgICApO1xuICAgICAgZXhwZWN0KG5pYy5wcm9wcy5lbmFibGVBY2NlbGVyYXRlZE5ldHdvcmtpbmcpLnRvQmUodHJ1ZSk7XG4gICAgICBleHBlY3QobmljLnByb3BzLmVuYWJsZUlQRm9yd2FyZGluZykudG9CZSh0cnVlKTtcbiAgICAgIGV4cGVjdChuaWMucHJvcHMuZG5zU2V0dGluZ3MpLnRvRXF1YWwocHJvcHMuZG5zU2V0dGluZ3MpO1xuICAgICAgZXhwZWN0KG5pYy5wcm9wcy50YWdzKS50b0VxdWFsKHByb3BzLnRhZ3MpO1xuICAgIH0pO1xuXG4gICAgaXQoXCJzaG91bGQgdXNlIGRlZmF1bHQgbmFtZSB3aGVuIG5hbWUgaXMgbm90IHByb3ZpZGVkXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IHByb3BzOiBOZXR3b3JrSW50ZXJmYWNlUHJvcHMgPSB7XG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBpcENvbmZpZ3VyYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJpcGNvbmZpZzFcIixcbiAgICAgICAgICAgIHN1Ym5ldDogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3N1Ym5ldHMvc3VibmV0MVwiIH0sXG4gICAgICAgICAgICBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kOiBcIkR5bmFtaWNcIixcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IG5pYyA9IG5ldyBOZXR3b3JrSW50ZXJmYWNlKHN0YWNrLCBcIlRlc3ROSUNcIiwgcHJvcHMpO1xuXG4gICAgICBleHBlY3QobmljLm5hbWUpLnRvQmUoXCJUZXN0TklDXCIpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZShcIlJlc291cmNlIFR5cGUgYW5kIEFQSSBWZXJzaW9uc1wiLCAoKSA9PiB7XG4gICAgaXQoXCJzaG91bGQgaGF2ZSBjb3JyZWN0IHJlc291cmNlIHR5cGVcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgbmljID0gbmV3IE5ldHdvcmtJbnRlcmZhY2Uoc3RhY2ssIFwiVGVzdE5JQ1wiLCB7XG4gICAgICAgIG5hbWU6IFwidGVzdC1uaWNcIixcbiAgICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICAgIGlwQ29uZmlndXJhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImlwY29uZmlnMVwiLFxuICAgICAgICAgICAgc3VibmV0OiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qvc3VibmV0cy9zdWJuZXQxXCIgfSxcbiAgICAgICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6IFwiRHluYW1pY1wiLFxuICAgICAgICAgICAgcHJpbWFyeTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChuaWMpLnRvQmVJbnN0YW5jZU9mKE5ldHdvcmtJbnRlcmZhY2UpO1xuICAgIH0pO1xuXG4gICAgaXQoXCJzaG91bGQgc3VwcG9ydCBhbGwgcmVnaXN0ZXJlZCBBUEkgdmVyc2lvbnNcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgdmVyc2lvbnMgPSBbXCIyMDI0LTA3LTAxXCIsIFwiMjAyNC0xMC0wMVwiXTtcblxuICAgICAgdmVyc2lvbnMuZm9yRWFjaCgodmVyc2lvbikgPT4ge1xuICAgICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShcbiAgICAgICAgICBzdGFjayxcbiAgICAgICAgICBgTklDLSR7dmVyc2lvbi5yZXBsYWNlKC8tL2csIFwiXCIpfWAsXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogYG5pYy0ke3ZlcnNpb259YCxcbiAgICAgICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICAgICAgYXBpVmVyc2lvbjogdmVyc2lvbixcbiAgICAgICAgICAgIGlwQ29uZmlndXJhdGlvbnM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiaXBjb25maWcxXCIsXG4gICAgICAgICAgICAgICAgc3VibmV0OiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qvc3VibmV0cy9zdWJuZXQxXCIgfSxcbiAgICAgICAgICAgICAgICBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kOiBcIkR5bmFtaWNcIixcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuXG4gICAgICAgIGV4cGVjdChuaWMucmVzb2x2ZWRBcGlWZXJzaW9uKS50b0JlKHZlcnNpb24pO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCB1c2UgbGF0ZXN0IHZlcnNpb24gYXMgZGVmYXVsdFwiLCAoKSA9PiB7XG4gICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJUZXN0TklDXCIsIHtcbiAgICAgICAgbmFtZTogXCJ0ZXN0LW5pY1wiLFxuICAgICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgICAgaXBDb25maWd1cmF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiaXBjb25maWcxXCIsXG4gICAgICAgICAgICBzdWJuZXQ6IHsgaWQ6IFwiL3N1YnNjcmlwdGlvbnMvdGVzdC9zdWJuZXRzL3N1Ym5ldDFcIiB9LFxuICAgICAgICAgICAgcHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZDogXCJEeW5hbWljXCIsXG4gICAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KG5pYy5yZXNvbHZlZEFwaVZlcnNpb24pLnRvQmUoXCIyMDI0LTEwLTAxXCIpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZShcIklQIENvbmZpZ3VyYXRpb25cIiwgKCkgPT4ge1xuICAgIGl0KFwic2hvdWxkIGNyZWF0ZSBOSUMgd2l0aCBzaW5nbGUgZHluYW1pYyBJUCBjb25maWd1cmF0aW9uXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IG5pYyA9IG5ldyBOZXR3b3JrSW50ZXJmYWNlKHN0YWNrLCBcIlNpbmdsZUR5bmFtaWNcIiwge1xuICAgICAgICBuYW1lOiBcIm5pYy1zaW5nbGUtZHluYW1pY1wiLFxuICAgICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgICAgaXBDb25maWd1cmF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiaXBjb25maWcxXCIsXG4gICAgICAgICAgICBzdWJuZXQ6IHsgaWQ6IFwiL3N1YnNjcmlwdGlvbnMvdGVzdC9zdWJuZXRzL3N1Ym5ldDFcIiB9LFxuICAgICAgICAgICAgcHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZDogXCJEeW5hbWljXCIsXG4gICAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KG5pYy5wcm9wcy5pcENvbmZpZ3VyYXRpb25zKS50b0hhdmVMZW5ndGgoMSk7XG4gICAgICBleHBlY3QobmljLnByb3BzLmlwQ29uZmlndXJhdGlvbnNbMF0ucHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZCkudG9CZShcbiAgICAgICAgXCJEeW5hbWljXCIsXG4gICAgICApO1xuICAgICAgZXhwZWN0KG5pYy5wcm9wcy5pcENvbmZpZ3VyYXRpb25zWzBdLnByaW1hcnkpLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCBjcmVhdGUgTklDIHdpdGggc3RhdGljIHByaXZhdGUgSVBcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgbmljID0gbmV3IE5ldHdvcmtJbnRlcmZhY2Uoc3RhY2ssIFwiU3RhdGljSVBcIiwge1xuICAgICAgICBuYW1lOiBcIm5pYy1zdGF0aWNcIixcbiAgICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICAgIGlwQ29uZmlndXJhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImlwY29uZmlnMVwiLFxuICAgICAgICAgICAgc3VibmV0OiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qvc3VibmV0cy9zdWJuZXQxXCIgfSxcbiAgICAgICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6IFwiU3RhdGljXCIsXG4gICAgICAgICAgICBwcml2YXRlSVBBZGRyZXNzOiBcIjEwLjAuMS40XCIsXG4gICAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KG5pYy5wcm9wcy5pcENvbmZpZ3VyYXRpb25zWzBdLnByaXZhdGVJUEFsbG9jYXRpb25NZXRob2QpLnRvQmUoXG4gICAgICAgIFwiU3RhdGljXCIsXG4gICAgICApO1xuICAgICAgZXhwZWN0KG5pYy5wcm9wcy5pcENvbmZpZ3VyYXRpb25zWzBdLnByaXZhdGVJUEFkZHJlc3MpLnRvQmUoXCIxMC4wLjEuNFwiKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGNyZWF0ZSBOSUMgd2l0aCBwdWJsaWMgSVAgYWRkcmVzc1wiLCAoKSA9PiB7XG4gICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJXaXRoUHVibGljSVBcIiwge1xuICAgICAgICBuYW1lOiBcIm5pYy1wdWJsaWMtaXBcIixcbiAgICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICAgIGlwQ29uZmlndXJhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImlwY29uZmlnMVwiLFxuICAgICAgICAgICAgc3VibmV0OiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qvc3VibmV0cy9zdWJuZXQxXCIgfSxcbiAgICAgICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6IFwiRHluYW1pY1wiLFxuICAgICAgICAgICAgcHVibGljSVBBZGRyZXNzOiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3QvcHVibGljSVBzL3BpcDFcIiB9LFxuICAgICAgICAgICAgcHJpbWFyeTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChuaWMucHJvcHMuaXBDb25maWd1cmF0aW9uc1swXS5wdWJsaWNJUEFkZHJlc3MpLnRvQmVEZWZpbmVkKCk7XG4gICAgICBleHBlY3QobmljLnByb3BzLmlwQ29uZmlndXJhdGlvbnNbMF0ucHVibGljSVBBZGRyZXNzPy5pZCkudG9CZShcbiAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3B1YmxpY0lQcy9waXAxXCIsXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoXCJzaG91bGQgY3JlYXRlIE5JQyB3aXRoIG11bHRpcGxlIElQIGNvbmZpZ3VyYXRpb25zXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IG5pYyA9IG5ldyBOZXR3b3JrSW50ZXJmYWNlKHN0YWNrLCBcIk11bHRpcGxlSVBzXCIsIHtcbiAgICAgICAgbmFtZTogXCJuaWMtbXVsdGlwbGUtaXBzXCIsXG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBpcENvbmZpZ3VyYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJpcGNvbmZpZzFcIixcbiAgICAgICAgICAgIHN1Ym5ldDogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3N1Ym5ldHMvc3VibmV0MVwiIH0sXG4gICAgICAgICAgICBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kOiBcIkR5bmFtaWNcIixcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImlwY29uZmlnMlwiLFxuICAgICAgICAgICAgc3VibmV0OiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qvc3VibmV0cy9zdWJuZXQxXCIgfSxcbiAgICAgICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6IFwiU3RhdGljXCIsXG4gICAgICAgICAgICBwcml2YXRlSVBBZGRyZXNzOiBcIjEwLjAuMS41XCIsXG4gICAgICAgICAgICBwcmltYXJ5OiBmYWxzZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChuaWMucHJvcHMuaXBDb25maWd1cmF0aW9ucykudG9IYXZlTGVuZ3RoKDIpO1xuICAgICAgZXhwZWN0KG5pYy5wcm9wcy5pcENvbmZpZ3VyYXRpb25zWzBdLnByaW1hcnkpLnRvQmUodHJ1ZSk7XG4gICAgICBleHBlY3QobmljLnByb3BzLmlwQ29uZmlndXJhdGlvbnNbMV0ucHJpbWFyeSkudG9CZShmYWxzZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKFwiTmV0d29yayBTZWN1cml0eSBHcm91cCBBc3NvY2lhdGlvblwiLCAoKSA9PiB7XG4gICAgaXQoXCJzaG91bGQgY3JlYXRlIE5JQyB3aXRoIE5TRyBhdHRhY2hlZFwiLCAoKSA9PiB7XG4gICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJXaXRoTlNHXCIsIHtcbiAgICAgICAgbmFtZTogXCJuaWMtd2l0aC1uc2dcIixcbiAgICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICAgIGlwQ29uZmlndXJhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImlwY29uZmlnMVwiLFxuICAgICAgICAgICAgc3VibmV0OiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qvc3VibmV0cy9zdWJuZXQxXCIgfSxcbiAgICAgICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6IFwiRHluYW1pY1wiLFxuICAgICAgICAgICAgcHJpbWFyeTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBuZXR3b3JrU2VjdXJpdHlHcm91cDogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L25zZ3MvbnNnMVwiIH0sXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KG5pYy5wcm9wcy5uZXR3b3JrU2VjdXJpdHlHcm91cCkudG9CZURlZmluZWQoKTtcbiAgICAgIGV4cGVjdChuaWMucHJvcHMubmV0d29ya1NlY3VyaXR5R3JvdXA/LmlkKS50b0JlKFxuICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3QvbnNncy9uc2cxXCIsXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoXCJzaG91bGQgY3JlYXRlIE5JQyB3aXRob3V0IE5TR1wiLCAoKSA9PiB7XG4gICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJXaXRob3V0TlNHXCIsIHtcbiAgICAgICAgbmFtZTogXCJuaWMtbm8tbnNnXCIsXG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBpcENvbmZpZ3VyYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJpcGNvbmZpZzFcIixcbiAgICAgICAgICAgIHN1Ym5ldDogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3N1Ym5ldHMvc3VibmV0MVwiIH0sXG4gICAgICAgICAgICBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kOiBcIkR5bmFtaWNcIixcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QobmljLnByb3BzLm5ldHdvcmtTZWN1cml0eUdyb3VwKS50b0JlVW5kZWZpbmVkKCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKFwiQWNjZWxlcmF0ZWQgTmV0d29ya2luZ1wiLCAoKSA9PiB7XG4gICAgaXQoXCJzaG91bGQgY3JlYXRlIE5JQyB3aXRoIGFjY2VsZXJhdGVkIG5ldHdvcmtpbmcgZW5hYmxlZFwiLCAoKSA9PiB7XG4gICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJBY2NlbGVyYXRlZE5ldHdvcmtpbmdcIiwge1xuICAgICAgICBuYW1lOiBcIm5pYy1hY2NlbGVyYXRlZFwiLFxuICAgICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgICAgaXBDb25maWd1cmF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiaXBjb25maWcxXCIsXG4gICAgICAgICAgICBzdWJuZXQ6IHsgaWQ6IFwiL3N1YnNjcmlwdGlvbnMvdGVzdC9zdWJuZXRzL3N1Ym5ldDFcIiB9LFxuICAgICAgICAgICAgcHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZDogXCJEeW5hbWljXCIsXG4gICAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIGVuYWJsZUFjY2VsZXJhdGVkTmV0d29ya2luZzogdHJ1ZSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QobmljLnByb3BzLmVuYWJsZUFjY2VsZXJhdGVkTmV0d29ya2luZykudG9CZSh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGRlZmF1bHQgYWNjZWxlcmF0ZWQgbmV0d29ya2luZyB0byBmYWxzZVwiLCAoKSA9PiB7XG4gICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJEZWZhdWx0QWNjZWxlcmF0ZWRcIiwge1xuICAgICAgICBuYW1lOiBcIm5pYy1kZWZhdWx0LWFjY2VsZXJhdGVkXCIsXG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBpcENvbmZpZ3VyYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJpcGNvbmZpZzFcIixcbiAgICAgICAgICAgIHN1Ym5ldDogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3N1Ym5ldHMvc3VibmV0MVwiIH0sXG4gICAgICAgICAgICBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kOiBcIkR5bmFtaWNcIixcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QobmljLnByb3BzLmVuYWJsZUFjY2VsZXJhdGVkTmV0d29ya2luZykudG9CZVVuZGVmaW5lZCgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZShcIklQIEZvcndhcmRpbmdcIiwgKCkgPT4ge1xuICAgIGl0KFwic2hvdWxkIGNyZWF0ZSBOSUMgd2l0aCBJUCBmb3J3YXJkaW5nIGVuYWJsZWQgKGZvciBOVkFzKVwiLCAoKSA9PiB7XG4gICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJJUEZvcndhcmRpbmdcIiwge1xuICAgICAgICBuYW1lOiBcIm5pYy1pcC1mb3J3YXJkaW5nXCIsXG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBpcENvbmZpZ3VyYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJpcGNvbmZpZzFcIixcbiAgICAgICAgICAgIHN1Ym5ldDogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3N1Ym5ldHMvc3VibmV0MVwiIH0sXG4gICAgICAgICAgICBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kOiBcIkR5bmFtaWNcIixcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgZW5hYmxlSVBGb3J3YXJkaW5nOiB0cnVlLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChuaWMucHJvcHMuZW5hYmxlSVBGb3J3YXJkaW5nKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoXCJzaG91bGQgZGVmYXVsdCBJUCBmb3J3YXJkaW5nIHRvIGZhbHNlXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IG5pYyA9IG5ldyBOZXR3b3JrSW50ZXJmYWNlKHN0YWNrLCBcIkRlZmF1bHRJUEZvcndhcmRpbmdcIiwge1xuICAgICAgICBuYW1lOiBcIm5pYy1kZWZhdWx0LWZvcndhcmRpbmdcIixcbiAgICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICAgIGlwQ29uZmlndXJhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImlwY29uZmlnMVwiLFxuICAgICAgICAgICAgc3VibmV0OiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qvc3VibmV0cy9zdWJuZXQxXCIgfSxcbiAgICAgICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6IFwiRHluYW1pY1wiLFxuICAgICAgICAgICAgcHJpbWFyeTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChuaWMucHJvcHMuZW5hYmxlSVBGb3J3YXJkaW5nKS50b0JlVW5kZWZpbmVkKCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKFwiRE5TIFNldHRpbmdzIENvbmZpZ3VyYXRpb25cIiwgKCkgPT4ge1xuICAgIGl0KFwic2hvdWxkIGNyZWF0ZSBOSUMgd2l0aCBjdXN0b20gRE5TIHNlcnZlcnNcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgbmljID0gbmV3IE5ldHdvcmtJbnRlcmZhY2Uoc3RhY2ssIFwiQ3VzdG9tRE5TXCIsIHtcbiAgICAgICAgbmFtZTogXCJuaWMtZG5zXCIsXG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBpcENvbmZpZ3VyYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJpcGNvbmZpZzFcIixcbiAgICAgICAgICAgIHN1Ym5ldDogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3N1Ym5ldHMvc3VibmV0MVwiIH0sXG4gICAgICAgICAgICBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kOiBcIkR5bmFtaWNcIixcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgZG5zU2V0dGluZ3M6IHtcbiAgICAgICAgICBkbnNTZXJ2ZXJzOiBbXCI4LjguOC44XCIsIFwiOC44LjQuNFwiXSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QobmljLnByb3BzLmRuc1NldHRpbmdzKS50b0JlRGVmaW5lZCgpO1xuICAgICAgZXhwZWN0KG5pYy5wcm9wcy5kbnNTZXR0aW5ncz8uZG5zU2VydmVycykudG9FcXVhbChbXCI4LjguOC44XCIsIFwiOC44LjQuNFwiXSk7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCBjcmVhdGUgTklDIHdpdGggaW50ZXJuYWwgRE5TIG5hbWUgbGFiZWxcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgbmljID0gbmV3IE5ldHdvcmtJbnRlcmZhY2Uoc3RhY2ssIFwiSW50ZXJuYWxETlNcIiwge1xuICAgICAgICBuYW1lOiBcIm5pYy1pbnRlcm5hbC1kbnNcIixcbiAgICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICAgIGlwQ29uZmlndXJhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImlwY29uZmlnMVwiLFxuICAgICAgICAgICAgc3VibmV0OiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qvc3VibmV0cy9zdWJuZXQxXCIgfSxcbiAgICAgICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6IFwiRHluYW1pY1wiLFxuICAgICAgICAgICAgcHJpbWFyeTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBkbnNTZXR0aW5nczoge1xuICAgICAgICAgIGludGVybmFsRG5zTmFtZUxhYmVsOiBcIm15dm1cIixcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QobmljLnByb3BzLmRuc1NldHRpbmdzPy5pbnRlcm5hbERuc05hbWVMYWJlbCkudG9CZShcIm15dm1cIik7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCBjcmVhdGUgTklDIHdpdGhvdXQgRE5TIHNldHRpbmdzXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IG5pYyA9IG5ldyBOZXR3b3JrSW50ZXJmYWNlKHN0YWNrLCBcIk5vRE5TXCIsIHtcbiAgICAgICAgbmFtZTogXCJuaWMtbm8tZG5zXCIsXG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBpcENvbmZpZ3VyYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJpcGNvbmZpZzFcIixcbiAgICAgICAgICAgIHN1Ym5ldDogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3N1Ym5ldHMvc3VibmV0MVwiIH0sXG4gICAgICAgICAgICBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kOiBcIkR5bmFtaWNcIixcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QobmljLnByb3BzLmRuc1NldHRpbmdzKS50b0JlVW5kZWZpbmVkKCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKFwiVGFncyBNYW5hZ2VtZW50XCIsICgpID0+IHtcbiAgICBpdChcInNob3VsZCBjcmVhdGUgTklDIHdpdGggdGFnc1wiLCAoKSA9PiB7XG4gICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJUYWdnZWROSUNcIiwge1xuICAgICAgICBuYW1lOiBcIm5pYy10YWdnZWRcIixcbiAgICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICAgIGlwQ29uZmlndXJhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImlwY29uZmlnMVwiLFxuICAgICAgICAgICAgc3VibmV0OiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qvc3VibmV0cy9zdWJuZXQxXCIgfSxcbiAgICAgICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6IFwiRHluYW1pY1wiLFxuICAgICAgICAgICAgcHJpbWFyeTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICB0YWdzOiB7XG4gICAgICAgICAgZW52aXJvbm1lbnQ6IFwicHJvZHVjdGlvblwiLFxuICAgICAgICAgIGNvc3RfY2VudGVyOiBcImVuZ2luZWVyaW5nXCIsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KG5pYy5wcm9wcy50YWdzKS50b0VxdWFsKHtcbiAgICAgICAgZW52aXJvbm1lbnQ6IFwicHJvZHVjdGlvblwiLFxuICAgICAgICBjb3N0X2NlbnRlcjogXCJlbmdpbmVlcmluZ1wiLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCBzdXBwb3J0IGFkZGluZyB0YWdzXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IG5pYyA9IG5ldyBOZXR3b3JrSW50ZXJmYWNlKHN0YWNrLCBcIkFkZFRhZ1wiLCB7XG4gICAgICAgIG5hbWU6IFwibmljLWFkZC10YWdcIixcbiAgICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICAgIGlwQ29uZmlndXJhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImlwY29uZmlnMVwiLFxuICAgICAgICAgICAgc3VibmV0OiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qvc3VibmV0cy9zdWJuZXQxXCIgfSxcbiAgICAgICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6IFwiRHluYW1pY1wiLFxuICAgICAgICAgICAgcHJpbWFyeTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICB0YWdzOiB7IGVudmlyb25tZW50OiBcInRlc3RcIiB9LFxuICAgICAgfSk7XG5cbiAgICAgIG5pYy5hZGRUYWcoXCJuZXdUYWdcIiwgXCJuZXdWYWx1ZVwiKTtcbiAgICAgIGV4cGVjdChuaWMucHJvcHMudGFncyEubmV3VGFnKS50b0JlKFwibmV3VmFsdWVcIik7XG4gICAgICBleHBlY3QobmljLnByb3BzLnRhZ3MhLmVudmlyb25tZW50KS50b0JlKFwidGVzdFwiKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIHN1cHBvcnQgcmVtb3ZpbmcgdGFnc1wiLCAoKSA9PiB7XG4gICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJSZW1vdmVUYWdcIiwge1xuICAgICAgICBuYW1lOiBcIm5pYy1yZW1vdmUtdGFnXCIsXG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBpcENvbmZpZ3VyYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJpcGNvbmZpZzFcIixcbiAgICAgICAgICAgIHN1Ym5ldDogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3N1Ym5ldHMvc3VibmV0MVwiIH0sXG4gICAgICAgICAgICBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kOiBcIkR5bmFtaWNcIixcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgdGFnczoge1xuICAgICAgICAgIGVudmlyb25tZW50OiBcInRlc3RcIixcbiAgICAgICAgICB0ZW1wb3Jhcnk6IFwidHJ1ZVwiLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIG5pYy5yZW1vdmVUYWcoXCJ0ZW1wb3JhcnlcIik7XG4gICAgICBleHBlY3QobmljLnByb3BzLnRhZ3MhLnRlbXBvcmFyeSkudG9CZVVuZGVmaW5lZCgpO1xuICAgICAgZXhwZWN0KG5pYy5wcm9wcy50YWdzIS5lbnZpcm9ubWVudCkudG9CZShcInRlc3RcIik7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKFwiVGVycmFmb3JtIE91dHB1dHNcIiwgKCkgPT4ge1xuICAgIGl0KFwic2hvdWxkIGNyZWF0ZSBUZXJyYWZvcm0gb3V0cHV0c1wiLCAoKSA9PiB7XG4gICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJPdXRwdXRUZXN0XCIsIHtcbiAgICAgICAgbmFtZTogXCJuaWMtb3V0cHV0c1wiLFxuICAgICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgICAgaXBDb25maWd1cmF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiaXBjb25maWcxXCIsXG4gICAgICAgICAgICBzdWJuZXQ6IHsgaWQ6IFwiL3N1YnNjcmlwdGlvbnMvdGVzdC9zdWJuZXRzL3N1Ym5ldDFcIiB9LFxuICAgICAgICAgICAgcHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZDogXCJEeW5hbWljXCIsXG4gICAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KG5pYy5pZE91dHB1dCkudG9CZUluc3RhbmNlT2YoY2RrdG4uVGVycmFmb3JtT3V0cHV0KTtcbiAgICAgIGV4cGVjdChuaWMubmFtZU91dHB1dCkudG9CZUluc3RhbmNlT2YoY2RrdG4uVGVycmFmb3JtT3V0cHV0KTtcbiAgICAgIGV4cGVjdChuaWMubG9jYXRpb25PdXRwdXQpLnRvQmVJbnN0YW5jZU9mKGNka3RuLlRlcnJhZm9ybU91dHB1dCk7XG4gICAgICBleHBlY3QobmljLnRhZ3NPdXRwdXQpLnRvQmVJbnN0YW5jZU9mKGNka3RuLlRlcnJhZm9ybU91dHB1dCk7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCBoYXZlIGNvcnJlY3QgaWQgZm9ybWF0XCIsICgpID0+IHtcbiAgICAgIGNvbnN0IG5pYyA9IG5ldyBOZXR3b3JrSW50ZXJmYWNlKHN0YWNrLCBcIklkRm9ybWF0XCIsIHtcbiAgICAgICAgbmFtZTogXCJuaWMtaWRcIixcbiAgICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICAgIGlwQ29uZmlndXJhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImlwY29uZmlnMVwiLFxuICAgICAgICAgICAgc3VibmV0OiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qvc3VibmV0cy9zdWJuZXQxXCIgfSxcbiAgICAgICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6IFwiRHluYW1pY1wiLFxuICAgICAgICAgICAgcHJpbWFyeTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChuaWMuaWQpLnRvTWF0Y2goL15cXCRcXHsuKlxcLmlkXFx9JC8pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZShcIlZlcnNpb24gQ29tcGF0aWJpbGl0eVwiLCAoKSA9PiB7XG4gICAgaXQoXCJzaG91bGQgd29yayB3aXRoIGFsbCBzdXBwb3J0ZWQgQVBJIHZlcnNpb25zXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IHZlcnNpb25zID0gW1wiMjAyNC0wNy0wMVwiLCBcIjIwMjQtMTAtMDFcIl07XG5cbiAgICAgIHZlcnNpb25zLmZvckVhY2goKHZlcnNpb24pID0+IHtcbiAgICAgICAgY29uc3QgbmljID0gbmV3IE5ldHdvcmtJbnRlcmZhY2UoXG4gICAgICAgICAgc3RhY2ssXG4gICAgICAgICAgYE5JQy0ke3ZlcnNpb24ucmVwbGFjZSgvLS9nLCBcIlwiKX1gLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IGBuaWMtJHt2ZXJzaW9ufWAsXG4gICAgICAgICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgICAgICAgIGFwaVZlcnNpb246IHZlcnNpb24sXG4gICAgICAgICAgICBpcENvbmZpZ3VyYXRpb25zOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcImlwY29uZmlnMVwiLFxuICAgICAgICAgICAgICAgIHN1Ym5ldDogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3N1Ym5ldHMvc3VibmV0MVwiIH0sXG4gICAgICAgICAgICAgICAgcHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZDogXCJEeW5hbWljXCIsXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogdHJ1ZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcblxuICAgICAgICBleHBlY3QobmljLnJlc29sdmVkQXBpVmVyc2lvbikudG9CZSh2ZXJzaW9uKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZShcIklnbm9yZSBDaGFuZ2VzIENvbmZpZ3VyYXRpb25cIiwgKCkgPT4ge1xuICAgIGl0KFwic2hvdWxkIGFwcGx5IGlnbm9yZSBjaGFuZ2VzIGxpZmVjeWNsZSBydWxlc1wiLCAoKSA9PiB7XG4gICAgICBjb25zdCBuaWMgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJJZ25vcmVDaGFuZ2VzXCIsIHtcbiAgICAgICAgbmFtZTogXCJuaWMtaWdub3JlXCIsXG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBpcENvbmZpZ3VyYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJpcGNvbmZpZzFcIixcbiAgICAgICAgICAgIHN1Ym5ldDogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3N1Ym5ldHMvc3VibmV0MVwiIH0sXG4gICAgICAgICAgICBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kOiBcIkR5bmFtaWNcIixcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgaWdub3JlQ2hhbmdlczogW1widGFnc1wiLCBcImRuc1NldHRpbmdzXCJdLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChuaWMpLnRvQmVJbnN0YW5jZU9mKE5ldHdvcmtJbnRlcmZhY2UpO1xuICAgICAgZXhwZWN0KG5pYy5wcm9wcy5pZ25vcmVDaGFuZ2VzKS50b0VxdWFsKFtcInRhZ3NcIiwgXCJkbnNTZXR0aW5nc1wiXSk7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCBoYW5kbGUgZW1wdHkgaWdub3JlIGNoYW5nZXMgYXJyYXlcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgbmljID0gbmV3IE5ldHdvcmtJbnRlcmZhY2Uoc3RhY2ssIFwiRW1wdHlJZ25vcmVcIiwge1xuICAgICAgICBuYW1lOiBcIm5pYy1lbXB0eS1pZ25vcmVcIixcbiAgICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICAgIGlwQ29uZmlndXJhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImlwY29uZmlnMVwiLFxuICAgICAgICAgICAgc3VibmV0OiB7IGlkOiBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qvc3VibmV0cy9zdWJuZXQxXCIgfSxcbiAgICAgICAgICAgIHByaXZhdGVJUEFsbG9jYXRpb25NZXRob2Q6IFwiRHluYW1pY1wiLFxuICAgICAgICAgICAgcHJpbWFyeTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBpZ25vcmVDaGFuZ2VzOiBbXSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QobmljKS50b0JlSW5zdGFuY2VPZihOZXR3b3JrSW50ZXJmYWNlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoXCJDREsgVGVycmFmb3JtIEludGVncmF0aW9uXCIsICgpID0+IHtcbiAgICBpdChcInNob3VsZCBzeW50aGVzaXplIHRvIHZhbGlkIFRlcnJhZm9ybSBjb25maWd1cmF0aW9uXCIsICgpID0+IHtcbiAgICAgIG5ldyBOZXR3b3JrSW50ZXJmYWNlKHN0YWNrLCBcIlN5bnRoVGVzdFwiLCB7XG4gICAgICAgIG5hbWU6IFwibmljLXN5bnRoXCIsXG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBpcENvbmZpZ3VyYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJpcGNvbmZpZzFcIixcbiAgICAgICAgICAgIHN1Ym5ldDogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3N1Ym5ldHMvc3VibmV0MVwiIH0sXG4gICAgICAgICAgICBwcml2YXRlSVBBbGxvY2F0aW9uTWV0aG9kOiBcIkR5bmFtaWNcIixcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgdGFnczogeyB0ZXN0OiBcInN5bnRoZXNpc1wiIH0sXG4gICAgICB9KTtcblxuICAgICAgY29uc3Qgc3ludGhlc2l6ZWQgPSBUZXN0aW5nLnN5bnRoKHN0YWNrKTtcbiAgICAgIGV4cGVjdChzeW50aGVzaXplZCkudG9CZURlZmluZWQoKTtcblxuICAgICAgY29uc3Qgc3RhY2tDb25maWcgPSBKU09OLnBhcnNlKHN5bnRoZXNpemVkKTtcbiAgICAgIGV4cGVjdChzdGFja0NvbmZpZy5yZXNvdXJjZSkudG9CZURlZmluZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGhhbmRsZSBtdWx0aXBsZSBOSUNzIGluIHRoZSBzYW1lIHN0YWNrXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IG5pYzEgPSBuZXcgTmV0d29ya0ludGVyZmFjZShzdGFjaywgXCJOSUMxXCIsIHtcbiAgICAgICAgbmFtZTogXCJuaWMtMVwiLFxuICAgICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgICAgaXBDb25maWd1cmF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiaXBjb25maWcxXCIsXG4gICAgICAgICAgICBzdWJuZXQ6IHsgaWQ6IFwiL3N1YnNjcmlwdGlvbnMvdGVzdC9zdWJuZXRzL3N1Ym5ldDFcIiB9LFxuICAgICAgICAgICAgcHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZDogXCJEeW5hbWljXCIsXG4gICAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgbmljMiA9IG5ldyBOZXR3b3JrSW50ZXJmYWNlKHN0YWNrLCBcIk5JQzJcIiwge1xuICAgICAgICBuYW1lOiBcIm5pYy0yXCIsXG4gICAgICAgIGxvY2F0aW9uOiBcIndlc3R1c1wiLFxuICAgICAgICBhcGlWZXJzaW9uOiBcIjIwMjQtMDctMDFcIixcbiAgICAgICAgaXBDb25maWd1cmF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiaXBjb25maWcxXCIsXG4gICAgICAgICAgICBzdWJuZXQ6IHsgaWQ6IFwiL3N1YnNjcmlwdGlvbnMvdGVzdC9zdWJuZXRzL3N1Ym5ldDJcIiB9LFxuICAgICAgICAgICAgcHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZDogXCJTdGF0aWNcIixcbiAgICAgICAgICAgIHByaXZhdGVJUEFkZHJlc3M6IFwiMTAuMS4xLjRcIixcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QobmljMS5yZXNvbHZlZEFwaVZlcnNpb24pLnRvQmUoXCIyMDI0LTEwLTAxXCIpO1xuICAgICAgZXhwZWN0KG5pYzIucmVzb2x2ZWRBcGlWZXJzaW9uKS50b0JlKFwiMjAyNC0wNy0wMVwiKTtcblxuICAgICAgY29uc3Qgc3ludGhlc2l6ZWQgPSBUZXN0aW5nLnN5bnRoKHN0YWNrKTtcbiAgICAgIGV4cGVjdChzeW50aGVzaXplZCkudG9CZURlZmluZWQoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoXCJDb21wbGV0ZSBOZXR3b3JraW5nIFNjZW5hcmlvc1wiLCAoKSA9PiB7XG4gICAgaXQoXCJzaG91bGQgY3JlYXRlIFZNIE5JQyB3aXRoIGFsbCBuZXR3b3JraW5nIGNvbXBvbmVudHNcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgbmljID0gbmV3IE5ldHdvcmtJbnRlcmZhY2Uoc3RhY2ssIFwiQ29tcGxldGVOSUNcIiwge1xuICAgICAgICBuYW1lOiBcInZtLW5pYy1jb21wbGV0ZVwiLFxuICAgICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgICAgaXBDb25maWd1cmF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiaXBjb25maWcxXCIsXG4gICAgICAgICAgICBzdWJuZXQ6IHsgaWQ6IFwiL3N1YnNjcmlwdGlvbnMvdGVzdC9zdWJuZXRzL3N1Ym5ldDFcIiB9LFxuICAgICAgICAgICAgcHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZDogXCJTdGF0aWNcIixcbiAgICAgICAgICAgIHByaXZhdGVJUEFkZHJlc3M6IFwiMTAuMC4xLjRcIixcbiAgICAgICAgICAgIHB1YmxpY0lQQWRkcmVzczogeyBpZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0L3B1YmxpY0lQcy9waXAxXCIgfSxcbiAgICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgbmV0d29ya1NlY3VyaXR5R3JvdXA6IHsgaWQ6IFwiL3N1YnNjcmlwdGlvbnMvdGVzdC9uc2dzL25zZzFcIiB9LFxuICAgICAgICBlbmFibGVBY2NlbGVyYXRlZE5ldHdvcmtpbmc6IHRydWUsXG4gICAgICAgIGRuc1NldHRpbmdzOiB7XG4gICAgICAgICAgZG5zU2VydmVyczogW1wiMTAuMC4wLjRcIl0sXG4gICAgICAgICAgaW50ZXJuYWxEbnNOYW1lTGFiZWw6IFwibXl2bVwiLFxuICAgICAgICB9LFxuICAgICAgICB0YWdzOiB7XG4gICAgICAgICAgZW52aXJvbm1lbnQ6IFwicHJvZHVjdGlvblwiLFxuICAgICAgICAgIHJvbGU6IFwid2ViLXNlcnZlclwiLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChuaWMucHJvcHMuaXBDb25maWd1cmF0aW9uc1swXS5wdWJsaWNJUEFkZHJlc3MpLnRvQmVEZWZpbmVkKCk7XG4gICAgICBleHBlY3QobmljLnByb3BzLm5ldHdvcmtTZWN1cml0eUdyb3VwKS50b0JlRGVmaW5lZCgpO1xuICAgICAgZXhwZWN0KG5pYy5wcm9wcy5lbmFibGVBY2NlbGVyYXRlZE5ldHdvcmtpbmcpLnRvQmUodHJ1ZSk7XG4gICAgICBleHBlY3QobmljLnByb3BzLmRuc1NldHRpbmdzKS50b0JlRGVmaW5lZCgpO1xuICAgIH0pO1xuXG4gICAgaXQoXCJzaG91bGQgY3JlYXRlIE5WQSBOSUMgd2l0aCBJUCBmb3J3YXJkaW5nXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IG5pYyA9IG5ldyBOZXR3b3JrSW50ZXJmYWNlKHN0YWNrLCBcIk5WQU5JQ1wiLCB7XG4gICAgICAgIG5hbWU6IFwibnZhLW5pY1wiLFxuICAgICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgICAgaXBDb25maWd1cmF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiaXBjb25maWcxXCIsXG4gICAgICAgICAgICBzdWJuZXQ6IHsgaWQ6IFwiL3N1YnNjcmlwdGlvbnMvdGVzdC9zdWJuZXRzL3N1Ym5ldDFcIiB9LFxuICAgICAgICAgICAgcHJpdmF0ZUlQQWxsb2NhdGlvbk1ldGhvZDogXCJTdGF0aWNcIixcbiAgICAgICAgICAgIHByaXZhdGVJUEFkZHJlc3M6IFwiMTAuMC4xLjEwXCIsXG4gICAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIGVuYWJsZUlQRm9yd2FyZGluZzogdHJ1ZSxcbiAgICAgICAgZW5hYmxlQWNjZWxlcmF0ZWROZXR3b3JraW5nOiB0cnVlLFxuICAgICAgICB0YWdzOiB7XG4gICAgICAgICAgcm9sZTogXCJuZXR3b3JrLXZpcnR1YWwtYXBwbGlhbmNlXCIsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KG5pYy5wcm9wcy5lbmFibGVJUEZvcndhcmRpbmcpLnRvQmUodHJ1ZSk7XG4gICAgICBleHBlY3QobmljLnByb3BzLmVuYWJsZUFjY2VsZXJhdGVkTmV0d29ya2luZykudG9CZSh0cnVlKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* - Full backward compatibility
|
|
18
18
|
* - JSII compliance for multi-language support
|
|
19
19
|
*/
|
|
20
|
-
import * as
|
|
20
|
+
import * as cdktn from "cdktn";
|
|
21
21
|
import { Construct } from "constructs";
|
|
22
22
|
import { AzapiResource, AzapiResourceProps } from "../../core-azure/lib/azapi/azapi-resource";
|
|
23
23
|
import { ApiSchema } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
|
|
@@ -187,11 +187,11 @@ export declare class NetworkSecurityGroup extends AzapiResource {
|
|
|
187
187
|
* The input properties for this Network Security Group instance
|
|
188
188
|
*/
|
|
189
189
|
readonly props: NetworkSecurityGroupProps;
|
|
190
|
-
readonly idOutput:
|
|
191
|
-
readonly nameOutput:
|
|
192
|
-
readonly locationOutput:
|
|
193
|
-
readonly securityRulesOutput:
|
|
194
|
-
readonly tagsOutput:
|
|
190
|
+
readonly idOutput: cdktn.TerraformOutput;
|
|
191
|
+
readonly nameOutput: cdktn.TerraformOutput;
|
|
192
|
+
readonly locationOutput: cdktn.TerraformOutput;
|
|
193
|
+
readonly securityRulesOutput: cdktn.TerraformOutput;
|
|
194
|
+
readonly tagsOutput: cdktn.TerraformOutput;
|
|
195
195
|
/**
|
|
196
196
|
* Creates a new Azure Network Security Group using the AzapiResource framework
|
|
197
197
|
*
|