SEBWIN-362: Removed unused contracts (and assemblies) for client, runtime and service controllers.

This commit is contained in:
Damian Büchel 2020-03-16 13:38:25 +01:00
parent f0504fa6d2
commit 6163c98e08
18 changed files with 16 additions and 326 deletions

View file

@ -1,31 +0,0 @@
/*
* Copyright (c) 2020 ETH Zürich, Educational Development and Technology (LET)
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
namespace SafeExamBrowser.Client.Contracts
{
/// <summary>
/// Controls the lifetime and is responsible for the event handling of the client application component.
/// </summary>
public interface IClientController
{
/// <summary>
/// Reverts any changes, releases all used resources and terminates the client.
/// </summary>
void Terminate();
/// <summary>
/// Tries to start the client. Returns <c>true</c> if successful, otherwise <c>false</c>.
/// </summary>
bool TryStart();
/// <summary>
/// Instructs the controller to update the application configuration.
/// </summary>
void UpdateAppConfig();
}
}

View file

@ -54,7 +54,6 @@
<Reference Include="Microsoft.CSharp" />
</ItemGroup>
<ItemGroup>
<Compile Include="IClientController.cs" />
<Compile Include="INotificationController.cs" />
<Compile Include="INotificationInfo.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />

View file

@ -13,7 +13,6 @@ using System.Linq;
using SafeExamBrowser.Applications.Contracts;
using SafeExamBrowser.Browser.Contracts;
using SafeExamBrowser.Browser.Contracts.Events;
using SafeExamBrowser.Client.Contracts;
using SafeExamBrowser.Client.Operations.Events;
using SafeExamBrowser.Communication.Contracts.Data;
using SafeExamBrowser.Communication.Contracts.Events;
@ -37,7 +36,7 @@ using SafeExamBrowser.WindowsApi.Contracts;
namespace SafeExamBrowser.Client
{
internal class ClientController : IClientController
internal class ClientController
{
private IActionCenter actionCenter;
private IApplicationMonitor applicationMonitor;
@ -60,7 +59,7 @@ namespace SafeExamBrowser.Client
private IClientHost ClientHost => context.ClientHost;
private AppSettings Settings => context.Settings;
public ClientController(
internal ClientController(
IActionCenter actionCenter,
IApplicationMonitor applicationMonitor,
ClientContext context,
@ -96,7 +95,7 @@ namespace SafeExamBrowser.Client
this.uiFactory = uiFactory;
}
public bool TryStart()
internal bool TryStart()
{
logger.Info("Initiating startup procedure...");
@ -139,7 +138,7 @@ namespace SafeExamBrowser.Client
return success;
}
public void Terminate()
internal void Terminate()
{
logger.Log(string.Empty);
logger.Info("Initiating shutdown procedure...");
@ -166,7 +165,7 @@ namespace SafeExamBrowser.Client
splashScreen.Close();
}
public void UpdateAppConfig()
internal void UpdateAppConfig()
{
splashScreen.AppConfig = context.AppConfig;
}

View file

@ -12,7 +12,6 @@ using System.Diagnostics;
using SafeExamBrowser.Applications;
using SafeExamBrowser.Browser;
using SafeExamBrowser.Client.Communication;
using SafeExamBrowser.Client.Contracts;
using SafeExamBrowser.Client.Notifications;
using SafeExamBrowser.Client.Operations;
using SafeExamBrowser.Communication.Contracts;
@ -74,7 +73,7 @@ namespace SafeExamBrowser.Client
private IText text;
private IUserInterfaceFactory uiFactory;
internal IClientController ClientController { get; private set; }
internal ClientController ClientController { get; private set; }
internal void BuildObjectGraph(Action shutdown)
{

View file

@ -1,26 +0,0 @@
/*
* Copyright (c) 2020 ETH Zürich, Educational Development and Technology (LET)
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
namespace SafeExamBrowser.Runtime.Contracts
{
/// <summary>
/// Controls the lifetime and is responsible for the event handling of the runtime application component.
/// </summary>
public interface IRuntimeController
{
/// <summary>
/// Reverts any changes, releases all used resources and terminates the runtime.
/// </summary>
void Terminate();
/// <summary>
/// Tries to start the runtime. Returns <c>true</c> if successful, otherwise <c>false</c>.
/// </summary>
bool TryStart();
}
}

View file

@ -1,33 +0,0 @@
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("SafeExamBrowser.Runtime.Contracts")]
[assembly: AssemblyDescription("Safe Exam Browser")]
[assembly: AssemblyCompany("ETH Zürich")]
[assembly: AssemblyProduct("SafeExamBrowser.Runtime.Contracts")]
[assembly: AssemblyCopyright("Copyright © 2020 ETH Zürich, Educational Development and Technology (LET)")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("5d0136b4-6d21-4f99-ae42-3fb7f478ae0a")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0.0")]

View file

@ -1,61 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{5D0136B4-6D21-4F99-AE42-3FB7F478AE0A}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>SafeExamBrowser.Runtime.Contracts</RootNamespace>
<AssemblyName>SafeExamBrowser.Runtime.Contracts</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="Microsoft.CSharp" />
</ItemGroup>
<ItemGroup>
<Compile Include="IRuntimeController.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View file

@ -25,7 +25,6 @@ using SafeExamBrowser.I18n.Contracts;
using SafeExamBrowser.Logging;
using SafeExamBrowser.Logging.Contracts;
using SafeExamBrowser.Runtime.Communication;
using SafeExamBrowser.Runtime.Contracts;
using SafeExamBrowser.Runtime.Operations;
using SafeExamBrowser.Settings.Logging;
using SafeExamBrowser.SystemComponents;
@ -43,7 +42,7 @@ namespace SafeExamBrowser.Runtime
private ISystemInfo systemInfo;
private IText text;
internal IRuntimeController RuntimeController { get; private set; }
internal RuntimeController RuntimeController { get; private set; }
internal void BuildObjectGraph(Action shutdown)
{

View file

@ -17,7 +17,6 @@ using SafeExamBrowser.Core.Contracts.OperationModel;
using SafeExamBrowser.Core.Contracts.OperationModel.Events;
using SafeExamBrowser.I18n.Contracts;
using SafeExamBrowser.Logging.Contracts;
using SafeExamBrowser.Runtime.Contracts;
using SafeExamBrowser.Runtime.Operations.Events;
using SafeExamBrowser.Settings.Security;
using SafeExamBrowser.Settings.Service;
@ -27,7 +26,7 @@ using SafeExamBrowser.UserInterface.Contracts.Windows;
namespace SafeExamBrowser.Runtime
{
internal class RuntimeController : IRuntimeController
internal class RuntimeController
{
private AppConfig appConfig;
private ILogger logger;
@ -53,7 +52,7 @@ namespace SafeExamBrowser.Runtime
get { return Session != null; }
}
public RuntimeController(
internal RuntimeController(
AppConfig appConfig,
ILogger logger,
IMessageBox messageBox,
@ -83,7 +82,7 @@ namespace SafeExamBrowser.Runtime
this.uiFactory = uiFactory;
}
public bool TryStart()
internal bool TryStart()
{
logger.Info("Initiating startup procedure...");
@ -120,7 +119,7 @@ namespace SafeExamBrowser.Runtime
return initialized && SessionIsRunning;
}
public void Terminate()
internal void Terminate()
{
DeregisterEvents();

View file

@ -177,10 +177,6 @@
<Project>{e107026c-2011-4552-a7d8-3a0d37881df6}</Project>
<Name>SafeExamBrowser.Logging</Name>
</ProjectReference>
<ProjectReference Include="..\SafeExamBrowser.Runtime.Contracts\SafeExamBrowser.Runtime.Contracts.csproj">
<Project>{5d0136b4-6d21-4f99-ae42-3fb7f478ae0a}</Project>
<Name>SafeExamBrowser.Runtime.Contracts</Name>
</ProjectReference>
<ProjectReference Include="..\SafeExamBrowser.Settings\SafeExamBrowser.Settings.csproj">
<Project>{30b2d907-5861-4f39-abad-c4abf1b3470e}</Project>
<Name>SafeExamBrowser.Settings</Name>

View file

@ -1,26 +0,0 @@
/*
* Copyright (c) 2020 ETH Zürich, Educational Development and Technology (LET)
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
namespace SafeExamBrowser.Service.Contracts
{
/// <summary>
/// Controls the lifetime and is responsible for the event handling of the service application component.
/// </summary>
public interface IServiceController
{
/// <summary>
/// Reverts any changes and releases all resources used by the service.
/// </summary>
void Terminate();
/// <summary>
/// Tries to start the service. Returns <c>true</c> if successful, otherwise <c>false</c>.
/// </summary>
bool TryStart();
}
}

View file

@ -1,33 +0,0 @@
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("SafeExamBrowser.Service.Contracts")]
[assembly: AssemblyDescription("Safe Exam Browser")]
[assembly: AssemblyCompany("ETH Zürich")]
[assembly: AssemblyProduct("SafeExamBrowser.Service.Contracts")]
[assembly: AssemblyCopyright("Copyright © 2020 ETH Zürich, Educational Development and Technology (LET)")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("5167820f-2be5-43cf-b1cc-e4874bf83808")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0.0")]

View file

@ -1,61 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{5167820F-2BE5-43CF-B1CC-E4874BF83808}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>SafeExamBrowser.Service.Contracts</RootNamespace>
<AssemblyName>SafeExamBrowser.Service.Contracts</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="Microsoft.CSharp" />
</ItemGroup>
<ItemGroup>
<Compile Include="IServiceController.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View file

@ -120,10 +120,6 @@
<Project>{64ea30fb-11d4-436a-9c2b-88566285363e}</Project>
<Name>SafeExamBrowser.Logging.Contracts</Name>
</ProjectReference>
<ProjectReference Include="..\SafeExamBrowser.Service.Contracts\SafeExamBrowser.Service.Contracts.csproj">
<Project>{5167820f-2be5-43cf-b1cc-e4874bf83808}</Project>
<Name>SafeExamBrowser.Service.Contracts</Name>
</ProjectReference>
<ProjectReference Include="..\SafeExamBrowser.Service\SafeExamBrowser.Service.csproj">
<Project>{fa3c6692-dfed-4afa-bd58-9a3da2753c78}</Project>
<Name>SafeExamBrowser.Service</Name>

View file

@ -22,7 +22,6 @@ using SafeExamBrowser.Lockdown;
using SafeExamBrowser.Logging;
using SafeExamBrowser.Logging.Contracts;
using SafeExamBrowser.Service.Communication;
using SafeExamBrowser.Service.Contracts;
using SafeExamBrowser.Service.Operations;
using SafeExamBrowser.Settings.Logging;
@ -32,7 +31,7 @@ namespace SafeExamBrowser.Service
{
private ILogger logger;
internal IServiceController ServiceController { get; private set; }
internal ServiceController ServiceController { get; private set; }
internal void BuildObjectGraph()
{

View file

@ -121,10 +121,6 @@
<Project>{e107026c-2011-4552-a7d8-3a0d37881df6}</Project>
<Name>SafeExamBrowser.Logging</Name>
</ProjectReference>
<ProjectReference Include="..\SafeExamBrowser.Service.Contracts\SafeExamBrowser.Service.Contracts.csproj">
<Project>{5167820f-2be5-43cf-b1cc-e4874bf83808}</Project>
<Name>SafeExamBrowser.Service.Contracts</Name>
</ProjectReference>
<ProjectReference Include="..\SafeExamBrowser.Settings\SafeExamBrowser.Settings.csproj">
<Project>{30b2d907-5861-4f39-abad-c4abf1b3470e}</Project>
<Name>SafeExamBrowser.Settings</Name>

View file

@ -13,11 +13,10 @@ using SafeExamBrowser.Configuration.Contracts;
using SafeExamBrowser.Core.Contracts.OperationModel;
using SafeExamBrowser.Lockdown.Contracts;
using SafeExamBrowser.Logging.Contracts;
using SafeExamBrowser.Service.Contracts;
namespace SafeExamBrowser.Service
{
internal class ServiceController : IServiceController
internal class ServiceController
{
private ILogger logger;
private Func<string, ILogObserver> logWriterFactory;
@ -38,7 +37,7 @@ namespace SafeExamBrowser.Service
get { return sessionContext.IsRunning; }
}
public ServiceController(
internal ServiceController(
ILogger logger,
Func<string, ILogObserver> logWriterFactory,
IOperationSequence bootstrapSequence,
@ -56,7 +55,7 @@ namespace SafeExamBrowser.Service
this.systemConfigurationUpdate = systemConfigurationUpdate;
}
public bool TryStart()
internal bool TryStart()
{
logger.Info("Initiating startup procedure...");
@ -79,7 +78,7 @@ namespace SafeExamBrowser.Service
return success;
}
public void Terminate()
internal void Terminate()
{
DeregisterEvents();

View file

@ -92,10 +92,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SafeExamBrowser.Logging.Con
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SafeExamBrowser.Monitoring.Contracts", "SafeExamBrowser.Monitoring.Contracts\SafeExamBrowser.Monitoring.Contracts.csproj", "{6D563A30-366D-4C35-815B-2C9E6872278B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SafeExamBrowser.Runtime.Contracts", "SafeExamBrowser.Runtime.Contracts\SafeExamBrowser.Runtime.Contracts.csproj", "{5D0136B4-6D21-4F99-AE42-3FB7F478AE0A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SafeExamBrowser.Service.Contracts", "SafeExamBrowser.Service.Contracts\SafeExamBrowser.Service.Contracts.csproj", "{5167820F-2BE5-43CF-B1CC-E4874BF83808}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SafeExamBrowser.SystemComponents.Contracts", "SafeExamBrowser.SystemComponents.Contracts\SafeExamBrowser.SystemComponents.Contracts.csproj", "{903129C6-E236-493B-9AD6-C6A57F647A3A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SafeExamBrowser.UserInterface.Contracts", "SafeExamBrowser.UserInterface.Contracts\SafeExamBrowser.UserInterface.Contracts.csproj", "{C7889E97-6FF6-4A58-B7CB-521ED276B316}"
@ -405,22 +401,6 @@ Global
{6D563A30-366D-4C35-815B-2C9E6872278B}.Release|x64.Build.0 = Release|x64
{6D563A30-366D-4C35-815B-2C9E6872278B}.Release|x86.ActiveCfg = Release|x86
{6D563A30-366D-4C35-815B-2C9E6872278B}.Release|x86.Build.0 = Release|x86
{5D0136B4-6D21-4F99-AE42-3FB7F478AE0A}.Debug|x64.ActiveCfg = Debug|x64
{5D0136B4-6D21-4F99-AE42-3FB7F478AE0A}.Debug|x64.Build.0 = Debug|x64
{5D0136B4-6D21-4F99-AE42-3FB7F478AE0A}.Debug|x86.ActiveCfg = Debug|x86
{5D0136B4-6D21-4F99-AE42-3FB7F478AE0A}.Debug|x86.Build.0 = Debug|x86
{5D0136B4-6D21-4F99-AE42-3FB7F478AE0A}.Release|x64.ActiveCfg = Release|x64
{5D0136B4-6D21-4F99-AE42-3FB7F478AE0A}.Release|x64.Build.0 = Release|x64
{5D0136B4-6D21-4F99-AE42-3FB7F478AE0A}.Release|x86.ActiveCfg = Release|x86
{5D0136B4-6D21-4F99-AE42-3FB7F478AE0A}.Release|x86.Build.0 = Release|x86
{5167820F-2BE5-43CF-B1CC-E4874BF83808}.Debug|x64.ActiveCfg = Debug|x64
{5167820F-2BE5-43CF-B1CC-E4874BF83808}.Debug|x64.Build.0 = Debug|x64
{5167820F-2BE5-43CF-B1CC-E4874BF83808}.Debug|x86.ActiveCfg = Debug|x86
{5167820F-2BE5-43CF-B1CC-E4874BF83808}.Debug|x86.Build.0 = Debug|x86
{5167820F-2BE5-43CF-B1CC-E4874BF83808}.Release|x64.ActiveCfg = Release|x64
{5167820F-2BE5-43CF-B1CC-E4874BF83808}.Release|x64.Build.0 = Release|x64
{5167820F-2BE5-43CF-B1CC-E4874BF83808}.Release|x86.ActiveCfg = Release|x86
{5167820F-2BE5-43CF-B1CC-E4874BF83808}.Release|x86.Build.0 = Release|x86
{903129C6-E236-493B-9AD6-C6A57F647A3A}.Debug|x64.ActiveCfg = Debug|x64
{903129C6-E236-493B-9AD6-C6A57F647A3A}.Debug|x64.Build.0 = Debug|x64
{903129C6-E236-493B-9AD6-C6A57F647A3A}.Debug|x86.ActiveCfg = Debug|x86