diff --git a/gr/network-visualization/network-visualization.sln b/gr/network-visualization/network-visualization.sln
index fbfa08b61..7687aed19 100644
--- a/gr/network-visualization/network-visualization.sln
+++ b/gr/network-visualization/network-visualization.sln
@@ -39,6 +39,8 @@ Project("{778DAE3C-4631-46EA-AA77-85C1314464D9}") = "AVI.NET5", "..\avi\AVI.NET5
EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "network_layout", "network_layout\network_layout.vbproj", "{A9D2B967-D4A5-418B-8D72-DACCB18AACCC}"
EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Drawing-net4.8", "..\Drawing-net4.8\Drawing-net4.8.vbproj", "{D415B2D0-C4BA-CC52-8797-71C9AC710BD0}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
BioDeep_database|Any CPU = BioDeep_database|Any CPU
@@ -2647,6 +2649,174 @@ Global
{A9D2B967-D4A5-418B-8D72-DACCB18AACCC}.Yilia-Release_x64|x64.Build.0 = Release|Any CPU
{A9D2B967-D4A5-418B-8D72-DACCB18AACCC}.Yilia-Release_x64|x86.ActiveCfg = Release|Any CPU
{A9D2B967-D4A5-418B-8D72-DACCB18AACCC}.Yilia-Release_x64|x86.Build.0 = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.BioDeep_database|Any CPU.ActiveCfg = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.BioDeep_database|Any CPU.Build.0 = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.BioDeep_database|x64.ActiveCfg = nuget_release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.BioDeep_database|x64.Build.0 = nuget_release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.BioDeep_database|x86.ActiveCfg = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.BioDeep_database|x86.Build.0 = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Biodeep_UNIX_x64|Any CPU.ActiveCfg = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Biodeep_UNIX_x64|Any CPU.Build.0 = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Biodeep_UNIX_x64|x64.ActiveCfg = nuget_release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Biodeep_UNIX_x64|x64.Build.0 = nuget_release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Biodeep_UNIX_x64|x86.ActiveCfg = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Biodeep_UNIX_x64|x86.Build.0 = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Biodeep|Any CPU.ActiveCfg = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Biodeep|Any CPU.Build.0 = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Biodeep|x64.ActiveCfg = Release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Biodeep|x64.Build.0 = Release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Biodeep|x86.ActiveCfg = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Biodeep|x86.Build.0 = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Biostack|Any CPU.ActiveCfg = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Biostack|Any CPU.Build.0 = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Biostack|x64.ActiveCfg = Release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Biostack|x64.Build.0 = Release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Biostack|x86.ActiveCfg = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Biostack|x86.Build.0 = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Biostack-Debug|Any CPU.ActiveCfg = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Biostack-Debug|Any CPU.Build.0 = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Biostack-Debug|x64.ActiveCfg = Release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Biostack-Debug|x64.Build.0 = Release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Biostack-Debug|x86.ActiveCfg = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Biostack-Debug|x86.Build.0 = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Debug|x64.ActiveCfg = Debug|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Debug|x64.Build.0 = Debug|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Debug|x86.Build.0 = Debug|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Docker|Any CPU.ActiveCfg = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Docker|Any CPU.Build.0 = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Docker|x64.ActiveCfg = Release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Docker|x64.Build.0 = Release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Docker|x86.ActiveCfg = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Docker|x86.Build.0 = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.docs|Any CPU.ActiveCfg = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.docs|Any CPU.Build.0 = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.docs|x64.ActiveCfg = Release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.docs|x64.Build.0 = Release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.docs|x86.ActiveCfg = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.docs|x86.Build.0 = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.GCModeller(Release_X64)|Any CPU.ActiveCfg = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.GCModeller(Release_X64)|Any CPU.Build.0 = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.GCModeller(Release_X64)|x64.ActiveCfg = nuget_release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.GCModeller(Release_X64)|x64.Build.0 = nuget_release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.GCModeller(Release_X64)|x86.ActiveCfg = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.GCModeller(Release_X64)|x86.Build.0 = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.GCModeller(UNIX-Release_X64)|Any CPU.ActiveCfg = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.GCModeller(UNIX-Release_X64)|Any CPU.Build.0 = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.GCModeller(UNIX-Release_X64)|x64.ActiveCfg = nuget_release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.GCModeller(UNIX-Release_X64)|x64.Build.0 = nuget_release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.GCModeller(UNIX-Release_X64)|x86.ActiveCfg = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.GCModeller(UNIX-Release_X64)|x86.Build.0 = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.gcmodeller_desktop|Any CPU.ActiveCfg = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.gcmodeller_desktop|Any CPU.Build.0 = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.gcmodeller_desktop|x64.ActiveCfg = nuget_release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.gcmodeller_desktop|x64.Build.0 = nuget_release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.gcmodeller_desktop|x86.ActiveCfg = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.gcmodeller_desktop|x86.Build.0 = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.installer_x64|Any CPU.ActiveCfg = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.installer_x64|Any CPU.Build.0 = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.installer_x64|x64.ActiveCfg = nuget_release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.installer_x64|x64.Build.0 = nuget_release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.installer_x64|x86.ActiveCfg = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.installer_x64|x86.Build.0 = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.LipidSearch|Any CPU.ActiveCfg = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.LipidSearch|Any CPU.Build.0 = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.LipidSearch|x64.ActiveCfg = nuget_release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.LipidSearch|x64.Build.0 = nuget_release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.LipidSearch|x86.ActiveCfg = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.LipidSearch|x86.Build.0 = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.MetaCardio|Any CPU.ActiveCfg = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.MetaCardio|Any CPU.Build.0 = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.MetaCardio|x64.ActiveCfg = nuget_release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.MetaCardio|x64.Build.0 = nuget_release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.MetaCardio|x86.ActiveCfg = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.MetaCardio|x86.Build.0 = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.mysqli_X64_release|Any CPU.ActiveCfg = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.mysqli_X64_release|Any CPU.Build.0 = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.mysqli_X64_release|x64.ActiveCfg = nuget_release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.mysqli_X64_release|x64.Build.0 = nuget_release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.mysqli_X64_release|x86.ActiveCfg = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.mysqli_X64_release|x86.Build.0 = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.mzkit_UnixDocker|Any CPU.ActiveCfg = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.mzkit_UnixDocker|Any CPU.Build.0 = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.mzkit_UnixDocker|x64.ActiveCfg = Release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.mzkit_UnixDocker|x64.Build.0 = Release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.mzkit_UnixDocker|x86.ActiveCfg = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.mzkit_UnixDocker|x86.Build.0 = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.mzkit_win32|Any CPU.ActiveCfg = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.mzkit_win32|Any CPU.Build.0 = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.mzkit_win32|x64.ActiveCfg = Release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.mzkit_win32|x64.Build.0 = Release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.mzkit_win32|x86.ActiveCfg = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.mzkit_win32|x86.Build.0 = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.mzkit|Any CPU.ActiveCfg = Debug|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.mzkit|Any CPU.Build.0 = Debug|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.mzkit|x64.ActiveCfg = Debug|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.mzkit|x64.Build.0 = Debug|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.mzkit|x86.ActiveCfg = Debug|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.mzkit|x86.Build.0 = Debug|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.node-debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.node-debug|Any CPU.Build.0 = Debug|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.node-debug|x64.ActiveCfg = Debug|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.node-debug|x64.Build.0 = Debug|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.node-debug|x86.ActiveCfg = Debug|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.node-debug|x86.Build.0 = Debug|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.NPSearch|Any CPU.ActiveCfg = Debug|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.NPSearch|Any CPU.Build.0 = Debug|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.NPSearch|x64.ActiveCfg = Debug|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.NPSearch|x64.Build.0 = Debug|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.NPSearch|x86.ActiveCfg = Debug|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.NPSearch|x86.Build.0 = Debug|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.PlantMAT|Any CPU.ActiveCfg = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.PlantMAT|Any CPU.Build.0 = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.PlantMAT|x64.ActiveCfg = Release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.PlantMAT|x64.Build.0 = Release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.PlantMAT|x86.ActiveCfg = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.PlantMAT|x86.Build.0 = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Publish|Any CPU.ActiveCfg = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Publish|Any CPU.Build.0 = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Publish|x64.ActiveCfg = Release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Publish|x64.Build.0 = Release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Publish|x86.ActiveCfg = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Publish|x86.Build.0 = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Release|x64.ActiveCfg = Release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Release|x64.Build.0 = Release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Release|x86.ActiveCfg = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Release|x86.Build.0 = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Release2|Any CPU.ActiveCfg = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Release2|Any CPU.Build.0 = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Release2|x64.ActiveCfg = Release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Release2|x64.Build.0 = Release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Release2|x86.ActiveCfg = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Release2|x86.Build.0 = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Rsharp_app_release|Any CPU.ActiveCfg = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Rsharp_app_release|Any CPU.Build.0 = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Rsharp_app_release|x64.ActiveCfg = nuget_release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Rsharp_app_release|x64.Build.0 = nuget_release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Rsharp_app_release|x86.ActiveCfg = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Rsharp_app_release|x86.Build.0 = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.RsharpDev|Any CPU.ActiveCfg = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.RsharpDev|Any CPU.Build.0 = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.RsharpDev|x64.ActiveCfg = nuget_release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.RsharpDev|x64.Build.0 = nuget_release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.RsharpDev|x86.ActiveCfg = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.RsharpDev|x86.Build.0 = nuget_release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Surveillance-of-infectious-diseases|Any CPU.ActiveCfg = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Surveillance-of-infectious-diseases|Any CPU.Build.0 = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Surveillance-of-infectious-diseases|x64.ActiveCfg = Release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Surveillance-of-infectious-diseases|x64.Build.0 = Release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Surveillance-of-infectious-diseases|x86.ActiveCfg = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Surveillance-of-infectious-diseases|x86.Build.0 = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Yilia-Release_x64|Any CPU.ActiveCfg = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Yilia-Release_x64|Any CPU.Build.0 = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Yilia-Release_x64|x64.ActiveCfg = Release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Yilia-Release_x64|x64.Build.0 = Release|x64
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Yilia-Release_x64|x86.ActiveCfg = Release|Any CPU
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0}.Yilia-Release_x64|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -2666,6 +2836,7 @@ Global
{A3499CDE-8FE7-4B44-BFCC-A10845AB34C5} = {A80FBC0D-AD54-4889-9393-86E576BF8A4F}
{7D676B15-F894-4D3B-ACE2-0E1927F7BB0A} = {93EB1A06-EB99-4EDC-9BB8-E720F882F572}
{A9D2B967-D4A5-418B-8D72-DACCB18AACCC} = {80E1ABDA-29EC-4ABC-83ED-02C5FADC87E2}
+ {D415B2D0-C4BA-CC52-8797-71C9AC710BD0} = {A80FBC0D-AD54-4889-9393-86E576BF8A4F}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {BEE6594C-2712-48E8-A352-579E50CE7660}
diff --git a/gr/network-visualization/test/OrthogonalLayoutTest.vb b/gr/network-visualization/test/OrthogonalLayoutTest.vb
index 0de792952..453046091 100644
--- a/gr/network-visualization/test/OrthogonalLayoutTest.vb
+++ b/gr/network-visualization/test/OrthogonalLayoutTest.vb
@@ -55,6 +55,7 @@ Imports Microsoft.VisualBasic.Data.visualize.Network
Imports Microsoft.VisualBasic.Data.visualize.Network.Graph
Imports Microsoft.VisualBasic.Data.visualize.Network.Layouts
Imports Microsoft.VisualBasic.Data.visualize.Network.Layouts.Orthogonal
+Imports Microsoft.VisualBasic.Drawing
Imports Microsoft.VisualBasic.Imaging
Imports Microsoft.VisualBasic.Scripting.Runtime
Imports Microsoft.VisualBasic.Serialization.JSON
diff --git a/gr/network-visualization/test/Test.vbproj b/gr/network-visualization/test/Test.vbproj
index 1b008d97e..2c39b30aa 100644
--- a/gr/network-visualization/test/Test.vbproj
+++ b/gr/network-visualization/test/Test.vbproj
@@ -6,7 +6,7 @@
AnyCPU
{1458A1A1-110C-4587-A763-BA88CB808671}
Exe
- Test.OrthogonalLayoutTest
+ Test.FormCanvas
Test
Test
512
@@ -210,6 +210,10 @@
{7d676b15-f894-4d3b-ace2-0e1927f7bb0a}
AVI.NET5
+
+ {d415b2d0-c4ba-cc52-8797-71c9ac710bd0}
+ Drawing-net4.8
+
{8cdb2729-f4d2-4cbd-a2fb-faf4906170e7}
imaging.NET5
diff --git a/gr/network-visualization/test/layoutTest.vb b/gr/network-visualization/test/layoutTest.vb
index e14850c80..5ab6bddab 100644
--- a/gr/network-visualization/test/layoutTest.vb
+++ b/gr/network-visualization/test/layoutTest.vb
@@ -64,6 +64,7 @@
Imports System.Drawing
Imports System.Math
Imports System.Runtime.CompilerServices
+Imports Microsoft.VisualBasic.Drawing
Imports Microsoft.VisualBasic.Imaging
Imports Microsoft.VisualBasic.Imaging.Math2D
Imports Microsoft.VisualBasic.Imaging.Physics
diff --git a/gr/network-visualization/test/mingleTest.vb b/gr/network-visualization/test/mingleTest.vb
index ec241461e..78237aff5 100644
--- a/gr/network-visualization/test/mingleTest.vb
+++ b/gr/network-visualization/test/mingleTest.vb
@@ -1,59 +1,59 @@
#Region "Microsoft.VisualBasic::8380d05c751399cf932284067ef9077f, sciBASIC#\gr\network-visualization\test\mingleTest.vb"
- ' Author:
- '
- ' asuka (amethyst.asuka@gcmodeller.org)
- ' xie (genetics@smrucc.org)
- ' xieguigang (xie.guigang@live.com)
- '
- ' Copyright (c) 2018 GPL3 Licensed
- '
- '
- ' GNU GENERAL PUBLIC LICENSE (GPL3)
- '
- '
- ' This program is free software: you can redistribute it and/or modify
- ' it under the terms of the GNU General Public License as published by
- ' the Free Software Foundation, either version 3 of the License, or
- ' (at your option) any later version.
- '
- ' This program is distributed in the hope that it will be useful,
- ' but WITHOUT ANY WARRANTY; without even the implied warranty of
- ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- ' GNU General Public License for more details.
- '
- ' You should have received a copy of the GNU General Public License
- ' along with this program. If not, see .
-
-
-
- ' /********************************************************************************/
-
- ' Summaries:
-
-
- ' Code Statistics:
-
- ' Total Lines: 147
- ' Code Lines: 132
- ' Comment Lines: 0
- ' Blank Lines: 15
- ' File Size: 3.13 KB
-
-
- ' Module mingleTest
- '
- ' Sub: Main
- '
- ' Class testJsonNode
- '
- ' Properties: data, id, name
- '
- ' Class data
- '
- ' Properties: color, coords, weight
- '
- ' /********************************************************************************/
+' Author:
+'
+' asuka (amethyst.asuka@gcmodeller.org)
+' xie (genetics@smrucc.org)
+' xieguigang (xie.guigang@live.com)
+'
+' Copyright (c) 2018 GPL3 Licensed
+'
+'
+' GNU GENERAL PUBLIC LICENSE (GPL3)
+'
+'
+' This program is free software: you can redistribute it and/or modify
+' it under the terms of the GNU General Public License as published by
+' the Free Software Foundation, either version 3 of the License, or
+' (at your option) any later version.
+'
+' This program is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU General Public License for more details.
+'
+' You should have received a copy of the GNU General Public License
+' along with this program. If not, see .
+
+
+
+' /********************************************************************************/
+
+' Summaries:
+
+
+' Code Statistics:
+
+' Total Lines: 147
+' Code Lines: 132
+' Comment Lines: 0
+' Blank Lines: 15
+' File Size: 3.13 KB
+
+
+' Module mingleTest
+'
+' Sub: Main
+'
+' Class testJsonNode
+'
+' Properties: data, id, name
+'
+' Class data
+'
+' Properties: color, coords, weight
+'
+' /********************************************************************************/
#End Region
@@ -61,6 +61,7 @@ Imports System.Drawing
Imports Microsoft.VisualBasic.Data.visualize.Network
Imports Microsoft.VisualBasic.Data.visualize.Network.Graph
Imports Microsoft.VisualBasic.Data.visualize.Network.Layouts.EdgeBundling.Mingle
+Imports Microsoft.VisualBasic.Drawing
Imports Microsoft.VisualBasic.Imaging
Imports Microsoft.VisualBasic.Imaging.Drawing2D
Imports Microsoft.VisualBasic.Serialization.JSON