Microsoft.Xrm.Tooling.CrmConnector.PowerShell.psd1

#
# Module manifest for module 'Microsoft.Xrm.Tooling.CrmConnector.PowerShell'
#
# Generated by: Microsoft Dynamics 365 CRM Team
#
# Generated on: 4/12/2017 2:04:50 PM
#

@{

# Script module or binary module file associated with this manifest.
RootModule = 'Microsoft.Xrm.Tooling.CrmConnector.PowerShell.psm1'

# Version number of this module.
ModuleVersion = '3.3.0.886'

# ID used to uniquely identify this module
GUID = '7982AE8F-1E4B-4333-9DF6-0305DBD4A3DA'

# Author of this module
Author = 'Microsoft Common Data Service Team'

# Company or vendor of this module
CompanyName = 'Microsoft'

# Copyright statement for this module
Copyright = '© 2019 Microsoft Corporation. All rights reserved'

# Description of the functionality provided by this module
Description = 'PowerShell wrapper for CDS CrmServiceClient'

# Minimum version of the Windows PowerShell engine required by this module
#PowerShellVersion = '3.0'

# Name of the Windows PowerShell host required by this module
#PowerShellHostName = ''

# Minimum version of the Windows PowerShell host required by this module
#PowerShellHostVersion = ''

# Minimum version of the .NET Framework required by this module
#DotNetFrameworkVersion = '4.0'

# Minimum version of the common language runtime (CLR) required by this module
#CLRVersion = '4.0'

# Processor architecture (None, X86, Amd64) required by this module
#ProcessorArchitecture = ''

# Modules that must be imported into the global environment prior to importing this module
#RequiredModules =

# Assemblies that must be loaded prior to importing this module
RequiredAssemblies = @(
'Microsoft.Xrm.Tooling.Ui.Styles.dll',
'Newtonsoft.Json.dll',
'Microsoft.Rest.ClientRuntime.dll'
)

# Script files (.ps1) that are run in the caller's environment prior to importing this module.
#ScriptsToProcess = @()

# Type files (.ps1xml) to be loaded when importing this module
#TypesToProcess = @()

# Format files (.ps1xml) to be loaded when importing this module
#FormatsToProcess = @()

# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
NestedModules = @(
    'Microsoft.Xrm.Tooling.CrmConnector.PowerShell.dll'
    )

# Functions to export from this module
FunctionsToExport = @()

# Cmdlets to export from this module
CmdletsToExport = @(
  'Get-CrmConnection',
  'Get-CrmOrganizations'
)

# Variables to export from this module
VariablesToExport = @(
    )

# Aliases to export from this module
AliasesToExport = @(
    )

# List of all modules packaged with this module.
 ModuleList = @(
    'Microsoft.Xrm.Tooling.CrmConnector.PowerShell'
    )

# List of all files packaged with this module
#FileList = @()

# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell.
PrivateData = @{

    PSData = @{

        # Tags applied to this module. These help with module discovery in online galleries.
        # Tags = @()

        # A URL to the license for this module.
        LicenseUri = 'http://download.microsoft.com/download/E/1/8/E18C0FAD-FEC8-44CD-9A16-98EDC4DAC7A2/LicenseTerms.docx'

        # A URL to the main website for this project.
        ProjectUri = 'https://docs.microsoft.com/powershell/module/microsoft.xrm.tooling.crmconnector.powershell/?view=dynamics365ce-ps'

        # A URL to an icon representing this module.
        IconUri = 'https://connectoricons-prod.azureedge.net/powerappsforappmakers/icon_1.0.1056.1255.png'

        # ReleaseNotes of this module
        ReleaseNotes = '
Current Release:
 
3.3.0.886
Uptaking current CDS SDK.
 
3.3.0.885:
Internal fixes to unify the way in which online and onprem instances were determined from the URI provided.
Added new Static Property on Utilities called IsValidOnlineHost, this takes a URL and determines if it a valid OnLine URI for the CDS Service
Corrected an issue where the AdminAPI URL provided by Get-CrmOrganizations was incorrect.
Fixed a bug Null Object Error that would occur occasionaly during connect when many concurrent connects were run.
    This would typically happen if a developer used a Task.Wait behavior to create a stack of connections at once.
Fixed a bug that would prevent logs from being generated even when verbose tracing was enabled.
 
3.3.0.874:
Added Support for new properties in discovery response.
Added:
    Tenant Id - ID of the tenant that the instance resides in
    Enviroment Id - ID of the PowerPlatform Envrioment that the instance resides in
    UrlName - Host name for the target instance.
Fixed a bug where the second ( or third ) connection string attempt in the same process would cause the client to try to reuse the current connection.
Fixed a bug where the SDK Version Property was not properly returning from the CrmServiceClient
 
3.3.0.869:
    Fixed a bug with how errors are handled when they are raised from ADAL 3.19+. MFA Force Login will now work properly again.
    Updated default response sizes to support more verbose error messages from CDS
 
3.3.0.862
    ADAL 3.19+ is now required for this library. ADAL 2.x clients will need to be updated to use ADAL 3.x+
    Added Support for Current User ID login when using Online flows with oAuth (Login control/connection string support )
    Added Support for ClientID Secret Auth when using oAuth flows. (connection string support )
 
3.3.0.857
Added support for France and New US Geos
    Added new behavior to return the full login error when initial connect fails in LastException.
    Fixed https activation issue introduced by .net 4.8. - This should no longer require http activation to be enabled on windows.
    Fixed issue where a long running cloned connection loses its access token.
 
3.3.0.841 - (Nuget-9.0.2.16):
    Added native support for handing throttling messages from server.
    Fixed issue where a cloned connections token could time out in a way that was not detected.
            When failing, this would result in a mid operation Authentication failure reporting something like "Anonymous Access Failed"
    Added Support for China Geo
    Minor changes to logging of Import Solution Activities
 
    #### VERSION RESET HERE TO NOW FOLLOW BUILD VERSIONS OF THIS MODULE...
 
NOTE: Notes Below are synced to Nuget Release Found here: https://www.nuget.org/packages/Microsoft.CrmSdk.XrmTooling.CrmConnector.PowerShell/
9.0.2.12
    Fixed bug in CrmServiceClient which would cause some OnPrem connections to fail with an error "Item already added to List"
    Minor Perf Improvements
         
9.0.2.11:
    Updated to include Fixed version of CrmServiceClient and login control for new US Geo ( US Gov High )
 
9.0.2.9:
    Picked up updated CrmServiceClient (Microsoft.Xrm.Tooling.Connector)
 
9.0.2.8:
    Picked up updated CrmServiceClient (Microsoft.Xrm.Tooling.Connector)
 
9.0.2.7:
    Picked up updated CrmServiceClient (Microsoft.Xrm.Tooling.Connector)
 
9.0.2.5:
    Fixed a bug with using ExecuteCrmWebRequest where SkipDiscovery was also used that would cause the command to fail with a malformed URI error.
    Fix to support SSO login, issue manifested as unable to execute a SSO login on second attempt.
    Fix to make local metadata cache instance aware,
        Issue manifested in a single client process where more then one connection was made to different CDS instances and the metadata helpers were used. The Metadata would not be instance specific.
                     
    Streamlined .Clone support by removing unneeded WhoAmI validation call.
    Added new .Clone override to allow a developer to pass an assembly reference to the .Clone method to use when establishing strong types for that connection.
    Added additional error log details when a fault is detected
             
         
9.0.2.4:
    Added support for retrying SDK request if the server throws a retriable errors.
    ImportSolutionToCrmAsync –
        Returns an AsyncOperation ID that must be polled for solution Import completion or failure.
        Note, Async jobs are subject to Async queuing and overhead, thus use this with caution.
    DeleteAndPromoteSolutionAsync –
        Returns an AsyncOperation ID that must be polled for completion
        Note: DeleteAndPromote Async support is not generally available to all regions and versions of the platform. If this is not available the async job with fail immediately.
        Note: Async jobs are subject to Async queuing and overhead, thus use this with caution.
 
9.0.2.3:
    Added new dependencies:
        Json.net version 6.0.0.0
        Microsoft.Rest.ClientRuntime 3.0.0.0
    Added Support for Caller ID using AAD Object ID of caller -
        Added new property on CrmServiceClient: CallerAADObjectId
        Supported for 8.1 and later.
    Added New Method ExecuteCrmWebRequest
        This method supports using the XRM WebAPI directly from the CRMServiceClient.
        Supports only oAuth and Certificate Auth connection types
        Supported for 8.0 and later.
        Supports Common request types and supports batch execute.
    Added Global Discovery Support for Instance lookup
        Global discovery is now used for all lookup, both regional and global (Online Region = Dont Know) when OAuth is used, except where special region rules are required.
        Note: Germany and North America 2 are not scanned when Online Region = Dont Know is selected.
    Added SkipDiscovery to all connection string variants.
    Added Certificate support for constructor variants.
    Fixed issue with allowing discovery selection using onPrem and OAuth.
    Fixed an issue with older On-Prem ADFS instances that do not require a resource URI.
 
    **Special notes:
        Added additional telemetry support to connection requests
            This will add the process name of the calling process (if available) to help with troubleshooting and support requests.
        Added request IDs to all requests to help with troubleshooting and support requests.
            These will appear only when verbose logging is enabled.
                 
9.0.0.5: 9.0 Initial Release
9.0.0.3-preview:
    Initial release.
    To register module, run the RegisterXrmTooling.ps1'


    } # End of PSData hashtable

} # End of PrivateData hashtable

# HelpInfo URI of this module
#HelpInfoURI = ''

# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix.
#DefaultCommandPrefix = ''

}

# SIG # Begin signature block
# MIIdhAYJKoZIhvcNAQcCoIIddTCCHXECAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB
# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR
# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQU38jvvlk8I83fEg2fXwhcR108
# 63OgghhuMIIE2jCCA8KgAwIBAgITMwAAAUvV9fuWDIQscwAAAAABSzANBgkqhkiG
# 9w0BAQUFADB3MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G
# A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEw
# HwYDVQQDExhNaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EwHhcNMTkxMTEzMjE0MjIw
# WhcNMjEwMjExMjE0MjIwWjCByjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp
# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw
# b3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFtZXJpY2EgT3BlcmF0aW9uczEm
# MCQGA1UECxMdVGhhbGVzIFRTUyBFU046NDlCQy1FMzdBLTIzM0MxJTAjBgNVBAMT
# HE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2UwggEiMA0GCSqGSIb3DQEBAQUA
# A4IBDwAwggEKAoIBAQDVej07Z5ElWXLq968Y6+iILD03VUdVVriXdU6l8qNlZqck
# Zak3anRa3nJO8CrDeXWZ8AH7KmbnNIgNMt3d1ZBEfakY7+VRGYltvBxY3cYDujsF
# M5m/yDAE2VVm+ZGYEKfh7fdILMmh7Og0qXbYyUkSrR2uGtYmgpbcT/hcmTM5d2RI
# DVaWppH2yLOurNhVEcBWfn7yea/iQAwOKW7+zur+1/mDvEhv7Kr8FaBMFLq2jRtO
# UAVtUmrzTZ+9EU9kH4SVb8gzt0bNL0Q88AKgrzlm8AGyos58NVvRpjvfIBBrIlVd
# 9FOU+94a3P7pT4lOAUn1XbWeM0T9j0ys34eM1RqZAgMBAAGjggEJMIIBBTAdBgNV
# HQ4EFgQU4fI3Ff9NFrVBOm6onIthr3VbfMowHwYDVR0jBBgwFoAUIzT42VJGcArt
# QPt2+7MrsMM1sw8wVAYDVR0fBE0wSzBJoEegRYZDaHR0cDovL2NybC5taWNyb3Nv
# ZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljcm9zb2Z0VGltZVN0YW1wUENBLmNy
# bDBYBggrBgEFBQcBAQRMMEowSAYIKwYBBQUHMAKGPGh0dHA6Ly93d3cubWljcm9z
# b2Z0LmNvbS9wa2kvY2VydHMvTWljcm9zb2Z0VGltZVN0YW1wUENBLmNydDATBgNV
# HSUEDDAKBggrBgEFBQcDCDANBgkqhkiG9w0BAQUFAAOCAQEAibCHTqTSgk+NzyCI
# CgTgp58mRzpiXj32Md5BQy97JLUpjBbAhhULDSbCa6EzGN87YirjGuLzs0bhYZqw
# eHVOsW8a5rvfaqTM11qlw0ppnv2YtBA/WUvI8AafmCAUOaCEKf6NTWDTKg7jF5x8
# 1Ruz1gvPgFgkFED4aNIftcRA9jW6rqDa1Xs8xk2WMGqUR6y1cXE2dGC4pf1CGNf3
# tmX0mewtA4OjHXQC+ITitBmB5dw/4G2M6p9q+Xxf+dvyL4wT4frnhCHUpjfxMV5K
# wLlJfqXAWgZKHUV/qK9afp9++26uMMOwGfVwZvE3fRS1NCl7yl/yUGHvleQMurnz
# PcaoTTCCBgMwggProAMCAQICEzMAAAFSm0CfUFaZdYgAAAAAAVIwDQYJKoZIhvcN
# AQELBQAwfjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV
# BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYG
# A1UEAxMfTWljcm9zb2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMTAeFw0xOTA1MDIy
# MTM3NDZaFw0yMDA1MDIyMTM3NDZaMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpX
# YXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQg
# Q29ycG9yYXRpb24xHjAcBgNVBAMTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjCCASIw
# DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALGnidP2p+707XSInJ7BhceU35YS
# Hv02iiv2eEzp6dQ1sJuFf29L7xz/d4hVrNJidUFOovNbvFY3VsJwi0NuwTMoQTYG
# zBK6fsn3EJovBwYcoWv6pZSXPuGH1FyaNhKQ4Y3Js5+uCPeybQNK2gryWPATJRV5
# F8wfH0T/sJr84SrZxcFPcvR9WeUSR9qXfXQQUIsOjYGsTfk0ZGMb7+edmKoqoSHm
# VY2TfclXz8jR8hxQqssSZQau/QKALvDZyOZsGEEgn7QrNKdJaKeBeiX/eJR0EHLh
# BA0fvruRga6cl5jTxGMcwiCMkJ0CgQz7aZe/WmFpXuP4zd03Nn9x2zPegN8CAwEA
# AaOCAYIwggF+MB8GA1UdJQQYMBYGCisGAQQBgjdMCAEGCCsGAQUFBwMDMB0GA1Ud
# DgQWBBTd/wDDWxbvZZwnZuj9BJgbNWtFhzBUBgNVHREETTBLpEkwRzEtMCsGA1UE
# CxMkTWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMRYwFAYDVQQF
# Ew0yMzAwMTIrNDU0MTM2MB8GA1UdIwQYMBaAFEhuZOVQBdOCqhc3NyK1bajKdQKV
# MFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lv
# cHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0wNy0wOC5jcmwwYQYIKwYBBQUH
# AQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtp
# b3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0wNy0wOC5jcnQwDAYDVR0T
# AQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAlPBE5oe+iBeCLFaPKO8t+JGCojZA
# rwagbbd6oCA2NftX9Z1RYFuzRogLeTj1x3TN2r4kkiaLFxfpQ5OnPYtk8VKHbeXT
# 8yjfnAbsldTGA7RT7l2ttCG3nGgyXWfv9NDiIpyYBhIA/FOrmUWehXb58B6WNUDs
# 7jezOOzstHT0PTAUfDNlyj+ITweVqSXbdlPsWcHkB9TaHB+/zvLerdrmoWK6BLKQ
# gukrT++qeURUHQoB1BXNhQtD9Th4USOeKzcmz1SsC+0iEizbrjjlGPdQ/pTgaA6O
# BCieVED6YOWyHvzAVIZsBIi8r5+Q41SG+PwHxkc2fhMV+dy35rRm55jh/ppE/Gvx
# t41JQqftBb8VCafjbZsTsp+epadywfu9s2Eb3b2mtUc+xprsnbaL3DIePubSgBNc
# n5iN/KgQC13n83IhhoThS7SPUSG5hSjlVokmcxpMRHSpfz79hlFasU3+F6mzjVc1
# WOIBrClsBrR9RrdH1E0GM+IGczSC80+iszh2xXZUnwaW4hA6smU6+4Ks5gMaKsad
# p06ZDbXA8GgYUJakrno/HOWIqzLk02YBdwTHtBv29SNjVaVi2t3A5dOnE3iyXMiG
# 3r0FpmUsiMtVbCoh+42uEco0Mz0r6/u+Csht/uXn/rrmDSCNAIMI3pDmzG621MAQ
# q0l5L+mSkj4Ntn8wggYHMIID76ADAgECAgphFmg0AAAAAAAcMA0GCSqGSIb3DQEB
# BQUAMF8xEzARBgoJkiaJk/IsZAEZFgNjb20xGTAXBgoJkiaJk/IsZAEZFgltaWNy
# b3NvZnQxLTArBgNVBAMTJE1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhv
# cml0eTAeFw0wNzA0MDMxMjUzMDlaFw0yMTA0MDMxMzAzMDlaMHcxCzAJBgNVBAYT
# AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYD
# VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xITAfBgNVBAMTGE1pY3Jvc29mdCBU
# aW1lLVN0YW1wIFBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ+h
# bLHf20iSKnxrLhnhveLjxZlRI1Ctzt0YTiQP7tGn0UytdDAgEesH1VSVFUmUG0KS
# rphcMCbaAGvoe73siQcP9w4EmPCJzB/LMySHnfL0Zxws/HvniB3q506jocEjU8qN
# +kXPCdBer9CwQgSi+aZsk2fXKNxGU7CG0OUoRi4nrIZPVVIM5AMs+2qQkDBuh/NZ
# MJ36ftaXs+ghl3740hPzCLdTbVK0RZCfSABKR2YRJylmqJfk0waBSqL5hKcRRxQJ
# gp+E7VV4/gGaHVAIhQAQMEbtt94jRrvELVSfrx54QTF3zJvfO4OToWECtR0Nsfz3
# m7IBziJLVP/5BcPCIAsCAwEAAaOCAaswggGnMA8GA1UdEwEB/wQFMAMBAf8wHQYD
# VR0OBBYEFCM0+NlSRnAK7UD7dvuzK7DDNbMPMAsGA1UdDwQEAwIBhjAQBgkrBgEE
# AYI3FQEEAwIBADCBmAYDVR0jBIGQMIGNgBQOrIJgQFYnl+UlE/wq4QpTlVnkpKFj
# pGEwXzETMBEGCgmSJomT8ixkARkWA2NvbTEZMBcGCgmSJomT8ixkARkWCW1pY3Jv
# c29mdDEtMCsGA1UEAxMkTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9y
# aXR5ghB5rRahSqClrUxzWPQHEy5lMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9j
# cmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL21pY3Jvc29mdHJvb3Rj
# ZXJ0LmNybDBUBggrBgEFBQcBAQRIMEYwRAYIKwYBBQUHMAKGOGh0dHA6Ly93d3cu
# bWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljcm9zb2Z0Um9vdENlcnQuY3J0MBMG
# A1UdJQQMMAoGCCsGAQUFBwMIMA0GCSqGSIb3DQEBBQUAA4ICAQAQl4rDXANENt3p
# tK132855UU0BsS50cVttDBOrzr57j7gu1BKijG1iuFcCy04gE1CZ3XpA4le7r1ia
# HOEdAYasu3jyi9DsOwHu4r6PCgXIjUji8FMV3U+rkuTnjWrVgMHmlPIGL4UD6ZEq
# JCJw+/b85HiZLg33B+JwvBhOnY5rCnKVuKE5nGctxVEO6mJcPxaYiyA/4gcaMvnM
# MUp2MT0rcgvI6nA9/4UKE9/CCmGO8Ne4F+tOi3/FNSteo7/rvH0LQnvUU3Ih7jDK
# u3hlXFsBFwoUDtLaFJj1PLlmWLMtL+f5hYbMUVbonXCUbKw5TNT2eb+qGHpiKe+i
# myk0BncaYsk9Hm0fgvALxyy7z0Oz5fnsfbXjpKh0NbhOxXEjEiZ2CzxSjHFaRkMU
# vLOzsE1nyJ9C/4B5IYCeFTBm6EISXhrIniIh0EPpK+m79EjMLNTYMoBMJipIJF9a
# 6lbvpt6Znco6b72BJ3QGEe52Ib+bgsEnVLaxaj2JoXZhtG6hE6a/qkfwEm/9ijJs
# sv7fUciMI8lmvZ0dhxJkAj0tr1mPuOQh5bWwymO0eFQF1EEuUKyUsKV4q7OglnUa
# 2ZKHE3UiLzKoCG6gW4wlv6DvhMoh1useT8ma7kng9wFlb4kLfchpyOZu6qeXzjEp
# /w7FW1zYTRuh2Povnj8uVRZryROj/TCCB3owggVioAMCAQICCmEOkNIAAAAAAAMw
# DQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n
# dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y
# YXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhv
# cml0eSAyMDExMB4XDTExMDcwODIwNTkwOVoXDTI2MDcwODIxMDkwOVowfjELMAkG
# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z
# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
# ADCCAgoCggIBAKvw+nIQHC6t2G6qghBNNLrytlghn0IbKmvpWlCquAY4GgRJun/D
# DB7dN2vGEtgL8DjCmQawyDnVARQxQtOJDXlkh36UYCRsr55JnOloXtLfm1OyCizD
# r9mpK656Ca/XllnKYBoF6WZ26DJSJhIv56sIUM+zRLdd2MQuA3WraPPLbfM6XKEW
# 9Ea64DhkrG5kNXimoGMPLdNAk/jj3gcN1Vx5pUkp5w2+oBN3vpQ97/vjK1oQH01W
# KKJ6cuASOrdJXtjt7UORg9l7snuGG9k+sYxd6IlPhBryoS9Z5JA7La4zWMW3Pv4y
# 07MDPbGyr5I4ftKdgCz1TlaRITUlwzluZH9TupwPrRkjhMv0ugOGjfdf8NBSv4yU
# h7zAIXQlXxgotswnKDglmDlKNs98sZKuHCOnqWbsYR9q4ShJnV+I4iVd0yFLPlLE
# tVc/JAPw0XpbL9Uj43BdD1FGd7P4AOG8rAKCX9vAFbO9G9RVS+c5oQ/pI0m8GLhE
# fEXkwcNyeuBy5yTfv0aZxe/CHFfbg43sTUkwp6uO3+xbn6/83bBm4sGXgXvt1u1L
# 50kppxMopqd9Z4DmimJ4X7IvhNdXnFy/dygo8e1twyiPLI9AN0/B4YVEicQJTMXU
# pUMvdJX3bvh4IFgsE11glZo+TzOE2rCIF96eTvSWsLxGoGyY0uDWiIwLAgMBAAGj
# ggHtMIIB6TAQBgkrBgEEAYI3FQEEAwIBADAdBgNVHQ4EFgQUSG5k5VAF04KqFzc3
# IrVtqMp1ApUwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGG
# MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUci06AjGQQ7kUBU7h6qfHMdEj
# iTQwWgYDVR0fBFMwUTBPoE2gS4ZJaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br
# aS9jcmwvcHJvZHVjdHMvTWljUm9vQ2VyQXV0MjAxMV8yMDExXzAzXzIyLmNybDBe
# BggrBgEFBQcBAQRSMFAwTgYIKwYBBQUHMAKGQmh0dHA6Ly93d3cubWljcm9zb2Z0
# LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0MjAxMV8yMDExXzAzXzIyLmNydDCB
# nwYDVR0gBIGXMIGUMIGRBgkrBgEEAYI3LgMwgYMwPwYIKwYBBQUHAgEWM2h0dHA6
# Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvZG9jcy9wcmltYXJ5Y3BzLmh0bTBA
# BggrBgEFBQcCAjA0HjIgHQBMAGUAZwBhAGwAXwBwAG8AbABpAGMAeQBfAHMAdABh
# AHQAZQBtAGUAbgB0AC4gHTANBgkqhkiG9w0BAQsFAAOCAgEAZ/KGpZjgVHkaLtPY
# dGcimwuWEeFjkplCln3SeQyQwWVfLiw++MNy0W2D/r4/6ArKO79HqaPzadtjvyI1
# pZddZYSQfYtGUFXYDJJ80hpLHPM8QotS0LD9a+M+By4pm+Y9G6XUtR13lDni6WTJ
# RD14eiPzE32mkHSDjfTLJgJGKsKKELukqQUMm+1o+mgulaAqPyprWEljHwlpblqY
# luSD9MCP80Yr3vw70L01724lruWvJ+3Q3fMOr5kol5hNDj0L8giJ1h/DMhji8MUt
# zluetEk5CsYKwsatruWy2dsViFFFWDgycScaf7H0J/jeLDogaZiyWYlobm+nt3TD
# QAUGpgEqKD6CPxNNZgvAs0314Y9/HG8VfUWnduVAKmWjw11SYobDHWM2l4bf2vP4
# 8hahmifhzaWX0O5dY0HjWwechz4GdwbRBrF1HxS+YWG18NzGGwS+30HHDiju3mUv
# 7Jf2oVyW2ADWoUa9WfOXpQlLSBCZgB/QACnFsZulP0V3HjXG0qKin3p6IvpIlR+r
# +0cjgPWe+L9rt0uX4ut1eBrs6jeZeRhL/9azI2h15q/6/IvrC4DqaTuv/DDtBEyO
# 3991bWORPdGdVk5Pv4BXIqF4ETIheu9BCrE/+6jMpF3BoYibV3FWTkhFwELJm3Zb
# CoBIa/15n8G9bW1qyVJzEw16UM0xggSAMIIEfAIBATCBlTB+MQswCQYDVQQGEwJV
# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE
# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQgQ29k
# ZSBTaWduaW5nIFBDQSAyMDExAhMzAAABUptAn1BWmXWIAAAAAAFSMAkGBSsOAwIa
# BQCggZQwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO
# MAwGCisGAQQBgjcCARUwIwYJKoZIhvcNAQkEMRYEFNKDmHkoGYcViWLTXznKzmtL
# n9/+MDQGCisGAQQBgjcCAQwxJjAkoBKAEABUAGUAcwB0AFMAaQBnAG6hDoAMaHR0
# cDovL3Rlc3QgMA0GCSqGSIb3DQEBAQUABIIBAD8lM1HPLWw4Azme7kkoSbF/Hf8W
# aYR0+PdhXauyQAb1iUPDpGL/nsKm6KESEvP5SG4sqXPGXTvd8dX/3n/ekTytrdr/
# iIaYRaNsRT6aDOPcpTOfXGJ2ok6Q0gHS44XNDHnVUFyGOztTOyUcbktP5Gv6Bu5Y
# 2pSHGaDxBrQKa6yaltwYsWTQJOEqEEa+58CJJ4hms/kPW8qtrVCyjAUga9JKZ9mR
# k3qRd7YBI5xGmMvrMBv4rdDpCrDtXygEKMuItJGiaaj3XiTxwmNft58s4PmBJWAh
# E6wBfT6wEuymrM0w/h/1oaMfUXGCH0OaHrnkXn8Kefk3sBV+t1oJhuoD3FahggIo
# MIICJAYJKoZIhvcNAQkGMYICFTCCAhECAQEwgY4wdzELMAkGA1UEBhMCVVMxEzAR
# BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p
# Y3Jvc29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFRpbWUtU3Rh
# bXAgUENBAhMzAAABS9X1+5YMhCxzAAAAAAFLMAkGBSsOAwIaBQCgXTAYBgkqhkiG
# 9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMDAyMTExNzQ1MzBa
# MCMGCSqGSIb3DQEJBDEWBBRnHzB2WkFtomQcjCIRLIhmqjiRIDANBgkqhkiG9w0B
# AQUFAASCAQCK6neDnHcD08Nmdb7CMnTVUzgRoqZcWXQtxs8RnOZgev0qc74zL9Rs
# Ksfeop7OaM2v34A8N2UwP5icM3jwekpnfTjtYW+3SkPMqyxHvh+f/XIbzuZMipTG
# N/onqV/TbgY5cE41kvMyY+PExLYcnnaUCD1fnWIqT9lX1kZwWVC+HiJkWtjI1nC6
# vU0/i724qyWGfoTPvCIpb1yKDeIjDp291atMO2YRuLIfpXyzXPDQ1djE9FTnIBgC
# VVftY/UXeLS5lQkXB4/eSu54juzNl2yG81pt7QS9JFXMnPUz7M9bIj4IusUTs9Z/
# YyYenMuqjZW0C3EmqjaIYscljjzeA8YX
# SIG # End signature block