KvaLocalizationMessages.psd1

ConvertFrom-StringData @'
###PSLOC
###KVA module related Errors
kva_cluster_exists = The specified cluster name {0} already exists.
kva_moc_unreachable = MOC is unreachable.
kva_missing_kubeconfig = Unable to proceed due to missing kubeconfig file: {0}.
kva_missing_kubeconfig_path = Missing kubeconfig path value in configuration file.
kva_missing_kvaconfig = Missing configfile value in configuration file.
kva_cluster_min_control_plane_node = Cluster {0} cannot be scaled to less than 1 control plane node.
kva_cluster_ha_min_node = Cluster {0} is a highly available control plane and cannot be scaled to less than 3 nodes.
kva_ca_unreachable = CloudAgent is unreachable.
kva_config_state = Cannot set new {0} configuration when in this state [{1}].
kva_k8s_version_unknown = Unable to determine management cluster kubernetes version.
kva_clustername_missing = The cluster Name is missing. Please ensure to specify clustername when specifying fixTarget.
kva_sync_billing_failed = Sync billing failed. {0}
kva_get_records_failed = Get records failed. {0}
kva_billing_failed = Get billing status failed. {0}
kva_wrong_release_files_count = Unexpected {0} release content files downloaded. Expected 1 file, but received {1}.
kva_no_release_content = Unable to get {0} release content for version {1}.
kva_unknown_kva_version = Unable to determine KVA latest version.
kva_invalid_cluster = Get-KvaClusterCredential is only valid for target clusters.
kva_gmsa_addon_not_installed = Addon gmsa-webhook-{0} not installed.
kva_namespace_not_created = Namespace {0} not created. Please run kubectl create namespace {1} to create the namespace.
kva_gmsa_not_installed = GMSA webhook not installed. Please install the gMSA webhook.
kva_namespace_not_found = {0} in namespace {1} not found. Please create the service account {0} in namespace {1}.
kva_namespace_exists = The specified {0} already exists. Rerun the cmdlet with -overwrite flag to update the credspec.
kva_cluster_role_exists = The specified {0} already exists. Rerun the cmdlet with -overwrite flag to update the cluster role.
kva_name_exists_in_namespace = The specified {0} in {1} exists. Rerun the cmdlet with -overwrite flag to update the rolebinding.
kva_json_invalid = The credential spec JSON file {0} is invalid.
kva_image_not_found = Unable to locate a image release with Version: {0} OS: {1} K8sVersion: {2}.
kva_wrong_cab_file_count = Unexpected number of .cab files were downloaded - count: {0}.
kva_unable_to_locate_image_file = Unable to locate downloaded image file archive: {0}.
kva_unexpected_hash_archive = KVA image file archive has an unexpected hash. Expected hash: {0} but the downloaded file {1} has hash: {2}.
kva_invalid_file_count_expansion = Expected 1 image file after expansion but found {0}.
kva_unexpected_hash = KVA image file has an unexpected hash. Expected hash: {0} but the downloaded file {1} has hash: {2}.
kva_invalid_retention_time = Please provide retentionTimeHours in range(Between 2 and 876000 hours).
kva_zero_storage_size = storageSizeGB value should be greater than zero.
kva_linux_node_required = AksHci-Monitoring requires at least 1 Linux worker node to proceed.
kva_akshci_monitoring_not_installed = AksHci Monitoring is not installed.
kva_azure_connection_failed = Connection to Azure failed. Please run 'Set-AksHciRegistration' and try again.
kva_azure_resource_group_not_found = No Azure Resource Group Found. Please run 'Set-AksHciRegistration' and try again.
kva_unable_to_fetch_version = Unable to fetch kva version.
kva_empty_autoscalerprofile_config = Unable to proceed due to empty AutoScalerProfile config
kva_autoscalerprofile_exists = AutoScalerProfile {0} already exists.
kva_autoscalerprofile_does_not_exist = AutoScalerProfile {0} does not exist.
kva_invalid_autoscalerprofile_config_key = '{0}' is not a valid AutoScalerProfile config key
kva_unable_to_get_secrets = Unable to get ServicePrincipalSecret from Azure Context.
kva_lb_min_count = Cluster {0} cannot be scaled to less than 1 load balancer
kva_lb_already_reconciled = Cluster {0} has already {1} load balancer replicas
kva_lb_scale_only_haproxy = Load balancer scaling is supported only for haproxy load balancer. Cluster {0} has {1} load balancer.
###KVA module related Errors

###KVAMessages
kva_installed = KVA is already installed
kva_installation_complete = KVA installation is complete!
kva_installing = Kva is currently being installed. If thats not the case, please run Uninstall-Kva and try again
kva_reinstall_uninstall = Please use Restart-Kva to reinstall or Uninstall-Kva to uninstall.
kva_leaked_arc_connected_clusters = Uninstalling KVA without Azure Connection may result in leaked Arc Connected Clusters, Please clean up resources in portal.
kva_creating_workload_cluster = Creating workload cluster '{0}'
kva_not_installed = Kva is not installed. Please install and retry
kva_retrieving_config_file = Retrieving KVA configuration file
kva_retrieving_credentials = Retrieving KVA credentials
kva_retrieving_deployment_status = Retrieving KVA deployment status
kva_retrieving_management_cluster_details = Retrieving management cluster details
kva_retrieving_cluster = Retrieving cluster...
kva_monitoring_cluster_upgrade = Monitoring cluster upgrade progress
kva_determining_upgrade_path = Determining upgrade path...
kva_provisioning_image_gallery = Provisioning image gallery...
kva_cluster_on_kubernetes_version = The cluster is currently on Kubernetes version: {0}
kva_cluster_upgrade = Performing cluster upgrade...
kva_waiting_for_upgrade_to_complete = Waiting for upgrade to complete...
kva_getting_cluster_details = Getting cluster details...
kva_check_if_image_in_gallery = Checking if the image is in the gallery...
kva_creating_np_yaml = creating np yaml...
kva_creating_autoscalerprofile = Creating AutoScalerProfile '{0}'...
kva_getting_autoscalerprofile_details = Getting AutoScalerProfile details...
kva_updating_autoscalerprofile = Updating AutoScalerProfile '{0}'...
kva_deleting_autoscalerprofile = Deleting AutoScalerProfile '{0}'...
kva_enabling_cluster_autoscaler = Enabling autoscaler on Cluster {0} using AutoScalerProfile {1}
kva_disabling_cluster_autoscaler = Disabling autoscaler on Cluster {0}
kva_changing_cluster_autoscalerprofile = Setting Cluster {0}'s AutoScalerProfile to {1}
kva_gathering_cluster_information = Gathering cluster information
kva_getting_nodepool_details = Getting nodepool details...
kva_scaling_nodepool = Scaling nodepool {0} in cluster {1} to {2} nodes...
kva_deleting_nodepool = Deleting nodepool {0} from cluster {1}...
kva_enabling_nodepool_autoscaler = Enabling autoscaler on Nodepool {0} in Cluster {1}
kva_disabling_nodepool_autoscaler = Enabling autoscaler on Nodepool {0} in Cluster {1}
kva_removing_cluster = Removing cluster...
kva_cluster_removal_in_progress = Cluster removal is in progress. This can take several minutes to complete...
kva_updating_to = Updating KVA to {0}
kva_updating_identity = Updating KVA identity
kva_creating_identity = Creating KVA identity
kva_current_state = Kva is currently in {0} state
kva_creating_configuration = Creating KVA configuration
kva_creating_update_configuration = Creating KVA update configuration
kva_repair = KVA repair
kva_creating_repair_configuration = Creating KVA repair configuration
kva_discovering_release = Discovering Kva release
kva_get_configmaps = Get KVA config maps
kva_get_product_details = Get KVA product details
kva_verify_authenticode_signature = Verifying authenticode signature for {0}
kva_verification_request = Companion file requests verification of package: {0} using algorithm: {1} and hash: {2}
kva_arc_onboarding_agent_installed_to_cluster = Arc Onboarding Agent has been installed to the cluster
kva_watch_progress_for_arc_agents = To watch progress for the Arc Agents Onboarding run: kubectl logs job/azure-arc-onboarding -n azure-arc-onboarding --follow
kva_onboarding_agent_uninstalled = Arc Onboarding Agent has been uninstalled from the cluster
kva_installing_csi_smb_to_cluster = Installing csi smb to cluster...
kva_csi_smb_installation_complete = Csi smb installation complete
kva_installing_csi_nfs_to_cluster = Installing csi nfs to cluster...
kva_csi_nfs_installation_complete = Csi nfs installation complete
kva_uninstalling_csi_smb_to_cluster = Uninstalling csi smb to cluster...
kva_csi_smb_uninstallation_complete = Csi smb uninstallation complete
kva_uninstalling_csi_nfs_to_cluster = Uninstalling csi nfs to cluster...
kva_csi_nfs_uninstallation_complete = Csi nfs uninstallation complete
kva_installing_monitoring = Installing monitoring to cluster...
kva_monitoring_installation_complete = Monitoring installation complete
kva_uninstalling_monitoring = Uninstalling monitoring from cluster...
kva_monitoring_uninstallation_complete = Monitoring Uninstallation complete
kva_validating_network_configuration = Validating network configuration...
kva_creating_network = Creating network...
kva_removing_network = Removing network...
kva_network_removal_in_progress = Netowrk removal is in progress...
kva_retrieving_network = Retrieving network...
kva_retrieving_configuration_for_network = Retrieving configuration for network '{0}'
kva_successfully_retrieved_network = Successfully retrieved network information.
kva_enabling_preview = Enabling Preview for {0}
kva_disabling_preview = Disabling preview for {0}
kva_configuration_for_module_update = Configuration for module {0} has been updated`n
kva_unable_to_retrive_cluster_node_information = Unable to retrieve cluster node information. Will retry in {0} seconds...`n
kva_current_status_of_cluster_nodes = Current status of cluster nodes:`n
kva_cluster_nodes_still_upgrading = Cluster nodes are still upgrading. Will check again in {0} seconds...`n
kva_cluster_nodes_running_expected_version = All cluster nodes are running the expected version.
kva_current_version = Current KVA Version: {0}
kva_already_in_expected_version = Already in the expected version {0}
kva_existing_configuration_loaded = Existing configuration for module {0} has been loaded`n
kva_new_configuration_saved = New configuration for module {0} has been saved`n
kva_required_kubernetes_version = Determined that kubernetes version {0} is required for the management cluster
kva_management_cluster_provisioned = The management cluster image has been provisioned
kva_removing_image_cache = Removing image cache {0}
kva_removing_image = Removing image {0}
kva_requested_image = Requested image is '{0}'
kva_checking_existing_gallery_image = Checking for existing gallery image
kva_ad_kubeconfig_written_to = AD kubeconfig was be written to: {0}
kva_kubeconfig_will_be_written_to = kubeconfig will be written to: {0}
kva_polling_cluster = Polling cluster for secret '{0}' to be available
kva_waiting_for_gmsa_webhook = Waiting for gmsa-webhook pod to be ready...
kva_pod_is_ready = Pod '{0}' is ready.`n
kva_gmsacredentialspec_does_not_exist = GMSACredentialSpec {0} does not exist, skipping deletion
kva_clusterrole_does_not_exist = ClusterRole {0} does not exist, skipping deletion
kva_rolebinding_does_not_exist = Rolebinding {0} in {1} does not exist, skipping deletion
kva_gmsacredentialspec_clusterrole_rolebinding_does_not_exist = GMSACredentialSpec {0}, clusterrole {1}, and rolebinding {2} do not exist, no objects were deleted
kva_existing_image_upto_date = Existing image is present and up to date. Skipping download.
kva_existing_image_not_present = Existing image is not present. Proceeding to download...
kva_moving_image = Moving image from {0} to {1}
kva_calculating_hash_for_archive = Calculating {0} hash for image file archive: {1}
kva_calculating_hash_for_file = Calculating {0} hash for image file: {1}
kva_moving_image_file = Moving image file to destination: {0}
kva_generating_base64_hash = Generating base64 hash of {0} using algorithm {1}
kva_lb_scaling = Scaling cluster {0}'s load balancer replicas to {1}
###KVAMessages
###PSLOC
'@


# SIG # Begin signature block
# MIIntwYJKoZIhvcNAQcCoIInqDCCJ6QCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAdhrU3j7APec7H
# Jx2hXeWFdEd041RQiLGS2mku29exwqCCDYEwggX/MIID56ADAgECAhMzAAACzI61
# lqa90clOAAAAAALMMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
# bmcgUENBIDIwMTEwHhcNMjIwNTEyMjA0NjAxWhcNMjMwNTExMjA0NjAxWjB0MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
# AQCiTbHs68bADvNud97NzcdP0zh0mRr4VpDv68KobjQFybVAuVgiINf9aG2zQtWK
# No6+2X2Ix65KGcBXuZyEi0oBUAAGnIe5O5q/Y0Ij0WwDyMWaVad2Te4r1Eic3HWH
# UfiiNjF0ETHKg3qa7DCyUqwsR9q5SaXuHlYCwM+m59Nl3jKnYnKLLfzhl13wImV9
# DF8N76ANkRyK6BYoc9I6hHF2MCTQYWbQ4fXgzKhgzj4zeabWgfu+ZJCiFLkogvc0
# RVb0x3DtyxMbl/3e45Eu+sn/x6EVwbJZVvtQYcmdGF1yAYht+JnNmWwAxL8MgHMz
# xEcoY1Q1JtstiY3+u3ulGMvhAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUiLhHjTKWzIqVIp+sM2rOHH11rfQw
# UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1
# ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDcwNTI5MB8GA1UdIwQYMBaAFEhu
# ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu
# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w
# Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3
# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx
# MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAeA8D
# sOAHS53MTIHYu8bbXrO6yQtRD6JfyMWeXaLu3Nc8PDnFc1efYq/F3MGx/aiwNbcs
# J2MU7BKNWTP5JQVBA2GNIeR3mScXqnOsv1XqXPvZeISDVWLaBQzceItdIwgo6B13
# vxlkkSYMvB0Dr3Yw7/W9U4Wk5K/RDOnIGvmKqKi3AwyxlV1mpefy729FKaWT7edB
# d3I4+hldMY8sdfDPjWRtJzjMjXZs41OUOwtHccPazjjC7KndzvZHx/0VWL8n0NT/
# 404vftnXKifMZkS4p2sB3oK+6kCcsyWsgS/3eYGw1Fe4MOnin1RhgrW1rHPODJTG
# AUOmW4wc3Q6KKr2zve7sMDZe9tfylonPwhk971rX8qGw6LkrGFv31IJeJSe/aUbG
# dUDPkbrABbVvPElgoj5eP3REqx5jdfkQw7tOdWkhn0jDUh2uQen9Atj3RkJyHuR0
# GUsJVMWFJdkIO/gFwzoOGlHNsmxvpANV86/1qgb1oZXdrURpzJp53MsDaBY/pxOc
# J0Cvg6uWs3kQWgKk5aBzvsX95BzdItHTpVMtVPW4q41XEvbFmUP1n6oL5rdNdrTM
# j/HXMRk1KCksax1Vxo3qv+13cCsZAaQNaIAvt5LvkshZkDZIP//0Hnq7NnWeYR3z
# 4oFiw9N2n3bb9baQWuWPswG0Dq9YT9kb+Cs4qIIwggd6MIIFYqADAgECAgphDpDS
# AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK
# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0
# ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla
# MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS
# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT
# H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB
# AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG
# OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S
# 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz
# y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7
# 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u
# M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33
# X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl
# XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP
# 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB
# l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF
# RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM
# CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ
# BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud
# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO
# 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0
# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y
# Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p
# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y
# Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB
# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw
# cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA
# XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY
# 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj
# 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd
# d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ
# Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf
# wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ
# aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j
# NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B
# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96
# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7
# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I
# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIZjDCCGYgCAQEwgZUwfjELMAkG
# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z
# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAsyOtZamvdHJTgAAAAACzDAN
# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor
# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgRIir+S+x
# pJgZaqUSdcvbWJoqqXQjTGSf7043Qg/3XVIwQgYKKwYBBAGCNwIBDDE0MDKgFIAS
# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN
# BgkqhkiG9w0BAQEFAASCAQBLvOeVlywnyAoHgO5NV076nGh9yb2vxp4mza5yUQIB
# lROVf4o8FZ/oEX5ERTZLxvfLWgVFMYuy0M3ZSeg7M4rajHZl1J8KpmQsCVxjUsTl
# Lg1iiX10FPj3fGOQQuH0STwB9q5Ta7dJZX5v6V1JDeUDd4VBZVTz4eBoJXIBTp5/
# U5Yn+/aBH+92SthZIFLJQibir82W43ADmSNzsBnoSulnleJB/S/FZCQFlyHVqgbz
# /YFoD2G5c8DxRHCSWoQMwU7Gnaao94aoQzsyWHuYzseJeUlvQaDZjGoMvXoa2Dof
# Lxn1X5PUI+SqUrldRRnGmB+rKvJcCnZoNdxX0iNPfINYoYIXFjCCFxIGCisGAQQB
# gjcDAwExghcCMIIW/gYJKoZIhvcNAQcCoIIW7zCCFusCAQMxDzANBglghkgBZQME
# AgEFADCCAVkGCyqGSIb3DQEJEAEEoIIBSASCAUQwggFAAgEBBgorBgEEAYRZCgMB
# MDEwDQYJYIZIAWUDBAIBBQAEIEH2UAS0Ib+INbeeIw6yfJuYMhdw2PQbmpLSby3m
# 6WZVAgZi/pKyDHQYEzIwMjIwODI1MTkzNDUxLjk4MlowBIACAfSggdikgdUwgdIx
# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1p
# Y3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhh
# bGVzIFRTUyBFU046MDg0Mi00QkU2LUMyOUExJTAjBgNVBAMTHE1pY3Jvc29mdCBU
# aW1lLVN0YW1wIFNlcnZpY2WgghFlMIIHFDCCBPygAwIBAgITMwAAAYdCFmYEXPP0
# jQABAAABhzANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMK
# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
# IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0Eg
# MjAxMDAeFw0yMTEwMjgxOTI3MzlaFw0yMzAxMjYxOTI3MzlaMIHSMQswCQYDVQQG
# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQg
# SXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1Mg
# RVNOOjA4NDItNEJFNi1DMjlBMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFt
# cCBTZXJ2aWNlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvml4GWM9
# A6PREQiHgZAAPK6n+Th6m+LYwKYLaQFlZXbTqrodhsni7HVIRkqBFuG8og1KZry0
# 2xEmmbdp89O40xCIQfW8FKW7oO/lYYtUAQW2kp0uMuYEJ1XkZ6eHjcMuqEJwC47U
# akZx3AekakP+GfGuDDO9kZGQRe8IpiiJ4Qkn6mbDhbRpgcUOdsDzmNz6kXG7gfIf
# gcs5kzuKIP6nN4tsjPhyF58VU0ZfI0PSC+n5OX0hsU8heWe3pUiDr5gqP16a6kIj
# FJHkgNPYgMivGTQKcjNxNcXnnymT/JVuNs7Zvk1P5KWf8G1XG/MtZZ5/juqsg0Qo
# UmQZjVh0XRku7YpMpktW7XfFA3y+YJOG1pVzizB3PzJXUC8Ma8AUywtUuULWjYT5
# y7/EwwHWmn1RT0PhYp9kmpfS6HIYfEBboYUvULW2HnGNfx65f4Ukc7kgNSQbeAH6
# yjO5dg6MUwPfzo/rBdNaZfJxZ7RscTByTtlxblfUT46yPHCXACiX/BhaHEY4edFg
# p/cIb7XHFJbu4mNDAPzRlAkIj1SGuO9G4sbkjM9XpNMWglj2dC9QLN/0geBFXoNI
# 8F+HfHw4Jo+p6iSP8hn43mkkWKSGOiT4hLJzocErFntK5i9PebXSq2BvMgzVc+BB
# vCN35DfD0mokRKxam2tQM060SORy3S7ucesCAwEAAaOCATYwggEyMB0GA1UdDgQW
# BBQiUcAWukEtYYF+3WFzmZA/DaWNIDAfBgNVHSMEGDAWgBSfpxVdAF5iXYP05dJl
# pxtTNRnpcjBfBgNVHR8EWDBWMFSgUqBQhk5odHRwOi8vd3d3Lm1pY3Jvc29mdC5j
# b20vcGtpb3BzL2NybC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAx
# MCgxKS5jcmwwbAYIKwYBBQUHAQEEYDBeMFwGCCsGAQUFBzAChlBodHRwOi8vd3d3
# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFRpbWUtU3Rh
# bXAlMjBQQ0ElMjAyMDEwKDEpLmNydDAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoG
# CCsGAQUFBwMIMA0GCSqGSIb3DQEBCwUAA4ICAQC5q35T2RKjAFRN/3cYjnPFztPa
# 7KeqJKJnKgviUj9IMfC8/FQ2ox6Uwyd40TS7zKvtuMl11FFlfWkEncN3lqihiSAq
# IDPOdVvr1oJY4NFQBOHzLpetepHnMg0UL2UXHzvjKg24VOIzb0dtdP69+QIy7SDp
# cVh9KI0EXKG2bolpBypqRttGTDd0JQkOtMdiSpaDpOHwgCMNXE8xIu48hiuT075o
# IqnHJha378/DpugI0DZjYcZH1cG84J06ucq5ygrod9szr19ObCZJdJLpyvJWCy8P
# RDAkRjPJglSmfn2UR0KvnoyCOzjszAwNCp/JJnkRp20weItzm97iNg+FZF1J9E16
# eWIB1sCr7Vj9QD6Kt+z81rOcLRfxhlO2/sK09Uw+DiQkPbu6OZ3TsDvLsr8yG9W2
# A8yXcggNqd4XpLtdEkf52OIN0GgRLSY1LNDB4IKY+Zj34IwMbDbs2sCig5Li2ILW
# EMV/6gyL37J71NbW7Vzo7fcGrNne9OqxgFC2WX5degxyJ3Sx2bKw6lbf04KaXnTB
# OSz0QC+RfJuz8nOpIf28+WmMPicX2l7gs/MrC5anmyK/nbeKkaOx+AXhwYLzETNg
# +1IcygjdwnbqWKafLdCNKfhsb/gM5SFbgD5ATEX1bAxwUFVxKvQv0dIRAm5aDjF3
# DZpgvy3mSojSrBN/8zCCB3EwggVZoAMCAQICEzMAAAAVxedrngKbSZkAAAAAABUw
# DQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n
# dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y
# YXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhv
# cml0eSAyMDEwMB4XDTIxMDkzMDE4MjIyNVoXDTMwMDkzMDE4MzIyNVowfDELMAkG
# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z
# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
# ggIKAoICAQDk4aZM57RyIQt5osvXJHm9DtWC0/3unAcH0qlsTnXIyjVX9gF/bErg
# 4r25PhdgM/9cT8dm95VTcVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjoYH1qUoNEt6aO
# RmsHFPPFdvWGUNzBRMhxXFExN6AKOG6N7dcP2CZTfDlhAnrEqv1yaa8dq6z2Nr41
# JmTamDu6GnszrYBbfowQHJ1S/rboYiXcag/PXfT+jlPP1uyFVk3v3byNpOORj7I5
# LFGc6XBpDco2LXCOMcg1KL3jtIckw+DJj361VI/c+gVVmG1oO5pGve2krnopN6zL
# 64NF50ZuyjLVwIYwXE8s4mKyzbnijYjklqwBSru+cakXW2dg3viSkR4dPf0gz3N9
# QZpGdc3EXzTdEonW/aUgfX782Z5F37ZyL9t9X4C626p+Nuw2TPYrbqgSUei/BQOj
# 0XOmTTd0lBw0gg/wEPK3Rxjtp+iZfD9M269ewvPV2HM9Q07BMzlMjgK8QmguEOqE
# UUbi0b1qGFphAXPKZ6Je1yh2AuIzGHLXpyDwwvoSCtdjbwzJNmSLW6CmgyFdXzB0
# kZSU2LlQ+QuJYfM2BjUYhEfb3BvR/bLUHMVr9lxSUV0S2yW6r1AFemzFER1y7435
# UsSFF5PAPBXbGjfHCBUYP3irRbb1Hode2o+eFnJpxq57t7c+auIurQIDAQABo4IB
# 3TCCAdkwEgYJKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUKqdS/mTE
# mr6CkTxGNSnPEP8vBO4wHQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMFwG
# A1UdIARVMFMwUQYMKwYBBAGCN0yDfQEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93
# d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTATBgNV
# HSUEDDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV
# HQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo
# 0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jvc29m
# dC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5j
# cmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jv
# c29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNydDAN
# BgkqhkiG9w0BAQsFAAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL/Klv6lwUtj5OR2R4
# sQaTlz0xM7U518JxNj/aZGx80HU5bbsPMeTCj/ts0aGUGCLu6WZnOlNN3Zi6th54
# 2DYunKmCVgADsAW+iehp4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1bSNU5HhTdSRX
# ud2f8449xvNo32X2pFaq95W2KFUn0CS9QKC/GbYSEhFdPSfgQJY4rPf5KYnDvBew
# VIVCs/wMnosZiefwC2qBwoEZQhlSdYo2wh3DYXMuLGt7bj8sCXgU6ZGyqVvfSaN0
# DLzskYDSPeZKPmY7T7uG+jIa2Zb0j/aRAfbOxnT99kxybxCrdTDFNLB62FD+Cljd
# QDzHVG2dY3RILLFORy3BFARxv2T5JL5zbcqOCb2zAVdJVGTZc9d/HltEAY5aGZFr
# DZ+kKNxnGSgkujhLmm77IVRrakURR6nxt67I6IleT53S0Ex2tVdUCbFpAUR+fKFh
# bHP+CrvsQWY9af3LwUFJfn6Tvsv4O+S3Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7n
# tdAoGokLjzbaukz5m/8K6TT4JDVnK+ANuOaMmdbhIurwJ0I9JZTmdHRbatGePu1+
# oDEzfbzL6Xu/OHBE0ZDxyKs6ijoIYn/ZcGNTTY3ugm2lBRDBcQZqELQdVTNYs6Fw
# ZvKhggLUMIICPQIBATCCAQChgdikgdUwgdIxCzAJBgNVBAYTAlVTMRMwEQYDVQQI
# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv
# ZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh
# dGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046MDg0Mi00QkU2
# LUMyOUExJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoB
# ATAHBgUrDgMCGgMVAHh3k1QEKAZEhsLGYGHtf/6DG4PzoIGDMIGApH4wfDELMAkG
# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z
# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwDQYJKoZIhvcNAQEFBQACBQDmsktgMCIY
# DzIwMjIwODI2MDMyNjI0WhgPMjAyMjA4MjcwMzI2MjRaMHQwOgYKKwYBBAGEWQoE
# ATEsMCowCgIFAOayS2ACAQAwBwIBAAICCbMwBwIBAAICEeIwCgIFAOaznOACAQAw
# NgYKKwYBBAGEWQoEAjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEKMAgC
# AQACAwGGoDANBgkqhkiG9w0BAQUFAAOBgQATxgIdRywqdj9aaseTTrDP+2qBYZsZ
# +1mZ6cVtgC1NRzWEcv+gPs6XZq+9R7HfHBhUXpQHDqQk7Pr2a3gmbU0Mzt8PAMXQ
# oqPHg4C82meon31mmHykCC10Vk1Pp8VykkorR0xjMnXnhqAYdx1XgbPUGNdZwi16
# TUZej9VNKQvY8jGCBA0wggQJAgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQI
# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv
# ZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBD
# QSAyMDEwAhMzAAABh0IWZgRc8/SNAAEAAAGHMA0GCWCGSAFlAwQCAQUAoIIBSjAa
# BgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIEIF4SoqqG
# n4T9VHSJt+qJaWJrOxzY4xK+z0lljVhhn9x/MIH6BgsqhkiG9w0BCRACLzGB6jCB
# 5zCB5DCBvQQgxCzwoBNuoB92wsC2SxZhz4HVGyvCZnwYNuczpGyam1gwgZgwgYCk
# fjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD
# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAYdCFmYEXPP0jQAB
# AAABhzAiBCCf0BPYt5hMn5+x/8GbFbomfzYrNg/XKvuvRm2Hw3u8czANBgkqhkiG
# 9w0BAQsFAASCAgA+5pf9IZM4HdIB4I6GFSTaMMLzxua6Aebc9XxJnVvDisAg89am
# pJ9h2grh1YTfSb9V6AaH4wepo8kgKZL6KSTfwwRllIIzKrThuGB0tyVvJVvBYfq5
# KUbdeTUR4I/gfmXl6jeYLBndu5JW0lpnCqXx8wosPMmjW8Y9WWJP88sBJmXMgv+J
# wl5za+IYb6bWHGvI0/8cL22qcxieGuDYuuHZXQWENUeQsk1qt7M3idMAgfby7u2F
# CPTIHt3+WyIqszfxQcfqwwhXlYa3ac2kyIT2Fn1Mw7i+3NyPCb5kSuQcZgyACVsf
# 7jgyI54mwMGKKw4ZD374x3HuG9NatY0V5Sr7G8UcUU4ovStBb2nEGe7bvmvVaDn9
# 1Q89NQmrVCZX61U+Y1SyDXDHE5n/+oETbKGQvj/D9d+kYfCUVSCejZIGCSsCCIhk
# DkO6m7Wc1MWcFSPGt0Sq09lCP6tDH46rKab9fia4PXhp1gb6uwgW8mBMtfzgAXYx
# hwRLjF+7R6Ir9xg0DOexc85C5h8DYiWPKgxM56mnBfgGICzH7kkFlze9rWV8X1Ea
# AOm1rC6CDyNSaktmxKJ4rkW8faUtTcyvU4goB1c2D8iBQCMU1Yx9Kcd39WE92cl3
# eU6WJ2TNridTPD7Qtzmed9XB7+KdMAF+3FxB09c6rLywFjbk4yzZB0EFDA==
# SIG # End signature block