functions/Remove-Notification.ps1

 <#
    .SYNOPSIS
    Removes notifications for a sensor.
     
    .DESCRIPTION
    This will Remove all notifications for a sensor/Sensorhub.
     
    .PARAMETER SensorId
    The id of the sensor for which the notifications should be removed.
 
    .PARAMETER SensorHubId
    The id of the SensorHub for which the notifications should be removed.
 
    .PARAMETER NotificationId
    The id of the Notification that should be removed.
     
    .PARAMETER AuthToken
    Either a session or an API key. If no AuthToken is provided the global Server-Eye session will be used if available.
     
#>

function Remove-Notification {
    Param(
        [parameter(ValueFromPipelineByPropertyName,Mandatory=$false,ParameterSetName='ofSensor')]
        $SensorID,
        [parameter(ValueFromPipelineByPropertyName,Mandatory=$false,ParameterSetName='ofSensorHub')]
        [Alias("ConnectorID")]
        $SensorhubId,
        [Parameter(ValueFromPipelineByPropertyName,Mandatory=$false,ParameterSetName='ofSensorHub')]
        [Parameter(ValueFromPipelineByPropertyName,Mandatory=$false,ParameterSetName='ofSensor')]
        $NotificationId,
        [Parameter(Mandatory=$false,ParameterSetName='ofSensorHub')]
        [Parameter(Mandatory=$false,ParameterSetName='ofSensor')]
        $AuthToken
    )

    Begin{
        $AuthToken = Test-SEAuth -AuthToken $AuthToken
    }
    
    Process {
        if ($SensorID) {
            removeNotificationBySensor -sensorId $SensorId -NotificationID $NotificationId -auth $AuthToken
        }elseif ($SensorhubId) {
            removeNotificationOfSensorhub -SensorhubId $SensorhubId -NotificationID $NotificationId -auth $AuthToken
        } else {
            Write-Error "Unsupported input"
        }
        
    }

    End{

    }
}

function removeNotificationOfSensorhub ($SensorhubId, $NotificationID,$auth) {
    $System = Get-SeApiContainer -cid $SensorhubId -auth $auth
    $Parent = Get-SeApiContainer -cid $System.parentid -auth $auth
    $Customer = Get-SeApiCustomer -cid $System.customerId -auth $auth
    Remove-SeApiContainerNotification -AuthToken $auth -nid $NotificationID -cid $SensorhubId
    [PSCustomObject]@{
        NotificationID = $NotificationId
        Username = $Name
        Email = $Email
        Sensorhub = $System.Name
        'OCC-Connector' = $Parent.Name
        Customer = $Customer.companyName
        Removed = "Yes"
    }

}

function removeNotificationBySensor ($SensorID,$NotificationID, $auth) {
    $Sensor = Get-SeApiAgent -aid $SensorID -auth $auth
    $System = Get-SeApiContainer -cid $Sensor.parentid -auth $auth
    $Parent = Get-SeApiContainer -cid $System.parentid -auth $auth
    $Customer = Get-SeApiCustomer -cid $System.customerId -auth $auth
    Remove-SeApiAgentNotification -AuthToken $auth -nid $NotificationID -aid $SensorID
    [PSCustomObject]@{
        NotificationID = $NotificationId
        Username = $Name
        Email = $Email
        Sensor = $Sensor.Name
        Sensorhub = $System.Name
        'OCC-Connector' = $Parent.Name
        Customer = $Customer.companyName
        Removed = "Yes"
    }

}

# SIG # Begin signature block
# MIIlRQYJKoZIhvcNAQcCoIIlNjCCJTICAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB
# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR
# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUDoU0sMqbhjtEGY2p4TFcDc99
# IoKggh8uMIIFVTCCBD2gAwIBAgIQNi6d2QZSadlgoaqpVGQMODANBgkqhkiG9w0B
# AQsFADB8MQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
# MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxJDAi
# BgNVBAMTG1NlY3RpZ28gUlNBIENvZGUgU2lnbmluZyBDQTAeFw0xOTAzMTQwMDAw
# MDBaFw0yMTAzMTMyMzU5NTlaMIGnMQswCQYDVQQGEwJERTEOMAwGA1UEEQwFNjY1
# NzExETAPBgNVBAgMCFNhYXJsYW5kMRIwEAYDVQQHDAlFcHBlbGJvcm4xGTAXBgNV
# BAkMEEtvc3NtYW5zdHJhc3NlIDcxIjAgBgNVBAoMGUtyw6RtZXIgSVQgU29sdXRp
# b25zIEdtYkgxIjAgBgNVBAMMGUtyw6RtZXIgSVQgU29sdXRpb25zIEdtYkgwggEi
# MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCz5/2ukRz5+MhkBio6esyRFg6h
# W1ehLJre46pO2p19epAe6/gCnjQlMXIAM2Ydpsnt8Z8LEUKrVrGGODQvLQ6fsrNF
# 4FDPhj4zc5H5wHI/SOMBu1u6DNtWvJKJ/UBfnkk9CbrRzkzGeSVZ81TiXT+J43+V
# NhXtJ9jX19tcLE3VnyaCQFn4psVwF6zfQPYOyhP+7iRvSgzEGM0vz5oi9Sp4Uqbw
# sus2e4oZ+fT74iCFj9fYXeP/o1fKOiV2iFbk4cVMBIw1hNCNkW9d88C7yivtH4E5
# 6mYYXl5SOk2k4KOACaPjpEI4IZfcoJ/yLKFjzyzyg2u90poEJ7SZinNScFAJAgMB
# AAGjggGlMIIBoTAfBgNVHSMEGDAWgBQO4TqoUzox1Yq+wbutZxoDha00DjAdBgNV
# HQ4EFgQUkgffFDW7uWc8B0iUnOE4laGEiJcwDgYDVR0PAQH/BAQDAgeAMAwGA1Ud
# EwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwMwEQYJYIZIAYb4QgEBBAQDAgQQ
# MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQMCMCUwIwYIKwYBBQUHAgEWF2h0dHBz
# Oi8vc2VjdGlnby5jb20vQ1BTMEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwu
# c2VjdGlnby5jb20vU2VjdGlnb1JTQUNvZGVTaWduaW5nQ0EuY3JsMHMGCCsGAQUF
# BwEBBGcwZTA+BggrBgEFBQcwAoYyaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0
# aWdvUlNBQ29kZVNpZ25pbmdDQS5jcnQwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3Nw
# LnNlY3RpZ28uY29tMB0GA1UdEQQWMBSBEmluZm9Aa3JhZW1lci1pdC5kZTANBgkq
# hkiG9w0BAQsFAAOCAQEABItcE+38EnSo1FiIAtLUfD1pLKcYEjGDoIlsgWuruo1+
# Zgh0+di0uubTvL3p5JKvysy4bydzKyxLiAbU+2M2c6t1NIaZ6yyvxp3Y1RQf72II
# cDqrIprzmfbEKm2VW1wAgqggl3wzsI9hdFNJxIc6/DmB3Z+U63g8aV4yheqifoXE
# tTKLy6wr4OmSMnxp133BOOJ+SwshgyOAkWEOS7I0zz6w7ojTMOizwBP7ExUYPc+N
# KiqbNthrZ3MitfVn2BdAQrq738yd7AZvKKWU8MJjQT5rNY131V4L873FE7ecUi82
# 1egW8R1y7+Y934/RIBRMKFD+KqQG98QMyG6zw92RbDCCBd4wggPGoAMCAQICEAH9
# bTD8o8pRqBu8ZA41Ay0wDQYJKoZIhvcNAQEMBQAwgYgxCzAJBgNVBAYTAlVTMRMw
# EQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtKZXJzZXkgQ2l0eTEeMBwGA1UE
# ChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYDVQQDEyVVU0VSVHJ1c3QgUlNB
# IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEwMDIwMTAwMDAwMFoXDTM4MDEx
# ODIzNTk1OVowgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQw
# EgYDVQQHEwtKZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3
# b3JrMS4wLAYDVQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9y
# aXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAgBJlFzYOw9sIs9Cs
# Vw127c0n00ytUINh4qogTQktZAnczomfzD2p7PbPwdzx07HWezcoEStH2jnGvDoZ
# tF+mvX2do2NCtnbyqTsrkfjib9DsFiCQCT7i6HTJGLSR1GJk23+jBvGIGGqQIjy8
# /hPwhxR79uQfjtTkUcYRZ0YIUcuGFFQ/vDP+fmyc/xadGL1RjjWmp2bIcmfbIWax
# 1Jt4A8BQOujM8Ny8nkz+rwWWNR9XWrf/zvk9tyy29lTdyOcSOk2uTIq3XJq0tyA9
# yn8iNK5+O2hmAUTnAU5GU5szYPeUvlM3kHND8zLDU+/bqv50TmnHa4xgk97Exwzf
# 4TKuzJM7UXiVZ4vuPVb+DNBpDxsP8yUmazNt925H+nND5X4OpWaxKXwyhGNVicQN
# wZNUMBkTrNN9N6frXTpsNVzbQdcS2qlJC9/YgIoJk2KOtWbPJYjNhLixP6Q5D9kC
# nusSTJV882sFqV4Wg8y4Z+LoE53MW4LTTLPtW//e5XOsIzstAL81VXQJSdhJWBp/
# kjbmUZIO8yZ9HE0XvMnsQybQv0FfQKlERPSZ51eHnlAfV1SoPv10Yy+xUGUJ5lhC
# LkMaTLTwJUdZ+gQek9QmRkpQgbLevni3/GcV4clXhB4PY9bpYrrWX1Uu6lzGKAgE
# JTm4Diup8kyXHAc/DVL17e8vgg8CAwEAAaNCMEAwHQYDVR0OBBYEFFN5v1qqK0rP
# VIDh2JvAnfKyA2bLMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0G
# CSqGSIb3DQEBDAUAA4ICAQBc1HwNz/cBfUGZZQxzxVKfy/jPmQZ/G9pDFZ+eAlVX
# lhTxUjwnh5Qo7R86ATeidvxTUMCEm8ZrTrqMIU+ijlVikfNpFdi8iOPEqgv976jp
# S1UqBiBtVXgpGe5fMFxLJBFV/ySabl4qK+4LTZ9/9wE4lBSVQwcJ+2Cp7hyrEoyg
# ml6nmGpZbYs/CPvI0UWvGBVkkBIPcyguxeIkTvxY7PD0Rf4is+svjtLZRWEFwZdv
# qHZyj4uMNq+/DQXOcY3mpm8fbKZxYsXY0INyDPFnEYkMnBNMcjTfvNVx36px3eG5
# bIw8El1l2r1XErZDa//l3k1mEVHPma7sF7bocZGM3kn+3TVxohUnlBzPYeMmu2+j
# ZyUhXebdHQsuaBs7gq/sg2eF1JhRdLG5mYCJ/394GVx5SmAukkCuTDcqLMnHYsgO
# Xfc2W8rgJSUBtN0aB5x3AD/Q3NXsPdT6uz/MhdZvf6kt37kC9/WXmrU12sNnsIdK
# qSieI47/XCdr4bBP8wfuAC7UWYfLUkGV6vRH1+5kQVV8jVkCld1incK57loodISl
# m7eQxwwH3/WJNnQy1ijBsLAL4JxMwxzW/ONptUdGgS+igqvTY0RwxI3/LTO6rY97
# tXCIrj4Zz0Ao2PzIkLtdmSL1UuZYxR+IMUPuiB3Xxo48Q2odpxjefT0W8WL5ypCo
# /TCCBfUwggPdoAMCAQICEB2iSDBvmyYY0ILgln0z02owDQYJKoZIhvcNAQEMBQAw
# gYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtK
# ZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYD
# VQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTE4
# MTEwMjAwMDAwMFoXDTMwMTIzMTIzNTk1OVowfDELMAkGA1UEBhMCR0IxGzAZBgNV
# BAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UE
# ChMPU2VjdGlnbyBMaW1pdGVkMSQwIgYDVQQDExtTZWN0aWdvIFJTQSBDb2RlIFNp
# Z25pbmcgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCGIo0yhXoY
# n0nwli9jCB4t3HyfFM/jJrYlZilAhlRGdDFixRDtsocnppnLlTDAVvWkdcapDlBi
# pVGREGrgS2Ku/fD4GKyn/+4uMyD6DBmJqGx7rQDDYaHcaWVtH24nlteXUYam9Cfl
# fGqLlR5bYNV+1xaSnAAvaPeX7Wpyvjg7Y96Pv25MQV0SIAhZ6DnNj9LWzwa0VwW2
# TqE+V2sfmLzEYtYbC43HZhtKn52BxHJAteJf7wtF/6POF6YtVbC3sLxUap28jVZT
# xvC6eVBJLPcDuf4vZTXyIuosB69G2flGHNyMfHEo8/6nxhTdVZFuihEN3wYklX0P
# p6F8OtqGNWHTAgMBAAGjggFkMIIBYDAfBgNVHSMEGDAWgBRTeb9aqitKz1SA4dib
# wJ3ysgNmyzAdBgNVHQ4EFgQUDuE6qFM6MdWKvsG7rWcaA4WtNA4wDgYDVR0PAQH/
# BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0lBBYwFAYIKwYBBQUHAwMG
# CCsGAQUFBwMIMBEGA1UdIAQKMAgwBgYEVR0gADBQBgNVHR8ESTBHMEWgQ6BBhj9o
# dHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVNFUlRydXN0UlNBQ2VydGlmaWNhdGlv
# bkF1dGhvcml0eS5jcmwwdgYIKwYBBQUHAQEEajBoMD8GCCsGAQUFBzAChjNodHRw
# Oi8vY3J0LnVzZXJ0cnVzdC5jb20vVVNFUlRydXN0UlNBQWRkVHJ1c3RDQS5jcnQw
# JQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcN
# AQEMBQADggIBAE1jUO1HNEphpNveaiqMm/EAAB4dYns61zLC9rPgY7P7YQCImhtt
# EAcET7646ol4IusPRuzzRl5ARokS9At3WpwqQTr81vTr5/cVlTPDoYMot94v5JT3
# hTODLUpASL+awk9KsY8k9LOBN9O3ZLCmI2pZaFJCX/8E6+F0ZXkI9amT3mtxQJmW
# unjxucjiwwgWsatjWsgVgG10Xkp1fqW4w2y1z99KeYdcx0BNYzX2MNPPtQoOCwR/
# oEuuu6Ol0IQAkz5TXTSlADVpbL6fICUQDRn7UJBhvjmPeo5N9p8OHv4HURJmgyYZ
# SJXOSsnBf/M6BZv5b9+If8AjntIeQ3pFMcGcTanwWbJZGehqjSkEAnd8S0vNcL46
# slVaeD68u28DECV3FTSK+TbMQ5Lkuk/xYpMoJVcp+1EZx6ElQGqEV8aynbG8HAra
# fGd+fS7pKEwYfsR7MUFxmksp7As9V1DSyt39ngVR5UR43QHesXWYDVQk/fBO4+L4
# g71yuss9Ou7wXheSaG3IYfmm8SoKC6W59J7umDIFhZ7r+YMp08Ysfb06dy6LN0Kg
# aoLtO0qqlBCk4Q34F8W2WnkzGJLjtXX4oemOCiUe5B7xn1qHI/+fpFGe+zmAEc3b
# tcSnqIBv5VPU4OOiwtJbGvoyJi1qV3AcPKRYLqPzW0sH3DJZ84enGm1YMIIG7DCC
# BNSgAwIBAgIQMA9vrN1mmHR8qUY2p3gtuTANBgkqhkiG9w0BAQwFADCBiDELMAkG
# A1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBD
# aXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVT
# RVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTkwNTAyMDAw
# MDAwWhcNMzgwMTE4MjM1OTU5WjB9MQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
# YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0
# aWdvIExpbWl0ZWQxJTAjBgNVBAMTHFNlY3RpZ28gUlNBIFRpbWUgU3RhbXBpbmcg
# Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDIGwGv2Sx+iJl9AZg/
# IJC9nIAhVJO5z6A+U++zWsB21hoEpc5Hg7XrxMxJNMvzRWW5+adkFiYJ+9UyUnku
# yWPCE5u2hj8BBZJmbyGr1XEQeYf0RirNxFrJ29ddSU1yVg/cyeNTmDoqHvzOWEnT
# v/M5u7mkI0Ks0BXDf56iXNc48RaycNOjxN+zxXKsLgp3/A2UUrf8H5VzJD0BKLwP
# DU+zkQGObp0ndVXRFzs0IXuXAZSvf4DP0REKV4TJf1bgvUacgr6Unb+0ILBgfrhN
# 9Q0/29DqhYyKVnHRLZRMyIw80xSinL0m/9NTIMdgaZtYClT0Bef9Maz5yIUXx7gp
# GaQpL0bj3duRX58/Nj4OMGcrRrc1r5a+2kxgzKi7nw0U1BjEMJh0giHPYla1IXMS
# Hv2qyghYh3ekFesZVf/QOVQtJu5FGjpvzdeE8NfwKMVPZIMC1Pvi3vG8Aij0bdon
# igbSlofe6GsO8Ft96XZpkyAcSpcsdxkrk5WYnJee647BeFbGRCXfBhKaBi2fA179
# g6JTZ8qx+o2hZMmIklnLqEbAyfKm/31X2xJ2+opBJNQb/HKlFKLUrUMcpEmLQTkU
# Ax4p+hulIq6lw02C0I3aa7fb9xhAV3PwcaP7Sn1FNsH3jYL6uckNU4B9+rY5WDLv
# bxhQiddPnTO9GrWdod6VQXqngwIDAQABo4IBWjCCAVYwHwYDVR0jBBgwFoAUU3m/
# WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFBqh+GEZIA/DQXdFKI7RNV8GEgRV
# MA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMBMGA1UdJQQMMAoG
# CCsGAQUFBwMIMBEGA1UdIAQKMAgwBgYEVR0gADBQBgNVHR8ESTBHMEWgQ6BBhj9o
# dHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVNFUlRydXN0UlNBQ2VydGlmaWNhdGlv
# bkF1dGhvcml0eS5jcmwwdgYIKwYBBQUHAQEEajBoMD8GCCsGAQUFBzAChjNodHRw
# Oi8vY3J0LnVzZXJ0cnVzdC5jb20vVVNFUlRydXN0UlNBQWRkVHJ1c3RDQS5jcnQw
# JQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcN
# AQEMBQADggIBAG1UgaUzXRbhtVOBkXXfA3oyCy0lhBGysNsqfSoF9bw7J/RaoLlJ
# WZApbGHLtVDb4n35nwDvQMOt0+LkVvlYQc/xQuUQff+wdB+PxlwJ+TNe6qAcJlhc
# 87QRD9XVw+K81Vh4v0h24URnbY+wQxAPjeT5OGK/EwHFhaNMxcyyUzCVpNb0llYI
# uM1cfwGWvnJSajtCN3wWeDmTk5SbsdyybUFtZ83Jb5A9f0VywRsj1sJVhGbks8Vm
# Bvbz1kteraMrQoohkv6ob1olcGKBc2NeoLvY3NdK0z2vgwY4Eh0khy3k/ALWPncE
# vAQ2ted3y5wujSMYuaPCRx3wXdahc1cFaJqnyTdlHb7qvNhCg0MFpYumCf/RoZSm
# Tqo9CfUFbLfSZFrYKiLCS53xOV5M3kg9mzSWmglfjv33sVKRzj+J9hyhtal1H3G/
# W0NdZT1QgW6r8NDT/LKzH7aZlib0PHmLXGTMze4nmuWgwAxyh8FuTVrTHurwROYy
# bxzrF06Uw3hlIDsPQaof6aFBnf6xuKBlKjTg3qj5PObBMLvAoGMs/FwWAKjQxH/q
# EZ0eBsambTJdtDgJK0kHqv3sMNrxpy/Pt/360KOE2See+wFmd7lWEOEgbsausfm2
# usg1XTN2jvF8IAwqd661ogKGuinutFoAsYyr4/kKyVRd1LlqdJ69SK6YMIIHBjCC
# BO6gAwIBAgIQPRo1cjAVgmMw0BNxfoJBCDANBgkqhkiG9w0BAQwFADB9MQswCQYD
# VQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdT
# YWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxJTAjBgNVBAMTHFNlY3Rp
# Z28gUlNBIFRpbWUgU3RhbXBpbmcgQ0EwHhcNMTkwNTAyMDAwMDAwWhcNMzAwODAx
# MjM1OTU5WjCBhDELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl
# c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEYMBYGA1UECgwPU2VjdGlnbyBMaW1pdGVk
# MSwwKgYDVQQDDCNTZWN0aWdvIFJTQSBUaW1lIFN0YW1waW5nIFNpZ25lciAjMTCC
# AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMtRUP9W/vx4Y3ABk1qeGPQ7
# U/YHryFs9aIPfR1wLYR0SIucipUFPVmE+ZGAeVEs2Yq3wQuaugqKzWZPA4sBuzDK
# q73bwE8SXvwKzOJFsAE4irtN59QcVJjtOVjPW8IvRZgxCvk1OLgxLm20Hjly4bgq
# vp+MjBqlRq4LK0yZ/ixL/Ci5IjpmF9CqVoohwPOWJLTQhSZruvBvZJh5pq29XNhT
# aysK1nKKhUbjDRgG2sZ7QVY2mxU+8WoRoPdm9RjQgFVjh2hm6w55VYJco+1JuHGG
# npM3sGuj6mJso66W6Ln9i6vG9llbADxXIBgtcAOnnO+S63mhx13sfLSPS9/rXfyj
# IN2SOOVqUTprhZxMoJgIaVsG5yoZ0JWTiztrigUJKdjW2tvjcvpcSi97FVaGMr9/
# BQmdLSrPUOHmYSDbxwaAXE4URr6uV3Giqmwwkxx+d8sG6VfNkfXVM3Ic4drKbuvz
# D+x5W7snnuge/i/yu3/p5dBn67gNfKQrWQOLle0iKM36LDvHFhGv49axUGdpxY71
# edCt/4fM+H+q+aLtYfjIjWnasfRRketnV9FkEetkywO9SVU6RUMYLCVs0S8MLW/1
# QTUkoPJjWRZf2aTpLE7buzESxm34W24D3MsVjxuNcuzbDxWQ1hJO7uIAMSWTNW9q
# W6USY0ABirlpiDqIuA8ZAgMBAAGjggF4MIIBdDAfBgNVHSMEGDAWgBQaofhhGSAP
# w0F3RSiO0TVfBhIEVTAdBgNVHQ4EFgQUb02GB9gyJ54sKdLQEwOAgd0FgykwDgYD
# VR0PAQH/BAQDAgbAMAwGA1UdEwEB/wQCMAAwFgYDVR0lAQH/BAwwCgYIKwYBBQUH
# AwgwQAYDVR0gBDkwNzA1BgwrBgEEAbIxAQIBAwgwJTAjBggrBgEFBQcCARYXaHR0
# cHM6Ly9zZWN0aWdvLmNvbS9DUFMwRAYDVR0fBD0wOzA5oDegNYYzaHR0cDovL2Ny
# bC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBVGltZVN0YW1waW5nQ0EuY3JsMHQGCCsG
# AQUFBwEBBGgwZjA/BggrBgEFBQcwAoYzaHR0cDovL2NydC5zZWN0aWdvLmNvbS9T
# ZWN0aWdvUlNBVGltZVN0YW1waW5nQ0EuY3J0MCMGCCsGAQUFBzABhhdodHRwOi8v
# b2NzcC5zZWN0aWdvLmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAwGjts9jUUJvv03XL
# Dzv3JNN6N0WNLO8W+1GpLB+1JbWKn10LwhsgdI1mDzbLqvY2DQ9+j0tKdENlrA0q
# 9grta23FCTjtABv45dymCkAFR++Eygm8Q2aDv5/t24490UFksXACLQNXWxhvHCzL
# HrIA6LoJL1uBBDW5qWNtjgjFGNHhIaz5EgoUwBLbfiWdrB0QwFqlg9IfGmZV/Jsq
# 4uw3V47l35Yw+MCTC0MY+QJvqVGvuFcK8xwHaTmPN5xt15GupS5J6Ures9CMvzmQ
# DcCBzvAqBzoMpi1R0nLzU8b5ve/vDGlJd58sVsTpoQg9B67FHtaEIse8fUMbWDhi
# TtEFJYTFQvgfL/bb+quMVOxFimwSTTBaUuWkFwki5u9v9V+GQ9+hLb1KRpKggZYs
# YZd/QG/YP4w1WqvRxqA7hWZUgO8fGvXxm7ChJ32y5wvP9i2cWBOUqYb8RVKiKG1/
# dA9SkUl66RL4qTuwkv19kRTpW21IlPLIlu4FOLPF7DA/4QcgBLHYi7z9sz5v8gJT
# BvSg7cmacqOXXwD7y2PQ6M10/XXJ1DZFunsSWXLt5/J6UAB4+EOaRtjfv1TUXrHH
# 0bwbg/Qr5wvoR8hTnswarPb6inVTbCCFqdW4arokjoorCJGfNwQc9m+i3TSqkf/G
# FS4eQhoJKU/0xs3ikaLTQAyOeOMxggWBMIIFfQIBATCBkDB8MQswCQYDVQQGEwJH
# QjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3Jk
# MRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxJDAiBgNVBAMTG1NlY3RpZ28gUlNB
# IENvZGUgU2lnbmluZyBDQQIQNi6d2QZSadlgoaqpVGQMODAJBgUrDgMCGgUAoHgw
# GAYKKwYBBAGCNwIBDDEKMAigAoAAoQKAADAZBgkqhkiG9w0BCQMxDAYKKwYBBAGC
# NwIBBDAcBgorBgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAjBgkqhkiG9w0BCQQx
# FgQUJGe0kCviuQ4OhqKoPhPE9/lyGNAwDQYJKoZIhvcNAQEBBQAEggEAEtEI93lc
# 5ePA3S/cJPMT67/LCWt3SUjbxjGHXA0Z3/1qUflLCIJ53PLyomSRgctv0qXzWQWa
# q51/Yy1EHHyoT8zxqPJ41mG5GKhkJzG4wFbMO+DpUg0Fkrtn3vzeVVZduZ9KRfgy
# 6dIbNw56SQxrWzCXmel4P7svITGrTXzthxxqxI3u6ShTIu6776ZtyavTfYMoKTHG
# h8GaPc4ov+ovDprfnMc0mQcVgEyO4g08pFAPq6AYTy3rsvf3UwWxjffb3ZuoWgzA
# kLQ3Cw25wbHTrD2dWx1Bk8Eo2uR/npQw3FPYIpJ3ooG+F7Z13tae05OsgxDSvxCw
# VUqi+D0ZBFDBp6GCA0swggNHBgkqhkiG9w0BCQYxggM4MIIDNAIBATCBkTB9MQsw
# CQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQH
# EwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxJTAjBgNVBAMTHFNl
# Y3RpZ28gUlNBIFRpbWUgU3RhbXBpbmcgQ0ECED0aNXIwFYJjMNATcX6CQQgwDQYJ
# YIZIAWUDBAICBQCgeTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3
# DQEJBTEPFw0yMDEwMDIxNDMzMzdaMD8GCSqGSIb3DQEJBDEyBDAbQCfrLM6f0snr
# ThBKU3i5PhUQUbeKHauPykpKA/6t4FY+Y+6N+xPeG0zXFrUOjE8wDQYJKoZIhvcN
# AQEBBQAEggIAMUsfS1T4kxZzi4vnESfeR+H0+JXuUe/p2dAdDZeZpkcJoC8WtZyn
# emHx9YzuTnPgfeSVy702K7H25Ld88pafU7hlMxO4cCqKKcD5Y5HB3PcafqLWgRRN
# gDgmb2aUT614aglNdFklCQS35wAbz63tp7/9V2wharVxg3cAuLPScjySglxOhANC
# K1q4qW5f4T37JV2uP55kvUU2N3hCsFPNxsfp879E0LcruBNjtIg8WVksTxyctT1O
# FoPzi/I5j4jcB4IkkSZLyrnYDbmIja45LgIgFnjuzRv2sb+BfsZHC9BWOkDwRDMU
# 5NJfCLBoj47XXWiFHVVrZuIjjx3KG1G0cHvWTGvyVlAR0u1SfWnwYsZF8mXfmJg0
# O+O8UQf310q3zClvAKSMHV48UX5vvAsykt0be4yICzUfoO+Zux5SL8DqOc4TOLGd
# I4Tx5Ikrkw4T1pFABX1R+jiZmfW+TU1wnJ3/HbQGLXWofwS0dP66XZuHbvcQsYYf
# OPylWXqIyDHGiNlbpYf4SWUtQcjPM7gjDMYzF5HvmMQK6BJG1BLzFYdy8AoQARFF
# rV9V8WOWi49o40MlE/eoFdbyzusnNHynZZMte/Mbs6bDimrNXhrjcitHXfRwHsG5
# +yjba7/SZ0rQj3rufkkL5XqM0OAM0H3nhwe+q5W6RINo0SSOvXG6eI8=
# SIG # End signature block