LXCAPSTool.psd1

# ------------------------------------------------------------------
# Lenovo Copyright
#
# (C) Copyright Lenovo 2020 - present.
#
# LIMITED AND RESTRICTED RIGHTS NOTICE:
# If data or software is delivered pursuant a General Services
# Administration (GSA) contract, use, reproduction, or disclosure
# is subject to restrictions set forth in Contract No. GS-35F-05925.
# ------------------------------------------------------------------

#
# Module manifest for module 'LXCAPSTool'
#
# Generated by: "Lenovo"
#

@{

# Script module or binary module file associated with this manifest
RootModule = 'LXCAPSTool.psm1'

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

# ID used to uniquely identify this module
GUID = 'a0b0eede-6d1c-409c-b8a4-122b862fe857'

# Author of this module
Author = 'Lenovo Corporation'

# Company or vendor of this module
CompanyName = 'Lenovo Corporation'

# Copyright statement for this module
Copyright = 'Copyright (c) Lenovo. All rights reserved.'

# Description of the functionality provided by this module
Description = 'Lenovo XClarity Administrator PowerShell tool
 
The LXCAPSTool cmdlets use REST APIs that are provided for Lenovo XClarity Administrator to enable you to automate functions such as:
- Logging in to Lenovo XClarity Administrator;
- Collecting inventory data to support the management of chassis and servers (endpoints);
- Deploying an operating system image to one or more endpoints;
- Configuring endpoints through the use of Configuration Patterns;
- Applying firmware update to endpoint;
- Managing user accounts;
- Monitoring events;
 
Lenovo XClarity Administrator is a centralized, resource-management solution that is aimed at reducing complexity, speeding response, and enhancing the availability of Lenovo server systems and solutions. It runs as a virtual appliance that you can use to manage Flex System chassis and System x rack servers in a secure environment.
Get more detail information from:
https://pubs.lenovo.com/lxca/
 
Lenovo XClarity Administrator REST APIs used in this module:
https://pubs.lenovo.com/lxca_scripting/rest_apis
'


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

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

# Cmdlets to export from this module
CmdletsToExport = @(
'Add-LXCAEventExclusionFilter','Add-LXCAJobNote','Add-LXCAManagedDevice','Add-LXCAPSLogHeader','Add-LXCARack','Add-LXCARackItem','Add-LXCAResourceGroupMembers','Add-LXCARoleGroup',
'Add-LXCAStoredCredential','Add-LXCAUserAccount',
'Backup-LXCA','Backup-LXCAEventLog','Backup-LXCASwitchConfig',
'Connect-LXCA','Disconnect-LXCA',
'Copy-LXCABackup',
'Get-LXCAActiveAlert','Get-LXCAActiveSession','Get-LXCAActiveStatus','Get-LXCAAuditLog','Get-LXCAAvailableMachineType','Get-LXCAChassis','Get-LXCAChassisInventory','Get-LXCAChassisMember',
'Get-LXCAComputeNode','Get-LXCAConfigPattern','Get-LXCAConfigPatternDeployableServer','Get-LXCAConfigProfile','Get-LXCAConnection','Get-LXCADeployableServer','Get-LXCADeployGlobalSetting',
'Get-LXCADeviceMaintenance','Get-LXCADevicesWarranty','Get-LXCAEncapsulation','Get-LXCAEvent','Get-LXCAEventExclusionFilter','Get-LXCAFFDCFile','Get-LXCAInformation','Get-LXCAIOModule',
'Get-LXCAJobNotes','Get-LXCALicensableDeviceCount','Get-LXCALicenseCompliance','Get-LXCALicenseWarningPeriod','Get-LXCAManagementServerPackage','Get-LXCAOSImage','Get-LXCAQuantityLicense',
'Get-LXCARack','Get-LXCARackServer','Get-LXCARackSwitch','Get-LXCAResourceGroups','Get-LXCARole','Get-LXCARoleGroup','Get-LXCAScalableComplexSystem','Get-LXCASchedule','Get-LXCAScheduleAction',
'Get-LXCAServer','Get-LXCAServiceFile','Get-LXCAServiceTickets','Get-LXCAStorage','Get-LXCAStorageNode','Get-LXCAStoredCredential','Get-LXCASwitchConfigData','Get-LXCASwitchConfigFile',
'Get-LXCASystemCompliance','Get-LXCATask','Get-LXCAThinkServer','Get-LXCAUpdateCompliancePolicy','Get-LXCAUpdatePackage','Get-LXCAUserAccount','Get-LXCABackups','Get-LXCASingleSignOn',
'Get-LXCAIdentityManagementSystems','Get-LXCABulletins','Get-LXCAServersGlobalSettings',
'Import-LXCAConfigPattern','Import-LXCAOSImage','Import-LXCASwitchConfig','Import-LXCAUpdatePackage','Import-LXCABackup',
'Install-LXCAConfigPattern','Install-LXCAConfigProfile','Install-LXCAOSImage','Install-LXCAQuantityLicense','Install-LXCAStoredCredential','Install-LXCATrustedCertificate',
'Install-LXCAUpdateManagementServer','Install-LXCAUpdatePackage',
'Invoke-LXCARestMethod','Invoke-LXCASystemAction',
'Join-LXCAUpdateCompliancePolicy',
'New-LXCADeployTask','New-LXCAScheduleObj','New-LXCAScheduleRule',
'Remove-LXCAConfigProfileFromSystem','Remove-LXCAEventExclusionFilter','Remove-LXCAJobNotes','Remove-LXCAManagedDevice','Remove-LXCAOSImage','Remove-LXCAQuantityLicense','Remove-LXCARack',
'Remove-LXCARackItem','Remove-LXCARoleGroup','Remove-LXCASchedule','Remove-LXCAStoredCredential','Remove-LXCASwitchConfigFile','Remove-LXCATask','Remove-LXCAUserAccount','Remove-LXCABackup'
'Restore-LXCASwitchConfig','Restore-LXCABackup',
'Set-LXCADeployGlobalSetting','Set-LXCADeviceMaintenance','Set-LXCAEncapsulation','Set-LXCALicenseWarningPeriod','Set-LXCAPSLogLevel','Set-LXCARack','Set-LXCARackItem','Set-LXCAResourceAccessControl',
'Set-LXCAResourceView','Set-LXCARoleGroup','Set-LXCAStoredCredential','Set-LXCASwitchPort','Set-LXCASystemIPInterface','Set-LXCASystemProperty','Set-LXCAUserAccount','Set-LXCAUserAccountPassword',
'Set-LXCASingleSignOn','Set-LXCABulletinService','Set-LXCAServersGlobalSettings',
'Start-LXCAEventMonitor',
'Stop-LXCATask',
'Update-LXCAFirmwareRepository'
)

# Variables to export from this module
VariablesToExport = '*'

# Aliases to export from this module
AliasesToExport = @('Get-LXCAJob','Remove-LXCAJob','Stop-LXCAJob')

# 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 = @('LXCA', 'LXCAPSTool', 'XClarity')

        # A URL to the license for this module.
        LicenseUri = 'https://datacentersupport.lenovo.com/docs/UM920681'

        # A URL to the main website for this project.
        # ProjectUri = ''

        # A URL to an icon representing this module.
        # IconUri = ''

        # ReleaseNotes of this module
    ReleaseNotes = 'Released v4.1.0 (June 2024)
 
This LXCAPSTool version supports the following Lenovo XClarity Administrator versions:
    - 4.0.0, 4.1.0
 
New features and bug fixes:
  - Updated cmdlets:
      * add edge server support for:
        - Get-LXCAServer,
        - Get-LXCAUpdateCompliancePolicy,
        - Join-LXCAUpdateCompliancePolicy,
        - Get-LXCASystemCompliance,
        - Install-LXCAUpdatePackage.
  - Fixes:
      * add support for running cmdlets inside a UI thread.
      * add logging support on linux and macOS hosts.
'


    } # End of PSData hashtable

} # End of PrivateData hashtable

# HelpInfo URI of this module
HelpInfoURI = 'https://pubs.lenovo.com/lxca_scripting/pshell_overview'

}

# SIG # Begin signature block
# MIIoPAYJKoZIhvcNAQcCoIIoLTCCKCkCAQExDzANBglghkgBZQMEAgIFADCBiQYK
# KwYBBAGCNwIBBKB7MHkwNAYKKwYBBAGCNwIBHjAmAgMBAAAEEB/MO2BZSwhOtyTS
# xil+81ECAQACAQACAQACAQACAQAwQTANBglghkgBZQMEAgIFAAQw807PSkHLV0PN
# oyoZDBPrvXqSyxOmyyAG/9Uzt0vgYL8Zyfmd5qynuIm/O5TdJS1CoIINnDCCBrAw
# ggSYoAMCAQICEAitQLJg0pxMn17Nqb2TrtkwDQYJKoZIhvcNAQEMBQAwYjELMAkG
# A1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRp
# Z2ljZXJ0LmNvbTEhMB8GA1UEAxMYRGlnaUNlcnQgVHJ1c3RlZCBSb290IEc0MB4X
# DTIxMDQyOTAwMDAwMFoXDTM2MDQyODIzNTk1OVowaTELMAkGA1UEBhMCVVMxFzAV
# BgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMUEwPwYDVQQDEzhEaWdpQ2VydCBUcnVzdGVk
# IEc0IENvZGUgU2lnbmluZyBSU0E0MDk2IFNIQTM4NCAyMDIxIENBMTCCAiIwDQYJ
# KoZIhvcNAQEBBQADggIPADCCAgoCggIBANW0L0LQKK14t13VOVkbsYhC9TOM6z2B
# l3DFu8SFJjCfpI5o2Fz16zQkB+FLT9N4Q/QX1x7a+dLVZxpSTw6hV/yImcGRzIED
# Pk1wJGSzjeIIfTR9TIBXEmtDmpnyxTsf8u/LR1oTpkyzASAl8xDTi7L7CPCK4J0J
# wGWn+piASTWHPVEZ6JAheEUuoZ8s4RjCGszF7pNJcEIyj/vG6hzzZWiRok1MghFI
# UmjeEL0UV13oGBNlxX+yT4UsSKRWhDXW+S6cqgAV0Tf+GgaUwnzI6hsy5srC9Kej
# Aw50pa85tqtgEuPo1rn3MeHcreQYoNjBI0dHs6EPbqOrbZgGgxu3amct0r1EGpIQ
# gY+wOwnXx5syWsL/amBUi0nBk+3htFzgb+sm+YzVsvk4EObqzpH1vtP7b5NhNFy8
# k0UogzYqZihfsHPOiyYlBrKD1Fz2FRlM7WLgXjPy6OjsCqewAyuRsjZ5vvetCB51
# pmXMu+NIUPN3kRr+21CiRshhWJj1fAIWPIMorTmG7NS3DVPQ+EfmdTCN7DCTdhSm
# W0tddGFNPxKRdt6/WMtyEClB8NXFbSZ2aBFBE1ia3CYrAfSJTVnbeM+BSj5AR1/J
# gVBzhRAjIVlgimRUwcwhGug4GXxmHM14OEUwmU//Y09Mu6oNCFNBfFg9R7P6tuyM
# MgkCzGw8DFYRAgMBAAGjggFZMIIBVTASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1Ud
# DgQWBBRoN+Drtjv4XxGG+/5hewiIZfROQjAfBgNVHSMEGDAWgBTs1+OC0nFdZEzf
# Lmc/57qYrhwPTzAOBgNVHQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUHAwMw
# dwYIKwYBBQUHAQEEazBpMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2Vy
# dC5jb20wQQYIKwYBBQUHMAKGNWh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9E
# aWdpQ2VydFRydXN0ZWRSb290RzQuY3J0MEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6
# Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRSb290RzQuY3JsMBwG
# A1UdIAQVMBMwBwYFZ4EMAQMwCAYGZ4EMAQQBMA0GCSqGSIb3DQEBDAUAA4ICAQA6
# I0Q9jQh27o+8OpnTVuACGqX4SDTzLLbmdGb3lHKxAMqvbDAnExKekESfS/2eo3wm
# 1Te8Ol1IbZXVP0n0J7sWgUVQ/Zy9toXgdn43ccsi91qqkM/1k2rj6yDR1VB5iJqK
# isG2vaFIGH7c2IAaERkYzWGZgVb2yeN258TkG19D+D6U/3Y5PZ7Umc9K3SjrXyah
# lVhI1Rr+1yc//ZDRdobdHLBgXPMNqO7giaG9OeE4Ttpuuzad++UhU1rDyulq8aI+
# 20O4M8hPOBSSmfXdzlRt2V0CFB9AM3wD4pWywiF1c1LLRtjENByipUuNzW92NyyF
# PxrOJukYvpAHsEN/lYgggnDwzMrv/Sk1XB+JOFX3N4qLCaHLC+kxGv8uGVw5ceG+
# nKcKBtYmZ7eS5k5f3nqsSc8upHSSrds8pJyGH+PBVhsrI/+PteqIe3Br5qC6/To/
# RabE6BaRUotBwEiES5ZNq0RA443wFSjO7fEYVgcqLxDEDAhkPDOPriiMPMuPiAsN
# vzv0zh57ju+168u38HcT5ucoP6wSrqUvImxB+YJcFWbMbA7KxYbD9iYzDAdLoNMH
# AmpqQDBISzSoUSC7rRuFCOJZDW3KBVAr6kocnqX9oKcfBnTn8tZSkP2vhUgh+Vc7
# tJwD7YZF9LRhbr9o4iZghurIr6n+lB3nYxs6hlZ4TjCCBuQwggTMoAMCAQICEAfv
# xXBeZx00pwPtfOkTbpUwDQYJKoZIhvcNAQELBQAwaTELMAkGA1UEBhMCVVMxFzAV
# BgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMUEwPwYDVQQDEzhEaWdpQ2VydCBUcnVzdGVk
# IEc0IENvZGUgU2lnbmluZyBSU0E0MDk2IFNIQTM4NCAyMDIxIENBMTAeFw0yNDA4
# MjcwMDAwMDBaFw0yNTA4MjcyMzU5NTlaMGwxCzAJBgNVBAYTAlVTMRcwFQYDVQQI
# Ew5Ob3J0aCBDYXJvbGluYTEUMBIGA1UEBxMLTW9ycmlzdmlsbGUxDzANBgNVBAoT
# Bkxlbm92bzEMMAoGA1UECxMDRzA1MQ8wDQYDVQQDEwZMZW5vdm8wggGiMA0GCSqG
# SIb3DQEBAQUAA4IBjwAwggGKAoIBgQCd/1fAKl3CXqVpvZ+mDttTXr28NfkmuOFG
# 2y0gCeSIoxwXPU/6LZLY4H25nzDdUKok2IJVPntpoljPoYqc5laVyfLc7qyQW5wr
# LFcbXMN9VLnIvWQNpcZMCfjOxOfZ/9lMJTsSWojrJPNoD0FPjdokfqSpYz5dZWHj
# tgB1fzpL7XrgNKW0LMU4FFY7rEDVWis2DOJbreL+FBka13FA44+2IHhCtl94QmDw
# 6mUyieF8cv5yPFC3+g4Jijwc/7aEd7l9/Dt6LeeROnaXaKkwian79sG6Vx+pEKev
# sc2nEnGfdPwunfbczVp4/CIBWfYjc62k/eQ4LJqrxMUOVMPwm8BLiXrw6KPvXMAr
# wK1GVEp597Q3tjdfYblulNU8xTkZvq8noGvkGIVj9wsowtbRmGG7tI3931MUaG55
# fxosP8qlJEcoiqVIH6GY2lqs4+tpyn9pPFEXl+FbqgzFvvEQY3zNfExzmaFEY7p5
# JeYA86xZyv8ZrFwQembskRluZ1RXHpUCAwEAAaOCAgMwggH/MB8GA1UdIwQYMBaA
# FGg34Ou2O/hfEYb7/mF7CIhl9E5CMB0GA1UdDgQWBBRcKYCm09rcEoh9ItgmgfQ0
# g8Z2pjA+BgNVHSAENzA1MDMGBmeBDAEEATApMCcGCCsGAQUFBwIBFhtodHRwOi8v
# d3d3LmRpZ2ljZXJ0LmNvbS9DUFMwDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQMMAoG
# CCsGAQUFBwMDMIG1BgNVHR8Ega0wgaowU6BRoE+GTWh0dHA6Ly9jcmwzLmRpZ2lj
# ZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNENvZGVTaWduaW5nUlNBNDA5NlNIQTM4
# NDIwMjFDQTEuY3JsMFOgUaBPhk1odHRwOi8vY3JsNC5kaWdpY2VydC5jb20vRGln
# aUNlcnRUcnVzdGVkRzRDb2RlU2lnbmluZ1JTQTQwOTZTSEEzODQyMDIxQ0ExLmNy
# bDCBlAYIKwYBBQUHAQEEgYcwgYQwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRp
# Z2ljZXJ0LmNvbTBcBggrBgEFBQcwAoZQaHR0cDovL2NhY2VydHMuZGlnaWNlcnQu
# Y29tL0RpZ2lDZXJ0VHJ1c3RlZEc0Q29kZVNpZ25pbmdSU0E0MDk2U0hBMzg0MjAy
# MUNBMS5jcnQwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAgEAV+ZtahJbS8vF
# OPEf0kerCG9eb6oLFFVpJLcRqFaJuAm0WK5EU7AoR6jkMddXvWqCzVPYZwCRpp15
# oAr04xcnqR//m3qnGRf8pRy8ZBMSEDhSA5dcsWvE9tIxQZD16GTapSDJKkT5CaNJ
# gBDeSjWWQRd2gFQYI1A6tq8bKDMDUjwdWdCtV5FUqtrXbar6Nv6gIAQJA10OEmMS
# iBcAlD0b8CJKYQFnvyntOQQQjU8oz6zQ4ZX99EhXmrvaG32hq3d1IPQHGiVwnC6r
# 2V7gLQYUcJ+dlb/MS0qopVjdzbQXz3NZkOkSAjgAKb5sfZpDd+az4g6RTdWeK7Iu
# IyXMOVREQrQiHdVmYJ1SBfViZ4/KHgQBxCUy9fC800+QrZI1+j07isOdvZCZOcig
# NKNoMGJxnSMkvdYRbn1DbErYCVSLBxqTX11prMetVp2BqkM9wyos4as0hQ2zJbZj
# MFDhdBMjfixvopfQzZnDXqglyIlTM232MdHt//mACeu5a56gBkfCr6JojlAe5eqR
# Ue9nCT0JSVZ21f77481YG5hPU9tlMrwGDhR7SLgVewVoZrRk9/nUhbk4jLD8pWxZ
# cf6hXJw5hyjm4envplL+0gtsZFBY10xZl93BdmJC5lQOEmko18Svp5gDZzIKlHU5
# grTaAetTEBvCRqAB/HF/A+epWU6Wwd8xghnlMIIZ4QIBATB9MGkxCzAJBgNVBAYT
# AlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjFBMD8GA1UEAxM4RGlnaUNlcnQg
# VHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcgUlNBNDA5NiBTSEEzODQgMjAyMSBDQTEC
# EAfvxXBeZx00pwPtfOkTbpUwDQYJYIZIAWUDBAICBQCggYwwEAYKKwYBBAGCNwIB
# DDECMAAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO
# MAwGCisGAQQBgjcCARUwPwYJKoZIhvcNAQkEMTIEMKmpINtC1akKHCtkB6no9dHj
# RCdnv2ibByePvkE7pQc6g/ZhHmHns+nEFO33QixtOjANBgkqhkiG9w0BAQEFAASC
# AYBXCVudh5EwbZfOnom183tLjxu8ltZRAalSy8Cgo6dL0ZLrga/Sto+GZmMnEIP4
# pKHoEB6YRvfFhpAz4uN6GmB2O4rFM86P+TCYlocqogGsKW0cPiInEluZuV0SfRZx
# JoQOBB9DIzn1F3hUCeOkJtUlLvCHqI8RktubWNjsgQgBe9qW9GEdZztGrWkiV9Q/
# affmCqZiPCxWyTNcyaD2to3Akgc2jKv0ssVgCYbfIHgCjoGPHQAXibRRvUtiGGOk
# BZzSrJgc3dm8z4z86hI89PFjAT1ujOGsIBPrp++rP99Sj4tmSqe4X0kx1DQ5+U7i
# I5x0d6ORlw+PI9H9Vt5uf3wQPc4/WqMbehk38qIwO8M8shNi70mKc2u38oZ+Zh8a
# tZcJ4HzeRLwH4DeVHXoSuxgM+76Y55M86hAK0lZRIJ27SqjXoYInEh8wHSWgBNun
# u0BRFCHPt87QZaApiB3FHW57qnQx+asygUgkoK682Gd1J7svrITuk4tcREliku2A
# 72ChghcqMIIXJgYKKwYBBAGCNwMDATGCFxYwghcSBgkqhkiG9w0BBwKgghcDMIIW
# /wIBAzEPMA0GCWCGSAFlAwQCAQUAMGgGCyqGSIb3DQEJEAEEoFkEVzBVAgEBBglg
# hkgBhv1sBwEwITAJBgUrDgMCGgUABBQT54hL2MsQR2cBjT9uUJR9+QJkngIRAJuO
# OmruLXeUJ4V+HaglUy8YDzIwMjQxMTIxMTQzNzUzWqCCEwMwgga8MIIEpKADAgEC
# AhALrma8Wrp/lYfG+ekE4zMEMA0GCSqGSIb3DQEBCwUAMGMxCzAJBgNVBAYTAlVT
# MRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgVHJ1
# c3RlZCBHNCBSU0E0MDk2IFNIQTI1NiBUaW1lU3RhbXBpbmcgQ0EwHhcNMjQwOTI2
# MDAwMDAwWhcNMzUxMTI1MjM1OTU5WjBCMQswCQYDVQQGEwJVUzERMA8GA1UEChMI
# RGlnaUNlcnQxIDAeBgNVBAMTF0RpZ2lDZXJ0IFRpbWVzdGFtcCAyMDI0MIICIjAN
# BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvmpzn/aVIauWMLpbbeZZo7Xo/ZEf
# GMSIO2qZ46XB/QowIEMSvgjEdEZ3v4vrrTHleW1JWGErrjOL0J4L0HqVR1czSzvU
# Q5xF7z4IQmn7dHY7yijvoQ7ujm0u6yXF2v1CrzZopykD07/9fpAT4BxpT9vJoJqA
# sP8YuhRvflJ9YeHjes4fduksTHulntq9WelRWY++TFPxzZrbILRYynyEy7rS1lHQ
# KFpXvo2GePfsMRhNf1F41nyEg5h7iOXv+vjX0K8RhUisfqw3TTLHj1uhS66YX2LZ
# PxS4oaf33rp9HlfqSBePejlYeEdU740GKQM7SaVSH3TbBL8R6HwX9QVpGnXPlKdE
# 4fBIn5BBFnV+KwPxRNUNK6lYk2y1WSKour4hJN0SMkoaNV8hyyADiX1xuTxKaXN1
# 2HgR+8WulU2d6zhzXomJ2PleI9V2yfmfXSPGYanGgxzqI+ShoOGLomMd3mJt92nm
# 7Mheng/TBeSA2z4I78JpwGpTRHiT7yHqBiV2ngUIyCtd0pZ8zg3S7bk4QC4RrcnK
# J3FbjyPAGogmoiZ33c1HG93Vp6lJ415ERcC7bFQMRbxqrMVANiav1k425zYyFMyL
# NyE1QulQSgDpW9rtvVcIH7WvG9sqYup9j8z9J1XqbBZPJ5XLln8mS8wWmdDLnBHX
# gYly/p1DhoQo5fkCAwEAAaOCAYswggGHMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMB
# Af8EAjAAMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMIMCAGA1UdIAQZMBcwCAYGZ4EM
# AQQCMAsGCWCGSAGG/WwHATAfBgNVHSMEGDAWgBS6FtltTYUvcyl2mi91jGogj57I
# bzAdBgNVHQ4EFgQUn1csA3cOKBWQZqVjXu5Pkh92oFswWgYDVR0fBFMwUTBPoE2g
# S4ZJaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZEc0UlNB
# NDA5NlNIQTI1NlRpbWVTdGFtcGluZ0NBLmNybDCBkAYIKwYBBQUHAQEEgYMwgYAw
# JAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBYBggrBgEFBQcw
# AoZMaHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZEc0
# UlNBNDA5NlNIQTI1NlRpbWVTdGFtcGluZ0NBLmNydDANBgkqhkiG9w0BAQsFAAOC
# AgEAPa0eH3aZW+M4hBJH2UOR9hHbm04IHdEoT8/T3HuBSyZeq3jSi5GXeWP7xCKh
# VireKCnCs+8GZl2uVYFvQe+pPTScVJeCZSsMo1JCoZN2mMew/L4tpqVNbSpWO9QG
# FwfMEy60HofN6V51sMLMXNTLfhVqs+e8haupWiArSozyAmGH/6oMQAh078qRh6wv
# JNU6gnh5OruCP1QUAvVSu4kqVOcJVozZR5RRb/zPd++PGE3qF1P3xWvYViUJLsxt
# vge/mzA75oBfFZSbdakHJe2BVDGIGVNVjOp8sNt70+kEoMF+T6tptMUNlehSR7vM
# +C13v9+9ZOUKzfRUAYSyyEmYtsnpltD/GWX8eM70ls1V6QG/ZOB6b6Yum1HvIiul
# qJ1Elesj5TMHq8CWT/xrW7twipXTJ5/i5pkU5E16RSBAdOp12aw8IQhhA/vEbFkE
# iF2abhuFixUDobZaA0VhqAsMHOmaT3XThZDNi5U2zHKhUs5uHHdG6BoQau75KiNb
# h0c+hatSF+02kULkftARjsyEpHKsF7u5zKRbt5oK5YGwFvgc4pEVUNytmB3BpIio
# wOIIuDgP5M9WArHYSAR16gc0dP2XdkMEP5eBsX7bf/MGN4K3HP50v/01ZHo/Z5lG
# LvNwQ7XHBx1yomzLP8lx4Q1zZKDyHcp4VQJLu2kWTsKsOqQwggauMIIElqADAgEC
# AhAHNje3JFR82Ees/ShmKl5bMA0GCSqGSIb3DQEBCwUAMGIxCzAJBgNVBAYTAlVT
# MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
# b20xITAfBgNVBAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9vdCBHNDAeFw0yMjAzMjMw
# MDAwMDBaFw0zNzAzMjIyMzU5NTlaMGMxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5E
# aWdpQ2VydCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgVHJ1c3RlZCBHNCBSU0E0
# MDk2IFNIQTI1NiBUaW1lU3RhbXBpbmcgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4IC
# DwAwggIKAoICAQDGhjUGSbPBPXJJUVXHJQPE8pE3qZdRodbSg9GeTKJtoLDMg/la
# 9hGhRBVCX6SI82j6ffOciQt/nR+eDzMfUBMLJnOWbfhXqAJ9/UO0hNoR8XOxs+4r
# gISKIhjf69o9xBd/qxkrPkLcZ47qUT3w1lbU5ygt69OxtXXnHwZljZQp09nsad/Z
# kIdGAHvbREGJ3HxqV3rwN3mfXazL6IRktFLydkf3YYMZ3V+0VAshaG43IbtArF+y
# 3kp9zvU5EmfvDqVjbOSmxR3NNg1c1eYbqMFkdECnwHLFuk4fsbVYTXn+149zk6ws
# OeKlSNbwsDETqVcplicu9Yemj052FVUmcJgmf6AaRyBD40NjgHt1biclkJg6OBGz
# 9vae5jtb7IHeIhTZgirHkr+g3uM+onP65x9abJTyUpURK1h0QCirc0PO30qhHGs4
# xSnzyqqWc0Jon7ZGs506o9UD4L/wojzKQtwYSH8UNM/STKvvmz3+DrhkKvp1KCRB
# 7UK/BZxmSVJQ9FHzNklNiyDSLFc1eSuo80VgvCONWPfcYd6T/jnA+bIwpUzX6ZhK
# WD7TA4j+s4/TXkt2ElGTyYwMO1uKIqjBJgj5FBASA31fI7tk42PgpuE+9sJ0sj8e
# CXbsq11GdeJgo1gJASgADoRU7s7pXcheMBK9Rp6103a50g5rmQzSM7TNsQIDAQAB
# o4IBXTCCAVkwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUuhbZbU2FL3Mp
# dpovdYxqII+eyG8wHwYDVR0jBBgwFoAU7NfjgtJxXWRM3y5nP+e6mK4cD08wDgYD
# VR0PAQH/BAQDAgGGMBMGA1UdJQQMMAoGCCsGAQUFBwMIMHcGCCsGAQUFBwEBBGsw
# aTAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEEGCCsGAQUF
# BzAChjVodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVk
# Um9vdEc0LmNydDBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3JsMy5kaWdpY2Vy
# dC5jb20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNybDAgBgNVHSAEGTAXMAgGBmeB
# DAEEAjALBglghkgBhv1sBwEwDQYJKoZIhvcNAQELBQADggIBAH1ZjsCTtm+YqUQi
# AX5m1tghQuGwGC4QTRPPMFPOvxj7x1Bd4ksp+3CKDaopafxpwc8dB+k+YMjYC+Vc
# W9dth/qEICU0MWfNthKWb8RQTGIdDAiCqBa9qVbPFXONASIlzpVpP0d3+3J0FNf/
# q0+KLHqrhc1DX+1gtqpPkWaeLJ7giqzl/Yy8ZCaHbJK9nXzQcAp876i8dU+6Wvep
# ELJd6f8oVInw1YpxdmXazPByoyP6wCeCRK6ZJxurJB4mwbfeKuv2nrF5mYGjVoar
# CkXJ38SNoOeY+/umnXKvxMfBwWpx2cYTgAnEtp/Nh4cku0+jSbl3ZpHxcpzpSwJS
# pzd+k1OsOx0ISQ+UzTl63f8lY5knLD0/a6fxZsNBzU+2QJshIUDQtxMkzdwdeDrk
# nq3lNHGS1yZr5Dhzq6YBT70/O3itTK37xJV77QpfMzmHQXh6OOmc4d0j/R0o08f5
# 6PGYX/sr2H7yRp11LB4nLCbbbxV7HhmLNriT1ObyF5lZynDwN7+YAN8gFk8n+2Bn
# FqFmut1VwDophrCYoCvtlUG3OtUVmDG0YgkPCr2B2RP+v6TR81fZvAT6gt4y3wSJ
# 8ADNXcL50CN/AAvkdgIm2fBldkKmKYcJRyvmfxqkhQ/8mJb2VVQrH4D6wPIOK+XW
# +6kvRBVK5xMOHds3OBqhK/bt1nz8MIIFjTCCBHWgAwIBAgIQDpsYjvnQLefv21Di
# CEAYWjANBgkqhkiG9w0BAQwFADBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGln
# aUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtE
# aWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMjIwODAxMDAwMDAwWhcNMzEx
# MTA5MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5j
# MRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBU
# cnVzdGVkIFJvb3QgRzQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/
# 5pBzaN675F1KPDAiMGkz7MKnJS7JIT3yithZwuEppz1Yq3aaza57G4QNxDAf8xuk
# OBbrVsaXbR2rsnnyyhHS5F/WBTxSD1Ifxp4VpX6+n6lXFllVcq9ok3DCsrp1mWpz
# MpTREEQQLt+C8weE5nQ7bXHiLQwb7iDVySAdYyktzuxeTsiT+CFhmzTrBcZe7Fsa
# vOvJz82sNEBfsXpm7nfISKhmV1efVFiODCu3T6cw2Vbuyntd463JT17lNecxy9qT
# XtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQjdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRz
# Km6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRc
# Ro9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCiEhtmmnTK3kse5w5jrubU75KSOp493ADk
# RSWJtppEGSt+wJS00mFt6zPZxd9LBADMfRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMY
# RJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QYuKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4m
# rLZBdd56rF+NP8m800ERElvlEFDrMcXKchYiCd98THU/Y+whX8QgUWtvsauGi0/C
# 1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t9dmpsh3lGwIDAQABo4IBOjCCATYwDwYD
# VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wHwYD
# VR0jBBgwFoAUReuir/SSy4IxLVGLp6chnfNtyA8wDgYDVR0PAQH/BAQDAgGGMHkG
# CCsGAQUFBwEBBG0wazAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu
# Y29tMEMGCCsGAQUFBzAChjdodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln
# aUNlcnRBc3N1cmVkSURSb290Q0EuY3J0MEUGA1UdHwQ+MDwwOqA4oDaGNGh0dHA6
# Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmww
# EQYDVR0gBAowCDAGBgRVHSAAMA0GCSqGSIb3DQEBDAUAA4IBAQBwoL9DXFXnOF+g
# o3QbPbYW1/e/Vwe9mqyhhyzshV6pGrsi+IcaaVQi7aSId229GhT0E0p6Ly23OO/0
# /4C5+KH38nLeJLxSA8hO0Cre+i1Wz/n096wwepqLsl7Uz9FDRJtDIeuWcqFItJnL
# nU+nBgMTdydE1Od/6Fmo8L8vC6bp8jQ87PcDx4eo0kxAGTVGamlUsLihVo7spNU9
# 6LHc/RzY9HdaXFSMb++hUD38dglohJ9vytsgjTVgHAIDyyCwrFigDkBjxZgiwbJZ
# 9VVrzyerbHbObyMt9H5xaiNrIv8SuFQtJ37YOtnwtoeW/VvRXKwYw02fc7cBqZ9X
# ql4o4rmUMYIDdjCCA3ICAQEwdzBjMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGln
# aUNlcnQsIEluYy4xOzA5BgNVBAMTMkRpZ2lDZXJ0IFRydXN0ZWQgRzQgUlNBNDA5
# NiBTSEEyNTYgVGltZVN0YW1waW5nIENBAhALrma8Wrp/lYfG+ekE4zMEMA0GCWCG
# SAFlAwQCAQUAoIHRMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG
# 9w0BCQUxDxcNMjQxMTIxMTQzNzUzWjArBgsqhkiG9w0BCRACDDEcMBowGDAWBBTb
# 04XuYtvSPnvk9nFIUIck1YZbRTAvBgkqhkiG9w0BCQQxIgQgLKhoZyqdaLjuRle7
# NtZPjPwqbD1zFV6pVej/XXBVN/swNwYLKoZIhvcNAQkQAi8xKDAmMCQwIgQgdnaf
# qPJjLx9DCzojMK7WVnX+13PbBdZluQWTmEOPmtswDQYJKoZIhvcNAQEBBQAEggIA
# cAptYuYkKrys1FbcxHy2MxYceqtVO6TBc1VPzukmstyABTmAaQIlAnQB8SO6lcbM
# nrh8czDAovrJRsZ5uHc8pzog9oCd5n4tlct0hLy/F8DcSV9kWxYyz/zDK0nAUcCN
# 9S8QC7CTziEK0oj2rxWWyw7x13SSPU8JqSxcfSdcjOgPd2eWbUoQ8jwCp8eg1pba
# AgYfi8Rz++Mey5k2J3ViLFaTBXK2vTdpwWVFA28dEpUsOUraxy7dCgVe0oocuCTK
# QDOA7C5TjaVVIwjSRu2/9Y6kXUFJd3/U/Fuq3Rc58tDgstj/wibJYieRESr5noWh
# j+R/Ftk0vZZsLIU2HllTDCn/KeE/7CaPdb9uIJ+JSS0N28XqJtjbgmIMrr+mQmcA
# fq5lS6P5SzoYACE1BRishI/AvHvgQC5CkenZFkQUI513Z6GYZiumVdrKrJyIInPF
# 5StwJ6Ftiboz+CUjxQWT8cQttqkyWk01v+i29gphXMoG1616A8idh2iVvI/WwMVN
# C4nKY05bTNIq90NIBp7UHNIP0PeGrUThHDvAeKyHbCedYtzUTR+8q/yxL8gAMuyp
# dtWF3QFbkLP0PlJHysc+9SipM7zkI3et0GJr/0f4lJIa+19RtFU+lhQGJPl16QLE
# eCnmFAX8RyZb/6vm2r1N6zr3MML04jBoakxZ8QoRw/U=
# SIG # End signature block