custom/Update-ZNMfaOutboundPolicy.ps1

<#
.Synopsis
Updates an outbound MFA Policy.
.Description
Updates an outbound MFA Policy.

.Link
https://github.com/zeronetworks/zero-powershell/zeronetworks/update-znmfaoutboundpolicy
#>

function Update-ZNMfaOutboundPolicy {
    [OutputType([ZeroNetworks.PowerShell.Cmdlets.Api.Models.ReactivePolicy])]
    [CmdletBinding(DefaultParameterSetName = 'UpdateExpanded', PositionalBinding = $false, SupportsShouldProcess, ConfirmImpact = 'Medium')]
    param(
        [Parameter(ParameterSetName = 'UpdateExpanded')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Path')]
        [System.String]
        # Account Name
        ${AccountName},
        
        [Parameter(ParameterSetName = 'UpdateExpanded', Mandatory)]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Path')]
        [System.String]
        # policy Id
        ${ReactivePolicyId},

        [Parameter(ParameterSetName = 'UpdateExpanded')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Body')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Models.IPortsListItem[]]
        # extra ports to open.
        ${AdditionalPortsList},

        #[Parameter(ParameterSetName = 'UpdateExpanded')]
        #[ZeroNetworks.PowerShell.Cmdlets.Api.Category('Body')]
        #[System.String]
        # destination asset(s).
        #${DstEntityInfoId},

        [Parameter(ParameterSetName = 'UpdateExpanded')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Body')]
        [System.String]
        # destination ports.
        ${DstPort},

        #[Parameter(ParameterSetName = 'UpdateExpanded')]
        #[ZeroNetworks.PowerShell.Cmdlets.Api.Category('Body')]
        #[System.String[]]
        # source processes.
        #${dstProcessNames},
        
        [Parameter(ParameterSetName = 'UpdateExpanded')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Body')]
        [String[]]
        # excluded source assets
        ${ExcludedSrcEntityInfos},

        [Parameter(ParameterSetName = 'UpdateExpanded')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Body')]
        [String[]]
        # Excluded source processes
        ${ExcludedSrcProcesses},
        
        [Parameter(ParameterSetName = 'UpdateExpanded')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Body')]
        [System.Management.Automation.SwitchParameter]
        # fallback to logged on user enable/disable.
        ${FallbackToLoggedOnUser},
         
        [Parameter(ParameterSetName = 'UpdateExpanded')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Body')]
        [int[]]
        # MFA methods.
        ${MfaMethods},

        [Parameter(ParameterSetName = 'UpdateExpanded')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Body')]
        [Switch]
        # Override built in MFA policies
        ${OverrideBuiltins},
        
        [Parameter(ParameterSetName = 'UpdateExpanded')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Body')]
        [int]
        # protocol 6 for TCP, 17 for UDP.
        ${ProtocolType},

        [Parameter(ParameterSetName = 'UpdateExpanded')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Body')]
        [int]
        # the rule expiration.
        ${RuleDuration},

        [Parameter(ParameterSetName = 'UpdateExpanded')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Body')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Models.IReactivePolicyOutboundBodySrcEntityInfosItem[]]
        # source asset(s).
        ${SrcEntityInfos},
        
        [Parameter(ParameterSetName = 'UpdateExpanded')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Body')]
        [System.String[]]
        # source processes.
        ${SrcProcessNames},

        [Parameter(ParameterSetName = 'UpdateExpanded')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Body')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Models.IReactivePolicyOutboundBodySrcUserInfosItem[]]
        # source user(s).
        ${SrcUserInfos},

        [Parameter(ParameterSetName = 'UpdateExpanded')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Body')]
        [int]
        # the policy state.
        ${State},
        
        [Parameter(ParameterSetName = 'UpdateExpanded')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Body')]
        [System.String]
        # the policy description.
        ${Description},

        [Parameter()]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Runtime')]
        [System.Management.Automation.SwitchParameter]
        # Run the command as a job
        ${AsJob},

        [Parameter(DontShow)]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Runtime')]
        [System.Management.Automation.SwitchParameter]
        # Wait for .NET debugger to attach
        ${Break},

        [Parameter(DontShow)]
        [ValidateNotNull()]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Runtime')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Runtime.SendAsyncStep[]]
        # SendAsync Pipeline Steps to be appended to the front of the pipeline
        ${HttpPipelineAppend},

        [Parameter(DontShow)]
        [ValidateNotNull()]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Runtime')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Runtime.SendAsyncStep[]]
        # SendAsync Pipeline Steps to be prepended to the front of the pipeline
        ${HttpPipelinePrepend},

        [Parameter()]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Runtime')]
        [System.Management.Automation.SwitchParameter]
        # Run the command asynchronously
        ${NoWait},

        [Parameter(DontShow)]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Runtime')]
        [System.Uri]
        # The URI for the proxy server to use
        ${Proxy},

        [Parameter(DontShow)]
        [ValidateNotNull()]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Runtime')]
        [System.Management.Automation.PSCredential]
        # Credentials for a proxy server to use for the remote call
        ${ProxyCredential},

        [Parameter(DontShow)]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Runtime')]
        [System.Management.Automation.SwitchParameter]
        # Use the default credentials for the proxy
        ${ProxyUseDefaultCredentials}
    )

    process {
        try {
            #Handle Get
            $policyId = $PSBoundParameters['ReactivePolicyId'].ToString()
            $policy = ZeroNetworks\Get-ZNMfaOutboundPolicy -ReactivePolicyId $policyId

            $updatedPolicy = [ZeroNetworks.PowerShell.Cmdlets.Api.Models.ReactivePolicyOutboundBody]::new()
            
            if($PSBoundParameters['AdditionalPortsList']){
                $updatedPolicy.AdditionalPortsList = $PSBoundParameters['AdditionalPortsList']
                $null = $PSBoundParameters.Remove('AdditionalPortsList')
            }
            else{
                $updatedPolicy.AdditionalPortsList = $policy.ItemAdditionalPortsList
                $null = $PSBoundParameters.Remove('AdditionalPortsList')
            }
            
            $updatedPolicy.DstEntityInfoId = $policy.DstEntityInfoId
        
            if($PSBoundParameters['DstPort']){
                $updatedPolicy.DstPort = $PSBoundParameters['DstPort']
                $null = $PSBoundParameters.Remove('DstPort')
            }
            else{
                $updatedPolicy.DstPort = $policy.ItemDstPort
                $null = $PSBoundParameters.Remove('DstPort')
            }
            
            #$updatedPolicy.DstProcessNames = $policy.ItemDstProcessNames

            if($PSBoundParameters['ExcludedSrcEntityInfos']){
                $updatedPolicy.ExcludedSrcEntityInfos = $PSBoundParameters['ExcludedSrcEntityInfos']
                $null = $PSBoundParameters.Remove('ExcludedSrcEntityInfos')
            }
            else{
                $updatedPolicy.ExcludedSrcEntityInfos = @($policy.ItemExcludedSrcEntityInfos)
                $null = $PSBoundParameters.Remove('ExcludedSrcEntityInfos')
            }

            if($PSBoundParameters['ExcludedSrcProcesses']){
                $updatedPolicy.ExcludedSrcProcesses = $PSBoundParameters['ExcludedSrcProcesses']
                $null = $PSBoundParameters.Remove('ExcludedSrcProcesses')
            }
            else{
                $updatedPolicy.ExcludedSrcProcesses = $policy.ItemExcludedSrcProcesses
                $null = $PSBoundParameters.Remove('ExcludedSrcProcesses')
            }
        
            if($PSBoundParameters['FallbackToLoggedOnUser']){
                $updatedPolicy.FallbackToLoggedOnUser = $PSBoundParameters['FallbackToLoggedOnUser']
                $null = $PSBoundParameters.Remove('FallbackToLoggedOnUser')
            }
            else{
                $updatedPolicy.FallbackToLoggedOnUser = $policy.ItemFallbackToLoggedOnUser
                $null = $PSBoundParameters.Remove('FallbackToLoggedOnUser')
            }
        
            if($PSBoundParameters['MfaMethods']){
                $updatedPolicy.MfaMethods = $PSBoundParameters['MfaMethods']
                $null = $PSBoundParameters.Remove('MfaMethods')
            }
            else{
                $updatedPolicy.MfaMethods = $policy.ItemMfaMethods
                $null = $PSBoundParameters.Remove('MfaMethods')
            }      
        
            if($PSBoundParameters['OverrideBuiltins']){
                $updatedPolicy.OverrideBuiltins = $PSBoundParameters['OverrideBuiltins']
                $null = $PSBoundParameters.Remove('OverrideBuiltins')
            }
            else{
                $updatedPolicy.OverrideBuiltins = $policy.ItemOverrideBuiltins
                $null = $PSBoundParameters.Remove('OverrideBuiltins')
            }
            
            if($PSBoundParameters['ProtocolType']){
                $updatedPolicy.ProtocolType = $PSBoundParameters['ProtocolType']
                $null = $PSBoundParameters.Remove('ProtocolType')
            }
            else{
                $updatedPolicy.ProtocolType = $policy.ItemProtocolType
                $null = $PSBoundParameters.Remove('ProtocolType')
            }
        
            if($PSBoundParameters['RuleDuration']){
                $updatedPolicy.RuleDuration = $PSBoundParameters['RuleDuration']
                $null = $PSBoundParameters.Remove('RuleDuration')
            }
            else{
                $updatedPolicy.RuleDuration = $policy.ItemRuleDuration
                $null = $PSBoundParameters.Remove('RuleDuration')
            }
            
            if($PSBoundParameters['SrcEntityInfos']){
                $updatedPolicy.SrcEntityInfos = $PSBoundParameters['SrcEntityInfos']
                $null = $PSBoundParameters.Remove('SrcEntityInfos')
            }
            else{
                $updatedPolicy.SrcEntityInfos = @($policy.ItemSrcEntityInfos)
                $null = $PSBoundParameters.Remove('SrcEntityInfos')
            }
            
            if($PSBoundParameters['SrcProcessNames']){
                $updatedPolicy.SrcProcessNames = $PSBoundParameters['SrcProcessNames']
                $null = $PSBoundParameters.Remove('SrcProcessNames')
            }
            else{
                $updatedPolicy.SrcProcessNames = $policy.ItemSrcProcessNames
                $null = $PSBoundParameters.Remove('SrcProcessNames')
            }

            if($PSBoundParameters['SrcUserInfos']){
                $updatedPolicy.SrcUserInfos = $PSBoundParameters['SrcUserInfos']
                $null = $PSBoundParameters.Remove('SrcUserInfos')
            }
            else{
                $updatedPolicy.SrcUserInfos = @($policy.ItemSrcUserInfos)
                $null = $PSBoundParameters.Remove('SrcUserInfos')
            }
            
            if($PSBoundParameters['State']){
                $updatedPolicy.State = $PSBoundParameters['State']
                $null = $PSBoundParameters.Remove('State')
            }
            else{
                $updatedPolicy.State = $policy.ItemState
                $null = $PSBoundParameters.Remove('State')
            }

            if($PSBoundParameters['Description']){
                $updatedPolicy.Description = $PSBoundParameters['Description']
                $null = $PSBoundParameters.Remove('Description')
            }
            else{
                $updatedPolicy.Description = $policy.ItemDescription
                $null = $PSBoundParameters.Remove('Description')
            }
            #Write-Debug $updatedPolicy | Out-String
            $null = $PSBoundParameters.Add('Body', $updatedPolicy)
            ZeroNetworks.internal\Update-ZNMfaOutboundPolicy @PSBoundParameters
        }
        catch {
            throw
        }
    }
}
# SIG # Begin signature block
# MII98AYJKoZIhvcNAQcCoII94TCCPd0CAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAhytOHPZgMsamK
# p6WU+qqpKrXQN0Vq//gcCkYvCNFF7aCCIrIwggXMMIIDtKADAgECAhBUmNLR1FsZ
# lUgTecgRwIeZMA0GCSqGSIb3DQEBDAUAMHcxCzAJBgNVBAYTAlVTMR4wHAYDVQQK
# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xSDBGBgNVBAMTP01pY3Jvc29mdCBJZGVu
# dGl0eSBWZXJpZmljYXRpb24gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAy
# MDAeFw0yMDA0MTYxODM2MTZaFw00NTA0MTYxODQ0NDBaMHcxCzAJBgNVBAYTAlVT
# MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xSDBGBgNVBAMTP01pY3Jv
# c29mdCBJZGVudGl0eSBWZXJpZmljYXRpb24gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRo
# b3JpdHkgMjAyMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALORKgeD
# Bmf9np3gx8C3pOZCBH8Ppttf+9Va10Wg+3cL8IDzpm1aTXlT2KCGhFdFIMeiVPvH
# or+Kx24186IVxC9O40qFlkkN/76Z2BT2vCcH7kKbK/ULkgbk/WkTZaiRcvKYhOuD
# PQ7k13ESSCHLDe32R0m3m/nJxxe2hE//uKya13NnSYXjhr03QNAlhtTetcJtYmrV
# qXi8LW9J+eVsFBT9FMfTZRY33stuvF4pjf1imxUs1gXmuYkyM6Nix9fWUmcIxC70
# ViueC4fM7Ke0pqrrBc0ZV6U6CwQnHJFnni1iLS8evtrAIMsEGcoz+4m+mOJyoHI1
# vnnhnINv5G0Xb5DzPQCGdTiO0OBJmrvb0/gwytVXiGhNctO/bX9x2P29Da6SZEi3
# W295JrXNm5UhhNHvDzI9e1eM80UHTHzgXhgONXaLbZ7LNnSrBfjgc10yVpRnlyUK
# xjU9lJfnwUSLgP3B+PR0GeUw9gb7IVc+BhyLaxWGJ0l7gpPKWeh1R+g/OPTHU3mg
# trTiXFHvvV84wRPmeAyVWi7FQFkozA8kwOy6CXcjmTimthzax7ogttc32H83rwjj
# O3HbbnMbfZlysOSGM1l0tRYAe1BtxoYT2v3EOYI9JACaYNq6lMAFUSw0rFCZE4e7
# swWAsk0wAly4JoNdtGNz764jlU9gKL431VulAgMBAAGjVDBSMA4GA1UdDwEB/wQE
# AwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTIftJqhSobyhmYBAcnz1AQ
# T2ioojAQBgkrBgEEAYI3FQEEAwIBADANBgkqhkiG9w0BAQwFAAOCAgEAr2rd5hnn
# LZRDGU7L6VCVZKUDkQKL4jaAOxWiUsIWGbZqWl10QzD0m/9gdAmxIR6QFm3FJI9c
# Zohj9E/MffISTEAQiwGf2qnIrvKVG8+dBetJPnSgaFvlVixlHIJ+U9pW2UYXeZJF
# xBA2CFIpF8svpvJ+1Gkkih6PsHMNzBxKq7Kq7aeRYwFkIqgyuH4yKLNncy2RtNwx
# AQv3Rwqm8ddK7VZgxCwIo3tAsLx0J1KH1r6I3TeKiW5niB31yV2g/rarOoDXGpc8
# FzYiQR6sTdWD5jw4vU8w6VSp07YEwzJ2YbuwGMUrGLPAgNW3lbBeUU0i/OxYqujY
# lLSlLu2S3ucYfCFX3VVj979tzR/SpncocMfiWzpbCNJbTsgAlrPhgzavhgplXHT2
# 6ux6anSg8Evu75SjrFDyh+3XOjCDyft9V77l4/hByuVkrrOj7FjshZrM77nq81YY
# uVxzmq/FdxeDWds3GhhyVKVB0rYjdaNDmuV3fJZ5t0GNv+zcgKCf0Xd1WF81E+Al
# GmcLfc4l+gcK5GEh2NQc5QfGNpn0ltDGFf5Ozdeui53bFv0ExpK91IjmqaOqu/dk
# ODtfzAzQNb50GQOmxapMomE2gj4d8yu8l13bS3g7LfU772Aj6PXsCyM2la+YZr9T
# 03u4aUoqlmZpxJTG9F9urJh4iIAGXKKy7aIwggbtMIIE1aADAgECAhMzAActcC9N
# j4NPRs5+AAAABy1wMA0GCSqGSIb3DQEBDAUAMFoxCzAJBgNVBAYTAlVTMR4wHAYD
# VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKzApBgNVBAMTIk1pY3Jvc29mdCBJ
# RCBWZXJpZmllZCBDUyBBT0MgQ0EgMDEwHhcNMjYwMTIyMTkzNDA5WhcNMjYwMTI1
# MTkzNDA5WjBrMQswCQYDVQQGEwJJTDERMA8GA1UECBMIVGVsIEF2aXYxETAPBgNV
# BAcTCFRlbCBBdml2MRowGAYDVQQKExFaZXJvIE5ldHdvcmtzIEx0ZDEaMBgGA1UE
# AxMRWmVybyBOZXR3b3JrcyBMdGQwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGK
# AoIBgQDlNMj7qKKl3NIVsllf9T3Um5bAVxVTU/1zhJYQh4ip8D/kd4JoJ/AKljKI
# eiMmeWzyZTMTXlMYs+Q5lmIX6SYe4tEHcL+5YWxI6v31m8h3HewKzhMHyq0/U0nV
# pyegAky53YtvN+42YS7Wo7ekueImYGeAz9MW460BeuKM8ZwgCN55sqoymtsojk9B
# 1mi5ZtirvDYAx0OSlNT49ZWcH209sXWiipRo39ZfhRFlWw6JDu7qMr2sq0847kjs
# PVrgxbg7rjGj+yVTrHGG8NKCs3T0YCmddP3nFkii5CbybzfGZLpsh2zYK9EBHBcy
# c/po8Zb0sw6Kt8D02gjGOnZwu/87lOLlEbOkf97qe6FHO59x2VPLcGXTbFYiFa5k
# 649cpVgP1FFVq4XUVG6AbzpLqOnBA8//ztQNQGNvT7v6f2YyuneIMglKrUdog0ZU
# HFe2kcERSuQ+4RJgBMPdvu0hecntoLspjdNC4eB69ytZrRmcv+JMSGqo6TGm2D3m
# aHPO6JECAwEAAaOCAhkwggIVMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeA
# MDwGA1UdJQQ1MDMGCisGAQQBgjdhAQAGCCsGAQUFBwMDBhsrBgEEAYI3YYGwosY4
# g9jRjh+BtaSjBsGi+2swHQYDVR0OBBYEFEhLkXEqZy/xKPbFtvbwuF4NXyeRMB8G
# A1UdIwQYMBaAFOiDxDPX3J8MnHaaCqbU34emXljuMGcGA1UdHwRgMF4wXKBaoFiG
# Vmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29mdCUy
# MElEJTIwVmVyaWZpZWQlMjBDUyUyMEFPQyUyMENBJTIwMDEuY3JsMIGlBggrBgEF
# BQcBAQSBmDCBlTBkBggrBgEFBQcwAoZYaHR0cDovL3d3dy5taWNyb3NvZnQuY29t
# L3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBJRCUyMFZlcmlmaWVkJTIwQ1MlMjBB
# T0MlMjBDQSUyMDAxLmNydDAtBggrBgEFBQcwAYYhaHR0cDovL29uZW9jc3AubWlj
# cm9zb2Z0LmNvbS9vY3NwMGYGA1UdIARfMF0wUQYMKwYBBAGCN0yDfQEBMEEwPwYI
# KwYBBQUHAgEWM2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9S
# ZXBvc2l0b3J5Lmh0bTAIBgZngQwBBAEwDQYJKoZIhvcNAQEMBQADggIBABIoGgY2
# yallSudUxpNFyqAPO9TJbaFj8KLqiGcdiOXTGSdsByUk2vofdMb7gt2oj5SAs07C
# P63j5RVgKROzke/CDzRmpX1jZuVAqbc+zY1P7MD5bEuR0bfzojFogzNX+cOPzghh
# L7viGIPPwWqEWkvHifXkYlaTLi3nDjg1xmVc64MyhwxwzWS9it9xmGdFH5WkziP6
# O6Qk5tT6DhDUF3jHLx3ZNkMZrOR0O13+0mxdhiXjuTDI+HJ8PVUWIK96+x6Q1XnQ
# vrkRLQ5ES22m9VH9NFTB9ReZlq0dpCCuhIUzFX03tNQzxSyicAxIi1N8GYuib/R0
# BAnaiSBQ/9wZNZzda9vlkq3UgY5yi9+ntu6l6VFjAnho0RscvCqpJ8p9QDvBCrs6
# es/w5U9n43QSOso/d87/TmAldY3fEV01SLHqV2kdPYtVVlGMSeI+l8mZFk2/5bsX
# RtjbBs+n1fB0GouU6U5obB+QBIi7QfCN7+3u65J8pzwSpXCZJs92GYNPWyrmdgpC
# M+disH3ESqX+5zhLwwRrHidfpGB9B5c0UDYtGATfsFrg2PyqIj0GGOkEcyCqwukW
# CjH4qtuVWeCJgiBsNKQ25a1wT1lUQ93RXx2SniD+VWIx2DsljINQhZdJs5AgjMP5
# L84qMcJ4wdzR89RLTB+eQZZT+PeL41HzTHz2MIIG7TCCBNWgAwIBAgITMwAHLXAv
# TY+DT0bOfgAAAActcDANBgkqhkiG9w0BAQwFADBaMQswCQYDVQQGEwJVUzEeMBwG
# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSswKQYDVQQDEyJNaWNyb3NvZnQg
# SUQgVmVyaWZpZWQgQ1MgQU9DIENBIDAxMB4XDTI2MDEyMjE5MzQwOVoXDTI2MDEy
# NTE5MzQwOVowazELMAkGA1UEBhMCSUwxETAPBgNVBAgTCFRlbCBBdml2MREwDwYD
# VQQHEwhUZWwgQXZpdjEaMBgGA1UEChMRWmVybyBOZXR3b3JrcyBMdGQxGjAYBgNV
# BAMTEVplcm8gTmV0d29ya3MgTHRkMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIB
# igKCAYEA5TTI+6iipdzSFbJZX/U91JuWwFcVU1P9c4SWEIeIqfA/5HeCaCfwCpYy
# iHojJnls8mUzE15TGLPkOZZiF+kmHuLRB3C/uWFsSOr99ZvIdx3sCs4TB8qtP1NJ
# 1acnoAJMud2LbzfuNmEu1qO3pLniJmBngM/TFuOtAXrijPGcIAjeebKqMprbKI5P
# QdZouWbYq7w2AMdDkpTU+PWVnB9tPbF1ooqUaN/WX4URZVsOiQ7u6jK9rKtPOO5I
# 7D1a4MW4O64xo/slU6xxhvDSgrN09GApnXT95xZIouQm8m83xmS6bIds2CvRARwX
# MnP6aPGW9LMOirfA9NoIxjp2cLv/O5Ti5RGzpH/e6nuhRzufcdlTy3Bl02xWIhWu
# ZOuPXKVYD9RRVauF1FRugG86S6jpwQPP/87UDUBjb0+7+n9mMrp3iDIJSq1HaING
# VBxXtpHBEUrkPuESYATD3b7tIXnJ7aC7KY3TQuHgevcrWa0ZnL/iTEhqqOkxptg9
# 5mhzzuiRAgMBAAGjggIZMIICFTAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIH
# gDA8BgNVHSUENTAzBgorBgEEAYI3YQEABggrBgEFBQcDAwYbKwYBBAGCN2GBsKLG
# OIPY0Y4fgbWkowbBovtrMB0GA1UdDgQWBBRIS5FxKmcv8Sj2xbb28LheDV8nkTAf
# BgNVHSMEGDAWgBTog8Qz19yfDJx2mgqm1N+Hpl5Y7jBnBgNVHR8EYDBeMFygWqBY
# hlZodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNyb3NvZnQl
# MjBJRCUyMFZlcmlmaWVkJTIwQ1MlMjBBT0MlMjBDQSUyMDAxLmNybDCBpQYIKwYB
# BQUHAQEEgZgwgZUwZAYIKwYBBQUHMAKGWGh0dHA6Ly93d3cubWljcm9zb2Z0LmNv
# bS9wa2lvcHMvY2VydHMvTWljcm9zb2Z0JTIwSUQlMjBWZXJpZmllZCUyMENTJTIw
# QU9DJTIwQ0ElMjAwMS5jcnQwLQYIKwYBBQUHMAGGIWh0dHA6Ly9vbmVvY3NwLm1p
# Y3Jvc29mdC5jb20vb2NzcDBmBgNVHSAEXzBdMFEGDCsGAQQBgjdMg30BATBBMD8G
# CCsGAQUFBwIBFjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0RvY3Mv
# UmVwb3NpdG9yeS5odG0wCAYGZ4EMAQQBMA0GCSqGSIb3DQEBDAUAA4ICAQASKBoG
# NsmpZUrnVMaTRcqgDzvUyW2hY/Ci6ohnHYjl0xknbAclJNr6H3TG+4LdqI+UgLNO
# wj+t4+UVYCkTs5Hvwg80ZqV9Y2blQKm3Ps2NT+zA+WxLkdG386IxaIMzV/nDj84I
# YS+74hiDz8FqhFpLx4n15GJWky4t5w44NcZlXOuDMocMcM1kvYrfcZhnRR+VpM4j
# +jukJObU+g4Q1Bd4xy8d2TZDGazkdDtd/tJsXYYl47kwyPhyfD1VFiCvevsekNV5
# 0L65ES0OREttpvVR/TRUwfUXmZatHaQgroSFMxV9N7TUM8UsonAMSItTfBmLom/0
# dAQJ2okgUP/cGTWc3Wvb5ZKt1IGOcovfp7bupelRYwJ4aNEbHLwqqSfKfUA7wQq7
# OnrP8OVPZ+N0EjrKP3fO/05gJXWN3xFdNUix6ldpHT2LVVZRjEniPpfJmRZNv+W7
# F0bY2wbPp9XwdBqLlOlOaGwfkASIu0Hwje/t7uuSfKc8EqVwmSbPdhmDT1sq5nYK
# QjPnYrB9xEql/uc4S8MEax4nX6RgfQeXNFA2LRgE37Ba4Nj8qiI9BhjpBHMgqsLp
# Fgox+KrblVngiYIgbDSkNuWtcE9ZVEPd0V8dkp4g/lViMdg7JYyDUIWXSbOQIIzD
# +S/OKjHCeMHc0fPUS0wfnkGWU/j3i+NR80x89jCCB1owggVCoAMCAQICEzMAAAAH
# N4xbodlbjNQAAAAAAAcwDQYJKoZIhvcNAQEMBQAwYzELMAkGA1UEBhMCVVMxHjAc
# BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjE0MDIGA1UEAxMrTWljcm9zb2Z0
# IElEIFZlcmlmaWVkIENvZGUgU2lnbmluZyBQQ0EgMjAyMTAeFw0yMTA0MTMxNzMx
# NTRaFw0yNjA0MTMxNzMxNTRaMFoxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKzApBgNVBAMTIk1pY3Jvc29mdCBJRCBWZXJpZmll
# ZCBDUyBBT0MgQ0EgMDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC3
# 98ADKAfFuj6PEDTiE0jxvP4Spta9K711GABrCMJlq7VjnghBqXkCuklaLxwiPRYD
# 6anCLHyJNGC6r0kQtm9MyjZnVToC0TVOfea+rebLBn1J7FV36s85Ov651roZWDAs
# DzQuFF/zYC+tLDGZmkIf+VpPTx2fv4a3RxdhU0ok5GbWFKsCOMNCJnUmKr9KqIOg
# c3o8aZPmFcqzbYTv0x4VZgHjLRSU2pbRnYs825ryTStsRF2I1L6dM//GwRJlSetu
# bJdloe9zIQpgrzlYHPdKvoS3xWVt2J3+mMGlwcj4fK2hpQAYTqtJaqaHv9oRl4MN
# STP24wo4ZqwiBid6dSTkTRvZT/9tCoO/ep2GP1QlhYAM1gL/eLeLFxbVUQtpT7BO
# pdPEsAV6UKL+VEdKNpaKkN4T9NsFvTNMKIudz2eY6Nk8qW60w2Gj3XDGjiK1wmgi
# TZs+i3234BX5TA1oNEhtwRpBoHJyX2lxjBaZ/RsnggWf8KZgxUbV6QIHEHLJE2QW
# Qea4xctfo8xdy94TjqMyv2zILczwkdF11HjNWN38XEGdLkc6ujemDpK24Q+yGuns
# j8qTVxMbzI5aXxqp/o4l4BXIbiXIn1X5nEKViZpTnK+0pgqTUUsGcQF8NbD5QDNB
# XS9wunoBXHYVzyfS+mjK52vdLBmZyQm7PtH5Lv0HMwIDAQABo4ICDjCCAgowDgYD
# VR0PAQH/BAQDAgGGMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBTog8Qz19yf
# DJx2mgqm1N+Hpl5Y7jBUBgNVHSAETTBLMEkGBFUdIAAwQTA/BggrBgEFBQcCARYz
# aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnku
# aHRtMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMBIGA1UdEwEB/wQIMAYBAf8C
# AQAwHwYDVR0jBBgwFoAU2UEpsA8PY2zvadf1zSmepEhqMOYwcAYDVR0fBGkwZzBl
# oGOgYYZfaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWljcm9z
# b2Z0JTIwSUQlMjBWZXJpZmllZCUyMENvZGUlMjBTaWduaW5nJTIwUENBJTIwMjAy
# MS5jcmwwga4GCCsGAQUFBwEBBIGhMIGeMG0GCCsGAQUFBzAChmFodHRwOi8vd3d3
# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMElEJTIwVmVy
# aWZpZWQlMjBDb2RlJTIwU2lnbmluZyUyMFBDQSUyMDIwMjEuY3J0MC0GCCsGAQUF
# BzABhiFodHRwOi8vb25lb2NzcC5taWNyb3NvZnQuY29tL29jc3AwDQYJKoZIhvcN
# AQEMBQADggIBAHf+60si2TAtOng1+H32+tulKwvw3A8iPb5MGdkYvcLx61MZiz4d
# lTE0b6s15lr5HO72gRwBkkOIaMRbK3Mxq8PoGKHecRYWwhbhoaHiAHif+lE955Ws
# riLUsbuMneQ8tGE04dmItRC2asXhXojG1QWO8GeKNpn2gjGxJJA/yIcyM/3amNCs
# cEVYcYNuSbH7I7ohqfdA3diZt197DNK+dCYpuSJOJsmBwnUvRNnsHCawO+b7RdGw
# 858WCfOEtWpl0TJbDDXRt+U54EqqRvdJoI1BPPyeyFpRmGvFVTmo2BiNpoNBCb4/
# ZISkEXtGiUQLeWWV+4vgA4YK2g1085avH28FlNcBV1MTavQgOTz7nLWQsZMsrOY0
# WfqRUJzkF10zvGgNZDhpSgJFdywF5GGxyWTuRVc/7MkY85fCNQlufPYq32IX/wHo
# UM7huUa4auiAynJeS7AILZnhdx/IyM8OGplgA8YZNQg0y0Vtq7lG0YbUM5YT150J
# qG248wOAHJ8+LG+HLeyfvNQeAgL9iw5MzFW4xCL9uBqZ6aj9U0pmuxlpLSfOY7Eq
# mD2oN5+Pl8n2AgddynYXQ4dxXB7cqcRdrySrMwN+tGX/DAqs1IWfenuDRvjgB3U4
# 0OZa3rUwtC8XngsbraLp9+FMJ6gVP1n2ltSjaDGXJMWDsGbR+A6WdF8YMIIHnjCC
# BYagAwIBAgITMwAAAAeHozSje6WOHAAAAAAABzANBgkqhkiG9w0BAQwFADB3MQsw
# CQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMUgwRgYD
# VQQDEz9NaWNyb3NvZnQgSWRlbnRpdHkgVmVyaWZpY2F0aW9uIFJvb3QgQ2VydGlm
# aWNhdGUgQXV0aG9yaXR5IDIwMjAwHhcNMjEwNDAxMjAwNTIwWhcNMzYwNDAxMjAx
# NTIwWjBjMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0
# aW9uMTQwMgYDVQQDEytNaWNyb3NvZnQgSUQgVmVyaWZpZWQgQ29kZSBTaWduaW5n
# IFBDQSAyMDIxMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsvDArxmI
# KOLdVHpMSWxpCFUJtFL/ekr4weslKPdnF3cpTeuV8veqtmKVgok2rO0D05BpyvUD
# Cg1wdsoEtuxACEGcgHfjPF/nZsOkg7c0mV8hpMT/GvB4uhDvWXMIeQPsDgCzUGzT
# voi76YDpxDOxhgf8JuXWJzBDoLrmtThX01CE1TCCvH2sZD/+Hz3RDwl2MsvDSdX5
# rJDYVuR3bjaj2QfzZFmwfccTKqMAHlrz4B7ac8g9zyxlTpkTuJGtFnLBGasoOnn5
# NyYlf0xF9/bjVRo4Gzg2Yc7KR7yhTVNiuTGH5h4eB9ajm1OCShIyhrKqgOkc4smz
# 6obxO+HxKeJ9bYmPf6KLXVNLz8UaeARo0BatvJ82sLr2gqlFBdj1sYfqOf00Qm/3
# B4XGFPDK/H04kteZEZsBRc3VT2d/iVd7OTLpSH9yCORV3oIZQB/Qr4nD4YT/lWkh
# Vtw2v2s0TnRJubL/hFMIQa86rcaGMhNsJrhysLNNMeBhiMezU1s5zpusf54qlYu2
# v5sZ5zL0KvBDLHtL8F9gn6jOy3v7Jm0bbBHjrW5yQW7S36ALAt03QDpwW1JG1Hxu
# /FUXJbBO2AwwVG4Fre+ZQ5Od8ouwt59FpBxVOBGfN4vN2m3fZx1gqn52GvaiBz6o
# zorgIEjn+PhUXILhAV5Q/ZgCJ0u2+ldFGjcCAwEAAaOCAjUwggIxMA4GA1UdDwEB
# /wQEAwIBhjAQBgkrBgEEAYI3FQEEAwIBADAdBgNVHQ4EFgQU2UEpsA8PY2zvadf1
# zSmepEhqMOYwVAYDVR0gBE0wSzBJBgRVHSAAMEEwPwYIKwYBBQUHAgEWM2h0dHA6
# Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTAZ
# BgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAPBgNVHRMBAf8EBTADAQH/MB8GA1Ud
# IwQYMBaAFMh+0mqFKhvKGZgEByfPUBBPaKiiMIGEBgNVHR8EfTB7MHmgd6B1hnNo
# dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNyb3NvZnQlMjBJ
# ZGVudGl0eSUyMFZlcmlmaWNhdGlvbiUyMFJvb3QlMjBDZXJ0aWZpY2F0ZSUyMEF1
# dGhvcml0eSUyMDIwMjAuY3JsMIHDBggrBgEFBQcBAQSBtjCBszCBgQYIKwYBBQUH
# MAKGdWh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWljcm9z
# b2Z0JTIwSWRlbnRpdHklMjBWZXJpZmljYXRpb24lMjBSb290JTIwQ2VydGlmaWNh
# dGUlMjBBdXRob3JpdHklMjAyMDIwLmNydDAtBggrBgEFBQcwAYYhaHR0cDovL29u
# ZW9jc3AubWljcm9zb2Z0LmNvbS9vY3NwMA0GCSqGSIb3DQEBDAUAA4ICAQB/JSqe
# /tSr6t1mCttXI0y6XmyQ41uGWzl9xw+WYhvOL47BV09Dgfnm/tU4ieeZ7NAR5bgu
# orTCNr58HOcA1tcsHQqt0wJsdClsu8bpQD9e/al+lUgTUJEV80Xhco7xdgRrehby
# hUf4pkeAhBEjABvIUpD2LKPho5Z4DPCT5/0TlK02nlPwUbv9URREhVYCtsDM+31O
# FU3fDV8BmQXv5hT2RurVsJHZgP4y26dJDVF+3pcbtvh7R6NEDuYHYihfmE2HdQRq
# 5jRvLE1Eb59PYwISFCX2DaLZ+zpU4bX0I16ntKq4poGOFaaKtjIA1vRElItaOKcw
# tc04CBrXSfyL2Op6mvNIxTk4OaswIkTXbFL81ZKGD+24uMCwo/pLNhn7VHLfnxlM
# VzHQVL+bHa9KhTyzwdG/L6uderJQn0cGpLQMStUuNDArxW2wF16QGZ1NtBWgKA8K
# qv48M8HfFqNifN6+zt6J0GwzvU8g0rYGgTZR8zDEIJfeZxwWDHpSxB5FJ1VVU1LI
# AtB7o9PXbjXzGifaIMYTzU4YKt4vMNwwBmetQDHhdAtTPplOXrnI9SI6HeTtjDD3
# iUN/7ygbahmYOHk7VB7fwT4ze+ErCbMh6gHV1UuXPiLciloNxH6K4aMfZN1oLVk6
# YFeIJEokuPgNPa6EnTiOL60cPqfny+Fq8UiuZzGCGpQwghqQAgEBMHEwWjELMAkG
# A1UEBhMCVVMxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjErMCkGA1UE
# AxMiTWljcm9zb2Z0IElEIFZlcmlmaWVkIENTIEFPQyBDQSAwMQITMwAHLXAvTY+D
# T0bOfgAAAActcDANBglghkgBZQMEAgEFAKBeMBAGCisGAQQBgjcCAQwxAjAAMBkG
# CSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMC8GCSqGSIb3DQEJBDEiBCAlH2JwiW9j
# sS6H/oGujLO5ZuAOvVv9LXvlf/cfZYRTRTANBgkqhkiG9w0BAQEFAASCAYA3zL+e
# +lx994r1WmFGrvSE+gwYoCNtNd6zsBl6RmTv2fvKwNeYkyZccNO3tbQ6HalmhZyQ
# WHmsnTd0AKiLVqOszbOAtfBX0UFcqZOWoLtoUlg0/Rk/sIZsgwuh6T7tMk5wZvVW
# 1nriwaDy2djtGzR9EASmYmSqGppN7eIykoPeodhl4W3ODPdN9I06aiWIcF3KycsL
# yAu3vhElwhTmc4Nhb6BS3VVSjzr/e9yMOgx2WDvxOH69QDIkdo93AX4W1rdM0JmD
# EfAqaO/bKVMKt5KkL+Az+4P18en0TUgF+wQsf8d12q/bcof+ymevlrelNcLbfJHn
# qO81t0oepisVA4Vcxac1zRH6Rb8Sd3DZlCOHHX7SBUEhmbCsk4OMF57FA+bGofA8
# LIhZJUxPa2uypYvC7DhO1+0a5QkPSwqasX5wrbvZVHEYgLX922MxDko2MQHymoKk
# G2d4EhTjVF+KVWt79imsZVQZEyhF4WpkD5NEArI77amNyQgrPA/mvOcsGz+hghgU
# MIIYEAYKKwYBBAGCNwMDATGCGAAwghf8BgkqhkiG9w0BBwKgghftMIIX6QIBAzEP
# MA0GCWCGSAFlAwQCAQUAMIIBYgYLKoZIhvcNAQkQAQSgggFRBIIBTTCCAUkCAQEG
# CisGAQQBhFkKAwEwMTANBglghkgBZQMEAgEFAAQgXZAoXYIHmvcxUs5tShmJkPLY
# SYezyJtwokUHQaqhcA4CBmlvgMFvzhgTMjAyNjAxMjIyMzU5MjYuNjEyWjAEgAIB
# 9KCB4aSB3jCB2zELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
# BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEl
# MCMGA1UECxMcTWljcm9zb2Z0IEFtZXJpY2EgT3BlcmF0aW9uczEnMCUGA1UECxMe
# blNoaWVsZCBUU1MgRVNOOjdEMDAtMDVFMC1EOTQ3MTUwMwYDVQQDEyxNaWNyb3Nv
# ZnQgUHVibGljIFJTQSBUaW1lIFN0YW1waW5nIEF1dGhvcml0eaCCDyEwggeCMIIF
# aqADAgECAhMzAAAABeXPD/9mLsmHAAAAAAAFMA0GCSqGSIb3DQEBDAUAMHcxCzAJ
# BgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xSDBGBgNV
# BAMTP01pY3Jvc29mdCBJZGVudGl0eSBWZXJpZmljYXRpb24gUm9vdCBDZXJ0aWZp
# Y2F0ZSBBdXRob3JpdHkgMjAyMDAeFw0yMDExMTkyMDMyMzFaFw0zNTExMTkyMDQy
# MzFaMGExCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp
# b24xMjAwBgNVBAMTKU1pY3Jvc29mdCBQdWJsaWMgUlNBIFRpbWVzdGFtcGluZyBD
# QSAyMDIwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnnznUmP94MWf
# BX1jtQYioxwe1+eXM9ETBb1lRkd3kcFdcG9/sqtDlwxKoVIcaqDb+omFio5DHC4R
# BcbyQHjXCwMk/l3TOYtgoBjxnG/eViS4sOx8y4gSq8Zg49REAf5huXhIkQRKe3Qx
# s8Sgp02KHAznEa/Ssah8nWo5hJM1xznkRsFPu6rfDHeZeG1Wa1wISvlkpOQooTUL
# Fm809Z0ZYlQ8Lp7i5F9YciFlyAKwn6yjN/kR4fkquUWfGmMopNq/B8U/pdoZkZZQ
# bxNlqJOiBGgCWpx69uKqKhTPVi3gVErnc/qi+dR8A2MiAz0kN0nh7SqINGbmw5OI
# RC0EsZ31WF3Uxp3GgZwetEKxLms73KG/Z+MkeuaVDQQheangOEMGJ4pQZH55ngI0
# Tdy1bi69INBV5Kn2HVJo9XxRYR/JPGAaM6xGl57Ei95HUw9NV/uC3yFjrhc087qL
# JQawSC3xzY/EXzsT4I7sDbxOmM2rl4uKK6eEpurRduOQ2hTkmG1hSuWYBunFGNv2
# 1Kt4N20AKmbeuSnGnsBCd2cjRKG79+TX+sTehawOoxfeOO/jR7wo3liwkGdzPJYH
# gnJ54UxbckF914AqHOiEV7xTnD1a69w/UTxwjEugpIPMIIE67SFZ2PMo27xjlLAH
# WW3l1CEAFjLNHd3EQ79PUr8FUXetXr0CAwEAAaOCAhswggIXMA4GA1UdDwEB/wQE
# AwIBhjAQBgkrBgEEAYI3FQEEAwIBADAdBgNVHQ4EFgQUa2koOjUvSGNAz3vYr0np
# Ptk92yEwVAYDVR0gBE0wSzBJBgRVHSAAMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93
# d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTATBgNV
# HSUEDDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAPBgNV
# HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFMh+0mqFKhvKGZgEByfPUBBPaKiiMIGE
# BgNVHR8EfTB7MHmgd6B1hnNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3Bz
# L2NybC9NaWNyb3NvZnQlMjBJZGVudGl0eSUyMFZlcmlmaWNhdGlvbiUyMFJvb3Ql
# MjBDZXJ0aWZpY2F0ZSUyMEF1dGhvcml0eSUyMDIwMjAuY3JsMIGUBggrBgEFBQcB
# AQSBhzCBhDCBgQYIKwYBBQUHMAKGdWh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9w
# a2lvcHMvY2VydHMvTWljcm9zb2Z0JTIwSWRlbnRpdHklMjBWZXJpZmljYXRpb24l
# MjBSb290JTIwQ2VydGlmaWNhdGUlMjBBdXRob3JpdHklMjAyMDIwLmNydDANBgkq
# hkiG9w0BAQwFAAOCAgEAX4h2x35ttVoVdedMeGj6TuHYRJklFaW4sTQ5r+k77iB7
# 9cSLNe+GzRjv4pVjJviceW6AF6ycWoEYR0LYhaa0ozJLU5Yi+LCmcrdovkl53DNt
# 4EXs87KDogYb9eGEndSpZ5ZM74LNvVzY0/nPISHz0Xva71QjD4h+8z2XMOZzY7YQ
# 0Psw+etyNZ1CesufU211rLslLKsO8F2aBs2cIo1k+aHOhrw9xw6JCWONNboZ497m
# wYW5EfN0W3zL5s3ad4Xtm7yFM7Ujrhc0aqy3xL7D5FR2J7x9cLWMq7eb0oYioXhq
# V2tgFqbKHeDick+P8tHYIFovIP7YG4ZkJWag1H91KlELGWi3SLv10o4KGag42psw
# jybTi4toQcC/irAodDW8HNtX+cbz0sMptFJK+KObAnDFHEsukxD+7jFfEV9Hh/+C
# SxKRsmnuiovCWIOb+H7DRon9TlxydiFhvu88o0w35JkNbJxTk4MhF/KgaXn0GxdH
# 8elEa2Imq45gaa8D+mTm8LWVydt4ytxYP/bqjN49D9NZ81coE6aQWm88TwIf4R4Y
# ZbOpMKN0CyejaPNN41LGXHeCUMYmBx3PkP8ADHD1J2Cr/6tjuOOCztfp+o9Nc+Zo
# IAkpUcA/X2gSMkgHAPUvIdtoSAHEUKiBhI6JQivRepyvWcl+JYbYbBh7pmgAXVsw
# ggeXMIIFf6ADAgECAhMzAAAAVdndaSYo+fjiAAAAAABVMA0GCSqGSIb3DQEBDAUA
# MGExCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x
# MjAwBgNVBAMTKU1pY3Jvc29mdCBQdWJsaWMgUlNBIFRpbWVzdGFtcGluZyBDQSAy
# MDIwMB4XDTI1MTAyMzIwNDY0OVoXDTI2MTAyMjIwNDY0OVowgdsxCzAJBgNVBAYT
# AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYD
# VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBB
# bWVyaWNhIE9wZXJhdGlvbnMxJzAlBgNVBAsTHm5TaGllbGQgVFNTIEVTTjo3RDAw
# LTA1RTAtRDk0NzE1MDMGA1UEAxMsTWljcm9zb2Z0IFB1YmxpYyBSU0EgVGltZSBT
# dGFtcGluZyBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
# AQC9uR+SHllIs/QwJRZp9rD8pmhVm72JDHyvknCFm92tSLzpSMIIVA42NBqesjEY
# X2FEYhktBnnSAessL7h+lQQl9/m3ThXAHJYLb9tY66To2ZpOH0mk9kNwbM1H3lCW
# vKN8SO2X6DGPXbM08R0AM+mVV/O3xxhFYUHH8Vt9yHTyTo/2nuNfarWMU9tTFZgn
# 7E7IYLVoqEMZjlv7zAvf2/qoLQcUjH+/fL5t6n5oReigrxWh5Yr6zN9oWNejxhNy
# 9DxQvizO70cVO5k2/q++gnsm76jlpOPnWymH7T4VdbfxOUv+sMF3mJrv2OyQu054
# dsOORuWOKXDN6BzG/2Lj0XTlmtL/kQtkIJjVVqo7sQ4spVrHF0A7mjLW9vQHHRlF
# VfWbEWNjNrLYQLTnWTrIYkebnzLWh7YgpFr9IzX4FMax7q8c2LlDZ3lmehH0A4BQ
# MPAkgipEjitnPYxKKeHXVatdMb26sXa6jJ3lV77yHF6z0AF4/Y9hAqVdhMDG91p5
# qcNND+/Cacz7JNxbOtWbzhnfxdUXDgbun9k1naexy+/q6u7YB69dzJXW3yFruJaa
# GGBNYE0GtWK4OVzeI+87PZJU9s96qHJj81fA1kICBzYfmk7O27ozBDEMiO17dcz8
# WQoHEeh9LZps1P/Qcb7Fm0WpQkNrGBslrqU3XOHuymO5DwIDAQABo4IByzCCAccw
# HQYDVR0OBBYEFFYEXxBt3AgD8Mi/qckWysHXrGW2MB8GA1UdIwQYMBaAFGtpKDo1
# L0hjQM972K9J6T7ZPdshMGwGA1UdHwRlMGMwYaBfoF2GW2h0dHA6Ly93d3cubWlj
# cm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29mdCUyMFB1YmxpYyUyMFJTQSUy
# MFRpbWVzdGFtcGluZyUyMENBJTIwMjAyMC5jcmwweQYIKwYBBQUHAQEEbTBrMGkG
# CCsGAQUFBzAChl1odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRz
# L01pY3Jvc29mdCUyMFB1YmxpYyUyMFJTQSUyMFRpbWVzdGFtcGluZyUyMENBJTIw
# MjAyMC5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAO
# BgNVHQ8BAf8EBAMCB4AwZgYDVR0gBF8wXTBRBgwrBgEEAYI3TIN9AQEwQTA/Bggr
# BgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1Jl
# cG9zaXRvcnkuaHRtMAgGBmeBDAEEAjANBgkqhkiG9w0BAQwFAAOCAgEAUh7hklR7
# 2pQpxZ5bKlyEHnx9cT9kha/YPlc/n+T+0HssI30G+Y1JUpndV5yVAz3vzB8S+690
# xBJS/pjbRuggzwMrUrUhT1w/bUwbQTGIfFqqOuKR/apt+tciKngR/e/Zs1gpDELE
# 3dJzOnVJfQfu6orYvk6F8MSJd/XmKi7mGH4Q9pqqnj1zM1CkkM5H+98mCFRz+pyy
# UM+GgJmlnHxvY4O/LAZA1fCqVuyYJLbi4aYSRDdQfklR43pz3XJqxVyFLvyuIyub
# pH1mkCI7ml80owZTYwubUDemnT3wNxsVMBz3keHpC+SH//bwX9d7ZswVvoMvtLDR
# k73m/SC/RlPIl/FL8sLF+tp4Qgj0VIU4oAwSnXM0VKza57QYaMG33IQQxTC/Gr0T
# EXPRpnNibyK8l99+khUOdf/6tVFNhzEiRDIViyUiFiVYX1KMLDmvj2pqSMxE2Hxb
# 07tpqiiVJVmV5BmMa3QrwnMyXKnqGnaVtbpepHHZw4dtvEkPGYQ3OiEZTOIjXeUj
# aDYF/mqJt8Lhso1Gkmj2VsTwdRtjSomITy7dJTx4NBrJI9c4SEmPFEJDDA696NiY
# Ebk/sJyRA0FKeeXXb4UpEqA+iPQy/7Pk4yGP3PYy2luccsCR6nSh1AKUTLIIb+5H
# m0rmtbqZkfk6rnpRZLQ0jo1XUkZLsmuLqMUxggdGMIIHQgIBATB4MGExCzAJBgNV
# BAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMT
# KU1pY3Jvc29mdCBQdWJsaWMgUlNBIFRpbWVzdGFtcGluZyBDQSAyMDIwAhMzAAAA
# VdndaSYo+fjiAAAAAABVMA0GCWCGSAFlAwQCAQUAoIIEnzARBgsqhkiG9w0BCRAC
# DzECBQAwGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMBwGCSqGSIb3DQEJBTEP
# Fw0yNjAxMjIyMzU5MjZaMC8GCSqGSIb3DQEJBDEiBCCHRd41vHsxP71QcrBZz5ON
# IUACpyemHIG9f30cp84JODCBuQYLKoZIhvcNAQkQAi8xgakwgaYwgaMwgaAEINi5
# PJdkhmK7v33+/g9qqyZ5LMHGHSuqRiruxhhq+P7NMHwwZaRjMGExCzAJBgNVBAYT
# AlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1p
# Y3Jvc29mdCBQdWJsaWMgUlNBIFRpbWVzdGFtcGluZyBDQSAyMDIwAhMzAAAAVdnd
# aSYo+fjiAAAAAABVMIIDYQYLKoZIhvcNAQkQAhIxggNQMIIDTKGCA0gwggNEMIIC
# LAIBATCCAQmhgeGkgd4wgdsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n
# dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y
# YXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBBbWVyaWNhIE9wZXJhdGlvbnMxJzAl
# BgNVBAsTHm5TaGllbGQgVFNTIEVTTjo3RDAwLTA1RTAtRDk0NzE1MDMGA1UEAxMs
# TWljcm9zb2Z0IFB1YmxpYyBSU0EgVGltZSBTdGFtcGluZyBBdXRob3JpdHmiIwoB
# ATAHBgUrDgMCGgMVAB07VAGCZb+24FlXkQaOF+xXhw3qoGcwZaRjMGExCzAJBgNV
# BAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMT
# KU1pY3Jvc29mdCBQdWJsaWMgUlNBIFRpbWVzdGFtcGluZyBDQSAyMDIwMA0GCSqG
# SIb3DQEBCwUAAgUA7RyiQDAiGA8yMDI2MDEyMjEzMTg1NloYDzIwMjYwMTIzMTMx
# ODU2WjB3MD0GCisGAQQBhFkKBAExLzAtMAoCBQDtHKJAAgEAMAoCAQACAhAJAgH/
# MAcCAQACAhOlMAoCBQDtHfPAAgEAMDYGCisGAQQBhFkKBAIxKDAmMAwGCisGAQQB
# hFkKAwKgCjAIAgEAAgMHoSChCjAIAgEAAgMBhqAwDQYJKoZIhvcNAQELBQADggEB
# ACctw3rLFF+zUw7WaYOqEiLkWDzgMmqolQxrExMfANGFHaSWIxCBojkLoG9NvcMJ
# 7PmjzycavScqtUWJqKTulNj4ZQgfrtx6Pi7yxUGi5NKWikYsoPPM3O1p3zN0pZOG
# eVUG2yLcl6zVQ928gGXSBXR/sJa3VdHjrFXW06qt63f5tz1b1aY0f5ySutY6hVv8
# eYPDVSEwk5IaEnJRGzcR4JZwWyoCDkU0DAL8XMqxtHisHmBuiPNoLgLYPupuZWaL
# mihOER9YQ4AY8bahXXmudI0b/efk8r0wJLvS8wWwHBd/IlV6sSbOw4Zpv05OJZTL
# iodF+oGug7SChIW0iac0aowwDQYJKoZIhvcNAQEBBQAEggIAifPo4dl1ygVcQ10R
# zV6zUlF7FMKzX3Ubs+KIlSgKW08fUtWUijlOonQSmUMz4GVO6SthFCEInNhsiNK+
# cM8gm5BarchFjHcEzwFC8+sz+R1xCp8sFtZjOJ3TzskmxhG+w5OrhFaDx14qImhC
# uqN+uwyab+TD7pUs290ODP2NnaA1hH8rk8ZLJiQf2UKYp7L0Z75g+V9TPS+ZLlBJ
# 4bo9nC+3Mk9jKJb05uX4KzdYZpIC9xAKKXvRyQc8lhB2iKWZ+PM9tdath4s8pLwn
# J+7dUnEE/4YGHliK0qwMFN0d2N34Hbq7MrTlqr0vQnBCqQWUspN7aqUlI/rbuKHs
# 3Bv+KOV1/x15P26KD89XtuxrEOOEUJcB8Sma20YpjKMjcyoX1wSoDN1RuaKRIHxt
# XdWzHbsia5T3GOk06J7yzEuPxJbGT05W2KRBuT8mi9R9v2suVaD+usm2mruFIc6y
# 8wbW74lk/stjz2O9F9WKx1uBDyK699r1IqUDscQgq5UgCll7Xy/L8wohyd/HcgJu
# 7K6s8+y7gIEDALOJSA6v6CX2aqj/BdCwkMlnQ5nCd4Psj3jqhpsHkrjiDK6mpXPV
# ng8hjEjM8woXeS/qdm10CAZffLOE0wfRt0gIdOecteqaw4q0fD4KHnqThyB5qqeB
# MQFIMwHg8ebZ7GEBB70vZLMRy78=
# SIG # End signature block