public/cbb/New-MBSNBFPlanSchedule.ps1
function New-MBSNBFPlanSchedule { <# .SYNOPSIS Returs MBS.Agent.Plan.NBFFullSchedule or MBS.Agent.Plan.NBFIncrementalSchedule object. .DESCRIPTION Creates MBS backup plan schedule object. .PARAMETER Once Run once .PARAMETER Daily Run either daily at specific time or daily from/till specific time every specific min/hour .PARAMETER Weekly Run weekly at specific time or weekly from/till specific time every specific min/hour .PARAMETER Monthly Run monthly at specific time or monthly from/till specific time every specific min/hour .PARAMETER At Specify either datetime or time of schedule .PARAMETER DayOfMonth Specify day for 'dayofmonth' schedule (1..31) .PARAMETER DayOfWeek Specify day(s) of week for weekly schedule or day of week for monthly schedule. Possible values: First, Second, Third, Fourth, Penultimate, Last .PARAMETER WeekNumber Specify number of week. Possible values: First, Second, Third, Fourth, Penultimate, Last .PARAMETER OccursFrom Specify daily recurring from value .PARAMETER OccursTo Specify daily recurring till value .PARAMETER OccursEvery Specify recurring period value. Possible values: 1-59 min, or 1-180 hour .EXAMPLE New-MBSNBFPlanSchedule -Incremental -Once -At 10:00 Run incremental (or first full) backup once at 10:00. .EXAMPLE New-MBSNBFPlanSchedule -Incremental -Daily -At 10:00 Run daily incremental backup at 10:00. .EXAMPLE New-MBSNBFPlanSchedule -Incremental -Weekly -At "06:00 PM" -DayOfWeek Friday Run incremental backup every Friday at 6 PM. .EXAMPLE New-MBSNBFPlanSchedule -Incremental -Monthly -At "18:00" -DayOfMonth 3 Run incremental backup every month on the third day at 6 PM. .EXAMPLE New-MBSNBFPlanSchedule -Full -Daily Run full backup daily. .EXAMPLE New-MBSNBFPlanSchedule -Full -Weekly -DayOfWeek Friday Run full backup every Friday. .EXAMPLE New-MBSNBFPlanSchedule -Full -Monthly -DayOfMonth 3 Run full backup every month on the third day. .INPUTS None. .OUTPUTS MBS.Agent.Plan.NBFIncrementalSchedule MBS.Agent.Plan.NBFFullSchedule .NOTES Author: Alex Volkov .LINK https://kb.msp360.com/managed-backup-service/powershell-module/cmdlets/backup-agent/new-mbsnbfplanschedule #> [CmdletBinding()] param ( ## [Parameter(Mandatory=$true, HelpMessage="Use to configure incremental backup schedule", ParameterSetName='Once')] [Parameter(Mandatory=$true, HelpMessage="Use to configure incremental backup schedule", ParameterSetName='DailyAt')] [Parameter(Mandatory=$true, HelpMessage="Use to configure incremental backup schedule", ParameterSetName='DailyEvery')] [Parameter(Mandatory=$true, HelpMessage="Use to configure incremental backup schedule", ParameterSetName='MonthlyWeekAt')] [Parameter(Mandatory=$true, HelpMessage="Use to configure incremental backup schedule", ParameterSetName='MonthlyDayAt')] [Parameter(Mandatory=$true, HelpMessage="Use to configure incremental backup schedule", ParameterSetName='WeeklyAt')] [Parameter(Mandatory=$true, HelpMessage="Use to configure incremental backup schedule", ParameterSetName='WeeklyEvery')] [switch] $Incremental, ## [Parameter(Mandatory=$true, HelpMessage="Use to configure full backup schedule", ParameterSetName='Daily')] [Parameter(Mandatory=$true, HelpMessage="Use to configure full backup schedule", ParameterSetName='Weekly')] [Parameter(Mandatory=$true, HelpMessage="Use to configure full backup schedule", ParameterSetName='MonthlyDay')] [Parameter(Mandatory=$true, HelpMessage="Use to configure full backup schedule", ParameterSetName='MonthlyWeek')] [switch] $Full, ## [Parameter(Mandatory=$False, HelpMessage="Run once", ParameterSetName='Once')] [switch] $Once, ## [Parameter(Mandatory=$False, HelpMessage="Run daily at specific time", ParameterSetName='DailyAt')] [Parameter(Mandatory=$False, HelpMessage="Run daily from/till specific time every specific min/hour", ParameterSetName='DailyEvery')] [Parameter(Mandatory=$False, HelpMessage="Run daily from/till specific time every specific min/hour", ParameterSetName='Daily')] [switch] $Daily, ## [Parameter(Mandatory=$False, HelpMessage="Run weekly at specific time", ParameterSetName='WeeklyAt')] [Parameter(Mandatory=$False, HelpMessage="Run weekly from/till specific time every specific min/hour", ParameterSetName='WeeklyEvery')] [Parameter(Mandatory=$False, HelpMessage="Run weekly from/till specific time every specific min/hour", ParameterSetName='Weekly')] [switch] $Weekly, ## [Parameter(Mandatory=$False, HelpMessage="Run monthly at specific time", ParameterSetName='MonthlyDayAt')] [Parameter(Mandatory=$False, HelpMessage="Run monthly on specific day", ParameterSetName='MonthlyDay')] [Parameter(Mandatory=$False, HelpMessage="Run monthly at specific time", ParameterSetName='MonthlyWeekAt')] [Parameter(Mandatory=$False, HelpMessage="Run monthly on specific weekday", ParameterSetName='MonthlyWeek')] [switch] $Monthly, ## [Parameter(Mandatory=$true, HelpMessage="Specify datetime. Example -at ""06/09/19 7:43 AM""", ParameterSetName='Once')] [Parameter(Mandatory=$true, HelpMessage="Specify time of schedule. Example -at ""7:43 AM""", ParameterSetName='DailyAt')] [Parameter(Mandatory=$true, HelpMessage="Specify time of schedule. Example -at ""7:43 AM""", ParameterSetName='WeeklyAt')] [Parameter(Mandatory=$true, HelpMessage="Specify time of schedule. Example -at ""7:43 AM""", ParameterSetName='MonthlyWeekAt')] [Parameter(Mandatory=$true, HelpMessage="Specify time of schedule. Example -at ""7:43 AM""", ParameterSetName='MonthlyDayAt')] [datetime] $At, ## [Parameter(Mandatory=$true, HelpMessage="Specify day for 'dayofmonth' schedule (1..31)", ParameterSetName='MonthlyDayAt')] [Parameter(Mandatory=$true, HelpMessage="Specify day for 'dayofmonth' schedule (1..31)", ParameterSetName='MonthlyDay')] [Int32][ValidateRange(1,31)] $DayOfMonth, ## [Parameter(Mandatory=$true, HelpMessage="Specify day(s) of week for weekly schedule. Example: ""Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday""", ParameterSetName='Weekly')] [Parameter(Mandatory=$true, HelpMessage="Specify day(s) of week for weekly schedule. Example: ""Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday""", ParameterSetName='WeeklyAt')] [Parameter(Mandatory=$true, HelpMessage="Specify day(s) of week for weekly schedule. Example: ""Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday""", ParameterSetName='WeeklyEvery')] [Parameter(Mandatory=$true, HelpMessage="Specify day of week for monthly schedule. Example: ""Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday""", ParameterSetName='MonthlyWeek')] [Parameter(Mandatory=$true, HelpMessage="Specify day of week for monthly schedule. Example: ""Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday""", ParameterSetName='MonthlyWeekAt')] [System.DayOfWeek[]] $DayOfWeek, ## [Parameter(Mandatory=$true, HelpMessage="Specify number of week. Possible values: First, Second, Third, Fourth, Penultimate, Last", ParameterSetName='MonthlyWeekAt')] [Parameter(Mandatory=$true, HelpMessage="Specify number of week. Possible values: First, Second, Third, Fourth, Penultimate, Last", ParameterSetName='MonthlyWeek')] [ValidateSet("First", "Second", "Third", "Fourth", "Penultimate", "Last")] [MBS.Agent.Plan.WeekNumber] $WeekNumber, ## [Parameter(Mandatory=$true, HelpMessage="Specify daily recurring from value", ParameterSetName='DailyEvery')] [Parameter(Mandatory=$true, HelpMessage="Specify daily recurring from value", ParameterSetName='WeeklyEvery')] [ValidatePattern("^([01]?[0-9]|2[0-3]):[0-5][0-9]:[0][0]$")] [timespan] $OccursFrom, ## [Parameter(Mandatory=$true, HelpMessage="Specify daily recurring till value", ParameterSetName='DailyEvery')] [Parameter(Mandatory=$true, HelpMessage="Specify daily recurring till value", ParameterSetName='WeeklyEvery')] [ValidatePattern("^([01]?[0-9]|2[0-3]):[0-5][0-9]:[0][0]$")] [timespan] $OccursTo, ## [Parameter(Mandatory=$true, HelpMessage="Specify recurring period value. Possible values: 1-59 min, or 1-180 hour", ParameterSetName='DailyEvery')] [Parameter(Mandatory=$true, HelpMessage="Specify recurring period value. Possible values: 1-59 min, or 1-180 hour", ParameterSetName='WeeklyEvery')] [timespan] $OccursEvery ) begin { } process { if ($Incremental) { $Schedule = New-Object -TypeName MBS.Agent.Plan.NBFIncrementalSchedule }else { $Schedule = New-Object -TypeName MBS.Agent.Plan.NBFFullSchedule } if($Once){$Schedule.Frequency = 'Once'} if($Daily){$Schedule.Frequency = 'Daily'} if($Weekly){$Schedule.Frequency = 'Weekly'} if($Monthly -and -not $DayOfMonth){$Schedule.Frequency = 'Monthly'} if($Monthly -and $DayOfMonth){$Schedule.Frequency = 'DayofMonth'} if($At){$Schedule.At = $At} if($DayOfMonth){$Schedule.DayOfMonth = $DayOfMonth} if($Null -ne $DayOfWeek){$Schedule.DayOfWeek = $DayOfWeek} if($null -ne $WeekNumber){$Schedule.WeekNumber = $WeekNumber} if($OccursFrom){$Schedule.OccursFrom = $OccursFrom} if($OccursTo){$Schedule.OccursTo = $OccursTo} if($OccursEvery){$Schedule.OccursEvery = $OccursEvery} return $Schedule } end { } } # SIG # Begin signature block # MIIbfAYJKoZIhvcNAQcCoIIbbTCCG2kCAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDKpApUQjvlEkqU # MOpAkNo0GCgucXJnvhgoIgRUIFKLx6CCC04wggVmMIIETqADAgECAhEA3VtfmfWb # K32tKkM2xJo7CjANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJHQjEbMBkGA1UE # CBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQK # ExFDT01PRE8gQ0EgTGltaXRlZDEjMCEGA1UEAxMaQ09NT0RPIFJTQSBDb2RlIFNp # Z25pbmcgQ0EwHhcNMTcxMjE0MDAwMDAwWhcNMjExMjE0MjM1OTU5WjCBqDELMAkG # A1UEBhMCQ1kxDTALBgNVBBEMBDEwOTUxETAPBgNVBAgMCExlZmNvc2lhMRAwDgYD # VQQHDAdOaWNvc2lhMRUwEwYDVQQJDAxMYW1wb3VzYXMsIDExJjAkBgNVBAoMHVRy # aWNoaWxpYSBDb25zdWx0YW50cyBMaW1pdGVkMSYwJAYDVQQDDB1UcmljaGlsaWEg # Q29uc3VsdGFudHMgTGltaXRlZDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC # ggEBAJC5Ak9MZHfMGygnL9B+2OcFRvnTeYAJPa4tJS/ES3eSBBge9BiBUa6f+QlX # lIjt+NBD9QrewScUj9EnaguKzc8NFonBJAgT43jD5rCuuj3GljTIHftLDF9vgetf # 7KUYhwMypqxRP8pLMAuXzIzw5Yxjh1Quy92dZyJYpOuGbz1PQVRMj2fhRqeerP4J # OiRktwnykjrxDsRNm+Iuas1BM+vjVA7B9Cj0Wf5NsMxSegJezvs0yqwHrsngEQrY # GXDKHstfsxd8KM5LxJdYN1neIAO8v6AuM6yjQT1z1ZwVSCHu2swNCA3T3M26fkk9 # 9TIZZI/LvfR++FJCUvJkPoPbOKUCAwEAAaOCAbMwggGvMB8GA1UdIwQYMBaAFCmR # YP+KTfrr+aZquM/55ku9Sc4SMB0GA1UdDgQWBBRqlxdnVxjIxF6fnOYUd7LOYeNe # rjAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEF # BQcDAzARBglghkgBhvhCAQEEBAMCBBAwRgYDVR0gBD8wPTA7BgwrBgEEAbIxAQIB # AwIwKzApBggrBgEFBQcCARYdaHR0cHM6Ly9zZWN1cmUuY29tb2RvLm5ldC9DUFMw # QwYDVR0fBDwwOjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQ09NT0RP # UlNBQ29kZVNpZ25pbmdDQS5jcmwwdAYIKwYBBQUHAQEEaDBmMD4GCCsGAQUFBzAC # hjJodHRwOi8vY3J0LmNvbW9kb2NhLmNvbS9DT01PRE9SU0FDb2RlU2lnbmluZ0NB # LmNydDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMCQGA1Ud # EQQdMBuBGWNvbnRhY3RAY2xvdWRiZXJyeWxhYi5jb20wDQYJKoZIhvcNAQELBQAD # ggEBAEeInauUdqKYV4ncwGMqz5+frptASCXVnCMLI7j3JK0KCzmJkwHHmkIk3P0A # Rzedj5+1aFuXANtT42IACVf00tqq0IHO2KT2vHHJHNnx3ht6kMcCmKmUlnkZMjEK # +0WJD0JSP7lBRQBf5QJpDLmpbBTVvlbe/3nzpUZ95O5reaPekoQ1xC4Ossu06ba0 # djKhwk0HgeqZz7ZruWOVY/YRDfnlZ3it5+4Ck2JTXIVcUcXzT/ZdwNTkUiIqmh4T # HwOj+k/Yej7Q13ILWTNZMELs3Iec6FSSGXUijHV65pPI0dUXnq8pWYMfutgwlBaL # 78yXl4ihf46TXsnAMottH+ld8lAwggXgMIIDyKADAgECAhAufIfMDpNKUv6U/Ry3 # zTSvMA0GCSqGSIb3DQEBDAUAMIGFMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl # YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01P # RE8gQ0EgTGltaXRlZDErMCkGA1UEAxMiQ09NT0RPIFJTQSBDZXJ0aWZpY2F0aW9u # IEF1dGhvcml0eTAeFw0xMzA1MDkwMDAwMDBaFw0yODA1MDgyMzU5NTlaMH0xCzAJ # BgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcT # B1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMSMwIQYDVQQDExpD # T01PRE8gUlNBIENvZGUgU2lnbmluZyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP # ADCCAQoCggEBAKaYkGN3kTR/itHd6WcxEevMHv0xHbO5Ylc/k7xb458eJDIRJ2u8 # UZGnz56eJbNfgagYDx0eIDAO+2F7hgmz4/2iaJ0cLJ2/cuPkdaDlNSOOyYruGgxk # x9hCoXu1UgNLOrCOI0tLY+AilDd71XmQChQYUSzm/sES8Bw/YWEKjKLc9sMwqs0o # GHVIwXlaCM27jFWM99R2kDozRlBzmFz0hUprD4DdXta9/akvwCX1+XjXjV8QwkRV # PJA8MUbLcK4HqQrjr8EBb5AaI+JfONvGCF1Hs4NB8C4ANxS5Eqp5klLNhw972GIp # pH4wvRu1jHK0SPLj6CH5XkxieYsCBp9/1QsCAwEAAaOCAVEwggFNMB8GA1UdIwQY # MBaAFLuvfgI9+qbxPISOre44mOzZMjLUMB0GA1UdDgQWBBQpkWD/ik366/mmarjP # +eZLvUnOEjAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADATBgNV # HSUEDDAKBggrBgEFBQcDAzARBgNVHSAECjAIMAYGBFUdIAAwTAYDVR0fBEUwQzBB # oD+gPYY7aHR0cDovL2NybC5jb21vZG9jYS5jb20vQ09NT0RPUlNBQ2VydGlmaWNh # dGlvbkF1dGhvcml0eS5jcmwwcQYIKwYBBQUHAQEEZTBjMDsGCCsGAQUFBzAChi9o # dHRwOi8vY3J0LmNvbW9kb2NhLmNvbS9DT01PRE9SU0FBZGRUcnVzdENBLmNydDAk # BggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMA0GCSqGSIb3DQEB # DAUAA4ICAQACPwI5w+74yjuJ3gxtTbHxTpJPr8I4LATMxWMRqwljr6ui1wI/zG8Z # wz3WGgiU/yXYqYinKxAa4JuxByIaURw61OHpCb/mJHSvHnsWMW4j71RRLVIC4nUI # BUzxt1HhUQDGh/Zs7hBEdldq8d9YayGqSdR8N069/7Z1VEAYNldnEc1PAuT+89r8 # dRfb7Lf3ZQkjSR9DV4PqfiB3YchN8rtlTaj3hUUHr3ppJ2WQKUCL33s6UTmMqB9w # ea1tQiCizwxsA4xMzXMHlOdajjoEuqKhfB/LYzoVp9QVG6dSRzKp9L9kR9GqH1NO # MjBzwm+3eIKdXP9Gu2siHYgL+BuqNKb8jPXdf2WMjDFXMdA27Eehz8uLqO8cGFjF # BnfKS5tRr0wISnqP4qNS4o6OzCbkstjlOMKo7caBnDVrqVhhSgqXtEtCtlWdvpnn # cG1Z+G0qDH8ZYF8MmohsMKxSCZAWG/8rndvQIMqJ6ih+Mo4Z33tIMx7XZfiuyfiD # FJN2fWTQjs6+NX3/cjFNn569HmwvqI8MBlD7jCezdsn05tfDNOKMhyGGYf6/VXTh # IXcDCmhsu+TJqebPWSXrfOxFDnlmaOgizbjvmIVNlhE8CYrQf7woKBP7aspUjZJc # zcJlmAaezkhb1LU3k0ZBfAfdz/pD77pnYf99SeC7MH1cgOPmFjlLpzGCD4Qwgg+A # AgEBMIGSMH0xCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0 # ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVk # MSMwIQYDVQQDExpDT01PRE8gUlNBIENvZGUgU2lnbmluZyBDQQIRAN1bX5n1myt9 # rSpDNsSaOwowDQYJYIZIAWUDBAIBBQCgfDAQBgorBgEEAYI3AgEMMQIwADAZBgkq # hkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgorBgEEAYI3AgELMQ4wDAYKKwYBBAGC # NwIBFTAvBgkqhkiG9w0BCQQxIgQgSzQE0SutXK9t+BmbSGkwhWvbjMIwkaepm9s0 # jUrOSFcwDQYJKoZIhvcNAQEBBQAEggEAIlFhtMnRyflNV4BozMtvUCgUz/HLu0oX # eA1eOKklJZHlTE292Fm1SSz0kI2vkyDRrRyE9uYhqxLXs+L1kNmcp5rCWAQSfIL1 # J9/rWKBabyhWrxmzNjFqbWDux97ejO3gAGHuFEErNUroMcYzdnygI17Mfv/PPGf2 # RmkQV1Vtff+wkYafw3QlvoQDQ1UJEnOHgmJ0xLLuxeQazj5aYeKUQIp4b2UWPjXP # 48bjCIW+vEZaoASxSufQPy4mpvJPfnU/hw9MhvkSuegWifOUkGQzvenZqD12u8zR # 2LLk+hJEuGKbAzO8tUlShSkgyqjYEtJMpp3FM+qxZ9fduqUwBR3YF6GCDUQwgg1A # BgorBgEEAYI3AwMBMYINMDCCDSwGCSqGSIb3DQEHAqCCDR0wgg0ZAgEDMQ8wDQYJ # YIZIAWUDBAIBBQAwdwYLKoZIhvcNAQkQAQSgaARmMGQCAQEGCWCGSAGG/WwHATAx # MA0GCWCGSAFlAwQCAQUABCCqNcsQV44yVdyRgcLrRg+DwJ/QtWv67hDZr4CFh1nP # TAIQNi3hC3U3r9NJ3alCSKD0ZRgPMjAyMTA0MTkxNjU1MjlaoIIKNzCCBP4wggPm # oAMCAQICEA1CSuC+Ooj/YEAhzhQA8N0wDQYJKoZIhvcNAQELBQAwcjELMAkGA1UE # BhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRpZ2lj # ZXJ0LmNvbTExMC8GA1UEAxMoRGlnaUNlcnQgU0hBMiBBc3N1cmVkIElEIFRpbWVz # dGFtcGluZyBDQTAeFw0yMTAxMDEwMDAwMDBaFw0zMTAxMDYwMDAwMDBaMEgxCzAJ # BgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjEgMB4GA1UEAxMXRGln # aUNlcnQgVGltZXN0YW1wIDIwMjEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK # AoIBAQDC5mGEZ8WK9Q0IpEXKY2tR1zoRQr0KdXVNlLQMULUmEP4dyG+RawyW5xpc # SO9E5b+bYc0VkWJauP9nC5xj/TZqgfop+N0rcIXeAhjzeG28ffnHbQk9vmp2h+mK # vfiEXR52yeTGdnY6U9HR01o2j8aj4S8bOrdh1nPsTm0zinxdRS1LsVDmQTo3Vobc # kyON91Al6GTm3dOPL1e1hyDrDo4s1SPa9E14RuMDgzEpSlwMMYpKjIjF9zBa+RSv # FV9sQ0kJ/SYjU/aNY+gaq1uxHTDCm2mCtNv8VlS8H6GHq756WwogL0sJyZWnjbL6 # 1mOLTqVyHO6fegFz+BnW/g1JhL0BAgMBAAGjggG4MIIBtDAOBgNVHQ8BAf8EBAMC # B4AwDAYDVR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDBBBgNVHSAE # OjA4MDYGCWCGSAGG/WwHATApMCcGCCsGAQUFBwIBFhtodHRwOi8vd3d3LmRpZ2lj # ZXJ0LmNvbS9DUFMwHwYDVR0jBBgwFoAU9LbhIB3+Ka7S5GGlsqIlssgXNW4wHQYD # VR0OBBYEFDZEho6kurBmvrwoLR1ENt3janq8MHEGA1UdHwRqMGgwMqAwoC6GLGh0 # dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9zaGEyLWFzc3VyZWQtdHMuY3JsMDKgMKAu # hixodHRwOi8vY3JsNC5kaWdpY2VydC5jb20vc2hhMi1hc3N1cmVkLXRzLmNybDCB # hQYIKwYBBQUHAQEEeTB3MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2Vy # dC5jb20wTwYIKwYBBQUHMAKGQ2h0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9E # aWdpQ2VydFNIQTJBc3N1cmVkSURUaW1lc3RhbXBpbmdDQS5jcnQwDQYJKoZIhvcN # AQELBQADggEBAEgc3LXpmiO85xrnIA6OZ0b9QnJRdAojR6OrktIlxHBZvhSg5SeB # pU0UFRkHefDRBMOG2Tu9/kQCZk3taaQP9rhwz2Lo9VFKeHk2eie38+dSn5On7UOe # e+e03UEiifuHokYDTvz0/rdkd2NfI1Jpg4L6GlPtkMyNoRdzDfTzZTlwS/Oc1np7 # 2gy8PTLQG8v1Yfx1CAB2vIEO+MDhXM/EEXLnG2RJ2CKadRVC9S0yOIHa9GCiurRS # +1zgYSQlT7LfySmoc0NR2r1j1h9bm/cuG08THfdKDXF+l7f0P4TrweOjSaH6zqe/ # Vs+6WXZhiV9+p7SOZ3j5NpjhyyjaW4emii8wggUxMIIEGaADAgECAhAKoSXW1jIb # fkHkBdo2l8IVMA0GCSqGSIb3DQEBCwUAMGUxCzAJBgNVBAYTAlVTMRUwEwYDVQQK # EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xJDAiBgNV # BAMTG0RpZ2lDZXJ0IEFzc3VyZWQgSUQgUm9vdCBDQTAeFw0xNjAxMDcxMjAwMDBa # Fw0zMTAxMDcxMjAwMDBaMHIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2Vy # dCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xMTAvBgNVBAMTKERpZ2lD # ZXJ0IFNIQTIgQXNzdXJlZCBJRCBUaW1lc3RhbXBpbmcgQ0EwggEiMA0GCSqGSIb3 # DQEBAQUAA4IBDwAwggEKAoIBAQC90DLuS82Pf92puoKZxTlUKFe2I0rEDgdFM1EQ # fdD5fU1ofue2oPSNs4jkl79jIZCYvxO8V9PD4X4I1moUADj3Lh477sym9jJZ/l9l # P+Cb6+NGRwYaVX4LJ37AovWg4N4iPw7/fpX786O6Ij4YrBHk8JkDbTuFfAnT7l3I # mgtU46gJcWvgzyIQD3XPcXJOCq3fQDpct1HhoXkUxk0kIzBdvOw8YGqsLwfM/fDq # R9mIUF79Zm5WYScpiYRR5oLnRlD9lCosp+R1PrqYD4R/nzEU1q3V8mTLex4F0IQZ # chfxFwbvPc3WTe8GQv2iUypPhR3EHTyvz9qsEPXdrKzpVv+TAgMBAAGjggHOMIIB # yjAdBgNVHQ4EFgQU9LbhIB3+Ka7S5GGlsqIlssgXNW4wHwYDVR0jBBgwFoAUReui # r/SSy4IxLVGLp6chnfNtyA8wEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8E # BAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUHAwgweQYIKwYBBQUHAQEEbTBrMCQGCCsG # AQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQwYIKwYBBQUHMAKGN2h0 # dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RD # QS5jcnQwgYEGA1UdHwR6MHgwOqA4oDaGNGh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNv # bS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmwwOqA4oDaGNGh0dHA6Ly9jcmwz # LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmwwUAYDVR0g # BEkwRzA4BgpghkgBhv1sAAIEMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LmRp # Z2ljZXJ0LmNvbS9DUFMwCwYJYIZIAYb9bAcBMA0GCSqGSIb3DQEBCwUAA4IBAQBx # lRLpUYdWac3v3dp8qmN6s3jPBjdAhO9LhL/KzwMC/cWnww4gQiyvd/MrHwwhWiq3 # BTQdaq6Z+CeiZr8JqmDfdqQ6kw/4stHYfBli6F6CJR7Euhx7LCHi1lssFDVDBGiy # 23UC4HLHmNY8ZOUfSBAYX4k4YU1iRiSHY4yRUiyvKYnleB/WCxSlgNcSR3CzddWT # hZN+tpJn+1Nhiaj1a5bA9FhpDXzIAbG5KHW3mWOFIoxhynmUfln8jA/jb7UBJrZs # pe6HUSHkWGCbugwtK22ixH67xCUrRwIIfEmuE7bhfEJCKMYYVs9BNLZmXbZ0e/VW # MyIvIjayS6JKldj1po5SMYICTTCCAkkCAQEwgYYwcjELMAkGA1UEBhMCVVMxFTAT # BgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTEx # MC8GA1UEAxMoRGlnaUNlcnQgU0hBMiBBc3N1cmVkIElEIFRpbWVzdGFtcGluZyBD # QQIQDUJK4L46iP9gQCHOFADw3TANBglghkgBZQMEAgEFAKCBmDAaBgkqhkiG9w0B # CQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTIxMDQxOTE2NTUyOVow # KwYLKoZIhvcNAQkQAgwxHDAaMBgwFgQU4deCqOGRvu9ryhaRtaq0lKYkm/MwLwYJ # KoZIhvcNAQkEMSIEIN05xs5uhEnPYovnYXav/7zUMGV9POZuj7WTVcUMb2A0MA0G # CSqGSIb3DQEBAQUABIIBAKm9sYjU5QG/3luhEtDwPMoS5kxluioBAUL/QJDq2qMU # /vhrIEieY2Psz9KoDwiRZb9Ip6z0cEF0iSC2khfMQGlIs54dVLVz0PtN5YOFtpGk # +5MkUG8eAKUkcHrrYmcyvu34YW6jVUAwyl8z4fmnYPbAotJYYssPsU9wIZ6eTWdr # cE+AoAbFzzEn5uGGPRKnFnpgz0+2P9W5VEP6DL25dRKFcn6+sA0zkYFGwAEC3t4v # KLeqsJKK0Dl/v17+ABeaMK/ThoTkgsSrGxrrviwVEwVzp/O9DYz8i1wt9f6pg7n4 # Z44xruPBOgxlwAb0HZyDr+NrG/8H4ort8jEyKgcYkSQ= # SIG # End signature block |