summaryrefslogtreecommitdiff
path: root/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools')
-rw-r--r--Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/EntityFrameworkCore.PowerShell2.psd1284
-rw-r--r--Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/EntityFrameworkCore.PowerShell2.psm1253
-rw-r--r--Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/EntityFrameworkCore.psd1284
-rw-r--r--Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/EntityFrameworkCore.psm11307
-rw-r--r--Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/about_EntityFrameworkCore.help.txt44
-rw-r--r--Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/init.ps1220
-rw-r--r--Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/install.ps1201
-rw-r--r--Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/net461/ef.exebin0 -> 79344 bytes
-rw-r--r--Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/net461/ef.exe.config219
-rw-r--r--Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/net461/ef.x86.exebin0 -> 79344 bytes
-rw-r--r--Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/net461/ef.x86.exe.config219
-rw-r--r--Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/netcoreapp2.0/ef.dllbin0 -> 77808 bytes
-rw-r--r--Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/netcoreapp2.0/ef.runtimeconfig.json9
13 files changed, 3040 insertions, 0 deletions
diff --git a/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/EntityFrameworkCore.PowerShell2.psd1 b/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/EntityFrameworkCore.PowerShell2.psd1
new file mode 100644
index 0000000000..9f0baf2e17
--- /dev/null
+++ b/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/EntityFrameworkCore.PowerShell2.psd1
@@ -0,0 +1,284 @@
+@{
+ # Script module or binary module file associated with this manifest
+ ModuleToProcess = 'EntityFrameworkCore.PowerShell2.psm1'
+
+ # Version number of this module.
+ ModuleVersion = '1.1.0'
+
+ # ID used to uniquely identify this module
+ GUID = '2de7c7fd-c848-41d7-8634-37fed4d3bb36'
+
+ # Author of this module
+ Author = 'Entity Framework Team'
+
+ # Company or vendor of this module
+ CompanyName = 'Microsoft Corporation'
+
+ # Copyright statement for this module
+ Copyright = '(c) .NET Foundation. All rights reserved.'
+
+ # Description of the functionality provided by this module
+ Description = 'Entity Framework Core Package Manager Console Tools'
+
+ # Minimum version of the Windows PowerShell engine required by this module
+ PowerShellVersion = '1.0'
+
+ # Name of the Windows PowerShell host required by this module
+ PowerShellHostName = 'Package Manager Host'
+
+ # Minimum version of the Windows PowerShell host required by this module
+ PowerShellHostVersion = '1.2'
+
+ # Minimum version of the .NET Framework required by this module
+ DotNetFrameworkVersion = '4.0'
+
+ # Minimum version of the common language runtime (CLR) required by this module
+ CLRVersion = ''
+
+ # Processor architecture (None, X86, Amd64, IA64) required by this module
+ ProcessorArchitecture = ''
+
+ # Modules that must be imported into the global environment prior to importing this module
+ RequiredModules = 'NuGet'
+
+ # Assemblies that must be loaded prior to importing this module
+ RequiredAssemblies = @()
+
+ # Script files (.ps1) that are run in the caller's environment prior to importing this module
+ ScriptsToProcess = @()
+
+ # Type files (.ps1xml) to be loaded when importing this module
+ TypesToProcess = @()
+
+ # Format files (.ps1xml) to be loaded when importing this module
+ FormatsToProcess = @()
+
+ # Modules to import as nested modules of the module specified in ModuleToProcess
+ NestedModules = @()
+
+ # Functions to export from this module
+ FunctionsToExport = (
+ 'Add-Migration',
+ 'Drop-Database',
+ 'Enable-Migrations',
+ 'Get-DbContext',
+ 'Remove-Migration',
+ 'Scaffold-DbContext',
+ 'Script-Migration',
+ 'Update-Database'
+ )
+
+ # Cmdlets to export from this module
+ CmdletsToExport = @()
+
+ # Variables to export from this module
+ VariablesToExport = @()
+
+ # Aliases to export from this module
+ AliasesToExport = @()
+
+ # List of all modules packaged with this module
+ ModuleList = @()
+
+ # List of all files packaged with this module
+ FileList = @()
+
+ # Private data to pass to the module specified in ModuleToProcess
+ PrivateData = ''
+}
+
+# SIG # Begin signature block
+# MIIkAQYJKoZIhvcNAQcCoIIj8jCCI+4CAQExDzANBglghkgBZQMEAgEFADB5Bgor
+# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
+# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCB2n/Ch8BdX4OPP
+# J3eVIR68SXnsice23FB/bxXABBhJrqCCDYIwggYAMIID6KADAgECAhMzAAAAww6b
+# p9iy3PcsAAAAAADDMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
+# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
+# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
+# bmcgUENBIDIwMTEwHhcNMTcwODExMjAyMDI0WhcNMTgwODExMjAyMDI0WjB0MQsw
+# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
+# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
+# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
+# AQC7V9c40bEGf0ktqW2zY596urY6IVu0mK6N1KSBoMV1xSzvgkAqt4FTd/NjAQq8
+# zjeEA0BDV4JLzu0ftv2AbcnCkV0Fx9xWWQDhDOtX3v3xuJAnv3VK/HWycli2xUib
+# M2IF0ZWUpb85Iq2NEk1GYtoyGc6qIlxWSLFvRclndmJdMIijLyjFH1Aq2YbbGhEl
+# gcL09Wcu53kd9eIcdfROzMf8578LgEcp/8/NabEMC2DrZ+aEG5tN/W1HOsfZwWFh
+# 8pUSoQ0HrmMh2PSZHP94VYHupXnoIIJfCtq1UxlUAVcNh5GNwnzxVIaA4WLbgnM+
+# Jl7wQBLSOdUmAw2FiDFfCguLAgMBAAGjggF/MIIBezAfBgNVHSUEGDAWBgorBgEE
+# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUpxNdHyGJVegD7p4XNuryVIg1Ga8w
+# UQYDVR0RBEowSKRGMEQxDDAKBgNVBAsTA0FPQzE0MDIGA1UEBRMrMjMwMDEyK2M4
+# MDRiNWVhLTQ5YjQtNDIzOC04MzYyLWQ4NTFmYTIyNTRmYzAfBgNVHSMEGDAWgBRI
+# bmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3
+# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEt
+# MDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3
+# dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIw
+# MTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAE2X
+# TzR+8XCTnOPVGkucEX5rJsSlJPTfRNQkurNqCImZmssx53Cb/xQdsAc5f+QwOxMi
+# 3g7IlWe7bn74fJWkkII3k6aD00kCwaytWe+Rt6dmAA6iTCXU3OddBwLKKDRlOzmD
+# rZUqjsqg6Ag6HP4+e0BJlE2OVCUK5bHHCu5xN8abXjb1p0JE+7yHsA3ANdkmh1//
+# Z+8odPeKMAQRimfMSzVgaiHnw40Hg16bq51xHykmCRHU9YLT0jYHKa7okm2QfwDJ
+# qFvu0ARl+6EOV1PM8piJ858Vk8gGxGNSYQJPV0gc9ft1Esq1+fTCaV+7oZ0NaYMn
+# 64M+HWsxw+4O8cSEQ4fuMZwGADJ8tyCKuQgj6lawGNSyvRXsN+1k02sVAiPGijOH
+# OtGbtsCWWSygAVOEAV/ye8F6sOzU2FL2X3WBRFkWOCdTu1DzXnHf99dR3DHVGmM1
+# Kpd+n2Y3X89VM++yyrwsI6pEHu77Z0i06ELDD4pRWKJGAmEmWhm/XJTpqEBw51sw
+# THyA1FBnoqXuDus9tfHleR7h9VgZb7uJbXjiIFgl/+RIs+av8bJABBdGUNQMbJEU
+# fe7K4vYm3hs7BGdRLg+kF/dC/z+RiTH4p7yz5TpS3Cozf0pkkWXYZRG222q3tGxS
+# /L+LcRbELM5zmqDpXQjBRUWlKYbsATFtXnTGVjELMIIHejCCBWKgAwIBAgIKYQ6Q
+# 0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT
+# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
+# dCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNh
+# dGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5
+# WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
+# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQD
+# Ex9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0B
+# AQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4
+# BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe
+# 0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato
+# 88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v
+# ++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDst
+# rjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN
+# 91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4ji
+# JV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmh
+# D+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbi
+# wZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8Hh
+# hUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaI
+# jAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTl
+# UAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV
+# HQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQF
+# TuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29m
+# dC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNf
+# MjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5t
+# aWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNf
+# MjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcC
+# ARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnlj
+# cHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5
+# AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oal
+# mOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0ep
+# o/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1
+# HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtY
+# SWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInW
+# H8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZ
+# iWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMd
+# YzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7f
+# QccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKf
+# enoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOpp
+# O6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZO
+# SEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCFdUwghXRAgEBMIGVMH4xCzAJ
+# BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k
+# MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jv
+# c29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAADDDpun2LLc9ywAAAAAAMMw
+# DQYJYIZIAWUDBAIBBQCggcQwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYK
+# KwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEINiii3vK
+# qSz7kfwiOmT6J+hOcaAEiX0kCshUfHbcj6dWMFgGCisGAQQBgjcCAQwxSjBIoC6A
+# LABNAGkAYwByAG8AcwBvAGYAdAAgAEEAUwBQAC4ATgBFAFQAIABDAG8AcgBloRaA
+# FGh0dHBzOi8vd3d3LmFzcC5uZXQvMA0GCSqGSIb3DQEBAQUABIIBAKX3BI6+cfhi
+# HY7UKVyZfmdCGyxJVtkme3JFvCS02GAvDDi+Tu604+XUUHpN1ggkIDo7QO74Ag8B
+# Ga/ZR/p6jtt0ke31NbNPDjZgQf39U96s6DZuJHfN3NQiTocoCFJ+A4jcVouYxY/q
+# bdGM9BNv9axIEPPYmvM3m1CNs71O2vqxLx1VNFRa1DXYzvIm0gXzkr6iFUIy7s/6
+# Nz73wjYGiRRa4JTeUK69gXy/tANdcnO9fQUJrZA6UygxIwwuVJst7sLI1XViqlg4
+# +bvGWZp+j3LIFF43ZybqHqaii2YytTYTiXA/6RvmOvhzXXHTUQE0sZ4hDXM5Yqti
+# unCnHt/wmmWhghNJMIITRQYKKwYBBAGCNwMDATGCEzUwghMxBgkqhkiG9w0BBwKg
+# ghMiMIITHgIBAzEPMA0GCWCGSAFlAwQCAQUAMIIBPAYLKoZIhvcNAQkQAQSgggEr
+# BIIBJzCCASMCAQEGCisGAQQBhFkKAwEwMTANBglghkgBZQMEAgEFAAQgAiapI342
+# Vg9GVW4a4SkJQ6DVU1RD5Mp6kMfc6iB6WKQCBlnfrMbHAxgTMjAxNzEwMzAyMzU0
+# MTYuMTM3WjAHAgEBgAIB9KCBuKSBtTCBsjELMAkGA1UEBhMCVVMxEzARBgNVBAgT
+# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
+# dCBDb3Jwb3JhdGlvbjEMMAoGA1UECxMDQU9DMScwJQYDVQQLEx5uQ2lwaGVyIERT
+# RSBFU046MjEzNy0zN0EwLTRBQUExJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0
+# YW1wIFNlcnZpY2Wggg7NMIIGcTCCBFmgAwIBAgIKYQmBKgAAAAAAAjANBgkqhkiG
+# 9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
+# BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEy
+# MDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIw
+# MTAwHhcNMTAwNzAxMjEzNjU1WhcNMjUwNzAxMjE0NjU1WjB8MQswCQYDVQQGEwJV
+# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE
+# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGlt
+# ZS1TdGFtcCBQQ0EgMjAxMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
+# AKkdDbx3EYo6IOz8E5f1+n9plGt0VBDVpQoAgoX77XxoSyxfxcPlYcJ2tz5mK1vw
+# FVMnBDEfQRsalR3OCROOfGEwWbEwRA/xYIiEVEMM1024OAizQt2TrNZzMFcmgqNF
+# DdDq9UeBzb8kYDJYYEbyWEeGMoQedGFnkV+BVLHPk0ySwcSmXdFhE24oxhr5hoC7
+# 32H8RsEnHSRnEnIaIYqvS2SJUGKxXf13Hz3wV3WsvYpCTUBR0Q+cBj5nf/VmwAOW
+# RH7v0Ev9buWayrGo8noqCjHw2k4GkbaICDXoeByw6ZnNPOcvRLqn9NxkvaQBwSAJ
+# k3jN/LzAyURdXhacAQVPIk0CAwEAAaOCAeYwggHiMBAGCSsGAQQBgjcVAQQDAgEA
+# MB0GA1UdDgQWBBTVYzpcijGQ80N7fEYbxTNoWoVtVTAZBgkrBgEEAYI3FAIEDB4K
+# AFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSME
+# GDAWgBTV9lbLj+iiXGJo0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRw
+# Oi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJB
+# dXRfMjAxMC0wNi0yMy5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5o
+# dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8y
+# MDEwLTA2LTIzLmNydDCBoAYDVR0gAQH/BIGVMIGSMIGPBgkrBgEEAYI3LgMwgYEw
+# PQYIKwYBBQUHAgEWMWh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9QS0kvZG9jcy9D
+# UFMvZGVmYXVsdC5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AUABv
+# AGwAaQBjAHkAXwBTAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQAD
+# ggIBAAfmiFEN4sbgmD+BcQM9naOhIW+z66bM9TG+zwXiqf76V20ZMLPCxWbJat/1
+# 5/B4vceoniXj+bzta1RXCCtRgkQS+7lTjMz0YBKKdsxAQEGb3FwX/1z5Xhc1mCRW
+# S3TvQhDIr79/xn/yN31aPxzymXlKkVIArzgPF/UveYFl2am1a+THzvbKegBvSzBE
+# JCI8z+0DpZaPWSm8tv0E4XCfMkon/VWvL/625Y4zu2JfmttXQOnxzplmkIz/amJ/
+# 3cVKC5Em4jnsGUpxY517IW3DnKOiPPp/fZZqkHimbdLhnPkd/DjYlPTGpQqWhqS9
+# nhquBEKDuLWAmyI4ILUl5WTs9/S/fmNZJQ96LjlXdqJxqgaKD4kWumGnEcua2A5H
+# moDF0M2n0O99g/DhO3EJ3110mCIIYdqwUB5vvfHhAN/nMQekkzr3ZUd46PioSKv3
+# 3nJ+YWtvd6mBy6cJrDm77MbL2IK0cs0d9LiFAR6A+xuJKlQ5slvayA1VmXqHczsI
+# 5pgt6o3gMy4SKfXAL1QnIffIrE7aKLixqduWsqdCosnPGUFN4Ib5KpqjEWYw07t0
+# MkvfY3v1mYovG8chr1m1rtxEPJdQcdeh0sVV42neV8HR3jDA/czmTfsNv11P6Z0e
+# GTgvvM9YBS7vDaBQNdrvCScc1bN+NR4Iuto229Nfj950iEkSMIIE2TCCA8GgAwIB
+# AgITMwAAAK81j//TIkV2SwAAAAAArzANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQG
+# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
+# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQg
+# VGltZS1TdGFtcCBQQ0EgMjAxMDAeFw0xNjA5MDcxNzU2NTZaFw0xODA5MDcxNzU2
+# NTZaMIGyMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE
+# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMQwwCgYD
+# VQQLEwNBT0MxJzAlBgNVBAsTHm5DaXBoZXIgRFNFIEVTTjoyMTM3LTM3QTAtNEFB
+# QTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCCASIwDQYJ
+# KoZIhvcNAQEBBQADggEPADCCAQoCggEBAJPoQIYOGstx8AMNpo+k52ES0GHqkGqV
+# Vrq3oE1LKWTYUZo7XWeTrYjuQ9TdXdTvEnGfbT/16pcqyDq3VRHUpzO1dERNmE3h
+# eqXH3akszIgfCG8+8c+E5eFsD+fD7jmBiykzJ1n4T86lm40GA67e1ElTYuNZJ/Xo
+# Cky8xuAfV93Rm/9OB9BsYJiXga5hDpB55Asoy/m9EGs8wXMREF7i41L2P2F65EWv
+# dUGtSwy16TQaETdwoD/orCu0B5O+roPJ2eJ0kXBhsBV6RPSEkQ382yQzZgDMIIvu
+# wWg9cR+ffQvl0mgnhp5psqqzHEoXVPkHaf53b8c/xpzS8VJQq8eXOKMCAwEAAaOC
+# ARswggEXMB0GA1UdDgQWBBR9HlXGMYraYAsGZrAU2Wr8exL24TAfBgNVHSMEGDAW
+# gBTVYzpcijGQ80N7fEYbxTNoWoVtVTBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8v
+# Y3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNUaW1TdGFQQ0Ff
+# MjAxMC0wNy0wMS5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRw
+# Oi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1RpbVN0YVBDQV8yMDEw
+# LTA3LTAxLmNydDAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMIMA0G
+# CSqGSIb3DQEBCwUAA4IBAQBqyACGePsMQpwQ1vcorA+Eaov83VvqH1pARKkuE1+L
+# Gkl2aRIq5oTm+Oa60Y88LintSzUg4IG6+tWDFxWbdVOaPH9jkMugCGQv82HzSvCK
+# 8EVOiI08a5CNAOJrI0mseWcg52UzrvrkIsFCDXVlD9SdzR7jMN6sWoYawoWHRyTu
+# fDzicjg5GG48dY3mAdnHd3Cj2vpZuYlAWZG2xfK7hS2d1Rh/45Mbcn+xCa0QA67F
+# JSbnzaN+orW49UrVNBR8j/KCwzYI0jCINnXXCBlrYheR0wNCsnOM0RWodSms/4BF
+# C0Wx3XL2WTW5UgbO5oh//y2srNH84KPP/Bw5H9vQENPboYIDdzCCAl8CAQEwgeKh
+# gbikgbUwgbIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD
+# VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xDDAK
+# BgNVBAsTA0FPQzEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNOOjIxMzctMzdBMC00
+# QUFBMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNloiUKAQEw
+# CQYFKw4DAhoFAAMVANjqrBUtby6lLab9AgNQ4oAb/k4joIHBMIG+pIG7MIG4MQsw
+# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
+# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMQwwCgYDVQQLEwNBT0Mx
+# JzAlBgNVBAsTHm5DaXBoZXIgTlRTIEVTTjoyNjY1LTRDM0YtQzVERTErMCkGA1UE
+# AxMiTWljcm9zb2Z0IFRpbWUgU291cmNlIE1hc3RlciBDbG9jazANBgkqhkiG9w0B
+# AQUFAAIFAN2iFUQwIhgPMjAxNzEwMzAyMTE2NTJaGA8yMDE3MTAzMTIxMTY1Mlow
+# dzA9BgorBgEEAYRZCgQBMS8wLTAKAgUA3aIVRAIBADAKAgEAAgIW+wIB/zAHAgEA
+# AgIZSjAKAgUA3aNmxAIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMB
+# oAowCAIBAAIDFuNgoQowCAIBAAIDHoSAMA0GCSqGSIb3DQEBBQUAA4IBAQAV/QO4
+# PcmoYeb5QfZOjtsUopxrc2l4iXpVzTTXHqXIKNfCtukRbZRly7dh/Ik4bAfz2Dim
+# oqIxB5clzciXMX0kiAMKfmwDEPO+UFqjLqGY3Aowl7eSdKiv9hwBmVTBirDjjEXW
+# X6BfKneYXc7NV/zzbPW7DEnDTqm3o++gMY78xCcTUuB81k4UxTtJlEbH7iYMIkdZ
+# W/bAAN4ySDVry4QJAa9e9uqCpwSu+iV6tkGkgaDEcXaBvhrptTUTan61jTWJm/V0
+# A9wTVMka1cfX195BCr3mlvlsI6xUO+xpNq7SRq/3EwOAvRSBiyQwZ5hyNivbDVI/
+# 6aFELkUDfP/C4FjFMYIC9TCCAvECAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNV
+# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv
+# c29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg
+# UENBIDIwMTACEzMAAACvNY//0yJFdksAAAAAAK8wDQYJYIZIAWUDBAIBBQCgggEy
+# MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQg31+d
+# RuTMGfHKWPFkOpfyrqGjPVwf9LZLopWnNLCbO6EwgeIGCyqGSIb3DQEJEAIMMYHS
+# MIHPMIHMMIGxBBTY6qwVLW8upS2m/QIDUOKAG/5OIzCBmDCBgKR+MHwxCzAJBgNV
+# BAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w
+# HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29m
+# dCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAArzWP/9MiRXZLAAAAAACvMBYEFCET
+# MP8YKxrerqOCo9Bvkctwm6GWMA0GCSqGSIb3DQEBCwUABIIBAJFvPQDQ05pSiQpe
+# CH5GiSHTcnDyVH5JsAs6WTdy8MH/dJJHAkNtWiwWVQbWdz6rujp5XMoTfd3ZCq9E
+# WMYriznk5Ryi9TpXkgVswpYs/1fz/3W6s4swC4I+S/JfC/c/qkhRqi2UN+MAwIl3
+# 6o6iNW8ihpD+91E2eZUQtqSiRxIQ5GC6MRANsYz0MHD0zoIxQ5TcADwf+D2f+Bh5
+# 0Ohe1SU6Fb2I/RRbuMLUs0xgkEQy6Z/SanRDuDnWOE2mhRvkuwOUWzJqsjsGd6mJ
+# IC+tKBakhDNsNgMr9U2QxAzWD0uyUjZH7HnIPhr3ndQgP7EnPFjRdp8gknTCePXs
+# M/k0ARY=
+# SIG # End signature block
diff --git a/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/EntityFrameworkCore.PowerShell2.psm1 b/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/EntityFrameworkCore.PowerShell2.psm1
new file mode 100644
index 0000000000..758833626e
--- /dev/null
+++ b/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/EntityFrameworkCore.PowerShell2.psm1
@@ -0,0 +1,253 @@
+$ErrorActionPreference = 'Stop'
+
+$versionErrorMessage = 'The Entity Framework Core Package Manager Console Tools don''t support PowerShell version ' +
+ "$($PSVersionTable.PSVersion). Upgrade to PowerShell version 3.0 or higher, restart Visual Studio, and try again."
+
+function Add-Migration
+{
+ WarnIfEF6 'Add-Migration'
+
+ throw $versionErrorMessage
+}
+
+function Drop-Database
+{
+ throw $versionErrorMessage
+}
+
+function Enable-Migrations
+{
+ WarnIfEF6 'Enable-Migrations'
+
+ throw $versionErrorMessage
+}
+
+function Get-DbContext
+{
+ throw $versionErrorMessage
+}
+
+function Remove-Migration
+{
+ throw $versionErrorMessage
+}
+
+function Scaffold-DbContext
+{
+ throw $versionErrorMessage
+}
+
+function Script-Migration
+{
+ throw $versionErrorMessage
+}
+
+function Update-Database
+{
+ WarnIfEF6 'Update-Database'
+
+ throw $versionErrorMessage
+}
+
+function WarnIfEF6($cmdlet)
+{
+ if (Get-Module 'EntityFramework')
+ {
+ Write-Warning "Both Entity Framework Core and Entity Framework 6 are installed. The Entity Framework Core tools are running. Use 'EntityFramework\$cmdlet' for Entity Framework 6."
+ }
+}
+# SIG # Begin signature block
+# MIIkAQYJKoZIhvcNAQcCoIIj8jCCI+4CAQExDzANBglghkgBZQMEAgEFADB5Bgor
+# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
+# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBHV4F0J3DuBK28
+# aDneTzgQHtUUz06BgRf+AiZhMYud2qCCDYIwggYAMIID6KADAgECAhMzAAAAww6b
+# p9iy3PcsAAAAAADDMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
+# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
+# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
+# bmcgUENBIDIwMTEwHhcNMTcwODExMjAyMDI0WhcNMTgwODExMjAyMDI0WjB0MQsw
+# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
+# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
+# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
+# AQC7V9c40bEGf0ktqW2zY596urY6IVu0mK6N1KSBoMV1xSzvgkAqt4FTd/NjAQq8
+# zjeEA0BDV4JLzu0ftv2AbcnCkV0Fx9xWWQDhDOtX3v3xuJAnv3VK/HWycli2xUib
+# M2IF0ZWUpb85Iq2NEk1GYtoyGc6qIlxWSLFvRclndmJdMIijLyjFH1Aq2YbbGhEl
+# gcL09Wcu53kd9eIcdfROzMf8578LgEcp/8/NabEMC2DrZ+aEG5tN/W1HOsfZwWFh
+# 8pUSoQ0HrmMh2PSZHP94VYHupXnoIIJfCtq1UxlUAVcNh5GNwnzxVIaA4WLbgnM+
+# Jl7wQBLSOdUmAw2FiDFfCguLAgMBAAGjggF/MIIBezAfBgNVHSUEGDAWBgorBgEE
+# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUpxNdHyGJVegD7p4XNuryVIg1Ga8w
+# UQYDVR0RBEowSKRGMEQxDDAKBgNVBAsTA0FPQzE0MDIGA1UEBRMrMjMwMDEyK2M4
+# MDRiNWVhLTQ5YjQtNDIzOC04MzYyLWQ4NTFmYTIyNTRmYzAfBgNVHSMEGDAWgBRI
+# bmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3
+# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEt
+# MDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3
+# dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIw
+# MTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAE2X
+# TzR+8XCTnOPVGkucEX5rJsSlJPTfRNQkurNqCImZmssx53Cb/xQdsAc5f+QwOxMi
+# 3g7IlWe7bn74fJWkkII3k6aD00kCwaytWe+Rt6dmAA6iTCXU3OddBwLKKDRlOzmD
+# rZUqjsqg6Ag6HP4+e0BJlE2OVCUK5bHHCu5xN8abXjb1p0JE+7yHsA3ANdkmh1//
+# Z+8odPeKMAQRimfMSzVgaiHnw40Hg16bq51xHykmCRHU9YLT0jYHKa7okm2QfwDJ
+# qFvu0ARl+6EOV1PM8piJ858Vk8gGxGNSYQJPV0gc9ft1Esq1+fTCaV+7oZ0NaYMn
+# 64M+HWsxw+4O8cSEQ4fuMZwGADJ8tyCKuQgj6lawGNSyvRXsN+1k02sVAiPGijOH
+# OtGbtsCWWSygAVOEAV/ye8F6sOzU2FL2X3WBRFkWOCdTu1DzXnHf99dR3DHVGmM1
+# Kpd+n2Y3X89VM++yyrwsI6pEHu77Z0i06ELDD4pRWKJGAmEmWhm/XJTpqEBw51sw
+# THyA1FBnoqXuDus9tfHleR7h9VgZb7uJbXjiIFgl/+RIs+av8bJABBdGUNQMbJEU
+# fe7K4vYm3hs7BGdRLg+kF/dC/z+RiTH4p7yz5TpS3Cozf0pkkWXYZRG222q3tGxS
+# /L+LcRbELM5zmqDpXQjBRUWlKYbsATFtXnTGVjELMIIHejCCBWKgAwIBAgIKYQ6Q
+# 0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT
+# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
+# dCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNh
+# dGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5
+# WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
+# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQD
+# Ex9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0B
+# AQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4
+# BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe
+# 0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato
+# 88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v
+# ++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDst
+# rjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN
+# 91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4ji
+# JV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmh
+# D+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbi
+# wZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8Hh
+# hUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaI
+# jAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTl
+# UAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV
+# HQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQF
+# TuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29m
+# dC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNf
+# MjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5t
+# aWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNf
+# MjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcC
+# ARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnlj
+# cHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5
+# AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oal
+# mOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0ep
+# o/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1
+# HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtY
+# SWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInW
+# H8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZ
+# iWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMd
+# YzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7f
+# QccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKf
+# enoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOpp
+# O6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZO
+# SEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCFdUwghXRAgEBMIGVMH4xCzAJ
+# BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k
+# MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jv
+# c29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAADDDpun2LLc9ywAAAAAAMMw
+# DQYJYIZIAWUDBAIBBQCggcQwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYK
+# KwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIKHiZ8J2
+# W2nxmS3jhb5Q1v/DxKRxpEwm6tL/UJjyYmxNMFgGCisGAQQBgjcCAQwxSjBIoC6A
+# LABNAGkAYwByAG8AcwBvAGYAdAAgAEEAUwBQAC4ATgBFAFQAIABDAG8AcgBloRaA
+# FGh0dHBzOi8vd3d3LmFzcC5uZXQvMA0GCSqGSIb3DQEBAQUABIIBAK5vMrgXfwuN
+# G5AgVFBr2EuVVJc5VT3+sCNf0t50a/4SgZ9EUxCLmK1LkbiPJyL4pGaTrXgZcPKG
+# ZL2JJWviLq+FKNNlPhVTeiyKAutf9jvsypT9R6jetoSdfSOyEDONSQQh8HmydDou
+# 2rupdGbVp8v3omqtHxPotdHppJnpdaOrbdQDradmSKrZb4XrWUvQYabEv6vNmnoi
+# k7She1UWpkO80eEZ0mGP9QKDIuu8H7Il2O9/qROqgBbCwQfprslEf6AC12KFWFg4
+# q1k7xGdc/4D3w+O2BLs0z1f3kb5nQvyh6DfSxRzABsstNLXdHHeSB7FLL7qIj8yF
+# N8Z6YA/ifJuhghNJMIITRQYKKwYBBAGCNwMDATGCEzUwghMxBgkqhkiG9w0BBwKg
+# ghMiMIITHgIBAzEPMA0GCWCGSAFlAwQCAQUAMIIBPAYLKoZIhvcNAQkQAQSgggEr
+# BIIBJzCCASMCAQEGCisGAQQBhFkKAwEwMTANBglghkgBZQMEAgEFAAQgsifH4NaN
+# D2UPWmHexj7y2BmZTMAsPRnvksQhR0AL3jMCBlna3uUApRgTMjAxNzEwMzAyMzU0
+# MTUuMDkxWjAHAgEBgAIB9KCBuKSBtTCBsjELMAkGA1UEBhMCVVMxEzARBgNVBAgT
+# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
+# dCBDb3Jwb3JhdGlvbjEMMAoGA1UECxMDQU9DMScwJQYDVQQLEx5uQ2lwaGVyIERT
+# RSBFU046RDIzNi0zN0RBLTk3NjExJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0
+# YW1wIFNlcnZpY2Wggg7NMIIGcTCCBFmgAwIBAgIKYQmBKgAAAAAAAjANBgkqhkiG
+# 9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
+# BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEy
+# MDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIw
+# MTAwHhcNMTAwNzAxMjEzNjU1WhcNMjUwNzAxMjE0NjU1WjB8MQswCQYDVQQGEwJV
+# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE
+# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGlt
+# ZS1TdGFtcCBQQ0EgMjAxMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
+# AKkdDbx3EYo6IOz8E5f1+n9plGt0VBDVpQoAgoX77XxoSyxfxcPlYcJ2tz5mK1vw
+# FVMnBDEfQRsalR3OCROOfGEwWbEwRA/xYIiEVEMM1024OAizQt2TrNZzMFcmgqNF
+# DdDq9UeBzb8kYDJYYEbyWEeGMoQedGFnkV+BVLHPk0ySwcSmXdFhE24oxhr5hoC7
+# 32H8RsEnHSRnEnIaIYqvS2SJUGKxXf13Hz3wV3WsvYpCTUBR0Q+cBj5nf/VmwAOW
+# RH7v0Ev9buWayrGo8noqCjHw2k4GkbaICDXoeByw6ZnNPOcvRLqn9NxkvaQBwSAJ
+# k3jN/LzAyURdXhacAQVPIk0CAwEAAaOCAeYwggHiMBAGCSsGAQQBgjcVAQQDAgEA
+# MB0GA1UdDgQWBBTVYzpcijGQ80N7fEYbxTNoWoVtVTAZBgkrBgEEAYI3FAIEDB4K
+# AFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSME
+# GDAWgBTV9lbLj+iiXGJo0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRw
+# Oi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJB
+# dXRfMjAxMC0wNi0yMy5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5o
+# dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8y
+# MDEwLTA2LTIzLmNydDCBoAYDVR0gAQH/BIGVMIGSMIGPBgkrBgEEAYI3LgMwgYEw
+# PQYIKwYBBQUHAgEWMWh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9QS0kvZG9jcy9D
+# UFMvZGVmYXVsdC5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AUABv
+# AGwAaQBjAHkAXwBTAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQAD
+# ggIBAAfmiFEN4sbgmD+BcQM9naOhIW+z66bM9TG+zwXiqf76V20ZMLPCxWbJat/1
+# 5/B4vceoniXj+bzta1RXCCtRgkQS+7lTjMz0YBKKdsxAQEGb3FwX/1z5Xhc1mCRW
+# S3TvQhDIr79/xn/yN31aPxzymXlKkVIArzgPF/UveYFl2am1a+THzvbKegBvSzBE
+# JCI8z+0DpZaPWSm8tv0E4XCfMkon/VWvL/625Y4zu2JfmttXQOnxzplmkIz/amJ/
+# 3cVKC5Em4jnsGUpxY517IW3DnKOiPPp/fZZqkHimbdLhnPkd/DjYlPTGpQqWhqS9
+# nhquBEKDuLWAmyI4ILUl5WTs9/S/fmNZJQ96LjlXdqJxqgaKD4kWumGnEcua2A5H
+# moDF0M2n0O99g/DhO3EJ3110mCIIYdqwUB5vvfHhAN/nMQekkzr3ZUd46PioSKv3
+# 3nJ+YWtvd6mBy6cJrDm77MbL2IK0cs0d9LiFAR6A+xuJKlQ5slvayA1VmXqHczsI
+# 5pgt6o3gMy4SKfXAL1QnIffIrE7aKLixqduWsqdCosnPGUFN4Ib5KpqjEWYw07t0
+# MkvfY3v1mYovG8chr1m1rtxEPJdQcdeh0sVV42neV8HR3jDA/czmTfsNv11P6Z0e
+# GTgvvM9YBS7vDaBQNdrvCScc1bN+NR4Iuto229Nfj950iEkSMIIE2TCCA8GgAwIB
+# AgITMwAAAK4O1k6WidsA9QAAAAAArjANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQG
+# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
+# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQg
+# VGltZS1TdGFtcCBQQ0EgMjAxMDAeFw0xNjA5MDcxNzU2NTVaFw0xODA5MDcxNzU2
+# NTVaMIGyMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE
+# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMQwwCgYD
+# VQQLEwNBT0MxJzAlBgNVBAsTHm5DaXBoZXIgRFNFIEVTTjpEMjM2LTM3REEtOTc2
+# MTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCCASIwDQYJ
+# KoZIhvcNAQEBBQADggEPADCCAQoCggEBAN6SL8OklXL1Pg1mZMP65ugiD3SMTcGe
+# x7ZUuPGPTn0f+0YwvnzLe57bxGdYki/6VIAGn6M+nxch/an/8MphvSj9BI4nyQZS
+# gVh6w1M+2rJ/+qiEtbWtwuKOIWgwsAEf8YOcNuBFkfFUXEdQb4o3B990LQFgLdV+
+# rf7a447xzNGWPXSBEdTYEryahLPndWjZnAXdMxnJWC8C+WDmxqs2BHABjBvBZbnA
+# Sql44MVfVUD+cB4uSOKsKaDzvkzVeITI+2tcMAUueDn/LkyUBxQxgnp0e5IEOost
+# eKmONhqRCikHcfX72zyLIOgEzTsmo/27nlU/lraf8hkU03Akd4JNK8sCAwEAAaOC
+# ARswggEXMB0GA1UdDgQWBBR+j+U0NESL8nlAuMag0ZxDHiElsTAfBgNVHSMEGDAW
+# gBTVYzpcijGQ80N7fEYbxTNoWoVtVTBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8v
+# Y3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNUaW1TdGFQQ0Ff
+# MjAxMC0wNy0wMS5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRw
+# Oi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1RpbVN0YVBDQV8yMDEw
+# LTA3LTAxLmNydDAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMIMA0G
+# CSqGSIb3DQEBCwUAA4IBAQA9WU148PRcNAjRtUFgA1MM+YymTeUiHqA8iKWDSEpC
+# lk0wAMtuaP6Rq/QZlzG1afCsGhH5+kGy5qjBaDDETEIcGjqaLHtEt4m83I1iUKTY
+# lBP8ZrzRJFXM4Avk3GWzU+q8NuAWCENxFOalky8AN+rB27lHoU3IiB5xg2jJvsDg
+# CoIt9XVbHc+s/Jpdtq2ySTmZPw2pYtguyEHO3YJrRuEkll/qpDCDqvaDPWkbXm57
+# qcOr+aNilOYIOFjPjpvyvGsifSxDGcVOa2e2/PZnWMIaz32fWuvZkWsZc4lLgGGf
+# W3IoQXAYmOt9DgZvanID1opHBTIr0EcspYLlksPSEBogoYIDdzCCAl8CAQEwgeKh
+# gbikgbUwgbIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD
+# VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xDDAK
+# BgNVBAsTA0FPQzEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNOOkQyMzYtMzdEQS05
+# NzYxMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNloiUKAQEw
+# CQYFKw4DAhoFAAMVAMfBvTB7pRieZF5ndDb6u+OZvGj7oIHBMIG+pIG7MIG4MQsw
+# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
+# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMQwwCgYDVQQLEwNBT0Mx
+# JzAlBgNVBAsTHm5DaXBoZXIgTlRTIEVTTjoyNjY1LTRDM0YtQzVERTErMCkGA1UE
+# AxMiTWljcm9zb2Z0IFRpbWUgU291cmNlIE1hc3RlciBDbG9jazANBgkqhkiG9w0B
+# AQUFAAIFAN2iGmIwIhgPMjAxNzEwMzAyMTM4NDJaGA8yMDE3MTAzMTIxMzg0Mlow
+# dzA9BgorBgEEAYRZCgQBMS8wLTAKAgUA3aIaYgIBADAKAgEAAgIWBwIB/zAHAgEA
+# AgIZDDAKAgUA3aNr4gIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMB
+# oAowCAIBAAIDFuNgoQowCAIBAAIDHoSAMA0GCSqGSIb3DQEBBQUAA4IBAQBc5LDb
+# eEysp13OJ+WWDIex6jF2cuqkrtcHwyK40WTfC5vSBbZegYUhyHYhBPTElsVcqzWw
+# IHGg1OZam2wIDH3up2RE/XjBskRmrnikV64yf/ag53vS99ccBuzfohzocXgYsptL
+# ivDNxkYPMkNmJUS8XfXxQphRUk1uZNFKCXHpi4OytqXNc6iIhF2c2DyJYEyeXdVK
+# 6AO5Iy4axg+VjKtjb1TPCfCTMaiC98iXndvrKGAJrWMzKb8drRaZNlHI5XVMsIxQ
+# q24Ii0xrJtXfm+tmYwSCOuc4Ud/r8OZ+5q3gcvNdWyFnzlc5kicuGfNOw9zX569P
+# 7DMXbC/IxgEvzF7vMYIC9TCCAvECAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNV
+# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv
+# c29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg
+# UENBIDIwMTACEzMAAACuDtZOlonbAPUAAAAAAK4wDQYJYIZIAWUDBAIBBQCgggEy
+# MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgxjrJ
+# qCYe6IyxrMK4G7kH7nTN7DypKaqwgGAUqtTaftUwgeIGCyqGSIb3DQEJEAIMMYHS
+# MIHPMIHMMIGxBBTHwb0we6UYnmReZ3Q2+rvjmbxo+zCBmDCBgKR+MHwxCzAJBgNV
+# BAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w
+# HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29m
+# dCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAArg7WTpaJ2wD1AAAAAACuMBYEFFt5
+# 3O/M3PYcMfwyvKfrBLPYpa8EMA0GCSqGSIb3DQEBCwUABIIBABYxAOUgABrbkxTB
+# SGQUt0h/3ivy2CuMFtioa225HlUMpmpsUaOEAmaJEBvjWgDa8ifJ9rntTxM29EOS
+# UqWz4dAZg2dqu9U/A9SXLKMwGY5g04Pwz4XbDHoO+Anhbq0dDBRpSR7m4OPP62eB
+# wOlWGXdqkFr5lu2L/gVhlWLteGQQ3xQ+FQTmRTohTCB2sOip/PJI6emEwXFwwdGb
+# he6s7U+uzxEEYngS3BrE7Ecbv20RlcnOCDJbtOnDqRoNq5Vr7wwpllyqm3Y03oQw
+# 3Wlh43wj9SXqwXGIfRbE0IhqnpKAokxG9L0yCwBI5gNNwDxCDxoeCZWjT8GxIDtU
+# kTKAP+A=
+# SIG # End signature block
diff --git a/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/EntityFrameworkCore.psd1 b/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/EntityFrameworkCore.psd1
new file mode 100644
index 0000000000..f546f2f024
--- /dev/null
+++ b/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/EntityFrameworkCore.psd1
@@ -0,0 +1,284 @@
+@{
+ # Script module or binary module file associated with this manifest
+ ModuleToProcess = 'EntityFrameworkCore.psm1'
+
+ # Version number of this module.
+ ModuleVersion = '2.0.1'
+
+ # ID used to uniquely identify this module
+ GUID = 'c126fb40-c0f1-43ae-8dd0-06bb50512eb2'
+
+ # Author of this module
+ Author = 'Entity Framework Team'
+
+ # Company or vendor of this module
+ CompanyName = 'Microsoft Corporation'
+
+ # Copyright statement for this module
+ Copyright = '(c) .NET Foundation. All rights reserved.'
+
+ # Description of the functionality provided by this module
+ Description = 'Entity Framework Core Package Manager Console Tools'
+
+ # Minimum version of the Windows PowerShell engine required by this module
+ PowerShellVersion = '3.0'
+
+ # Name of the Windows PowerShell host required by this module
+ PowerShellHostName = 'Package Manager Host'
+
+ # Minimum version of the Windows PowerShell host required by this module
+ PowerShellHostVersion = '1.2'
+
+ # Minimum version of the .NET Framework required by this module
+ DotNetFrameworkVersion = '4.0'
+
+ # Minimum version of the common language runtime (CLR) required by this module
+ CLRVersion = ''
+
+ # Processor architecture (None, X86, Amd64, IA64) required by this module
+ ProcessorArchitecture = ''
+
+ # Modules that must be imported into the global environment prior to importing this module
+ RequiredModules = 'NuGet'
+
+ # Assemblies that must be loaded prior to importing this module
+ RequiredAssemblies = @()
+
+ # Script files (.ps1) that are run in the caller's environment prior to importing this module
+ ScriptsToProcess = @()
+
+ # Type files (.ps1xml) to be loaded when importing this module
+ TypesToProcess = @()
+
+ # Format files (.ps1xml) to be loaded when importing this module
+ FormatsToProcess = @()
+
+ # Modules to import as nested modules of the module specified in ModuleToProcess
+ NestedModules = @()
+
+ # Functions to export from this module
+ FunctionsToExport = (
+ 'Add-Migration',
+ 'Drop-Database',
+ 'Enable-Migrations',
+ 'Get-DbContext',
+ 'Remove-Migration',
+ 'Scaffold-DbContext',
+ 'Script-Migration',
+ 'Update-Database'
+ )
+
+ # Cmdlets to export from this module
+ CmdletsToExport = @()
+
+ # Variables to export from this module
+ VariablesToExport = @()
+
+ # Aliases to export from this module
+ AliasesToExport = @()
+
+ # List of all modules packaged with this module
+ ModuleList = @()
+
+ # List of all files packaged with this module
+ FileList = @()
+
+ # Private data to pass to the module specified in ModuleToProcess
+ PrivateData = ''
+}
+
+# SIG # Begin signature block
+# MIIkAQYJKoZIhvcNAQcCoIIj8jCCI+4CAQExDzANBglghkgBZQMEAgEFADB5Bgor
+# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
+# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAXHC/+3XwGZNbb
+# 41627rlAo4koXGcfXcFJiPFe2qvXR6CCDYIwggYAMIID6KADAgECAhMzAAAAww6b
+# p9iy3PcsAAAAAADDMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
+# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
+# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
+# bmcgUENBIDIwMTEwHhcNMTcwODExMjAyMDI0WhcNMTgwODExMjAyMDI0WjB0MQsw
+# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
+# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
+# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
+# AQC7V9c40bEGf0ktqW2zY596urY6IVu0mK6N1KSBoMV1xSzvgkAqt4FTd/NjAQq8
+# zjeEA0BDV4JLzu0ftv2AbcnCkV0Fx9xWWQDhDOtX3v3xuJAnv3VK/HWycli2xUib
+# M2IF0ZWUpb85Iq2NEk1GYtoyGc6qIlxWSLFvRclndmJdMIijLyjFH1Aq2YbbGhEl
+# gcL09Wcu53kd9eIcdfROzMf8578LgEcp/8/NabEMC2DrZ+aEG5tN/W1HOsfZwWFh
+# 8pUSoQ0HrmMh2PSZHP94VYHupXnoIIJfCtq1UxlUAVcNh5GNwnzxVIaA4WLbgnM+
+# Jl7wQBLSOdUmAw2FiDFfCguLAgMBAAGjggF/MIIBezAfBgNVHSUEGDAWBgorBgEE
+# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUpxNdHyGJVegD7p4XNuryVIg1Ga8w
+# UQYDVR0RBEowSKRGMEQxDDAKBgNVBAsTA0FPQzE0MDIGA1UEBRMrMjMwMDEyK2M4
+# MDRiNWVhLTQ5YjQtNDIzOC04MzYyLWQ4NTFmYTIyNTRmYzAfBgNVHSMEGDAWgBRI
+# bmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3
+# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEt
+# MDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3
+# dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIw
+# MTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAE2X
+# TzR+8XCTnOPVGkucEX5rJsSlJPTfRNQkurNqCImZmssx53Cb/xQdsAc5f+QwOxMi
+# 3g7IlWe7bn74fJWkkII3k6aD00kCwaytWe+Rt6dmAA6iTCXU3OddBwLKKDRlOzmD
+# rZUqjsqg6Ag6HP4+e0BJlE2OVCUK5bHHCu5xN8abXjb1p0JE+7yHsA3ANdkmh1//
+# Z+8odPeKMAQRimfMSzVgaiHnw40Hg16bq51xHykmCRHU9YLT0jYHKa7okm2QfwDJ
+# qFvu0ARl+6EOV1PM8piJ858Vk8gGxGNSYQJPV0gc9ft1Esq1+fTCaV+7oZ0NaYMn
+# 64M+HWsxw+4O8cSEQ4fuMZwGADJ8tyCKuQgj6lawGNSyvRXsN+1k02sVAiPGijOH
+# OtGbtsCWWSygAVOEAV/ye8F6sOzU2FL2X3WBRFkWOCdTu1DzXnHf99dR3DHVGmM1
+# Kpd+n2Y3X89VM++yyrwsI6pEHu77Z0i06ELDD4pRWKJGAmEmWhm/XJTpqEBw51sw
+# THyA1FBnoqXuDus9tfHleR7h9VgZb7uJbXjiIFgl/+RIs+av8bJABBdGUNQMbJEU
+# fe7K4vYm3hs7BGdRLg+kF/dC/z+RiTH4p7yz5TpS3Cozf0pkkWXYZRG222q3tGxS
+# /L+LcRbELM5zmqDpXQjBRUWlKYbsATFtXnTGVjELMIIHejCCBWKgAwIBAgIKYQ6Q
+# 0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT
+# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
+# dCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNh
+# dGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5
+# WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
+# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQD
+# Ex9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0B
+# AQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4
+# BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe
+# 0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato
+# 88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v
+# ++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDst
+# rjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN
+# 91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4ji
+# JV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmh
+# D+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbi
+# wZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8Hh
+# hUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaI
+# jAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTl
+# UAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV
+# HQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQF
+# TuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29m
+# dC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNf
+# MjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5t
+# aWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNf
+# MjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcC
+# ARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnlj
+# cHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5
+# AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oal
+# mOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0ep
+# o/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1
+# HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtY
+# SWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInW
+# H8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZ
+# iWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMd
+# YzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7f
+# QccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKf
+# enoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOpp
+# O6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZO
+# SEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCFdUwghXRAgEBMIGVMH4xCzAJ
+# BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k
+# MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jv
+# c29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAADDDpun2LLc9ywAAAAAAMMw
+# DQYJYIZIAWUDBAIBBQCggcQwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYK
+# KwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIGzZy4lq
+# jNrYavb77lHF4GfS1UBSHSncWUOv/MAInDYhMFgGCisGAQQBgjcCAQwxSjBIoC6A
+# LABNAGkAYwByAG8AcwBvAGYAdAAgAEEAUwBQAC4ATgBFAFQAIABDAG8AcgBloRaA
+# FGh0dHBzOi8vd3d3LmFzcC5uZXQvMA0GCSqGSIb3DQEBAQUABIIBAHA+JN2I7p9c
+# pC9EbYOsqyWl4kx2i8y7+Du1ndxVxS7x7b5TGp0qtzxN8U/at4kcv04M2X0GcC3U
+# gxBu0ELP2m+ZQP5Ln3qgMAuoGpErQR1c7ajeCPlc8FyL61Vg6WEoeBbSV3qeVLAW
+# 42KMRm6XTMhg4mIRbCR7XiVmqeDSTsatfOtYEVFoir7UWP4/By68vFX27fmI6SWD
+# U1NWEgKaAdGDF7fUuMoje/knDWZ4CuOaLinB9QhMeocMKTWJbXtqdqS73ZsfGTae
+# pg6WJO2nX+ORFtOrpGd+pOYtcnf3onq7M2dna3riBK51WPZIQD8S6qybl/fzWUdy
+# aLIFD5gKDZWhghNJMIITRQYKKwYBBAGCNwMDATGCEzUwghMxBgkqhkiG9w0BBwKg
+# ghMiMIITHgIBAzEPMA0GCWCGSAFlAwQCAQUAMIIBPAYLKoZIhvcNAQkQAQSgggEr
+# BIIBJzCCASMCAQEGCisGAQQBhFkKAwEwMTANBglghkgBZQMEAgEFAAQgTbNGGqCX
+# xPVeiJ0viczQMYMqiVf/Oufir0xApx3XOZ0CBlnWhnzJUhgTMjAxNzEwMzAyMzU0
+# MTYuMjU5WjAHAgEBgAIB9KCBuKSBtTCBsjELMAkGA1UEBhMCVVMxEzARBgNVBAgT
+# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
+# dCBDb3Jwb3JhdGlvbjEMMAoGA1UECxMDQU9DMScwJQYDVQQLEx5uQ2lwaGVyIERT
+# RSBFU046NTdDOC0yRDE1LTFDOEIxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0
+# YW1wIFNlcnZpY2Wggg7NMIIGcTCCBFmgAwIBAgIKYQmBKgAAAAAAAjANBgkqhkiG
+# 9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
+# BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEy
+# MDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIw
+# MTAwHhcNMTAwNzAxMjEzNjU1WhcNMjUwNzAxMjE0NjU1WjB8MQswCQYDVQQGEwJV
+# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE
+# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGlt
+# ZS1TdGFtcCBQQ0EgMjAxMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
+# AKkdDbx3EYo6IOz8E5f1+n9plGt0VBDVpQoAgoX77XxoSyxfxcPlYcJ2tz5mK1vw
+# FVMnBDEfQRsalR3OCROOfGEwWbEwRA/xYIiEVEMM1024OAizQt2TrNZzMFcmgqNF
+# DdDq9UeBzb8kYDJYYEbyWEeGMoQedGFnkV+BVLHPk0ySwcSmXdFhE24oxhr5hoC7
+# 32H8RsEnHSRnEnIaIYqvS2SJUGKxXf13Hz3wV3WsvYpCTUBR0Q+cBj5nf/VmwAOW
+# RH7v0Ev9buWayrGo8noqCjHw2k4GkbaICDXoeByw6ZnNPOcvRLqn9NxkvaQBwSAJ
+# k3jN/LzAyURdXhacAQVPIk0CAwEAAaOCAeYwggHiMBAGCSsGAQQBgjcVAQQDAgEA
+# MB0GA1UdDgQWBBTVYzpcijGQ80N7fEYbxTNoWoVtVTAZBgkrBgEEAYI3FAIEDB4K
+# AFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSME
+# GDAWgBTV9lbLj+iiXGJo0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRw
+# Oi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJB
+# dXRfMjAxMC0wNi0yMy5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5o
+# dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8y
+# MDEwLTA2LTIzLmNydDCBoAYDVR0gAQH/BIGVMIGSMIGPBgkrBgEEAYI3LgMwgYEw
+# PQYIKwYBBQUHAgEWMWh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9QS0kvZG9jcy9D
+# UFMvZGVmYXVsdC5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AUABv
+# AGwAaQBjAHkAXwBTAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQAD
+# ggIBAAfmiFEN4sbgmD+BcQM9naOhIW+z66bM9TG+zwXiqf76V20ZMLPCxWbJat/1
+# 5/B4vceoniXj+bzta1RXCCtRgkQS+7lTjMz0YBKKdsxAQEGb3FwX/1z5Xhc1mCRW
+# S3TvQhDIr79/xn/yN31aPxzymXlKkVIArzgPF/UveYFl2am1a+THzvbKegBvSzBE
+# JCI8z+0DpZaPWSm8tv0E4XCfMkon/VWvL/625Y4zu2JfmttXQOnxzplmkIz/amJ/
+# 3cVKC5Em4jnsGUpxY517IW3DnKOiPPp/fZZqkHimbdLhnPkd/DjYlPTGpQqWhqS9
+# nhquBEKDuLWAmyI4ILUl5WTs9/S/fmNZJQ96LjlXdqJxqgaKD4kWumGnEcua2A5H
+# moDF0M2n0O99g/DhO3EJ3110mCIIYdqwUB5vvfHhAN/nMQekkzr3ZUd46PioSKv3
+# 3nJ+YWtvd6mBy6cJrDm77MbL2IK0cs0d9LiFAR6A+xuJKlQ5slvayA1VmXqHczsI
+# 5pgt6o3gMy4SKfXAL1QnIffIrE7aKLixqduWsqdCosnPGUFN4Ib5KpqjEWYw07t0
+# MkvfY3v1mYovG8chr1m1rtxEPJdQcdeh0sVV42neV8HR3jDA/czmTfsNv11P6Z0e
+# GTgvvM9YBS7vDaBQNdrvCScc1bN+NR4Iuto229Nfj950iEkSMIIE2TCCA8GgAwIB
+# AgITMwAAAKq3qYj/6lfDCgAAAAAAqjANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQG
+# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
+# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQg
+# VGltZS1TdGFtcCBQQ0EgMjAxMDAeFw0xNjA5MDcxNzU2NTNaFw0xODA5MDcxNzU2
+# NTNaMIGyMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE
+# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMQwwCgYD
+# VQQLEwNBT0MxJzAlBgNVBAsTHm5DaXBoZXIgRFNFIEVTTjo1N0M4LTJEMTUtMUM4
+# QjElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCCASIwDQYJ
+# KoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ7Yf3tXePoF+qOat5CvmrnVtnR2kcu4
+# zrsqzisp71+0a3WYdSiArZiPuarwndK2m0dkmMalWaqRePkei3n3JHRG6iT+aQSu
+# vut/U1MTWdUP/PvN3fYHQZsbNzfZXHaZ3a7Hw9vTrWjCUJx0DkR3Li6db8Ed7yzH
+# O3Su25ctj4HFRwVAwEo3SJO8A5pL8I0Ey0Nw++hYsZ2sUOe5tYTxx5sH7Peaaduv
+# SH+sWTGGYhZwlV7xy8w6R/PqPwKMELu9I4ypA3NPDrgMXPEvqn/6ZJuMLpgUwEbP
+# Jk88BiPGTyK3kg8aAhn8nCnNhN6Br/D9rZispYiDhpVUhrSbcUDGLzcCAwEAAaOC
+# ARswggEXMB0GA1UdDgQWBBQIuHIdFST1kwLhn9IcTNOrzFnJsDAfBgNVHSMEGDAW
+# gBTVYzpcijGQ80N7fEYbxTNoWoVtVTBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8v
+# Y3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNUaW1TdGFQQ0Ff
+# MjAxMC0wNy0wMS5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRw
+# Oi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1RpbVN0YVBDQV8yMDEw
+# LTA3LTAxLmNydDAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMIMA0G
+# CSqGSIb3DQEBCwUAA4IBAQBgjw7uB84a4X2fecZ4Dp3OTKQBnWpnR5cRG4pyyuTB
+# fOct44+RZ7zodHo/yulGJAA/oc7wfk/S9Bp99HY4HRQ2HaXZiW/KxVMU7xMsIAKV
+# 0Qp5xdLubTw/kUbpuVLe31zinKRNUWodwumTTUZyFib5hP+Td93oAz1U/MIEoF+P
+# h71VdJrpZKyw5BrKXDsgHwtVWAiww8unvFksTUKR7VuzMC6Sp5OOToAMrql5MexS
+# kXyVEK9/wc4j2w+ZzGrDxPQsH3Vkgiyg2A4H95oOZahclYGcfljuefORIa3bzSy/
+# tYhy/gYbnV92D3YyiK5SPG05LswGTiRJLS+pZgDW/GgmoYIDdzCCAl8CAQEwgeKh
+# gbikgbUwgbIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD
+# VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xDDAK
+# BgNVBAsTA0FPQzEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNOOjU3QzgtMkQxNS0x
+# QzhCMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNloiUKAQEw
+# CQYFKw4DAhoFAAMVAJycxWuYzKfBrUcg7NNE/M5t0OoDoIHBMIG+pIG7MIG4MQsw
+# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
+# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMQwwCgYDVQQLEwNBT0Mx
+# JzAlBgNVBAsTHm5DaXBoZXIgTlRTIEVTTjoyNjY1LTRDM0YtQzVERTErMCkGA1UE
+# AxMiTWljcm9zb2Z0IFRpbWUgU291cmNlIE1hc3RlciBDbG9jazANBgkqhkiG9w0B
+# AQUFAAIFAN2iF3QwIhgPMjAxNzEwMzAyMTI2MTJaGA8yMDE3MTAzMTIxMjYxMlow
+# dzA9BgorBgEEAYRZCgQBMS8wLTAKAgUA3aIXdAIBADAKAgEAAgIVrgIB/zAHAgEA
+# AgIaAjAKAgUA3aNo9AIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMB
+# oAowCAIBAAIDFuNgoQowCAIBAAIDHoSAMA0GCSqGSIb3DQEBBQUAA4IBAQCCxuAr
+# fAesx3b8MzKRa68x0haLl/kR4wZzh7CLDxm2UZKA/2gpLggSyuwa1hiGFNEZeJxr
+# i7sAi7fz1nfBvx9IV8RjESItXs+idQKc1h5r8E38F5ZCcIs9thiO0si3FLtP/shK
+# QW6hywpGLnNHYWpmKFCwEZf8bjY9a+O8R1GmmKNNmhyzQI/djEN3rc8b9UxeD7Js
+# 45I+DKXWgpPENHquTHWxNAF/3GJShcEtKxQwaA1gQFusRgOT/FFbnTZUrgOGKkhm
+# pLvAdhhn7mALKHO/SHubmU6aXyzbs1yMoOMSG6929pR7xg12aD26iDHss3C1Wfp0
+# Pq5fVT7seKQo972SMYIC9TCCAvECAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNV
+# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv
+# c29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg
+# UENBIDIwMTACEzMAAACqt6mI/+pXwwoAAAAAAKowDQYJYIZIAWUDBAIBBQCgggEy
+# MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgWLve
+# JZcUjd6ZED9pWoq+GH9WQ116RJvu9Gt4SAaIXfcwgeIGCyqGSIb3DQEJEAIMMYHS
+# MIHPMIHMMIGxBBScnMVrmMynwa1HIOzTRPzObdDqAzCBmDCBgKR+MHwxCzAJBgNV
+# BAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w
+# HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29m
+# dCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAAqrepiP/qV8MKAAAAAACqMBYEFLMX
+# OFTC7g/U5OFUlsBOENbXr6jaMA0GCSqGSIb3DQEBCwUABIIBAAdUzgFVTwmRCbEe
+# lcXvwfjNk4uz/2UT7lNqhHGEJROMkoTLUdJ0jT3DJ9WS9A+5WZ/jf6g1/Nar8JQ2
+# /3ng62ihCS8fON5rFMMNargUvKYOrSzvIY4hYCyb3ywbYLc9E9e+y35JB6/9Ss08
+# /EmvITYRIeNL+XIQZyE4vb5l+nyD3AsWwayhEaEQd+ZnVW2GMPAz+IhRt8oAY7xi
+# DtKVawGEc1upnLCJxSOstALYGVJ5g09avnEFJI33RXnx7Huv2S3MMhRgonVDeCYI
+# BgPH3pi0dXT6avFzanwR2XvM1WnqjmoTQwFO4Ies+8FCZqt1xEiD0Ukrf63+PmhD
+# Ffwqtfk=
+# SIG # End signature block
diff --git a/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/EntityFrameworkCore.psm1 b/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/EntityFrameworkCore.psm1
new file mode 100644
index 0000000000..32164c7eb7
--- /dev/null
+++ b/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/EntityFrameworkCore.psm1
@@ -0,0 +1,1307 @@
+$ErrorActionPreference = 'Stop'
+
+#
+# Add-Migration
+#
+
+Register-TabExpansion Add-Migration @{
+ OutputDir = { <# Disabled. Otherwise, paths would be relative to the solution directory. #> }
+ Context = { param($x) GetContextTypes $x.Project $x.StartupProject }
+ Project = { GetProjects }
+ StartupProject = { GetProjects }
+}
+
+<#
+.SYNOPSIS
+ Adds a new migration.
+
+.DESCRIPTION
+ Adds a new migration.
+
+.PARAMETER Name
+ The name of the migration.
+
+.PARAMETER OutputDir
+ The directory (and sub-namespace) to use. Paths are relative to the project directory. Defaults to "Migrations".
+
+.PARAMETER Context
+ The DbContext type to use.
+
+.PARAMETER Project
+ The project to use.
+
+.PARAMETER StartupProject
+ The startup project to use. Defaults to the solution's startup project.
+
+.LINK
+ Remove-Migration
+ Update-Database
+ about_EntityFrameworkCore
+#>
+function Add-Migration
+{
+ [CmdletBinding(PositionalBinding = $false)]
+ param(
+ [Parameter(Position = 0, Mandatory = $true)]
+ [string] $Name,
+ [string] $OutputDir,
+ [string] $Context,
+ [string] $Project,
+ [string] $StartupProject)
+
+ WarnIfEF6 'Add-Migration'
+
+ $dteProject = GetProject $Project
+ $dteStartupProject = GetStartupProject $StartupProject $dteProject
+
+ $params = 'migrations', 'add', $Name, '--json'
+
+ if ($OutputDir)
+ {
+ $params += '--output-dir', $OutputDir
+ }
+
+ $params += GetParams $Context
+
+ # NB: -join is here to support ConvertFrom-Json on PowerShell 3.0
+ $result = (EF $dteProject $dteStartupProject $params) -join "`n" | ConvertFrom-Json
+ Write-Output 'To undo this action, use Remove-Migration.'
+
+ $dteProject.ProjectItems.AddFromFile($result.migrationFile) | Out-Null
+ $DTE.ItemOperations.OpenFile($result.migrationFile) | Out-Null
+ ShowConsole
+
+ $dteProject.ProjectItems.AddFromFile($result.metadataFile) | Out-Null
+
+ $dteProject.ProjectItems.AddFromFile($result.snapshotFile) | Out-Null
+}
+
+#
+# Drop-Database
+#
+
+Register-TabExpansion Drop-Database @{
+ Context = { param($x) GetContextTypes $x.Project $x.StartupProject }
+ Project = { GetProjects }
+ StartupProject = { GetProjects }
+}
+
+<#
+.SYNOPSIS
+ Drops the database.
+
+.DESCRIPTION
+ Drops the database.
+
+.PARAMETER Context
+ The DbContext to use.
+
+.PARAMETER Project
+ The project to use.
+
+.PARAMETER StartupProject
+ The startup project to use. Defaults to the solution's startup project.
+
+.LINK
+ Update-Database
+ about_EntityFrameworkCore
+#>
+function Drop-Database
+{
+ [CmdletBinding(PositionalBinding = $false, SupportsShouldProcess = $true, ConfirmImpact = 'High')]
+ param([string] $Context, [string] $Project, [string] $StartupProject)
+
+ $dteProject = GetProject $Project
+ $dteStartupProject = GetStartupProject $StartupProject $dteProject
+
+ $params = 'dbcontext', 'info', '--json'
+ $params += GetParams $Context
+
+ # NB: -join is here to support ConvertFrom-Json on PowerShell 3.0
+ $info = (EF $dteProject $dteStartupProject $params) -join "`n" | ConvertFrom-Json
+
+ if ($PSCmdlet.ShouldProcess("database '$($info.databaseName)' on server '$($info.dataSource)'"))
+ {
+ $params = 'database', 'drop', '--force'
+ $params += GetParams $Context
+
+ EF $dteProject $dteStartupProject $params -skipBuild
+ }
+}
+
+#
+# Enable-Migrations (Obsolete)
+#
+
+function Enable-Migrations
+{
+ WarnIfEF6 'Update-Database'
+ Write-Warning 'Enable-Migrations is obsolete. Use Add-Migration to start using Migrations.'
+}
+
+#
+# Get-DbContext
+#
+
+Register-TabExpansion Get-DbContext @{
+ Context = { param($x) GetContextTypes $x.Project $x.StartupProject }
+ Project = { GetProjects }
+ StartupProject = { GetProjects }
+}
+
+<#
+.SYNOPSIS
+ Gets information about a DbContext type.
+
+.DESCRIPTION
+ Gets information about a DbContext type.
+
+.PARAMETER Context
+ The DbContext to use.
+
+.PARAMETER Project
+ The project to use.
+
+.PARAMETER StartupProject
+ The startup project to use. Defaults to the solution's startup project.
+
+.LINK
+ about_EntityFrameworkCore
+#>
+function Get-DbContext
+{
+ [CmdletBinding(PositionalBinding = $false)]
+ param([string] $Context, [string] $Project, [string] $StartupProject)
+
+ $dteProject = GetProject $Project
+ $dteStartupProject = GetStartupProject $StartupProject $dteProject
+
+ $params = 'dbcontext', 'info', '--json'
+ $params += GetParams $Context
+
+ # NB: -join is here to support ConvertFrom-Json on PowerShell 3.0
+ return (EF $dteProject $dteStartupProject $params) -join "`n" | ConvertFrom-Json
+}
+
+#
+# Remove-Migration
+#
+
+Register-TabExpansion Remove-Migration @{
+ Context = { param($x) GetContextTypes $x.Project $x.StartupProject }
+ Project = { GetProjects }
+ StartupProject = { GetProjects }
+}
+
+<#
+.SYNOPSIS
+ Removes the last migration.
+
+.DESCRIPTION
+ Removes the last migration.
+
+.PARAMETER Force
+ Don't check to see if the migration has been applied to the database. Always implied on UWP apps.
+
+.PARAMETER Context
+ The DbContext to use.
+
+.PARAMETER Project
+ The project to use.
+
+.PARAMETER StartupProject
+ The startup project to use. Defaults to the solution's startup project.
+
+.LINK
+ Add-Migration
+ about_EntityFrameworkCore
+#>
+function Remove-Migration
+{
+ [CmdletBinding(PositionalBinding = $false)]
+ param([switch] $Force, [string] $Context, [string] $Project, [string] $StartupProject)
+
+ $dteProject = GetProject $Project
+ $dteStartupProject = GetStartupProject $StartupProject $dteProject
+
+ $params = 'migrations', 'remove', '--json'
+
+ if ($Force)
+ {
+ $params += '--force'
+ }
+
+ $params += GetParams $Context
+
+ # NB: -join is here to support ConvertFrom-Json on PowerShell 3.0
+ $result = (EF $dteProject $dteStartupProject $params) -join "`n" | ConvertFrom-Json
+
+ $files = $result.migrationFile, $result.metadataFile, $result.snapshotFile
+ $files | ?{ $_ -ne $null } | %{
+ $projectItem = GetProjectItem $dteProject $_
+ if ($projectItem)
+ {
+ $projectItem.Remove()
+ }
+ }
+}
+
+#
+# Scaffold-DbContext
+#
+
+Register-TabExpansion Scaffold-DbContext @{
+ Provider = { param($x) GetProviders $x.Project }
+ Project = { GetProjects }
+ StartupProject = { GetProjects }
+ OutputDir = { <# Disabled. Otherwise, paths would be relative to the solution directory. #> }
+}
+
+<#
+.SYNOPSIS
+ Scaffolds a DbContext and entity types for a database.
+
+.DESCRIPTION
+ Scaffolds a DbContext and entity types for a database.
+
+.PARAMETER Connection
+ The connection string to the database.
+
+.PARAMETER Provider
+ The provider to use. (E.g. Microsoft.EntityFrameworkCore.SqlServer)
+
+.PARAMETER OutputDir
+ The directory to put files in. Paths are relaive to the project directory.
+
+.PARAMETER Context
+ The name of the DbContext to generate.
+
+.PARAMETER Schemas
+ The schemas of tables to generate entity types for.
+
+.PARAMETER Tables
+ The tables to generate entity types for.
+
+.PARAMETER DataAnnotations
+ Use attributes to configure the model (where possible). If omitted, only the fluent API is used.
+
+.PARAMETER Force
+ Overwrite existing files.
+
+.PARAMETER Project
+ The project to use.
+
+.PARAMETER StartupProject
+ The startup project to use. Defaults to the solution's startup project.
+
+.LINK
+ about_EntityFrameworkCore
+#>
+function Scaffold-DbContext
+{
+ [CmdletBinding(PositionalBinding = $false)]
+ param(
+ [Parameter(Position = 0, Mandatory = $true)]
+ [string] $Connection,
+ [Parameter(Position = 1, Mandatory = $true)]
+ [string] $Provider,
+ [string] $OutputDir,
+ [string] $Context,
+ [string[]] $Schemas = @(),
+ [string[]] $Tables = @(),
+ [switch] $DataAnnotations,
+ [switch] $Force,
+ [string] $Project,
+ [string] $StartupProject)
+
+ $dteProject = GetProject $Project
+ $dteStartupProject = GetStartupProject $StartupProject $dteProject
+
+ $params = 'dbcontext', 'scaffold', $Connection, $Provider, '--json'
+
+ if ($OutputDir)
+ {
+ $params += '--output-dir', $OutputDir
+ }
+
+ if ($Context)
+ {
+ $params += '--context', $Context
+ }
+
+ $params += $Schemas | %{ '--schema', $_ }
+ $params += $Tables | %{ '--table', $_ }
+
+ if ($DataAnnotations)
+ {
+ $params += '--data-annotations'
+ }
+
+ if ($Force)
+ {
+ $params += '--force'
+ }
+
+ # NB: -join is here to support ConvertFrom-Json on PowerShell 3.0
+ $result = (EF $dteProject $dteStartupProject $params) -join "`n" | ConvertFrom-Json
+
+ $files = $result.entityTypeFiles + $result.contextFile
+ $files | %{ $dteProject.ProjectItems.AddFromFile($_) | Out-Null }
+ $DTE.ItemOperations.OpenFile($result.contextFile) | Out-Null
+ ShowConsole
+}
+
+#
+# Script-Migration
+#
+
+Register-TabExpansion Script-Migration @{
+ From = { param($x) GetMigrations $x.Context $x.Project $x.StartupProject }
+ To = { param($x) GetMigrations $x.Context $x.Project $x.StartupProject }
+ Context = { param($x) GetContextTypes $x.Project $x.StartupProject }
+ Project = { GetProjects }
+ StartupProject = { GetProjects }
+}
+
+<#
+.SYNOPSIS
+ Generates a SQL script from migrations.
+
+.DESCRIPTION
+ Generates a SQL script from migrations.
+
+.PARAMETER From
+ The starting migration. Defaults to '0' (the initial database).
+
+.PARAMETER To
+ The ending migration. Defaults to the last migration.
+
+.PARAMETER Idempotent
+ Generate a script that can be used on a database at any migration.
+
+.PARAMETER Output
+ The file to write the result to.
+
+.PARAMETER Context
+ The DbContext to use.
+
+.PARAMETER Project
+ The project to use.
+
+.PARAMETER StartupProject
+ The startup project to use. Defaults to the solution's startup project.
+
+.LINK
+ Update-Database
+ about_EntityFrameworkCore
+#>
+function Script-Migration
+{
+ [CmdletBinding(PositionalBinding = $false)]
+ param(
+ [Parameter(ParameterSetName = 'WithoutTo', Position = 0)]
+ [Parameter(ParameterSetName = 'WithTo', Position = 0, Mandatory = $true)]
+ [string] $From,
+ [Parameter(ParameterSetName = 'WithTo', Position = 1, Mandatory = $true)]
+ [string] $To,
+ [switch] $Idempotent,
+ [string] $Output,
+ [string] $Context,
+ [string] $Project,
+ [string] $StartupProject)
+
+ $dteProject = GetProject $Project
+ $dteStartupProject = GetStartupProject $StartupProject $dteProject
+
+ if (!$Output)
+ {
+ $intermediatePath = GetIntermediatePath $dteProject
+ if (!(Split-Path $intermediatePath -IsAbsolute))
+ {
+ $projectDir = GetProperty $dteProject.Properties 'FullPath'
+ $intermediatePath = Join-Path $projectDir $intermediatePath -Resolve | Convert-Path
+ }
+
+ $scriptFileName = [IO.Path]::ChangeExtension([IO.Path]::GetRandomFileName(), '.sql')
+ $Output = Join-Path $intermediatePath $scriptFileName
+ }
+ elseif (!(Split-Path $Output -IsAbsolute))
+ {
+ $Output = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath($Output)
+ }
+
+ $params = 'migrations', 'script', '--output', $Output
+
+ if ($From)
+ {
+ $params += $From
+ }
+
+ if ($To)
+ {
+ $params += $To
+ }
+
+ if ($Idempotent)
+ {
+ $params += '--idempotent'
+ }
+
+ $params += GetParams $Context
+
+ EF $dteProject $dteStartupProject $params
+
+ $DTE.ItemOperations.OpenFile($Output) | Out-Null
+ ShowConsole
+}
+
+#
+# Update-Database
+#
+
+Register-TabExpansion Update-Database @{
+ Migration = { param($x) GetMigrations $x.Context $x.Project $x.StartupProject }
+ Context = { param($x) GetContextTypes $x.Project $x.StartupProject }
+ Project = { GetProjects }
+ StartupProject = { GetProjects }
+}
+
+<#
+.SYNOPSIS
+ Updates the database to a specified migration.
+
+.DESCRIPTION
+ Updates the database to a specified migration.
+
+.PARAMETER Migration
+ The target migration. If '0', all migrations will be reverted. Defaults to the last migration.
+
+.PARAMETER Context
+ The DbContext to use.
+
+.PARAMETER Project
+ The project to use.
+
+.PARAMETER StartupProject
+ The startup project to use. Defaults to the solution's startup project.
+
+.LINK
+ Script-Migration
+ about_EntityFrameworkCore
+#>
+function Update-Database
+{
+ [CmdletBinding(PositionalBinding = $false)]
+ param(
+ [Parameter(Position = 0)]
+ [string] $Migration,
+ [string] $Context,
+ [string] $Project,
+ [string] $StartupProject)
+
+ WarnIfEF6 'Update-Database'
+
+ $dteProject = GetProject $Project
+ $dteStartupProject = GetStartupProject $StartupProject $dteProject
+
+ $params = 'database', 'update'
+
+ if ($Migration)
+ {
+ $params += $Migration
+ }
+
+ $params += GetParams $Context
+
+ EF $dteProject $dteStartupProject $params
+}
+
+#
+# (Private Helpers)
+#
+
+function GetProjects
+{
+ return Get-Project -All | %{ $_.ProjectName }
+}
+
+function GetProviders($projectName)
+{
+ if (!$projectName)
+ {
+ $projectName = (Get-Project).ProjectName
+ }
+
+ return Get-Package -ProjectName $projectName | %{ $_.Id }
+}
+
+function GetContextTypes($projectName, $startupProjectName)
+{
+ $project = GetProject $projectName
+ $startupProject = GetStartupProject $startupProjectName $project
+
+ $params = 'dbcontext', 'list', '--json'
+
+ # NB: -join is here to support ConvertFrom-Json on PowerShell 3.0
+ $result = (EF $project $startupProject $params -skipBuild) -join "`n" | ConvertFrom-Json
+
+ return $result | %{ $_.safeName }
+}
+
+function GetMigrations($context, $projectName, $startupProjectName)
+{
+ $project = GetProject $projectName
+ $startupProject = GetStartupProject $startupProjectName $project
+
+ $params = 'migrations', 'list', '--json'
+ $params += GetParams $context
+
+ # NB: -join is here to support ConvertFrom-Json on PowerShell 3.0
+ $result = (EF $project $startupProject $params -skipBuild) -join "`n" | ConvertFrom-Json
+
+ return $result | %{ $_.safeName }
+}
+
+function WarnIfEF6 ($cmdlet)
+{
+ if (Get-Module 'EntityFramework')
+ {
+ Write-Warning "Both Entity Framework Core and Entity Framework 6 are installed. The Entity Framework Core tools are running. Use 'EntityFramework\$cmdlet' for Entity Framework 6."
+ }
+}
+
+function GetProject($projectName)
+{
+ if (!$projectName)
+ {
+ return Get-Project
+ }
+
+ return Get-Project $projectName
+}
+
+function GetStartupProject($name, $fallbackProject)
+{
+ if ($name)
+ {
+ return Get-Project $name
+ }
+
+ $startupProjectPaths = $DTE.Solution.SolutionBuild.StartupProjects
+ if ($startupProjectPaths)
+ {
+ if ($startupProjectPaths.Length -eq 1)
+ {
+ $startupProjectPath = $startupProjectPaths[0]
+ if (!(Split-Path -IsAbsolute $startupProjectPath))
+ {
+ $solutionPath = Split-Path (GetProperty $DTE.Solution.Properties 'Path')
+ $startupProjectPath = Join-Path $solutionPath $startupProjectPath -Resolve | Convert-Path
+ }
+
+ $startupProject = GetSolutionProjects | ?{
+ try
+ {
+ $fullName = $_.FullName
+ }
+ catch [NotImplementedException]
+ {
+ return $false
+ }
+
+ if ($fullName -and $fullName.EndsWith('\'))
+ {
+ $fullName = $fullName.Substring(0, $fullName.Length - 1)
+ }
+
+ return $fullName -eq $startupProjectPath
+ }
+ if ($startupProject)
+ {
+ return $startupProject
+ }
+
+ Write-Warning "Unable to resolve startup project '$startupProjectPath'."
+ }
+ else
+ {
+ Write-Verbose 'More than one startup project found.'
+ }
+ }
+ else
+ {
+ Write-Verbose 'No startup project found.'
+ }
+
+ return $fallbackProject
+}
+
+function GetSolutionProjects()
+{
+ $projects = New-Object 'System.Collections.Stack'
+
+ $DTE.Solution.Projects | %{
+ $projects.Push($_)
+ }
+
+ while ($projects.Count)
+ {
+ $project = $projects.Pop();
+
+ <# yield return #> $project
+
+ if ($project.ProjectItems)
+ {
+ $project.ProjectItems | ?{ $_.SubProject } | %{
+ $projects.Push($_.SubProject)
+ }
+ }
+ }
+}
+
+function GetParams($context)
+{
+ $params = @()
+
+ if ($context)
+ {
+ $params += '--context', $context
+ }
+
+ return $params
+}
+
+function ShowConsole
+{
+ $componentModel = Get-VSComponentModel
+ $powerConsoleWindow = $componentModel.GetService([NuGetConsole.IPowerConsoleWindow])
+ $powerConsoleWindow.Show()
+}
+
+function WriteErrorLine($message)
+{
+ try
+ {
+ # Call the internal API NuGet uses to display errors
+ $componentModel = Get-VSComponentModel
+ $powerConsoleWindow = $componentModel.GetService([NuGetConsole.IPowerConsoleWindow])
+ $bindingFlags = [Reflection.BindingFlags]::Instance -bor [Reflection.BindingFlags]::NonPublic
+ $activeHostInfo = $powerConsoleWindow.GetType().GetProperty('ActiveHostInfo', $bindingFlags).GetValue($powerConsoleWindow)
+ $internalHost = $activeHostInfo.WpfConsole.Host
+ $reportErrorMethod = $internalHost.GetType().GetMethod('ReportError', $bindingFlags, $null, [Exception], $null)
+ $exception = New-Object Exception $message
+ $reportErrorMethod.Invoke($internalHost, $exception)
+ }
+ catch
+ {
+ Write-Host $message -ForegroundColor DarkRed
+ }
+}
+
+function EF($project, $startupProject, $params, [switch] $skipBuild)
+{
+ if (IsXproj $startupProject)
+ {
+ throw "Startup project '$($startupProject.ProjectName)' is an ASP.NET Core or .NET Core project for Visual " +
+ 'Studio 2015. This version of the Entity Framework Core Package Manager Console Tools doesn''t support ' +
+ 'these types of projects.'
+ }
+ if (IsDocker $startupProject)
+ {
+ throw "Startup project '$($startupProject.ProjectName)' is a Docker project. Select an ASP.NET Core Web " +
+ 'Application as your startup project and try again.'
+ }
+ if (IsUWP $startupProject)
+ {
+ throw "Startup project '$($startupProject.ProjectName)' is a Universal Windows Platform app. This version of " +
+ 'the Entity Framework Core Package Manager Console Tools doesn''t support this type of project. For more ' +
+ 'information on using the EF Core Tools with UWP projects, see ' +
+ 'https://go.microsoft.com/fwlink/?linkid=858496'
+ }
+
+ Write-Verbose "Using project '$($project.ProjectName)'."
+ Write-Verbose "Using startup project '$($startupProject.ProjectName)'."
+
+ if (!$skipBuild)
+ {
+ Write-Verbose 'Build started...'
+
+ # TODO: Only build startup project. Don't use BuildProject, you can't specify platform
+ $solutionBuild = $DTE.Solution.SolutionBuild
+ $solutionBuild.Build(<# WaitForBuildToFinish: #> $true)
+ if ($solutionBuild.LastBuildInfo)
+ {
+ throw 'Build failed.'
+ }
+
+ Write-Verbose 'Build succeeded.'
+ }
+
+ $startupProjectDir = GetProperty $startupProject.Properties 'FullPath'
+ $outputPath = GetProperty $startupProject.ConfigurationManager.ActiveConfiguration.Properties 'OutputPath'
+ $targetDir = Join-Path $startupProjectDir $outputPath -Resolve | Convert-Path
+ $startupTargetFileName = GetOutputFileName $startupProject
+ $startupTargetPath = Join-Path $targetDir $startupTargetFileName
+ $targetFrameworkMoniker = GetProperty $startupProject.Properties 'TargetFrameworkMoniker'
+ $frameworkName = New-Object 'System.Runtime.Versioning.FrameworkName' $targetFrameworkMoniker
+ $targetFramework = $frameworkName.Identifier
+
+ if ($targetFramework -in '.NETFramework')
+ {
+ $platformTarget = GetPlatformTarget $startupProject
+ if ($platformTarget -eq 'x86')
+ {
+ $exePath = Join-Path $PSScriptRoot 'net461\ef.x86.exe'
+ }
+ elseif ($platformTarget -in 'AnyCPU', 'x64')
+ {
+ $exePath = Join-Path $PSScriptRoot 'net461\ef.exe'
+ }
+ else
+ {
+ throw "Startup project '$($startupProject.ProjectName)' has an active platform of '$platformTarget'. Select " +
+ 'a different platform and try again.'
+ }
+ }
+ elseif ($targetFramework -eq '.NETCoreApp')
+ {
+ $exePath = (Get-Command 'dotnet').Path
+
+ $startupTargetName = GetProperty $startupProject.Properties 'AssemblyName'
+ $depsFile = Join-Path $targetDir ($startupTargetName + '.deps.json')
+ $projectAssetsFile = GetCsproj2Property $startupProject 'ProjectAssetsFile'
+ $runtimeConfig = Join-Path $targetDir ($startupTargetName + '.runtimeconfig.json')
+ $runtimeFrameworkVersion = GetCsproj2Property $startupProject 'RuntimeFrameworkVersion'
+ $efPath = Join-Path $PSScriptRoot 'netcoreapp2.0\ef.dll'
+
+ $dotnetParams = 'exec', '--depsfile', $depsFile
+
+ if ($projectAssetsFile)
+ {
+ # NB: -Raw is here to support ConvertFrom-Json on PowerShell 3.0
+ $projectAssets = Get-Content $projectAssetsFile -Raw | ConvertFrom-Json
+ $projectAssets.packageFolders.psobject.Properties.Name | %{
+ $dotnetParams += '--additionalprobingpath', $_.TrimEnd('\')
+ }
+ }
+
+ if (Test-Path $runtimeConfig)
+ {
+ $dotnetParams += '--runtimeconfig', $runtimeConfig
+ }
+ elseif ($runtimeFrameworkVersion)
+ {
+ $dotnetParams += '--fx-version', $runtimeFrameworkVersion
+ }
+
+ $dotnetParams += $efPath
+
+ $params = $dotnetParams + $params
+ }
+ elseif ($targetFramework -eq '.NETStandard')
+ {
+ throw "Startup project '$($startupProject.ProjectName)' targets framework '.NETStandard'. There is no " +
+ 'runtime associated with this framework, and projects targeting it cannot be executed directly. To use ' +
+ 'the Entity Framework Core Package Manager Console Tools with this project, add an executable project ' +
+ 'targeting .NET Framework or .NET Core that references this project, and set it as the startup project; ' +
+ 'or, update this project to cross-target .NET Framework or .NET Core.'
+ }
+ else
+ {
+ throw "Startup project '$($startupProject.ProjectName)' targets framework '$targetFramework'. " +
+ 'The Entity Framework Core Package Manager Console Tools don''t support this framework.'
+ }
+
+ $projectDir = GetProperty $project.Properties 'FullPath'
+ $targetFileName = GetOutputFileName $project
+ $targetPath = Join-Path $targetDir $targetFileName
+ $rootNamespace = GetProperty $project.Properties 'RootNamespace'
+
+ $params += '--verbose',
+ '--no-color',
+ '--prefix-output',
+ '--assembly', $targetPath,
+ '--startup-assembly', $startupTargetPath,
+ '--project-dir', $projectDir
+
+ if (IsWeb $startupProject)
+ {
+ $params += '--data-dir', (Join-Path $startupProjectDir 'App_Data')
+ }
+
+ if ($rootNamespace)
+ {
+ $params += '--root-namespace', $rootNamespace
+ }
+
+ $arguments = ToArguments $params
+ $startInfo = New-Object 'System.Diagnostics.ProcessStartInfo' -Property @{
+ FileName = $exePath;
+ Arguments = $arguments;
+ UseShellExecute = $false;
+ CreateNoWindow = $true;
+ RedirectStandardOutput = $true;
+ StandardOutputEncoding = [Text.Encoding]::UTF8;
+ WorkingDirectory = $startupProjectDir;
+ }
+
+ Write-Verbose "$exePath $arguments"
+
+ $process = [Diagnostics.Process]::Start($startInfo)
+
+ while ($line = $process.StandardOutput.ReadLine())
+ {
+ $level = $null
+ $text = $null
+
+ $parts = $line.Split(':', 2)
+ if ($parts.Length -eq 2)
+ {
+ $level = $parts[0]
+
+ $i = 0
+ $count = 8 - $level.Length
+ while ($i -lt $count -and $parts[1][$i] -eq ' ')
+ {
+ $i++
+ }
+
+ $text = $parts[1].Substring($i)
+ }
+
+ switch ($level)
+ {
+ 'error' { WriteErrorLine $text }
+ 'warn' { Write-Warning $text }
+ 'info' { Write-Host $text }
+ 'data' { Write-Output $text }
+ 'verbose' { Write-Verbose $text }
+ default { Write-Host $line }
+ }
+ }
+
+ $process.WaitForExit()
+
+ if ($process.ExitCode)
+ {
+ exit
+ }
+}
+
+function IsXproj($project)
+{
+ return $project.Kind -eq '{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}'
+}
+
+function IsDocker($project)
+{
+ return $project.Kind -eq '{E53339B2-1760-4266-BCC7-CA923CBCF16C}'
+}
+
+function IsCsproj2($project)
+{
+ return $project.Kind -eq '{9A19103F-16F7-4668-BE54-9A1E7A4F7556}'
+}
+
+function IsWeb($project)
+{
+ $types = GetProjectTypes $project
+
+ return $types -contains '{349C5851-65DF-11DA-9384-00065B846F21}'
+}
+
+function IsUWP($project)
+{
+ $types = GetProjectTypes $project
+
+ return $types -contains '{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A}'
+}
+
+function GetIntermediatePath($project)
+{
+ # TODO: Remove when dotnet/roslyn-project-system#665 is fixed
+ if (IsCsproj2 $project)
+ {
+ return GetCsproj2Property $project 'IntermediateOutputPath'
+ }
+
+ return GetProperty $project.ConfigurationManager.ActiveConfiguration.Properties 'IntermediatePath'
+}
+
+function GetPlatformTarget($project)
+{
+ # TODO: Remove when dotnet/roslyn-project-system#669 is fixed
+ if (IsCsproj2 $project)
+ {
+ $platformTarget = GetCsproj2Property $project 'PlatformTarget'
+ if ($platformTarget)
+ {
+ return $platformTarget
+ }
+
+ return GetCsproj2Property $project 'Platform'
+ }
+
+ return GetProperty $project.ConfigurationManager.ActiveConfiguration.Properties 'PlatformTarget'
+}
+
+function GetOutputFileName($project)
+{
+ # TODO: Remove when dotnet/roslyn-project-system#667 is fixed
+ if (IsCsproj2 $project)
+ {
+ return GetCsproj2Property $project 'TargetFileName'
+ }
+
+ return GetProperty $project.Properties 'OutputFileName'
+}
+
+function GetProjectTypes($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)
+ {
+ return $project.Kind
+ }
+
+ $projectTypeGuidsString = $null
+ $hr = $aggregatableProject.GetAggregateProjectTypeGuids([ref] $projectTypeGuidsString)
+ [Runtime.InteropServices.Marshal]::ThrowExceptionForHR($hr)
+
+ return $projectTypeGuidsString.Split(';')
+}
+
+function GetProperty($properties, $propertyName)
+{
+ try
+ {
+ return $properties.Item($propertyName).Value
+ }
+ catch
+ {
+ return $null
+ }
+}
+
+function GetCsproj2Property($project, $propertyName)
+{
+ $browseObjectContext = Get-Interface $project 'Microsoft.VisualStudio.ProjectSystem.Properties.IVsBrowseObjectContext'
+ $unconfiguredProject = $browseObjectContext.UnconfiguredProject
+ $configuredProject = $unconfiguredProject.GetSuggestedConfiguredProjectAsync().Result
+ $properties = $configuredProject.Services.ProjectPropertiesProvider.GetCommonProperties()
+
+ return $properties.GetEvaluatedPropertyValueAsync($propertyName).Result
+}
+
+function GetProjectItem($project, $path)
+{
+ $fullPath = GetProperty $project.Properties 'FullPath'
+
+ if (Split-Path $path -IsAbsolute)
+ {
+ $path = $path.Substring($fullPath.Length)
+ }
+
+ $itemDirectory = (Split-Path $path -Parent)
+
+ $projectItems = $project.ProjectItems
+ if ($itemDirectory)
+ {
+ $directories = $itemDirectory.Split('\')
+ $directories | %{
+ if ($projectItems)
+ {
+ $projectItems = $projectItems.Item($_).ProjectItems
+ }
+ }
+ }
+
+ if (!$projectItems)
+ {
+ return $null
+ }
+
+ $itemName = Split-Path $path -Leaf
+
+ try
+ {
+ return $projectItems.Item($itemName)
+ }
+ catch [Exception]
+ {
+ }
+
+ return $null
+}
+
+function ToArguments($params)
+{
+ $arguments = ''
+ for ($i = 0; $i -lt $params.Length; $i++)
+ {
+ if ($i)
+ {
+ $arguments += ' '
+ }
+
+ if (!$params[$i].Contains(' '))
+ {
+ $arguments += $params[$i]
+
+ continue
+ }
+
+ $arguments += '"'
+
+ $pendingBackslashs = 0
+ for ($j = 0; $j -lt $params[$i].Length; $j++)
+ {
+ switch ($params[$i][$j])
+ {
+ '"'
+ {
+ if ($pendingBackslashs)
+ {
+ $arguments += '\' * $pendingBackslashs * 2
+ $pendingBackslashs = 0
+ }
+ $arguments += '\"'
+ }
+
+ '\'
+ {
+ $pendingBackslashs++
+ }
+
+ default
+ {
+ if ($pendingBackslashs)
+ {
+ if ($pendingBackslashs -eq 1)
+ {
+ $arguments += '\'
+ }
+ else
+ {
+ $arguments += '\' * $pendingBackslashs * 2
+ }
+
+ $pendingBackslashs = 0
+ }
+
+ $arguments += $params[$i][$j]
+ }
+ }
+ }
+
+ if ($pendingBackslashs)
+ {
+ $arguments += '\' * $pendingBackslashs * 2
+ }
+
+ $arguments += '"'
+ }
+
+ return $arguments
+}
+
+# SIG # Begin signature block
+# MIIkAQYJKoZIhvcNAQcCoIIj8jCCI+4CAQExDzANBglghkgBZQMEAgEFADB5Bgor
+# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
+# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCEuN1vwMR4xAKv
+# ohj10lo4t9IRE5afGB03p+0x7v+21qCCDYIwggYAMIID6KADAgECAhMzAAAAww6b
+# p9iy3PcsAAAAAADDMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
+# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
+# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
+# bmcgUENBIDIwMTEwHhcNMTcwODExMjAyMDI0WhcNMTgwODExMjAyMDI0WjB0MQsw
+# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
+# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
+# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
+# AQC7V9c40bEGf0ktqW2zY596urY6IVu0mK6N1KSBoMV1xSzvgkAqt4FTd/NjAQq8
+# zjeEA0BDV4JLzu0ftv2AbcnCkV0Fx9xWWQDhDOtX3v3xuJAnv3VK/HWycli2xUib
+# M2IF0ZWUpb85Iq2NEk1GYtoyGc6qIlxWSLFvRclndmJdMIijLyjFH1Aq2YbbGhEl
+# gcL09Wcu53kd9eIcdfROzMf8578LgEcp/8/NabEMC2DrZ+aEG5tN/W1HOsfZwWFh
+# 8pUSoQ0HrmMh2PSZHP94VYHupXnoIIJfCtq1UxlUAVcNh5GNwnzxVIaA4WLbgnM+
+# Jl7wQBLSOdUmAw2FiDFfCguLAgMBAAGjggF/MIIBezAfBgNVHSUEGDAWBgorBgEE
+# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUpxNdHyGJVegD7p4XNuryVIg1Ga8w
+# UQYDVR0RBEowSKRGMEQxDDAKBgNVBAsTA0FPQzE0MDIGA1UEBRMrMjMwMDEyK2M4
+# MDRiNWVhLTQ5YjQtNDIzOC04MzYyLWQ4NTFmYTIyNTRmYzAfBgNVHSMEGDAWgBRI
+# bmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3
+# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEt
+# MDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3
+# dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIw
+# MTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAE2X
+# TzR+8XCTnOPVGkucEX5rJsSlJPTfRNQkurNqCImZmssx53Cb/xQdsAc5f+QwOxMi
+# 3g7IlWe7bn74fJWkkII3k6aD00kCwaytWe+Rt6dmAA6iTCXU3OddBwLKKDRlOzmD
+# rZUqjsqg6Ag6HP4+e0BJlE2OVCUK5bHHCu5xN8abXjb1p0JE+7yHsA3ANdkmh1//
+# Z+8odPeKMAQRimfMSzVgaiHnw40Hg16bq51xHykmCRHU9YLT0jYHKa7okm2QfwDJ
+# qFvu0ARl+6EOV1PM8piJ858Vk8gGxGNSYQJPV0gc9ft1Esq1+fTCaV+7oZ0NaYMn
+# 64M+HWsxw+4O8cSEQ4fuMZwGADJ8tyCKuQgj6lawGNSyvRXsN+1k02sVAiPGijOH
+# OtGbtsCWWSygAVOEAV/ye8F6sOzU2FL2X3WBRFkWOCdTu1DzXnHf99dR3DHVGmM1
+# Kpd+n2Y3X89VM++yyrwsI6pEHu77Z0i06ELDD4pRWKJGAmEmWhm/XJTpqEBw51sw
+# THyA1FBnoqXuDus9tfHleR7h9VgZb7uJbXjiIFgl/+RIs+av8bJABBdGUNQMbJEU
+# fe7K4vYm3hs7BGdRLg+kF/dC/z+RiTH4p7yz5TpS3Cozf0pkkWXYZRG222q3tGxS
+# /L+LcRbELM5zmqDpXQjBRUWlKYbsATFtXnTGVjELMIIHejCCBWKgAwIBAgIKYQ6Q
+# 0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT
+# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
+# dCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNh
+# dGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5
+# WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
+# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQD
+# Ex9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0B
+# AQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4
+# BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe
+# 0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato
+# 88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v
+# ++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDst
+# rjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN
+# 91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4ji
+# JV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmh
+# D+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbi
+# wZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8Hh
+# hUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaI
+# jAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTl
+# UAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV
+# HQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQF
+# TuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29m
+# dC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNf
+# MjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5t
+# aWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNf
+# MjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcC
+# ARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnlj
+# cHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5
+# AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oal
+# mOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0ep
+# o/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1
+# HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtY
+# SWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInW
+# H8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZ
+# iWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMd
+# YzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7f
+# QccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKf
+# enoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOpp
+# O6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZO
+# SEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCFdUwghXRAgEBMIGVMH4xCzAJ
+# BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k
+# MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jv
+# c29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAADDDpun2LLc9ywAAAAAAMMw
+# DQYJYIZIAWUDBAIBBQCggcQwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYK
+# KwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIK4CTAgm
+# 7BC2ASJnX3bqlcGz0P11baIjCGQvpHmU/9NxMFgGCisGAQQBgjcCAQwxSjBIoC6A
+# LABNAGkAYwByAG8AcwBvAGYAdAAgAEEAUwBQAC4ATgBFAFQAIABDAG8AcgBloRaA
+# FGh0dHBzOi8vd3d3LmFzcC5uZXQvMA0GCSqGSIb3DQEBAQUABIIBALIEg6ZLeRA7
+# MxxDDu8MTmCBIfUvvrLZTti5M1+8Oz5gGQD+KGlT/PSzBiWV9V7o4udK+TO/SiAL
+# M/kdGI3wjgvNSXEIiaRLu4xSnOEcdy/kMU9cu9Wkyo9MjVj2XvVz5DN6GV//h7cZ
+# ulDo0SvQoKSIRXlClK45UVt6sLFQrNxZKF6O4roy7Uy4+031Dfch883k9spGKeoy
+# lbzk/luDIL0/bMp2bYDyTHxT4fwVA4dn0PHvjxi3s2FXgqg+zZVgxa9rrjLmz864
+# fPT/1ksJFd2s5aYrwTD+c5MxXeap01eaz8ghyYRTl4Aj6b/Cfjgd78qpVEQ5S3NE
+# F72x3Ey1huyhghNJMIITRQYKKwYBBAGCNwMDATGCEzUwghMxBgkqhkiG9w0BBwKg
+# ghMiMIITHgIBAzEPMA0GCWCGSAFlAwQCAQUAMIIBPAYLKoZIhvcNAQkQAQSgggEr
+# BIIBJzCCASMCAQEGCisGAQQBhFkKAwEwMTANBglghkgBZQMEAgEFAAQgnShDyWC/
+# QgNQJ9B0vW5JP2j4/8G9uMlCaOcCk1AF7wECBlna3OyvuRgTMjAxNzEwMzAyMzU0
+# MTYuMDI4WjAHAgEBgAIB9KCBuKSBtTCBsjELMAkGA1UEBhMCVVMxEzARBgNVBAgT
+# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
+# dCBDb3Jwb3JhdGlvbjEMMAoGA1UECxMDQU9DMScwJQYDVQQLEx5uQ2lwaGVyIERT
+# RSBFU046MTJCNC0yRDVGLTg3RDQxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0
+# YW1wIFNlcnZpY2Wggg7NMIIGcTCCBFmgAwIBAgIKYQmBKgAAAAAAAjANBgkqhkiG
+# 9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
+# BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEy
+# MDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIw
+# MTAwHhcNMTAwNzAxMjEzNjU1WhcNMjUwNzAxMjE0NjU1WjB8MQswCQYDVQQGEwJV
+# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE
+# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGlt
+# ZS1TdGFtcCBQQ0EgMjAxMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
+# AKkdDbx3EYo6IOz8E5f1+n9plGt0VBDVpQoAgoX77XxoSyxfxcPlYcJ2tz5mK1vw
+# FVMnBDEfQRsalR3OCROOfGEwWbEwRA/xYIiEVEMM1024OAizQt2TrNZzMFcmgqNF
+# DdDq9UeBzb8kYDJYYEbyWEeGMoQedGFnkV+BVLHPk0ySwcSmXdFhE24oxhr5hoC7
+# 32H8RsEnHSRnEnIaIYqvS2SJUGKxXf13Hz3wV3WsvYpCTUBR0Q+cBj5nf/VmwAOW
+# RH7v0Ev9buWayrGo8noqCjHw2k4GkbaICDXoeByw6ZnNPOcvRLqn9NxkvaQBwSAJ
+# k3jN/LzAyURdXhacAQVPIk0CAwEAAaOCAeYwggHiMBAGCSsGAQQBgjcVAQQDAgEA
+# MB0GA1UdDgQWBBTVYzpcijGQ80N7fEYbxTNoWoVtVTAZBgkrBgEEAYI3FAIEDB4K
+# AFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSME
+# GDAWgBTV9lbLj+iiXGJo0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRw
+# Oi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJB
+# dXRfMjAxMC0wNi0yMy5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5o
+# dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8y
+# MDEwLTA2LTIzLmNydDCBoAYDVR0gAQH/BIGVMIGSMIGPBgkrBgEEAYI3LgMwgYEw
+# PQYIKwYBBQUHAgEWMWh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9QS0kvZG9jcy9D
+# UFMvZGVmYXVsdC5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AUABv
+# AGwAaQBjAHkAXwBTAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQAD
+# ggIBAAfmiFEN4sbgmD+BcQM9naOhIW+z66bM9TG+zwXiqf76V20ZMLPCxWbJat/1
+# 5/B4vceoniXj+bzta1RXCCtRgkQS+7lTjMz0YBKKdsxAQEGb3FwX/1z5Xhc1mCRW
+# S3TvQhDIr79/xn/yN31aPxzymXlKkVIArzgPF/UveYFl2am1a+THzvbKegBvSzBE
+# JCI8z+0DpZaPWSm8tv0E4XCfMkon/VWvL/625Y4zu2JfmttXQOnxzplmkIz/amJ/
+# 3cVKC5Em4jnsGUpxY517IW3DnKOiPPp/fZZqkHimbdLhnPkd/DjYlPTGpQqWhqS9
+# nhquBEKDuLWAmyI4ILUl5WTs9/S/fmNZJQ96LjlXdqJxqgaKD4kWumGnEcua2A5H
+# moDF0M2n0O99g/DhO3EJ3110mCIIYdqwUB5vvfHhAN/nMQekkzr3ZUd46PioSKv3
+# 3nJ+YWtvd6mBy6cJrDm77MbL2IK0cs0d9LiFAR6A+xuJKlQ5slvayA1VmXqHczsI
+# 5pgt6o3gMy4SKfXAL1QnIffIrE7aKLixqduWsqdCosnPGUFN4Ib5KpqjEWYw07t0
+# MkvfY3v1mYovG8chr1m1rtxEPJdQcdeh0sVV42neV8HR3jDA/czmTfsNv11P6Z0e
+# GTgvvM9YBS7vDaBQNdrvCScc1bN+NR4Iuto229Nfj950iEkSMIIE2TCCA8GgAwIB
+# AgITMwAAAKdkXcUoDwE9RAAAAAAApzANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQG
+# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
+# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQg
+# VGltZS1TdGFtcCBQQ0EgMjAxMDAeFw0xNjA5MDcxNzU2NTJaFw0xODA5MDcxNzU2
+# NTJaMIGyMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE
+# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMQwwCgYD
+# VQQLEwNBT0MxJzAlBgNVBAsTHm5DaXBoZXIgRFNFIEVTTjoxMkI0LTJENUYtODdE
+# NDElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCCASIwDQYJ
+# KoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbqGlDAX0/SU/mh7AR8DdcgVzEhUdjH
+# 7gMKLnjOiy4iI2uWNhAfClF6heddFP5zstfSfGNVwQq4xpQ06LiJ2RecCbEYoZE/
+# Q1ZVVtlbxU/Wg37k6BCIG0x6G5Ci1LUC09H4v5vO/zVq1S6OTJNGerN9TlLQGBHY
+# zJfMTJTkcotQ/OrSUgkQOIMRuJYDMThcQY06KYcRWBOjDq19rd765m7K0Lihc22+
+# tamlZ0lrB3x5iLRmNvIxJzgU4jUfwSddeMjiKjJrZ4FGUwXWe0M1akQw7bsh7TdJ
+# f7JECZvaWcArPpL4DsAmSxeK7wjTVOeMC4+KjVL2oHmoT2YGMrmLKvECAwEAAaOC
+# ARswggEXMB0GA1UdDgQWBBR8DUoLfftP/14QLD15byBNQlCIXTAfBgNVHSMEGDAW
+# gBTVYzpcijGQ80N7fEYbxTNoWoVtVTBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8v
+# Y3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNUaW1TdGFQQ0Ff
+# MjAxMC0wNy0wMS5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRw
+# Oi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1RpbVN0YVBDQV8yMDEw
+# LTA3LTAxLmNydDAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMIMA0G
+# CSqGSIb3DQEBCwUAA4IBAQCaxiRL55eyUgFkhw/iQpMoVnl29PkKFWdNeg6JgDw/
+# M0LejnLyXKbzeLO5sIXSjyXt24q94Sx9VmAEEs8n82N4+EZUVEoW2mvqXLv7hnps
+# Xn9Nc2KgNp2w3rPpzxJijPrwnGwkDGuILpGXvt9OMoxcbieEJ3mbncvf6OwRCwAJ
+# XHovaiX20vY6KodtR3bMVa9OtvHVehqz+ZwdCEgo/XH/XgebJUKwo/gL/WHSX7p0
+# 6GHV8+LgRL8pDeOK8G1djFri5Q4NgQfRK47SeVCZrQGiyzUBur4AQoMjcbYdYIeq
+# jFv+e+1whg4IcbVXhS+UECNttB+8o0a35RZLrvCutrpOoYIDdzCCAl8CAQEwgeKh
+# gbikgbUwgbIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD
+# VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xDDAK
+# BgNVBAsTA0FPQzEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNOOjEyQjQtMkQ1Ri04
+# N0Q0MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNloiUKAQEw
+# CQYFKw4DAhoFAAMVAOSCLp0yNm10ADIPHsEhtA3rDHfZoIHBMIG+pIG7MIG4MQsw
+# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
+# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMQwwCgYDVQQLEwNBT0Mx
+# JzAlBgNVBAsTHm5DaXBoZXIgTlRTIEVTTjoyNjY1LTRDM0YtQzVERTErMCkGA1UE
+# AxMiTWljcm9zb2Z0IFRpbWUgU291cmNlIE1hc3RlciBDbG9jazANBgkqhkiG9w0B
+# AQUFAAIFAN2iFY8wIhgPMjAxNzEwMzAyMTE4MDdaGA8yMDE3MTAzMTIxMTgwN1ow
+# dzA9BgorBgEEAYRZCgQBMS8wLTAKAgUA3aIVjwIBADAKAgEAAgIcAQIB/zAHAgEA
+# AgIZuTAKAgUA3aNnDwIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMB
+# oAowCAIBAAIDFuNgoQowCAIBAAIDB6EgMA0GCSqGSIb3DQEBBQUAA4IBAQBBrBgf
+# 4Pex4VbTUYXZvHmsNNF8WHg8GDCvtNJy9NbJpoJ2L1qLz5MnsEGt1Xh9pTIMoKUp
+# 6mZbYpb9Gqya6ojLrjHggvgfbqrou8047YLFBONkTtiXdF34S4SN/ByLoydnVnho
+# zrScYViUCFT0gQ39sjdRX4UbV+vZn+Fb3lzXFLtakoPH4s/08j7vtcTc92SVwLn9
+# ddFfVrAMWyao8oYhoQeTmBBklwjwrAit36zWAqpC8y9gzPn08DXLOzYAwVaD3Me8
+# Plv578m4sVVlaKotyXDa8itaYSJwRy82coORriIGjbsXt7P2Yi/vmu9oShaU3kt6
+# zrntQ3hmv9BnfwZ8MYIC9TCCAvECAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNV
+# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv
+# c29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg
+# UENBIDIwMTACEzMAAACnZF3FKA8BPUQAAAAAAKcwDQYJYIZIAWUDBAIBBQCgggEy
+# MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgiAsg
+# BA8r+TUzxGuficwZ23EW+v206lAvSDjL5aBbPogwgeIGCyqGSIb3DQEJEAIMMYHS
+# MIHPMIHMMIGxBBTkgi6dMjZtdAAyDx7BIbQN6wx32TCBmDCBgKR+MHwxCzAJBgNV
+# BAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w
+# HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29m
+# dCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAAp2RdxSgPAT1EAAAAAACnMBYEFJF8
+# Crj19kUQBRS2aTH4u7CegPioMA0GCSqGSIb3DQEBCwUABIIBAHsusZjovIuO1InG
+# MxbciHmCGCVeoFGiSg7EGW55RVqx2YFsXzQ7DrnJsQvkYvf9IJ2a5oYPDfTdavOq
+# w5+J6uhp8qy2CYUduQMBACdqgtdL1Oz8UJIuyhlVECGdoK28SpW5QJ4DJdqt9xf8
+# znTcTPxpt4+SPflVPesUfMTazD/TfgnIqBwoXb6c84YLcrBwjsoc4s7GhuCowR/0
+# ViO1IGvqwzS3wm/hQOkCsz755E94wSsSMoDeE4Vcckx75bTepGB8ZNNfBeoujpaf
+# WOJuGQgpK7rCAAy3xRrGovVmWOIjTrTPNMtotJo1mA76ruMVYZq7DPx9oXoTL36t
+# EbSybGg=
+# SIG # End signature block
diff --git a/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/about_EntityFrameworkCore.help.txt b/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/about_EntityFrameworkCore.help.txt
new file mode 100644
index 0000000000..10228d3dc2
--- /dev/null
+++ b/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/about_EntityFrameworkCore.help.txt
@@ -0,0 +1,44 @@
+
+ _/\__
+ ---==/ \\
+ ___ ___ |. \|\
+ | __|| __| | ) \\\
+ | _| | _| \_/ | //|\\
+ |___||_| / \\\/\\
+
+TOPIC
+ about_EntityFrameworkCore
+
+SHORT DESCRIPTION
+ Provides information about the Entity Framework Core Package Manager Console Tools.
+
+LONG DESCRIPTION
+ This topic describes the Entity Framework Core Package Manager Console Tools. See https://docs.efproject.net for
+ information on Entity Framework Core.
+
+ The following Entity Framework Core commands are available.
+
+ Cmdlet Description
+ -------------------------- ---------------------------------------------------
+ Add-Migration Adds a new migration.
+
+ Drop-Database Drops the database.
+
+ Get-DbContext Gets information about a DbContext type.
+
+ Remove-Migration Removes the last migration.
+
+ Scaffold-DbContext Scaffolds a DbContext and entity types for a database.
+
+ Script-Migration Generates a SQL script from migrations.
+
+ Update-Database Updates the database to a specified migration.
+
+SEE ALSO
+ Add-Migration
+ Drop-Database
+ Get-DbContext
+ Remove-Migration
+ Scaffold-DbContext
+ Script-Migration
+ Update-Database
diff --git a/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/init.ps1 b/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/init.ps1
new file mode 100644
index 0000000000..9266232ba5
--- /dev/null
+++ b/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/init.ps1
@@ -0,0 +1,220 @@
+param($installPath, $toolsPath, $package, $project)
+
+if ($PSVersionTable.PSVersion.Major -lt 3)
+{
+ # This section needs to support PS2 syntax
+ # Use $toolsPath because PS2 does not support $PSScriptRoot
+ $env:PSModulePath = $env:PSModulePath + ';$toolsPath'
+
+ # Import a "dummy" module that contains matching functions that throw on PS2
+ Import-Module (Join-Path $toolsPath 'EntityFrameworkCore.PowerShell2.psd1') -DisableNameChecking
+
+ throw "PowerShell version $($PSVersionTable.PSVersion) is not supported. Please upgrade PowerShell to 3.0 or " +
+ 'greater and restart Visual Studio.'
+}
+else
+{
+ if (Get-Module 'EntityFrameworkCore')
+ {
+ Remove-Module 'EntityFrameworkCore'
+ }
+
+ Import-Module (Join-Path $PSScriptRoot 'EntityFrameworkCore.psd1') -DisableNameChecking
+}
+
+
+# SIG # Begin signature block
+# MIIj/gYJKoZIhvcNAQcCoIIj7zCCI+sCAQExDzANBglghkgBZQMEAgEFADB5Bgor
+# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
+# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAbzRciq5RiiTVc
+# scofM7bgxbTa4kn6WI8p7CbjTYr5JqCCDYIwggYAMIID6KADAgECAhMzAAAAww6b
+# p9iy3PcsAAAAAADDMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
+# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
+# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
+# bmcgUENBIDIwMTEwHhcNMTcwODExMjAyMDI0WhcNMTgwODExMjAyMDI0WjB0MQsw
+# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
+# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
+# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
+# AQC7V9c40bEGf0ktqW2zY596urY6IVu0mK6N1KSBoMV1xSzvgkAqt4FTd/NjAQq8
+# zjeEA0BDV4JLzu0ftv2AbcnCkV0Fx9xWWQDhDOtX3v3xuJAnv3VK/HWycli2xUib
+# M2IF0ZWUpb85Iq2NEk1GYtoyGc6qIlxWSLFvRclndmJdMIijLyjFH1Aq2YbbGhEl
+# gcL09Wcu53kd9eIcdfROzMf8578LgEcp/8/NabEMC2DrZ+aEG5tN/W1HOsfZwWFh
+# 8pUSoQ0HrmMh2PSZHP94VYHupXnoIIJfCtq1UxlUAVcNh5GNwnzxVIaA4WLbgnM+
+# Jl7wQBLSOdUmAw2FiDFfCguLAgMBAAGjggF/MIIBezAfBgNVHSUEGDAWBgorBgEE
+# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUpxNdHyGJVegD7p4XNuryVIg1Ga8w
+# UQYDVR0RBEowSKRGMEQxDDAKBgNVBAsTA0FPQzE0MDIGA1UEBRMrMjMwMDEyK2M4
+# MDRiNWVhLTQ5YjQtNDIzOC04MzYyLWQ4NTFmYTIyNTRmYzAfBgNVHSMEGDAWgBRI
+# bmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3
+# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEt
+# MDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3
+# dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIw
+# MTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAE2X
+# TzR+8XCTnOPVGkucEX5rJsSlJPTfRNQkurNqCImZmssx53Cb/xQdsAc5f+QwOxMi
+# 3g7IlWe7bn74fJWkkII3k6aD00kCwaytWe+Rt6dmAA6iTCXU3OddBwLKKDRlOzmD
+# rZUqjsqg6Ag6HP4+e0BJlE2OVCUK5bHHCu5xN8abXjb1p0JE+7yHsA3ANdkmh1//
+# Z+8odPeKMAQRimfMSzVgaiHnw40Hg16bq51xHykmCRHU9YLT0jYHKa7okm2QfwDJ
+# qFvu0ARl+6EOV1PM8piJ858Vk8gGxGNSYQJPV0gc9ft1Esq1+fTCaV+7oZ0NaYMn
+# 64M+HWsxw+4O8cSEQ4fuMZwGADJ8tyCKuQgj6lawGNSyvRXsN+1k02sVAiPGijOH
+# OtGbtsCWWSygAVOEAV/ye8F6sOzU2FL2X3WBRFkWOCdTu1DzXnHf99dR3DHVGmM1
+# Kpd+n2Y3X89VM++yyrwsI6pEHu77Z0i06ELDD4pRWKJGAmEmWhm/XJTpqEBw51sw
+# THyA1FBnoqXuDus9tfHleR7h9VgZb7uJbXjiIFgl/+RIs+av8bJABBdGUNQMbJEU
+# fe7K4vYm3hs7BGdRLg+kF/dC/z+RiTH4p7yz5TpS3Cozf0pkkWXYZRG222q3tGxS
+# /L+LcRbELM5zmqDpXQjBRUWlKYbsATFtXnTGVjELMIIHejCCBWKgAwIBAgIKYQ6Q
+# 0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT
+# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
+# dCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNh
+# dGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5
+# WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
+# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQD
+# Ex9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0B
+# AQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4
+# BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe
+# 0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato
+# 88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v
+# ++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDst
+# rjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN
+# 91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4ji
+# JV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmh
+# D+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbi
+# wZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8Hh
+# hUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaI
+# jAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTl
+# UAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV
+# HQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQF
+# TuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29m
+# dC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNf
+# MjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5t
+# aWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNf
+# MjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcC
+# ARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnlj
+# cHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5
+# AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oal
+# mOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0ep
+# o/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1
+# HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtY
+# SWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInW
+# H8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZ
+# iWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMd
+# YzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7f
+# QccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKf
+# enoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOpp
+# O6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZO
+# SEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCFdIwghXOAgEBMIGVMH4xCzAJ
+# BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k
+# MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jv
+# c29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAADDDpun2LLc9ywAAAAAAMMw
+# DQYJYIZIAWUDBAIBBQCggcQwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYK
+# KwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIMPrD0V4
+# XAiGu+WnscxzaMUixU63ZXhb7C7PiWVpVPRjMFgGCisGAQQBgjcCAQwxSjBIoC6A
+# LABNAGkAYwByAG8AcwBvAGYAdAAgAEEAUwBQAC4ATgBFAFQAIABDAG8AcgBloRaA
+# FGh0dHBzOi8vd3d3LmFzcC5uZXQvMA0GCSqGSIb3DQEBAQUABIIBAFTb15S1+Pe4
+# Ldch8HoZ0Xticvd4FD0L/qDZIQ6F36di6YrIasAzPhisxasa7ArUmoHXMR0c1+Bd
+# ZFkVfGEsyuo0H95fHMsF6Shrd92LLORJYixhh4BOrU0wUuySU3AzMxtQOFJ1Le21
+# ocxd1x1jwrFYVxMpYF01+qVydeh/j2iHIY4SfrW2UuC/WWQWXH4UslNyeAZleURa
+# Yiq4Q3F6LARDmvy06cmgGvqloux3iWCf/7cs9R05NjW+yYS2Baazhxbg52qauCbj
+# PfpttdXoo3DRXiNLwMem0h+jfUwRQBmNe9rg2sWyuNf5o5YS55whCY+u8Qs7/AoS
+# s5hWv1UQZzGhghNGMIITQgYKKwYBBAGCNwMDATGCEzIwghMuBgkqhkiG9w0BBwKg
+# ghMfMIITGwIBAzEPMA0GCWCGSAFlAwQCAQUAMIIBOwYLKoZIhvcNAQkQAQSgggEq
+# BIIBJjCCASICAQEGCisGAQQBhFkKAwEwMTANBglghkgBZQMEAgEFAAQghWZNtkzP
+# Ri/2tDnuARx6irZuBknDEqMdsfO+YceEZosCBlnWhoi3TxgTMjAxNzEwMzAyMzU0
+# MTYuMTgxWjAHAgEBgAIB9KCBt6SBtDCBsTELMAkGA1UEBhMCVVMxEzARBgNVBAgT
+# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
+# dCBDb3Jwb3JhdGlvbjEMMAoGA1UECxMDQU9DMSYwJAYDVQQLEx1UaGFsZXMgVFNT
+# IEVTTjpDM0IwLTBGNkEtNDExMTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3Rh
+# bXAgU2VydmljZaCCDsswggZxMIIEWaADAgECAgphCYEqAAAAAAACMA0GCSqGSIb3
+# DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G
+# A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTIw
+# MAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAx
+# MDAeFw0xMDA3MDEyMTM2NTVaFw0yNTA3MDEyMTQ2NTVaMHwxCzAJBgNVBAYTAlVT
+# MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK
+# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1l
+# LVN0YW1wIFBDQSAyMDEwMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
+# qR0NvHcRijog7PwTl/X6f2mUa3RUENWlCgCChfvtfGhLLF/Fw+Vhwna3PmYrW/AV
+# UycEMR9BGxqVHc4JE458YTBZsTBED/FgiIRUQwzXTbg4CLNC3ZOs1nMwVyaCo0UN
+# 0Or1R4HNvyRgMlhgRvJYR4YyhB50YWeRX4FUsc+TTJLBxKZd0WETbijGGvmGgLvf
+# YfxGwScdJGcSchohiq9LZIlQYrFd/XcfPfBXday9ikJNQFHRD5wGPmd/9WbAA5ZE
+# fu/QS/1u5ZrKsajyeioKMfDaTgaRtogINeh4HLDpmc085y9Euqf03GS9pAHBIAmT
+# eM38vMDJRF1eFpwBBU8iTQIDAQABo4IB5jCCAeIwEAYJKwYBBAGCNxUBBAMCAQAw
+# HQYDVR0OBBYEFNVjOlyKMZDzQ3t8RhvFM2hahW1VMBkGCSsGAQQBgjcUAgQMHgoA
+# UwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQY
+# MBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6
+# Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1
+# dF8yMDEwLTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0
+# dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIw
+# MTAtMDYtMjMuY3J0MIGgBgNVHSABAf8EgZUwgZIwgY8GCSsGAQQBgjcuAzCBgTA9
+# BggrBgEFBQcCARYxaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL1BLSS9kb2NzL0NQ
+# Uy9kZWZhdWx0Lmh0bTBABggrBgEFBQcCAjA0HjIgHQBMAGUAZwBhAGwAXwBQAG8A
+# bABpAGMAeQBfAFMAdABhAHQAZQBtAGUAbgB0AC4gHTANBgkqhkiG9w0BAQsFAAOC
+# AgEAB+aIUQ3ixuCYP4FxAz2do6Ehb7Prpsz1Mb7PBeKp/vpXbRkws8LFZslq3/Xn
+# 8Hi9x6ieJeP5vO1rVFcIK1GCRBL7uVOMzPRgEop2zEBAQZvcXBf/XPleFzWYJFZL
+# dO9CEMivv3/Gf/I3fVo/HPKZeUqRUgCvOA8X9S95gWXZqbVr5MfO9sp6AG9LMEQk
+# IjzP7QOllo9ZKby2/QThcJ8ySif9Va8v/rbljjO7Yl+a21dA6fHOmWaQjP9qYn/d
+# xUoLkSbiOewZSnFjnXshbcOco6I8+n99lmqQeKZt0uGc+R38ONiU9MalCpaGpL2e
+# Gq4EQoO4tYCbIjggtSXlZOz39L9+Y1klD3ouOVd2onGqBooPiRa6YacRy5rYDkea
+# gMXQzafQ732D8OE7cQnfXXSYIghh2rBQHm+98eEA3+cxB6STOvdlR3jo+KhIq/fe
+# cn5ha293qYHLpwmsObvsxsvYgrRyzR30uIUBHoD7G4kqVDmyW9rIDVWZeodzOwjm
+# mC3qjeAzLhIp9cAvVCch98isTtoouLGp25ayp0Kiyc8ZQU3ghvkqmqMRZjDTu3Qy
+# S99je/WZii8bxyGvWbWu3EQ8l1Bx16HSxVXjad5XwdHeMMD9zOZN+w2/XU/pnR4Z
+# OC+8z1gFLu8NoFA12u8JJxzVs341Hgi62jbb01+P3nSISRIwggTYMIIDwKADAgEC
+# AhMzAAAArYAjN2XEWiNqAAAAAACtMA0GCSqGSIb3DQEBCwUAMHwxCzAJBgNVBAYT
+# AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYD
+# VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBU
+# aW1lLVN0YW1wIFBDQSAyMDEwMB4XDTE2MDkwNzE3NTY1NVoXDTE4MDkwNzE3NTY1
+# NVowgbExCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH
+# EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xDDAKBgNV
+# BAsTA0FPQzEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046QzNCMC0wRjZBLTQxMTEx
+# JTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2UwggEiMA0GCSqG
+# SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDtsw3+ZRrdjbFV70cpvihU4xUCwcs6tloe
+# nowDcczbSqznjVS/XqH6NQEUIvxck+9Hmpe46mrv0eqnqiW5R1zmyWvTtAeaBvLn
+# sjTIixh72HW1eGlFDNdSIoyxEBKpuyZaPr9GUho5YUgLlFp4om6pKFxxQa0+g1aD
+# JCyh1anwxb5v3PbvElanMuvpy8epJH5Rm3n6B2u3JgoDMKyotjO6RK0aN4OXVyuE
+# kGg0wYB/HlFgydV+Ngqyqfk+tH633oT3m/FPqCYI5himKgJZcczBl/gpYnnX1s5N
+# ds//wRUB5pOYYJHTagWJLCABh9wQPTrLdqyDnRAJ/IcNnK5cmf2nAgMBAAGjggEb
+# MIIBFzAdBgNVHQ4EFgQUZCG6wC+s+JzHDJTl5x/JCta8/WswHwYDVR0jBBgwFoAU
+# 1WM6XIoxkPNDe3xGG8UzaFqFbVUwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDovL2Ny
+# bC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljVGltU3RhUENBXzIw
+# MTAtMDctMDEuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0cDov
+# L3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNUaW1TdGFQQ0FfMjAxMC0w
+# Ny0wMS5jcnQwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcDCDANBgkq
+# hkiG9w0BAQsFAAOCAQEAEoVHudSdmMR8ZG61qrhNU4oihtx2lXVdIo83dTxe9qVv
+# Oo0Zf7vqlDT+IKZqVDZPNFT/AAOVVCbzeWfv8cAY+um3MO13/2l02jOEEQ6Tr4EY
+# xyVauIXWYKG0a1szo/60hhgk2CGVW+6QFcbZY+7UpNj55HrdS7JzrBa5oMAEFu81
+# dTtQPPlhdtwB6AsfZlAa3apZT0yD2MWHBEIid6jK902lrhqRxccdIHwhWHVTr08l
+# uuLMuHBw41phXVys42v8jNOsOD9iPyZgw3mmlXX8j/zmLSyUfQLRG+7Df6TB2aRG
+# IjfXr3+Yul73d5NdqwuvFFBO6WZBLznqhOMXeflcVKGCA3YwggJeAgEBMIHhoYG3
+# pIG0MIGxMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE
+# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMQwwCgYD
+# VQQLEwNBT0MxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOkMzQjAtMEY2QS00MTEx
+# MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNloiUKAQEwCQYF
+# Kw4DAhoFAAMVAJwY5hrfGwOIF10cxscsS5qv4TDZoIHBMIG+pIG7MIG4MQswCQYD
+# VQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe
+# MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMQwwCgYDVQQLEwNBT0MxJzAl
+# BgNVBAsTHm5DaXBoZXIgTlRTIEVTTjoyNjY1LTRDM0YtQzVERTErMCkGA1UEAxMi
+# TWljcm9zb2Z0IFRpbWUgU291cmNlIE1hc3RlciBDbG9jazANBgkqhkiG9w0BAQUF
+# AAIFAN2iGy8wIhgPMjAxNzEwMzAyMTQyMDdaGA8yMDE3MTAzMTIxNDIwN1owdzA9
+# BgorBgEEAYRZCgQBMS8wLTAKAgUA3aIbLwIBADAKAgEAAgIUGwIB/zAHAgEAAgIU
+# SDAKAgUA3aNsrwIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMBoAow
+# CAIBAAIDFuNgoQowCAIBAAIDHoSAMA0GCSqGSIb3DQEBBQUAA4IBAQAlIdc6z1UI
+# e4e89SLT5rHJ2uzE3wta3XRbRNSgeglwcCEvw5yqFqdXZd7oVsSq3yDPvVJPF5cb
+# ROCl0mZHigKvEPUlqwwyY+VZkClgBSgx4YVBPFvR5F6SBSEm9v2iyV+nglSeSPvT
+# D/Ya8g92CpEJyHTB/LbGi5uSSfqpA2xeH1QaEBCirh/OaPdhvDGZGAntMfb7FOKp
+# Lqzegd3Qy+dUFPynwgqETNrd5oXtslKtQpdvyvPfmFNeRzoXse4AB1eHB82gowUt
+# G9zpjWBiNmY0bWvSRqxKYigUwPJskHmEbZBMgseXh0G3Lefip6WBLEJZcehSknEd
+# 0AYB/s1K7+0PMYIC9TCCAvECAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgT
+# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
+# dCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENB
+# IDIwMTACEzMAAACtgCM3ZcRaI2oAAAAAAK0wDQYJYIZIAWUDBAIBBQCgggEyMBoG
+# CSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgJK5JOwp+
+# 8VDNDcc4x3EYovJbY5dc+SSLTdWjkGmMPPcwgeIGCyqGSIb3DQEJEAIMMYHSMIHP
+# MIHMMIGxBBScGOYa3xsDiBddHMbHLEuar+Ew2TCBmDCBgKR+MHwxCzAJBgNVBAYT
+# AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYD
+# VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBU
+# aW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAArYAjN2XEWiNqAAAAAACtMBYEFD8jZewl
+# ZJ3GI5DksivoMp8odFsRMA0GCSqGSIb3DQEBCwUABIIBAAn+pKqLf6d6eK++Yb0A
+# DWKvWQNBELtwwcfSBg7W2GgirLuxe40z8YUD6/N89HAWx4aZdDFiPggF68xSSQZ+
+# wozuV/P5KRDiN0k1+kTmbHONcveC8XmjUNd1IveuL1Am5h9b7vJe0skr2T1IqWeg
+# x95VoJJ1cwsRJax4kDI79CgaSDOyYE3V2mtDV9RSxPkO7Lk5i1RAWlM3c7LGIVvF
+# z9J6GpmhgWWCYk4nSAQ+X4SorQg+lfeezNs4+1nYSplC58T/VRmc4yULiHGrWqGl
+# GqpqGOSg6WDJnjhcsfxAcxHYNgjyvcYPXtLtRW4PG6+rFpNa9CGtT2lRe/b4KFVI
+# YwY=
+# SIG # End signature block
diff --git a/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/install.ps1 b/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/install.ps1
new file mode 100644
index 0000000000..42e88dacae
--- /dev/null
+++ b/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/install.ps1
@@ -0,0 +1,201 @@
+param($installPath, $toolsPath, $package, $project)
+
+Write-Host
+Write-Host 'Type ''get-help EntityFrameworkCore'' to see all available Entity Framework Core commands.'
+Write-Host
+
+# SIG # Begin signature block
+# MIIkAQYJKoZIhvcNAQcCoIIj8jCCI+4CAQExDzANBglghkgBZQMEAgEFADB5Bgor
+# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
+# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBemlUOGcfVDDXk
+# df5myYRQWAeiHxZCWSM85btu3FHmEqCCDYIwggYAMIID6KADAgECAhMzAAAAww6b
+# p9iy3PcsAAAAAADDMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
+# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
+# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
+# bmcgUENBIDIwMTEwHhcNMTcwODExMjAyMDI0WhcNMTgwODExMjAyMDI0WjB0MQsw
+# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
+# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
+# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
+# AQC7V9c40bEGf0ktqW2zY596urY6IVu0mK6N1KSBoMV1xSzvgkAqt4FTd/NjAQq8
+# zjeEA0BDV4JLzu0ftv2AbcnCkV0Fx9xWWQDhDOtX3v3xuJAnv3VK/HWycli2xUib
+# M2IF0ZWUpb85Iq2NEk1GYtoyGc6qIlxWSLFvRclndmJdMIijLyjFH1Aq2YbbGhEl
+# gcL09Wcu53kd9eIcdfROzMf8578LgEcp/8/NabEMC2DrZ+aEG5tN/W1HOsfZwWFh
+# 8pUSoQ0HrmMh2PSZHP94VYHupXnoIIJfCtq1UxlUAVcNh5GNwnzxVIaA4WLbgnM+
+# Jl7wQBLSOdUmAw2FiDFfCguLAgMBAAGjggF/MIIBezAfBgNVHSUEGDAWBgorBgEE
+# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUpxNdHyGJVegD7p4XNuryVIg1Ga8w
+# UQYDVR0RBEowSKRGMEQxDDAKBgNVBAsTA0FPQzE0MDIGA1UEBRMrMjMwMDEyK2M4
+# MDRiNWVhLTQ5YjQtNDIzOC04MzYyLWQ4NTFmYTIyNTRmYzAfBgNVHSMEGDAWgBRI
+# bmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3
+# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEt
+# MDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3
+# dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIw
+# MTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAE2X
+# TzR+8XCTnOPVGkucEX5rJsSlJPTfRNQkurNqCImZmssx53Cb/xQdsAc5f+QwOxMi
+# 3g7IlWe7bn74fJWkkII3k6aD00kCwaytWe+Rt6dmAA6iTCXU3OddBwLKKDRlOzmD
+# rZUqjsqg6Ag6HP4+e0BJlE2OVCUK5bHHCu5xN8abXjb1p0JE+7yHsA3ANdkmh1//
+# Z+8odPeKMAQRimfMSzVgaiHnw40Hg16bq51xHykmCRHU9YLT0jYHKa7okm2QfwDJ
+# qFvu0ARl+6EOV1PM8piJ858Vk8gGxGNSYQJPV0gc9ft1Esq1+fTCaV+7oZ0NaYMn
+# 64M+HWsxw+4O8cSEQ4fuMZwGADJ8tyCKuQgj6lawGNSyvRXsN+1k02sVAiPGijOH
+# OtGbtsCWWSygAVOEAV/ye8F6sOzU2FL2X3WBRFkWOCdTu1DzXnHf99dR3DHVGmM1
+# Kpd+n2Y3X89VM++yyrwsI6pEHu77Z0i06ELDD4pRWKJGAmEmWhm/XJTpqEBw51sw
+# THyA1FBnoqXuDus9tfHleR7h9VgZb7uJbXjiIFgl/+RIs+av8bJABBdGUNQMbJEU
+# fe7K4vYm3hs7BGdRLg+kF/dC/z+RiTH4p7yz5TpS3Cozf0pkkWXYZRG222q3tGxS
+# /L+LcRbELM5zmqDpXQjBRUWlKYbsATFtXnTGVjELMIIHejCCBWKgAwIBAgIKYQ6Q
+# 0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT
+# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
+# dCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNh
+# dGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5
+# WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
+# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQD
+# Ex9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0B
+# AQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4
+# BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe
+# 0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato
+# 88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v
+# ++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDst
+# rjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN
+# 91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4ji
+# JV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmh
+# D+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbi
+# wZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8Hh
+# hUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaI
+# jAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTl
+# UAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV
+# HQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQF
+# TuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29m
+# dC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNf
+# MjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5t
+# aWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNf
+# MjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcC
+# ARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnlj
+# cHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5
+# AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oal
+# mOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0ep
+# o/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1
+# HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtY
+# SWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInW
+# H8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZ
+# iWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMd
+# YzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7f
+# QccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKf
+# enoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOpp
+# O6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZO
+# SEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCFdUwghXRAgEBMIGVMH4xCzAJ
+# BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k
+# MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jv
+# c29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAADDDpun2LLc9ywAAAAAAMMw
+# DQYJYIZIAWUDBAIBBQCggcQwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYK
+# KwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIN5nEqld
+# FHGpODUE4YvfCzs0qztazk3p6i3Ans4f0cFEMFgGCisGAQQBgjcCAQwxSjBIoC6A
+# LABNAGkAYwByAG8AcwBvAGYAdAAgAEEAUwBQAC4ATgBFAFQAIABDAG8AcgBloRaA
+# FGh0dHBzOi8vd3d3LmFzcC5uZXQvMA0GCSqGSIb3DQEBAQUABIIBAIhVhpse+8Wc
+# 3YHhZdNvBWAuDh1fN3vlzbvvx+2ywxp6VrZYHQbRe/fIcl4qXmlJ3Rd9sB4U8jF7
+# b0UkOfCbV3Pf8Zd7KsibJCwtXvnrtgnkIKVH7OO50N8AdbP6rPdyJ6cq2mPADTqx
+# 8AJBLqB53pHhiRJvbR7aLsoMCPJhSO/jVfQlCDswv8kySD/CNylQ46GfmjpdtfIw
+# UmowohJPvEipN141sk4p+wpEBIv+Lqq6qzJkcGcFVqfTsPUVLuDx3SfUNKxRWsKS
+# ltGaig3V3CFjEOBt4vKUUr8MaflgvVl38/wnaBDKJOrJsiaHWHoUdfWabWrS3HQR
+# CXJvkOQNduuhghNJMIITRQYKKwYBBAGCNwMDATGCEzUwghMxBgkqhkiG9w0BBwKg
+# ghMiMIITHgIBAzEPMA0GCWCGSAFlAwQCAQUAMIIBPAYLKoZIhvcNAQkQAQSgggEr
+# BIIBJzCCASMCAQEGCisGAQQBhFkKAwEwMTANBglghkgBZQMEAgEFAAQgspL7na7c
+# cbV3vDhGvjY3hvnIpjnElEqH+fxmEelVd1UCBlnWiBJuaRgTMjAxNzEwMzAyMzU0
+# MTYuMTg5WjAHAgEBgAIB9KCBuKSBtTCBsjELMAkGA1UEBhMCVVMxEzARBgNVBAgT
+# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
+# dCBDb3Jwb3JhdGlvbjEMMAoGA1UECxMDQU9DMScwJQYDVQQLEx5uQ2lwaGVyIERT
+# RSBFU046MTJFNy0zMDY0LTYxMTIxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0
+# YW1wIFNlcnZpY2Wggg7NMIIGcTCCBFmgAwIBAgIKYQmBKgAAAAAAAjANBgkqhkiG
+# 9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
+# BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEy
+# MDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIw
+# MTAwHhcNMTAwNzAxMjEzNjU1WhcNMjUwNzAxMjE0NjU1WjB8MQswCQYDVQQGEwJV
+# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE
+# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGlt
+# ZS1TdGFtcCBQQ0EgMjAxMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
+# AKkdDbx3EYo6IOz8E5f1+n9plGt0VBDVpQoAgoX77XxoSyxfxcPlYcJ2tz5mK1vw
+# FVMnBDEfQRsalR3OCROOfGEwWbEwRA/xYIiEVEMM1024OAizQt2TrNZzMFcmgqNF
+# DdDq9UeBzb8kYDJYYEbyWEeGMoQedGFnkV+BVLHPk0ySwcSmXdFhE24oxhr5hoC7
+# 32H8RsEnHSRnEnIaIYqvS2SJUGKxXf13Hz3wV3WsvYpCTUBR0Q+cBj5nf/VmwAOW
+# RH7v0Ev9buWayrGo8noqCjHw2k4GkbaICDXoeByw6ZnNPOcvRLqn9NxkvaQBwSAJ
+# k3jN/LzAyURdXhacAQVPIk0CAwEAAaOCAeYwggHiMBAGCSsGAQQBgjcVAQQDAgEA
+# MB0GA1UdDgQWBBTVYzpcijGQ80N7fEYbxTNoWoVtVTAZBgkrBgEEAYI3FAIEDB4K
+# AFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSME
+# GDAWgBTV9lbLj+iiXGJo0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRw
+# Oi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJB
+# dXRfMjAxMC0wNi0yMy5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5o
+# dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8y
+# MDEwLTA2LTIzLmNydDCBoAYDVR0gAQH/BIGVMIGSMIGPBgkrBgEEAYI3LgMwgYEw
+# PQYIKwYBBQUHAgEWMWh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9QS0kvZG9jcy9D
+# UFMvZGVmYXVsdC5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AUABv
+# AGwAaQBjAHkAXwBTAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQAD
+# ggIBAAfmiFEN4sbgmD+BcQM9naOhIW+z66bM9TG+zwXiqf76V20ZMLPCxWbJat/1
+# 5/B4vceoniXj+bzta1RXCCtRgkQS+7lTjMz0YBKKdsxAQEGb3FwX/1z5Xhc1mCRW
+# S3TvQhDIr79/xn/yN31aPxzymXlKkVIArzgPF/UveYFl2am1a+THzvbKegBvSzBE
+# JCI8z+0DpZaPWSm8tv0E4XCfMkon/VWvL/625Y4zu2JfmttXQOnxzplmkIz/amJ/
+# 3cVKC5Em4jnsGUpxY517IW3DnKOiPPp/fZZqkHimbdLhnPkd/DjYlPTGpQqWhqS9
+# nhquBEKDuLWAmyI4ILUl5WTs9/S/fmNZJQ96LjlXdqJxqgaKD4kWumGnEcua2A5H
+# moDF0M2n0O99g/DhO3EJ3110mCIIYdqwUB5vvfHhAN/nMQekkzr3ZUd46PioSKv3
+# 3nJ+YWtvd6mBy6cJrDm77MbL2IK0cs0d9LiFAR6A+xuJKlQ5slvayA1VmXqHczsI
+# 5pgt6o3gMy4SKfXAL1QnIffIrE7aKLixqduWsqdCosnPGUFN4Ib5KpqjEWYw07t0
+# MkvfY3v1mYovG8chr1m1rtxEPJdQcdeh0sVV42neV8HR3jDA/czmTfsNv11P6Z0e
+# GTgvvM9YBS7vDaBQNdrvCScc1bN+NR4Iuto229Nfj950iEkSMIIE2TCCA8GgAwIB
+# AgITMwAAAKyKIbx60pty9AAAAAAArDANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQG
+# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
+# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQg
+# VGltZS1TdGFtcCBQQ0EgMjAxMDAeFw0xNjA5MDcxNzU2NTRaFw0xODA5MDcxNzU2
+# NTRaMIGyMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE
+# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMQwwCgYD
+# VQQLEwNBT0MxJzAlBgNVBAsTHm5DaXBoZXIgRFNFIEVTTjoxMkU3LTMwNjQtNjEx
+# MjElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCCASIwDQYJ
+# KoZIhvcNAQEBBQADggEPADCCAQoCggEBAKHE9DyljnMxoRdBXKt3CLep0UOqu9/c
+# dPm6NVZqhAnYqbv7VPcY2cals0Po+iYBzD019X4L5EyYKtOGlSUFXN67Ow0vYuyP
+# 2Yx0rzeLF5trN6dKsDStcsiJ9YHModU/qPOxBaj3pwe6QdmojzFGne1iK+Bqm3ks
+# uuf1GbYmf4TSHaUoM7Dmwi15mKuI4w8fZnua2BhebIHxOGB0Hjqnp+s0alxevXWl
+# rVWSV2XSJjqgEApBBLEnkGfg3u6LlaPnAOQNnMYCDqfWm0w9M8mEva6ixbzhiOdK
+# n/ay41qneo6MoRheakbO9qyrmrKo/K9+p+Sw580Fome1+kLx0gMkqucCAwEAAaOC
+# ARswggEXMB0GA1UdDgQWBBTYR3CohTWLE2Gvh5DoRRck4JinDTAfBgNVHSMEGDAW
+# gBTVYzpcijGQ80N7fEYbxTNoWoVtVTBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8v
+# Y3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNUaW1TdGFQQ0Ff
+# MjAxMC0wNy0wMS5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRw
+# Oi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1RpbVN0YVBDQV8yMDEw
+# LTA3LTAxLmNydDAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMIMA0G
+# CSqGSIb3DQEBCwUAA4IBAQBI7OheJ8MbGJxdtM52bjcMH11jHA1dpCPSFbTO0EAJ
+# 5ZtfrPF57XDtMl5dDHUh9PPUFYkB9WVrscDWjFrQuIX9R/qt9G8QSYaYev3BYRuv
+# fGISuWVMUTZX+Z1gFITB2PvibxAsF4VjfsKPHhMV74AH8VCXLeS9+skoNphhNNdM
+# AVgAqmLQBwNNwRJdlyyEn87xRmz1+vQGCs6bmHup5DUIk2YMxUSoSVC39wU7d3Gq
+# sAq/cW7+exPkaQAG768iJuDFfq02apxwghcoAuC/vMMhpEABa1dX0vCeay0NRsin
+# x0f+hJWbe0+cI+WsHf4Lby8+e8l1u0mL/I64RN36suf6oYIDdzCCAl8CAQEwgeKh
+# gbikgbUwgbIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD
+# VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xDDAK
+# BgNVBAsTA0FPQzEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNOOjEyRTctMzA2NC02
+# MTEyMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNloiUKAQEw
+# CQYFKw4DAhoFAAMVADlwJYsUyHndXwxd6Yucs5SZ9xy3oIHBMIG+pIG7MIG4MQsw
+# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
+# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMQwwCgYDVQQLEwNBT0Mx
+# JzAlBgNVBAsTHm5DaXBoZXIgTlRTIEVTTjoyNjY1LTRDM0YtQzVERTErMCkGA1UE
+# AxMiTWljcm9zb2Z0IFRpbWUgU291cmNlIE1hc3RlciBDbG9jazANBgkqhkiG9w0B
+# AQUFAAIFAN2iGU8wIhgPMjAxNzEwMzAyMTM0MDdaGA8yMDE3MTAzMTIxMzQwN1ow
+# dzA9BgorBgEEAYRZCgQBMS8wLTAKAgUA3aIZTwIBADAKAgEAAgIa+gIB/zAHAgEA
+# AgIZHzAKAgUA3aNqzwIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMB
+# oAowCAIBAAIDFuNgoQowCAIBAAIDB6EgMA0GCSqGSIb3DQEBBQUAA4IBAQAJKU5i
+# kXhWN6ixozSzUYxFoFLeGQm8P9MXC4S5dvxFlTH6B1ZE5XxVpG7QBYs4QRuTkQ5A
+# yPMwWQGmdD5HNoQ+p7SCtS8Jb5NQnd5z22cqD3RFAqJDV+yP/LjZzxr9/rh1SBjg
+# ZItKO8EDkDVaZavfi6DmkUsEAtmLTF/BqfYzkpS+8omBICdgQMGKNwLUk1R6M4oP
+# NLVQJTdDrFPJVOyOqD9v2CkgXJBtoH1opUpOlFIT4U03QTL2Zo32qbABvT4SYlqZ
+# mP+9vHnz0W2rj5jfwOgeA99r778jhK55gkX+b0kq6h+cUCNo9CRjC5/R8C4wHEyR
+# Kn54CUvUaJx9YvxpMYIC9TCCAvECAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNV
+# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv
+# c29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg
+# UENBIDIwMTACEzMAAACsiiG8etKbcvQAAAAAAKwwDQYJYIZIAWUDBAIBBQCgggEy
+# MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgmiq8
+# WvHVKqAkbrSpVdeURCdOOvoJicc5Tt6RHpzzuzUwgeIGCyqGSIb3DQEJEAIMMYHS
+# MIHPMIHMMIGxBBQ5cCWLFMh53V8MXemLnLOUmfcctzCBmDCBgKR+MHwxCzAJBgNV
+# BAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w
+# HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29m
+# dCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAArIohvHrSm3L0AAAAAACsMBYEFMx7
+# W8+/wZcnQkVW7yhXy1xfpg13MA0GCSqGSIb3DQEBCwUABIIBAAk29/6BZlU5br6l
+# gWa0ppscGtmdYXZPHYDM7ZEPn6vNkiKsTk8cRJIE3RXCjub4HcfT3V+CwBKeZ7eG
+# hRSKM5fMBhBEArGFoKiwr0+9P7MreMnAPBSQNvuV1BOH326Tq/gfv9dUAJ/JNphd
+# ycqccgDUSG3qMZOIwQy7gn5gzfA3hAoKJAzaOjBNL0/SWfNezRn+nOxryRyG+0Np
+# kBrP77LnppUZ6n68X/XPk8IShSTk0tJkxpWP5MsB+nEkEkIDt9NvyAryt2s82PB2
+# bGawis++50FmEIxWdQoiepaHPEvno/KucCWDXAfutzYneuAZJvraYr8jCaqZtHhm
+# FKmpTLI=
+# SIG # End signature block
diff --git a/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/net461/ef.exe b/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/net461/ef.exe
new file mode 100644
index 0000000000..55a7618bb1
--- /dev/null
+++ b/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/net461/ef.exe
Binary files differ
diff --git a/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/net461/ef.exe.config b/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/net461/ef.exe.config
new file mode 100644
index 0000000000..bbc7a1a4e6
--- /dev/null
+++ b/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/net461/ef.exe.config
@@ -0,0 +1,219 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Collections.Concurrent" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Collections" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.ComponentModel.Annotations" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.ComponentModel" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.ComponentModel.EventBasedAsync" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Diagnostics.Contracts" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Diagnostics.Debug" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Diagnostics.Tools" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Diagnostics.Tracing" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Dynamic.Runtime" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Globalization" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Linq" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Linq.Expressions" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Linq.Parallel" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Linq.Queryable" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Net.NetworkInformation" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Net.Primitives" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Net.Requests" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Net.WebHeaderCollection" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.ObjectModel" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection.Emit" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection.Emit.ILGeneration" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection.Emit.Lightweight" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection.Extensions" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection.Primitives" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Resources.ResourceManager" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime.Extensions" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime.Handles" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime.InteropServices" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime.InteropServices.WindowsRuntime" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime.Numerics" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime.Serialization.Json" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime.Serialization.Primitives" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime.Serialization.Xml" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Security.Principal" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.ServiceModel.Duplex" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.ServiceModel.Http" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.ServiceModel.NetTcp" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.ServiceModel.Primitives" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.ServiceModel.Security" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding.Extensions" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.RegularExpressions" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks.Parallel" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Timer" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml.ReaderWriter" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml.XDocument" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml.XmlSerializer" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration> \ No newline at end of file
diff --git a/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/net461/ef.x86.exe b/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/net461/ef.x86.exe
new file mode 100644
index 0000000000..3bb3817a3b
--- /dev/null
+++ b/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/net461/ef.x86.exe
Binary files differ
diff --git a/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/net461/ef.x86.exe.config b/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/net461/ef.x86.exe.config
new file mode 100644
index 0000000000..bbc7a1a4e6
--- /dev/null
+++ b/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/net461/ef.x86.exe.config
@@ -0,0 +1,219 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Collections.Concurrent" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Collections" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.ComponentModel.Annotations" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.ComponentModel" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.ComponentModel.EventBasedAsync" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Diagnostics.Contracts" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Diagnostics.Debug" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Diagnostics.Tools" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Diagnostics.Tracing" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Dynamic.Runtime" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Globalization" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Linq" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Linq.Expressions" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Linq.Parallel" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Linq.Queryable" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Net.NetworkInformation" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Net.Primitives" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Net.Requests" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Net.WebHeaderCollection" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.ObjectModel" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection.Emit" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection.Emit.ILGeneration" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection.Emit.Lightweight" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection.Extensions" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reflection.Primitives" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Resources.ResourceManager" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime.Extensions" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime.Handles" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime.InteropServices" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime.InteropServices.WindowsRuntime" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime.Numerics" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime.Serialization.Json" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime.Serialization.Primitives" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Runtime.Serialization.Xml" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Security.Principal" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.ServiceModel.Duplex" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.ServiceModel.Http" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.ServiceModel.NetTcp" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.ServiceModel.Primitives" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.ServiceModel.Security" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.Encoding.Extensions" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Text.RegularExpressions" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Tasks.Parallel" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Threading.Timer" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml.ReaderWriter" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml.XDocument" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml.XmlSerializer" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
+ <bindingRedirect oldVersion="4.1.0.0-5.0.0.0" newVersion="4.0.0.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration> \ No newline at end of file
diff --git a/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/netcoreapp2.0/ef.dll b/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/netcoreapp2.0/ef.dll
new file mode 100644
index 0000000000..ce1243ba1e
--- /dev/null
+++ b/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/netcoreapp2.0/ef.dll
Binary files differ
diff --git a/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/netcoreapp2.0/ef.runtimeconfig.json b/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/netcoreapp2.0/ef.runtimeconfig.json
new file mode 100644
index 0000000000..8191343b84
--- /dev/null
+++ b/Tools/dotnetcli/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.0.1/tools/netcoreapp2.0/ef.runtimeconfig.json
@@ -0,0 +1,9 @@
+{
+ "runtimeOptions": {
+ "tfm": "netcoreapp2.0",
+ "framework": {
+ "name": "Microsoft.NETCore.App",
+ "version": "2.0.3"
+ }
+ }
+} \ No newline at end of file