@microsoft/terraform-cdk-constructs 1.10.0 → 2.5.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 +51855 -36874
- package/API.md +62102 -40530
- package/README.md +15 -0
- package/docs/azure-api-version-update-pipeline.md +271 -0
- 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-applicationinsights/lib/application-insights.d.ts +6 -6
- package/lib/azure-applicationinsights/lib/application-insights.js +8 -8
- package/lib/azure-applicationinsights/test/application-insights.integ.d.ts +1 -1
- package/lib/azure-applicationinsights/test/application-insights.integ.js +6 -6
- package/lib/azure-applicationinsights/test/application-insights.spec.js +5 -5
- package/lib/azure-containerapps/lib/container-app-environment.d.ts +8 -8
- package/lib/azure-containerapps/lib/container-app-environment.js +10 -10
- package/lib/azure-containerapps/lib/container-app.d.ts +9 -9
- package/lib/azure-containerapps/lib/container-app.js +11 -11
- package/lib/azure-containerapps/lib/container-apps-job-schemas.d.ts +8 -0
- package/lib/azure-containerapps/lib/container-apps-job-schemas.js +179 -0
- package/lib/azure-containerapps/lib/container-apps-job.d.ts +128 -0
- package/lib/azure-containerapps/lib/container-apps-job.js +81 -0
- package/lib/azure-containerapps/lib/index.d.ts +2 -0
- package/lib/azure-containerapps/lib/index.js +3 -1
- package/lib/azure-containerapps/test/container-app-environment.integ.d.ts +1 -1
- package/lib/azure-containerapps/test/container-app-environment.integ.js +5 -5
- package/lib/azure-containerapps/test/container-app-environment.spec.js +19 -19
- package/lib/azure-containerapps/test/container-app.integ.d.ts +1 -1
- package/lib/azure-containerapps/test/container-app.integ.js +5 -5
- package/lib/azure-containerapps/test/container-app.spec.js +30 -30
- package/lib/azure-containerapps/test/container-apps-job.integ.d.ts +6 -0
- package/lib/azure-containerapps/test/container-apps-job.integ.js +95 -0
- package/lib/azure-containerapps/test/container-apps-job.spec.d.ts +1 -0
- package/lib/azure-containerapps/test/container-apps-job.spec.js +261 -0
- package/lib/azure-containerregistry/lib/container-registry.d.ts +6 -6
- package/lib/azure-containerregistry/lib/container-registry.js +8 -8
- package/lib/azure-containerregistry/test/container-registry.integ.d.ts +1 -1
- package/lib/azure-containerregistry/test/container-registry.integ.js +5 -5
- package/lib/azure-containerregistry/test/container-registry.spec.js +11 -11
- package/lib/azure-cosmosdb/lib/cosmos-db.d.ts +6 -6
- package/lib/azure-cosmosdb/lib/cosmos-db.js +8 -8
- package/lib/azure-cosmosdb/test/cosmos-db.integ.d.ts +1 -1
- package/lib/azure-cosmosdb/test/cosmos-db.integ.js +5 -5
- package/lib/azure-cosmosdb/test/cosmos-db.spec.js +11 -11
- package/lib/azure-dataexplorer/index.d.ts +1 -0
- package/lib/azure-dataexplorer/index.js +18 -0
- package/lib/azure-dataexplorer/lib/data-explorer-cluster-schemas.d.ts +5 -0
- package/lib/azure-dataexplorer/lib/data-explorer-cluster-schemas.js +131 -0
- package/lib/azure-dataexplorer/lib/data-explorer-cluster.d.ts +54 -0
- package/lib/azure-dataexplorer/lib/data-explorer-cluster.js +91 -0
- package/lib/azure-dataexplorer/lib/data-explorer-database-schemas.d.ts +5 -0
- package/lib/azure-dataexplorer/lib/data-explorer-database-schemas.js +78 -0
- package/lib/azure-dataexplorer/lib/data-explorer-database.d.ts +24 -0
- package/lib/azure-dataexplorer/lib/data-explorer-database.js +68 -0
- package/lib/azure-dataexplorer/lib/data-explorer-table-schemas.d.ts +5 -0
- package/lib/azure-dataexplorer/lib/data-explorer-table-schemas.js +94 -0
- package/lib/azure-dataexplorer/lib/data-explorer-table.d.ts +25 -0
- package/lib/azure-dataexplorer/lib/data-explorer-table.js +62 -0
- package/lib/azure-dataexplorer/lib/index.d.ts +6 -0
- package/lib/azure-dataexplorer/lib/index.js +23 -0
- package/lib/azure-dataexplorer/test/data-explorer.integ.d.ts +1 -0
- package/lib/azure-dataexplorer/test/data-explorer.integ.js +78 -0
- package/lib/azure-dataexplorer/test/data-explorer.spec.d.ts +1 -0
- package/lib/azure-dataexplorer/test/data-explorer.spec.js +248 -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-eventgrideventsubscription/index.d.ts +1 -0
- package/lib/azure-eventgrideventsubscription/index.js +18 -0
- package/lib/azure-eventgrideventsubscription/lib/event-grid-event-subscription-schemas.d.ts +5 -0
- package/lib/azure-eventgrideventsubscription/lib/event-grid-event-subscription-schemas.js +151 -0
- package/lib/azure-eventgrideventsubscription/lib/event-grid-event-subscription.d.ts +59 -0
- package/lib/azure-eventgrideventsubscription/lib/event-grid-event-subscription.js +67 -0
- package/lib/azure-eventgrideventsubscription/lib/index.d.ts +2 -0
- package/lib/azure-eventgrideventsubscription/lib/index.js +19 -0
- package/lib/azure-eventgrideventsubscription/test/event-grid-event-subscription.integ.d.ts +1 -0
- package/lib/azure-eventgrideventsubscription/test/event-grid-event-subscription.integ.js +100 -0
- package/lib/azure-eventgrideventsubscription/test/event-grid-event-subscription.spec.d.ts +1 -0
- package/lib/azure-eventgrideventsubscription/test/event-grid-event-subscription.spec.js +242 -0
- package/lib/azure-eventgridsystemtopic/index.d.ts +1 -0
- package/lib/azure-eventgridsystemtopic/index.js +18 -0
- package/lib/azure-eventgridsystemtopic/lib/event-grid-system-topic-schemas.d.ts +5 -0
- package/lib/azure-eventgridsystemtopic/lib/event-grid-system-topic-schemas.js +164 -0
- package/lib/azure-eventgridsystemtopic/lib/event-grid-system-topic.d.ts +46 -0
- package/lib/azure-eventgridsystemtopic/lib/event-grid-system-topic.js +68 -0
- package/lib/azure-eventgridsystemtopic/lib/index.d.ts +2 -0
- package/lib/azure-eventgridsystemtopic/lib/index.js +19 -0
- package/lib/azure-eventgridsystemtopic/test/event-grid-system-topic.integ.d.ts +1 -0
- package/lib/azure-eventgridsystemtopic/test/event-grid-system-topic.integ.js +64 -0
- package/lib/azure-eventgridsystemtopic/test/event-grid-system-topic.spec.d.ts +1 -0
- package/lib/azure-eventgridsystemtopic/test/event-grid-system-topic.spec.js +241 -0
- package/lib/azure-eventhub/index.d.ts +7 -0
- package/lib/azure-eventhub/index.js +24 -0
- package/lib/azure-eventhub/lib/event-hub-namespace.d.ts +204 -0
- package/lib/azure-eventhub/lib/event-hub-namespace.js +178 -0
- package/lib/azure-eventhub/lib/event-hub-schemas.d.ts +63 -0
- package/lib/azure-eventhub/lib/event-hub-schemas.js +370 -0
- package/lib/azure-eventhub/lib/event-hub.d.ts +153 -0
- package/lib/azure-eventhub/lib/event-hub.js +171 -0
- package/lib/azure-eventhub/lib/index.d.ts +6 -0
- package/lib/azure-eventhub/lib/index.js +23 -0
- package/lib/azure-eventhub/test/event-hub.integ.d.ts +9 -0
- package/lib/azure-eventhub/test/event-hub.integ.js +113 -0
- package/lib/azure-eventhub/test/event-hub.spec.d.ts +8 -0
- package/lib/azure-eventhub/test/event-hub.spec.js +438 -0
- package/lib/azure-functionapp/lib/function-app.d.ts +6 -6
- package/lib/azure-functionapp/lib/function-app.js +8 -8
- package/lib/azure-functionapp/test/function-app.integ.d.ts +1 -1
- package/lib/azure-functionapp/test/function-app.integ.js +5 -5
- package/lib/azure-functionapp/test/function-app.spec.js +12 -12
- package/lib/azure-keyvault/lib/key-vault.d.ts +6 -6
- package/lib/azure-keyvault/lib/key-vault.js +8 -8
- package/lib/azure-keyvault/test/key-vault.integ.d.ts +1 -1
- package/lib/azure-keyvault/test/key-vault.integ.js +5 -5
- package/lib/azure-keyvault/test/key-vault.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-sreagent/lib/sre-agent.d.ts +8 -8
- package/lib/azure-sreagent/lib/sre-agent.js +10 -10
- package/lib/azure-sreagent/test/sre-agent.integ.d.ts +1 -1
- package/lib/azure-sreagent/test/sre-agent.integ.js +5 -5
- package/lib/azure-sreagent/test/sre-agent.spec.js +11 -11
- package/lib/azure-staticwebapp/lib/static-web-app.d.ts +6 -6
- package/lib/azure-staticwebapp/lib/static-web-app.js +8 -8
- package/lib/azure-staticwebapp/test/static-web-app.integ.d.ts +1 -1
- package/lib/azure-staticwebapp/test/static-web-app.integ.js +6 -6
- package/lib/azure-staticwebapp/test/static-web-app.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-storageblobcontainer/index.d.ts +1 -0
- package/lib/azure-storageblobcontainer/index.js +18 -0
- package/lib/azure-storageblobcontainer/lib/index.d.ts +2 -0
- package/lib/azure-storageblobcontainer/lib/index.js +19 -0
- package/lib/azure-storageblobcontainer/lib/storage-blob-container-schemas.d.ts +5 -0
- package/lib/azure-storageblobcontainer/lib/storage-blob-container-schemas.js +108 -0
- package/lib/azure-storageblobcontainer/lib/storage-blob-container.d.ts +37 -0
- package/lib/azure-storageblobcontainer/lib/storage-blob-container.js +63 -0
- package/lib/azure-storageblobcontainer/test/storage-blob-container.integ.d.ts +1 -0
- package/lib/azure-storageblobcontainer/test/storage-blob-container.integ.js +60 -0
- package/lib/azure-storageblobcontainer/test/storage-blob-container.spec.d.ts +1 -0
- package/lib/azure-storageblobcontainer/test/storage-blob-container.spec.js +172 -0
- 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-userassignedidentity/index.d.ts +1 -0
- package/lib/azure-userassignedidentity/index.js +18 -0
- package/lib/azure-userassignedidentity/lib/index.d.ts +2 -0
- package/lib/azure-userassignedidentity/lib/index.js +19 -0
- package/lib/azure-userassignedidentity/lib/user-assigned-identity-schemas.d.ts +8 -0
- package/lib/azure-userassignedidentity/lib/user-assigned-identity-schemas.js +107 -0
- package/lib/azure-userassignedidentity/lib/user-assigned-identity.d.ts +37 -0
- package/lib/azure-userassignedidentity/lib/user-assigned-identity.js +85 -0
- package/lib/azure-userassignedidentity/test/user-assigned-identity.integ.d.ts +1 -0
- package/lib/azure-userassignedidentity/test/user-assigned-identity.integ.js +64 -0
- package/lib/azure-userassignedidentity/test/user-assigned-identity.spec.d.ts +1 -0
- package/lib/azure-userassignedidentity/test/user-assigned-identity.spec.js +241 -0
- 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 +72 -7
- package/lib/azure-vmss/lib/virtual-machine-scale-set.js +147 -8
- package/lib/azure-vmss/lib/vmss-schemas.d.ts +195 -0
- package/lib/azure-vmss/lib/vmss-schemas.js +33 -1
- 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 +474 -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 +26 -0
- package/lib/index.js +28 -2
- package/lib/testing/index.d.ts +1 -1
- package/lib/testing/index.js +25 -8
- package/lib/testing/lib/cleanup.js +1 -1
- package/lib/testing/lib/metadata.js +12 -4
- package/lib/testing/lib/naming.js +57 -1
- package/package.json +10 -22
- package/scripts/azure-version-updater/create-issue.ts +189 -0
- package/scripts/azure-version-updater/discover.ts +382 -0
- package/scripts/azure-version-updater/spec-mapping.ts +164 -0
- package/scripts/azure-version-updater/tsconfig.json +11 -0
- package/setup.js +2 -2
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const cdktn_1 = require("cdktn");
|
|
4
|
+
const cdktn = require("cdktn");
|
|
5
|
+
const api_version_manager_1 = require("../../core-azure/lib/version-manager/api-version-manager");
|
|
6
|
+
const version_interfaces_1 = require("../../core-azure/lib/version-manager/interfaces/version-interfaces");
|
|
7
|
+
const data_explorer_cluster_1 = require("../lib/data-explorer-cluster");
|
|
8
|
+
const data_explorer_cluster_schemas_1 = require("../lib/data-explorer-cluster-schemas");
|
|
9
|
+
const data_explorer_database_1 = require("../lib/data-explorer-database");
|
|
10
|
+
const data_explorer_database_schemas_1 = require("../lib/data-explorer-database-schemas");
|
|
11
|
+
const data_explorer_table_1 = require("../lib/data-explorer-table");
|
|
12
|
+
const data_explorer_table_schemas_1 = require("../lib/data-explorer-table-schemas");
|
|
13
|
+
describe("DataExplorer - Unified Implementation", () => {
|
|
14
|
+
let app;
|
|
15
|
+
let stack;
|
|
16
|
+
let manager;
|
|
17
|
+
beforeEach(() => {
|
|
18
|
+
app = cdktn_1.Testing.app();
|
|
19
|
+
stack = new cdktn.TerraformStack(app, "TestStack");
|
|
20
|
+
manager = api_version_manager_1.ApiVersionManager.instance();
|
|
21
|
+
try {
|
|
22
|
+
manager.registerResourceType(data_explorer_cluster_schemas_1.DATA_EXPLORER_CLUSTER_TYPE, data_explorer_cluster_schemas_1.ALL_DATA_EXPLORER_CLUSTER_VERSIONS);
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
// Ignore if already registered
|
|
26
|
+
}
|
|
27
|
+
try {
|
|
28
|
+
manager.registerResourceType(data_explorer_database_schemas_1.DATA_EXPLORER_DATABASE_TYPE, data_explorer_database_schemas_1.ALL_DATA_EXPLORER_DATABASE_VERSIONS);
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
// Ignore if already registered
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
manager.registerResourceType(data_explorer_table_schemas_1.DATA_EXPLORER_SCRIPT_TYPE, data_explorer_table_schemas_1.ALL_DATA_EXPLORER_SCRIPT_VERSIONS);
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
// Ignore if already registered
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
describe("DataExplorerCluster", () => {
|
|
41
|
+
const clusterProps = {
|
|
42
|
+
name: "test-cluster",
|
|
43
|
+
location: "eastus",
|
|
44
|
+
resourceGroupId: "/subscriptions/test-sub/resourceGroups/test-rg",
|
|
45
|
+
sku: {
|
|
46
|
+
name: "Dev(No SLA)_Standard_E2a_v4",
|
|
47
|
+
capacity: 1,
|
|
48
|
+
tier: "Basic",
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
it("should create cluster with automatic latest version resolution", () => {
|
|
52
|
+
const cluster = new data_explorer_cluster_1.DataExplorerCluster(stack, "TestCluster", clusterProps);
|
|
53
|
+
expect(cluster).toBeInstanceOf(data_explorer_cluster_1.DataExplorerCluster);
|
|
54
|
+
expect(cluster.resolvedApiVersion).toBe("2024-04-13");
|
|
55
|
+
expect(cluster.props).toBe(clusterProps);
|
|
56
|
+
expect(cluster.location).toBe("eastus");
|
|
57
|
+
});
|
|
58
|
+
it("should create cluster with all optional properties", () => {
|
|
59
|
+
const props = {
|
|
60
|
+
...clusterProps,
|
|
61
|
+
tags: { environment: "test" },
|
|
62
|
+
identity: { type: "SystemAssigned" },
|
|
63
|
+
trustedExternalTenants: [
|
|
64
|
+
{ value: "11111111-1111-1111-1111-111111111111" },
|
|
65
|
+
],
|
|
66
|
+
optimizedAutoscale: {
|
|
67
|
+
version: 1,
|
|
68
|
+
isEnabled: true,
|
|
69
|
+
minimum: 1,
|
|
70
|
+
maximum: 2,
|
|
71
|
+
},
|
|
72
|
+
enableDiskEncryption: true,
|
|
73
|
+
enableStreamingIngest: true,
|
|
74
|
+
enablePurge: true,
|
|
75
|
+
};
|
|
76
|
+
const cluster = new data_explorer_cluster_1.DataExplorerCluster(stack, "FullCluster", props);
|
|
77
|
+
expect(cluster.props.identity).toEqual({ type: "SystemAssigned" });
|
|
78
|
+
expect(cluster.props.enablePurge).toBe(true);
|
|
79
|
+
expect(cluster.props.optimizedAutoscale?.maximum).toBe(2);
|
|
80
|
+
});
|
|
81
|
+
it("should require location to be provided", () => {
|
|
82
|
+
expect(() => {
|
|
83
|
+
new data_explorer_cluster_1.DataExplorerCluster(stack, "MissingLocation", {
|
|
84
|
+
name: "test-cluster",
|
|
85
|
+
sku: clusterProps.sku,
|
|
86
|
+
});
|
|
87
|
+
}).toThrow("Location is required for Microsoft.Kusto/clusters");
|
|
88
|
+
});
|
|
89
|
+
it("should support framework version metadata", () => {
|
|
90
|
+
const cluster = new data_explorer_cluster_1.DataExplorerCluster(stack, "FrameworkCluster", clusterProps);
|
|
91
|
+
expect(cluster.latestVersion()).toBe("2024-04-13");
|
|
92
|
+
expect(cluster.supportedVersions()).toEqual(["2024-04-13"]);
|
|
93
|
+
expect(cluster.schema.resourceType).toBe(data_explorer_cluster_schemas_1.DATA_EXPLORER_CLUSTER_TYPE);
|
|
94
|
+
expect(cluster.versionConfig.supportLevel).toBe(version_interfaces_1.VersionSupportLevel.ACTIVE);
|
|
95
|
+
});
|
|
96
|
+
it("should resolve parent ID from resource group", () => {
|
|
97
|
+
const cluster = new data_explorer_cluster_1.DataExplorerCluster(stack, "ParentCluster", clusterProps);
|
|
98
|
+
const parentId = cluster.resolveParentId(clusterProps);
|
|
99
|
+
expect(parentId).toBe(clusterProps.resourceGroupId);
|
|
100
|
+
});
|
|
101
|
+
it("should create the expected resource body", () => {
|
|
102
|
+
const props = {
|
|
103
|
+
...clusterProps,
|
|
104
|
+
enableStreamingIngest: true,
|
|
105
|
+
};
|
|
106
|
+
const cluster = new data_explorer_cluster_1.DataExplorerCluster(stack, "BodyCluster", props);
|
|
107
|
+
const body = cluster.createResourceBody(props);
|
|
108
|
+
expect(body.sku).toEqual(clusterProps.sku);
|
|
109
|
+
expect(body.properties.enableStreamingIngest).toBe(true);
|
|
110
|
+
});
|
|
111
|
+
it("should expose outputs and URIs", () => {
|
|
112
|
+
const cluster = new data_explorer_cluster_1.DataExplorerCluster(stack, "OutputCluster", clusterProps);
|
|
113
|
+
expect(cluster.idOutput).toBeDefined();
|
|
114
|
+
expect(cluster.locationOutput).toBeDefined();
|
|
115
|
+
expect(cluster.nameOutput).toBeDefined();
|
|
116
|
+
expect(cluster.tagsOutput).toBeDefined();
|
|
117
|
+
expect(cluster.uriOutput).toBeDefined();
|
|
118
|
+
expect(cluster.uri).toContain("output.properties.uri");
|
|
119
|
+
expect(cluster.dataIngestionUri).toContain("output.properties.dataIngestionUri");
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
describe("DataExplorerDatabase", () => {
|
|
123
|
+
const databaseProps = {
|
|
124
|
+
name: "test-db",
|
|
125
|
+
location: "eastus",
|
|
126
|
+
clusterId: "/subscriptions/test-sub/resourceGroups/test-rg/providers/Microsoft.Kusto/clusters/test-cluster",
|
|
127
|
+
kind: "ReadWrite",
|
|
128
|
+
};
|
|
129
|
+
it("should create database with automatic latest version resolution", () => {
|
|
130
|
+
const database = new data_explorer_database_1.DataExplorerDatabase(stack, "TestDatabase", databaseProps);
|
|
131
|
+
expect(database).toBeInstanceOf(data_explorer_database_1.DataExplorerDatabase);
|
|
132
|
+
expect(database.resolvedApiVersion).toBe("2024-04-13");
|
|
133
|
+
expect(database.props).toBe(databaseProps);
|
|
134
|
+
});
|
|
135
|
+
it("should default kind to ReadWrite", () => {
|
|
136
|
+
const database = new data_explorer_database_1.DataExplorerDatabase(stack, "DefaultKind", {
|
|
137
|
+
name: "default-kind-db",
|
|
138
|
+
location: "eastus",
|
|
139
|
+
clusterId: databaseProps.clusterId,
|
|
140
|
+
});
|
|
141
|
+
const body = database.createResourceBody(database.props);
|
|
142
|
+
expect(body.kind).toBe("ReadWrite");
|
|
143
|
+
});
|
|
144
|
+
it("should support framework version metadata", () => {
|
|
145
|
+
const database = new data_explorer_database_1.DataExplorerDatabase(stack, "FrameworkDatabase", databaseProps);
|
|
146
|
+
expect(database.latestVersion()).toBe("2024-04-13");
|
|
147
|
+
expect(database.supportedVersions()).toEqual(["2024-04-13"]);
|
|
148
|
+
expect(database.schema.resourceType).toBe(data_explorer_database_schemas_1.DATA_EXPLORER_DATABASE_TYPE);
|
|
149
|
+
expect(database.versionConfig.supportLevel).toBe(version_interfaces_1.VersionSupportLevel.ACTIVE);
|
|
150
|
+
});
|
|
151
|
+
it("should require location and should resolve parent ID correctly", () => {
|
|
152
|
+
const database = new data_explorer_database_1.DataExplorerDatabase(stack, "ParentDatabase", databaseProps);
|
|
153
|
+
expect(database.requiresLocation()).toBe(true);
|
|
154
|
+
expect(database.resolveParentId(databaseProps)).toBe(databaseProps.clusterId);
|
|
155
|
+
});
|
|
156
|
+
it("should create the expected resource body", () => {
|
|
157
|
+
const props = {
|
|
158
|
+
...databaseProps,
|
|
159
|
+
softDeletePeriod: "P365D",
|
|
160
|
+
hotCachePeriod: "P31D",
|
|
161
|
+
};
|
|
162
|
+
const database = new data_explorer_database_1.DataExplorerDatabase(stack, "BodyDatabase", props);
|
|
163
|
+
const body = database.createResourceBody(props);
|
|
164
|
+
expect(body.kind).toBe("ReadWrite");
|
|
165
|
+
expect(body.properties.softDeletePeriod).toBe("P365D");
|
|
166
|
+
expect(body.properties.hotCachePeriod).toBe("P31D");
|
|
167
|
+
});
|
|
168
|
+
it("should expose outputs", () => {
|
|
169
|
+
const database = new data_explorer_database_1.DataExplorerDatabase(stack, "OutputDatabase", databaseProps);
|
|
170
|
+
expect(database.idOutput).toBeDefined();
|
|
171
|
+
expect(database.nameOutput).toBeDefined();
|
|
172
|
+
expect(database.resourceId).toBe(database.id);
|
|
173
|
+
});
|
|
174
|
+
});
|
|
175
|
+
describe("DataExplorerScript", () => {
|
|
176
|
+
const scriptProps = {
|
|
177
|
+
name: "test-table-script",
|
|
178
|
+
databaseId: "/subscriptions/test-sub/resourceGroups/test-rg/providers/Microsoft.Kusto/clusters/test-cluster/databases/test-db",
|
|
179
|
+
scriptContent: ".create table TestTable (Column1: string, Column2: int)",
|
|
180
|
+
};
|
|
181
|
+
it("should create script with automatic latest version resolution", () => {
|
|
182
|
+
const script = new data_explorer_table_1.DataExplorerScript(stack, "TestScript", scriptProps);
|
|
183
|
+
expect(script).toBeInstanceOf(data_explorer_table_1.DataExplorerScript);
|
|
184
|
+
expect(script.resolvedApiVersion).toBe("2024-04-13");
|
|
185
|
+
expect(script.props).toBe(scriptProps);
|
|
186
|
+
});
|
|
187
|
+
it("should support framework version metadata", () => {
|
|
188
|
+
const script = new data_explorer_table_1.DataExplorerScript(stack, "FrameworkScript", scriptProps);
|
|
189
|
+
expect(script.latestVersion()).toBe("2024-04-13");
|
|
190
|
+
expect(script.supportedVersions()).toEqual(["2024-04-13"]);
|
|
191
|
+
expect(script.schema.resourceType).toBe(data_explorer_table_schemas_1.DATA_EXPLORER_SCRIPT_TYPE);
|
|
192
|
+
expect(script.versionConfig.supportLevel).toBe(version_interfaces_1.VersionSupportLevel.ACTIVE);
|
|
193
|
+
});
|
|
194
|
+
it("should not require location and should resolve parent ID correctly", () => {
|
|
195
|
+
const script = new data_explorer_table_1.DataExplorerScript(stack, "ParentScript", scriptProps);
|
|
196
|
+
expect(script.requiresLocation()).toBe(false);
|
|
197
|
+
expect(script.resolveParentId(scriptProps)).toBe(scriptProps.databaseId);
|
|
198
|
+
});
|
|
199
|
+
it("should create the expected resource body", () => {
|
|
200
|
+
const props = {
|
|
201
|
+
...scriptProps,
|
|
202
|
+
forceUpdateTag: "test-run",
|
|
203
|
+
};
|
|
204
|
+
const script = new data_explorer_table_1.DataExplorerScript(stack, "BodyScript", props);
|
|
205
|
+
const body = script.createResourceBody(props);
|
|
206
|
+
expect(body.properties.scriptContent).toBe(scriptProps.scriptContent);
|
|
207
|
+
expect(body.properties.forceUpdateTag).toBe("test-run");
|
|
208
|
+
expect(body.properties.continueOnErrors).toBe(false);
|
|
209
|
+
});
|
|
210
|
+
it("should expose outputs", () => {
|
|
211
|
+
const script = new data_explorer_table_1.DataExplorerScript(stack, "OutputScript", scriptProps);
|
|
212
|
+
expect(script.idOutput).toBeDefined();
|
|
213
|
+
expect(script.nameOutput).toBeDefined();
|
|
214
|
+
expect(script.resourceId).toBe(script.id);
|
|
215
|
+
});
|
|
216
|
+
});
|
|
217
|
+
describe("CDK Terraform Integration", () => {
|
|
218
|
+
it("should synthesize all ADX resources in one stack", () => {
|
|
219
|
+
const cluster = new data_explorer_cluster_1.DataExplorerCluster(stack, "SynthCluster", {
|
|
220
|
+
name: "synth-cluster",
|
|
221
|
+
location: "eastus",
|
|
222
|
+
resourceGroupId: "/subscriptions/test-sub/resourceGroups/test-rg",
|
|
223
|
+
sku: {
|
|
224
|
+
name: "Dev(No SLA)_Standard_E2a_v4",
|
|
225
|
+
capacity: 1,
|
|
226
|
+
tier: "Basic",
|
|
227
|
+
},
|
|
228
|
+
});
|
|
229
|
+
const database = new data_explorer_database_1.DataExplorerDatabase(stack, "SynthDatabase", {
|
|
230
|
+
name: "synth-db",
|
|
231
|
+
location: "eastus",
|
|
232
|
+
clusterId: cluster.id,
|
|
233
|
+
kind: "ReadWrite",
|
|
234
|
+
});
|
|
235
|
+
new data_explorer_table_1.DataExplorerScript(stack, "SynthScript", {
|
|
236
|
+
name: "synth-script",
|
|
237
|
+
databaseId: database.id,
|
|
238
|
+
scriptContent: ".create table TestTable (Column1: string, Column2: int)",
|
|
239
|
+
});
|
|
240
|
+
const synthesized = cdktn_1.Testing.synth(stack);
|
|
241
|
+
expect(synthesized).toContain("Microsoft.Kusto/clusters@2024-04-13");
|
|
242
|
+
expect(synthesized).toContain("Microsoft.Kusto/clusters/databases@2024-04-13");
|
|
243
|
+
expect(synthesized).toContain("Microsoft.Kusto/clusters/databases/scripts@2024-04-13");
|
|
244
|
+
expect(synthesized).toContain("TestTable");
|
|
245
|
+
});
|
|
246
|
+
});
|
|
247
|
+
});
|
|
248
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1leHBsb3Jlci5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F6dXJlLWRhdGFleHBsb3Jlci90ZXN0L2RhdGEtZXhwbG9yZXIuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGlDQUFnQztBQUNoQywrQkFBK0I7QUFDL0Isa0dBQTZGO0FBQzdGLDJHQUF5RztBQUN6Ryx3RUFHc0M7QUFDdEMsd0ZBRzhDO0FBQzlDLDBFQUd1QztBQUN2QywwRkFHK0M7QUFDL0Msb0VBR29DO0FBQ3BDLG9GQUc0QztBQUU1QyxRQUFRLENBQUMsdUNBQXVDLEVBQUUsR0FBRyxFQUFFO0lBQ3JELElBQUksR0FBYyxDQUFDO0lBQ25CLElBQUksS0FBMkIsQ0FBQztJQUNoQyxJQUFJLE9BQTBCLENBQUM7SUFFL0IsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNkLEdBQUcsR0FBRyxlQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDcEIsS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDbkQsT0FBTyxHQUFHLHVDQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRXZDLElBQUksQ0FBQztZQUNILE9BQU8sQ0FBQyxvQkFBb0IsQ0FDMUIsMERBQTBCLEVBQzFCLGtFQUFrQyxDQUNuQyxDQUFDO1FBQ0osQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZiwrQkFBK0I7UUFDakMsQ0FBQztRQUVELElBQUksQ0FBQztZQUNILE9BQU8sQ0FBQyxvQkFBb0IsQ0FDMUIsNERBQTJCLEVBQzNCLG9FQUFtQyxDQUNwQyxDQUFDO1FBQ0osQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZiwrQkFBK0I7UUFDakMsQ0FBQztRQUVELElBQUksQ0FBQztZQUNILE9BQU8sQ0FBQyxvQkFBb0IsQ0FDMUIsdURBQXlCLEVBQ3pCLCtEQUFpQyxDQUNsQyxD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SSxFQUFFLDZCQUE2QjtvQkFDbkMsUUFBUSxFQUFFLENBQUM7b0JBQ1gsSUFBSSxFQUFFLE9BQU87aUJBQ2Q7YUFDRixDQUFDLENBQUM7WUFFSCxNQUFNLFFBQVEsR0FBRyxJQUFJLDZDQUFvQixDQUFDLEtBQUssRUFBRSxlQUFlLEVBQUU7Z0JBQ2hFLElBQUksRUFBRSxVQUFVO2dCQUNoQixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxFQUFFO2dCQUNyQixJQUFJLEVBQUUsV0FBVzthQUNsQixDQUFDLENBQUM7WUFFSCxJQUFJLHdDQUFrQixDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUU7Z0JBQzNDLElBQUksRUFBRSxjQUFjO2dCQUNwQixVQUFVLEVBQUUsUUFBUSxDQUFDLEVBQUU7Z0JBQ3ZCLGFBQWEsRUFDWCx5REFBeUQ7YUFDNUQsQ0FBQyxDQUFDO1lBRUgsTUFBTSxXQUFXLEdBQUcsZUFBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsU0FBUyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7WUFDckUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FDM0IsK0NBQStDLENBQ2hELENBQUM7WUFDRixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsU0FBUyxDQUMzQix1REFBdUQsQ0FDeEQsQ0FBQztZQUNGLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVzdGluZyB9IGZyb20gXCJjZGt0blwiO1xuaW1wb3J0ICogYXMgY2RrdG4gZnJvbSBcImNka3RuXCI7XG5pbXBvcnQgeyBBcGlWZXJzaW9uTWFuYWdlciB9IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlL2xpYi92ZXJzaW9uLW1hbmFnZXIvYXBpLXZlcnNpb24tbWFuYWdlclwiO1xuaW1wb3J0IHsgVmVyc2lvblN1cHBvcnRMZXZlbCB9IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlL2xpYi92ZXJzaW9uLW1hbmFnZXIvaW50ZXJmYWNlcy92ZXJzaW9uLWludGVyZmFjZXNcIjtcbmltcG9ydCB7XG4gIERhdGFFeHBsb3JlckNsdXN0ZXIsXG4gIERhdGFFeHBsb3JlckNsdXN0ZXJQcm9wcyxcbn0gZnJvbSBcIi4uL2xpYi9kYXRhLWV4cGxvcmVyLWNsdXN0ZXJcIjtcbmltcG9ydCB7XG4gIEFMTF9EQVRBX0VYUExPUkVSX0NMVVNURVJfVkVSU0lPTlMsXG4gIERBVEFfRVhQTE9SRVJfQ0xVU1RFUl9UWVBFLFxufSBmcm9tIFwiLi4vbGliL2RhdGEtZXhwbG9yZXItY2x1c3Rlci1zY2hlbWFzXCI7XG5pbXBvcnQge1xuICBEYXRhRXhwbG9yZXJEYXRhYmFzZSxcbiAgRGF0YUV4cGxvcmVyRGF0YWJhc2VQcm9wcyxcbn0gZnJvbSBcIi4uL2xpYi9kYXRhLWV4cGxvcmVyLWRhdGFiYXNlXCI7XG5pbXBvcnQge1xuICBBTExfREFUQV9FWFBMT1JFUl9EQVRBQkFTRV9WRVJTSU9OUyxcbiAgREFUQV9FWFBMT1JFUl9EQVRBQkFTRV9UWVBFLFxufSBmcm9tIFwiLi4vbGliL2RhdGEtZXhwbG9yZXItZGF0YWJhc2Utc2NoZW1hc1wiO1xuaW1wb3J0IHtcbiAgRGF0YUV4cGxvcmVyU2NyaXB0LFxuICBEYXRhRXhwbG9yZXJTY3JpcHRQcm9wcyxcbn0gZnJvbSBcIi4uL2xpYi9kYXRhLWV4cGxvcmVyLXRhYmxlXCI7XG5pbXBvcnQge1xuICBBTExfREFUQV9FWFBMT1JFUl9TQ1JJUFRfVkVSU0lPTlMsXG4gIERBVEFfRVhQTE9SRVJfU0NSSVBUX1RZUEUsXG59IGZyb20gXCIuLi9saWIvZGF0YS1leHBsb3Jlci10YWJsZS1zY2hlbWFzXCI7XG5cbmRlc2NyaWJlKFwiRGF0YUV4cGxvcmVyIC0gVW5pZmllZCBJbXBsZW1lbnRhdGlvblwiLCAoKSA9PiB7XG4gIGxldCBhcHA6IGNka3RuLkFwcDtcbiAgbGV0IHN0YWNrOiBjZGt0bi5UZXJyYWZvcm1TdGFjaztcbiAgbGV0IG1hbmFnZXI6IEFwaVZlcnNpb25NYW5hZ2VyO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGFwcCA9IFRlc3RpbmcuYXBwKCk7XG4gICAgc3RhY2sgPSBuZXcgY2RrdG4uVGVycmFmb3JtU3RhY2soYXBwLCBcIlRlc3RTdGFja1wiKTtcbiAgICBtYW5hZ2VyID0gQXBpVmVyc2lvbk1hbmFnZXIuaW5zdGFuY2UoKTtcblxuICAgIHRyeSB7XG4gICAgICBtYW5hZ2VyLnJlZ2lzdGVyUmVzb3VyY2VUeXBlKFxuICAgICAgICBEQVRBX0VYUExPUkVSX0NMVVNURVJfVFlQRSxcbiAgICAgICAgQUxMX0RBVEFfRVhQTE9SRVJfQ0xVU1RFUl9WRVJTSU9OUyxcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIElnbm9yZSBpZiBhbHJlYWR5IHJlZ2lzdGVyZWRcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgbWFuYWdlci5yZWdpc3RlclJlc291cmNlVHlwZShcbiAgICAgICAgREFUQV9FWFBMT1JFUl9EQVRBQkFTRV9UWVBFLFxuICAgICAgICBBTExfREFUQV9FWFBMT1JFUl9EQVRBQkFTRV9WRVJTSU9OUyxcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIElnbm9yZSBpZiBhbHJlYWR5IHJlZ2lzdGVyZWRcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgbWFuYWdlci5yZWdpc3RlclJlc291cmNlVHlwZShcbiAgICAgICAgREFUQV9FWFBMT1JFUl9TQ1JJUFRfVFlQRSxcbiAgICAgICAgQUxMX0RBVEFfRVhQTE9SRVJfU0NSSVBUX1ZFUlNJT05TLFxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gSWdub3JlIGlmIGFscmVhZHkgcmVnaXN0ZXJlZFxuICAgIH1cbiAgfSk7XG5cbiAgZGVzY3JpYmUoXCJEYXRhRXhwbG9yZXJDbHVzdGVyXCIsICgpID0+IHtcbiAgICBjb25zdCBjbHVzdGVyUHJvcHM6IERhdGFFeHBsb3JlckNsdXN0ZXJQcm9wcyA9IHtcbiAgICAgIG5hbWU6IFwidGVzdC1jbHVzdGVyXCIsXG4gICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgIHJlc291cmNlR3JvdXBJZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnXCIsXG4gICAgICBza3U6IHtcbiAgICAgICAgbmFtZTogXCJEZXYoTm8gU0xBKV9TdGFuZGFyZF9FMmFfdjRcIixcbiAgICAgICAgY2FwYWNpdHk6IDEsXG4gICAgICAgIHRpZXI6IFwiQmFzaWNcIixcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIGl0KFwic2hvdWxkIGNyZWF0ZSBjbHVzdGVyIHdpdGggYXV0b21hdGljIGxhdGVzdCB2ZXJzaW9uIHJlc29sdXRpb25cIiwgKCkgPT4ge1xuICAgICAgY29uc3QgY2x1c3RlciA9IG5ldyBEYXRhRXhwbG9yZXJDbHVzdGVyKFxuICAgICAgICBzdGFjayxcbiAgICAgICAgXCJUZXN0Q2x1c3RlclwiLFxuICAgICAgICBjbHVzdGVyUHJvcHMsXG4gICAgICApO1xuXG4gICAgICBleHBlY3QoY2x1c3RlcikudG9CZUluc3RhbmNlT2YoRGF0YUV4cGxvcmVyQ2x1c3Rlcik7XG4gICAgICBleHBlY3QoY2x1c3Rlci5yZXNvbHZlZEFwaVZlcnNpb24pLnRvQmUoXCIyMDI0LTA0LTEzXCIpO1xuICAgICAgZXhwZWN0KGNsdXN0ZXIucHJvcHMpLnRvQmUoY2x1c3RlclByb3BzKTtcbiAgICAgIGV4cGVjdChjbHVzdGVyLmxvY2F0aW9uKS50b0JlKFwiZWFzdHVzXCIpO1xuICAgIH0pO1xuXG4gICAgaXQoXCJzaG91bGQgY3JlYXRlIGNsdXN0ZXIgd2l0aCBhbGwgb3B0aW9uYWwgcHJvcGVydGllc1wiLCAoKSA9PiB7XG4gICAgICBjb25zdCBwcm9wczogRGF0YUV4cGxvcmVyQ2x1c3RlclByb3BzID0ge1xuICAgICAgICAuLi5jbHVzdGVyUHJvcHMsXG4gICAgICAgIHRhZ3M6IHsgZW52aXJvbm1lbnQ6IFwidGVzdFwiIH0sXG4gICAgICAgIGlkZW50aXR5OiB7IHR5cGU6IFwiU3lzdGVtQXNzaWduZWRcIiB9LFxuICAgICAgICB0cnVzdGVkRXh0ZXJuYWxUZW5hbnRzOiBbXG4gICAgICAgICAgeyB2YWx1ZTogXCIxMTExMTExMS0xMTExLTExMTEtMTExMS0xMTExMTExMTExMTFcIiB9LFxuICAgICAgICBdLFxuICAgICAgICBvcHRpbWl6ZWRBdXRvc2NhbGU6IHtcbiAgICAgICAgICB2ZXJzaW9uOiAxLFxuICAgICAgICAgIGlzRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICBtaW5pbXVtOiAxLFxuICAgICAgICAgIG1heGltdW06IDIsXG4gICAgICAgIH0sXG4gICAgICAgIGVuYWJsZURpc2tFbmNyeXB0aW9uOiB0cnVlLFxuICAgICAgICBlbmFibGVTdHJlYW1pbmdJbmdlc3Q6IHRydWUsXG4gICAgICAgIGVuYWJsZVB1cmdlOiB0cnVlLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgY2x1c3RlciA9IG5ldyBEYXRhRXhwbG9yZXJDbHVzdGVyKHN0YWNrLCBcIkZ1bGxDbHVzdGVyXCIsIHByb3BzKTtcblxuICAgICAgZXhwZWN0KGNsdXN0ZXIucHJvcHMuaWRlbnRpdHkpLnRvRXF1YWwoeyB0eXBlOiBcIlN5c3RlbUFzc2lnbmVkXCIgfSk7XG4gICAgICBleHBlY3QoY2x1c3Rlci5wcm9wcy5lbmFibGVQdXJnZSkudG9CZSh0cnVlKTtcbiAgICAgIGV4cGVjdChjbHVzdGVyLnByb3BzLm9wdGltaXplZEF1dG9zY2FsZT8ubWF4aW11bSkudG9CZSgyKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIHJlcXVpcmUgbG9jYXRpb24gdG8gYmUgcHJvdmlkZWRcIiwgKCkgPT4ge1xuICAgICAgZXhwZWN0KCgpID0+IHtcbiAgICAgICAgbmV3IERhdGFFeHBsb3JlckNsdXN0ZXIoc3RhY2ssIFwiTWlzc2luZ0xvY2F0aW9uXCIsIHtcbiAgICAgICAgICBuYW1lOiBcInRlc3QtY2x1c3RlclwiLFxuICAgICAgICAgIHNrdTogY2x1c3RlclByb3BzLnNrdSxcbiAgICAgICAgfSk7XG4gICAgICB9KS50b1Rocm93KFwiTG9jYXRpb24gaXMgcmVxdWlyZWQgZm9yIE1pY3Jvc29mdC5LdXN0by9jbHVzdGVyc1wiKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIHN1cHBvcnQgZnJhbWV3b3JrIHZlcnNpb24gbWV0YWRhdGFcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgY2x1c3RlciA9IG5ldyBEYXRhRXhwbG9yZXJDbHVzdGVyKFxuICAgICAgICBzdGFjayxcbiAgICAgICAgXCJGcmFtZXdvcmtDbHVzdGVyXCIsXG4gICAgICAgIGNsdXN0ZXJQcm9wcyxcbiAgICAgICk7XG5cbiAgICAgIGV4cGVjdChjbHVzdGVyLmxhdGVzdFZlcnNpb24oKSkudG9CZShcIjIwMjQtMDQtMTNcIik7XG4gICAgICBleHBlY3QoY2x1c3Rlci5zdXBwb3J0ZWRWZXJzaW9ucygpKS50b0VxdWFsKFtcIjIwMjQtMDQtMTNcIl0pO1xuICAgICAgZXhwZWN0KGNsdXN0ZXIuc2NoZW1hLnJlc291cmNlVHlwZSkudG9CZShEQVRBX0VYUExPUkVSX0NMVVNURVJfVFlQRSk7XG4gICAgICBleHBlY3QoY2x1c3Rlci52ZXJzaW9uQ29uZmlnLnN1cHBvcnRMZXZlbCkudG9CZShcbiAgICAgICAgVmVyc2lvblN1cHBvcnRMZXZlbC5BQ1RJVkUsXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoXCJzaG91bGQgcmVzb2x2ZSBwYXJlbnQgSUQgZnJvbSByZXNvdXJjZSBncm91cFwiLCAoKSA9PiB7XG4gICAgICBjb25zdCBjbHVzdGVyID0gbmV3IERhdGFFeHBsb3JlckNsdXN0ZXIoXG4gICAgICAgIHN0YWNrLFxuICAgICAgICBcIlBhcmVudENsdXN0ZXJcIixcbiAgICAgICAgY2x1c3RlclByb3BzLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IHBhcmVudElkID0gKGNsdXN0ZXIgYXMgYW55KS5yZXNvbHZlUGFyZW50SWQoY2x1c3RlclByb3BzKTtcblxuICAgICAgZXhwZWN0KHBhcmVudElkKS50b0JlKGNsdXN0ZXJQcm9wcy5yZXNvdXJjZUdyb3VwSWQpO1xuICAgIH0pO1xuXG4gICAgaXQoXCJzaG91bGQgY3JlYXRlIHRoZSBleHBlY3RlZCByZXNvdXJjZSBib2R5XCIsICgpID0+IHtcbiAgICAgIGNvbnN0IHByb3BzOiBEYXRhRXhwbG9yZXJDbHVzdGVyUHJvcHMgPSB7XG4gICAgICAgIC4uLmNsdXN0ZXJQcm9wcyxcbiAgICAgICAgZW5hYmxlU3RyZWFtaW5nSW5nZXN0OiB0cnVlLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGNsdXN0ZXIgPSBuZXcgRGF0YUV4cGxvcmVyQ2x1c3RlcihzdGFjaywgXCJCb2R5Q2x1c3RlclwiLCBwcm9wcyk7XG4gICAgICBjb25zdCBib2R5ID0gKGNsdXN0ZXIgYXMgYW55KS5jcmVhdGVSZXNvdXJjZUJvZHkocHJvcHMpO1xuXG4gICAgICBleHBlY3QoYm9keS5za3UpLnRvRXF1YWwoY2x1c3RlclByb3BzLnNrdSk7XG4gICAgICBleHBlY3QoYm9keS5wcm9wZXJ0aWVzLmVuYWJsZVN0cmVhbWluZ0luZ2VzdCkudG9CZSh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGV4cG9zZSBvdXRwdXRzIGFuZCBVUklzXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IGNsdXN0ZXIgPSBuZXcgRGF0YUV4cGxvcmVyQ2x1c3RlcihcbiAgICAgICAgc3RhY2ssXG4gICAgICAgIFwiT3V0cHV0Q2x1c3RlclwiLFxuICAgICAgICBjbHVzdGVyUHJvcHMsXG4gICAgICApO1xuXG4gICAgICBleHBlY3QoY2x1c3Rlci5pZE91dHB1dCkudG9CZURlZmluZWQoKTtcbiAgICAgIGV4cGVjdChjbHVzdGVyLmxvY2F0aW9uT3V0cHV0KS50b0JlRGVmaW5lZCgpO1xuICAgICAgZXhwZWN0KGNsdXN0ZXIubmFtZU91dHB1dCkudG9CZURlZmluZWQoKTtcbiAgICAgIGV4cGVjdChjbHVzdGVyLnRhZ3NPdXRwdXQpLnRvQmVEZWZpbmVkKCk7XG4gICAgICBleHBlY3QoY2x1c3Rlci51cmlPdXRwdXQpLnRvQmVEZWZpbmVkKCk7XG4gICAgICBleHBlY3QoY2x1c3Rlci51cmkpLnRvQ29udGFpbihcIm91dHB1dC5wcm9wZXJ0aWVzLnVyaVwiKTtcbiAgICAgIGV4cGVjdChjbHVzdGVyLmRhdGFJbmdlc3Rpb25VcmkpLnRvQ29udGFpbihcbiAgICAgICAgXCJvdXRwdXQucHJvcGVydGllcy5kYXRhSW5nZXN0aW9uVXJpXCIsXG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZShcIkRhdGFFeHBsb3JlckRhdGFiYXNlXCIsICgpID0+IHtcbiAgICBjb25zdCBkYXRhYmFzZVByb3BzOiBEYXRhRXhwbG9yZXJEYXRhYmFzZVByb3BzID0ge1xuICAgICAgbmFtZTogXCJ0ZXN0LWRiXCIsXG4gICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgIGNsdXN0ZXJJZDpcbiAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuS3VzdG8vY2x1c3RlcnMvdGVzdC1jbHVzdGVyXCIsXG4gICAgICBraW5kOiBcIlJlYWRXcml0ZVwiLFxuICAgIH07XG5cbiAgICBpdChcInNob3VsZCBjcmVhdGUgZGF0YWJhc2Ugd2l0aCBhdXRvbWF0aWMgbGF0ZXN0IHZlcnNpb24gcmVzb2x1dGlvblwiLCAoKSA9PiB7XG4gICAgICBjb25zdCBkYXRhYmFzZSA9IG5ldyBEYXRhRXhwbG9yZXJEYXRhYmFzZShcbiAgICAgICAgc3RhY2ssXG4gICAgICAgIFwiVGVzdERhdGFiYXNlXCIsXG4gICAgICAgIGRhdGFiYXNlUHJvcHMsXG4gICAgICApO1xuXG4gICAgICBleHBlY3QoZGF0YWJhc2UpLnRvQmVJbnN0YW5jZU9mKERhdGFFeHBsb3JlckRhdGFiYXNlKTtcbiAgICAgIGV4cGVjdChkYXRhYmFzZS5yZXNvbHZlZEFwaVZlcnNpb24pLnRvQmUoXCIyMDI0LTA0LTEzXCIpO1xuICAgICAgZXhwZWN0KGRhdGFiYXNlLnByb3BzKS50b0JlKGRhdGFiYXNlUHJvcHMpO1xuICAgIH0pO1xuXG4gICAgaXQoXCJzaG91bGQgZGVmYXVsdCBraW5kIHRvIFJlYWRXcml0ZVwiLCAoKSA9PiB7XG4gICAgICBjb25zdCBkYXRhYmFzZSA9IG5ldyBEYXRhRXhwbG9yZXJEYXRhYmFzZShzdGFjaywgXCJEZWZhdWx0S2luZFwiLCB7XG4gICAgICAgIG5hbWU6IFwiZGVmYXVsdC1raW5kLWRiXCIsXG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBjbHVzdGVySWQ6IGRhdGFiYXNlUHJvcHMuY2x1c3RlcklkLFxuICAgICAgfSk7XG4gICAgICBjb25zdCBib2R5ID0gKGRhdGFiYXNlIGFzIGFueSkuY3JlYXRlUmVzb3VyY2VCb2R5KGRhdGFiYXNlLnByb3BzKTtcblxuICAgICAgZXhwZWN0KGJvZHkua2luZCkudG9CZShcIlJlYWRXcml0ZVwiKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIHN1cHBvcnQgZnJhbWV3b3JrIHZlcnNpb24gbWV0YWRhdGFcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgZGF0YWJhc2UgPSBuZXcgRGF0YUV4cGxvcmVyRGF0YWJhc2UoXG4gICAgICAgIHN0YWNrLFxuICAgICAgICBcIkZyYW1ld29ya0RhdGFiYXNlXCIsXG4gICAgICAgIGRhdGFiYXNlUHJvcHMsXG4gICAgICApO1xuXG4gICAgICBleHBlY3QoZGF0YWJhc2UubGF0ZXN0VmVyc2lvbigpKS50b0JlKFwiMjAyNC0wNC0xM1wiKTtcbiAgICAgIGV4cGVjdChkYXRhYmFzZS5zdXBwb3J0ZWRWZXJzaW9ucygpKS50b0VxdWFsKFtcIjIwMjQtMDQtMTNcIl0pO1xuICAgICAgZXhwZWN0KGRhdGFiYXNlLnNjaGVtYS5yZXNvdXJjZVR5cGUpLnRvQmUoREFUQV9FWFBMT1JFUl9EQVRBQkFTRV9UWVBFKTtcbiAgICAgIGV4cGVjdChkYXRhYmFzZS52ZXJzaW9uQ29uZmlnLnN1cHBvcnRMZXZlbCkudG9CZShcbiAgICAgICAgVmVyc2lvblN1cHBvcnRMZXZlbC5BQ1RJVkUsXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoXCJzaG91bGQgcmVxdWlyZSBsb2NhdGlvbiBhbmQgc2hvdWxkIHJlc29sdmUgcGFyZW50IElEIGNvcnJlY3RseVwiLCAoKSA9PiB7XG4gICAgICBjb25zdCBkYXRhYmFzZSA9IG5ldyBEYXRhRXhwbG9yZXJEYXRhYmFzZShcbiAgICAgICAgc3RhY2ssXG4gICAgICAgIFwiUGFyZW50RGF0YWJhc2VcIixcbiAgICAgICAgZGF0YWJhc2VQcm9wcyxcbiAgICAgICk7XG5cbiAgICAgIGV4cGVjdCgoZGF0YWJhc2UgYXMgYW55KS5yZXF1aXJlc0xvY2F0aW9uKCkpLnRvQmUodHJ1ZSk7XG4gICAgICBleHBlY3QoKGRhdGFiYXNlIGFzIGFueSkucmVzb2x2ZVBhcmVudElkKGRhdGFiYXNlUHJvcHMpKS50b0JlKFxuICAgICAgICBkYXRhYmFzZVByb3BzLmNsdXN0ZXJJZCxcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCBjcmVhdGUgdGhlIGV4cGVjdGVkIHJlc291cmNlIGJvZHlcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgcHJvcHM6IERhdGFFeHBsb3JlckRhdGFiYXNlUHJvcHMgPSB7XG4gICAgICAgIC4uLmRhdGFiYXNlUHJvcHMsXG4gICAgICAgIHNvZnREZWxldGVQZXJpb2Q6IFwiUDM2NURcIixcbiAgICAgICAgaG90Q2FjaGVQZXJpb2Q6IFwiUDMxRFwiLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGRhdGFiYXNlID0gbmV3IERhdGFFeHBsb3JlckRhdGFiYXNlKHN0YWNrLCBcIkJvZHlEYXRhYmFzZVwiLCBwcm9wcyk7XG4gICAgICBjb25zdCBib2R5ID0gKGRhdGFiYXNlIGFzIGFueSkuY3JlYXRlUmVzb3VyY2VCb2R5KHByb3BzKTtcblxuICAgICAgZXhwZWN0KGJvZHkua2luZCkudG9CZShcIlJlYWRXcml0ZVwiKTtcbiAgICAgIGV4cGVjdChib2R5LnByb3BlcnRpZXMuc29mdERlbGV0ZVBlcmlvZCkudG9CZShcIlAzNjVEXCIpO1xuICAgICAgZXhwZWN0KGJvZHkucHJvcGVydGllcy5ob3RDYWNoZVBlcmlvZCkudG9CZShcIlAzMURcIik7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCBleHBvc2Ugb3V0cHV0c1wiLCAoKSA9PiB7XG4gICAgICBjb25zdCBkYXRhYmFzZSA9IG5ldyBEYXRhRXhwbG9yZXJEYXRhYmFzZShcbiAgICAgICAgc3RhY2ssXG4gICAgICAgIFwiT3V0cHV0RGF0YWJhc2VcIixcbiAgICAgICAgZGF0YWJhc2VQcm9wcyxcbiAgICAgICk7XG5cbiAgICAgIGV4cGVjdChkYXRhYmFzZS5pZE91dHB1dCkudG9CZURlZmluZWQoKTtcbiAgICAgIGV4cGVjdChkYXRhYmFzZS5uYW1lT3V0cHV0KS50b0JlRGVmaW5lZCgpO1xuICAgICAgZXhwZWN0KGRhdGFiYXNlLnJlc291cmNlSWQpLnRvQmUoZGF0YWJhc2UuaWQpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZShcIkRhdGFFeHBsb3JlclNjcmlwdFwiLCAoKSA9PiB7XG4gICAgY29uc3Qgc2NyaXB0UHJvcHM6IERhdGFFeHBsb3JlclNjcmlwdFByb3BzID0ge1xuICAgICAgbmFtZTogXCJ0ZXN0LXRhYmxlLXNjcmlwdFwiLFxuICAgICAgZGF0YWJhc2VJZDpcbiAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuS3VzdG8vY2x1c3RlcnMvdGVzdC1jbHVzdGVyL2RhdGFiYXNlcy90ZXN0LWRiXCIsXG4gICAgICBzY3JpcHRDb250ZW50OiBcIi5jcmVhdGUgdGFibGUgVGVzdFRhYmxlIChDb2x1bW4xOiBzdHJpbmcsIENvbHVtbjI6IGludClcIixcbiAgICB9O1xuXG4gICAgaXQoXCJzaG91bGQgY3JlYXRlIHNjcmlwdCB3aXRoIGF1dG9tYXRpYyBsYXRlc3QgdmVyc2lvbiByZXNvbHV0aW9uXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IHNjcmlwdCA9IG5ldyBEYXRhRXhwbG9yZXJTY3JpcHQoc3RhY2ssIFwiVGVzdFNjcmlwdFwiLCBzY3JpcHRQcm9wcyk7XG5cbiAgICAgIGV4cGVjdChzY3JpcHQpLnRvQmVJbnN0YW5jZU9mKERhdGFFeHBsb3JlclNjcmlwdCk7XG4gICAgICBleHBlY3Qoc2NyaXB0LnJlc29sdmVkQXBpVmVyc2lvbikudG9CZShcIjIwMjQtMDQtMTNcIik7XG4gICAgICBleHBlY3Qoc2NyaXB0LnByb3BzKS50b0JlKHNjcmlwdFByb3BzKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIHN1cHBvcnQgZnJhbWV3b3JrIHZlcnNpb24gbWV0YWRhdGFcIiwgKCkgPT4ge1xuICAgICAgY29uc3Qgc2NyaXB0ID0gbmV3IERhdGFFeHBsb3JlclNjcmlwdChcbiAgICAgICAgc3RhY2ssXG4gICAgICAgIFwiRnJhbWV3b3JrU2NyaXB0XCIsXG4gICAgICAgIHNjcmlwdFByb3BzLFxuICAgICAgKTtcblxuICAgICAgZXhwZWN0KHNjcmlwdC5sYXRlc3RWZXJzaW9uKCkpLnRvQmUoXCIyMDI0LTA0LTEzXCIpO1xuICAgICAgZXhwZWN0KHNjcmlwdC5zdXBwb3J0ZWRWZXJzaW9ucygpKS50b0VxdWFsKFtcIjIwMjQtMDQtMTNcIl0pO1xuICAgICAgZXhwZWN0KHNjcmlwdC5zY2hlbWEucmVzb3VyY2VUeXBlKS50b0JlKERBVEFfRVhQTE9SRVJfU0NSSVBUX1RZUEUpO1xuICAgICAgZXhwZWN0KHNjcmlwdC52ZXJzaW9uQ29uZmlnLnN1cHBvcnRMZXZlbCkudG9CZShcbiAgICAgICAgVmVyc2lvblN1cHBvcnRMZXZlbC5BQ1RJVkUsXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoXCJzaG91bGQgbm90IHJlcXVpcmUgbG9jYXRpb24gYW5kIHNob3VsZCByZXNvbHZlIHBhcmVudCBJRCBjb3JyZWN0bHlcIiwgKCkgPT4ge1xuICAgICAgY29uc3Qgc2NyaXB0ID0gbmV3IERhdGFFeHBsb3JlclNjcmlwdChzdGFjaywgXCJQYXJlbnRTY3JpcHRcIiwgc2NyaXB0UHJvcHMpO1xuXG4gICAgICBleHBlY3QoKHNjcmlwdCBhcyBhbnkpLnJlcXVpcmVzTG9jYXRpb24oKSkudG9CZShmYWxzZSk7XG4gICAgICBleHBlY3QoKHNjcmlwdCBhcyBhbnkpLnJlc29sdmVQYXJlbnRJZChzY3JpcHRQcm9wcykpLnRvQmUoXG4gICAgICAgIHNjcmlwdFByb3BzLmRhdGFiYXNlSWQsXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoXCJzaG91bGQgY3JlYXRlIHRoZSBleHBlY3RlZCByZXNvdXJjZSBib2R5XCIsICgpID0+IHtcbiAgICAgIGNvbnN0IHByb3BzOiBEYXRhRXhwbG9yZXJTY3JpcHRQcm9wcyA9IHtcbiAgICAgICAgLi4uc2NyaXB0UHJvcHMsXG4gICAgICAgIGZvcmNlVXBkYXRlVGFnOiBcInRlc3QtcnVuXCIsXG4gICAgICB9O1xuICAgICAgY29uc3Qgc2NyaXB0ID0gbmV3IERhdGFFeHBsb3JlclNjcmlwdChzdGFjaywgXCJCb2R5U2NyaXB0XCIsIHByb3BzKTtcbiAgICAgIGNvbnN0IGJvZHkgPSAoc2NyaXB0IGFzIGFueSkuY3JlYXRlUmVzb3VyY2VCb2R5KHByb3BzKTtcblxuICAgICAgZXhwZWN0KGJvZHkucHJvcGVydGllcy5zY3JpcHRDb250ZW50KS50b0JlKHNjcmlwdFByb3BzLnNjcmlwdENvbnRlbnQpO1xuICAgICAgZXhwZWN0KGJvZHkucHJvcGVydGllcy5mb3JjZVVwZGF0ZVRhZykudG9CZShcInRlc3QtcnVuXCIpO1xuICAgICAgZXhwZWN0KGJvZHkucHJvcGVydGllcy5jb250aW51ZU9uRXJyb3JzKS50b0JlKGZhbHNlKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGV4cG9zZSBvdXRwdXRzXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IHNjcmlwdCA9IG5ldyBEYXRhRXhwbG9yZXJTY3JpcHQoc3RhY2ssIFwiT3V0cHV0U2NyaXB0XCIsIHNjcmlwdFByb3BzKTtcblxuICAgICAgZXhwZWN0KHNjcmlwdC5pZE91dHB1dCkudG9CZURlZmluZWQoKTtcbiAgICAgIGV4cGVjdChzY3JpcHQubmFtZU91dHB1dCkudG9CZURlZmluZWQoKTtcbiAgICAgIGV4cGVjdChzY3JpcHQucmVzb3VyY2VJZCkudG9CZShzY3JpcHQuaWQpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZShcIkNESyBUZXJyYWZvcm0gSW50ZWdyYXRpb25cIiwgKCkgPT4ge1xuICAgIGl0KFwic2hvdWxkIHN5bnRoZXNpemUgYWxsIEFEWCByZXNvdXJjZXMgaW4gb25lIHN0YWNrXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IGNsdXN0ZXIgPSBuZXcgRGF0YUV4cGxvcmVyQ2x1c3RlcihzdGFjaywgXCJTeW50aENsdXN0ZXJcIiwge1xuICAgICAgICBuYW1lOiBcInN5bnRoLWNsdXN0ZXJcIixcbiAgICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICAgIHJlc291cmNlR3JvdXBJZDogXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnXCIsXG4gICAgICAgIHNrdToge1xuICAgICAgICAgIG5hbWU6IFwiRGV2KE5vIFNMQSlfU3RhbmRhcmRfRTJhX3Y0XCIsXG4gICAgICAgICAgY2FwYWNpdHk6IDEsXG4gICAgICAgICAgdGllcjogXCJCYXNpY1wiLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGRhdGFiYXNlID0gbmV3IERhdGFFeHBsb3JlckRhdGFiYXNlKHN0YWNrLCBcIlN5bnRoRGF0YWJhc2VcIiwge1xuICAgICAgICBuYW1lOiBcInN5bnRoLWRiXCIsXG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBjbHVzdGVySWQ6IGNsdXN0ZXIuaWQsXG4gICAgICAgIGtpbmQ6IFwiUmVhZFdyaXRlXCIsXG4gICAgICB9KTtcblxuICAgICAgbmV3IERhdGFFeHBsb3JlclNjcmlwdChzdGFjaywgXCJTeW50aFNjcmlwdFwiLCB7XG4gICAgICAgIG5hbWU6IFwic3ludGgtc2NyaXB0XCIsXG4gICAgICAgIGRhdGFiYXNlSWQ6IGRhdGFiYXNlLmlkLFxuICAgICAgICBzY3JpcHRDb250ZW50OlxuICAgICAgICAgIFwiLmNyZWF0ZSB0YWJsZSBUZXN0VGFibGUgKENvbHVtbjE6IHN0cmluZywgQ29sdW1uMjogaW50KVwiLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHN5bnRoZXNpemVkID0gVGVzdGluZy5zeW50aChzdGFjayk7XG4gICAgICBleHBlY3Qoc3ludGhlc2l6ZWQpLnRvQ29udGFpbihcIk1pY3Jvc29mdC5LdXN0by9jbHVzdGVyc0AyMDI0LTA0LTEzXCIpO1xuICAgICAgZXhwZWN0KHN5bnRoZXNpemVkKS50b0NvbnRhaW4oXG4gICAgICAgIFwiTWljcm9zb2Z0Lkt1c3RvL2NsdXN0ZXJzL2RhdGFiYXNlc0AyMDI0LTA0LTEzXCIsXG4gICAgICApO1xuICAgICAgZXhwZWN0KHN5bnRoZXNpemVkKS50b0NvbnRhaW4oXG4gICAgICAgIFwiTWljcm9zb2Z0Lkt1c3RvL2NsdXN0ZXJzL2RhdGFiYXNlcy9zY3JpcHRzQDIwMjQtMDQtMTNcIixcbiAgICAgICk7XG4gICAgICBleHBlY3Qoc3ludGhlc2l6ZWQpLnRvQ29udGFpbihcIlRlc3RUYWJsZVwiKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* - Full JSII compliance for multi-language support
|
|
16
16
|
* - Support for multiple destinations (Log Analytics, Storage, Event Hub)
|
|
17
17
|
*/
|
|
18
|
-
import * as
|
|
18
|
+
import * as cdktn from "cdktn";
|
|
19
19
|
import { Construct } from "constructs";
|
|
20
20
|
import { AzapiResource, AzapiResourceProps, DiagnosticLogConfig, DiagnosticMetricConfig } from "../../core-azure/lib/azapi/azapi-resource";
|
|
21
21
|
import { ApiSchema } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
|
|
@@ -140,8 +140,8 @@ export declare class DiagnosticSettings extends AzapiResource {
|
|
|
140
140
|
* The input properties for this Diagnostic Settings instance
|
|
141
141
|
*/
|
|
142
142
|
readonly props: DiagnosticSettingsProps;
|
|
143
|
-
readonly idOutput:
|
|
144
|
-
readonly nameOutput:
|
|
143
|
+
readonly idOutput: cdktn.TerraformOutput;
|
|
144
|
+
readonly nameOutput: cdktn.TerraformOutput;
|
|
145
145
|
/**
|
|
146
146
|
* Creates a new Azure Diagnostic Settings using the AzapiResource framework
|
|
147
147
|
*
|
|
@@ -20,7 +20,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
20
20
|
* - Full JSII compliance for multi-language support
|
|
21
21
|
* - Support for multiple destinations (Log Analytics, Storage, Event Hub)
|
|
22
22
|
*/
|
|
23
|
-
const
|
|
23
|
+
const cdktn = require("cdktn");
|
|
24
24
|
const diagnostic_settings_schemas_1 = require("./diagnostic-settings-schemas");
|
|
25
25
|
const azapi_resource_1 = require("../../core-azure/lib/azapi/azapi-resource");
|
|
26
26
|
/**
|
|
@@ -100,11 +100,11 @@ class DiagnosticSettings extends azapi_resource_1.AzapiResource {
|
|
|
100
100
|
this.props = props;
|
|
101
101
|
// Extract properties from the AZAPI resource outputs using Terraform interpolation
|
|
102
102
|
// Create Terraform outputs for easy access and referencing from other resources
|
|
103
|
-
this.idOutput = new
|
|
103
|
+
this.idOutput = new cdktn.TerraformOutput(this, "id", {
|
|
104
104
|
value: this.id,
|
|
105
105
|
description: "The ID of the Diagnostic Settings",
|
|
106
106
|
});
|
|
107
|
-
this.nameOutput = new
|
|
107
|
+
this.nameOutput = new cdktn.TerraformOutput(this, "name", {
|
|
108
108
|
value: `\${${this.terraformResource.fqn}.name}`,
|
|
109
109
|
description: "The name of the Diagnostic Settings",
|
|
110
110
|
});
|
|
@@ -167,8 +167,8 @@ class DiagnosticSettings extends azapi_resource_1.AzapiResource {
|
|
|
167
167
|
}
|
|
168
168
|
exports.DiagnosticSettings = DiagnosticSettings;
|
|
169
169
|
_a = JSII_RTTI_SYMBOL_1;
|
|
170
|
-
DiagnosticSettings[_a] = { fqn: "@microsoft/terraform-cdk-constructs.DiagnosticSettings", version: "
|
|
170
|
+
DiagnosticSettings[_a] = { fqn: "@microsoft/terraform-cdk-constructs.DiagnosticSettings", version: "2.5.0" };
|
|
171
171
|
(() => {
|
|
172
172
|
azapi_resource_1.AzapiResource.registerSchemas(diagnostic_settings_schemas_1.DIAGNOSTIC_SETTINGS_TYPE, diagnostic_settings_schemas_1.ALL_DIAGNOSTIC_SETTINGS_VERSIONS);
|
|
173
173
|
})();
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ25vc3RpYy1zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1kaWFnbm9zdGljc2V0dGluZ3MvbGliL2RpYWdub3N0aWMtc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUVILCtCQUErQjtBQUUvQiwrRUFHdUM7QUFDdkMsOEVBS21EO0FBK0VuRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlERztBQUNILE1BQWEsa0JBQW1CLFNBQVEsOEJBQWE7SUFpQm5ELG9CQUFvQjtJQUVwQjs7Ozs7Ozs7O09BU0c7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQThCO1FBQ3RFLHNEQUFzRDtRQUN0RCxJQUNFLENBQUMsS0FBSyxDQUFDLFdBQVc7WUFDbEIsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCO1lBQ3ZCLENBQUMsS0FBSyxDQUFDLDJCQUEyQixFQUNsQyxDQUFDO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FDYixvSUFBb0ksQ0FDckksQ0FBQztRQUNKLENBQUM7UUFFRCw0RUFBNEU7UUFDNUUsSUFBSSxLQUFLLENBQUMsMkJBQTJCLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDN0QsTUFBTSxJQUFJLEtBQUssQ0FDYix3RUFBd0UsQ0FDekUsQ0FBQztRQUNKLENBQUM7UUFFRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixtRkFBbUY7UUFFbkYsZ0ZBQWdGO1FBQ2hGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUU7WUFDcEQsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ2QsV0FBVyxFQUFFLG1DQUFtQztTQUNqRCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ3hELEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLFFBQVE7WUFDL0MsV0FBVyxFQUFFLHFDQUFxQztTQUNuRCxDQUFDLENBQUM7UUFFSCx1QkFBdUI7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxnRkFBZ0Y7SUFDaEYsK0NBQStDO0lBQy9DLGdGQUFnRjtJQUVoRjs7O09BR0c7SUFDTyxjQUFjO1FBQ3RCLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7T0FFRztJQUNPLFlBQVk7UUFDcEIsT0FBTyxzREFBd0IsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sU0FBUztRQUNqQixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7OztPQUdHO0lBQ08sa0JBQWtCLENBQUMsS0FBVTtRQUNyQyxNQUFNLFVBQVUsR0FBRyxLQUFnQyxDQUFDO1FBRXBELG1FQUFtRTtRQUNuRSxPQUFPO1lBQ0wsVUFBVSxFQUFFO2dCQUNWLFdBQVcsRUFBRSxVQUFVLENBQUMsV0FBVztnQkFDbkMsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLGdCQUFnQjtnQkFDN0MsMkJBQTJCLEVBQUUsVUFBVSxDQUFDLDJCQUEyQjtnQkFDbkUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxZQUFZO2dCQUNyQyxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUksSUFBSSxFQUFFO2dCQUMzQixPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU8sSUFBSSxFQUFFO2dCQUNqQywyQkFBMkIsRUFBRSxVQUFVLENBQUMsMkJBQTJCO2FBQ3BFO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDTyxlQUFlLENBQUMsS0FBVTtRQUNsQyxPQUFRLEtBQWlDLENBQUMsZ0JBQWdCLENBQUM7SUFDN0QsQ0FBQzs7QUEvSEgsZ0RBZ0lDOzs7QUEvSEM7SUFDRSw4QkFBYSxDQUFDLGVBQWUsQ0FDM0Isc0RBQXdCLEVBQ3hCLDhEQUFnQyxDQUNqQyxDQUFDO0FBQ0osQ0FBQyxHQUFBLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFVuaWZpZWQgQXp1cmUgRGlhZ25vc3RpYyBTZXR0aW5ncyBpbXBsZW1lbnRhdGlvbiB1c2luZyBBemFwaVJlc291cmNlIGZyYW1ld29ya1xuICpcbiAqIFRoaXMgY2xhc3MgcHJvdmlkZXMgYSB2ZXJzaW9uLWF3YXJlIGltcGxlbWVudGF0aW9uIGZvciBBenVyZSBEaWFnbm9zdGljIFNldHRpbmdzXG4gKiB0aGF0IGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB2ZXJzaW9uIG1hbmFnZW1lbnQsIHNjaGVtYSB2YWxpZGF0aW9uLCBhbmQgcHJvcGVydHlcbiAqIHRyYW5zZm9ybWF0aW9uIGFjcm9zcyBhbGwgc3VwcG9ydGVkIEFQSSB2ZXJzaW9ucy5cbiAqXG4gKiBTdXBwb3J0ZWQgQVBJIFZlcnNpb25zOlxuICogLSAyMDIxLTA1LTAxLXByZXZpZXcgKEFjdGl2ZSwgTGF0ZXN0KVxuICpcbiAqIEZlYXR1cmVzOlxuICogLSBBdXRvbWF0aWMgbGF0ZXN0IHZlcnNpb24gcmVzb2x1dGlvbiB3aGVuIG5vIHZlcnNpb24gaXMgc3BlY2lmaWVkXG4gKiAtIEV4cGxpY2l0IHZlcnNpb24gcGlubmluZyBmb3Igc3RhYmlsaXR5IHJlcXVpcmVtZW50c1xuICogLSBTY2hlbWEtZHJpdmVuIHZhbGlkYXRpb24gYW5kIHRyYW5zZm9ybWF0aW9uXG4gKiAtIEZ1bGwgSlNJSSBjb21wbGlhbmNlIGZvciBtdWx0aS1sYW5ndWFnZSBzdXBwb3J0XG4gKiAtIFN1cHBvcnQgZm9yIG11bHRpcGxlIGRlc3RpbmF0aW9ucyAoTG9nIEFuYWx5dGljcywgU3RvcmFnZSwgRXZlbnQgSHViKVxuICovXG5cbmltcG9ydCAqIGFzIGNka3RmIGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7XG4gIEFMTF9ESUFHTk9TVElDX1NFVFRJTkdTX1ZFUlNJT05TLFxuICBESUFHTk9TVElDX1NFVFRJTkdTX1RZUEUsXG59IGZyb20gXCIuL2RpYWdub3N0aWMtc2V0dGluZ3Mtc2NoZW1hc1wiO1xuaW1wb3J0IHtcbiAgQXphcGlSZXNvdXJjZSxcbiAgQXphcGlSZXNvdXJjZVByb3BzLFxuICBEaWFnbm9zdGljTG9nQ29uZmlnLFxuICBEaWFnbm9zdGljTWV0cmljQ29uZmlnLFxufSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvYXphcGkvYXphcGktcmVzb3VyY2VcIjtcbmltcG9ydCB7IEFwaVNjaGVtYSB9IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlL2xpYi92ZXJzaW9uLW1hbmFnZXIvaW50ZXJmYWNlcy92ZXJzaW9uLWludGVyZmFjZXNcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciB0aGUgdW5pZmllZCBBenVyZSBEaWFnbm9zdGljIFNldHRpbmdzXG4gKlxuICogRXh0ZW5kcyBBemFwaVJlc291cmNlUHJvcHMgd2l0aCBEaWFnbm9zdGljIFNldHRpbmdzIHNwZWNpZmljIHByb3BlcnRpZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcyBleHRlbmRzIEF6YXBpUmVzb3VyY2VQcm9wcyB7XG4gIC8qKlxuICAgKiBUYXJnZXQgcmVzb3VyY2UgSUQgdG8gYXR0YWNoIGRpYWdub3N0aWMgc2V0dGluZ3MgdG9cbiAgICogVGhpcyBpcyB0aGUgcmVzb3VyY2UgYmVpbmcgbW9uaXRvcmVkXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRSZXNvdXJjZUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExvZyBBbmFseXRpY3Mgd29ya3NwYWNlIElEIGZvciBsb2cvbWV0cmljIGRlc3RpbmF0aW9uXG4gICAqIEF0IGxlYXN0IG9uZSBkZXN0aW5hdGlvbiAod29ya3NwYWNlLCBzdG9yYWdlLCBvciBldmVudCBodWIpIG11c3QgYmUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSB3b3Jrc3BhY2VJZD86IHN0cmluZztcblxuICAvKipcbiAgICogU3RvcmFnZSBhY2NvdW50IElEIGZvciBsb2cvbWV0cmljIGRlc3RpbmF0aW9uXG4gICAqIEF0IGxlYXN0IG9uZSBkZXN0aW5hdGlvbiAod29ya3NwYWNlLCBzdG9yYWdlLCBvciBldmVudCBodWIpIG11c3QgYmUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSBzdG9yYWdlQWNjb3VudElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFdmVudCBIdWIgYXV0aG9yaXphdGlvbiBydWxlIElEIGZvciBzdHJlYW1pbmdcbiAgICogUmVxdWlyZXMgZXZlbnRIdWJOYW1lIHRvIGJlIHNwZWNpZmllZCBhcyB3ZWxsXG4gICAqL1xuICByZWFkb25seSBldmVudEh1YkF1dGhvcml6YXRpb25SdWxlSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEV2ZW50IEh1YiBuYW1lIGZvciBzdHJlYW1pbmdcbiAgICogUmVxdWlyZWQgd2hlbiBldmVudEh1YkF1dGhvcml6YXRpb25SdWxlSWQgaXMgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSBldmVudEh1Yk5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExvZyBjYXRlZ29yaWVzIHRvIGVuYWJsZVxuICAgKiBEZWZpbmVzIHdoaWNoIGxvZyBjYXRlZ29yaWVzIHNob3VsZCBiZSBleHBvcnRlZFxuICAgKi9cbiAgcmVhZG9ubHkgbG9ncz86IERpYWdub3N0aWNMb2dDb25maWdbXTtcblxuICAvKipcbiAgICogTWV0cmljIGNhdGVnb3JpZXMgdG8gZW5hYmxlXG4gICAqIERlZmluZXMgd2hpY2ggbWV0cmljIGNhdGVnb3JpZXMgc2hvdWxkIGJlIGV4cG9ydGVkXG4gICAqL1xuICByZWFkb25seSBtZXRyaWNzPzogRGlhZ25vc3RpY01ldHJpY0NvbmZpZ1tdO1xuXG4gIC8qKlxuICAgKiBMb2cgQW5hbHl0aWNzIGRlc3RpbmF0aW9uIHR5cGVcbiAgICogRGV0ZXJtaW5lcyB0aGUgdGFibGUgc3RydWN0dXJlIGluIExvZyBBbmFseXRpY3NcbiAgICogQGRlZmF1bHRWYWx1ZSB1bmRlZmluZWQgKHVzZXMgZGVmYXVsdCBiZWhhdmlvcilcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0FuYWx5dGljc0Rlc3RpbmF0aW9uVHlwZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBEaWFnbm9zdGljIFNldHRpbmdzIHByb3BlcnRpZXMgZm9yIHRoZSByZXF1ZXN0IGJvZHlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaWFnbm9zdGljU2V0dGluZ3NCb2R5UHJvcGVydGllcyB7XG4gIHJlYWRvbmx5IHdvcmtzcGFjZUlkPzogc3RyaW5nO1xuICByZWFkb25seSBzdG9yYWdlQWNjb3VudElkPzogc3RyaW5nO1xuICByZWFkb25seSBldmVudEh1YkF1dGhvcml6YXRpb25SdWxlSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGV2ZW50SHViTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgbG9ncz86IERpYWdub3N0aWNMb2dDb25maWdbXTtcbiAgcmVhZG9ubHkgbWV0cmljcz86IERpYWdub3N0aWNNZXRyaWNDb25maWdbXTtcbiAgcmVhZG9ubHkgbG9nQW5hbHl0aWNzRGVzdGluYXRpb25UeXBlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSByZXNvdXJjZSBib2R5IGludGVyZmFjZSBmb3IgQXp1cmUgRGlhZ25vc3RpYyBTZXR0aW5ncyBBUEkgY2FsbHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaWFnbm9zdGljU2V0dGluZ3NCb2R5IHtcbiAgcmVhZG9ubHkgcHJvcGVydGllczogRGlhZ25vc3RpY1NldHRpbmdzQm9keVByb3BlcnRpZXM7XG59XG5cbi8qKlxuICogVW5pZmllZCBBenVyZSBEaWFnbm9zdGljIFNldHRpbmdzIGltcGxlbWVudGF0aW9uXG4gKlxuICogVGhpcyBjbGFzcyBwcm92aWRlcyBhIHNpbmdsZSwgdmVyc2lvbi1hd2FyZSBpbXBsZW1lbnRhdGlvbiB0aGF0IGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB2ZXJzaW9uXG4gKiByZXNvbHV0aW9uLCBzY2hlbWEgdmFsaWRhdGlvbiwgYW5kIHByb3BlcnR5IHRyYW5zZm9ybWF0aW9uIHdoaWxlIG1haW50YWluaW5nIGZ1bGwgSlNJSSBjb21wbGlhbmNlLlxuICpcbiAqIERpYWdub3N0aWMgU2V0dGluZ3MgZW5hYmxlIG1vbml0b3JpbmcgYW5kIG9ic2VydmFiaWxpdHkgYnkgZXhwb3J0aW5nIHBsYXRmb3JtIGxvZ3MgYW5kIG1ldHJpY3NcbiAqIHRvIG9uZSBvciBtb3JlIGRlc3RpbmF0aW9ucyBpbmNsdWRpbmcgTG9nIEFuYWx5dGljcyB3b3Jrc3BhY2VzLCBTdG9yYWdlIGFjY291bnRzLCBhbmQgRXZlbnQgSHVicy5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQmFzaWMgZGlhZ25vc3RpYyBzZXR0aW5ncyB3aXRoIExvZyBBbmFseXRpY3M6XG4gKiBjb25zdCBkaWFnbm9zdGljcyA9IG5ldyBEaWFnbm9zdGljU2V0dGluZ3ModGhpcywgXCJ2bS1kaWFnbm9zdGljc1wiLCB7XG4gKiAgIG5hbWU6IFwidm0tZGlhZ25vc3RpY3NcIixcbiAqICAgdGFyZ2V0UmVzb3VyY2VJZDogdmlydHVhbE1hY2hpbmUuaWQsXG4gKiAgIHdvcmtzcGFjZUlkOiBsb2dBbmFseXRpY3NXb3Jrc3BhY2UuaWQsXG4gKiAgIGxvZ3M6IFt7XG4gKiAgICAgY2F0ZWdvcnlHcm91cDogXCJhbGxMb2dzXCIsXG4gKiAgICAgZW5hYmxlZDogdHJ1ZVxuICogICB9XSxcbiAqICAgbWV0cmljczogW3tcbiAqICAgICBjYXRlZ29yeTogXCJBbGxNZXRyaWNzXCIsXG4gKiAgICAgZW5hYmxlZDogdHJ1ZVxuICogICB9XVxuICogfSk7XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIERpYWdub3N0aWMgc2V0dGluZ3Mgd2l0aCBtdWx0aXBsZSBkZXN0aW5hdGlvbnM6XG4gKiBjb25zdCBkaWFnbm9zdGljcyA9IG5ldyBEaWFnbm9zdGljU2V0dGluZ3ModGhpcywgXCJzdG9yYWdlLWRpYWdub3N0aWNzXCIsIHtcbiAqICAgbmFtZTogXCJzdG9yYWdlLWRpYWdub3N0aWNzXCIsXG4gKiAgIHRhcmdldFJlc291cmNlSWQ6IHN0b3JhZ2VBY2NvdW50LmlkLFxuICogICB3b3Jrc3BhY2VJZDogbG9nQW5hbHl0aWNzV29ya3NwYWNlLmlkLFxuICogICBzdG9yYWdlQWNjb3VudElkOiBhcmNoaXZlU3RvcmFnZUFjY291bnQuaWQsXG4gKiAgIGV2ZW50SHViQXV0aG9yaXphdGlvblJ1bGVJZDogZXZlbnRIdWIuYXV0aFJ1bGVJZCxcbiAqICAgZXZlbnRIdWJOYW1lOiBcIm1vbml0b3JpbmctaHViXCIsXG4gKiAgIGxvZ3M6IFt7XG4gKiAgICAgY2F0ZWdvcnk6IFwiU3RvcmFnZVJlYWRcIixcbiAqICAgICBlbmFibGVkOiB0cnVlLFxuICogICAgIHJldGVudGlvblBvbGljeToge1xuICogICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAqICAgICAgIGRheXM6IDkwXG4gKiAgICAgfVxuICogICB9XSxcbiAqICAgbWV0cmljczogW3tcbiAqICAgICBjYXRlZ29yeTogXCJUcmFuc2FjdGlvblwiLFxuICogICAgIGVuYWJsZWQ6IHRydWVcbiAqICAgfV1cbiAqIH0pO1xuICpcbiAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gKi9cbmV4cG9ydCBjbGFzcyBEaWFnbm9zdGljU2V0dGluZ3MgZXh0ZW5kcyBBemFwaVJlc291cmNlIHtcbiAgc3RhdGljIHtcbiAgICBBemFwaVJlc291cmNlLnJlZ2lzdGVyU2NoZW1hcyhcbiAgICAgIERJQUdOT1NUSUNfU0VUVElOR1NfVFlQRSxcbiAgICAgIEFMTF9ESUFHTk9TVElDX1NFVFRJTkdTX1ZFUlNJT05TLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGlucHV0IHByb3BlcnRpZXMgZm9yIHRoaXMgRGlhZ25vc3RpYyBTZXR0aW5ncyBpbnN0YW5jZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHByb3BzOiBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcztcblxuICAvLyBPdXRwdXQgcHJvcGVydGllcyBmb3IgZWFzeSBhY2Nlc3MgYW5kIHJlZmVyZW5jaW5nXG4gIHB1YmxpYyByZWFkb25seSBpZE91dHB1dDogY2RrdGYuVGVycmFmb3JtT3V0cHV0O1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZU91dHB1dDogY2RrdGYuVGVycmFmb3JtT3V0cHV0O1xuXG4gIC8vIFB1YmxpYyBwcm9wZXJ0aWVzXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgQXp1cmUgRGlhZ25vc3RpYyBTZXR0aW5ncyB1c2luZyB0aGUgQXphcGlSZXNvdXJjZSBmcmFtZXdvcmtcbiAgICpcbiAgICogVGhlIGNvbnN0cnVjdG9yIGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB2ZXJzaW9uIHJlc29sdXRpb24sIHNjaGVtYSByZWdpc3RyYXRpb24sXG4gICAqIHZhbGlkYXRpb24sIGFuZCByZXNvdXJjZSBjcmVhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gVGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgaW5zdGFuY2VcbiAgICogQHBhcmFtIHByb3BzIC0gQ29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgRGlhZ25vc3RpYyBTZXR0aW5nc1xuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERpYWdub3N0aWNTZXR0aW5nc1Byb3BzKSB7XG4gICAgLy8gVmFsaWRhdGUgdGhhdCBhdCBsZWFzdCBvbmUgZGVzdGluYXRpb24gaXMgc3BlY2lmaWVkXG4gICAgaWYgKFxuICAgICAgIXByb3BzLndvcmtzcGFjZUlkICYmXG4gICAgICAhcHJvcHMuc3RvcmFnZUFjY291bnRJZCAmJlxuICAgICAgIXByb3BzLmV2ZW50SHViQXV0aG9yaXphdGlvblJ1bGVJZFxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIkF0IGxlYXN0IG9uZSBkZXN0aW5hdGlvbiAod29ya3NwYWNlSWQsIHN0b3JhZ2VBY2NvdW50SWQsIG9yIGV2ZW50SHViQXV0aG9yaXphdGlvblJ1bGVJZCkgbXVzdCBiZSBzcGVjaWZpZWQgZm9yIERpYWdub3N0aWMgU2V0dGluZ3NcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGUgZXZlbnRIdWJOYW1lIGlzIHByb3ZpZGVkIHdoZW4gZXZlbnRIdWJBdXRob3JpemF0aW9uUnVsZUlkIGlzIHNldFxuICAgIGlmIChwcm9wcy5ldmVudEh1YkF1dGhvcml6YXRpb25SdWxlSWQgJiYgIXByb3BzLmV2ZW50SHViTmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcImV2ZW50SHViTmFtZSBpcyByZXF1aXJlZCB3aGVuIGV2ZW50SHViQXV0aG9yaXphdGlvblJ1bGVJZCBpcyBzcGVjaWZpZWRcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG5cbiAgICAvLyBFeHRyYWN0IHByb3BlcnRpZXMgZnJvbSB0aGUgQVpBUEkgcmVzb3VyY2Ugb3V0cHV0cyB1c2luZyBUZXJyYWZvcm0gaW50ZXJwb2xhdGlvblxuXG4gICAgLy8gQ3JlYXRlIFRlcnJhZm9ybSBvdXRwdXRzIGZvciBlYXN5IGFjY2VzcyBhbmQgcmVmZXJlbmNpbmcgZnJvbSBvdGhlciByZXNvdXJjZXNcbiAgICB0aGlzLmlkT3V0cHV0ID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcImlkXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLmlkLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIElEIG9mIHRoZSBEaWFnbm9zdGljIFNldHRpbmdzXCIsXG4gICAgfSk7XG5cbiAgICB0aGlzLm5hbWVPdXRwdXQgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICB2YWx1ZTogYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5uYW1lfWAsXG4gICAgICBkZXNjcmlwdGlvbjogXCJUaGUgbmFtZSBvZiB0aGUgRGlhZ25vc3RpYyBTZXR0aW5nc1wiLFxuICAgIH0pO1xuXG4gICAgLy8gT3ZlcnJpZGUgbG9naWNhbCBJRHNcbiAgICB0aGlzLmlkT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwiaWRcIik7XG4gICAgdGhpcy5uYW1lT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwibmFtZVwiKTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFJFUVVJUkVEIEFCU1RSQUNUIE1FVEhPRFMgRlJPTSBBemFwaVJlc291cmNlXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGRlZmF1bHQgQVBJIHZlcnNpb24gdG8gdXNlIHdoZW4gbm8gZXhwbGljaXQgdmVyc2lvbiBpcyBzcGVjaWZpZWRcbiAgICogUmV0dXJucyB0aGUgbGF0ZXN0IHN0YWJsZSAobm9uLXByZXZpZXcpIHZlcnNpb24gYXMgdGhlIGRlZmF1bHRcbiAgICovXG4gIHByb3RlY3RlZCBkZWZhdWx0VmVyc2lvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBcIjIwMTYtMDktMDFcIjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBBenVyZSByZXNvdXJjZSB0eXBlIGZvciBEaWFnbm9zdGljIFNldHRpbmdzXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVzb3VyY2VUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIERJQUdOT1NUSUNfU0VUVElOR1NfVFlQRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBBUEkgc2NoZW1hIGZvciB0aGUgcmVzb2x2ZWQgdmVyc2lvblxuICAgKiBVc2VzIHRoZSBmcmFtZXdvcmsncyBzY2hlbWEgcmVzb2x1dGlvbiB0byBnZXQgdGhlIGFwcHJvcHJpYXRlIHNjaGVtYVxuICAgKi9cbiAgcHJvdGVjdGVkIGFwaVNjaGVtYSgpOiBBcGlTY2hlbWEge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVTY2hlbWEoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIHRoZSByZXNvdXJjZSBib2R5IGZvciB0aGUgQXp1cmUgQVBJIGNhbGxcbiAgICogVHJhbnNmb3JtcyB0aGUgaW5wdXQgcHJvcGVydGllcyBpbnRvIHRoZSBKU09OIGZvcm1hdCBleHBlY3RlZCBieSBBenVyZSBSRVNUIEFQSVxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZVJlc291cmNlQm9keShwcm9wczogYW55KTogYW55IHtcbiAgICBjb25zdCB0eXBlZFByb3BzID0gcHJvcHMgYXMgRGlhZ25vc3RpY1NldHRpbmdzUHJvcHM7XG5cbiAgICAvLyBEaWFnbm9zdGljIHNldHRpbmdzIGRvbid0IGhhdmUgbG9jYXRpb24gb3IgdGFncyBhdCB0aGUgdG9wIGxldmVsXG4gICAgcmV0dXJuIHtcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgd29ya3NwYWNlSWQ6IHR5cGVkUHJvcHMud29ya3NwYWNlSWQsXG4gICAgICAgIHN0b3JhZ2VBY2NvdW50SWQ6IHR5cGVkUHJvcHMuc3RvcmFnZUFjY291bnRJZCxcbiAgICAgICAgZXZlbnRIdWJBdXRob3JpemF0aW9uUnVsZUlkOiB0eXBlZFByb3BzLmV2ZW50SHViQXV0aG9yaXphdGlvblJ1bGVJZCxcbiAgICAgICAgZXZlbnRIdWJOYW1lOiB0eXBlZFByb3BzLmV2ZW50SHViTmFtZSxcbiAgICAgICAgbG9nczogdHlwZWRQcm9wcy5sb2dzIHx8IFtdLFxuICAgICAgICBtZXRyaWNzOiB0eXBlZFByb3BzLm1ldHJpY3MgfHwgW10sXG4gICAgICAgIGxvZ0FuYWx5dGljc0Rlc3RpbmF0aW9uVHlwZTogdHlwZWRQcm9wcy5sb2dBbmFseXRpY3NEZXN0aW5hdGlvblR5cGUsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZXMgdGhlIHBhcmVudCByZXNvdXJjZSBJRCBmb3IgRGlhZ25vc3RpYyBTZXR0aW5nc1xuICAgKiBEaWFnbm9zdGljIFNldHRpbmdzIGFyZSBjaGlsZCByZXNvdXJjZXMgYXR0YWNoZWQgdG8gdGhlIG1vbml0b3JlZCByZXNvdXJjZVxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgLSBUaGUgcmVzb3VyY2UgcHJvcGVydGllc1xuICAgKiBAcmV0dXJucyBUaGUgcGFyZW50IHJlc291cmNlIElEICh0aGUgdGFyZ2V0IHJlc291cmNlIGJlaW5nIG1vbml0b3JlZClcbiAgICovXG4gIHByb3RlY3RlZCByZXNvbHZlUGFyZW50SWQocHJvcHM6IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIChwcm9wcyBhcyBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcykudGFyZ2V0UmVzb3VyY2VJZDtcbiAgfVxufVxuIl19
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ25vc3RpYy1zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1kaWFnbm9zdGljc2V0dGluZ3MvbGliL2RpYWdub3N0aWMtc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUVILCtCQUErQjtBQUUvQiwrRUFHdUM7QUFDdkMsOEVBS21EO0FBK0VuRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlERztBQUNILE1BQWEsa0JBQW1CLFNBQVEsOEJBQWE7SUFpQm5ELG9CQUFvQjtJQUVwQjs7Ozs7Ozs7O09BU0c7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQThCO1FBQ3RFLHNEQUFzRDtRQUN0RCxJQUNFLENBQUMsS0FBSyxDQUFDLFdBQVc7WUFDbEIsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCO1lBQ3ZCLENBQUMsS0FBSyxDQUFDLDJCQUEyQixFQUNsQyxDQUFDO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FDYixvSUFBb0ksQ0FDckksQ0FBQztRQUNKLENBQUM7UUFFRCw0RUFBNEU7UUFDNUUsSUFBSSxLQUFLLENBQUMsMkJBQTJCLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDN0QsTUFBTSxJQUFJLEtBQUssQ0FDYix3RUFBd0UsQ0FDekUsQ0FBQztRQUNKLENBQUM7UUFFRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixtRkFBbUY7UUFFbkYsZ0ZBQWdGO1FBQ2hGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUU7WUFDcEQsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ2QsV0FBVyxFQUFFLG1DQUFtQztTQUNqRCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ3hELEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLFFBQVE7WUFDL0MsV0FBVyxFQUFFLHFDQUFxQztTQUNuRCxDQUFDLENBQUM7UUFFSCx1QkFBdUI7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxnRkFBZ0Y7SUFDaEYsK0NBQStDO0lBQy9DLGdGQUFnRjtJQUVoRjs7O09BR0c7SUFDTyxjQUFjO1FBQ3RCLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7T0FFRztJQUNPLFlBQVk7UUFDcEIsT0FBTyxzREFBd0IsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sU0FBUztRQUNqQixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7OztPQUdHO0lBQ08sa0JBQWtCLENBQUMsS0FBVTtRQUNyQyxNQUFNLFVBQVUsR0FBRyxLQUFnQyxDQUFDO1FBRXBELG1FQUFtRTtRQUNuRSxPQUFPO1lBQ0wsVUFBVSxFQUFFO2dCQUNWLFdBQVcsRUFBRSxVQUFVLENBQUMsV0FBVztnQkFDbkMsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLGdCQUFnQjtnQkFDN0MsMkJBQTJCLEVBQUUsVUFBVSxDQUFDLDJCQUEyQjtnQkFDbkUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxZQUFZO2dCQUNyQyxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUksSUFBSSxFQUFFO2dCQUMzQixPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU8sSUFBSSxFQUFFO2dCQUNqQywyQkFBMkIsRUFBRSxVQUFVLENBQUMsMkJBQTJCO2FBQ3BFO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDTyxlQUFlLENBQUMsS0FBVTtRQUNsQyxPQUFRLEtBQWlDLENBQUMsZ0JBQWdCLENBQUM7SUFDN0QsQ0FBQzs7QUEvSEgsZ0RBZ0lDOzs7QUEvSEM7SUFDRSw4QkFBYSxDQUFDLGVBQWUsQ0FDM0Isc0RBQXdCLEVBQ3hCLDhEQUFnQyxDQUNqQyxDQUFDO0FBQ0osQ0FBQyxHQUFBLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFVuaWZpZWQgQXp1cmUgRGlhZ25vc3RpYyBTZXR0aW5ncyBpbXBsZW1lbnRhdGlvbiB1c2luZyBBemFwaVJlc291cmNlIGZyYW1ld29ya1xuICpcbiAqIFRoaXMgY2xhc3MgcHJvdmlkZXMgYSB2ZXJzaW9uLWF3YXJlIGltcGxlbWVudGF0aW9uIGZvciBBenVyZSBEaWFnbm9zdGljIFNldHRpbmdzXG4gKiB0aGF0IGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB2ZXJzaW9uIG1hbmFnZW1lbnQsIHNjaGVtYSB2YWxpZGF0aW9uLCBhbmQgcHJvcGVydHlcbiAqIHRyYW5zZm9ybWF0aW9uIGFjcm9zcyBhbGwgc3VwcG9ydGVkIEFQSSB2ZXJzaW9ucy5cbiAqXG4gKiBTdXBwb3J0ZWQgQVBJIFZlcnNpb25zOlxuICogLSAyMDIxLTA1LTAxLXByZXZpZXcgKEFjdGl2ZSwgTGF0ZXN0KVxuICpcbiAqIEZlYXR1cmVzOlxuICogLSBBdXRvbWF0aWMgbGF0ZXN0IHZlcnNpb24gcmVzb2x1dGlvbiB3aGVuIG5vIHZlcnNpb24gaXMgc3BlY2lmaWVkXG4gKiAtIEV4cGxpY2l0IHZlcnNpb24gcGlubmluZyBmb3Igc3RhYmlsaXR5IHJlcXVpcmVtZW50c1xuICogLSBTY2hlbWEtZHJpdmVuIHZhbGlkYXRpb24gYW5kIHRyYW5zZm9ybWF0aW9uXG4gKiAtIEZ1bGwgSlNJSSBjb21wbGlhbmNlIGZvciBtdWx0aS1sYW5ndWFnZSBzdXBwb3J0XG4gKiAtIFN1cHBvcnQgZm9yIG11bHRpcGxlIGRlc3RpbmF0aW9ucyAoTG9nIEFuYWx5dGljcywgU3RvcmFnZSwgRXZlbnQgSHViKVxuICovXG5cbmltcG9ydCAqIGFzIGNka3RuIGZyb20gXCJjZGt0blwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7XG4gIEFMTF9ESUFHTk9TVElDX1NFVFRJTkdTX1ZFUlNJT05TLFxuICBESUFHTk9TVElDX1NFVFRJTkdTX1RZUEUsXG59IGZyb20gXCIuL2RpYWdub3N0aWMtc2V0dGluZ3Mtc2NoZW1hc1wiO1xuaW1wb3J0IHtcbiAgQXphcGlSZXNvdXJjZSxcbiAgQXphcGlSZXNvdXJjZVByb3BzLFxuICBEaWFnbm9zdGljTG9nQ29uZmlnLFxuICBEaWFnbm9zdGljTWV0cmljQ29uZmlnLFxufSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvYXphcGkvYXphcGktcmVzb3VyY2VcIjtcbmltcG9ydCB7IEFwaVNjaGVtYSB9IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlL2xpYi92ZXJzaW9uLW1hbmFnZXIvaW50ZXJmYWNlcy92ZXJzaW9uLWludGVyZmFjZXNcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciB0aGUgdW5pZmllZCBBenVyZSBEaWFnbm9zdGljIFNldHRpbmdzXG4gKlxuICogRXh0ZW5kcyBBemFwaVJlc291cmNlUHJvcHMgd2l0aCBEaWFnbm9zdGljIFNldHRpbmdzIHNwZWNpZmljIHByb3BlcnRpZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcyBleHRlbmRzIEF6YXBpUmVzb3VyY2VQcm9wcyB7XG4gIC8qKlxuICAgKiBUYXJnZXQgcmVzb3VyY2UgSUQgdG8gYXR0YWNoIGRpYWdub3N0aWMgc2V0dGluZ3MgdG9cbiAgICogVGhpcyBpcyB0aGUgcmVzb3VyY2UgYmVpbmcgbW9uaXRvcmVkXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRSZXNvdXJjZUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExvZyBBbmFseXRpY3Mgd29ya3NwYWNlIElEIGZvciBsb2cvbWV0cmljIGRlc3RpbmF0aW9uXG4gICAqIEF0IGxlYXN0IG9uZSBkZXN0aW5hdGlvbiAod29ya3NwYWNlLCBzdG9yYWdlLCBvciBldmVudCBodWIpIG11c3QgYmUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSB3b3Jrc3BhY2VJZD86IHN0cmluZztcblxuICAvKipcbiAgICogU3RvcmFnZSBhY2NvdW50IElEIGZvciBsb2cvbWV0cmljIGRlc3RpbmF0aW9uXG4gICAqIEF0IGxlYXN0IG9uZSBkZXN0aW5hdGlvbiAod29ya3NwYWNlLCBzdG9yYWdlLCBvciBldmVudCBodWIpIG11c3QgYmUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSBzdG9yYWdlQWNjb3VudElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFdmVudCBIdWIgYXV0aG9yaXphdGlvbiBydWxlIElEIGZvciBzdHJlYW1pbmdcbiAgICogUmVxdWlyZXMgZXZlbnRIdWJOYW1lIHRvIGJlIHNwZWNpZmllZCBhcyB3ZWxsXG4gICAqL1xuICByZWFkb25seSBldmVudEh1YkF1dGhvcml6YXRpb25SdWxlSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEV2ZW50IEh1YiBuYW1lIGZvciBzdHJlYW1pbmdcbiAgICogUmVxdWlyZWQgd2hlbiBldmVudEh1YkF1dGhvcml6YXRpb25SdWxlSWQgaXMgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSBldmVudEh1Yk5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExvZyBjYXRlZ29yaWVzIHRvIGVuYWJsZVxuICAgKiBEZWZpbmVzIHdoaWNoIGxvZyBjYXRlZ29yaWVzIHNob3VsZCBiZSBleHBvcnRlZFxuICAgKi9cbiAgcmVhZG9ubHkgbG9ncz86IERpYWdub3N0aWNMb2dDb25maWdbXTtcblxuICAvKipcbiAgICogTWV0cmljIGNhdGVnb3JpZXMgdG8gZW5hYmxlXG4gICAqIERlZmluZXMgd2hpY2ggbWV0cmljIGNhdGVnb3JpZXMgc2hvdWxkIGJlIGV4cG9ydGVkXG4gICAqL1xuICByZWFkb25seSBtZXRyaWNzPzogRGlhZ25vc3RpY01ldHJpY0NvbmZpZ1tdO1xuXG4gIC8qKlxuICAgKiBMb2cgQW5hbHl0aWNzIGRlc3RpbmF0aW9uIHR5cGVcbiAgICogRGV0ZXJtaW5lcyB0aGUgdGFibGUgc3RydWN0dXJlIGluIExvZyBBbmFseXRpY3NcbiAgICogQGRlZmF1bHRWYWx1ZSB1bmRlZmluZWQgKHVzZXMgZGVmYXVsdCBiZWhhdmlvcilcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0FuYWx5dGljc0Rlc3RpbmF0aW9uVHlwZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBEaWFnbm9zdGljIFNldHRpbmdzIHByb3BlcnRpZXMgZm9yIHRoZSByZXF1ZXN0IGJvZHlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaWFnbm9zdGljU2V0dGluZ3NCb2R5UHJvcGVydGllcyB7XG4gIHJlYWRvbmx5IHdvcmtzcGFjZUlkPzogc3RyaW5nO1xuICByZWFkb25seSBzdG9yYWdlQWNjb3VudElkPzogc3RyaW5nO1xuICByZWFkb25seSBldmVudEh1YkF1dGhvcml6YXRpb25SdWxlSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGV2ZW50SHViTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgbG9ncz86IERpYWdub3N0aWNMb2dDb25maWdbXTtcbiAgcmVhZG9ubHkgbWV0cmljcz86IERpYWdub3N0aWNNZXRyaWNDb25maWdbXTtcbiAgcmVhZG9ubHkgbG9nQW5hbHl0aWNzRGVzdGluYXRpb25UeXBlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSByZXNvdXJjZSBib2R5IGludGVyZmFjZSBmb3IgQXp1cmUgRGlhZ25vc3RpYyBTZXR0aW5ncyBBUEkgY2FsbHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaWFnbm9zdGljU2V0dGluZ3NCb2R5IHtcbiAgcmVhZG9ubHkgcHJvcGVydGllczogRGlhZ25vc3RpY1NldHRpbmdzQm9keVByb3BlcnRpZXM7XG59XG5cbi8qKlxuICogVW5pZmllZCBBenVyZSBEaWFnbm9zdGljIFNldHRpbmdzIGltcGxlbWVudGF0aW9uXG4gKlxuICogVGhpcyBjbGFzcyBwcm92aWRlcyBhIHNpbmdsZSwgdmVyc2lvbi1hd2FyZSBpbXBsZW1lbnRhdGlvbiB0aGF0IGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB2ZXJzaW9uXG4gKiByZXNvbHV0aW9uLCBzY2hlbWEgdmFsaWRhdGlvbiwgYW5kIHByb3BlcnR5IHRyYW5zZm9ybWF0aW9uIHdoaWxlIG1haW50YWluaW5nIGZ1bGwgSlNJSSBjb21wbGlhbmNlLlxuICpcbiAqIERpYWdub3N0aWMgU2V0dGluZ3MgZW5hYmxlIG1vbml0b3JpbmcgYW5kIG9ic2VydmFiaWxpdHkgYnkgZXhwb3J0aW5nIHBsYXRmb3JtIGxvZ3MgYW5kIG1ldHJpY3NcbiAqIHRvIG9uZSBvciBtb3JlIGRlc3RpbmF0aW9ucyBpbmNsdWRpbmcgTG9nIEFuYWx5dGljcyB3b3Jrc3BhY2VzLCBTdG9yYWdlIGFjY291bnRzLCBhbmQgRXZlbnQgSHVicy5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQmFzaWMgZGlhZ25vc3RpYyBzZXR0aW5ncyB3aXRoIExvZyBBbmFseXRpY3M6XG4gKiBjb25zdCBkaWFnbm9zdGljcyA9IG5ldyBEaWFnbm9zdGljU2V0dGluZ3ModGhpcywgXCJ2bS1kaWFnbm9zdGljc1wiLCB7XG4gKiAgIG5hbWU6IFwidm0tZGlhZ25vc3RpY3NcIixcbiAqICAgdGFyZ2V0UmVzb3VyY2VJZDogdmlydHVhbE1hY2hpbmUuaWQsXG4gKiAgIHdvcmtzcGFjZUlkOiBsb2dBbmFseXRpY3NXb3Jrc3BhY2UuaWQsXG4gKiAgIGxvZ3M6IFt7XG4gKiAgICAgY2F0ZWdvcnlHcm91cDogXCJhbGxMb2dzXCIsXG4gKiAgICAgZW5hYmxlZDogdHJ1ZVxuICogICB9XSxcbiAqICAgbWV0cmljczogW3tcbiAqICAgICBjYXRlZ29yeTogXCJBbGxNZXRyaWNzXCIsXG4gKiAgICAgZW5hYmxlZDogdHJ1ZVxuICogICB9XVxuICogfSk7XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIERpYWdub3N0aWMgc2V0dGluZ3Mgd2l0aCBtdWx0aXBsZSBkZXN0aW5hdGlvbnM6XG4gKiBjb25zdCBkaWFnbm9zdGljcyA9IG5ldyBEaWFnbm9zdGljU2V0dGluZ3ModGhpcywgXCJzdG9yYWdlLWRpYWdub3N0aWNzXCIsIHtcbiAqICAgbmFtZTogXCJzdG9yYWdlLWRpYWdub3N0aWNzXCIsXG4gKiAgIHRhcmdldFJlc291cmNlSWQ6IHN0b3JhZ2VBY2NvdW50LmlkLFxuICogICB3b3Jrc3BhY2VJZDogbG9nQW5hbHl0aWNzV29ya3NwYWNlLmlkLFxuICogICBzdG9yYWdlQWNjb3VudElkOiBhcmNoaXZlU3RvcmFnZUFjY291bnQuaWQsXG4gKiAgIGV2ZW50SHViQXV0aG9yaXphdGlvblJ1bGVJZDogZXZlbnRIdWIuYXV0aFJ1bGVJZCxcbiAqICAgZXZlbnRIdWJOYW1lOiBcIm1vbml0b3JpbmctaHViXCIsXG4gKiAgIGxvZ3M6IFt7XG4gKiAgICAgY2F0ZWdvcnk6IFwiU3RvcmFnZVJlYWRcIixcbiAqICAgICBlbmFibGVkOiB0cnVlLFxuICogICAgIHJldGVudGlvblBvbGljeToge1xuICogICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAqICAgICAgIGRheXM6IDkwXG4gKiAgICAgfVxuICogICB9XSxcbiAqICAgbWV0cmljczogW3tcbiAqICAgICBjYXRlZ29yeTogXCJUcmFuc2FjdGlvblwiLFxuICogICAgIGVuYWJsZWQ6IHRydWVcbiAqICAgfV1cbiAqIH0pO1xuICpcbiAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gKi9cbmV4cG9ydCBjbGFzcyBEaWFnbm9zdGljU2V0dGluZ3MgZXh0ZW5kcyBBemFwaVJlc291cmNlIHtcbiAgc3RhdGljIHtcbiAgICBBemFwaVJlc291cmNlLnJlZ2lzdGVyU2NoZW1hcyhcbiAgICAgIERJQUdOT1NUSUNfU0VUVElOR1NfVFlQRSxcbiAgICAgIEFMTF9ESUFHTk9TVElDX1NFVFRJTkdTX1ZFUlNJT05TLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGlucHV0IHByb3BlcnRpZXMgZm9yIHRoaXMgRGlhZ25vc3RpYyBTZXR0aW5ncyBpbnN0YW5jZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHByb3BzOiBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcztcblxuICAvLyBPdXRwdXQgcHJvcGVydGllcyBmb3IgZWFzeSBhY2Nlc3MgYW5kIHJlZmVyZW5jaW5nXG4gIHB1YmxpYyByZWFkb25seSBpZE91dHB1dDogY2RrdG4uVGVycmFmb3JtT3V0cHV0O1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZU91dHB1dDogY2RrdG4uVGVycmFmb3JtT3V0cHV0O1xuXG4gIC8vIFB1YmxpYyBwcm9wZXJ0aWVzXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgQXp1cmUgRGlhZ25vc3RpYyBTZXR0aW5ncyB1c2luZyB0aGUgQXphcGlSZXNvdXJjZSBmcmFtZXdvcmtcbiAgICpcbiAgICogVGhlIGNvbnN0cnVjdG9yIGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB2ZXJzaW9uIHJlc29sdXRpb24sIHNjaGVtYSByZWdpc3RyYXRpb24sXG4gICAqIHZhbGlkYXRpb24sIGFuZCByZXNvdXJjZSBjcmVhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gVGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgaW5zdGFuY2VcbiAgICogQHBhcmFtIHByb3BzIC0gQ29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgRGlhZ25vc3RpYyBTZXR0aW5nc1xuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERpYWdub3N0aWNTZXR0aW5nc1Byb3BzKSB7XG4gICAgLy8gVmFsaWRhdGUgdGhhdCBhdCBsZWFzdCBvbmUgZGVzdGluYXRpb24gaXMgc3BlY2lmaWVkXG4gICAgaWYgKFxuICAgICAgIXByb3BzLndvcmtzcGFjZUlkICYmXG4gICAgICAhcHJvcHMuc3RvcmFnZUFjY291bnRJZCAmJlxuICAgICAgIXByb3BzLmV2ZW50SHViQXV0aG9yaXphdGlvblJ1bGVJZFxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIkF0IGxlYXN0IG9uZSBkZXN0aW5hdGlvbiAod29ya3NwYWNlSWQsIHN0b3JhZ2VBY2NvdW50SWQsIG9yIGV2ZW50SHViQXV0aG9yaXphdGlvblJ1bGVJZCkgbXVzdCBiZSBzcGVjaWZpZWQgZm9yIERpYWdub3N0aWMgU2V0dGluZ3NcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGUgZXZlbnRIdWJOYW1lIGlzIHByb3ZpZGVkIHdoZW4gZXZlbnRIdWJBdXRob3JpemF0aW9uUnVsZUlkIGlzIHNldFxuICAgIGlmIChwcm9wcy5ldmVudEh1YkF1dGhvcml6YXRpb25SdWxlSWQgJiYgIXByb3BzLmV2ZW50SHViTmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcImV2ZW50SHViTmFtZSBpcyByZXF1aXJlZCB3aGVuIGV2ZW50SHViQXV0aG9yaXphdGlvblJ1bGVJZCBpcyBzcGVjaWZpZWRcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG5cbiAgICAvLyBFeHRyYWN0IHByb3BlcnRpZXMgZnJvbSB0aGUgQVpBUEkgcmVzb3VyY2Ugb3V0cHV0cyB1c2luZyBUZXJyYWZvcm0gaW50ZXJwb2xhdGlvblxuXG4gICAgLy8gQ3JlYXRlIFRlcnJhZm9ybSBvdXRwdXRzIGZvciBlYXN5IGFjY2VzcyBhbmQgcmVmZXJlbmNpbmcgZnJvbSBvdGhlciByZXNvdXJjZXNcbiAgICB0aGlzLmlkT3V0cHV0ID0gbmV3IGNka3RuLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcImlkXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLmlkLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIElEIG9mIHRoZSBEaWFnbm9zdGljIFNldHRpbmdzXCIsXG4gICAgfSk7XG5cbiAgICB0aGlzLm5hbWVPdXRwdXQgPSBuZXcgY2RrdG4uVGVycmFmb3JtT3V0cHV0KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICB2YWx1ZTogYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5uYW1lfWAsXG4gICAgICBkZXNjcmlwdGlvbjogXCJUaGUgbmFtZSBvZiB0aGUgRGlhZ25vc3RpYyBTZXR0aW5nc1wiLFxuICAgIH0pO1xuXG4gICAgLy8gT3ZlcnJpZGUgbG9naWNhbCBJRHNcbiAgICB0aGlzLmlkT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwiaWRcIik7XG4gICAgdGhpcy5uYW1lT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwibmFtZVwiKTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFJFUVVJUkVEIEFCU1RSQUNUIE1FVEhPRFMgRlJPTSBBemFwaVJlc291cmNlXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGRlZmF1bHQgQVBJIHZlcnNpb24gdG8gdXNlIHdoZW4gbm8gZXhwbGljaXQgdmVyc2lvbiBpcyBzcGVjaWZpZWRcbiAgICogUmV0dXJucyB0aGUgbGF0ZXN0IHN0YWJsZSAobm9uLXByZXZpZXcpIHZlcnNpb24gYXMgdGhlIGRlZmF1bHRcbiAgICovXG4gIHByb3RlY3RlZCBkZWZhdWx0VmVyc2lvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBcIjIwMTYtMDktMDFcIjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBBenVyZSByZXNvdXJjZSB0eXBlIGZvciBEaWFnbm9zdGljIFNldHRpbmdzXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVzb3VyY2VUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIERJQUdOT1NUSUNfU0VUVElOR1NfVFlQRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBBUEkgc2NoZW1hIGZvciB0aGUgcmVzb2x2ZWQgdmVyc2lvblxuICAgKiBVc2VzIHRoZSBmcmFtZXdvcmsncyBzY2hlbWEgcmVzb2x1dGlvbiB0byBnZXQgdGhlIGFwcHJvcHJpYXRlIHNjaGVtYVxuICAgKi9cbiAgcHJvdGVjdGVkIGFwaVNjaGVtYSgpOiBBcGlTY2hlbWEge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVTY2hlbWEoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIHRoZSByZXNvdXJjZSBib2R5IGZvciB0aGUgQXp1cmUgQVBJIGNhbGxcbiAgICogVHJhbnNmb3JtcyB0aGUgaW5wdXQgcHJvcGVydGllcyBpbnRvIHRoZSBKU09OIGZvcm1hdCBleHBlY3RlZCBieSBBenVyZSBSRVNUIEFQSVxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZVJlc291cmNlQm9keShwcm9wczogYW55KTogYW55IHtcbiAgICBjb25zdCB0eXBlZFByb3BzID0gcHJvcHMgYXMgRGlhZ25vc3RpY1NldHRpbmdzUHJvcHM7XG5cbiAgICAvLyBEaWFnbm9zdGljIHNldHRpbmdzIGRvbid0IGhhdmUgbG9jYXRpb24gb3IgdGFncyBhdCB0aGUgdG9wIGxldmVsXG4gICAgcmV0dXJuIHtcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgd29ya3NwYWNlSWQ6IHR5cGVkUHJvcHMud29ya3NwYWNlSWQsXG4gICAgICAgIHN0b3JhZ2VBY2NvdW50SWQ6IHR5cGVkUHJvcHMuc3RvcmFnZUFjY291bnRJZCxcbiAgICAgICAgZXZlbnRIdWJBdXRob3JpemF0aW9uUnVsZUlkOiB0eXBlZFByb3BzLmV2ZW50SHViQXV0aG9yaXphdGlvblJ1bGVJZCxcbiAgICAgICAgZXZlbnRIdWJOYW1lOiB0eXBlZFByb3BzLmV2ZW50SHViTmFtZSxcbiAgICAgICAgbG9nczogdHlwZWRQcm9wcy5sb2dzIHx8IFtdLFxuICAgICAgICBtZXRyaWNzOiB0eXBlZFByb3BzLm1ldHJpY3MgfHwgW10sXG4gICAgICAgIGxvZ0FuYWx5dGljc0Rlc3RpbmF0aW9uVHlwZTogdHlwZWRQcm9wcy5sb2dBbmFseXRpY3NEZXN0aW5hdGlvblR5cGUsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZXMgdGhlIHBhcmVudCByZXNvdXJjZSBJRCBmb3IgRGlhZ25vc3RpYyBTZXR0aW5nc1xuICAgKiBEaWFnbm9zdGljIFNldHRpbmdzIGFyZSBjaGlsZCByZXNvdXJjZXMgYXR0YWNoZWQgdG8gdGhlIG1vbml0b3JlZCByZXNvdXJjZVxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgLSBUaGUgcmVzb3VyY2UgcHJvcGVydGllc1xuICAgKiBAcmV0dXJucyBUaGUgcGFyZW50IHJlc291cmNlIElEICh0aGUgdGFyZ2V0IHJlc291cmNlIGJlaW5nIG1vbml0b3JlZClcbiAgICovXG4gIHByb3RlY3RlZCByZXNvbHZlUGFyZW50SWQocHJvcHM6IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIChwcm9wcyBhcyBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcykudGFyZ2V0UmVzb3VyY2VJZDtcbiAgfVxufVxuIl19
|