# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
$ErrorActionPreference = 'Stop'
|
$InitialDatabase = '0'
|
|
$UpdatePowerShell = 'The Entity Framework Package Manager Console Tools require Windows PowerShell 3.0 or higher. ' +
|
'Install Windows Management Framework 3.0, restart Visual Studio, and try again. https://aka.ms/wmf3download'
|
|
<#
|
.SYNOPSIS
|
Adds or updates an Entity Framework provider entry in the project config
|
file.
|
|
.DESCRIPTION
|
Adds an entry into the 'entityFramework' section of the project config
|
file for the specified provider invariant name and provider type. If an
|
entry for the given invariant name already exists, then that entry is
|
updated with the given type name, unless the given type name already
|
matches, in which case no action is taken. The 'entityFramework'
|
section is added if it does not exist. The config file is automatically
|
saved if and only if a change was made.
|
|
This command is typically used only by Entity Framework provider NuGet
|
packages and is run from the 'install.ps1' script.
|
|
.PARAMETER Project
|
The Visual Studio project to update. When running in the NuGet install.ps1
|
script the '$project' variable provided as part of that script should be
|
used.
|
|
.PARAMETER InvariantName
|
The provider invariant name that uniquely identifies this provider. For
|
example, the Microsoft SQL Server provider is registered with the invariant
|
name 'System.Data.SqlClient'.
|
|
.PARAMETER TypeName
|
The assembly-qualified type name of the provider-specific type that
|
inherits from 'System.Data.Entity.Core.Common.DbProviderServices'. For
|
example, for the Microsoft SQL Server provider, this type is
|
'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer'.
|
#>
|
function Add-EFProvider
|
{
|
[CmdletBinding(PositionalBinding = $false)]
|
param(
|
[parameter(Position = 0, Mandatory = $true)]
|
$Project,
|
[parameter(Position = 1, Mandatory = $true)]
|
[string] $InvariantName,
|
[parameter(Position = 2, Mandatory = $true)]
|
[string] $TypeName)
|
|
$configPath = GetConfigPath($Project)
|
if (!$configPath)
|
{
|
return
|
}
|
|
[xml] $configXml = Get-Content $configPath
|
|
$providers = $configXml.configuration.entityFramework.providers
|
|
$providers.provider |
|
where invariantName -eq $InvariantName |
|
%{ $providers.RemoveChild($_) | Out-Null }
|
|
$provider = $providers.AppendChild($configXml.CreateElement('provider'))
|
$provider.SetAttribute('invariantName', $InvariantName)
|
$provider.SetAttribute('type', $TypeName)
|
|
$configXml.Save($configPath)
|
}
|
|
<#
|
.SYNOPSIS
|
Adds or updates an Entity Framework default connection factory in the
|
project config file.
|
|
.DESCRIPTION
|
Adds an entry into the 'entityFramework' section of the project config
|
file for the connection factory that Entity Framework will use by default
|
when creating new connections by convention. Any existing entry will be
|
overridden if it does not match. The 'entityFramework' section is added if
|
it does not exist. The config file is automatically saved if and only if
|
a change was made.
|
|
This command is typically used only by Entity Framework provider NuGet
|
packages and is run from the 'install.ps1' script.
|
|
.PARAMETER Project
|
The Visual Studio project to update. When running in the NuGet install.ps1
|
script the '$project' variable provided as part of that script should be
|
used.
|
|
.PARAMETER TypeName
|
The assembly-qualified type name of the connection factory type that
|
implements the 'System.Data.Entity.Infrastructure.IDbConnectionFactory'
|
interface. For example, for the Microsoft SQL Server Express provider
|
connection factory, this type is
|
'System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework'.
|
|
.PARAMETER ConstructorArguments
|
An optional array of strings that will be passed as arguments to the
|
connection factory type constructor.
|
#>
|
function Add-EFDefaultConnectionFactory
|
{
|
[CmdletBinding(PositionalBinding = $false)]
|
param(
|
[parameter(Position = 0, Mandatory = $true)]
|
$Project,
|
[parameter(Position = 1, Mandatory = $true)]
|
[string] $TypeName,
|
[string[]] $ConstructorArguments)
|
|
$configPath = GetConfigPath($Project)
|
if (!$configPath)
|
{
|
return
|
}
|
|
[xml] $configXml = Get-Content $configPath
|
|
$entityFramework = $configXml.configuration.entityFramework
|
$defaultConnectionFactory = $entityFramework.defaultConnectionFactory
|
if ($defaultConnectionFactory)
|
{
|
$entityFramework.RemoveChild($defaultConnectionFactory) | Out-Null
|
}
|
$defaultConnectionFactory = $entityFramework.AppendChild($configXml.CreateElement('defaultConnectionFactory'))
|
|
$defaultConnectionFactory.SetAttribute('type', $TypeName)
|
|
if ($ConstructorArguments)
|
{
|
$parameters = $defaultConnectionFactory.AppendChild($configXml.CreateElement('parameters'))
|
|
foreach ($constructorArgument in $ConstructorArguments)
|
{
|
$parameter = $parameters.AppendChild($configXml.CreateElement('parameter'))
|
$parameter.SetAttribute('value', $constructorArgument)
|
}
|
}
|
|
$configXml.Save($configPath)
|
}
|
|
<#
|
.SYNOPSIS
|
Enables Code First Migrations in a project.
|
|
.DESCRIPTION
|
Enables Migrations by scaffolding a migrations configuration class in the project. If the
|
target database was created by an initializer, an initial migration will be created (unless
|
automatic migrations are enabled via the EnableAutomaticMigrations parameter).
|
|
.PARAMETER ContextTypeName
|
Specifies the context to use. If omitted, migrations will attempt to locate a
|
single context type in the target project.
|
|
.PARAMETER EnableAutomaticMigrations
|
Specifies whether automatic migrations will be enabled in the scaffolded migrations configuration.
|
If omitted, automatic migrations will be disabled.
|
|
.PARAMETER MigrationsDirectory
|
Specifies the name of the directory that will contain migrations code files.
|
If omitted, the directory will be named "Migrations".
|
|
.PARAMETER ProjectName
|
Specifies the project that the scaffolded migrations configuration class will
|
be added to. If omitted, the default project selected in package manager
|
console is used.
|
|
.PARAMETER StartUpProjectName
|
Specifies the configuration file to use for named connection strings. If
|
omitted, the specified project's configuration file is used.
|
|
.PARAMETER ContextProjectName
|
Specifies the project which contains the DbContext class to use. If omitted,
|
the context is assumed to be in the same project used for migrations.
|
|
.PARAMETER ConnectionStringName
|
Specifies the name of a connection string to use from the application's
|
configuration file.
|
|
.PARAMETER ConnectionString
|
Specifies the connection string to use. If omitted, the context's
|
default connection will be used.
|
|
.PARAMETER ConnectionProviderName
|
Specifies the provider invariant name of the connection string.
|
|
.PARAMETER Force
|
Specifies that the migrations configuration be overwritten when running more
|
than once for a given project.
|
|
.PARAMETER ContextAssemblyName
|
Specifies the name of the assembly which contains the DbContext class to use. Use this
|
parameter instead of ContextProjectName when the context is contained in a referenced
|
assembly rather than in a project of the solution.
|
|
.PARAMETER AppDomainBaseDirectory
|
Specifies the directory to use for the app-domain that is used for running Migrations
|
code such that the app-domain is able to find all required assemblies. This is an
|
advanced option that should only be needed if the solution contains several projects
|
such that the assemblies needed for the context and configuration are not all
|
referenced from either the project containing the context or the project containing
|
the migrations.
|
|
.EXAMPLE
|
Enable-Migrations
|
# Scaffold a migrations configuration in a project with only one context
|
|
.EXAMPLE
|
Enable-Migrations -Auto
|
# Scaffold a migrations configuration with automatic migrations enabled for a project
|
# with only one context
|
|
.EXAMPLE
|
Enable-Migrations -ContextTypeName MyContext -MigrationsDirectory DirectoryName
|
# Scaffold a migrations configuration for a project with multiple contexts
|
# This scaffolds a migrations configuration for MyContext and will put the configuration
|
# and subsequent configurations in a new directory called "DirectoryName"
|
|
#>
|
function Enable-Migrations(
|
$ContextTypeName,
|
[alias('Auto')]
|
[switch] $EnableAutomaticMigrations,
|
$MigrationsDirectory,
|
$ProjectName,
|
$StartUpProjectName,
|
$ContextProjectName,
|
$ConnectionStringName,
|
$ConnectionString,
|
$ConnectionProviderName,
|
[switch] $Force,
|
$ContextAssemblyName,
|
$AppDomainBaseDirectory)
|
|
WarnIfOtherEFs 'Enable-Migrations'
|
throw $UpdatePowerShell
|
}
|
|
<#
|
.SYNOPSIS
|
Scaffolds a migration script for any pending model changes.
|
|
.DESCRIPTION
|
Scaffolds a new migration script and adds it to the project.
|
|
.PARAMETER Name
|
Specifies the name of the custom script.
|
|
.PARAMETER Force
|
Specifies that the migration user code be overwritten when re-scaffolding an
|
existing migration.
|
|
.PARAMETER ProjectName
|
Specifies the project that contains the migration configuration type to be
|
used. If omitted, the default project selected in package manager console
|
is used.
|
|
.PARAMETER StartUpProjectName
|
Specifies the configuration file to use for named connection strings. If
|
omitted, the specified project's configuration file is used.
|
|
.PARAMETER ConfigurationTypeName
|
Specifies the migrations configuration to use. If omitted, migrations will
|
attempt to locate a single migrations configuration type in the target
|
project.
|
|
.PARAMETER ConnectionStringName
|
Specifies the name of a connection string to use from the application's
|
configuration file.
|
|
.PARAMETER ConnectionString
|
Specifies the connection string to use. If omitted, the context's
|
default connection will be used.
|
|
.PARAMETER ConnectionProviderName
|
Specifies the provider invariant name of the connection string.
|
|
.PARAMETER IgnoreChanges
|
Scaffolds an empty migration ignoring any pending changes detected in the current model.
|
This can be used to create an initial, empty migration to enable Migrations for an existing
|
database. N.B. Doing this assumes that the target database schema is compatible with the
|
current model.
|
|
.PARAMETER AppDomainBaseDirectory
|
Specifies the directory to use for the app-domain that is used for running Migrations
|
code such that the app-domain is able to find all required assemblies. This is an
|
advanced option that should only be needed if the solution contains several projects
|
such that the assemblies needed for the context and configuration are not all
|
referenced from either the project containing the context or the project containing
|
the migrations.
|
|
.EXAMPLE
|
Add-Migration First
|
# Scaffold a new migration named "First"
|
|
.EXAMPLE
|
Add-Migration First -IgnoreChanges
|
# Scaffold an empty migration ignoring any pending changes detected in the current model.
|
# This can be used to create an initial, empty migration to enable Migrations for an existing
|
# database. N.B. Doing this assumes that the target database schema is compatible with the
|
# current model.
|
|
#>
|
function Add-Migration(
|
$Name,
|
[switch] $Force,
|
$ProjectName,
|
$StartUpProjectName,
|
$ConfigurationTypeName,
|
$ConnectionStringName,
|
$ConnectionString,
|
$ConnectionProviderName,
|
[switch] $IgnoreChanges,
|
$AppDomainBaseDirectory)
|
|
WarnIfOtherEFs 'Add-Migration'
|
throw $UpdatePowerShell
|
}
|
|
<#
|
.SYNOPSIS
|
Applies any pending migrations to the database.
|
|
.DESCRIPTION
|
Updates the database to the current model by applying pending migrations.
|
|
.PARAMETER SourceMigration
|
Only valid with -Script. Specifies the name of a particular migration to use
|
as the update's starting point. If omitted, the last applied migration in
|
the database will be used.
|
|
.PARAMETER TargetMigration
|
Specifies the name of a particular migration to update the database to. If
|
omitted, the current model will be used.
|
|
.PARAMETER Script
|
Generate a SQL script rather than executing the pending changes directly.
|
|
.PARAMETER Force
|
Specifies that data loss is acceptable during automatic migration of the
|
database.
|
|
.PARAMETER ProjectName
|
Specifies the project that contains the migration configuration type to be
|
used. If omitted, the default project selected in package manager console
|
is used.
|
|
.PARAMETER StartUpProjectName
|
Specifies the configuration file to use for named connection strings. If
|
omitted, the specified project's configuration file is used.
|
|
.PARAMETER ConfigurationTypeName
|
Specifies the migrations configuration to use. If omitted, migrations will
|
attempt to locate a single migrations configuration type in the target
|
project.
|
|
.PARAMETER ConnectionStringName
|
Specifies the name of a connection string to use from the application's
|
configuration file.
|
|
.PARAMETER ConnectionString
|
Specifies the connection string to use. If omitted, the context's
|
default connection will be used.
|
|
.PARAMETER ConnectionProviderName
|
Specifies the provider invariant name of the connection string.
|
|
.PARAMETER AppDomainBaseDirectory
|
Specifies the directory to use for the app-domain that is used for running Migrations
|
code such that the app-domain is able to find all required assemblies. This is an
|
advanced option that should only be needed if the solution contains several projects
|
such that the assemblies needed for the context and configuration are not all
|
referenced from either the project containing the context or the project containing
|
the migrations.
|
|
.EXAMPLE
|
Update-Database
|
# Update the database to the latest migration
|
|
.EXAMPLE
|
Update-Database -TargetMigration Second
|
# Update database to a migration named "Second"
|
# This will apply migrations if the target hasn't been applied or roll back migrations
|
# if it has
|
|
.EXAMPLE
|
Update-Database -Script
|
# Generate a script to update the database from its current state to the latest migration
|
|
.EXAMPLE
|
Update-Database -Script -SourceMigration Second -TargetMigration First
|
# Generate a script to migrate the database from a specified start migration
|
# named "Second" to a specified target migration named "First"
|
|
.EXAMPLE
|
Update-Database -Script -SourceMigration $InitialDatabase
|
# Generate a script that can upgrade a database currently at any version to the latest version.
|
# The generated script includes logic to check the __MigrationsHistory table and only apply changes
|
# that haven't been previously applied.
|
|
.EXAMPLE
|
Update-Database -TargetMigration $InitialDatabase
|
# Runs the Down method to roll-back any migrations that have been applied to the database
|
|
|
#>
|
function Update-Database(
|
$SourceMigration,
|
$TargetMigration,
|
[switch] $Script,
|
[switch] $Force,
|
$ProjectName,
|
$StartUpProjectName,
|
$ConfigurationTypeName,
|
$ConnectionStringName,
|
$ConnectionString,
|
$ConnectionProviderName,
|
$AppDomainBaseDirectory)
|
|
WarnIfOtherEFs 'Update-Database'
|
throw $UpdatePowerShell
|
}
|
|
<#
|
.SYNOPSIS
|
Displays the migrations that have been applied to the target database.
|
|
.DESCRIPTION
|
Displays the migrations that have been applied to the target database.
|
|
.PARAMETER ProjectName
|
Specifies the project that contains the migration configuration type to be
|
used. If omitted, the default project selected in package manager console
|
is used.
|
|
.PARAMETER StartUpProjectName
|
Specifies the configuration file to use for named connection strings. If
|
omitted, the specified project's configuration file is used.
|
|
.PARAMETER ConfigurationTypeName
|
Specifies the migrations configuration to use. If omitted, migrations will
|
attempt to locate a single migrations configuration type in the target
|
project.
|
|
.PARAMETER ConnectionStringName
|
Specifies the name of a connection string to use from the application's
|
configuration file.
|
|
.PARAMETER ConnectionString
|
Specifies the connection string to use. If omitted, the context's
|
default connection will be used.
|
|
.PARAMETER ConnectionProviderName
|
Specifies the provider invariant name of the connection string.
|
|
.PARAMETER AppDomainBaseDirectory
|
Specifies the directory to use for the app-domain that is used for running Migrations
|
code such that the app-domain is able to find all required assemblies. This is an
|
advanced option that should only be needed if the solution contains several projects
|
such that the assemblies needed for the context and configuration are not all
|
referenced from either the project containing the context or the project containing
|
the migrations.
|
#>
|
function Get-Migrations(
|
$ProjectName,
|
$StartUpProjectName,
|
$ConfigurationTypeName,
|
$ConnectionStringName,
|
$ConnectionString,
|
$ConnectionProviderName,
|
$AppDomainBaseDirectory)
|
|
WarnIfOtherEFs 'Get-Migrations'
|
throw $UpdatePowerShell
|
}
|
|
function GetConfigPath($project)
|
{
|
$solution = Get-VSService 'Microsoft.VisualStudio.Shell.Interop.SVsSolution' 'Microsoft.VisualStudio.Shell.Interop.IVsSolution'
|
|
$hierarchy = $null
|
$hr = $solution.GetProjectOfUniqueName($project.UniqueName, [ref] $hierarchy)
|
[Runtime.InteropServices.Marshal]::ThrowExceptionForHR($hr)
|
|
$aggregatableProject = Get-Interface $hierarchy 'Microsoft.VisualStudio.Shell.Interop.IVsAggregatableProject'
|
if (!$aggregatableProject)
|
{
|
$projectTypes = $project.Kind
|
}
|
else
|
{
|
$projectTypeGuids = $null
|
$hr = $aggregatableProject.GetAggregateProjectTypeGuids([ref] $projectTypeGuids)
|
[Runtime.InteropServices.Marshal]::ThrowExceptionForHR($hr)
|
|
$projectTypes = $projectTypeGuids.Split(';')
|
}
|
|
$configFileName = 'app.config'
|
foreach ($projectType in $projectTypes)
|
{
|
if ($projectType -in '{349C5851-65DF-11DA-9384-00065B846F21}', '{E24C65DC-7377-472B-9ABA-BC803B73C61A}')
|
{
|
$configFileName = 'web.config'
|
|
break
|
}
|
}
|
|
try
|
{
|
return $project.ProjectItems.Item($configFileName).Properties.Item('FullPath').Value
|
}
|
catch
|
{
|
return $null
|
}
|
}
|
|
function WarnIfOtherEFs($cmdlet)
|
{
|
if (Get-Module 'EntityFrameworkCore')
|
{
|
Write-Warning "Both Entity Framework 6 and Entity Framework Core are installed. The Entity Framework 6 tools are running. Use 'EntityFrameworkCore\$cmdlet' for Entity Framework Core."
|
}
|
if (Get-Module 'EntityFramework')
|
{
|
Write-Warning "A version of Entity Framework older than 6.3 is also installed. The newer tools are running. Use 'EntityFramework\$cmdlet' for the older version."
|
}
|
}
|
|
Export-ModuleMember 'Add-EFDefaultConnectionFactory', 'Add-EFProvider', 'Add-Migration', 'Enable-Migrations', 'Get-Migrations', 'Update-Database' -Variable 'InitialDatabase'
|
|
# SIG # Begin signature block
|
# MIIoKgYJKoZIhvcNAQcCoIIoGzCCKBcCAQExDzANBglghkgBZQMEAgEFADB5Bgor
|
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
|
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBCukGtqR95vOzB
|
# mTRxRgJFbcuurrr/NN2TQIASywaOO6CCDXYwggX0MIID3KADAgECAhMzAAADrzBA
|
# DkyjTQVBAAAAAAOvMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
|
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
|
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
|
# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwOTAwWhcNMjQxMTE0MTkwOTAwWjB0MQsw
|
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
|
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
|
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
|
# AQDOS8s1ra6f0YGtg0OhEaQa/t3Q+q1MEHhWJhqQVuO5amYXQpy8MDPNoJYk+FWA
|
# hePP5LxwcSge5aen+f5Q6WNPd6EDxGzotvVpNi5ve0H97S3F7C/axDfKxyNh21MG
|
# 0W8Sb0vxi/vorcLHOL9i+t2D6yvvDzLlEefUCbQV/zGCBjXGlYJcUj6RAzXyeNAN
|
# xSpKXAGd7Fh+ocGHPPphcD9LQTOJgG7Y7aYztHqBLJiQQ4eAgZNU4ac6+8LnEGAL
|
# go1ydC5BJEuJQjYKbNTy959HrKSu7LO3Ws0w8jw6pYdC1IMpdTkk2puTgY2PDNzB
|
# tLM4evG7FYer3WX+8t1UMYNTAgMBAAGjggFzMIIBbzAfBgNVHSUEGDAWBgorBgEE
|
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQURxxxNPIEPGSO8kqz+bgCAQWGXsEw
|
# RQYDVR0RBD4wPKQ6MDgxHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEW
|
# MBQGA1UEBRMNMjMwMDEyKzUwMTgyNjAfBgNVHSMEGDAWgBRIbmTlUAXTgqoXNzci
|
# tW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5j
|
# b20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3JsMGEG
|
# CCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3dy5taWNyb3NvZnQu
|
# Y29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3J0
|
# MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAISxFt/zR2frTFPB45Yd
|
# mhZpB2nNJoOoi+qlgcTlnO4QwlYN1w/vYwbDy/oFJolD5r6FMJd0RGcgEM8q9TgQ
|
# 2OC7gQEmhweVJ7yuKJlQBH7P7Pg5RiqgV3cSonJ+OM4kFHbP3gPLiyzssSQdRuPY
|
# 1mIWoGg9i7Y4ZC8ST7WhpSyc0pns2XsUe1XsIjaUcGu7zd7gg97eCUiLRdVklPmp
|
# XobH9CEAWakRUGNICYN2AgjhRTC4j3KJfqMkU04R6Toyh4/Toswm1uoDcGr5laYn
|
# TfcX3u5WnJqJLhuPe8Uj9kGAOcyo0O1mNwDa+LhFEzB6CB32+wfJMumfr6degvLT
|
# e8x55urQLeTjimBQgS49BSUkhFN7ois3cZyNpnrMca5AZaC7pLI72vuqSsSlLalG
|
# OcZmPHZGYJqZ0BacN274OZ80Q8B11iNokns9Od348bMb5Z4fihxaBWebl8kWEi2O
|
# PvQImOAeq3nt7UWJBzJYLAGEpfasaA3ZQgIcEXdD+uwo6ymMzDY6UamFOfYqYWXk
|
# ntxDGu7ngD2ugKUuccYKJJRiiz+LAUcj90BVcSHRLQop9N8zoALr/1sJuwPrVAtx
|
# HNEgSW+AKBqIxYWM4Ev32l6agSUAezLMbq5f3d8x9qzT031jMDT+sUAoCw0M5wVt
|
# CUQcqINPuYjbS1WgJyZIiEkBMIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkq
|
# hkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x
|
# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv
|
# bjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
|
# IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5WjB+MQswCQYDVQQG
|
# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
|
# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQg
|
# Q29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC
|
# CgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4BjgaBEm6f8MMHt03
|
# a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe0t+bU7IKLMOv2akr
|
# rnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpcoRb0Rrrg
|
# OGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v++MrWhAfTVYoonpy
|
# 4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLTswM9
|
# sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN91/w0FK/jJSHvMAh
|
# dCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8k
|
# A/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmhD+kjSbwYuER8ReTB
|
# w3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmn
|
# Eyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8HhhUSJxAlMxdSlQy90
|
# lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0w
|
# ggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXTgqoXNzcitW2o
|
# ynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD
|
# VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx0SOJNDBa
|
# BgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny
|
# bC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4GCCsG
|
# AQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5taWNyb3NvZnQuY29t
|
# L3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNV
|
# HSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcCARYzaHR0cDovL3d3
|
# dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsG
|
# AQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5AF8AcwB0AGEAdABl
|
# AG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKb
|
# C5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np22O/IjWll11l
|
# hJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6
|
# I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWluWpiW5IP0
|
# wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInWH8MyGOLwxS3OW560
|
# STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNABQam
|
# ASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMdYzaXht/a8/jyFqGa
|
# J+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ah
|
# XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA
|
# 9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33Vt
|
# Y5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr
|
# /Xmfwb1tbWrJUnMTDXpQzTGCGgowghoGAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw
|
# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN
|
# aWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNp
|
# Z25pbmcgUENBIDIwMTECEzMAAAOvMEAOTKNNBUEAAAAAA68wDQYJYIZIAWUDBAIB
|
# BQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO
|
# MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIBDqwSpkVRd34HAFhUI02JbL
|
# jpJvYPxaosKl7Ya85N83MEIGCisGAQQBgjcCAQwxNDAyoBSAEgBNAGkAYwByAG8A
|
# cwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEB
|
# BQAEggEAt7Dn8xRTMjSpPOsszdWs9J+Bk9s4icKkQR1g2gHTW0rgwd+jtTJgvzcz
|
# lu+1YrgYG56UZn//GjFvO9T3u9YEqCeeEHTxOviYrhMwhTIzCVK5W0blmyZ+abiS
|
# yXvGiAeQ0/PRgdfvip4B+oBpHDeXVn932GT6fSesTEfSMv1KASgQtmvJp3n1Kcmw
|
# siFUAf9vvwtUZu8mvRzRO9L9LEl1aEL//LjGvnyZUVKDQJCGJLZzbVLZig/QpxAa
|
# i/SgOVMO+ZTApHLA7XemtG+J7j0/Oa4appye23fqIgeQLIWtVnEdg0MTKpGs47KS
|
# Wk8VTers50gg+nlzwTKEKK0lKozaUaGCF5QwgheQBgorBgEEAYI3AwMBMYIXgDCC
|
# F3wGCSqGSIb3DQEHAqCCF20wghdpAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFSBgsq
|
# hkiG9w0BCRABBKCCAUEEggE9MIIBOQIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFl
|
# AwQCAQUABCCjOMLMmydsiAuDxHeRzkmbFkO3oNt9m6Y75vJO1D+7EQIGZkZOpEp9
|
# GBMyMDI0MDYxNjIyMTczMC45NzlaMASAAgH0oIHRpIHOMIHLMQswCQYDVQQGEwJV
|
# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE
|
# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSUwIwYDVQQLExxNaWNyb3NvZnQgQW1l
|
# cmljYSBPcGVyYXRpb25zMScwJQYDVQQLEx5uU2hpZWxkIFRTUyBFU046RTAwMi0w
|
# NUUwLUQ5NDcxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2Wg
|
# ghHqMIIHIDCCBQigAwIBAgITMwAAAe4F0wIwspqdpwABAAAB7jANBgkqhkiG9w0B
|
# AQsFADB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE
|
# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYD
|
# VQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDAeFw0yMzEyMDYxODQ1
|
# NDRaFw0yNTAzMDUxODQ1NDRaMIHLMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2Fz
|
# aGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENv
|
# cnBvcmF0aW9uMSUwIwYDVQQLExxNaWNyb3NvZnQgQW1lcmljYSBPcGVyYXRpb25z
|
# MScwJQYDVQQLEx5uU2hpZWxkIFRTUyBFU046RTAwMi0wNUUwLUQ5NDcxJTAjBgNV
|
# BAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2UwggIiMA0GCSqGSIb3DQEB
|
# AQUAA4ICDwAwggIKAoICAQC+8byl16KEia8xKS4vVL7REOOR7LzYCLXEtWgeqyOV
|
# lrzuEz+AoCa4tBGESjbHTXECeMOwP9TPeKaKalfTU5XSGjpJhpGx59fxMJoTYWPz
|
# zD0O2RAlyBmOBBmiLDXRDQJL1RtuAjvCiLulVQeiPI8V7+HhTR391TbC1beSxwXf
|
# dKJqY1onjDawqDJAmtwsA/gmqXgHwF9fZWcwKSuXiZBTbU5fcm3bhhlRNw5d04Ld
|
# 15ZWzVl/VDp/iRerGo2Is/0Wwn/a3eGOdHrvfwIbfk6lVqwbNQE11Oedn2uvRjKW
|
# EwerXL70OuDZ8vLzxry0yEdvQ8ky+Vfq8mfEXS907Y7rN/HYX6cCsC2soyXG3OwC
|
# tLA7o0/+kKJZuOrD5HUrSz3kfqgDlmWy67z8ZZPjkiDC1dYW1jN77t5iSl5Wp1HK
|
# Bp7JU8RiRI+vY2i1cb5X2REkw3WrNW/jbofXEs9t4bgd+yU8sgKn9MtVnQ65s6QG
|
# 72M/yaUZG2HMI31tm9mooH29vPBO9jDMOIu0LwzUTkIWflgd/vEWfTNcPWEQj7fs
|
# WuSoVuJ3uBqwNmRSpmQDzSfMaIzuys0pvV1jFWqtqwwCcaY/WXsb/axkxB/zCTdH
|
# SBUJ8Tm3i4PM9skiunXY+cSqH58jWkpHbbLA3Ofss7e+JbMjKmTdcjmSkb5oN8qU
|
# 1wIDAQABo4IBSTCCAUUwHQYDVR0OBBYEFBCIzT8a2dwgnr37xd+2v1/cdqYIMB8G
|
# A1UdIwQYMBaAFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMF8GA1UdHwRYMFYwVKBSoFCG
|
# Tmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29mdCUy
|
# MFRpbWUtU3RhbXAlMjBQQ0ElMjAyMDEwKDEpLmNybDBsBggrBgEFBQcBAQRgMF4w
|
# XAYIKwYBBQUHMAKGUGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY2Vy
|
# dHMvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3J0MAwG
|
# A1UdEwEB/wQCMAAwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwDgYDVR0PAQH/BAQD
|
# AgeAMA0GCSqGSIb3DQEBCwUAA4ICAQB3ZyAva2EKOWSVpBnYkzX8f8GZjaOs577F
|
# 9o14Anh9lKy6tS34wXoPXEyQp1v1iI7rJzZVG7rpUznay2n9csfn3p6y7kYkHqtS
|
# ugCGmTiiBkwhFfSByKPI08MklgvJvKTZb673yGfpFwPjQwZeI6EPj/OAtpYkT7IU
|
# XqMki1CRMJKgeY4wURCccIujdWRkoVv4J3q/87KE0qPQmAR9fqMNxjI3ZClVxA4w
|
# iM3tNVlRbF9SgpOnjVo3P/I5p8Jd41hNSVCx/8j3qM7aLSKtDzOEUNs+ZtjhznmZ
|
# gUd7/AWHDhwBHdL57TI9h7niZkfOZOXncYsKxG4gryTshU6G6sAYpbqdME/+/g1u
|
# er7VGIHUtLq3W0Anm8lAfS9PqthskZt54JF28CHdsFq/7XVBtFlxL/KgcQylJNni
|
# a+anixUG60yUDt3FMGSJI34xG9NHsz3BpqSWueGtJhQ5ZN0K8ju0vNVgF+Dv05si
|
# rPg0ftSKf9FVECp93o8ogF48jh8CT/B32lz1D6Truk4Ezcw7E1OhtOMf7DHgPMWf
|
# 6WOdYnf+HaSJx7ZTXCJsW5oOkM0sLitxBpSpGcj2YjnNznCpsEPZat0h+6d7ulRa
|
# WR5RHAUyFFQ9jRa7KWaNGdELTs+nHSlYjYeQpK5QSXjigdKlLQPBlX+9zOoGAJho
|
# Zfrpjq4nQDCCB3EwggVZoAMCAQICEzMAAAAVxedrngKbSZkAAAAAABUwDQYJKoZI
|
# hvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw
|
# DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x
|
# MjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAy
|
# MDEwMB4XDTIxMDkzMDE4MjIyNVoXDTMwMDkzMDE4MzIyNVowfDELMAkGA1UEBhMC
|
# VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV
|
# BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRp
|
# bWUtU3RhbXAgUENBIDIwMTAwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
|
# AQDk4aZM57RyIQt5osvXJHm9DtWC0/3unAcH0qlsTnXIyjVX9gF/bErg4r25Phdg
|
# M/9cT8dm95VTcVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjoYH1qUoNEt6aORmsHFPPF
|
# dvWGUNzBRMhxXFExN6AKOG6N7dcP2CZTfDlhAnrEqv1yaa8dq6z2Nr41JmTamDu6
|
# GnszrYBbfowQHJ1S/rboYiXcag/PXfT+jlPP1uyFVk3v3byNpOORj7I5LFGc6XBp
|
# Dco2LXCOMcg1KL3jtIckw+DJj361VI/c+gVVmG1oO5pGve2krnopN6zL64NF50Zu
|
# yjLVwIYwXE8s4mKyzbnijYjklqwBSru+cakXW2dg3viSkR4dPf0gz3N9QZpGdc3E
|
# XzTdEonW/aUgfX782Z5F37ZyL9t9X4C626p+Nuw2TPYrbqgSUei/BQOj0XOmTTd0
|
# lBw0gg/wEPK3Rxjtp+iZfD9M269ewvPV2HM9Q07BMzlMjgK8QmguEOqEUUbi0b1q
|
# GFphAXPKZ6Je1yh2AuIzGHLXpyDwwvoSCtdjbwzJNmSLW6CmgyFdXzB0kZSU2LlQ
|
# +QuJYfM2BjUYhEfb3BvR/bLUHMVr9lxSUV0S2yW6r1AFemzFER1y7435UsSFF5PA
|
# PBXbGjfHCBUYP3irRbb1Hode2o+eFnJpxq57t7c+auIurQIDAQABo4IB3TCCAdkw
|
# EgYJKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUKqdS/mTEmr6CkTxG
|
# NSnPEP8vBO4wHQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMFwGA1UdIARV
|
# MFMwUQYMKwYBBAGCN0yDfQEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93d3cubWlj
|
# cm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTATBgNVHSUEDDAK
|
# BggrBgEFBQcDCDAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMC
|
# AYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo0T2UkFvX
|
# zpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20v
|
# cGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcmwwWgYI
|
# KwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jvc29mdC5j
|
# b20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNydDANBgkqhkiG
|
# 9w0BAQsFAAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL/Klv6lwUtj5OR2R4sQaTlz0x
|
# M7U518JxNj/aZGx80HU5bbsPMeTCj/ts0aGUGCLu6WZnOlNN3Zi6th542DYunKmC
|
# VgADsAW+iehp4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1bSNU5HhTdSRXud2f8449
|
# xvNo32X2pFaq95W2KFUn0CS9QKC/GbYSEhFdPSfgQJY4rPf5KYnDvBewVIVCs/wM
|
# nosZiefwC2qBwoEZQhlSdYo2wh3DYXMuLGt7bj8sCXgU6ZGyqVvfSaN0DLzskYDS
|
# PeZKPmY7T7uG+jIa2Zb0j/aRAfbOxnT99kxybxCrdTDFNLB62FD+CljdQDzHVG2d
|
# Y3RILLFORy3BFARxv2T5JL5zbcqOCb2zAVdJVGTZc9d/HltEAY5aGZFrDZ+kKNxn
|
# GSgkujhLmm77IVRrakURR6nxt67I6IleT53S0Ex2tVdUCbFpAUR+fKFhbHP+Crvs
|
# QWY9af3LwUFJfn6Tvsv4O+S3Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7ntdAoGokL
|
# jzbaukz5m/8K6TT4JDVnK+ANuOaMmdbhIurwJ0I9JZTmdHRbatGePu1+oDEzfbzL
|
# 6Xu/OHBE0ZDxyKs6ijoIYn/ZcGNTTY3ugm2lBRDBcQZqELQdVTNYs6FwZvKhggNN
|
# MIICNQIBATCB+aGB0aSBzjCByzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp
|
# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw
|
# b3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFtZXJpY2EgT3BlcmF0aW9uczEn
|
# MCUGA1UECxMeblNoaWVsZCBUU1MgRVNOOkUwMDItMDVFMC1EOTQ3MSUwIwYDVQQD
|
# ExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNloiMKAQEwBwYFKw4DAhoDFQCI
|
# o6bVNvflFxbUWCDQ3YYKy6O+k6CBgzCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYD
|
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
|
# b3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1w
|
# IFBDQSAyMDEwMA0GCSqGSIb3DQEBCwUAAgUA6hmpSTAiGA8yMDI0MDYxNjE4MTEy
|
# MVoYDzIwMjQwNjE3MTgxMTIxWjB0MDoGCisGAQQBhFkKBAExLDAqMAoCBQDqGalJ
|
# AgEAMAcCAQACAhPqMAcCAQACAhRgMAoCBQDqGvrJAgEAMDYGCisGAQQBhFkKBAIx
|
# KDAmMAwGCisGAQQBhFkKAwKgCjAIAgEAAgMHoSChCjAIAgEAAgMBhqAwDQYJKoZI
|
# hvcNAQELBQADggEBAI2eN20ZrGhUINZu4ruVypy6LdHyLnXRTA84KNoAIWxJjRr0
|
# Wclvm5YmoD5oSvQa2cLcFvh1oOPNsS89IiOW/XN6lfvjY1BGdXg2emRJ4IIi5eqB
|
# 6SE3byTCYAc7Q2qbT7TcM/7U8uvoSDDyY1UGQpk744Ad2/44oTNp6ZTfwc4ylY1f
|
# 5rkZVML+GlL5cQMpFIYmK/p7ffKD5ecn0w2UR7KImuz6BGNxiXppRxvmpTcQD2bZ
|
# D7B6S3YNOWQTwbfUS1/+ziMlASdnTrPNUMMxMORz+/XqTcJIKelJC007yccWIlVk
|
# rt33bqv0m+/TnLaUd5fz0Wet0KgFmqQmh12ksywxggQNMIIECQIBATCBkzB8MQsw
|
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
|
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNy
|
# b3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAe4F0wIwspqdpwABAAAB7jAN
|
# BglghkgBZQMEAgEFAKCCAUowGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMC8G
|
# CSqGSIb3DQEJBDEiBCAbJsIKA2VsHjj1qQafIgCnff4OvYizdicI838MHEkevTCB
|
# +gYLKoZIhvcNAQkQAi8xgeowgecwgeQwgb0EIE9QdxSVhfq+Vdf+DPs+5EIkBz9o
|
# CS/OQflHkVRhfjAhMIGYMIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh
|
# c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD
|
# b3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIw
|
# MTACEzMAAAHuBdMCMLKanacAAQAAAe4wIgQgDGqS9HvPvCyC9J26Qt/9Ps+t/2Nh
|
# eDFCjQ3FwHNIBAkwDQYJKoZIhvcNAQELBQAEggIAVxvbwffCdbxJURh1DBGIi59o
|
# SsomJfT64N8Ufc0yPDP79tlvwrrJ1NTFFH+figdg7utO32gACE0P97hnzqPlctMK
|
# 67YwPb9S1BmNBsS/v6uZ4e3Dw7C5L9xSqmQAv0i1zwLqqv6wTOxIv4zsFlFknuga
|
# Lx1z9AOOOQreeJ7tKFAFZi8DG6bQy5kv+oArfBkd2JaSK9fCMJ9aKVWbbOgfzQfU
|
# 6frsp/YiDduuCnuzbGarehfZ1sOpHMQttnXw7OII5N4PTfhY3/kj2m3PsUwXXBzF
|
# 4hacRWBC/xU+Sac9/Ok7e9e5JUMIzRKnNwtrWZfeqT2hB9RqtTC23yceqc2CcfJr
|
# n0Us4cZWW6gm3WsDjl8tslc+NkCDXBvnWDLw9q8H7iUXQZWx5RRWvGt/iA/KDniy
|
# ADkQKcJb4o81OY2OFj3LdNOQUmgZKHKkZd7pUgUwGIjTtWEw9UQPPvyG6WoJOa4Q
|
# +YBdm5741AdLFLoT8v6KgyrqaFqFdIaAF1e4yVG8hhJnbB/nR8zLUbs8Jv/1UEB3
|
# T3OI5jV6Ayk2EoPJ83Q9Rx+Jijna41puifiXR2sTqU3ZJQpA+6+iz8rEg5uviXw0
|
# POO9QjVPL1ZZu4VJd2+4iGMEr694lOHgDTIABZDpk2e5Bkdc+gvOGWbj0KQtx/Kt
|
# 1VWrjIlcMO8P6GpUfa4=
|
# SIG # End signature block
|