Model/VMInfo.ps1

#
# Vcenter Paths
# The vcenter package provides services for managing VMware vSphere environments. The package is available starting in vSphere 6.5.
# Version: v7.0U2
# Contact: powercli@vmware.com
# Generated by OpenAPI Generator: https://openapi-generator.tech
#

<#
.DESCRIPTION
 
Document-based info.
 
.PARAMETER GuestOS
No description available.
.PARAMETER Name
Virtual machine name.
.PARAMETER Identity
No description available.
.PARAMETER PowerState
No description available.
.PARAMETER InstantCloneFrozen
Indicates whether the virtual machine is frozen for instant clone, or not. This field is optional because it was added in a newer version than its parent node.
.PARAMETER Hardware
No description available.
.PARAMETER Boot
No description available.
.PARAMETER BootDevices
Boot device configuration. If the list has no entries, a server-specific default boot sequence is used.
.PARAMETER Cpu
No description available.
.PARAMETER Memory
No description available.
.PARAMETER Disks
List of disks. When clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: com.vmware.vcenter.vm.hardware.Disk. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: com.vmware.vcenter.vm.hardware.Disk.
.PARAMETER Nics
List of Ethernet adapters. When clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: com.vmware.vcenter.vm.hardware.Ethernet. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: com.vmware.vcenter.vm.hardware.Ethernet.
.PARAMETER Cdroms
List of CD-ROMs. When clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: com.vmware.vcenter.vm.hardware.Cdrom. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: com.vmware.vcenter.vm.hardware.Cdrom.
.PARAMETER Floppies
List of floppy drives. When clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: com.vmware.vcenter.vm.hardware.Floppy. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: com.vmware.vcenter.vm.hardware.Floppy.
.PARAMETER ParallelPorts
List of parallel ports. When clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: com.vmware.vcenter.vm.hardware.ParallelPort. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: com.vmware.vcenter.vm.hardware.ParallelPort.
.PARAMETER SerialPorts
List of serial ports. When clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: com.vmware.vcenter.vm.hardware.SerialPort. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: com.vmware.vcenter.vm.hardware.SerialPort.
.PARAMETER SataAdapters
List of SATA adapters. When clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: com.vmware.vcenter.vm.hardware.SataAdapter. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: com.vmware.vcenter.vm.hardware.SataAdapter.
.PARAMETER ScsiAdapters
List of SCSI adapters. When clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: com.vmware.vcenter.vm.hardware.ScsiAdapter. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: com.vmware.vcenter.vm.hardware.ScsiAdapter.
.OUTPUTS
 
VMInfo<PSCustomObject>
 
.LINK
 
Online Version: https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/data-structures/VM/Info/
#>


function Initialize-VMInfo {
    [CmdletBinding(HelpURI = "https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/data-structures/VM/Info/")]
    Param (
        [Parameter(Mandatory = $true, Position = 0, ValueFromPipelineByPropertyName = $true)]
        [ValidateSet("DOS", "WIN_31", "WIN_95", "WIN_98", "WIN_ME", "WIN_NT", "WIN_2000_PRO", "WIN_2000_SERV", "WIN_2000_ADV_SERV", "WIN_XP_HOME", "WIN_XP_PRO", "WIN_XP_PRO_64", "WIN_NET_WEB", "WIN_NET_STANDARD", "WIN_NET_ENTERPRISE", "WIN_NET_DATACENTER", "WIN_NET_BUSINESS", "WIN_NET_STANDARD_64", "WIN_NET_ENTERPRISE_64", "WIN_LONGHORN", "WIN_LONGHORN_64", "WIN_NET_DATACENTER_64", "WIN_VISTA", "WIN_VISTA_64", "WINDOWS_7", "WINDOWS_7_64", "WINDOWS_7_SERVER_64", "WINDOWS_8", "WINDOWS_8_64", "WINDOWS_8_SERVER_64", "WINDOWS_9", "WINDOWS_9_64", "WINDOWS_9_SERVER_64", "WINDOWS_HYPERV", "WINDOWS_SERVER_2019", "WINDOWS_SERVER_2021", "FREEBSD", "FREEBSD_64", "FREEBSD_11", "FREEBSD_12", "FREEBSD_13", "FREEBSD_11_64", "FREEBSD_12_64", "FREEBSD_13_64", "REDHAT", "RHEL_2", "RHEL_3", "RHEL_3_64", "RHEL_4", "RHEL_4_64", "RHEL_5", "RHEL_5_64", "RHEL_6", "RHEL_6_64", "RHEL_7", "RHEL_7_64", "RHEL_8_64", "RHEL_9_64", "CENTOS", "CENTOS_64", "CENTOS_6", "CENTOS_6_64", "CENTOS_7", "CENTOS_7_64", "CENTOS_8_64", "CENTOS_9_64", "ORACLE_LINUX", "ORACLE_LINUX_64", "ORACLE_LINUX_6", "ORACLE_LINUX_6_64", "ORACLE_LINUX_7", "ORACLE_LINUX_7_64", "ORACLE_LINUX_8_64", "ORACLE_LINUX_9_64", "SUSE", "SUSE_64", "SLES", "SLES_64", "SLES_10", "SLES_10_64", "SLES_11", "SLES_11_64", "SLES_12", "SLES_12_64", "SLES_15_64", "SLES_16_64", "NLD_9", "OES", "SJDS", "MANDRAKE", "MANDRIVA", "MANDRIVA_64", "TURBO_LINUX", "TURBO_LINUX_64", "UBUNTU", "UBUNTU_64", "DEBIAN_4", "DEBIAN_4_64", "DEBIAN_5", "DEBIAN_5_64", "DEBIAN_6", "DEBIAN_6_64", "DEBIAN_7", "DEBIAN_7_64", "DEBIAN_8", "DEBIAN_8_64", "DEBIAN_9", "DEBIAN_9_64", "DEBIAN_10", "DEBIAN_10_64", "DEBIAN_11", "DEBIAN_11_64", "ASIANUX_3", "ASIANUX_3_64", "ASIANUX_4", "ASIANUX_4_64", "ASIANUX_5_64", "ASIANUX_7_64", "ASIANUX_8_64", "ASIANUX_9_64", "OPENSUSE", "OPENSUSE_64", "FEDORA", "FEDORA_64", "COREOS_64", "VMWARE_PHOTON_64", "OTHER_24X_LINUX", "OTHER_24X_LINUX_64", "OTHER_26X_LINUX", "OTHER_26X_LINUX_64", "OTHER_3X_LINUX", "OTHER_3X_LINUX_64", "OTHER_4X_LINUX", "OTHER_4X_LINUX_64", "OTHER_5X_LINUX", "OTHER_5X_LINUX_64", "OTHER_LINUX", "GENERIC_LINUX", "OTHER_LINUX_64", "SOLARIS_6", "SOLARIS_7", "SOLARIS_8", "SOLARIS_9", "SOLARIS_10", "SOLARIS_10_64", "SOLARIS_11_64", "OS2", "ECOMSTATION", "ECOMSTATION_2", "NETWARE_4", "NETWARE_5", "NETWARE_6", "OPENSERVER_5", "OPENSERVER_6", "UNIXWARE_7", "DARWIN", "DARWIN_64", "DARWIN_10", "DARWIN_10_64", "DARWIN_11", "DARWIN_11_64", "DARWIN_12_64", "DARWIN_13_64", "DARWIN_14_64", "DARWIN_15_64", "DARWIN_16_64", "DARWIN_17_64", "DARWIN_18_64", "DARWIN_19_64", "DARWIN_20_64", "DARWIN_21_64", "VMKERNEL", "VMKERNEL_5", "VMKERNEL_6", "VMKERNEL_65", "VMKERNEL_7", "AMAZONLINUX2_64", "AMAZONLINUX3_64", "CRXPOD_1", "OTHER", "OTHER_64")]
        ${GuestOS},
        [Parameter(Mandatory = $true, Position = 1, ValueFromPipelineByPropertyName = $true)]
        [ValidateScript({ $_ -is [string] })]
        ${Name},
        [Parameter(Mandatory = $false, Position = 2, ValueFromPipelineByPropertyName = $true)]
        [PSTypeName("VmIdentityInfo")]
        [PSCustomObject]
        ${Identity},
        [Parameter(Mandatory = $true, Position = 3, ValueFromPipelineByPropertyName = $true)]
        [ValidateSet("POWERED_OFF", "POWERED_ON", "SUSPENDED")]
        ${PowerState},
        [Parameter(Mandatory = $false, Position = 4, ValueFromPipelineByPropertyName = $true)]
        [System.Nullable[Boolean]]
        ${InstantCloneFrozen},
        [Parameter(Mandatory = $true, Position = 5, ValueFromPipelineByPropertyName = $true)]
        [PSTypeName("VmHardwareInfo")]
        [PSCustomObject]
        ${Hardware},
        [Parameter(Mandatory = $true, Position = 6, ValueFromPipelineByPropertyName = $true)]
        [PSTypeName("VmHardwareBootInfo")]
        [PSCustomObject]
        ${Boot},
        [Parameter(Mandatory = $true, Position = 7, ValueFromPipelineByPropertyName = $true)]
        [PSCustomObject[]]
        ${BootDevices},
        [Parameter(Mandatory = $true, Position = 8, ValueFromPipelineByPropertyName = $true)]
        [PSTypeName("VmHardwareCpuInfo")]
        [PSCustomObject]
        ${Cpu},
        [Parameter(Mandatory = $true, Position = 9, ValueFromPipelineByPropertyName = $true)]
        [PSTypeName("VmHardwareMemoryInfo")]
        [PSCustomObject]
        ${Memory},
        [Parameter(Mandatory = $true, Position = 10, ValueFromPipelineByPropertyName = $true)]
        [System.Collections.Hashtable]
        ${Disks},
        [Parameter(Mandatory = $true, Position = 11, ValueFromPipelineByPropertyName = $true)]
        [System.Collections.Hashtable]
        ${Nics},
        [Parameter(Mandatory = $true, Position = 12, ValueFromPipelineByPropertyName = $true)]
        [System.Collections.Hashtable]
        ${Cdroms},
        [Parameter(Mandatory = $true, Position = 13, ValueFromPipelineByPropertyName = $true)]
        [System.Collections.Hashtable]
        ${Floppies},
        [Parameter(Mandatory = $true, Position = 14, ValueFromPipelineByPropertyName = $true)]
        [System.Collections.Hashtable]
        ${ParallelPorts},
        [Parameter(Mandatory = $true, Position = 15, ValueFromPipelineByPropertyName = $true)]
        [System.Collections.Hashtable]
        ${SerialPorts},
        [Parameter(Mandatory = $true, Position = 16, ValueFromPipelineByPropertyName = $true)]
        [System.Collections.Hashtable]
        ${SataAdapters},
        [Parameter(Mandatory = $true, Position = 17, ValueFromPipelineByPropertyName = $true)]
        [System.Collections.Hashtable]
        ${ScsiAdapters}
    )

    Process {
        'Creating PSCustomObject: VMware.Sdk.vSphere.vCenter => vSphereVMInfo' | Write-Debug

        if ($GuestOS -eq $null) {
            throw "invalid value for 'GuestOS', 'GuestOS' cannot be null."
        }

        if ($PowerState -eq $null) {
            throw "invalid value for 'PowerState', 'PowerState' cannot be null."
        }

        if ($Hardware -eq $null) {
            throw "invalid value for 'Hardware', 'Hardware' cannot be null."
        }

        if ($Boot -eq $null) {
            throw "invalid value for 'Boot', 'Boot' cannot be null."
        }

        if ($BootDevices -eq $null) {
            throw "invalid value for 'BootDevices', 'BootDevices' cannot be null."
        }

        if ($Cpu -eq $null) {
            throw "invalid value for 'Cpu', 'Cpu' cannot be null."
        }

        if ($Memory -eq $null) {
            throw "invalid value for 'Memory', 'Memory' cannot be null."
        }

        if ($Disks -eq $null) {
            throw "invalid value for 'Disks', 'Disks' cannot be null."
        }

        if ($Nics -eq $null) {
            throw "invalid value for 'Nics', 'Nics' cannot be null."
        }

        if ($Cdroms -eq $null) {
            throw "invalid value for 'Cdroms', 'Cdroms' cannot be null."
        }

        if ($Floppies -eq $null) {
            throw "invalid value for 'Floppies', 'Floppies' cannot be null."
        }

        if ($ParallelPorts -eq $null) {
            throw "invalid value for 'ParallelPorts', 'ParallelPorts' cannot be null."
        }

        if ($SerialPorts -eq $null) {
            throw "invalid value for 'SerialPorts', 'SerialPorts' cannot be null."
        }

        if ($SataAdapters -eq $null) {
            throw "invalid value for 'SataAdapters', 'SataAdapters' cannot be null."
        }

        if ($ScsiAdapters -eq $null) {
            throw "invalid value for 'ScsiAdapters', 'ScsiAdapters' cannot be null."
        }


        $PSO = [PSCustomObject]@{
            "PSTypeName" = "VMInfo"
            "guest_OS" = ${GuestOS}
            "name" = ${Name}
            "identity" = ${Identity}
            "power_state" = ${PowerState}
            "instant_clone_frozen" = ${InstantCloneFrozen}
            "hardware" = ${Hardware}
            "boot" = ${Boot}
            "boot_devices" = ${BootDevices}
            "cpu" = ${Cpu}
            "memory" = ${Memory}
            "disks" = ${Disks}
            "nics" = ${Nics}
            "cdroms" = ${Cdroms}
            "floppies" = ${Floppies}
            "parallel_ports" = ${ParallelPorts}
            "serial_ports" = ${SerialPorts}
            "sata_adapters" = ${SataAdapters}
            "scsi_adapters" = ${ScsiAdapters}
        }


        return $PSO
    }
}


# SIG # Begin signature block
# MIIexwYJKoZIhvcNAQcCoIIeuDCCHrQCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCA4v+uaD6uBtfEY
# Ae3kXx3dPbWdOpQ790kgUcajY04ezaCCDdowggawMIIEmKADAgECAhAIrUCyYNKc
# TJ9ezam9k67ZMA0GCSqGSIb3DQEBDAUAMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQK
# EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNV
# BAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9vdCBHNDAeFw0yMTA0MjkwMDAwMDBaFw0z
# NjA0MjgyMzU5NTlaMGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwg
# SW5jLjFBMD8GA1UEAxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcg
# UlNBNDA5NiBTSEEzODQgMjAyMSBDQTEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
# ggIKAoICAQDVtC9C0CiteLdd1TlZG7GIQvUzjOs9gZdwxbvEhSYwn6SOaNhc9es0
# JAfhS0/TeEP0F9ce2vnS1WcaUk8OoVf8iJnBkcyBAz5NcCRks43iCH00fUyAVxJr
# Q5qZ8sU7H/Lvy0daE6ZMswEgJfMQ04uy+wjwiuCdCcBlp/qYgEk1hz1RGeiQIXhF
# LqGfLOEYwhrMxe6TSXBCMo/7xuoc82VokaJNTIIRSFJo3hC9FFdd6BgTZcV/sk+F
# LEikVoQ11vkunKoAFdE3/hoGlMJ8yOobMubKwvSnowMOdKWvObarYBLj6Na59zHh
# 3K3kGKDYwSNHR7OhD26jq22YBoMbt2pnLdK9RBqSEIGPsDsJ18ebMlrC/2pgVItJ
# wZPt4bRc4G/rJvmM1bL5OBDm6s6R9b7T+2+TYTRcvJNFKIM2KmYoX7BzzosmJQay
# g9Rc9hUZTO1i4F4z8ujo7AqnsAMrkbI2eb73rQgedaZlzLvjSFDzd5Ea/ttQokbI
# YViY9XwCFjyDKK05huzUtw1T0PhH5nUwjewwk3YUpltLXXRhTT8SkXbev1jLchAp
# QfDVxW0mdmgRQRNYmtwmKwH0iU1Z23jPgUo+QEdfyYFQc4UQIyFZYIpkVMHMIRro
# OBl8ZhzNeDhFMJlP/2NPTLuqDQhTQXxYPUez+rbsjDIJAsxsPAxWEQIDAQABo4IB
# WTCCAVUwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUaDfg67Y7+F8Rhvv+
# YXsIiGX0TkIwHwYDVR0jBBgwFoAU7NfjgtJxXWRM3y5nP+e6mK4cD08wDgYDVR0P
# AQH/BAQDAgGGMBMGA1UdJQQMMAoGCCsGAQUFBwMDMHcGCCsGAQUFBwEBBGswaTAk
# BggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEEGCCsGAQUFBzAC
# hjVodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkUm9v
# dEc0LmNydDBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3JsMy5kaWdpY2VydC5j
# b20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNybDAcBgNVHSAEFTATMAcGBWeBDAED
# MAgGBmeBDAEEATANBgkqhkiG9w0BAQwFAAOCAgEAOiNEPY0Idu6PvDqZ01bgAhql
# +Eg08yy25nRm95RysQDKr2wwJxMSnpBEn0v9nqN8JtU3vDpdSG2V1T9J9Ce7FoFF
# UP2cvbaF4HZ+N3HLIvdaqpDP9ZNq4+sg0dVQeYiaiorBtr2hSBh+3NiAGhEZGM1h
# mYFW9snjdufE5BtfQ/g+lP92OT2e1JnPSt0o618moZVYSNUa/tcnP/2Q0XaG3Ryw
# YFzzDaju4ImhvTnhOE7abrs2nfvlIVNaw8rpavGiPttDuDPITzgUkpn13c5Ubdld
# AhQfQDN8A+KVssIhdXNSy0bYxDQcoqVLjc1vdjcshT8azibpGL6QB7BDf5WIIIJw
# 8MzK7/0pNVwfiThV9zeKiwmhywvpMRr/LhlcOXHhvpynCgbWJme3kuZOX956rEnP
# LqR0kq3bPKSchh/jwVYbKyP/j7XqiHtwa+aguv06P0WmxOgWkVKLQcBIhEuWTatE
# QOON8BUozu3xGFYHKi8QxAwIZDwzj64ojDzLj4gLDb879M4ee47vtevLt/B3E+bn
# KD+sEq6lLyJsQfmCXBVmzGwOysWGw/YmMwwHS6DTBwJqakAwSEs0qFEgu60bhQji
# WQ1tygVQK+pKHJ6l/aCnHwZ05/LWUpD9r4VIIflXO7ScA+2GRfS0YW6/aOImYIbq
# yK+p/pQd52MbOoZWeE4wggciMIIFCqADAgECAhAOxvKydqFGoH0ObZNXteEIMA0G
# CSqGSIb3DQEBCwUAMGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwg
# SW5jLjFBMD8GA1UEAxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcg
# UlNBNDA5NiBTSEEzODQgMjAyMSBDQTEwHhcNMjEwODEwMDAwMDAwWhcNMjMwODEw
# MjM1OTU5WjCBhzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExEjAQ
# BgNVBAcTCVBhbG8gQWx0bzEVMBMGA1UEChMMVk13YXJlLCBJbmMuMRUwEwYDVQQD
# EwxWTXdhcmUsIEluYy4xITAfBgkqhkiG9w0BCQEWEm5vcmVwbHlAdm13YXJlLmNv
# bTCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAMD6lJG8OWkM12huIQpO
# /q9JnhhhW5UyW9if3/UnoFY3oqmp0JYX/ZrXogUHYXmbt2gk01zz2P5Z89mM4gqR
# bGYC2tx+Lez4GxVkyslVPI3PXYcYSaRp39JsF3yYifnp9R+ON8O3Gf5/4EaFmbeT
# ElDCFBfExPMqtSvPZDqekodzX+4SK1PIZxCyR3gml8R3/wzhb6Li0mG7l0evQUD0
# FQAbKJMlBk863apeX4ALFZtrnCpnMlOjRb85LsjV5Ku4OhxQi1jlf8wR+za9C3DU
# ki60/yiWPu+XXwEUqGInIihECBbp7hfFWrnCCaOgahsVpgz8kKg/XN4OFq7rbh4q
# 5IkTauqFhHaE7HKM5bbIBkZ+YJs2SYvu7aHjw4Z8aRjaIbXhI1G+NtaNY7kSRrE4
# fAyC2X2zV5i4a0AuAMM40C1Wm3gTaNtRTHnka/pbynUlFjP+KqAZhOniJg4AUfjX
# sG+PG1LH2+w/sfDl1A8liXSZU1qJtUs3wBQFoSGEaGBeDQIDAQABo4ICJTCCAiEw
# HwYDVR0jBBgwFoAUaDfg67Y7+F8Rhvv+YXsIiGX0TkIwHQYDVR0OBBYEFIhC+HL9
# QlvsWsztP/I5wYwdfCFNMB0GA1UdEQQWMBSBEm5vcmVwbHlAdm13YXJlLmNvbTAO
# BgNVHQ8BAf8EBAMCB4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMwgbUGA1UdHwSBrTCB
# qjBToFGgT4ZNaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3Rl
# ZEc0Q29kZVNpZ25pbmdSU0E0MDk2U0hBMzg0MjAyMUNBMS5jcmwwU6BRoE+GTWh0
# dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNENvZGVTaWdu
# aW5nUlNBNDA5NlNIQTM4NDIwMjFDQTEuY3JsMD4GA1UdIAQ3MDUwMwYGZ4EMAQQB
# MCkwJwYIKwYBBQUHAgEWG2h0dHA6Ly93d3cuZGlnaWNlcnQuY29tL0NQUzCBlAYI
# KwYBBQUHAQEEgYcwgYQwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0
# LmNvbTBcBggrBgEFBQcwAoZQaHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0Rp
# Z2lDZXJ0VHJ1c3RlZEc0Q29kZVNpZ25pbmdSU0E0MDk2U0hBMzg0MjAyMUNBMS5j
# cnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEACQAYaQI6Nt2KgxdN
# 6qqfcHB33EZRSXkvs8O9iPZkdDjEx+2fgbBPLUvk9A7T8mRw7brbcJv4PLTYJDFo
# c5mlcmG7/5zwTOuIs2nBGXc/uxCnyW8p7kD4Y0JxPKEVQoIQ8lJS9Uy/hBjyakeV
# ef982JyzvDbOlLBy6AS3ZpXVkRY5y3Va+3v0R/0xJ+JRxUicQhiZRidq2TCiWEas
# d+tLL6jrKaBO+rmP52IM4eS9d4Yids7ogKEBAlJi0NbvuKO0CkgOlFjp1tOvD4sQ
# taHIMmqi40p4Tjyf/sY6yGjROXbMeeF1vlwbBAASPWpQuEIxrNHoVN30YfJyuOWj
# zdiJUTpeLn9XdjM3UlhfaHP+oIAKcmkd33c40SFRlQG9+P9Wlm7TcPxGU4wzXI8n
# Cw/h235jFlAAiWq9L2r7Un7YduqsheJVpGoXmRXJH0T2G2eNFS5/+2sLn98kN2Cn
# J7j6C242onjkZuGL2/+gqx8m5Jbpu9P4IAeTC1He/mX9j6XpIu+7uBoRVwuWD1i0
# N5SiUz7Lfnbr6Q1tHMXKDLFdwVKZos2AKEZhv4SU0WvenMJKDgkkhVeHPHbTahQf
# P1MetR8tdRs7uyTWAjPK5xf5DLEkXbMrUkpJ089fPvAGVHBcHRMqFA5egexOb6sj
# tKncUjJ1xAAtAExGdCh6VD2U5iYxghBDMIIQPwIBATB9MGkxCzAJBgNVBAYTAlVT
# MRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjFBMD8GA1UEAxM4RGlnaUNlcnQgVHJ1
# c3RlZCBHNCBDb2RlIFNpZ25pbmcgUlNBNDA5NiBTSEEzODQgMjAyMSBDQTECEA7G
# 8rJ2oUagfQ5tk1e14QgwDQYJYIZIAWUDBAIBBQCggZYwGQYJKoZIhvcNAQkDMQwG
# CisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwKgYKKwYB
# BAGCNwIBDDEcMBqhGIAWaHR0cDovL3d3dy52bXdhcmUuY29tLzAvBgkqhkiG9w0B
# CQQxIgQgHoUIRf96idZnev2y2SLh3kIgwgrPD6pJaU+O4tMyvE4wDQYJKoZIhvcN
# AQEBBQAEggGARVfg1Dpp6Un6Xpmdj7wFHXuvcQ9Ydu0SeaOXuxmYdSSF/vZ/LF5j
# xgJq5dS2bmXnrrElXiZ5H9nOqyBYQXL5WgXIre26n0nzZ1lm5dVZILOTKZuxCDRU
# 2lLWTV6HbHORKhiE40B9w21TyIQbeaNngO1Mytutqm8irroUv3T1GXRZ+iMTja/5
# F6CKI1QYJ4S8qfUY/oU3UrfBJ68YqPvbVZqGa+2HC444ZZhA8zAWXmJ/OqLDKQs5
# XVrnVMik3RgP8zHSQGTXJabfvtGKfQHJdjlTzPhWuOC41TMlsIxCyGONsrDFy7Jj
# eqavjtL57NXBi8hqz8b4+LBGRBmccDzdfLruHW1t50gn5C6HtdGd072eSAOpv4Dg
# Jv4BfPOGNpxrtH4lrt2vl5k0Da9Mez28DnUA6B2IvSzecHvVni3c9+5J/YMk8WG7
# blOU87ModQkwnSEgVI52KqmRvuLDv697LE7MkDXF/P1xihKZtDgqTFaYsAWef2OK
# gBrucfH5eENIoYINfjCCDXoGCisGAQQBgjcDAwExgg1qMIINZgYJKoZIhvcNAQcC
# oIINVzCCDVMCAQMxDzANBglghkgBZQMEAgEFADB4BgsqhkiG9w0BCRABBKBpBGcw
# ZQIBAQYJYIZIAYb9bAcBMDEwDQYJYIZIAWUDBAIBBQAEIPuogI9S94JtamA1PvTk
# 1vstjPbNHyIBN/Nw5OiJZY3lAhEAyd2BUwfgYsoa0dlRa6DjFxgPMjAyMTA5MTUx
# MjE4MDZaoIIKNzCCBP4wggPmoAMCAQICEA1CSuC+Ooj/YEAhzhQA8N0wDQYJKoZI
# hvcNAQELBQAwcjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ
# MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTExMC8GA1UEAxMoRGlnaUNlcnQgU0hB
# MiBBc3N1cmVkIElEIFRpbWVzdGFtcGluZyBDQTAeFw0yMTAxMDEwMDAwMDBaFw0z
# MTAxMDYwMDAwMDBaMEgxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwg
# SW5jLjEgMB4GA1UEAxMXRGlnaUNlcnQgVGltZXN0YW1wIDIwMjEwggEiMA0GCSqG
# SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDC5mGEZ8WK9Q0IpEXKY2tR1zoRQr0KdXVN
# lLQMULUmEP4dyG+RawyW5xpcSO9E5b+bYc0VkWJauP9nC5xj/TZqgfop+N0rcIXe
# AhjzeG28ffnHbQk9vmp2h+mKvfiEXR52yeTGdnY6U9HR01o2j8aj4S8bOrdh1nPs
# Tm0zinxdRS1LsVDmQTo3VobckyON91Al6GTm3dOPL1e1hyDrDo4s1SPa9E14RuMD
# gzEpSlwMMYpKjIjF9zBa+RSvFV9sQ0kJ/SYjU/aNY+gaq1uxHTDCm2mCtNv8VlS8
# H6GHq756WwogL0sJyZWnjbL61mOLTqVyHO6fegFz+BnW/g1JhL0BAgMBAAGjggG4
# MIIBtDAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIwADAWBgNVHSUBAf8EDDAK
# BggrBgEFBQcDCDBBBgNVHSAEOjA4MDYGCWCGSAGG/WwHATApMCcGCCsGAQUFBwIB
# FhtodHRwOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwHwYDVR0jBBgwFoAU9LbhIB3+
# Ka7S5GGlsqIlssgXNW4wHQYDVR0OBBYEFDZEho6kurBmvrwoLR1ENt3janq8MHEG
# A1UdHwRqMGgwMqAwoC6GLGh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9zaGEyLWFz
# c3VyZWQtdHMuY3JsMDKgMKAuhixodHRwOi8vY3JsNC5kaWdpY2VydC5jb20vc2hh
# Mi1hc3N1cmVkLXRzLmNybDCBhQYIKwYBBQUHAQEEeTB3MCQGCCsGAQUFBzABhhho
# dHRwOi8vb2NzcC5kaWdpY2VydC5jb20wTwYIKwYBBQUHMAKGQ2h0dHA6Ly9jYWNl
# cnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFNIQTJBc3N1cmVkSURUaW1lc3RhbXBp
# bmdDQS5jcnQwDQYJKoZIhvcNAQELBQADggEBAEgc3LXpmiO85xrnIA6OZ0b9QnJR
# dAojR6OrktIlxHBZvhSg5SeBpU0UFRkHefDRBMOG2Tu9/kQCZk3taaQP9rhwz2Lo
# 9VFKeHk2eie38+dSn5On7UOee+e03UEiifuHokYDTvz0/rdkd2NfI1Jpg4L6GlPt
# kMyNoRdzDfTzZTlwS/Oc1np72gy8PTLQG8v1Yfx1CAB2vIEO+MDhXM/EEXLnG2RJ
# 2CKadRVC9S0yOIHa9GCiurRS+1zgYSQlT7LfySmoc0NR2r1j1h9bm/cuG08THfdK
# DXF+l7f0P4TrweOjSaH6zqe/Vs+6WXZhiV9+p7SOZ3j5NpjhyyjaW4emii8wggUx
# MIIEGaADAgECAhAKoSXW1jIbfkHkBdo2l8IVMA0GCSqGSIb3DQEBCwUAMGUxCzAJ
# BgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5k
# aWdpY2VydC5jb20xJDAiBgNVBAMTG0RpZ2lDZXJ0IEFzc3VyZWQgSUQgUm9vdCBD
# QTAeFw0xNjAxMDcxMjAwMDBaFw0zMTAxMDcxMjAwMDBaMHIxCzAJBgNVBAYTAlVT
# MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
# b20xMTAvBgNVBAMTKERpZ2lDZXJ0IFNIQTIgQXNzdXJlZCBJRCBUaW1lc3RhbXBp
# bmcgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC90DLuS82Pf92p
# uoKZxTlUKFe2I0rEDgdFM1EQfdD5fU1ofue2oPSNs4jkl79jIZCYvxO8V9PD4X4I
# 1moUADj3Lh477sym9jJZ/l9lP+Cb6+NGRwYaVX4LJ37AovWg4N4iPw7/fpX786O6
# Ij4YrBHk8JkDbTuFfAnT7l3ImgtU46gJcWvgzyIQD3XPcXJOCq3fQDpct1HhoXkU
# xk0kIzBdvOw8YGqsLwfM/fDqR9mIUF79Zm5WYScpiYRR5oLnRlD9lCosp+R1PrqY
# D4R/nzEU1q3V8mTLex4F0IQZchfxFwbvPc3WTe8GQv2iUypPhR3EHTyvz9qsEPXd
# rKzpVv+TAgMBAAGjggHOMIIByjAdBgNVHQ4EFgQU9LbhIB3+Ka7S5GGlsqIlssgX
# NW4wHwYDVR0jBBgwFoAUReuir/SSy4IxLVGLp6chnfNtyA8wEgYDVR0TAQH/BAgw
# BgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUHAwgweQYI
# KwYBBQUHAQEEbTBrMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5j
# b20wQwYIKwYBBQUHMAKGN2h0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdp
# Q2VydEFzc3VyZWRJRFJvb3RDQS5jcnQwgYEGA1UdHwR6MHgwOqA4oDaGNGh0dHA6
# Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmww
# OqA4oDaGNGh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJ
# RFJvb3RDQS5jcmwwUAYDVR0gBEkwRzA4BgpghkgBhv1sAAIEMCowKAYIKwYBBQUH
# AgEWHGh0dHBzOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCwYJYIZIAYb9bAcBMA0G
# CSqGSIb3DQEBCwUAA4IBAQBxlRLpUYdWac3v3dp8qmN6s3jPBjdAhO9LhL/KzwMC
# /cWnww4gQiyvd/MrHwwhWiq3BTQdaq6Z+CeiZr8JqmDfdqQ6kw/4stHYfBli6F6C
# JR7Euhx7LCHi1lssFDVDBGiy23UC4HLHmNY8ZOUfSBAYX4k4YU1iRiSHY4yRUiyv
# KYnleB/WCxSlgNcSR3CzddWThZN+tpJn+1Nhiaj1a5bA9FhpDXzIAbG5KHW3mWOF
# IoxhynmUfln8jA/jb7UBJrZspe6HUSHkWGCbugwtK22ixH67xCUrRwIIfEmuE7bh
# fEJCKMYYVs9BNLZmXbZ0e/VWMyIvIjayS6JKldj1po5SMYIChjCCAoICAQEwgYYw
# cjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQ
# d3d3LmRpZ2ljZXJ0LmNvbTExMC8GA1UEAxMoRGlnaUNlcnQgU0hBMiBBc3N1cmVk
# IElEIFRpbWVzdGFtcGluZyBDQQIQDUJK4L46iP9gQCHOFADw3TANBglghkgBZQME
# AgEFAKCB0TAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkF
# MQ8XDTIxMDkxNTEyMTgwNlowKwYLKoZIhvcNAQkQAgwxHDAaMBgwFgQU4deCqOGR
# vu9ryhaRtaq0lKYkm/MwLwYJKoZIhvcNAQkEMSIEIMeUMVug4ebmYpXz37wA7VYI
# Zgk/MMY5qIepAhdOcwiQMDcGCyqGSIb3DQEJEAIvMSgwJjAkMCIEILMQkAa8CtmD
# B5FXKeBEA0Fcg+MpK2FPJpZMjTVx7PWpMA0GCSqGSIb3DQEBAQUABIIBAL70bpik
# 4mOH3LPTclrDHgxp7uiTEMgnxGq3MEPzjM3+hwBP+LYotRRJCXgx6kWqdH2UZB0H
# GBmuhgOL4qittQQV3PavePH6Osoo3UTmGSjU9u2fqboh4zPkpt/7G8g5ym+lXd5q
# yEw9ImU811XBTGzq8l2w28R/T9SdEU5EeFP1FgEosQPI99wLh4rELUOGY4zqTMKY
# btz/zPM+F63BfIqjq+kKI2/1X1obl5gIvhPfU3aNZ28mqqduRL9+pUBVOifZbBlF
# StM9COs9l3LT1iLmSaQEC+MZW3L98tjSYaPj+90ySfLU+Qol241fthbA9NWfq8lu
# 3TEzRCwKyiCJd1I=
# SIG # End signature block