aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/ViewModels/FileSystemViewVM.cs96
-rw-r--r--Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/Views/FileSystemView.xaml165
-rw-r--r--Software/Visual_Studio/FSE/Tango.FSE.Common/FileSystem/FileSystemHandler.cs46
-rw-r--r--Software/Visual_Studio/FSE/Tango.FSE.Common/FileSystem/FileSystemHandlerStatus.cs1
-rw-r--r--Software/Visual_Studio/FSE/Tango.FSE.UI/FileSystem/DefaultFileSystemProvider.cs89
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/FileSystem/DefaultFileSystemService.cs41
-rw-r--r--Software/Visual_Studio/SideChains/Priority Queue/FastPriorityQueue.cs593
-rw-r--r--Software/Visual_Studio/SideChains/Priority Queue/FastPriorityQueueNode.cs25
-rw-r--r--Software/Visual_Studio/SideChains/Priority Queue/GenericPriorityQueue.cs602
-rw-r--r--Software/Visual_Studio/SideChains/Priority Queue/GenericPriorityQueueNode.cs29
-rw-r--r--Software/Visual_Studio/SideChains/Priority Queue/IFixedSizePriorityQueue.cs31
-rw-r--r--Software/Visual_Studio/SideChains/Priority Queue/IPriorityQueue.cs55
-rw-r--r--Software/Visual_Studio/SideChains/Priority Queue/Priority Queue.csproj89
-rw-r--r--Software/Visual_Studio/SideChains/Priority Queue/Priority Queue.nuspec42
-rw-r--r--Software/Visual_Studio/SideChains/Priority Queue/Properties/AssemblyInfo.cs38
-rw-r--r--Software/Visual_Studio/SideChains/Priority Queue/SimplePriorityQueue.cs588
-rw-r--r--Software/Visual_Studio/SideChains/Priority Queue/StablePriorityQueue.cs587
-rw-r--r--Software/Visual_Studio/SideChains/Priority Queue/StablePriorityQueueNode.cs10
-rw-r--r--Software/Visual_Studio/Tango.Core/PriorityProducerConsumerQueue.cs63
-rw-r--r--Software/Visual_Studio/Tango.Core/Tango.Core.csproj3
-rw-r--r--Software/Visual_Studio/Tango.Transport/TransportMessageBase.cs2
-rw-r--r--Software/Visual_Studio/Tango.Transport/TransportRequestConfig.cs2
-rw-r--r--Software/Visual_Studio/Tango.Transport/TransportResponseConfig.cs2
-rw-r--r--Software/Visual_Studio/Tango.Transport/TransporterBase.cs28
-rw-r--r--Software/Visual_Studio/Tango.sln3225
25 files changed, 6396 insertions, 56 deletions
diff --git a/Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/ViewModels/FileSystemViewVM.cs b/Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/ViewModels/FileSystemViewVM.cs
index 20a960243..cba25303e 100644
--- a/Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/ViewModels/FileSystemViewVM.cs
+++ b/Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/ViewModels/FileSystemViewVM.cs
@@ -1,5 +1,7 @@
using System;
using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
@@ -9,6 +11,7 @@ using Tango.Core.Commands;
using Tango.FileSystem;
using Tango.FSE.Common;
using Tango.FSE.Common.Connection;
+using Tango.FSE.Common.FileSystem;
using static Tango.SharedUI.Controls.NavigationControl;
namespace Tango.FSE.PPCConsole.ViewModels
@@ -36,20 +39,36 @@ namespace Tango.FSE.PPCConsole.ViewModels
set { _drives = value; RaisePropertyChangedAuto(); }
}
+ public ObservableCollection<FileSystemItem> SelectedItems { get; set; }
+ public ObservableCollection<FileSystemHandler> FileSystemHandlers { get; set; }
public RelayCommand NavigateCommand { get; set; }
public RelayCommand<FileSystemItem> OpenItemCommand { get; set; }
public RelayCommand BackCommand { get; set; }
public RelayCommand<String> NavigateSpecialFolderCommand { get; set; }
public RelayCommand<String> NavigateToFolderCommand { get; set; }
+ public RelayCommand<IList<FileSystemItem>> DeleteCommand { get; set; }
+ public RelayCommand<List<FileSystemItem>> DropCommand { get; set; }
+ public RelayCommand<List<DragItem>> DragCommand { get; set; }
+ public RelayCommand<FileSystemHandler> DeleteFileSystemHandlerCommand { get; set; }
+ public RelayCommand<FileSystemHandler> OpenFileSystemHandlerDestinationCommand { get; set; }
+ public RelayCommand<FileSystemHandler> RetryFailedFileSystemHandlerCommand { get; set; }
+
public FileSystemViewVM()
{
+ SelectedItems = new ObservableCollection<FileSystemItem>();
+ FileSystemHandlers = new ObservableCollection<FileSystemHandler>();
NavigateCommand = new RelayCommand(NavigateToCurrentPath);
OpenItemCommand = new RelayCommand<FileSystemItem>(OpenFileSystemItem);
BackCommand = new RelayCommand(NavigateBack, () => !(CurrentItem is FolderItem) || !(CurrentItem as FolderItem).IsRoot);
NavigateSpecialFolderCommand = new RelayCommand<string>(NavigateToSpecialFolder);
- NavigateToFolderCommand = new RelayCommand<string>(async (x) => await Navigate(x));
+ NavigateToFolderCommand = new RelayCommand<string>(async (x) => await Navigate(x));
+ DeleteCommand = new RelayCommand<IList<FileSystemItem>>(DeleteSelectedItems);
+ DragCommand = new RelayCommand<List<DragItem>>(OnItemsDraggedOut);
+ DeleteFileSystemHandlerCommand = new RelayCommand<FileSystemHandler>(DeleteFileSystemHandler);
+ OpenFileSystemHandlerDestinationCommand = new RelayCommand<FileSystemHandler>(OpenFileSystemHandlerDestination);
+ RetryFailedFileSystemHandlerCommand = new RelayCommand<FileSystemHandler>(RetryFailedFileSystemHandler);
}
private async void NavigateBack()
@@ -88,10 +107,83 @@ namespace Tango.FSE.PPCConsole.ViewModels
private async void OpenFileSystemItem(FileSystemItem item)
{
- if (item != null)
+ if (item == null) return;
+
+ if (item.Type == FileSystemItemType.Folder || item.Type == FileSystemItemType.Drive)
{
await Navigate(item.Path);
}
+ else if (item.Type == FileSystemItemType.File)
+ {
+ //TODO: Download/Open file?...
+ }
+ }
+
+ private async void DeleteSelectedItems(IList<FileSystemItem> items)
+ {
+ if (items != null && items.Count > 0)
+ {
+ if (await NotificationProvider.ShowWarningQuestion("Are you sure you want to delete the selected files/folders?", "DELETE"))
+ {
+ //TODO: Delete items
+ }
+ }
+ }
+
+ private async void OnItemsDraggedOut(List<DragItem> items)
+ {
+ foreach (var item in items.Where(x => x.FileSystemItem.Type != FileSystemItemType.Drive))
+ {
+ Debug.WriteLine($"Dropped out: {item.FileSystemItem.Name} => {item.Destination}");
+ var handler = await FileSystemProvider.Download(item.FileSystemItem, item.Destination);
+ FileSystemHandlers.Insert(0, handler);
+ }
+ }
+
+ private async void DeleteFileSystemHandler(FileSystemHandler handler)
+ {
+ if (handler.Status != FileSystemHandlerStatus.Completed && handler.Status != FileSystemHandlerStatus.Failed)
+ {
+ if (await NotificationProvider.ShowWarningQuestion($"This item is currently {handler.Status}. Do you wish to abort and delete this item?"))
+ {
+ try
+ {
+ handler.Abort();
+ }
+ catch { }
+
+ FileSystemHandlers.Remove(handler);
+ }
+ }
+ else
+ {
+ FileSystemHandlers.Remove(handler);
+ }
+ }
+
+ private void OpenFileSystemHandlerDestination(FileSystemHandler handler)
+ {
+ String destination = String.Empty;
+
+ if (File.Exists(handler.Destination) || Directory.Exists(handler.Destination))
+ {
+ destination = handler.Destination;
+ Process.Start("explorer.exe", string.Format("/select,\"{0}\"", destination));
+ }
+ else
+ {
+ destination = Path.GetDirectoryName(handler.Destination);
+ Process.Start("explorer.exe", destination);
+ }
+ }
+
+ private async void RetryFailedFileSystemHandler(FileSystemHandler handler)
+ {
+ if (handler.Status == FileSystemHandlerStatus.Failed)
+ {
+ var newHandler = await FileSystemProvider.Download(handler.FileSystemItem, Path.GetDirectoryName(handler.Destination));
+ FileSystemHandlers.Replace(handler, newHandler);
+ }
}
private async void NavigateToSpecialFolder(string folder)
diff --git a/Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/Views/FileSystemView.xaml b/Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/Views/FileSystemView.xaml
index ecc344324..8038ea905 100644
--- a/Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/Views/FileSystemView.xaml
+++ b/Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/Views/FileSystemView.xaml
@@ -114,10 +114,167 @@
</StackPanel>
</Border>
- <controls:FileSystemControl Margin="10 0 0 0" Grid.Column="2"
- CurrentItem="{Binding CurrentItem}"
- Mode="{Binding ElementName=listView,Path=SelectedItem.Tag}"
- ItemDoubleClickedCommand="{Binding OpenItemCommand}"/>
+ <Grid Margin="10 0 0 0" Grid.Column="2">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="1*" MinHeight="100" />
+ <RowDefinition Height="5" />
+ <RowDefinition Height="100" MinHeight="0" />
+ </Grid.RowDefinitions>
+ <controls:FileSystemControl
+ AllowDrag="True"
+ AllowDrop="True"
+ CurrentItem="{Binding CurrentItem}"
+ Mode="{Binding ElementName=listView,Path=SelectedItem.Tag}"
+ ItemDoubleClickedCommand="{Binding OpenItemCommand}"
+ DeleteCommand="{Binding DeleteCommand}"
+ SelectedItems="{Binding SelectedItems}"
+ DragCommand="{Binding DragCommand}"
+ DropCommand="{Binding DropCommand}"/>
+
+ <GridSplitter Grid.Row="1" Height="5" HorizontalAlignment="Stretch" VerticalAlignment="Center" />
+
+ <Grid Grid.Row="2">
+ <DockPanel>
+ <StackPanel DockPanel.Dock="Top" Margin="5" Orientation="Horizontal">
+ <material:PackIcon Kind="Download" />
+ <material:PackIcon Margin="-2 0 0 0" Kind="Upload" />
+ <TextBlock Margin="5 0 0 0" Foreground="{StaticResource FSE_PrimaryAccentBrush}" FontSize="{StaticResource FSE_SmallFontSize}">Transfer Queue</TextBlock>
+ <TextBlock Margin="10 0 0 0" Foreground="{StaticResource FSE_GrayBrush}" FontSize="{StaticResource FSE_SmallFontSize}">
+ <Run>(</Run><Run Text="{Binding FileSystemHandlers.Count,Mode=OneWay}"></Run><Run>)</Run>
+ </TextBlock>
+ </StackPanel>
+ <Border CornerRadius="3" BorderThickness="3" BorderBrush="{StaticResource FSE_PrimaryBackgroundLightBrush}" Background="{StaticResource FSE_PrimaryBackgroundDarkBrush}">
+ <ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
+ <ItemsControl ItemsSource="{Binding FileSystemHandlers}" HorizontalContentAlignment="Stretch" FontSize="10" Background="Transparent">
+ <ItemsControl.ItemTemplate>
+ <DataTemplate>
+ <Border Margin="5 5 5 0" CornerRadius="3" BorderBrush="{StaticResource FSE_PrimaryBackgroundLightBrush}" BorderThickness="2" Padding="10">
+ <DockPanel Height="40">
+ <Grid DockPanel.Dock="Left" Width="40">
+ <Image HorizontalAlignment="Left" Source="{Binding FileSystemItem.Icon}" RenderOptions.BitmapScalingMode="Fant" Stretch="Uniform" />
+ <Ellipse Margin="-5 -5 0 0" Fill="{StaticResource FSE_PrimaryBackgroundDarkBrush}" HorizontalAlignment="Left" VerticalAlignment="Top" Width="20" Height="20" />
+ <material:PackIcon Margin="-3 -3 0 0" HorizontalAlignment="Left" VerticalAlignment="Top" Width="15" Height="15">
+ <material:PackIcon.Style>
+ <Style TargetType="material:PackIcon">
+ <Setter Property="Kind" Value="Hourglass"></Setter>
+ <Setter Property="Foreground" Value="{StaticResource FSE_GrayBrush}"></Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding Status}" Value="Downloading">
+ <Setter Property="Kind" Value="Download"></Setter>
+ <Setter Property="Foreground" Value="{StaticResource FSE_PrimaryForegroundBrush}"></Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding Status}" Value="Uploading">
+ <Setter Property="Kind" Value="Upload"></Setter>
+ <Setter Property="Foreground" Value="{StaticResource FSE_PrimaryForegroundBrush}"></Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding Status}" Value="Paused">
+ <Setter Property="Kind" Value="Pause"></Setter>
+ <Setter Property="Foreground" Value="{StaticResource FSE_OrangeBrush}"></Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding Status}" Value="Failed">
+ <Setter Property="Kind" Value="Alert"></Setter>
+ <Setter Property="Foreground" Value="{StaticResource FSE_ErrorBrush}"></Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding Status}" Value="Aborted">
+ <Setter Property="Kind" Value="Alert"></Setter>
+ <Setter Property="Foreground" Value="{StaticResource FSE_WarningBrush}"></Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding Status}" Value="Completed">
+ <Setter Property="Kind" Value="Check"></Setter>
+ <Setter Property="Foreground" Value="{StaticResource FSE_SuccessBrush}"></Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </material:PackIcon.Style>
+ </material:PackIcon>
+ </Grid>
+
+ <Grid DockPanel.Dock="Right" Width="140" Margin="20 0 0 0">
+ <UniformGrid Columns="3">
+ <Grid>
+ <controls:ToggleIconButton Width="24" Height="24" UncheckedForeground="{StaticResource FSE_OrangeBrush}" CheckedForeground="{StaticResource FSE_GreenBrush}" UncheckedIcon="Pause" CheckedIcon="Play" Cursor="Hand" IsChecked="{Binding IsPaused,Mode=TwoWay}">
+ <controls:ToggleIconButton.Style>
+ <Style TargetType="controls:ToggleIconButton" BasedOn="{StaticResource {x:Type controls:ToggleIconButton}}">
+ <Setter Property="IsEnabled" Value="False"></Setter>
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ <Setter Property="Opacity" Value="0.2"></Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding Status}" Value="Downloading">
+ <Setter Property="IsEnabled" Value="True"></Setter>
+ <Setter Property="Opacity" Value="1"></Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding Status}" Value="Uploading">
+ <Setter Property="IsEnabled" Value="True"></Setter>
+ <Setter Property="Opacity" Value="1"></Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding Status}" Value="Paused">
+ <Setter Property="IsEnabled" Value="True"></Setter>
+ <Setter Property="Opacity" Value="1"></Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding Status}" Value="Failed">
+ <Setter Property="Visibility" Value="Hidden"></Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </controls:ToggleIconButton.Style>
+ </controls:ToggleIconButton>
+ <controls:IconButton Icon="Restart" Cursor="Hand" Command="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.RetryFailedFileSystemHandlerCommand}" CommandParameter="{Binding}">
+ <controls:IconButton.Style>
+ <Style TargetType="controls:IconButton" BasedOn="{StaticResource {x:Type controls:IconButton}}">
+ <Setter Property="Visibility" Value="Hidden"></Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding Status}" Value="Failed">
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </controls:IconButton.Style>
+ </controls:IconButton>
+ </Grid>
+ <controls:IconButton Icon="FolderOpen" Cursor="Hand" Command="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.OpenFileSystemHandlerDestinationCommand}" CommandParameter="{Binding}" />
+ <controls:IconButton Icon="DeleteForever" Foreground="{StaticResource FSE_RedBrush}" Cursor="Hand" Command="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.DeleteFileSystemHandlerCommand}" CommandParameter="{Binding}" />
+ </UniformGrid>
+ </Grid>
+
+ <Grid Margin="10 0 0 0">
+ <DockPanel>
+ <TextBlock FontSize="{StaticResource FSE_SmallFontSize}" DockPanel.Dock="Top" HorizontalAlignment="Left" Text="{Binding FileSystemItem.Name}" TextTrimming="CharacterEllipsis"></TextBlock>
+ <TextBlock Foreground="{StaticResource FSE_GrayBrush}" Margin="0 2 0 0" DockPanel.Dock="Top" HorizontalAlignment="Left" TextTrimming="CharacterEllipsis">
+ <Run Text="{Binding Position,Mode=OneWay,Converter={StaticResource ByteArrayToFileSizeConverter}}"></Run>
+ <Run>/</Run>
+ <Run Text="{Binding Length,Mode=OneWay,Converter={StaticResource ByteArrayToFileSizeConverter}}"></Run>
+ </TextBlock>
+
+ <Border VerticalAlignment="Bottom" Height="5" Background="{StaticResource FSE_PrimaryBackgroundBrush}">
+ <ProgressBar Height="Auto" Minimum="0" Maximum="{Binding Length}" Value="{Binding Position}">
+ <ProgressBar.Style>
+ <Style TargetType="ProgressBar" BasedOn="{StaticResource {x:Type ProgressBar}}">
+ <Setter Property="IsIndeterminate" Value="False"></Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding Status}" Value="Pending">
+ <Setter Property="IsIndeterminate" Value="True"></Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </ProgressBar.Style>
+ </ProgressBar>
+ </Border>
+
+
+ </DockPanel>
+
+ <TextBlock FontSize="{StaticResource FSE_SmallFontSize}" HorizontalAlignment="Right" VerticalAlignment="Top" Text="{Binding Status}"></TextBlock>
+ </Grid>
+ </DockPanel>
+ </Border>
+ </DataTemplate>
+ </ItemsControl.ItemTemplate>
+ </ItemsControl>
+ </ScrollViewer>
+ </Border>
+ </DockPanel>
+ </Grid>
+ </Grid>
</Grid>
</Grid>
</Grid>
diff --git a/Software/Visual_Studio/FSE/Tango.FSE.Common/FileSystem/FileSystemHandler.cs b/Software/Visual_Studio/FSE/Tango.FSE.Common/FileSystem/FileSystemHandler.cs
index 1b1e5f747..48fb35c0f 100644
--- a/Software/Visual_Studio/FSE/Tango.FSE.Common/FileSystem/FileSystemHandler.cs
+++ b/Software/Visual_Studio/FSE/Tango.FSE.Common/FileSystem/FileSystemHandler.cs
@@ -4,12 +4,14 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.Core;
+using Tango.FileSystem;
namespace Tango.FSE.Common.FileSystem
{
public class FileSystemHandler : ExtendedObject
{
private Action _abortAction;
+ private FileSystemHandlerStatus _statusBeforePause;
public FileSystemHandlerType Type { get; set; }
@@ -19,9 +21,31 @@ namespace Tango.FSE.Common.FileSystem
get { return _status; }
set
{
- if (_status != value)
+ _status = value;
+ RaisePropertyChangedAuto();
+ }
+ }
+
+ private bool _isPaused;
+ public bool IsPaused
+ {
+ get { return _isPaused; }
+ set
+ {
+ if (_isPaused != value)
{
- _status = value;
+ _isPaused = value;
+
+ if (_isPaused)
+ {
+ _statusBeforePause = Status;
+ Status = FileSystemHandlerStatus.Paused;
+ }
+ else
+ {
+ Status = _statusBeforePause;
+ }
+
RaisePropertyChangedAuto();
}
}
@@ -48,12 +72,13 @@ namespace Tango.FSE.Common.FileSystem
set { _failedException = value; RaisePropertyChangedAuto(); }
}
- public String Name { get; set; }
+ public FileSystemItem FileSystemItem { get; set; }
public String Destination { get; set; }
+ public String OperationId { get; set; }
- public FileSystemHandler(String name, String destination, Action abortAction)
+ public FileSystemHandler(FileSystemItem fileSystemItem, String destination, Action abortAction)
{
- Name = name;
+ FileSystemItem = fileSystemItem;
Destination = destination;
_abortAction = abortAction;
}
@@ -62,7 +87,11 @@ namespace Tango.FSE.Common.FileSystem
{
Position = position;
Length = length;
- Status = (Type == FileSystemHandlerType.FileDownload || Type == FileSystemHandlerType.FolderDownload) ? FileSystemHandlerStatus.Downloading : FileSystemHandlerStatus.Uploading;
+
+ if (!IsPaused)
+ {
+ Status = (Type == FileSystemHandlerType.FileDownload || Type == FileSystemHandlerType.FolderDownload) ? FileSystemHandlerStatus.Downloading : FileSystemHandlerStatus.Uploading;
+ }
}
internal void RaiseFailed(Exception exception)
@@ -71,6 +100,11 @@ namespace Tango.FSE.Common.FileSystem
FailedException = exception;
}
+ internal void RaiseAborted()
+ {
+ Status = FileSystemHandlerStatus.Aborted;
+ }
+
internal void RaiseCompleted()
{
Status = FileSystemHandlerStatus.Completed;
diff --git a/Software/Visual_Studio/FSE/Tango.FSE.Common/FileSystem/FileSystemHandlerStatus.cs b/Software/Visual_Studio/FSE/Tango.FSE.Common/FileSystem/FileSystemHandlerStatus.cs
index fe3a030a1..c495b5dc0 100644
--- a/Software/Visual_Studio/FSE/Tango.FSE.Common/FileSystem/FileSystemHandlerStatus.cs
+++ b/Software/Visual_Studio/FSE/Tango.FSE.Common/FileSystem/FileSystemHandlerStatus.cs
@@ -11,6 +11,7 @@ namespace Tango.FSE.Common.FileSystem
Pending,
Downloading,
Uploading,
+ Paused,
Failed,
Aborted,
Completed
diff --git a/Software/Visual_Studio/FSE/Tango.FSE.UI/FileSystem/DefaultFileSystemProvider.cs b/Software/Visual_Studio/FSE/Tango.FSE.UI/FileSystem/DefaultFileSystemProvider.cs
index f9f08c6a4..6eb05b70d 100644
--- a/Software/Visual_Studio/FSE/Tango.FSE.UI/FileSystem/DefaultFileSystemProvider.cs
+++ b/Software/Visual_Studio/FSE/Tango.FSE.UI/FileSystem/DefaultFileSystemProvider.cs
@@ -4,6 +4,7 @@ using System.IO;
using System.IO.Compression;
using System.Linq;
using System.Text;
+using System.Threading;
using System.Threading.Tasks;
using Tango.Core;
using Tango.Core.Threading;
@@ -63,46 +64,26 @@ namespace Tango.FSE.UI.FileSystem
return FileSystemItem.FromDTO(response.FileSystemItem) as IFileSystemContainer;
}
- public async Task<FileSystemHandler> Download(FileSystemItem item, string localTargetFolder)
+ public Task<FileSystemHandler> Download(FileSystemItem item, string localTargetFolder)
{
String operationId = String.Empty;
String destination = String.Empty;
long downloadLength = 0;
+ bool aborted = false;
+
+ FileSystemHandler handler = null;
if (item.Type == FileSystemItemType.File)
{
destination = Path.Combine(localTargetFolder, item.Name);
-
- var response = await _machineProvider.MachineOperator.SendGenericRequest<FileDownloadRequest, FileDownloadResponse>(
- new FileDownloadRequest()
- {
- Path = item.Path
- }, new TransportRequestConfig() { Timeout = TimeSpan.FromSeconds(20) });
-
- operationId = response.OperationId;
- downloadLength = response.Length;
}
- else if (item.Type == FileSystemItemType.Folder)
+ else if (item.Type == FileSystemItemType.File)
{
destination = Path.Combine(localTargetFolder, item.Name);
-
- var response = await _machineProvider.MachineOperator.SendGenericRequest<FolderDownloadRequest, FolderDownloadResponse>(
- new FolderDownloadRequest()
- {
- Path = item.Path
- }, new TransportRequestConfig() { Timeout = TimeSpan.FromSeconds(20) });
-
- operationId = response.OperationId;
- downloadLength = response.Length;
- }
- else
- {
- throw new NotSupportedException("The requested file system item is not supported for downloading.");
}
- bool aborted = false;
- FileSystemHandler handler = new FileSystemHandler(item.Name, destination, async () =>
+ handler = new FileSystemHandler(item, destination, async () =>
{
if (!aborted)
{
@@ -119,25 +100,73 @@ namespace Tango.FSE.UI.FileSystem
{
LogManager.Log(ex, "Error aborting the download operation.");
}
+ finally
+ {
+ handler.RaiseAborted();
+ }
}
});
- long position = 0;
-
ThreadFactory.StartNew(async () =>
{
+ try
+ {
+ if (item.Type == FileSystemItemType.File)
+ {
+ var response = await _machineProvider.MachineOperator.SendGenericRequest<FileDownloadRequest, FileDownloadResponse>(
+ new FileDownloadRequest()
+ {
+ Path = item.Path
+ }, new TransportRequestConfig() { Timeout = TimeSpan.FromSeconds(20) });
+
+ operationId = response.OperationId;
+ downloadLength = response.Length;
+ handler.OperationId = operationId;
+ }
+ else if (item.Type == FileSystemItemType.Folder)
+ {
+ var response = await _machineProvider.MachineOperator.SendGenericRequest<FolderDownloadRequest, FolderDownloadResponse>(
+ new FolderDownloadRequest()
+ {
+ Path = item.Path
+ }, new TransportRequestConfig() { Timeout = TimeSpan.FromSeconds(60) });
+
+ operationId = response.OperationId;
+ downloadLength = response.Length;
+ handler.OperationId = operationId;
+ }
+ else
+ {
+ throw new NotSupportedException("The requested file system item is not supported for downloading.");
+ }
+ }
+ catch (Exception ex)
+ {
+ handler.RaiseFailed(ex);
+ return;
+ }
+
+ long position = 0;
+
var tempFile = TemporaryManager.CreateFile();
while (position < downloadLength && !aborted)
{
+ if (handler.IsPaused)
+ {
+ Thread.Sleep(1000);
+ continue;
+ }
+
try
{
var response = await _machineProvider.MachineOperator.SendGenericRequest<ChunkDownloadRequest, ChunkDownloadResponse>(
new ChunkDownloadRequest()
{
+ MaxChunkSize = 1024 * 10,
OperationId = operationId,
Position = position,
- });
+ }, new TransportRequestConfig() { Timeout = TimeSpan.FromSeconds(30), Priority = QueuePriority.Low });
using (FileStream fs = new FileStream(tempFile, FileMode.Append))
{
@@ -176,7 +205,7 @@ namespace Tango.FSE.UI.FileSystem
handler.RaiseCompleted();
});
- return handler;
+ return Task.FromResult(handler);
}
public Task<FileSystemHandler> Upload(string sourcePath, string remoteTargetFolder)
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/FileSystem/DefaultFileSystemService.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/FileSystem/DefaultFileSystemService.cs
index ffbba2e7a..804ad0036 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/FileSystem/DefaultFileSystemService.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/FileSystem/DefaultFileSystemService.cs
@@ -7,6 +7,7 @@ using System.Text;
using System.Threading.Tasks;
using Tango.Core;
using Tango.Core.DI;
+using Tango.Core.IO;
using Tango.FileSystem;
using Tango.FileSystem.Network;
using Tango.Integration.ExternalBridge;
@@ -29,6 +30,7 @@ namespace Tango.PPC.Common.FileSystem
public FileSystemOperationMode Mode { get; set; }
public String Id { get; set; }
public String Path { get; set; }
+ public bool IsPathTempZip { get; set; }
public FileSystemOperation(FileSystemOperationMode mode, String path)
{
@@ -109,6 +111,38 @@ namespace Tango.PPC.Common.FileSystem
}
}
+ [ExternalBridgeRequestHandlerMethod(typeof(FolderDownloadRequest))]
+ public async void OnFolderDownloadRequest(FolderDownloadRequest request, String token, ExternalBridgeReceiver receiver)
+ {
+ try
+ {
+ if (!Directory.Exists(request.Path))
+ {
+ await receiver.SendErrorResponse(new FileNotFoundException("Could not find the specified directory."), token);
+ return;
+ }
+
+ var tempFile = TemporaryManager.CreateImaginaryFile();
+
+ ZipFile.CreateFromDirectory(request.Path, tempFile);
+
+ FileSystemOperation operation = new FileSystemOperation(FileSystemOperationMode.Download, tempFile);
+ operation.IsPathTempZip = true;
+
+ _operations.Add(operation.Id, operation);
+
+ await receiver.SendGenericResponse(new FileDownloadResponse()
+ {
+ OperationId = operation.Id,
+ Length = new FileInfo(request.Path).Length
+ }, token);
+ }
+ catch (Exception ex)
+ {
+ await receiver.SendErrorResponse(ex, token);
+ }
+ }
+
[ExternalBridgeRequestHandlerMethod(typeof(ChunkUploadRequest))]
public async void OnChunkUploadRequest(ChunkUploadRequest request, String token, ExternalBridgeReceiver receiver)
{
@@ -185,6 +219,13 @@ namespace Tango.PPC.Common.FileSystem
Directory.Delete(operation.Path, true);
}
}
+ else if (operation.IsPathTempZip)
+ {
+ if (File.Exists(operation.Path))
+ {
+ File.Delete(operation.Path);
+ }
+ }
await receiver.SendGenericResponse(new AbortOperationResponse(), token);
}
diff --git a/Software/Visual_Studio/SideChains/Priority Queue/FastPriorityQueue.cs b/Software/Visual_Studio/SideChains/Priority Queue/FastPriorityQueue.cs
new file mode 100644
index 000000000..927a20d41
--- /dev/null
+++ b/Software/Visual_Studio/SideChains/Priority Queue/FastPriorityQueue.cs
@@ -0,0 +1,593 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Runtime.CompilerServices;
+
+namespace Priority_Queue
+{
+ /// <summary>
+ /// An implementation of a min-Priority Queue using a heap. Has O(1) .Contains()!
+ /// See https://github.com/BlueRaja/High-Speed-Priority-Queue-for-C-Sharp/wiki/Getting-Started for more information
+ /// </summary>
+ /// <typeparam name="T">The values in the queue. Must extend the FastPriorityQueueNode class</typeparam>
+ public sealed class FastPriorityQueue<T> : IFixedSizePriorityQueue<T, float>
+ where T : FastPriorityQueueNode
+ {
+ private int _numNodes;
+ private T[] _nodes;
+
+ /// <summary>
+ /// Instantiate a new Priority Queue
+ /// </summary>
+ /// <param name="maxNodes">The max nodes ever allowed to be enqueued (going over this will cause undefined behavior)</param>
+ public FastPriorityQueue(int maxNodes)
+ {
+#if DEBUG
+ if (maxNodes <= 0)
+ {
+ throw new InvalidOperationException("New queue size cannot be smaller than 1");
+ }
+#endif
+
+ _numNodes = 0;
+ _nodes = new T[maxNodes + 1];
+ }
+
+ /// <summary>
+ /// Returns the number of nodes in the queue.
+ /// O(1)
+ /// </summary>
+ public int Count
+ {
+ get
+ {
+ return _numNodes;
+ }
+ }
+
+ /// <summary>
+ /// Returns the maximum number of items that can be enqueued at once in this queue. Once you hit this number (ie. once Count == MaxSize),
+ /// attempting to enqueue another item will cause undefined behavior. O(1)
+ /// </summary>
+ public int MaxSize
+ {
+ get
+ {
+ return _nodes.Length - 1;
+ }
+ }
+
+ /// <summary>
+ /// Removes every node from the queue.
+ /// O(n) (So, don't do this often!)
+ /// </summary>
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ public void Clear()
+ {
+ Array.Clear(_nodes, 1, _numNodes);
+ _numNodes = 0;
+ }
+
+ /// <summary>
+ /// Returns (in O(1)!) whether the given node is in the queue.
+ /// If node is or has been previously added to another queue, the result is undefined unless oldQueue.ResetNode(node) has been called
+ /// O(1)
+ /// </summary>
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ public bool Contains(T node)
+ {
+#if DEBUG
+ if(node == null)
+ {
+ throw new ArgumentNullException("node");
+ }
+ if (node.Queue != null && !Equals(node.Queue))
+ {
+ throw new InvalidOperationException("node.Contains was called on a node from another queue. Please call originalQueue.ResetNode() first");
+ }
+ if(node.QueueIndex < 0 || node.QueueIndex >= _nodes.Length)
+ {
+ throw new InvalidOperationException("node.QueueIndex has been corrupted. Did you change it manually? Or add this node to another queue?");
+ }
+#endif
+
+ return (_nodes[node.QueueIndex] == node);
+ }
+
+ /// <summary>
+ /// Enqueue a node to the priority queue. Lower values are placed in front. Ties are broken arbitrarily.
+ /// If the queue is full, the result is undefined.
+ /// If the node is already enqueued, the result is undefined.
+ /// If node is or has been previously added to another queue, the result is undefined unless oldQueue.ResetNode(node) has been called
+ /// O(log n)
+ /// </summary>
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ public void Enqueue(T node, float priority)
+ {
+#if DEBUG
+ if(node == null)
+ {
+ throw new ArgumentNullException("node");
+ }
+ if(_numNodes >= _nodes.Length - 1)
+ {
+ throw new InvalidOperationException("Queue is full - node cannot be added: " + node);
+ }
+ if (node.Queue != null && !Equals(node.Queue))
+ {
+ throw new InvalidOperationException("node.Enqueue was called on a node from another queue. Please call originalQueue.ResetNode() first");
+ }
+ if (Contains(node))
+ {
+ throw new InvalidOperationException("Node is already enqueued: " + node);
+ }
+ node.Queue = this;
+#endif
+
+ node.Priority = priority;
+ _numNodes++;
+ _nodes[_numNodes] = node;
+ node.QueueIndex = _numNodes;
+ CascadeUp(node);
+ }
+
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ private void CascadeUp(T node)
+ {
+ //aka Heapify-up
+ int parent;
+ if(node.QueueIndex > 1)
+ {
+ parent = node.QueueIndex >> 1;
+ T parentNode = _nodes[parent];
+ if(HasHigherOrEqualPriority(parentNode, node))
+ return;
+
+ //Node has lower priority value, so move parent down the heap to make room
+ _nodes[node.QueueIndex] = parentNode;
+ parentNode.QueueIndex = node.QueueIndex;
+
+ node.QueueIndex = parent;
+ }
+ else
+ {
+ return;
+ }
+ while(parent > 1)
+ {
+ parent >>= 1;
+ T parentNode = _nodes[parent];
+ if(HasHigherOrEqualPriority(parentNode, node))
+ break;
+
+ //Node has lower priority value, so move parent down the heap to make room
+ _nodes[node.QueueIndex] = parentNode;
+ parentNode.QueueIndex = node.QueueIndex;
+
+ node.QueueIndex = parent;
+ }
+ _nodes[node.QueueIndex] = node;
+ }
+
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ private void CascadeDown(T node)
+ {
+ //aka Heapify-down
+ int finalQueueIndex = node.QueueIndex;
+ int childLeftIndex = 2 * finalQueueIndex;
+
+ // If leaf node, we're done
+ if(childLeftIndex > _numNodes)
+ {
+ return;
+ }
+
+ // Check if the left-child is higher-priority than the current node
+ int childRightIndex = childLeftIndex + 1;
+ T childLeft = _nodes[childLeftIndex];
+ if(HasHigherPriority(childLeft, node))
+ {
+ // Check if there is a right child. If not, swap and finish.
+ if(childRightIndex > _numNodes)
+ {
+ node.QueueIndex = childLeftIndex;
+ childLeft.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = childLeft;
+ _nodes[childLeftIndex] = node;
+ return;
+ }
+ // Check if the left-child is higher-priority than the right-child
+ T childRight = _nodes[childRightIndex];
+ if(HasHigherPriority(childLeft, childRight))
+ {
+ // left is highest, move it up and continue
+ childLeft.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = childLeft;
+ finalQueueIndex = childLeftIndex;
+ }
+ else
+ {
+ // right is even higher, move it up and continue
+ childRight.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = childRight;
+ finalQueueIndex = childRightIndex;
+ }
+ }
+ // Not swapping with left-child, does right-child exist?
+ else if(childRightIndex > _numNodes)
+ {
+ return;
+ }
+ else
+ {
+ // Check if the right-child is higher-priority than the current node
+ T childRight = _nodes[childRightIndex];
+ if(HasHigherPriority(childRight, node))
+ {
+ childRight.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = childRight;
+ finalQueueIndex = childRightIndex;
+ }
+ // Neither child is higher-priority than current, so finish and stop.
+ else
+ {
+ return;
+ }
+ }
+
+ while(true)
+ {
+ childLeftIndex = 2 * finalQueueIndex;
+
+ // If leaf node, we're done
+ if(childLeftIndex > _numNodes)
+ {
+ node.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = node;
+ break;
+ }
+
+ // Check if the left-child is higher-priority than the current node
+ childRightIndex = childLeftIndex + 1;
+ childLeft = _nodes[childLeftIndex];
+ if(HasHigherPriority(childLeft, node))
+ {
+ // Check if there is a right child. If not, swap and finish.
+ if(childRightIndex > _numNodes)
+ {
+ node.QueueIndex = childLeftIndex;
+ childLeft.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = childLeft;
+ _nodes[childLeftIndex] = node;
+ break;
+ }
+ // Check if the left-child is higher-priority than the right-child
+ T childRight = _nodes[childRightIndex];
+ if(HasHigherPriority(childLeft, childRight))
+ {
+ // left is highest, move it up and continue
+ childLeft.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = childLeft;
+ finalQueueIndex = childLeftIndex;
+ }
+ else
+ {
+ // right is even higher, move it up and continue
+ childRight.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = childRight;
+ finalQueueIndex = childRightIndex;
+ }
+ }
+ // Not swapping with left-child, does right-child exist?
+ else if(childRightIndex > _numNodes)
+ {
+ node.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = node;
+ break;
+ }
+ else
+ {
+ // Check if the right-child is higher-priority than the current node
+ T childRight = _nodes[childRightIndex];
+ if(HasHigherPriority(childRight, node))
+ {
+ childRight.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = childRight;
+ finalQueueIndex = childRightIndex;
+ }
+ // Neither child is higher-priority than current, so finish and stop.
+ else
+ {
+ node.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = node;
+ break;
+ }
+ }
+ }
+ }
+
+ /// <summary>
+ /// Returns true if 'higher' has higher priority than 'lower', false otherwise.
+ /// Note that calling HasHigherPriority(node, node) (ie. both arguments the same node) will return false
+ /// </summary>
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ private bool HasHigherPriority(T higher, T lower)
+ {
+ return (higher.Priority < lower.Priority);
+ }
+
+ /// <summary>
+ /// Returns true if 'higher' has higher priority than 'lower', false otherwise.
+ /// Note that calling HasHigherOrEqualPriority(node, node) (ie. both arguments the same node) will return true
+ /// </summary>
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ private bool HasHigherOrEqualPriority(T higher, T lower)
+ {
+ return (higher.Priority <= lower.Priority);
+ }
+
+ /// <summary>
+ /// Removes the head of the queue and returns it.
+ /// If queue is empty, result is undefined
+ /// O(log n)
+ /// </summary>
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ public T Dequeue()
+ {
+#if DEBUG
+ if(_numNodes <= 0)
+ {
+ throw new InvalidOperationException("Cannot call Dequeue() on an empty queue");
+ }
+
+ if(!IsValidQueue())
+ {
+ throw new InvalidOperationException("Queue has been corrupted (Did you update a node priority manually instead of calling UpdatePriority()?" +
+ "Or add the same node to two different queues?)");
+ }
+#endif
+
+ T returnMe = _nodes[1];
+ //If the node is already the last node, we can remove it immediately
+ if(_numNodes == 1)
+ {
+ _nodes[1] = null;
+ _numNodes = 0;
+ return returnMe;
+ }
+
+ //Swap the node with the last node
+ T formerLastNode = _nodes[_numNodes];
+ _nodes[1] = formerLastNode;
+ formerLastNode.QueueIndex = 1;
+ _nodes[_numNodes] = null;
+ _numNodes--;
+
+ //Now bubble formerLastNode (which is no longer the last node) down
+ CascadeDown(formerLastNode);
+ return returnMe;
+ }
+
+ /// <summary>
+ /// Resize the queue so it can accept more nodes. All currently enqueued nodes are remain.
+ /// Attempting to decrease the queue size to a size too small to hold the existing nodes results in undefined behavior
+ /// O(n)
+ /// </summary>
+ public void Resize(int maxNodes)
+ {
+#if DEBUG
+ if (maxNodes <= 0)
+ {
+ throw new InvalidOperationException("Queue size cannot be smaller than 1");
+ }
+
+ if (maxNodes < _numNodes)
+ {
+ throw new InvalidOperationException("Called Resize(" + maxNodes + "), but current queue contains " + _numNodes + " nodes");
+ }
+#endif
+
+ T[] newArray = new T[maxNodes + 1];
+ int highestIndexToCopy = Math.Min(maxNodes, _numNodes);
+ Array.Copy(_nodes, newArray, highestIndexToCopy + 1);
+ _nodes = newArray;
+ }
+
+ /// <summary>
+ /// Returns the head of the queue, without removing it (use Dequeue() for that).
+ /// If the queue is empty, behavior is undefined.
+ /// O(1)
+ /// </summary>
+ public T First
+ {
+ get
+ {
+#if DEBUG
+ if(_numNodes <= 0)
+ {
+ throw new InvalidOperationException("Cannot call .First on an empty queue");
+ }
+#endif
+
+ return _nodes[1];
+ }
+ }
+
+ /// <summary>
+ /// This method must be called on a node every time its priority changes while it is in the queue.
+ /// <b>Forgetting to call this method will result in a corrupted queue!</b>
+ /// Calling this method on a node not in the queue results in undefined behavior
+ /// O(log n)
+ /// </summary>
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ public void UpdatePriority(T node, float priority)
+ {
+#if DEBUG
+ if(node == null)
+ {
+ throw new ArgumentNullException("node");
+ }
+ if (node.Queue != null && !Equals(node.Queue))
+ {
+ throw new InvalidOperationException("node.UpdatePriority was called on a node from another queue");
+ }
+ if (!Contains(node))
+ {
+ throw new InvalidOperationException("Cannot call UpdatePriority() on a node which is not enqueued: " + node);
+ }
+#endif
+
+ node.Priority = priority;
+ OnNodeUpdated(node);
+ }
+
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ private void OnNodeUpdated(T node)
+ {
+ //Bubble the updated node up or down as appropriate
+ int parentIndex = node.QueueIndex >> 1;
+
+ if(parentIndex > 0 && HasHigherPriority(node, _nodes[parentIndex]))
+ {
+ CascadeUp(node);
+ }
+ else
+ {
+ //Note that CascadeDown will be called if parentNode == node (that is, node is the root)
+ CascadeDown(node);
+ }
+ }
+
+ /// <summary>
+ /// Removes a node from the queue. The node does not need to be the head of the queue.
+ /// If the node is not in the queue, the result is undefined. If unsure, check Contains() first
+ /// O(log n)
+ /// </summary>
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ public void Remove(T node)
+ {
+#if DEBUG
+ if(node == null)
+ {
+ throw new ArgumentNullException("node");
+ }
+ if (node.Queue != null && !Equals(node.Queue))
+ {
+ throw new InvalidOperationException("node.Remove was called on a node from another queue");
+ }
+ if (!Contains(node))
+ {
+ throw new InvalidOperationException("Cannot call Remove() on a node which is not enqueued: " + node);
+ }
+#endif
+
+ //If the node is already the last node, we can remove it immediately
+ if(node.QueueIndex == _numNodes)
+ {
+ _nodes[_numNodes] = null;
+ _numNodes--;
+ return;
+ }
+
+ //Swap the node with the last node
+ T formerLastNode = _nodes[_numNodes];
+ _nodes[node.QueueIndex] = formerLastNode;
+ formerLastNode.QueueIndex = node.QueueIndex;
+ _nodes[_numNodes] = null;
+ _numNodes--;
+
+ //Now bubble formerLastNode (which is no longer the last node) up or down as appropriate
+ OnNodeUpdated(formerLastNode);
+ }
+
+ /// <summary>
+ /// By default, nodes that have been previously added to one queue cannot be added to another queue.
+ /// If you need to do this, please call originalQueue.ResetNode(node) before attempting to add it in the new queue
+ /// If the node is currently in the queue or belongs to another queue, the result is undefined
+ /// </summary>
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ public void ResetNode(T node)
+ {
+#if DEBUG
+ if (node == null)
+ {
+ throw new ArgumentNullException("node");
+ }
+ if (node.Queue != null && !Equals(node.Queue))
+ {
+ throw new InvalidOperationException("node.ResetNode was called on a node from another queue");
+ }
+ if (Contains(node))
+ {
+ throw new InvalidOperationException("node.ResetNode was called on a node that is still in the queue");
+ }
+
+ node.Queue = null;
+#endif
+
+ node.QueueIndex = 0;
+ }
+
+ public IEnumerator<T> GetEnumerator()
+ {
+#if NET_VERSION_4_5 // ArraySegment does not implement IEnumerable before 4.5
+ IEnumerable<T> e = new ArraySegment<T>(_nodes, 1, _numNodes);
+ return e.GetEnumerator();
+#else
+ for(int i = 1; i <= _numNodes; i++)
+ yield return _nodes[i];
+#endif
+ }
+
+ IEnumerator IEnumerable.GetEnumerator()
+ {
+ return GetEnumerator();
+ }
+
+ /// <summary>
+ /// <b>Should not be called in production code.</b>
+ /// Checks to make sure the queue is still in a valid state. Used for testing/debugging the queue.
+ /// </summary>
+ public bool IsValidQueue()
+ {
+ for(int i = 1; i < _nodes.Length; i++)
+ {
+ if(_nodes[i] != null)
+ {
+ int childLeftIndex = 2 * i;
+ if(childLeftIndex < _nodes.Length && _nodes[childLeftIndex] != null && HasHigherPriority(_nodes[childLeftIndex], _nodes[i]))
+ return false;
+
+ int childRightIndex = childLeftIndex + 1;
+ if(childRightIndex < _nodes.Length && _nodes[childRightIndex] != null && HasHigherPriority(_nodes[childRightIndex], _nodes[i]))
+ return false;
+ }
+ }
+ return true;
+ }
+ }
+} \ No newline at end of file
diff --git a/Software/Visual_Studio/SideChains/Priority Queue/FastPriorityQueueNode.cs b/Software/Visual_Studio/SideChains/Priority Queue/FastPriorityQueueNode.cs
new file mode 100644
index 000000000..54b0573ec
--- /dev/null
+++ b/Software/Visual_Studio/SideChains/Priority Queue/FastPriorityQueueNode.cs
@@ -0,0 +1,25 @@
+using System;
+
+namespace Priority_Queue
+{
+ public class FastPriorityQueueNode
+ {
+ /// <summary>
+ /// The Priority to insert this node at. Must be set BEFORE adding a node to the queue (ideally just once, in the node's constructor).
+ /// Should not be manually edited once the node has been enqueued - use queue.UpdatePriority() instead
+ /// </summary>
+ public float Priority { get; protected internal set; }
+
+ /// <summary>
+ /// Represents the current position in the queue
+ /// </summary>
+ public int QueueIndex { get; internal set; }
+
+#if DEBUG
+ /// <summary>
+ /// The queue this node is tied to. Used only for debug builds.
+ /// </summary>
+ public object Queue { get; internal set; }
+#endif
+ }
+}
diff --git a/Software/Visual_Studio/SideChains/Priority Queue/GenericPriorityQueue.cs b/Software/Visual_Studio/SideChains/Priority Queue/GenericPriorityQueue.cs
new file mode 100644
index 000000000..7687ba213
--- /dev/null
+++ b/Software/Visual_Studio/SideChains/Priority Queue/GenericPriorityQueue.cs
@@ -0,0 +1,602 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Runtime.CompilerServices;
+
+namespace Priority_Queue
+{
+ /// <summary>
+ /// A copy of StablePriorityQueue which also has generic priority-type
+ /// </summary>
+ /// <typeparam name="TItem">The values in the queue. Must extend the GenericPriorityQueueNode class</typeparam>
+ /// <typeparam name="TPriority">The priority-type. Must extend IComparable&lt;TPriority&gt;</typeparam>
+ public sealed class GenericPriorityQueue<TItem, TPriority> : IFixedSizePriorityQueue<TItem, TPriority>
+ where TItem : GenericPriorityQueueNode<TPriority>
+ where TPriority : IComparable<TPriority>
+ {
+ private int _numNodes;
+ private TItem[] _nodes;
+ private long _numNodesEverEnqueued;
+ private readonly Comparison<TPriority> _comparer;
+
+ /// <summary>
+ /// Instantiate a new Priority Queue
+ /// </summary>
+ /// <param name="maxNodes">The max nodes ever allowed to be enqueued (going over this will cause undefined behavior)</param>
+ public GenericPriorityQueue(int maxNodes) : this(maxNodes, Comparer<TPriority>.Default) { }
+
+ /// <summary>
+ /// Instantiate a new Priority Queue
+ /// </summary>
+ /// <param name="maxNodes">The max nodes ever allowed to be enqueued (going over this will cause undefined behavior)</param>
+ /// <param name="comparer">The comparer used to compare TPriority values.</param>
+ public GenericPriorityQueue(int maxNodes, IComparer<TPriority> comparer) : this(maxNodes, comparer.Compare) { }
+
+ /// <summary>
+ /// Instantiate a new Priority Queue
+ /// </summary>
+ /// <param name="maxNodes">The max nodes ever allowed to be enqueued (going over this will cause undefined behavior)</param>
+ /// <param name="comparer">The comparison function to use to compare TPriority values</param>
+ public GenericPriorityQueue(int maxNodes, Comparison<TPriority> comparer)
+ {
+#if DEBUG
+ if (maxNodes <= 0)
+ {
+ throw new InvalidOperationException("New queue size cannot be smaller than 1");
+ }
+#endif
+
+ _numNodes = 0;
+ _nodes = new TItem[maxNodes + 1];
+ _numNodesEverEnqueued = 0;
+ _comparer = comparer;
+ }
+
+ /// <summary>
+ /// Returns the number of nodes in the queue.
+ /// O(1)
+ /// </summary>
+ public int Count
+ {
+ get
+ {
+ return _numNodes;
+ }
+ }
+
+ /// <summary>
+ /// Returns the maximum number of items that can be enqueued at once in this queue. Once you hit this number (ie. once Count == MaxSize),
+ /// attempting to enqueue another item will cause undefined behavior. O(1)
+ /// </summary>
+ public int MaxSize
+ {
+ get
+ {
+ return _nodes.Length - 1;
+ }
+ }
+
+ /// <summary>
+ /// Removes every node from the queue.
+ /// O(n) (So, don't do this often!)
+ /// </summary>
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ public void Clear()
+ {
+ Array.Clear(_nodes, 1, _numNodes);
+ _numNodes = 0;
+ }
+
+ /// <summary>
+ /// Returns (in O(1)!) whether the given node is in the queue.
+ /// If node is or has been previously added to another queue, the result is undefined unless oldQueue.ResetNode(node) has been called
+ /// O(1)
+ /// </summary>
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ public bool Contains(TItem node)
+ {
+#if DEBUG
+ if(node == null)
+ {
+ throw new ArgumentNullException("node");
+ }
+ if (node.Queue != null && !Equals(node.Queue))
+ {
+ throw new InvalidOperationException("node.Contains was called on a node from another queue. Please call originalQueue.ResetNode() first");
+ }
+ if (node.QueueIndex < 0 || node.QueueIndex >= _nodes.Length)
+ {
+ throw new InvalidOperationException("node.QueueIndex has been corrupted. Did you change it manually?");
+ }
+#endif
+
+ return (_nodes[node.QueueIndex] == node);
+ }
+
+ /// <summary>
+ /// Enqueue a node to the priority queue. Lower values are placed in front. Ties are broken by first-in-first-out.
+ /// If the queue is full, the result is undefined.
+ /// If the node is already enqueued, the result is undefined.
+ /// If node is or has been previously added to another queue, the result is undefined unless oldQueue.ResetNode(node) has been called
+ /// O(log n)
+ /// </summary>
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ public void Enqueue(TItem node, TPriority priority)
+ {
+#if DEBUG
+ if(node == null)
+ {
+ throw new ArgumentNullException("node");
+ }
+ if(_numNodes >= _nodes.Length - 1)
+ {
+ throw new InvalidOperationException("Queue is full - node cannot be added: " + node);
+ }
+ if (node.Queue != null && !Equals(node.Queue))
+ {
+ throw new InvalidOperationException("node.Enqueue was called on a node from another queue. Please call originalQueue.ResetNode() first");
+ }
+ if (Contains(node))
+ {
+ throw new InvalidOperationException("Node is already enqueued: " + node);
+ }
+ node.Queue = this;
+#endif
+
+ node.Priority = priority;
+ _numNodes++;
+ _nodes[_numNodes] = node;
+ node.QueueIndex = _numNodes;
+ node.InsertionIndex = _numNodesEverEnqueued++;
+ CascadeUp(node);
+ }
+
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ private void CascadeUp(TItem node)
+ {
+ //aka Heapify-up
+ int parent;
+ if (node.QueueIndex > 1)
+ {
+ parent = node.QueueIndex >> 1;
+ TItem parentNode = _nodes[parent];
+ if(HasHigherPriority(parentNode, node))
+ return;
+
+ //Node has lower priority value, so move parent down the heap to make room
+ _nodes[node.QueueIndex] = parentNode;
+ parentNode.QueueIndex = node.QueueIndex;
+
+ node.QueueIndex = parent;
+ }
+ else
+ {
+ return;
+ }
+ while(parent > 1)
+ {
+ parent >>= 1;
+ TItem parentNode = _nodes[parent];
+ if(HasHigherPriority(parentNode, node))
+ break;
+
+ //Node has lower priority value, so move parent down the heap to make room
+ _nodes[node.QueueIndex] = parentNode;
+ parentNode.QueueIndex = node.QueueIndex;
+
+ node.QueueIndex = parent;
+ }
+ _nodes[node.QueueIndex] = node;
+ }
+
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ private void CascadeDown(TItem node)
+ {
+ //aka Heapify-down
+ int finalQueueIndex = node.QueueIndex;
+ int childLeftIndex = 2 * finalQueueIndex;
+
+ // If leaf node, we're done
+ if(childLeftIndex > _numNodes)
+ {
+ return;
+ }
+
+ // Check if the left-child is higher-priority than the current node
+ int childRightIndex = childLeftIndex + 1;
+ TItem childLeft = _nodes[childLeftIndex];
+ if(HasHigherPriority(childLeft, node))
+ {
+ // Check if there is a right child. If not, swap and finish.
+ if(childRightIndex > _numNodes)
+ {
+ node.QueueIndex = childLeftIndex;
+ childLeft.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = childLeft;
+ _nodes[childLeftIndex] = node;
+ return;
+ }
+ // Check if the left-child is higher-priority than the right-child
+ TItem childRight = _nodes[childRightIndex];
+ if(HasHigherPriority(childLeft, childRight))
+ {
+ // left is highest, move it up and continue
+ childLeft.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = childLeft;
+ finalQueueIndex = childLeftIndex;
+ }
+ else
+ {
+ // right is even higher, move it up and continue
+ childRight.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = childRight;
+ finalQueueIndex = childRightIndex;
+ }
+ }
+ // Not swapping with left-child, does right-child exist?
+ else if(childRightIndex > _numNodes)
+ {
+ return;
+ }
+ else
+ {
+ // Check if the right-child is higher-priority than the current node
+ TItem childRight = _nodes[childRightIndex];
+ if(HasHigherPriority(childRight, node))
+ {
+ childRight.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = childRight;
+ finalQueueIndex = childRightIndex;
+ }
+ // Neither child is higher-priority than current, so finish and stop.
+ else
+ {
+ return;
+ }
+ }
+
+ while(true)
+ {
+ childLeftIndex = 2 * finalQueueIndex;
+
+ // If leaf node, we're done
+ if(childLeftIndex > _numNodes)
+ {
+ node.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = node;
+ break;
+ }
+
+ // Check if the left-child is higher-priority than the current node
+ childRightIndex = childLeftIndex + 1;
+ childLeft = _nodes[childLeftIndex];
+ if(HasHigherPriority(childLeft, node))
+ {
+ // Check if there is a right child. If not, swap and finish.
+ if(childRightIndex > _numNodes)
+ {
+ node.QueueIndex = childLeftIndex;
+ childLeft.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = childLeft;
+ _nodes[childLeftIndex] = node;
+ break;
+ }
+ // Check if the left-child is higher-priority than the right-child
+ TItem childRight = _nodes[childRightIndex];
+ if(HasHigherPriority(childLeft, childRight))
+ {
+ // left is highest, move it up and continue
+ childLeft.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = childLeft;
+ finalQueueIndex = childLeftIndex;
+ }
+ else
+ {
+ // right is even higher, move it up and continue
+ childRight.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = childRight;
+ finalQueueIndex = childRightIndex;
+ }
+ }
+ // Not swapping with left-child, does right-child exist?
+ else if(childRightIndex > _numNodes)
+ {
+ node.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = node;
+ break;
+ }
+ else
+ {
+ // Check if the right-child is higher-priority than the current node
+ TItem childRight = _nodes[childRightIndex];
+ if(HasHigherPriority(childRight, node))
+ {
+ childRight.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = childRight;
+ finalQueueIndex = childRightIndex;
+ }
+ // Neither child is higher-priority than current, so finish and stop.
+ else
+ {
+ node.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = node;
+ break;
+ }
+ }
+ }
+ }
+
+ /// <summary>
+ /// Returns true if 'higher' has higher priority than 'lower', false otherwise.
+ /// Note that calling HasHigherPriority(node, node) (ie. both arguments the same node) will return false
+ /// </summary>
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ private bool HasHigherPriority(TItem higher, TItem lower)
+ {
+ var cmp = _comparer(higher.Priority, lower.Priority);
+ return (cmp < 0 || (cmp == 0 && higher.InsertionIndex < lower.InsertionIndex));
+ }
+
+ /// <summary>
+ /// Removes the head of the queue (node with minimum priority; ties are broken by order of insertion), and returns it.
+ /// If queue is empty, result is undefined
+ /// O(log n)
+ /// </summary>
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ public TItem Dequeue()
+ {
+#if DEBUG
+ if(_numNodes <= 0)
+ {
+ throw new InvalidOperationException("Cannot call Dequeue() on an empty queue");
+ }
+
+ if(!IsValidQueue())
+ {
+ throw new InvalidOperationException("Queue has been corrupted (Did you update a node priority manually instead of calling UpdatePriority()?" +
+ "Or add the same node to two different queues?)");
+ }
+#endif
+
+ TItem returnMe = _nodes[1];
+ //If the node is already the last node, we can remove it immediately
+ if(_numNodes == 1)
+ {
+ _nodes[1] = null;
+ _numNodes = 0;
+ return returnMe;
+ }
+
+ //Swap the node with the last node
+ TItem formerLastNode = _nodes[_numNodes];
+ _nodes[1] = formerLastNode;
+ formerLastNode.QueueIndex = 1;
+ _nodes[_numNodes] = null;
+ _numNodes--;
+
+ //Now bubble formerLastNode (which is no longer the last node) down
+ CascadeDown(formerLastNode);
+ return returnMe;
+ }
+
+ /// <summary>
+ /// Resize the queue so it can accept more nodes. All currently enqueued nodes are remain.
+ /// Attempting to decrease the queue size to a size too small to hold the existing nodes results in undefined behavior
+ /// O(n)
+ /// </summary>
+ public void Resize(int maxNodes)
+ {
+#if DEBUG
+ if (maxNodes <= 0)
+ {
+ throw new InvalidOperationException("Queue size cannot be smaller than 1");
+ }
+
+ if (maxNodes < _numNodes)
+ {
+ throw new InvalidOperationException("Called Resize(" + maxNodes + "), but current queue contains " + _numNodes + " nodes");
+ }
+#endif
+
+ TItem[] newArray = new TItem[maxNodes + 1];
+ int highestIndexToCopy = Math.Min(maxNodes, _numNodes);
+ Array.Copy(_nodes, newArray, highestIndexToCopy + 1);
+ _nodes = newArray;
+ }
+
+ /// <summary>
+ /// Returns the head of the queue, without removing it (use Dequeue() for that).
+ /// If the queue is empty, behavior is undefined.
+ /// O(1)
+ /// </summary>
+ public TItem First
+ {
+ get
+ {
+#if DEBUG
+ if(_numNodes <= 0)
+ {
+ throw new InvalidOperationException("Cannot call .First on an empty queue");
+ }
+#endif
+
+ return _nodes[1];
+ }
+ }
+
+ /// <summary>
+ /// This method must be called on a node every time its priority changes while it is in the queue.
+ /// <b>Forgetting to call this method will result in a corrupted queue!</b>
+ /// Calling this method on a node not in the queue results in undefined behavior
+ /// O(log n)
+ /// </summary>
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ public void UpdatePriority(TItem node, TPriority priority)
+ {
+#if DEBUG
+ if(node == null)
+ {
+ throw new ArgumentNullException("node");
+ }
+ if (node.Queue != null && !Equals(node.Queue))
+ {
+ throw new InvalidOperationException("node.UpdatePriority was called on a node from another queue");
+ }
+ if (!Contains(node))
+ {
+ throw new InvalidOperationException("Cannot call UpdatePriority() on a node which is not enqueued: " + node);
+ }
+#endif
+
+ node.Priority = priority;
+ OnNodeUpdated(node);
+ }
+
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ private void OnNodeUpdated(TItem node)
+ {
+ //Bubble the updated node up or down as appropriate
+ int parentIndex = node.QueueIndex >> 1;
+
+ if(parentIndex > 0 && HasHigherPriority(node, _nodes[parentIndex]))
+ {
+ CascadeUp(node);
+ }
+ else
+ {
+ //Note that CascadeDown will be called if parentNode == node (that is, node is the root)
+ CascadeDown(node);
+ }
+ }
+
+ /// <summary>
+ /// Removes a node from the queue. The node does not need to be the head of the queue.
+ /// If the node is not in the queue, the result is undefined. If unsure, check Contains() first
+ /// O(log n)
+ /// </summary>
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ public void Remove(TItem node)
+ {
+#if DEBUG
+ if(node == null)
+ {
+ throw new ArgumentNullException("node");
+ }
+ if (node.Queue != null && !Equals(node.Queue))
+ {
+ throw new InvalidOperationException("node.Remove was called on a node from another queue");
+ }
+ if (!Contains(node))
+ {
+ throw new InvalidOperationException("Cannot call Remove() on a node which is not enqueued: " + node);
+ }
+#endif
+
+ //If the node is already the last node, we can remove it immediately
+ if(node.QueueIndex == _numNodes)
+ {
+ _nodes[_numNodes] = null;
+ _numNodes--;
+ return;
+ }
+
+ //Swap the node with the last node
+ TItem formerLastNode = _nodes[_numNodes];
+ _nodes[node.QueueIndex] = formerLastNode;
+ formerLastNode.QueueIndex = node.QueueIndex;
+ _nodes[_numNodes] = null;
+ _numNodes--;
+
+ //Now bubble formerLastNode (which is no longer the last node) up or down as appropriate
+ OnNodeUpdated(formerLastNode);
+ }
+
+ /// <summary>
+ /// By default, nodes that have been previously added to one queue cannot be added to another queue.
+ /// If you need to do this, please call originalQueue.ResetNode(node) before attempting to add it in the new queue
+ /// </summary>
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ public void ResetNode(TItem node)
+ {
+#if DEBUG
+ if (node == null)
+ {
+ throw new ArgumentNullException("node");
+ }
+ if (node.Queue != null && !Equals(node.Queue))
+ {
+ throw new InvalidOperationException("node.ResetNode was called on a node from another queue");
+ }
+ if (Contains(node))
+ {
+ throw new InvalidOperationException("node.ResetNode was called on a node that is still in the queue");
+ }
+
+ node.Queue = null;
+#endif
+
+ node.QueueIndex = 0;
+ }
+
+
+ public IEnumerator<TItem> GetEnumerator()
+ {
+#if NET_VERSION_4_5 // ArraySegment does not implement IEnumerable before 4.5
+ IEnumerable<TItem> e = new ArraySegment<TItem>(_nodes, 1, _numNodes);
+ return e.GetEnumerator();
+#else
+ for(int i = 1; i <= _numNodes; i++)
+ yield return _nodes[i];
+#endif
+ }
+
+ IEnumerator IEnumerable.GetEnumerator()
+ {
+ return GetEnumerator();
+ }
+
+ /// <summary>
+ /// <b>Should not be called in production code.</b>
+ /// Checks to make sure the queue is still in a valid state. Used for testing/debugging the queue.
+ /// </summary>
+ public bool IsValidQueue()
+ {
+ for(int i = 1; i < _nodes.Length; i++)
+ {
+ if(_nodes[i] != null)
+ {
+ int childLeftIndex = 2 * i;
+ if(childLeftIndex < _nodes.Length && _nodes[childLeftIndex] != null && HasHigherPriority(_nodes[childLeftIndex], _nodes[i]))
+ return false;
+
+ int childRightIndex = childLeftIndex + 1;
+ if(childRightIndex < _nodes.Length && _nodes[childRightIndex] != null && HasHigherPriority(_nodes[childRightIndex], _nodes[i]))
+ return false;
+ }
+ }
+ return true;
+ }
+ }
+}
diff --git a/Software/Visual_Studio/SideChains/Priority Queue/GenericPriorityQueueNode.cs b/Software/Visual_Studio/SideChains/Priority Queue/GenericPriorityQueueNode.cs
new file mode 100644
index 000000000..5a53ed24e
--- /dev/null
+++ b/Software/Visual_Studio/SideChains/Priority Queue/GenericPriorityQueueNode.cs
@@ -0,0 +1,29 @@
+namespace Priority_Queue
+{
+ public class GenericPriorityQueueNode<TPriority>
+ {
+ /// <summary>
+ /// The Priority to insert this node at. Must be set BEFORE adding a node to the queue (ideally just once, in the node's constructor).
+ /// Should not be manually edited once the node has been enqueued - use queue.UpdatePriority() instead
+ /// </summary>
+ public TPriority Priority { get; protected internal set; }
+
+ /// <summary>
+ /// Represents the current position in the queue
+ /// </summary>
+ public int QueueIndex { get; internal set; }
+
+ /// <summary>
+ /// Represents the order the node was inserted in
+ /// </summary>
+ public long InsertionIndex { get; internal set; }
+
+
+#if DEBUG
+ /// <summary>
+ /// The queue this node is tied to. Used only for debug builds.
+ /// </summary>
+ public object Queue { get; internal set; }
+#endif
+ }
+}
diff --git a/Software/Visual_Studio/SideChains/Priority Queue/IFixedSizePriorityQueue.cs b/Software/Visual_Studio/SideChains/Priority Queue/IFixedSizePriorityQueue.cs
new file mode 100644
index 000000000..e95f7c29b
--- /dev/null
+++ b/Software/Visual_Studio/SideChains/Priority Queue/IFixedSizePriorityQueue.cs
@@ -0,0 +1,31 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Priority_Queue
+{
+ /// <summary>
+ /// A helper-interface only needed to make writing unit tests a bit easier (hence the 'internal' access modifier)
+ /// </summary>
+ internal interface IFixedSizePriorityQueue<TItem, in TPriority> : IPriorityQueue<TItem, TPriority>
+ where TPriority : IComparable<TPriority>
+ {
+ /// <summary>
+ /// Resize the queue so it can accept more nodes. All currently enqueued nodes are remain.
+ /// Attempting to decrease the queue size to a size too small to hold the existing nodes results in undefined behavior
+ /// </summary>
+ void Resize(int maxNodes);
+
+ /// <summary>
+ /// Returns the maximum number of items that can be enqueued at once in this queue. Once you hit this number (ie. once Count == MaxSize),
+ /// attempting to enqueue another item will cause undefined behavior.
+ /// </summary>
+ int MaxSize { get; }
+
+ /// <summary>
+ /// By default, nodes that have been previously added to one queue cannot be added to another queue.
+ /// If you need to do this, please call originalQueue.ResetNode(node) before attempting to add it in the new queue
+ /// </summary>
+ void ResetNode(TItem node);
+ }
+}
diff --git a/Software/Visual_Studio/SideChains/Priority Queue/IPriorityQueue.cs b/Software/Visual_Studio/SideChains/Priority Queue/IPriorityQueue.cs
new file mode 100644
index 000000000..a5053e955
--- /dev/null
+++ b/Software/Visual_Studio/SideChains/Priority Queue/IPriorityQueue.cs
@@ -0,0 +1,55 @@
+using System;
+using System.Collections.Generic;
+
+namespace Priority_Queue
+{
+ /// <summary>
+ /// The IPriorityQueue interface. This is mainly here for purists, and in case I decide to add more implementations later.
+ /// For speed purposes, it is actually recommended that you *don't* access the priority queue through this interface, since the JIT can
+ /// (theoretically?) optimize method calls from concrete-types slightly better.
+ /// </summary>
+ public interface IPriorityQueue<TItem, in TPriority> : IEnumerable<TItem>
+ where TPriority : IComparable<TPriority>
+ {
+ /// <summary>
+ /// Enqueue a node to the priority queue. Lower values are placed in front. Ties are broken by first-in-first-out.
+ /// See implementation for how duplicates are handled.
+ /// </summary>
+ void Enqueue(TItem node, TPriority priority);
+
+ /// <summary>
+ /// Removes the head of the queue (node with minimum priority; ties are broken by order of insertion), and returns it.
+ /// </summary>
+ TItem Dequeue();
+
+ /// <summary>
+ /// Removes every node from the queue.
+ /// </summary>
+ void Clear();
+
+ /// <summary>
+ /// Returns whether the given node is in the queue.
+ /// </summary>
+ bool Contains(TItem node);
+
+ /// <summary>
+ /// Removes a node from the queue. The node does not need to be the head of the queue.
+ /// </summary>
+ void Remove(TItem node);
+
+ /// <summary>
+ /// Call this method to change the priority of a node.
+ /// </summary>
+ void UpdatePriority(TItem node, TPriority priority);
+
+ /// <summary>
+ /// Returns the head of the queue, without removing it (use Dequeue() for that).
+ /// </summary>
+ TItem First { get; }
+
+ /// <summary>
+ /// Returns the number of nodes in the queue.
+ /// </summary>
+ int Count { get; }
+ }
+}
diff --git a/Software/Visual_Studio/SideChains/Priority Queue/Priority Queue.csproj b/Software/Visual_Studio/SideChains/Priority Queue/Priority Queue.csproj
new file mode 100644
index 000000000..8b02157f1
--- /dev/null
+++ b/Software/Visual_Studio/SideChains/Priority Queue/Priority Queue.csproj
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" 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>{1531C1EA-BD53-41D1-A34B-CFCDF79D2651}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Priority_Queue</RootNamespace>
+ <AssemblyName>Priority Queue</AssemblyName>
+ <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <CustomConstants Condition=" '$(TargetFrameworkVersion)' == 'v4.5' ">NET_VERSION_4_5</CustomConstants>
+ <DefineConstants>$(DefineConstants);$(CustomConstants)</DefineConstants>
+ <TargetFrameworkProfile>
+ </TargetFrameworkProfile>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <CustomConstants Condition=" '$(TargetFrameworkVersion)' == 'v4.5' ">NET_VERSION_4_5</CustomConstants>
+ <DefineConstants>$(DefineConstants);$(CustomConstants)</DefineConstants>
+ <Prefer32Bit>false</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <CustomConstants Condition=" '$(TargetFrameworkVersion)' == 'v4.5' ">NET_VERSION_4_5</CustomConstants>
+ <DefineConstants>$(DefineConstants);$(CustomConstants)</DefineConstants>
+ <Prefer32Bit>false</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release 4.5|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <DefineConstants>TRACE;NET_VERSION_4_5</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <Prefer32Bit>false</Prefer32Bit>
+ <OutputPath>bin\Release\net45\</OutputPath>
+ <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+ <DocumentationFile>bin\Release\net45\Priority Queue.xml</DocumentationFile>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release 2.0|AnyCPU'">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <Prefer32Bit>false</Prefer32Bit>
+ <OutputPath>bin\Release\net20\</OutputPath>
+ <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+ <DocumentationFile>bin\Release\net20\Priority Queue.xml</DocumentationFile>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="GenericPriorityQueue.cs" />
+ <Compile Include="GenericPriorityQueueNode.cs" />
+ <Compile Include="IFixedSizePriorityQueue.cs" />
+ <Compile Include="StablePriorityQueue.cs" />
+ <Compile Include="FastPriorityQueue.cs" />
+ <Compile Include="StablePriorityQueueNode.cs" />
+ <Compile Include="IPriorityQueue.cs" />
+ <Compile Include="FastPriorityQueueNode.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="SimplePriorityQueue.cs" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project> \ No newline at end of file
diff --git a/Software/Visual_Studio/SideChains/Priority Queue/Priority Queue.nuspec b/Software/Visual_Studio/SideChains/Priority Queue/Priority Queue.nuspec
new file mode 100644
index 000000000..94ab70f4d
--- /dev/null
+++ b/Software/Visual_Studio/SideChains/Priority Queue/Priority Queue.nuspec
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<package >
+ <metadata>
+ <id>OptimizedPriorityQueue</id>
+ <version>4.2.0</version>
+ <title>Highly Optimized Priority Queue</title>
+ <authors>BlueRaja</authors>
+ <owners>BlueRaja</owners>
+ <licenseUrl>https://github.com/BlueRaja/High-Speed-Priority-Queue-for-C-Sharp/blob/master/LICENSE.txt</licenseUrl>
+ <projectUrl>https://github.com/BlueRaja/High-Speed-Priority-Queue-for-C-Sharp</projectUrl>
+ <requireLicenseAcceptance>false</requireLicenseAcceptance>
+ <description>A highly optimized Priority Queue for path-finding and related applications</description>
+ <releaseNotes>Speed improvements; added ResetNode(); included IEqualityComparer in SimplePriorityQueue to avoid boxing</releaseNotes>
+ <copyright>Copyright 2018</copyright>
+ <tags>C# priority-queue pathfinding optimized</tags>
+ </metadata>
+ <files>
+ <file src="bin\Release\net20\Priority Queue.dll" target="lib\net20\Priority Queue.dll" />
+ <file src="bin\Release\net20\Priority Queue.pdb" target="lib\net20\Priority Queue.pdb" />
+ <file src="bin\Release\net20\Priority Queue.xml" target="lib\net20\Priority Queue.xml" />
+
+ <file src="bin\Release\net45\Priority Queue.dll" target="lib\net45\Priority Queue.dll" />
+ <file src="bin\Release\net45\Priority Queue.pdb" target="lib\net45\Priority Queue.pdb" />
+ <file src="bin\Release\net45\Priority Queue.xml" target="lib\net45\Priority Queue.xml" />
+
+ <file src="..\Priority Queue UWP\bin\Release\netcore45\Priority Queue.dll" target="lib\netstandard1.0\Priority Queue.dll" />
+ <file src="..\Priority Queue UWP\bin\Release\netcore45\Priority Queue.pdb" target="lib\netstandard1.0\Priority Queue.pdb" />
+ <file src="..\Priority Queue UWP\bin\Release\netcore45\Priority Queue.xml" target="lib\netstandard1.0\Priority Queue.xml" />
+
+ <file src="..\Priority Queue PCL\bin\Release\Priority Queue.dll" target="lib\portable-net40+sl5+win8+wpa81+wp8\Priority Queue.dll" />
+ <file src="..\Priority Queue PCL\bin\Release\Priority Queue.pdb" target="lib\portable-net40+sl5+win8+wpa81+wp8\Priority Queue.pdb" />
+ <file src="..\Priority Queue PCL\bin\Release\Priority Queue.xml" target="lib\portable-net40+sl5+win8+wpa81+wp8\Priority Queue.xml" />
+
+ <file src="..\Priority Queue Unity Full\bin\Release\Priority Queue.dll" target="lib\net35-unity full v3.5\Priority Queue.dll" />
+ <file src="..\Priority Queue Unity Full\bin\Release\Priority Queue.pdb" target="lib\net35-unity full v3.5\Priority Queue.pdb" />
+ <file src="..\Priority Queue Unity Full\bin\Release\Priority Queue.xml" target="lib\net35-unity full v3.5\Priority Queue.xml" />
+
+ <file src="..\Priority Queue Unity Subset\bin\Release\Priority Queue.dll" target="lib\net35-unity subset v3.5\Priority Queue.dll" />
+ <file src="..\Priority Queue Unity Subset\bin\Release\Priority Queue.pdb" target="lib\net35-unity subset v3.5\Priority Queue.pdb" />
+ <file src="..\Priority Queue Unity Subset\bin\Release\Priority Queue.xml" target="lib\net35-unity subset v3.5\Priority Queue.xml" />
+ </files>
+</package> \ No newline at end of file
diff --git a/Software/Visual_Studio/SideChains/Priority Queue/Properties/AssemblyInfo.cs b/Software/Visual_Studio/SideChains/Priority Queue/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..7143261f2
--- /dev/null
+++ b/Software/Visual_Studio/SideChains/Priority Queue/Properties/AssemblyInfo.cs
@@ -0,0 +1,38 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+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("Highly Optimized Priority Queue")]
+[assembly: AssemblyDescription("A highly optimized Priority Queue for path-finding and related applications")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Highly Optimized Priority Queue")]
+[assembly: AssemblyCopyright("Copyright © BlueRaja 2017")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 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("3eee6b54-af8a-494b-9121-3d46ed09a58b")]
+
+[assembly: InternalsVisibleToAttribute("Priority Queue Tests")]
+
+// 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("4.2.0")]
+[assembly: AssemblyFileVersion("4.2.0")] \ No newline at end of file
diff --git a/Software/Visual_Studio/SideChains/Priority Queue/SimplePriorityQueue.cs b/Software/Visual_Studio/SideChains/Priority Queue/SimplePriorityQueue.cs
new file mode 100644
index 000000000..0d35ff1ac
--- /dev/null
+++ b/Software/Visual_Studio/SideChains/Priority Queue/SimplePriorityQueue.cs
@@ -0,0 +1,588 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+
+namespace Priority_Queue
+{
+ /// <summary>
+ /// A simplified priority queue implementation. Is stable, auto-resizes, and thread-safe, at the cost of being slightly slower than
+ /// FastPriorityQueue
+ /// Methods tagged as O(1) or O(log n) are assuming there are no duplicates. Duplicates may increase the algorithmic complexity.
+ /// </summary>
+ /// <typeparam name="TItem">The type to enqueue</typeparam>
+ /// <typeparam name="TPriority">The priority-type to use for nodes. Must extend IComparable&lt;TPriority&gt;</typeparam>
+ public class SimplePriorityQueue<TItem, TPriority> : IPriorityQueue<TItem, TPriority>
+ where TPriority : IComparable<TPriority>
+ {
+ private class SimpleNode : GenericPriorityQueueNode<TPriority>
+ {
+ public TItem Data { get; private set; }
+
+ public SimpleNode(TItem data)
+ {
+ Data = data;
+ }
+ }
+
+ private const int INITIAL_QUEUE_SIZE = 10;
+ private readonly GenericPriorityQueue<SimpleNode, TPriority> _queue;
+ private readonly Dictionary<TItem, IList<SimpleNode>> _itemToNodesCache;
+ private readonly IList<SimpleNode> _nullNodesCache;
+
+ #region Constructors
+ /// <summary>
+ /// Instantiate a new Priority Queue
+ /// </summary>
+ public SimplePriorityQueue() : this(Comparer<TPriority>.Default, EqualityComparer<TItem>.Default) { }
+
+ /// <summary>
+ /// Instantiate a new Priority Queue
+ /// </summary>
+ /// <param name="priorityComparer">The comparer used to compare TPriority values. Defaults to Comparer&lt;TPriority&gt;.default</param>
+ public SimplePriorityQueue(IComparer<TPriority> priorityComparer) : this(priorityComparer.Compare, EqualityComparer<TItem>.Default) { }
+
+ /// <summary>
+ /// Instantiate a new Priority Queue
+ /// </summary>
+ /// <param name="priorityComparer">The comparison function to use to compare TPriority values</param>
+ public SimplePriorityQueue(Comparison<TPriority> priorityComparer) : this(priorityComparer, EqualityComparer<TItem>.Default) { }
+
+ /// <summary>
+ /// Instantiate a new Priority Queue
+ /// </summary>
+ /// <param name="itemEquality">The equality comparison function to use to compare TItem values</param>
+ public SimplePriorityQueue(IEqualityComparer<TItem> itemEquality) : this(Comparer<TPriority>.Default, itemEquality) { }
+
+ /// <summary>
+ /// Instantiate a new Priority Queue
+ /// </summary>
+ /// <param name="priorityComparer">The comparer used to compare TPriority values. Defaults to Comparer&lt;TPriority&gt;.default</param>
+ /// <param name="itemEquality">The equality comparison function to use to compare TItem values</param>
+ public SimplePriorityQueue(IComparer<TPriority> priorityComparer, IEqualityComparer<TItem> itemEquality) : this(priorityComparer.Compare, itemEquality) { }
+
+ /// <summary>
+ /// Instantiate a new Priority Queue
+ /// </summary>
+ /// <param name="priorityComparer">The comparison function to use to compare TPriority values</param>
+ /// <param name="itemEquality">The equality comparison function to use to compare TItem values</param>
+ public SimplePriorityQueue(Comparison<TPriority> priorityComparer, IEqualityComparer<TItem> itemEquality)
+ {
+ _queue = new GenericPriorityQueue<SimpleNode, TPriority>(INITIAL_QUEUE_SIZE, priorityComparer);
+ _itemToNodesCache = new Dictionary<TItem, IList<SimpleNode>>(itemEquality);
+ _nullNodesCache = new List<SimpleNode>();
+ }
+ #endregion
+
+ /// <summary>
+ /// Given an item of type T, returns the existing SimpleNode in the queue
+ /// </summary>
+ private SimpleNode GetExistingNode(TItem item)
+ {
+ if (item == null)
+ {
+ return _nullNodesCache.Count > 0 ? _nullNodesCache[0] : null;
+ }
+
+ IList<SimpleNode> nodes;
+ if (!_itemToNodesCache.TryGetValue(item, out nodes))
+ {
+ return null;
+ }
+ return nodes[0];
+ }
+
+ /// <summary>
+ /// Adds an item to the Node-cache to allow for many methods to be O(1) or O(log n)
+ /// </summary>
+ private void AddToNodeCache(SimpleNode node)
+ {
+ if (node.Data == null)
+ {
+ _nullNodesCache.Add(node);
+ return;
+ }
+
+ IList<SimpleNode> nodes;
+ if (!_itemToNodesCache.TryGetValue(node.Data, out nodes))
+ {
+ nodes = new List<SimpleNode>();
+ _itemToNodesCache[node.Data] = nodes;
+ }
+ nodes.Add(node);
+ }
+
+ /// <summary>
+ /// Removes an item to the Node-cache to allow for many methods to be O(1) or O(log n) (assuming no duplicates)
+ /// </summary>
+ private void RemoveFromNodeCache(SimpleNode node)
+ {
+ if (node.Data == null)
+ {
+ _nullNodesCache.Remove(node);
+ return;
+ }
+
+ IList<SimpleNode> nodes;
+ if (!_itemToNodesCache.TryGetValue(node.Data, out nodes))
+ {
+ return;
+ }
+ nodes.Remove(node);
+ if (nodes.Count == 0)
+ {
+ _itemToNodesCache.Remove(node.Data);
+ }
+ }
+
+ /// <summary>
+ /// Returns the number of nodes in the queue.
+ /// O(1)
+ /// </summary>
+ public int Count
+ {
+ get
+ {
+ lock(_queue)
+ {
+ return _queue.Count;
+ }
+ }
+ }
+
+ /// <summary>
+ /// Returns the head of the queue, without removing it (use Dequeue() for that).
+ /// Throws an exception when the queue is empty.
+ /// O(1)
+ /// </summary>
+ public TItem First
+ {
+ get
+ {
+ lock(_queue)
+ {
+ if(_queue.Count <= 0)
+ {
+ throw new InvalidOperationException("Cannot call .First on an empty queue");
+ }
+
+ return _queue.First.Data;
+ }
+ }
+ }
+
+ /// <summary>
+ /// Removes every node from the queue.
+ /// O(n)
+ /// </summary>
+ public void Clear()
+ {
+ lock(_queue)
+ {
+ _queue.Clear();
+ _itemToNodesCache.Clear();
+ _nullNodesCache.Clear();
+ }
+ }
+
+ /// <summary>
+ /// Returns whether the given item is in the queue.
+ /// O(1)
+ /// </summary>
+ public bool Contains(TItem item)
+ {
+ lock(_queue)
+ {
+ return item == null ? _nullNodesCache.Count > 0 : _itemToNodesCache.ContainsKey(item);
+ }
+ }
+
+ /// <summary>
+ /// Removes the head of the queue (node with minimum priority; ties are broken by order of insertion), and returns it.
+ /// If queue is empty, throws an exception
+ /// O(log n)
+ /// </summary>
+ public TItem Dequeue()
+ {
+ lock(_queue)
+ {
+ if(_queue.Count <= 0)
+ {
+ throw new InvalidOperationException("Cannot call Dequeue() on an empty queue");
+ }
+
+ SimpleNode node =_queue.Dequeue();
+ RemoveFromNodeCache(node);
+ return node.Data;
+ }
+ }
+
+ /// <summary>
+ /// Enqueue the item with the given priority, without calling lock(_queue) or AddToNodeCache(node)
+ /// </summary>
+ /// <param name="item"></param>
+ /// <param name="priority"></param>
+ /// <returns></returns>
+ private SimpleNode EnqueueNoLockOrCache(TItem item, TPriority priority)
+ {
+ SimpleNode node = new SimpleNode(item);
+ if (_queue.Count == _queue.MaxSize)
+ {
+ _queue.Resize(_queue.MaxSize * 2 + 1);
+ }
+ _queue.Enqueue(node, priority);
+ return node;
+ }
+
+ /// <summary>
+ /// Enqueue a node to the priority queue. Lower values are placed in front. Ties are broken by first-in-first-out.
+ /// This queue automatically resizes itself, so there's no concern of the queue becoming 'full'.
+ /// Duplicates and null-values are allowed.
+ /// O(log n)
+ /// </summary>
+ public void Enqueue(TItem item, TPriority priority)
+ {
+ lock(_queue)
+ {
+ IList<SimpleNode> nodes;
+ if (item == null)
+ {
+ nodes = _nullNodesCache;
+ }
+ else if (!_itemToNodesCache.TryGetValue(item, out nodes))
+ {
+ nodes = new List<SimpleNode>();
+ _itemToNodesCache[item] = nodes;
+ }
+ SimpleNode node = EnqueueNoLockOrCache(item, priority);
+ nodes.Add(node);
+ }
+ }
+
+ /// <summary>
+ /// Enqueue a node to the priority queue if it doesn't already exist. Lower values are placed in front. Ties are broken by first-in-first-out.
+ /// This queue automatically resizes itself, so there's no concern of the queue becoming 'full'. Null values are allowed.
+ /// Returns true if the node was successfully enqueued; false if it already exists.
+ /// O(log n)
+ /// </summary>
+ public bool EnqueueWithoutDuplicates(TItem item, TPriority priority)
+ {
+ lock(_queue)
+ {
+ IList<SimpleNode> nodes;
+ if (item == null)
+ {
+ if (_nullNodesCache.Count > 0)
+ {
+ return false;
+ }
+ nodes = _nullNodesCache;
+ }
+ else if (_itemToNodesCache.ContainsKey(item))
+ {
+ return false;
+ }
+ else
+ {
+ nodes = new List<SimpleNode>();
+ _itemToNodesCache[item] = nodes;
+ }
+ SimpleNode node = EnqueueNoLockOrCache(item, priority);
+ nodes.Add(node);
+ return true;
+ }
+ }
+
+ /// <summary>
+ /// Removes an item from the queue. The item does not need to be the head of the queue.
+ /// If the item is not in the queue, an exception is thrown. If unsure, check Contains() first.
+ /// If multiple copies of the item are enqueued, only the first one is removed.
+ /// O(log n)
+ /// </summary>
+ public void Remove(TItem item)
+ {
+ lock(_queue)
+ {
+ SimpleNode removeMe;
+ IList<SimpleNode> nodes;
+ if (item == null)
+ {
+ if (_nullNodesCache.Count == 0)
+ {
+ throw new InvalidOperationException("Cannot call Remove() on a node which is not enqueued: " + item);
+ }
+ removeMe = _nullNodesCache[0];
+ nodes = _nullNodesCache;
+ }
+ else
+ {
+ if (!_itemToNodesCache.TryGetValue(item, out nodes))
+ {
+ throw new InvalidOperationException("Cannot call Remove() on a node which is not enqueued: " + item);
+ }
+ removeMe = nodes[0];
+ if (nodes.Count == 1)
+ {
+ _itemToNodesCache.Remove(item);
+ }
+ }
+ _queue.Remove(removeMe);
+ nodes.Remove(removeMe);
+ }
+ }
+
+ /// <summary>
+ /// Call this method to change the priority of an item.
+ /// Calling this method on a item not in the queue will throw an exception.
+ /// If the item is enqueued multiple times, only the first one will be updated.
+ /// (If your requirements are complex enough that you need to enqueue the same item multiple times <i>and</i> be able
+ /// to update all of them, please wrap your items in a wrapper class so they can be distinguished).
+ /// O(log n)
+ /// </summary>
+ public void UpdatePriority(TItem item, TPriority priority)
+ {
+ lock (_queue)
+ {
+ SimpleNode updateMe = GetExistingNode(item);
+ if (updateMe == null)
+ {
+ throw new InvalidOperationException("Cannot call UpdatePriority() on a node which is not enqueued: " + item);
+ }
+ _queue.UpdatePriority(updateMe, priority);
+ }
+ }
+
+ /// <summary>
+ /// Returns the priority of the given item.
+ /// Calling this method on a item not in the queue will throw an exception.
+ /// If the item is enqueued multiple times, only the priority of the first will be returned.
+ /// (If your requirements are complex enough that you need to enqueue the same item multiple times <i>and</i> be able
+ /// to query all their priorities, please wrap your items in a wrapper class so they can be distinguished).
+ /// O(1)
+ /// </summary>
+ public TPriority GetPriority(TItem item)
+ {
+ lock (_queue)
+ {
+ SimpleNode findMe = GetExistingNode(item);
+ if(findMe == null)
+ {
+ throw new InvalidOperationException("Cannot call GetPriority() on a node which is not enqueued: " + item);
+ }
+ return findMe.Priority;
+ }
+ }
+
+ #region Try* methods for multithreading
+ /// Get the head of the queue, without removing it (use TryDequeue() for that).
+ /// Useful for multi-threading, where the queue may become empty between calls to Contains() and First
+ /// Returns true if successful, false otherwise
+ /// O(1)
+ public bool TryFirst(out TItem first)
+ {
+ if (_queue.Count > 0)
+ {
+ lock (_queue)
+ {
+ if (_queue.Count > 0)
+ {
+ first = _queue.First.Data;
+ return true;
+ }
+ }
+ }
+
+ first = default(TItem);
+ return false;
+ }
+
+ /// <summary>
+ /// Removes the head of the queue (node with minimum priority; ties are broken by order of insertion), and sets it to first.
+ /// Useful for multi-threading, where the queue may become empty between calls to Contains() and Dequeue()
+ /// Returns true if successful; false if queue was empty
+ /// O(log n)
+ /// </summary>
+ public bool TryDequeue(out TItem first)
+ {
+ if (_queue.Count > 0)
+ {
+ lock (_queue)
+ {
+ if (_queue.Count > 0)
+ {
+ SimpleNode node = _queue.Dequeue();
+ first = node.Data;
+ RemoveFromNodeCache(node);
+ return true;
+ }
+ }
+ }
+
+ first = default(TItem);
+ return false;
+ }
+
+ /// <summary>
+ /// Attempts to remove an item from the queue. The item does not need to be the head of the queue.
+ /// Useful for multi-threading, where the queue may become empty between calls to Contains() and Remove()
+ /// Returns true if the item was successfully removed, false if it wasn't in the queue.
+ /// If multiple copies of the item are enqueued, only the first one is removed.
+ /// O(log n)
+ /// </summary>
+ public bool TryRemove(TItem item)
+ {
+ lock(_queue)
+ {
+ SimpleNode removeMe;
+ IList<SimpleNode> nodes;
+ if (item == null)
+ {
+ if (_nullNodesCache.Count == 0)
+ {
+ return false;
+ }
+ removeMe = _nullNodesCache[0];
+ nodes = _nullNodesCache;
+ }
+ else
+ {
+ if (!_itemToNodesCache.TryGetValue(item, out nodes))
+ {
+ return false;
+ }
+ removeMe = nodes[0];
+ if (nodes.Count == 1)
+ {
+ _itemToNodesCache.Remove(item);
+ }
+ }
+ _queue.Remove(removeMe);
+ nodes.Remove(removeMe);
+ return true;
+ }
+ }
+
+ /// <summary>
+ /// Call this method to change the priority of an item.
+ /// Useful for multi-threading, where the queue may become empty between calls to Contains() and UpdatePriority()
+ /// If the item is enqueued multiple times, only the first one will be updated.
+ /// (If your requirements are complex enough that you need to enqueue the same item multiple times <i>and</i> be able
+ /// to update all of them, please wrap your items in a wrapper class so they can be distinguished).
+ /// Returns true if the item priority was updated, false otherwise.
+ /// O(log n)
+ /// </summary>
+ public bool TryUpdatePriority(TItem item, TPriority priority)
+ {
+ lock(_queue)
+ {
+ SimpleNode updateMe = GetExistingNode(item);
+ if(updateMe == null)
+ {
+ return false;
+ }
+ _queue.UpdatePriority(updateMe, priority);
+ return true;
+ }
+ }
+
+ /// <summary>
+ /// Attempt to get the priority of the given item.
+ /// Useful for multi-threading, where the queue may become empty between calls to Contains() and GetPriority()
+ /// If the item is enqueued multiple times, only the priority of the first will be returned.
+ /// (If your requirements are complex enough that you need to enqueue the same item multiple times <i>and</i> be able
+ /// to query all their priorities, please wrap your items in a wrapper class so they can be distinguished).
+ /// Returns true if the item was found in the queue, false otherwise
+ /// O(1)
+ /// </summary>
+ public bool TryGetPriority(TItem item, out TPriority priority)
+ {
+ lock(_queue)
+ {
+ SimpleNode findMe = GetExistingNode(item);
+ if(findMe == null)
+ {
+ priority = default(TPriority);
+ return false;
+ }
+ priority = findMe.Priority;
+ return true;
+ }
+ }
+ #endregion
+
+ public IEnumerator<TItem> GetEnumerator()
+ {
+ List<TItem> queueData = new List<TItem>();
+ lock (_queue)
+ {
+ //Copy to a separate list because we don't want to 'yield return' inside a lock
+ foreach(var node in _queue)
+ {
+ queueData.Add(node.Data);
+ }
+ }
+
+ return queueData.GetEnumerator();
+ }
+
+ IEnumerator IEnumerable.GetEnumerator()
+ {
+ return GetEnumerator();
+ }
+
+ public bool IsValidQueue()
+ {
+ lock(_queue)
+ {
+ // Check all items in cache are in the queue
+ foreach (IList<SimpleNode> nodes in _itemToNodesCache.Values)
+ {
+ foreach (SimpleNode node in nodes)
+ {
+ if (!_queue.Contains(node))
+ {
+ return false;
+ }
+ }
+ }
+
+ // Check all items in queue are in cache
+ foreach (SimpleNode node in _queue)
+ {
+ if (GetExistingNode(node.Data) == null)
+ {
+ return false;
+ }
+ }
+
+ // Check queue structure itself
+ return _queue.IsValidQueue();
+ }
+ }
+ }
+
+ /// <summary>
+ /// A simplified priority queue implementation. Is stable, auto-resizes, and thread-safe, at the cost of being slightly slower than
+ /// FastPriorityQueue
+ /// This class is kept here for backwards compatibility. It's recommended you use SimplePriorityQueue&lt;TItem, TPriority&gt;
+ /// </summary>
+ /// <typeparam name="TItem">The type to enqueue</typeparam>
+ public class SimplePriorityQueue<TItem> : SimplePriorityQueue<TItem, float>
+ {
+ /// <summary>
+ /// Instantiate a new Priority Queue
+ /// </summary>
+ public SimplePriorityQueue() { }
+
+ /// <summary>
+ /// Instantiate a new Priority Queue
+ /// </summary>
+ /// <param name="comparer">The comparer used to compare priority values. Defaults to Comparer&lt;float&gt;.default</param>
+ public SimplePriorityQueue(IComparer<float> comparer) : base(comparer) { }
+
+ /// <summary>
+ /// Instantiate a new Priority Queue
+ /// </summary>
+ /// <param name="comparer">The comparison function to use to compare priority values</param>
+ public SimplePriorityQueue(Comparison<float> comparer) : base(comparer) { }
+ }
+} \ No newline at end of file
diff --git a/Software/Visual_Studio/SideChains/Priority Queue/StablePriorityQueue.cs b/Software/Visual_Studio/SideChains/Priority Queue/StablePriorityQueue.cs
new file mode 100644
index 000000000..442b2dbcc
--- /dev/null
+++ b/Software/Visual_Studio/SideChains/Priority Queue/StablePriorityQueue.cs
@@ -0,0 +1,587 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Runtime.CompilerServices;
+
+namespace Priority_Queue
+{
+ /// <summary>
+ /// A copy of FastPriorityQueue which is also stable - that is, when two nodes are enqueued with the same priority, they
+ /// are always dequeued in the same order.
+ /// See https://github.com/BlueRaja/High-Speed-Priority-Queue-for-C-Sharp/wiki/Getting-Started for more information
+ /// </summary>
+ /// <typeparam name="T">The values in the queue. Must extend the StablePriorityQueueNode class</typeparam>
+ public sealed class StablePriorityQueue<T> : IFixedSizePriorityQueue<T, float>
+ where T : StablePriorityQueueNode
+ {
+ private int _numNodes;
+ private T[] _nodes;
+ private long _numNodesEverEnqueued;
+
+ /// <summary>
+ /// Instantiate a new Priority Queue
+ /// </summary>
+ /// <param name="maxNodes">The max nodes ever allowed to be enqueued (going over this will cause undefined behavior)</param>
+ public StablePriorityQueue(int maxNodes)
+ {
+ #if DEBUG
+ if (maxNodes <= 0)
+ {
+ throw new InvalidOperationException("New queue size cannot be smaller than 1");
+ }
+ #endif
+
+ _numNodes = 0;
+ _nodes = new T[maxNodes + 1];
+ _numNodesEverEnqueued = 0;
+ }
+
+ /// <summary>
+ /// Returns the number of nodes in the queue.
+ /// O(1)
+ /// </summary>
+ public int Count
+ {
+ get
+ {
+ return _numNodes;
+ }
+ }
+
+ /// <summary>
+ /// Returns the maximum number of items that can be enqueued at once in this queue. Once you hit this number (ie. once Count == MaxSize),
+ /// attempting to enqueue another item will cause undefined behavior. O(1)
+ /// </summary>
+ public int MaxSize
+ {
+ get
+ {
+ return _nodes.Length - 1;
+ }
+ }
+
+ /// <summary>
+ /// Removes every node from the queue.
+ /// O(n) (So, don't do this often!)
+ /// </summary>
+ #if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ #endif
+ public void Clear()
+ {
+ Array.Clear(_nodes, 1, _numNodes);
+ _numNodes = 0;
+ }
+
+ /// <summary>
+ /// Returns (in O(1)!) whether the given node is in the queue.
+ /// If node is or has been previously added to another queue, the result is undefined unless oldQueue.ResetNode(node) has been called
+ /// O(1)
+ /// </summary>
+ #if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ #endif
+ public bool Contains(T node)
+ {
+ #if DEBUG
+ if(node == null)
+ {
+ throw new ArgumentNullException("node");
+ }
+ if (node.Queue != null && !Equals(node.Queue))
+ {
+ throw new InvalidOperationException("node.Contains was called on a node from another queue. Please call originalQueue.ResetNode() first");
+ }
+ if (node.QueueIndex < 0 || node.QueueIndex >= _nodes.Length)
+ {
+ throw new InvalidOperationException("node.QueueIndex has been corrupted. Did you change it manually?");
+ }
+ #endif
+
+ return (_nodes[node.QueueIndex] == node);
+ }
+
+ /// <summary>
+ /// Enqueue a node to the priority queue. Lower values are placed in front. Ties are broken by first-in-first-out.
+ /// If the queue is full, the result is undefined.
+ /// If the node is already enqueued, the result is undefined.
+ /// If node is or has been previously added to another queue, the result is undefined unless oldQueue.ResetNode(node) has been called
+ /// O(log n)
+ /// </summary>
+ #if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ #endif
+ public void Enqueue(T node, float priority)
+ {
+ #if DEBUG
+ if(node == null)
+ {
+ throw new ArgumentNullException("node");
+ }
+ if(_numNodes >= _nodes.Length - 1)
+ {
+ throw new InvalidOperationException("Queue is full - node cannot be added: " + node);
+ }
+ if (node.Queue != null && !Equals(node.Queue))
+ {
+ throw new InvalidOperationException("node.Enqueue was called on a node from another queue. Please call originalQueue.ResetNode() first");
+ }
+ if (Contains(node))
+ {
+ throw new InvalidOperationException("Node is already enqueued: " + node);
+ }
+ node.Queue = this;
+ #endif
+
+ node.Priority = priority;
+ _numNodes++;
+ _nodes[_numNodes] = node;
+ node.QueueIndex = _numNodes;
+ node.InsertionIndex = _numNodesEverEnqueued++;
+ CascadeUp(node);
+ }
+
+ //Performance appears to be slightly better when this is NOT inlined o_O
+ #if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ #endif
+ private void CascadeUp(T node)
+ {
+ //aka Heapify-up
+ int parent;
+ if(node.QueueIndex > 1)
+ {
+ parent = node.QueueIndex >> 1;
+ T parentNode = _nodes[parent];
+ if(HasHigherPriority(parentNode, node))
+ return;
+
+ //Node has lower priority value, so move parent down the heap to make room
+ _nodes[node.QueueIndex] = parentNode;
+ parentNode.QueueIndex = node.QueueIndex;
+
+ node.QueueIndex = parent;
+ }
+ else
+ {
+ return;
+ }
+ while(parent > 1)
+ {
+ parent >>= 1;
+ T parentNode = _nodes[parent];
+ if(HasHigherPriority(parentNode, node))
+ break;
+
+ //Node has lower priority value, so move parent down the heap to make room
+ _nodes[node.QueueIndex] = parentNode;
+ parentNode.QueueIndex = node.QueueIndex;
+
+ node.QueueIndex = parent;
+ }
+ _nodes[node.QueueIndex] = node;
+ }
+
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ private void CascadeDown(T node)
+ {
+ //aka Heapify-down
+ int finalQueueIndex = node.QueueIndex;
+ int childLeftIndex = 2 * finalQueueIndex;
+
+ // If leaf node, we're done
+ if(childLeftIndex > _numNodes)
+ {
+ return;
+ }
+
+ // Check if the left-child is higher-priority than the current node
+ int childRightIndex = childLeftIndex + 1;
+ T childLeft = _nodes[childLeftIndex];
+ if(HasHigherPriority(childLeft, node))
+ {
+ // Check if there is a right child. If not, swap and finish.
+ if(childRightIndex > _numNodes)
+ {
+ node.QueueIndex = childLeftIndex;
+ childLeft.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = childLeft;
+ _nodes[childLeftIndex] = node;
+ return;
+ }
+ // Check if the left-child is higher-priority than the right-child
+ T childRight = _nodes[childRightIndex];
+ if(HasHigherPriority(childLeft, childRight))
+ {
+ // left is highest, move it up and continue
+ childLeft.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = childLeft;
+ finalQueueIndex = childLeftIndex;
+ }
+ else
+ {
+ // right is even higher, move it up and continue
+ childRight.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = childRight;
+ finalQueueIndex = childRightIndex;
+ }
+ }
+ // Not swapping with left-child, does right-child exist?
+ else if(childRightIndex > _numNodes)
+ {
+ return;
+ }
+ else
+ {
+ // Check if the right-child is higher-priority than the current node
+ T childRight = _nodes[childRightIndex];
+ if(HasHigherPriority(childRight, node))
+ {
+ childRight.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = childRight;
+ finalQueueIndex = childRightIndex;
+ }
+ // Neither child is higher-priority than current, so finish and stop.
+ else
+ {
+ return;
+ }
+ }
+
+ while(true)
+ {
+ childLeftIndex = 2 * finalQueueIndex;
+
+ // If leaf node, we're done
+ if(childLeftIndex > _numNodes)
+ {
+ node.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = node;
+ break;
+ }
+
+ // Check if the left-child is higher-priority than the current node
+ childRightIndex = childLeftIndex + 1;
+ childLeft = _nodes[childLeftIndex];
+ if(HasHigherPriority(childLeft, node))
+ {
+ // Check if there is a right child. If not, swap and finish.
+ if(childRightIndex > _numNodes)
+ {
+ node.QueueIndex = childLeftIndex;
+ childLeft.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = childLeft;
+ _nodes[childLeftIndex] = node;
+ break;
+ }
+ // Check if the left-child is higher-priority than the right-child
+ T childRight = _nodes[childRightIndex];
+ if(HasHigherPriority(childLeft, childRight))
+ {
+ // left is highest, move it up and continue
+ childLeft.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = childLeft;
+ finalQueueIndex = childLeftIndex;
+ }
+ else
+ {
+ // right is even higher, move it up and continue
+ childRight.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = childRight;
+ finalQueueIndex = childRightIndex;
+ }
+ }
+ // Not swapping with left-child, does right-child exist?
+ else if(childRightIndex > _numNodes)
+ {
+ node.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = node;
+ break;
+ }
+ else
+ {
+ // Check if the right-child is higher-priority than the current node
+ T childRight = _nodes[childRightIndex];
+ if(HasHigherPriority(childRight, node))
+ {
+ childRight.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = childRight;
+ finalQueueIndex = childRightIndex;
+ }
+ // Neither child is higher-priority than current, so finish and stop.
+ else
+ {
+ node.QueueIndex = finalQueueIndex;
+ _nodes[finalQueueIndex] = node;
+ break;
+ }
+ }
+ }
+ }
+
+ /// <summary>
+ /// Returns true if 'higher' has higher priority than 'lower', false otherwise.
+ /// Note that calling HasHigherPriority(node, node) (ie. both arguments the same node) will return false
+ /// </summary>
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ #endif
+ private bool HasHigherPriority(T higher, T lower)
+ {
+ return (higher.Priority < lower.Priority ||
+ (higher.Priority == lower.Priority && higher.InsertionIndex < lower.InsertionIndex));
+ }
+
+ /// <summary>
+ /// Removes the head of the queue (node with minimum priority; ties are broken by order of insertion), and returns it.
+ /// If queue is empty, result is undefined
+ /// O(log n)
+ /// </summary>
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ public T Dequeue()
+ {
+ #if DEBUG
+ if(_numNodes <= 0)
+ {
+ throw new InvalidOperationException("Cannot call Dequeue() on an empty queue");
+ }
+
+ if(!IsValidQueue())
+ {
+ throw new InvalidOperationException("Queue has been corrupted (Did you update a node priority manually instead of calling UpdatePriority()?" +
+ "Or add the same node to two different queues?)");
+ }
+ #endif
+
+ T returnMe = _nodes[1];
+ //If the node is already the last node, we can remove it immediately
+ if(_numNodes == 1)
+ {
+ _nodes[1] = null;
+ _numNodes = 0;
+ return returnMe;
+ }
+
+ //Swap the node with the last node
+ T formerLastNode = _nodes[_numNodes];
+ _nodes[1] = formerLastNode;
+ formerLastNode.QueueIndex = 1;
+ _nodes[_numNodes] = null;
+ _numNodes--;
+
+ //Now bubble formerLastNode (which is no longer the last node) down
+ CascadeDown(formerLastNode);
+ return returnMe;
+ }
+
+ /// <summary>
+ /// Resize the queue so it can accept more nodes. All currently enqueued nodes are remain.
+ /// Attempting to decrease the queue size to a size too small to hold the existing nodes results in undefined behavior
+ /// O(n)
+ /// </summary>
+ public void Resize(int maxNodes)
+ {
+ #if DEBUG
+ if (maxNodes <= 0)
+ {
+ throw new InvalidOperationException("Queue size cannot be smaller than 1");
+ }
+
+ if (maxNodes < _numNodes)
+ {
+ throw new InvalidOperationException("Called Resize(" + maxNodes + "), but current queue contains " + _numNodes + " nodes");
+ }
+ #endif
+
+ T[] newArray = new T[maxNodes + 1];
+ int highestIndexToCopy = Math.Min(maxNodes, _numNodes);
+ Array.Copy(_nodes, newArray, highestIndexToCopy + 1);
+ _nodes = newArray;
+ }
+
+ /// <summary>
+ /// Returns the head of the queue, without removing it (use Dequeue() for that).
+ /// If the queue is empty, behavior is undefined.
+ /// O(1)
+ /// </summary>
+ public T First
+ {
+ get
+ {
+ #if DEBUG
+ if(_numNodes <= 0)
+ {
+ throw new InvalidOperationException("Cannot call .First on an empty queue");
+ }
+ #endif
+
+ return _nodes[1];
+ }
+ }
+
+ /// <summary>
+ /// This method must be called on a node every time its priority changes while it is in the queue.
+ /// <b>Forgetting to call this method will result in a corrupted queue!</b>
+ /// Calling this method on a node not in the queue results in undefined behavior
+ /// O(log n)
+ /// </summary>
+ #if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ #endif
+ public void UpdatePriority(T node, float priority)
+ {
+ #if DEBUG
+ if(node == null)
+ {
+ throw new ArgumentNullException("node");
+ }
+ if (node.Queue != null && !Equals(node.Queue))
+ {
+ throw new InvalidOperationException("node.UpdatePriority was called on a node from another queue");
+ }
+ if (!Contains(node))
+ {
+ throw new InvalidOperationException("Cannot call UpdatePriority() on a node which is not enqueued: " + node);
+ }
+ #endif
+
+ node.Priority = priority;
+ OnNodeUpdated(node);
+ }
+
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ private void OnNodeUpdated(T node)
+ {
+ //Bubble the updated node up or down as appropriate
+ int parentIndex = node.QueueIndex >> 1;
+
+ if(parentIndex > 0 && HasHigherPriority(node, _nodes[parentIndex]))
+ {
+ CascadeUp(node);
+ }
+ else
+ {
+ //Note that CascadeDown will be called if parentNode == node (that is, node is the root)
+ CascadeDown(node);
+ }
+ }
+
+ /// <summary>
+ /// Removes a node from the queue. The node does not need to be the head of the queue.
+ /// If the node is not in the queue, the result is undefined. If unsure, check Contains() first
+ /// O(log n)
+ /// </summary>
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ public void Remove(T node)
+ {
+#if DEBUG
+ if(node == null)
+ {
+ throw new ArgumentNullException("node");
+ }
+ if (node.Queue != null && !Equals(node.Queue))
+ {
+ throw new InvalidOperationException("node.Remove was called on a node from another queue");
+ }
+ if (!Contains(node))
+ {
+ throw new InvalidOperationException("Cannot call Remove() on a node which is not enqueued: " + node);
+ }
+#endif
+
+ //If the node is already the last node, we can remove it immediately
+ if(node.QueueIndex == _numNodes)
+ {
+ _nodes[_numNodes] = null;
+ _numNodes--;
+ return;
+ }
+
+ //Swap the node with the last node
+ T formerLastNode = _nodes[_numNodes];
+ _nodes[node.QueueIndex] = formerLastNode;
+ formerLastNode.QueueIndex = node.QueueIndex;
+ _nodes[_numNodes] = null;
+ _numNodes--;
+
+ //Now bubble formerLastNode (which is no longer the last node) up or down as appropriate
+ OnNodeUpdated(formerLastNode);
+ }
+
+ /// <summary>
+ /// By default, nodes that have been previously added to one queue cannot be added to another queue.
+ /// If you need to do this, please call originalQueue.ResetNode(node) before attempting to add it in the new queue
+ /// </summary>
+#if NET_VERSION_4_5
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+#endif
+ public void ResetNode(T node)
+ {
+#if DEBUG
+ if (node == null)
+ {
+ throw new ArgumentNullException("node");
+ }
+ if (node.Queue != null && !Equals(node.Queue))
+ {
+ throw new InvalidOperationException("node.ResetNode was called on a node from another queue");
+ }
+ if (Contains(node))
+ {
+ throw new InvalidOperationException("node.ResetNode was called on a node that is still in the queue");
+ }
+
+ node.Queue = null;
+#endif
+
+ node.QueueIndex = 0;
+ }
+
+
+ public IEnumerator<T> GetEnumerator()
+ {
+#if NET_VERSION_4_5 // ArraySegment does not implement IEnumerable before 4.5
+ IEnumerable<T> e = new ArraySegment<T>(_nodes, 1, _numNodes);
+ return e.GetEnumerator();
+#else
+ for(int i = 1; i <= _numNodes; i++)
+ yield return _nodes[i];
+#endif
+ }
+
+ IEnumerator IEnumerable.GetEnumerator()
+ {
+ return GetEnumerator();
+ }
+
+ /// <summary>
+ /// <b>Should not be called in production code.</b>
+ /// Checks to make sure the queue is still in a valid state. Used for testing/debugging the queue.
+ /// </summary>
+ public bool IsValidQueue()
+ {
+ for(int i = 1; i < _nodes.Length; i++)
+ {
+ if(_nodes[i] != null)
+ {
+ int childLeftIndex = 2 * i;
+ if(childLeftIndex < _nodes.Length && _nodes[childLeftIndex] != null && HasHigherPriority(_nodes[childLeftIndex], _nodes[i]))
+ return false;
+
+ int childRightIndex = childLeftIndex + 1;
+ if(childRightIndex < _nodes.Length && _nodes[childRightIndex] != null && HasHigherPriority(_nodes[childRightIndex], _nodes[i]))
+ return false;
+ }
+ }
+ return true;
+ }
+ }
+} \ No newline at end of file
diff --git a/Software/Visual_Studio/SideChains/Priority Queue/StablePriorityQueueNode.cs b/Software/Visual_Studio/SideChains/Priority Queue/StablePriorityQueueNode.cs
new file mode 100644
index 000000000..c794aa0d0
--- /dev/null
+++ b/Software/Visual_Studio/SideChains/Priority Queue/StablePriorityQueueNode.cs
@@ -0,0 +1,10 @@
+namespace Priority_Queue
+{
+ public class StablePriorityQueueNode : FastPriorityQueueNode
+ {
+ /// <summary>
+ /// Represents the order the node was inserted in
+ /// </summary>
+ public long InsertionIndex { get; internal set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.Core/PriorityProducerConsumerQueue.cs b/Software/Visual_Studio/Tango.Core/PriorityProducerConsumerQueue.cs
new file mode 100644
index 000000000..dcc71a4ef
--- /dev/null
+++ b/Software/Visual_Studio/Tango.Core/PriorityProducerConsumerQueue.cs
@@ -0,0 +1,63 @@
+using System;
+using System.Collections.Concurrent;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.Core
+{
+ public enum QueuePriority
+ {
+ Standard,
+ High,
+ Low
+ }
+
+ public class PriorityProducerConsumerQueue<T>
+ {
+ private ProducerConsumerQueue<T> _lowPriorityCollection;
+ private ProducerConsumerQueue<T> _standardPriorityCollection;
+ private ProducerConsumerQueue<T> _highPriorityCollection;
+ private ProducerConsumerQueue<T>[] _collections;
+
+ public PriorityProducerConsumerQueue()
+ {
+ _lowPriorityCollection = new ProducerConsumerQueue<T>();
+ _standardPriorityCollection = new ProducerConsumerQueue<T>();
+ _highPriorityCollection = new ProducerConsumerQueue<T>();
+ _collections = new ProducerConsumerQueue<T>[] { _highPriorityCollection, _standardPriorityCollection, _lowPriorityCollection };
+ }
+
+ /// <summary>
+ /// Enqueues the specified item.
+ /// </summary>
+ /// <param name="item">The item.</param>
+ public void BlockEnqueue(T item, QueuePriority priority = QueuePriority.Standard)
+ {
+ switch (priority)
+ {
+ case QueuePriority.Low:
+ _lowPriorityCollection.Add(item);
+ break;
+ case QueuePriority.Standard:
+ _standardPriorityCollection.Add(item);
+ break;
+ case QueuePriority.High:
+ _highPriorityCollection.Add(item);
+ break;
+ }
+ }
+
+ /// <summary>
+ /// Blocks until an item is available for dequeuing.
+ /// </summary>
+ /// <returns></returns>
+ public T BlockDequeue()
+ {
+ T item;
+ int index = BlockingCollection<T>.TakeFromAny(_collections, out item);
+ return item;
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.Core/Tango.Core.csproj b/Software/Visual_Studio/Tango.Core/Tango.Core.csproj
index b4496a368..d37259b58 100644
--- a/Software/Visual_Studio/Tango.Core/Tango.Core.csproj
+++ b/Software/Visual_Studio/Tango.Core/Tango.Core.csproj
@@ -98,6 +98,7 @@
<Compile Include="ExtensionMethods\ZipArchiveExtensions.cs" />
<Compile Include="IO\KnownFolders.cs" />
<Compile Include="Json\ProtobufContractResolver.cs" />
+ <Compile Include="PriorityProducerConsumerQueue.cs" />
<Compile Include="Threading\ActionTimer.cs" />
<Compile Include="Threading\IntervalMessageDispatcher.cs" />
<Compile Include="Threading\TaskSequencer.cs" />
@@ -207,7 +208,7 @@
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ProjectExtensions>
<VisualStudio>
- <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" />
+ <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" />
</VisualStudio>
</ProjectExtensions>
<Import Project="..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets')" />
diff --git a/Software/Visual_Studio/Tango.Transport/TransportMessageBase.cs b/Software/Visual_Studio/Tango.Transport/TransportMessageBase.cs
index 7e22c7b46..d35ad108f 100644
--- a/Software/Visual_Studio/Tango.Transport/TransportMessageBase.cs
+++ b/Software/Visual_Studio/Tango.Transport/TransportMessageBase.cs
@@ -17,6 +17,8 @@ namespace Tango.Transport
public String TransportComponentName { get; set; }
+ public QueuePriority Priority { get; set; }
+
/// <summary>
/// Gets or sets a value indicating whether this instance is multi response.
/// </summary>
diff --git a/Software/Visual_Studio/Tango.Transport/TransportRequestConfig.cs b/Software/Visual_Studio/Tango.Transport/TransportRequestConfig.cs
index 255a566a7..3910745dc 100644
--- a/Software/Visual_Studio/Tango.Transport/TransportRequestConfig.cs
+++ b/Software/Visual_Studio/Tango.Transport/TransportRequestConfig.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using Tango.Core;
namespace Tango.Transport
{
@@ -11,5 +12,6 @@ namespace Tango.Transport
public TimeSpan? Timeout { get; set; }
public bool ShouldLog { get; set; }
public bool Immediate { get; set; }
+ public QueuePriority Priority { get; set; }
}
}
diff --git a/Software/Visual_Studio/Tango.Transport/TransportResponseConfig.cs b/Software/Visual_Studio/Tango.Transport/TransportResponseConfig.cs
index 44115d99a..79940757d 100644
--- a/Software/Visual_Studio/Tango.Transport/TransportResponseConfig.cs
+++ b/Software/Visual_Studio/Tango.Transport/TransportResponseConfig.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using Tango.Core;
using Tango.PMR.Common;
namespace Tango.Transport
@@ -14,5 +15,6 @@ namespace Tango.Transport
public String ErrorMessage { get; set; }
public bool ShouldLog { get; set; }
public bool Immediate { get; set; }
+ public QueuePriority Priority { get; set; }
}
}
diff --git a/Software/Visual_Studio/Tango.Transport/TransporterBase.cs b/Software/Visual_Studio/Tango.Transport/TransporterBase.cs
index 73f573fc7..3672baf63 100644
--- a/Software/Visual_Studio/Tango.Transport/TransporterBase.cs
+++ b/Software/Visual_Studio/Tango.Transport/TransporterBase.cs
@@ -41,7 +41,7 @@ namespace Tango.Transport
}
private const int MESSAGE_TOKEN_LENGTH = 36;
- private ProducerConsumerQueue<TransportMessageBase> _sendingQueue;
+ private PriorityProducerConsumerQueue<TransportMessageBase> _sendingQueue;
private ConcurrentList<TransportMessageBase> _pendingRequests;
private ProducerConsumerQueue<byte[]> _arrivedResponses;
private Thread _pushThread;
@@ -202,7 +202,7 @@ namespace Tango.Transport
_pendingRequests.Clear();
_pendingResponses.Clear();
_arrivedResponses = new ProducerConsumerQueue<byte[]>();
- _sendingQueue = new ProducerConsumerQueue<TransportMessageBase>();
+ _sendingQueue = new PriorityProducerConsumerQueue<TransportMessageBase>();
}
if (oldAdapter != null)
@@ -457,7 +457,7 @@ namespace Tango.Transport
ComponentName = "Not Set";
Encoder = new ProtoEncoder();
_pendingResponses = new Dictionary<string, PendingResponse>();
- _sendingQueue = new ProducerConsumerQueue<TransportMessageBase>();
+ _sendingQueue = new PriorityProducerConsumerQueue<TransportMessageBase>();
_pendingRequests = new ConcurrentList<TransportMessageBase>();
_arrivedResponses = new ProducerConsumerQueue<byte[]>();
_requestHandlers = new List<RequestHandler>();
@@ -485,7 +485,7 @@ namespace Tango.Transport
/// </summary>
public void ClearQueues()
{
- _sendingQueue = new ProducerConsumerQueue<TransportMessageBase>();
+ _sendingQueue = new PriorityProducerConsumerQueue<TransportMessageBase>();
_pendingRequests = new ConcurrentList<TransportMessageBase>();
_arrivedResponses = new ProducerConsumerQueue<byte[]>();
}
@@ -559,6 +559,7 @@ namespace Tango.Transport
TransportMessage<IMessage> message = new TransportMessage<IMessage>(container.Token, request, TransportMessageDirection.Request, () => container.ToByteArray(), source);
message.ShouldLog = config.ShouldLog;
message.Immidiate = config.Immediate;
+ message.Priority = config.Priority;
message.TransportComponentName = GetExtendedComponentName();
message.ActivateTimeout = () =>
@@ -608,6 +609,7 @@ namespace Tango.Transport
TransportMessage<MessageContainer> message = new TransportMessage<MessageContainer>(container.Token, container, TransportMessageDirection.Request, () => container.ToByteArray(), source);
message.ShouldLog = config.ShouldLog;
message.Immidiate = config.Immediate;
+ message.Priority = config.Priority;
message.TransportComponentName = GetExtendedComponentName();
message.ActivateTimeout = () =>
@@ -659,6 +661,7 @@ namespace Tango.Transport
TransportMessage<TangoMessage<Response>> message = new TransportMessage<TangoMessage<Response>>(request.Container.Token, request, TransportMessageDirection.Request, () => Encoder.Encode(request), source);
message.ShouldLog = config.ShouldLog;
message.Immidiate = config.Immediate;
+ message.Priority = config.Priority;
message.TransportComponentName = GetExtendedComponentName();
message.ActivateTimeout = () =>
@@ -719,6 +722,7 @@ namespace Tango.Transport
ContinuesResponseSubject = subject,
ShouldLog = config.ShouldLog,
Immidiate = config.Immediate,
+ Priority = config.Priority,
TransportComponentName = GetExtendedComponentName(),
};
@@ -781,6 +785,7 @@ namespace Tango.Transport
ContinuesResponseSubject = subject,
ShouldLog = config.ShouldLog,
Immidiate = config.Immediate,
+ Priority = config.Priority,
TransportComponentName = GetExtendedComponentName(),
};
@@ -863,6 +868,7 @@ namespace Tango.Transport
ContinuesResponseSubject = subject,
ShouldLog = config.ShouldLog,
Immidiate = config.Immediate,
+ Priority = config.Priority,
TransportComponentName = GetExtendedComponentName(),
};
@@ -1176,6 +1182,7 @@ namespace Tango.Transport
TransportMessage<object> message = new TransportMessage<object>(token, response, TransportMessageDirection.Response, () => Encoder.Encode(response), source);
message.ShouldLog = config.ShouldLog;
message.Immidiate = config.Immediate;
+ message.Priority = config.Priority;
EnqueueMessageOut(message);
return source.Task;
}
@@ -1278,7 +1285,7 @@ namespace Tango.Transport
/// <param name="message">The message.</param>
private void EnqueueMessageOut(TransportMessageBase message)
{
- _sendingQueue.BlockEnqueue(message);
+ _sendingQueue.BlockEnqueue(message, message.Priority);
}
/// <summary>
@@ -1575,7 +1582,10 @@ namespace Tango.Transport
LogManager.Log($"{GetExtendedComponentName()}: Submitting keep alive response...", LogCategory.Debug);
try
{
- SendResponse<KeepAliveResponse>(new KeepAliveResponse(), container.Token);
+ SendResponse<KeepAliveResponse>(new KeepAliveResponse(), container.Token, new TransportResponseConfig()
+ {
+ Priority = QueuePriority.High
+ });
}
catch { }
}
@@ -1638,7 +1648,11 @@ namespace Tango.Transport
if (_arrivedResponses.Count == 0)
{
retryCounter--;
- var response = SendRequest<KeepAliveRequest, KeepAliveResponse>(new KeepAliveRequest(), new TransportRequestConfig() { Timeout = KeepAliveTimeout }).Result;
+ var response = SendRequest<KeepAliveRequest, KeepAliveResponse>(new KeepAliveRequest(), new TransportRequestConfig()
+ {
+ Timeout = KeepAliveTimeout,
+ Priority = QueuePriority.High
+ }).Result;
retryCounter = KeepAliveRetries;
}
else
diff --git a/Software/Visual_Studio/Tango.sln b/Software/Visual_Studio/Tango.sln
index 476ebe1fd..42e7d8f3d 100644
--- a/Software/Visual_Studio/Tango.sln
+++ b/Software/Visual_Studio/Tango.sln
@@ -369,6 +369,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.SystemInfo", "Tango.S
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.FileSystem", "Tango.FileSystem\Tango.FileSystem.csproj", "{C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Priority Queue", "SideChains\Priority Queue\Priority Queue.csproj", "{1531C1EA-BD53-41D1-A34B-CFCDF79D2651}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
AppVeyor|Any CPU = AppVeyor|Any CPU
@@ -386,6 +388,16 @@ Global
DefaultBuild|ARM64 = DefaultBuild|ARM64
DefaultBuild|x64 = DefaultBuild|x64
DefaultBuild|x86 = DefaultBuild|x86
+ Release 2.0|Any CPU = Release 2.0|Any CPU
+ Release 2.0|ARM = Release 2.0|ARM
+ Release 2.0|ARM64 = Release 2.0|ARM64
+ Release 2.0|x64 = Release 2.0|x64
+ Release 2.0|x86 = Release 2.0|x86
+ Release 4.5|Any CPU = Release 4.5|Any CPU
+ Release 4.5|ARM = Release 4.5|ARM
+ Release 4.5|ARM64 = Release 4.5|ARM64
+ Release 4.5|x64 = Release 4.5|x64
+ Release 4.5|x86 = Release 4.5|x86
Release|Any CPU = Release|Any CPU
Release|ARM = Release|ARM
Release|ARM64 = Release|ARM64
@@ -423,6 +435,26 @@ Global
{40073806-914E-4E78-97AB-FA9639308EBE}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{40073806-914E-4E78-97AB-FA9639308EBE}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{40073806-914E-4E78-97AB-FA9639308EBE}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {40073806-914E-4E78-97AB-FA9639308EBE}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {40073806-914E-4E78-97AB-FA9639308EBE}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {40073806-914E-4E78-97AB-FA9639308EBE}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {40073806-914E-4E78-97AB-FA9639308EBE}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {40073806-914E-4E78-97AB-FA9639308EBE}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {40073806-914E-4E78-97AB-FA9639308EBE}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {40073806-914E-4E78-97AB-FA9639308EBE}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {40073806-914E-4E78-97AB-FA9639308EBE}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {40073806-914E-4E78-97AB-FA9639308EBE}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {40073806-914E-4E78-97AB-FA9639308EBE}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {40073806-914E-4E78-97AB-FA9639308EBE}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {40073806-914E-4E78-97AB-FA9639308EBE}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {40073806-914E-4E78-97AB-FA9639308EBE}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {40073806-914E-4E78-97AB-FA9639308EBE}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {40073806-914E-4E78-97AB-FA9639308EBE}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {40073806-914E-4E78-97AB-FA9639308EBE}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {40073806-914E-4E78-97AB-FA9639308EBE}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {40073806-914E-4E78-97AB-FA9639308EBE}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {40073806-914E-4E78-97AB-FA9639308EBE}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {40073806-914E-4E78-97AB-FA9639308EBE}.Release 4.5|x86.Build.0 = Release|Any CPU
{40073806-914E-4E78-97AB-FA9639308EBE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{40073806-914E-4E78-97AB-FA9639308EBE}.Release|Any CPU.Build.0 = Release|Any CPU
{40073806-914E-4E78-97AB-FA9639308EBE}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -463,6 +495,26 @@ Global
{A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release 4.5|x86.Build.0 = Release|Any CPU
{A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release|Any CPU.Build.0 = Release|Any CPU
{A34EE0F0-649D-41C8-8489-B6F1CC6924EE}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -503,6 +555,26 @@ Global
{37E45CE1-A0F6-4ED7-9791-A1BED947602F}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{37E45CE1-A0F6-4ED7-9791-A1BED947602F}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{37E45CE1-A0F6-4ED7-9791-A1BED947602F}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release 4.5|x86.Build.0 = Release|Any CPU
{37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release|Any CPU.Build.0 = Release|Any CPU
{37E45CE1-A0F6-4ED7-9791-A1BED947602F}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -543,6 +615,26 @@ Global
{DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release 4.5|x86.Build.0 = Release|Any CPU
{DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release|Any CPU.Build.0 = Release|Any CPU
{DE5AB980-A9AD-4273-8272-C4E1E062E3EC}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -583,6 +675,26 @@ Global
{BC932DBD-7CDB-488C-99E4-F02CF441F55E}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{BC932DBD-7CDB-488C-99E4-F02CF441F55E}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{BC932DBD-7CDB-488C-99E4-F02CF441F55E}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release 4.5|x86.Build.0 = Release|Any CPU
{BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release|Any CPU.Build.0 = Release|Any CPU
{BC932DBD-7CDB-488C-99E4-F02CF441F55E}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -623,6 +735,26 @@ Global
{FB82AA6B-1652-452C-8235-4FB2E524FBC0}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{FB82AA6B-1652-452C-8235-4FB2E524FBC0}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{FB82AA6B-1652-452C-8235-4FB2E524FBC0}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release 4.5|x86.Build.0 = Release|Any CPU
{FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release|ARM.ActiveCfg = Release|Any CPU
{FB82AA6B-1652-452C-8235-4FB2E524FBC0}.Release|ARM.Build.0 = Release|Any CPU
@@ -662,6 +794,26 @@ Global
{E4927038-348D-4295-AAF4-861C58CB3943}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{E4927038-348D-4295-AAF4-861C58CB3943}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{E4927038-348D-4295-AAF4-861C58CB3943}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {E4927038-348D-4295-AAF4-861C58CB3943}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {E4927038-348D-4295-AAF4-861C58CB3943}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {E4927038-348D-4295-AAF4-861C58CB3943}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {E4927038-348D-4295-AAF4-861C58CB3943}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {E4927038-348D-4295-AAF4-861C58CB3943}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {E4927038-348D-4295-AAF4-861C58CB3943}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {E4927038-348D-4295-AAF4-861C58CB3943}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {E4927038-348D-4295-AAF4-861C58CB3943}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {E4927038-348D-4295-AAF4-861C58CB3943}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {E4927038-348D-4295-AAF4-861C58CB3943}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {E4927038-348D-4295-AAF4-861C58CB3943}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {E4927038-348D-4295-AAF4-861C58CB3943}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {E4927038-348D-4295-AAF4-861C58CB3943}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {E4927038-348D-4295-AAF4-861C58CB3943}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {E4927038-348D-4295-AAF4-861C58CB3943}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {E4927038-348D-4295-AAF4-861C58CB3943}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {E4927038-348D-4295-AAF4-861C58CB3943}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {E4927038-348D-4295-AAF4-861C58CB3943}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {E4927038-348D-4295-AAF4-861C58CB3943}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {E4927038-348D-4295-AAF4-861C58CB3943}.Release 4.5|x86.Build.0 = Release|Any CPU
{E4927038-348D-4295-AAF4-861C58CB3943}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E4927038-348D-4295-AAF4-861C58CB3943}.Release|Any CPU.Build.0 = Release|Any CPU
{E4927038-348D-4295-AAF4-861C58CB3943}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -702,6 +854,26 @@ Global
{74E700B0-1156-4126-BE40-EE450D3C3026}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{74E700B0-1156-4126-BE40-EE450D3C3026}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{74E700B0-1156-4126-BE40-EE450D3C3026}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {74E700B0-1156-4126-BE40-EE450D3C3026}.Release 4.5|x86.Build.0 = Release|Any CPU
{74E700B0-1156-4126-BE40-EE450D3C3026}.Release|Any CPU.ActiveCfg = Release|Any CPU
{74E700B0-1156-4126-BE40-EE450D3C3026}.Release|Any CPU.Build.0 = Release|Any CPU
{74E700B0-1156-4126-BE40-EE450D3C3026}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -742,6 +914,26 @@ Global
{63561E19-FF5A-414B-A5EF-E30711543E1D}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{63561E19-FF5A-414B-A5EF-E30711543E1D}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{63561E19-FF5A-414B-A5EF-E30711543E1D}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {63561E19-FF5A-414B-A5EF-E30711543E1D}.Release 4.5|x86.Build.0 = Release|Any CPU
{63561E19-FF5A-414B-A5EF-E30711543E1D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{63561E19-FF5A-414B-A5EF-E30711543E1D}.Release|Any CPU.Build.0 = Release|Any CPU
{63561E19-FF5A-414B-A5EF-E30711543E1D}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -782,6 +974,26 @@ Global
{1971345A-0627-4428-88AA-1CCC4BFAEF4B}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{1971345A-0627-4428-88AA-1CCC4BFAEF4B}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{1971345A-0627-4428-88AA-1CCC4BFAEF4B}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release 4.5|x86.Build.0 = Release|Any CPU
{1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release|Any CPU.Build.0 = Release|Any CPU
{1971345A-0627-4428-88AA-1CCC4BFAEF4B}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -822,6 +1034,26 @@ Global
{1981B537-39E9-4E7D-8430-27466481AEEE}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{1981B537-39E9-4E7D-8430-27466481AEEE}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{1981B537-39E9-4E7D-8430-27466481AEEE}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {1981B537-39E9-4E7D-8430-27466481AEEE}.Release 4.5|x86.Build.0 = Release|Any CPU
{1981B537-39E9-4E7D-8430-27466481AEEE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1981B537-39E9-4E7D-8430-27466481AEEE}.Release|Any CPU.Build.0 = Release|Any CPU
{1981B537-39E9-4E7D-8430-27466481AEEE}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -863,6 +1095,26 @@ Global
{35397DDA-DDC7-46BE-A802-3B722B6858E9}.DefaultBuild|x86.ActiveCfg = Debug|Win32
{35397DDA-DDC7-46BE-A802-3B722B6858E9}.DefaultBuild|x86.Build.0 = Debug|Win32
{35397DDA-DDC7-46BE-A802-3B722B6858E9}.DefaultBuild|x86.Deploy.0 = Debug|Win32
+ {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 2.0|Any CPU.ActiveCfg = Debug|x64
+ {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 2.0|Any CPU.Build.0 = Debug|x64
+ {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 2.0|ARM.ActiveCfg = Debug|x64
+ {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 2.0|ARM.Build.0 = Debug|x64
+ {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 2.0|ARM64.ActiveCfg = Debug|x64
+ {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 2.0|ARM64.Build.0 = Debug|x64
+ {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 2.0|x64.ActiveCfg = Release|x64
+ {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 2.0|x64.Build.0 = Release|x64
+ {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 2.0|x86.ActiveCfg = Release|Win32
+ {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 2.0|x86.Build.0 = Release|Win32
+ {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 4.5|Any CPU.ActiveCfg = Debug|x64
+ {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 4.5|Any CPU.Build.0 = Debug|x64
+ {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 4.5|ARM.ActiveCfg = Debug|x64
+ {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 4.5|ARM.Build.0 = Debug|x64
+ {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 4.5|ARM64.ActiveCfg = Debug|x64
+ {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 4.5|ARM64.Build.0 = Debug|x64
+ {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 4.5|x64.ActiveCfg = Release|x64
+ {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 4.5|x64.Build.0 = Release|x64
+ {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 4.5|x86.ActiveCfg = Release|Win32
+ {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release 4.5|x86.Build.0 = Release|Win32
{35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release|Any CPU.ActiveCfg = Release|Win32
{35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release|ARM.ActiveCfg = Release|Win32
{35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release|ARM64.ActiveCfg = Release|Win32
@@ -900,6 +1152,26 @@ Global
{37EE62DF-A988-45AF-BB30-DD3245164188}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{37EE62DF-A988-45AF-BB30-DD3245164188}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{37EE62DF-A988-45AF-BB30-DD3245164188}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {37EE62DF-A988-45AF-BB30-DD3245164188}.Release 4.5|x86.Build.0 = Release|Any CPU
{37EE62DF-A988-45AF-BB30-DD3245164188}.Release|Any CPU.ActiveCfg = Release|Any CPU
{37EE62DF-A988-45AF-BB30-DD3245164188}.Release|Any CPU.Build.0 = Release|Any CPU
{37EE62DF-A988-45AF-BB30-DD3245164188}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -940,6 +1212,26 @@ Global
{3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release 4.5|x86.Build.0 = Release|Any CPU
{3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release|Any CPU.Build.0 = Release|Any CPU
{3F09B230-5AAC-4651-BA7A-19F3BDFCF701}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -980,6 +1272,26 @@ Global
{7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release 4.5|x86.Build.0 = Release|Any CPU
{7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release|Any CPU.Build.0 = Release|Any CPU
{7ADA4E86-CAD7-4968-A210-3A8A9E5153AB}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -1020,6 +1332,26 @@ Global
{ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release 4.5|x86.Build.0 = Release|Any CPU
{ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release|Any CPU.Build.0 = Release|Any CPU
{ADDEEDAF-B45C-4681-8FB7-1C0A0DC63B4B}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -1060,6 +1392,26 @@ Global
{38197109-8610-4D3F-92B9-16D48DF94D7C}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{38197109-8610-4D3F-92B9-16D48DF94D7C}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{38197109-8610-4D3F-92B9-16D48DF94D7C}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {38197109-8610-4D3F-92B9-16D48DF94D7C}.Release 4.5|x86.Build.0 = Release|Any CPU
{38197109-8610-4D3F-92B9-16D48DF94D7C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{38197109-8610-4D3F-92B9-16D48DF94D7C}.Release|Any CPU.Build.0 = Release|Any CPU
{38197109-8610-4D3F-92B9-16D48DF94D7C}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -1100,6 +1452,26 @@ Global
{0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release 4.5|x86.Build.0 = Release|Any CPU
{0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release|Any CPU.Build.0 = Release|Any CPU
{0E0EEF3E-8F4E-4F23-9D19-479FD8D76C12}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -1140,6 +1512,26 @@ Global
{D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release 4.5|x86.Build.0 = Release|Any CPU
{D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release|Any CPU.Build.0 = Release|Any CPU
{D8F1AD85-526A-4F50-B6DC-D437AF63D8D8}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -1180,6 +1572,26 @@ Global
{22F87980-E990-4686-BE81-BE63D562C4D5}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{22F87980-E990-4686-BE81-BE63D562C4D5}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{22F87980-E990-4686-BE81-BE63D562C4D5}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {22F87980-E990-4686-BE81-BE63D562C4D5}.Release 4.5|x86.Build.0 = Release|Any CPU
{22F87980-E990-4686-BE81-BE63D562C4D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{22F87980-E990-4686-BE81-BE63D562C4D5}.Release|Any CPU.Build.0 = Release|Any CPU
{22F87980-E990-4686-BE81-BE63D562C4D5}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -1220,6 +1632,26 @@ Global
{CAEDAE94-11ED-473C-888A-268A6D38CD20}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{CAEDAE94-11ED-473C-888A-268A6D38CD20}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{CAEDAE94-11ED-473C-888A-268A6D38CD20}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release 4.5|x86.Build.0 = Release|Any CPU
{CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release|Any CPU.Build.0 = Release|Any CPU
{CAEDAE94-11ED-473C-888A-268A6D38CD20}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -1260,6 +1692,26 @@ Global
{BCD0C108-FC90-4537-8B80-ABBD201FECA3}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{BCD0C108-FC90-4537-8B80-ABBD201FECA3}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{BCD0C108-FC90-4537-8B80-ABBD201FECA3}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release 4.5|x86.Build.0 = Release|Any CPU
{BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release|Any CPU.Build.0 = Release|Any CPU
{BCD0C108-FC90-4537-8B80-ABBD201FECA3}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -1300,6 +1752,26 @@ Global
{FC0FB4A1-360E-42B1-8372-9208A3098B2A}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{FC0FB4A1-360E-42B1-8372-9208A3098B2A}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{FC0FB4A1-360E-42B1-8372-9208A3098B2A}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release 4.5|x86.Build.0 = Release|Any CPU
{FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release|Any CPU.Build.0 = Release|Any CPU
{FC0FB4A1-360E-42B1-8372-9208A3098B2A}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -1340,6 +1812,26 @@ Global
{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release 4.5|x86.Build.0 = Release|Any CPU
{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release|Any CPU.Build.0 = Release|Any CPU
{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -1380,6 +1872,26 @@ Global
{401989E7-AE1E-4002-B0EE-9A9F63740B97}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{401989E7-AE1E-4002-B0EE-9A9F63740B97}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{401989E7-AE1E-4002-B0EE-9A9F63740B97}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release 4.5|x86.Build.0 = Release|Any CPU
{401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release|Any CPU.ActiveCfg = Release|Any CPU
{401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release|Any CPU.Build.0 = Release|Any CPU
{401989E7-AE1E-4002-B0EE-9A9F63740B97}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -1420,6 +1932,26 @@ Global
{8491D07B-C1F6-4B62-A412-41B9FD2D6538}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{8491D07B-C1F6-4B62-A412-41B9FD2D6538}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{8491D07B-C1F6-4B62-A412-41B9FD2D6538}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release 4.5|x86.Build.0 = Release|Any CPU
{8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release|Any CPU.Build.0 = Release|Any CPU
{8491D07B-C1F6-4B62-A412-41B9FD2D6538}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -1460,6 +1992,26 @@ Global
{EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release 4.5|x86.Build.0 = Release|Any CPU
{EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release|ARM.ActiveCfg = Release|Any CPU
{EBB7CB9F-6AF2-456B-A5DD-1B136B605D90}.Release|ARM.Build.0 = Release|Any CPU
@@ -1499,6 +2051,26 @@ Global
{116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release 4.5|x86.Build.0 = Release|Any CPU
{116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release|Any CPU.ActiveCfg = Release|Any CPU
{116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release|Any CPU.Build.0 = Release|Any CPU
{116DFDB0-7681-46FE-8BAD-FE8AE09BB076}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -1539,6 +2111,26 @@ Global
{CB0B0AA2-BB24-4BCA-A720-45E397684E12}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{CB0B0AA2-BB24-4BCA-A720-45E397684E12}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{CB0B0AA2-BB24-4BCA-A720-45E397684E12}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release 4.5|x86.Build.0 = Release|Any CPU
{CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release|Any CPU.Build.0 = Release|Any CPU
{CB0B0AA2-BB24-4BCA-A720-45E397684E12}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -1579,6 +2171,26 @@ Global
{CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release 4.5|x86.Build.0 = Release|Any CPU
{CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release|Any CPU.Build.0 = Release|Any CPU
{CE4A0D11-08A2-4CD6-9908-D6C62E80D805}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -1619,6 +2231,26 @@ Global
{A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release 4.5|x86.Build.0 = Release|Any CPU
{A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release|Any CPU.Build.0 = Release|Any CPU
{A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -1659,6 +2291,26 @@ Global
{BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release 4.5|x86.Build.0 = Release|Any CPU
{BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release|Any CPU.Build.0 = Release|Any CPU
{BB2ABB74-BA58-4812-83AA-EC8171F42DF4}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -1699,6 +2351,26 @@ Global
{4206AC58-3B57-4699-8835-90BF6DB01A61}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{4206AC58-3B57-4699-8835-90BF6DB01A61}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{4206AC58-3B57-4699-8835-90BF6DB01A61}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {4206AC58-3B57-4699-8835-90BF6DB01A61}.Release 4.5|x86.Build.0 = Release|Any CPU
{4206AC58-3B57-4699-8835-90BF6DB01A61}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4206AC58-3B57-4699-8835-90BF6DB01A61}.Release|Any CPU.Build.0 = Release|Any CPU
{4206AC58-3B57-4699-8835-90BF6DB01A61}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -1739,6 +2411,26 @@ Global
{22C2AA72-9493-4D0D-B421-8EF9789FB192}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{22C2AA72-9493-4D0D-B421-8EF9789FB192}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{22C2AA72-9493-4D0D-B421-8EF9789FB192}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release 4.5|x86.Build.0 = Release|Any CPU
{22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release|Any CPU.ActiveCfg = Release|Any CPU
{22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release|Any CPU.Build.0 = Release|Any CPU
{22C2AA72-9493-4D0D-B421-8EF9789FB192}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -1779,6 +2471,26 @@ Global
{D0CE8122-077D-42A2-9490-028AE4769B52}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{D0CE8122-077D-42A2-9490-028AE4769B52}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{D0CE8122-077D-42A2-9490-028AE4769B52}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {D0CE8122-077D-42A2-9490-028AE4769B52}.Release 4.5|x86.Build.0 = Release|Any CPU
{D0CE8122-077D-42A2-9490-028AE4769B52}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D0CE8122-077D-42A2-9490-028AE4769B52}.Release|Any CPU.Build.0 = Release|Any CPU
{D0CE8122-077D-42A2-9490-028AE4769B52}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -1819,6 +2531,26 @@ Global
{B112D89A-A106-41AE-A0C1-4ABC84C477F5}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{B112D89A-A106-41AE-A0C1-4ABC84C477F5}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{B112D89A-A106-41AE-A0C1-4ABC84C477F5}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release 4.5|x86.Build.0 = Release|Any CPU
{B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release|Any CPU.Build.0 = Release|Any CPU
{B112D89A-A106-41AE-A0C1-4ABC84C477F5}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -1859,6 +2591,26 @@ Global
{5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release 4.5|x86.Build.0 = Release|Any CPU
{5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release|Any CPU.Build.0 = Release|Any CPU
{5D39C1E1-3ECD-4634-BD1B-2BCF71C54A15}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -1898,6 +2650,26 @@ Global
{8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release 4.5|x86.Build.0 = Release|Any CPU
{8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release|ARM.ActiveCfg = Release|Any CPU
{8A03ADC0-991B-4DA8-8A19-E1D03F92E81C}.Release|ARM.Build.0 = Release|Any CPU
@@ -1937,6 +2709,26 @@ Global
{37E4CEAB-B54B-451F-B535-04CF7DA9C459}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{37E4CEAB-B54B-451F-B535-04CF7DA9C459}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{37E4CEAB-B54B-451F-B535-04CF7DA9C459}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release 4.5|x86.Build.0 = Release|Any CPU
{37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release|Any CPU.ActiveCfg = Release|Any CPU
{37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release|Any CPU.Build.0 = Release|Any CPU
{37E4CEAB-B54B-451F-B535-04CF7DA9C459}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -1977,6 +2769,26 @@ Global
{9652F972-2BD1-4283-99CB-FC6240434C17}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{9652F972-2BD1-4283-99CB-FC6240434C17}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{9652F972-2BD1-4283-99CB-FC6240434C17}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {9652F972-2BD1-4283-99CB-FC6240434C17}.Release 4.5|x86.Build.0 = Release|Any CPU
{9652F972-2BD1-4283-99CB-FC6240434C17}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9652F972-2BD1-4283-99CB-FC6240434C17}.Release|Any CPU.Build.0 = Release|Any CPU
{9652F972-2BD1-4283-99CB-FC6240434C17}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -2017,6 +2829,26 @@ Global
{5B954D98-4020-4AC6-939F-C52B5646E8E6}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{5B954D98-4020-4AC6-939F-C52B5646E8E6}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{5B954D98-4020-4AC6-939F-C52B5646E8E6}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release 4.5|x86.Build.0 = Release|Any CPU
{5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release|ARM.ActiveCfg = Release|Any CPU
{5B954D98-4020-4AC6-939F-C52B5646E8E6}.Release|ARM.Build.0 = Release|Any CPU
@@ -2056,6 +2888,26 @@ Global
{DE2F2B86-025B-4F26-83A4-38BD48224ED5}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{DE2F2B86-025B-4F26-83A4-38BD48224ED5}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{DE2F2B86-025B-4F26-83A4-38BD48224ED5}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release 4.5|x86.Build.0 = Release|Any CPU
{DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release|Any CPU.Build.0 = Release|Any CPU
{DE2F2B86-025B-4F26-83A4-38BD48224ED5}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -2096,6 +2948,26 @@ Global
{CF7C0FF4-9440-42CF-83B8-C060772792D4}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{CF7C0FF4-9440-42CF-83B8-C060772792D4}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{CF7C0FF4-9440-42CF-83B8-C060772792D4}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release 4.5|x86.Build.0 = Release|Any CPU
{CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release|Any CPU.Build.0 = Release|Any CPU
{CF7C0FF4-9440-42CF-83B8-C060772792D4}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -2136,6 +3008,26 @@ Global
{FC337A7F-1214-41D8-9992-78092A3B961E}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{FC337A7F-1214-41D8-9992-78092A3B961E}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{FC337A7F-1214-41D8-9992-78092A3B961E}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {FC337A7F-1214-41D8-9992-78092A3B961E}.Release 4.5|x86.Build.0 = Release|Any CPU
{FC337A7F-1214-41D8-9992-78092A3B961E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FC337A7F-1214-41D8-9992-78092A3B961E}.Release|Any CPU.Build.0 = Release|Any CPU
{FC337A7F-1214-41D8-9992-78092A3B961E}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -2176,6 +3068,26 @@ Global
{844787CE-F409-4F18-BCCC-F3809ECB86F3}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{844787CE-F409-4F18-BCCC-F3809ECB86F3}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{844787CE-F409-4F18-BCCC-F3809ECB86F3}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release 4.5|x86.Build.0 = Release|Any CPU
{844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release|Any CPU.Build.0 = Release|Any CPU
{844787CE-F409-4F18-BCCC-F3809ECB86F3}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -2216,6 +3128,26 @@ Global
{9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release 4.5|x86.Build.0 = Release|Any CPU
{9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release|Any CPU.Build.0 = Release|Any CPU
{9A477128-25A1-4B27-AAAB-7421F8ED2B9D}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -2252,6 +3184,26 @@ Global
{BD30C7BD-9230-4ED7-B581-11F14041909D}.DefaultBuild|x64.Build.0 = Release|Win32
{BD30C7BD-9230-4ED7-B581-11F14041909D}.DefaultBuild|x86.ActiveCfg = Debug|Win32
{BD30C7BD-9230-4ED7-B581-11F14041909D}.DefaultBuild|x86.Build.0 = Debug|Win32
+ {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 2.0|Any CPU.ActiveCfg = Debug|Win32
+ {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 2.0|Any CPU.Build.0 = Debug|Win32
+ {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 2.0|ARM.ActiveCfg = Debug|Win32
+ {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 2.0|ARM.Build.0 = Debug|Win32
+ {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 2.0|ARM64.ActiveCfg = Debug|Win32
+ {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 2.0|ARM64.Build.0 = Debug|Win32
+ {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 2.0|x64.ActiveCfg = Debug|Win32
+ {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 2.0|x64.Build.0 = Debug|Win32
+ {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 2.0|x86.ActiveCfg = Release|Win32
+ {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 2.0|x86.Build.0 = Release|Win32
+ {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 4.5|Any CPU.ActiveCfg = Debug|Win32
+ {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 4.5|Any CPU.Build.0 = Debug|Win32
+ {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 4.5|ARM.ActiveCfg = Debug|Win32
+ {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 4.5|ARM.Build.0 = Debug|Win32
+ {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 4.5|ARM64.ActiveCfg = Debug|Win32
+ {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 4.5|ARM64.Build.0 = Debug|Win32
+ {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 4.5|x64.ActiveCfg = Debug|Win32
+ {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 4.5|x64.Build.0 = Debug|Win32
+ {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 4.5|x86.ActiveCfg = Release|Win32
+ {BD30C7BD-9230-4ED7-B581-11F14041909D}.Release 4.5|x86.Build.0 = Release|Win32
{BD30C7BD-9230-4ED7-B581-11F14041909D}.Release|Any CPU.ActiveCfg = Release|Win32
{BD30C7BD-9230-4ED7-B581-11F14041909D}.Release|Any CPU.Build.0 = Release|Win32
{BD30C7BD-9230-4ED7-B581-11F14041909D}.Release|ARM.ActiveCfg = Release|Win32
@@ -2286,6 +3238,26 @@ Global
{0565AEEC-ED1B-4F0E-A277-D33F852207BC}.DefaultBuild|x64.Build.0 = Debug|x64
{0565AEEC-ED1B-4F0E-A277-D33F852207BC}.DefaultBuild|x86.ActiveCfg = Debug|Win32
{0565AEEC-ED1B-4F0E-A277-D33F852207BC}.DefaultBuild|x86.Build.0 = Debug|Win32
+ {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 2.0|Any CPU.ActiveCfg = Debug|x64
+ {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 2.0|Any CPU.Build.0 = Debug|x64
+ {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 2.0|ARM.ActiveCfg = Debug|x64
+ {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 2.0|ARM.Build.0 = Debug|x64
+ {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 2.0|ARM64.ActiveCfg = Debug|x64
+ {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 2.0|ARM64.Build.0 = Debug|x64
+ {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 2.0|x64.ActiveCfg = Release|x64
+ {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 2.0|x64.Build.0 = Release|x64
+ {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 2.0|x86.ActiveCfg = Release|Win32
+ {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 2.0|x86.Build.0 = Release|Win32
+ {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 4.5|Any CPU.ActiveCfg = Debug|x64
+ {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 4.5|Any CPU.Build.0 = Debug|x64
+ {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 4.5|ARM.ActiveCfg = Debug|x64
+ {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 4.5|ARM.Build.0 = Debug|x64
+ {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 4.5|ARM64.ActiveCfg = Debug|x64
+ {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 4.5|ARM64.Build.0 = Debug|x64
+ {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 4.5|x64.ActiveCfg = Release|x64
+ {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 4.5|x64.Build.0 = Release|x64
+ {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 4.5|x86.ActiveCfg = Release|Win32
+ {0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release 4.5|x86.Build.0 = Release|Win32
{0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release|Any CPU.ActiveCfg = Release|Win32
{0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release|ARM.ActiveCfg = Release|Win32
{0565AEEC-ED1B-4F0E-A277-D33F852207BC}.Release|ARM64.ActiveCfg = Release|Win32
@@ -2323,6 +3295,26 @@ Global
{69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release 4.5|x86.Build.0 = Release|Any CPU
{69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release|Any CPU.Build.0 = Release|Any CPU
{69DB0564-268C-4B3C-B5D6-A3CDC7D14EAE}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -2363,6 +3355,26 @@ Global
{5AFD5B7D-757A-400C-B0C9-118834F5D67E}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{5AFD5B7D-757A-400C-B0C9-118834F5D67E}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{5AFD5B7D-757A-400C-B0C9-118834F5D67E}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release 4.5|x86.Build.0 = Release|Any CPU
{5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release|Any CPU.Build.0 = Release|Any CPU
{5AFD5B7D-757A-400C-B0C9-118834F5D67E}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -2403,6 +3415,26 @@ Global
{F441FEEE-322A-4943-B566-110E12FD3B72}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{F441FEEE-322A-4943-B566-110E12FD3B72}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{F441FEEE-322A-4943-B566-110E12FD3B72}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {F441FEEE-322A-4943-B566-110E12FD3B72}.Release 4.5|x86.Build.0 = Release|Any CPU
{F441FEEE-322A-4943-B566-110E12FD3B72}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F441FEEE-322A-4943-B566-110E12FD3B72}.Release|Any CPU.Build.0 = Release|Any CPU
{F441FEEE-322A-4943-B566-110E12FD3B72}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -2440,6 +3472,26 @@ Global
{A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.DefaultBuild|x64.Build.0 = Debug|x64
{A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.DefaultBuild|x86.ActiveCfg = Debug|Win32
{A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.DefaultBuild|x86.Build.0 = Debug|Win32
+ {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 2.0|Any CPU.ActiveCfg = Debug|x64
+ {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 2.0|Any CPU.Build.0 = Debug|x64
+ {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 2.0|ARM.ActiveCfg = Debug|x64
+ {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 2.0|ARM.Build.0 = Debug|x64
+ {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 2.0|ARM64.ActiveCfg = Debug|x64
+ {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 2.0|ARM64.Build.0 = Debug|x64
+ {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 2.0|x64.ActiveCfg = Release|x64
+ {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 2.0|x64.Build.0 = Release|x64
+ {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 2.0|x86.ActiveCfg = Release|Win32
+ {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 2.0|x86.Build.0 = Release|Win32
+ {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 4.5|Any CPU.ActiveCfg = Debug|x64
+ {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 4.5|Any CPU.Build.0 = Debug|x64
+ {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 4.5|ARM.ActiveCfg = Debug|x64
+ {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 4.5|ARM.Build.0 = Debug|x64
+ {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 4.5|ARM64.ActiveCfg = Debug|x64
+ {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 4.5|ARM64.Build.0 = Debug|x64
+ {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 4.5|x64.ActiveCfg = Release|x64
+ {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 4.5|x64.Build.0 = Release|x64
+ {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 4.5|x86.ActiveCfg = Release|Win32
+ {A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release 4.5|x86.Build.0 = Release|Win32
{A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release|Any CPU.ActiveCfg = Release|Win32
{A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release|Any CPU.Build.0 = Release|Win32
{A37247ED-B26B-42EE-9F3B-EF0FDEB381F1}.Release|ARM.ActiveCfg = Release|Win32
@@ -2478,6 +3530,26 @@ Global
{793FBFC1-549E-458B-A52F-784BD4F28586}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{793FBFC1-549E-458B-A52F-784BD4F28586}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{793FBFC1-549E-458B-A52F-784BD4F28586}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {793FBFC1-549E-458B-A52F-784BD4F28586}.Release 4.5|x86.Build.0 = Release|Any CPU
{793FBFC1-549E-458B-A52F-784BD4F28586}.Release|Any CPU.ActiveCfg = Release|Any CPU
{793FBFC1-549E-458B-A52F-784BD4F28586}.Release|Any CPU.Build.0 = Release|Any CPU
{793FBFC1-549E-458B-A52F-784BD4F28586}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -2518,6 +3590,26 @@ Global
{40085232-ACED-4CBE-945B-90BA8153C151}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{40085232-ACED-4CBE-945B-90BA8153C151}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{40085232-ACED-4CBE-945B-90BA8153C151}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {40085232-ACED-4CBE-945B-90BA8153C151}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {40085232-ACED-4CBE-945B-90BA8153C151}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {40085232-ACED-4CBE-945B-90BA8153C151}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {40085232-ACED-4CBE-945B-90BA8153C151}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {40085232-ACED-4CBE-945B-90BA8153C151}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {40085232-ACED-4CBE-945B-90BA8153C151}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {40085232-ACED-4CBE-945B-90BA8153C151}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {40085232-ACED-4CBE-945B-90BA8153C151}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {40085232-ACED-4CBE-945B-90BA8153C151}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {40085232-ACED-4CBE-945B-90BA8153C151}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {40085232-ACED-4CBE-945B-90BA8153C151}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {40085232-ACED-4CBE-945B-90BA8153C151}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {40085232-ACED-4CBE-945B-90BA8153C151}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {40085232-ACED-4CBE-945B-90BA8153C151}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {40085232-ACED-4CBE-945B-90BA8153C151}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {40085232-ACED-4CBE-945B-90BA8153C151}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {40085232-ACED-4CBE-945B-90BA8153C151}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {40085232-ACED-4CBE-945B-90BA8153C151}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {40085232-ACED-4CBE-945B-90BA8153C151}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {40085232-ACED-4CBE-945B-90BA8153C151}.Release 4.5|x86.Build.0 = Release|Any CPU
{40085232-ACED-4CBE-945B-90BA8153C151}.Release|Any CPU.ActiveCfg = Release|Any CPU
{40085232-ACED-4CBE-945B-90BA8153C151}.Release|Any CPU.Build.0 = Release|Any CPU
{40085232-ACED-4CBE-945B-90BA8153C151}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -2558,6 +3650,26 @@ Global
{88028F14-0028-4DED-B119-19B8EE23CF32}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{88028F14-0028-4DED-B119-19B8EE23CF32}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{88028F14-0028-4DED-B119-19B8EE23CF32}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {88028F14-0028-4DED-B119-19B8EE23CF32}.Release 4.5|x86.Build.0 = Release|Any CPU
{88028F14-0028-4DED-B119-19B8EE23CF32}.Release|Any CPU.ActiveCfg = Release|Any CPU
{88028F14-0028-4DED-B119-19B8EE23CF32}.Release|Any CPU.Build.0 = Release|Any CPU
{88028F14-0028-4DED-B119-19B8EE23CF32}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -2598,6 +3710,26 @@ Global
{6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release 4.5|x86.Build.0 = Release|Any CPU
{6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release|Any CPU.Build.0 = Release|Any CPU
{6EFD5895-177B-4BBB-AF52-29F4D53B3FBD}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -2638,6 +3770,26 @@ Global
{1674F726-0E66-414F-B9FD-C6F20D7F07C7}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{1674F726-0E66-414F-B9FD-C6F20D7F07C7}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{1674F726-0E66-414F-B9FD-C6F20D7F07C7}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release 4.5|x86.Build.0 = Release|Any CPU
{1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release|Any CPU.Build.0 = Release|Any CPU
{1674F726-0E66-414F-B9FD-C6F20D7F07C7}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -2677,6 +3829,26 @@ Global
{12CC222B-D0F5-4048-B790-D283235F540D}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{12CC222B-D0F5-4048-B790-D283235F540D}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{12CC222B-D0F5-4048-B790-D283235F540D}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {12CC222B-D0F5-4048-B790-D283235F540D}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {12CC222B-D0F5-4048-B790-D283235F540D}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {12CC222B-D0F5-4048-B790-D283235F540D}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {12CC222B-D0F5-4048-B790-D283235F540D}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {12CC222B-D0F5-4048-B790-D283235F540D}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {12CC222B-D0F5-4048-B790-D283235F540D}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {12CC222B-D0F5-4048-B790-D283235F540D}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {12CC222B-D0F5-4048-B790-D283235F540D}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {12CC222B-D0F5-4048-B790-D283235F540D}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {12CC222B-D0F5-4048-B790-D283235F540D}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {12CC222B-D0F5-4048-B790-D283235F540D}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {12CC222B-D0F5-4048-B790-D283235F540D}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {12CC222B-D0F5-4048-B790-D283235F540D}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {12CC222B-D0F5-4048-B790-D283235F540D}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {12CC222B-D0F5-4048-B790-D283235F540D}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {12CC222B-D0F5-4048-B790-D283235F540D}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {12CC222B-D0F5-4048-B790-D283235F540D}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {12CC222B-D0F5-4048-B790-D283235F540D}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {12CC222B-D0F5-4048-B790-D283235F540D}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {12CC222B-D0F5-4048-B790-D283235F540D}.Release 4.5|x86.Build.0 = Release|Any CPU
{12CC222B-D0F5-4048-B790-D283235F540D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{12CC222B-D0F5-4048-B790-D283235F540D}.Release|Any CPU.Build.0 = Release|Any CPU
{12CC222B-D0F5-4048-B790-D283235F540D}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -2717,6 +3889,26 @@ Global
{CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release 4.5|x86.Build.0 = Release|Any CPU
{CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release|Any CPU.Build.0 = Release|Any CPU
{CA87A608-7B17-4C98-88F2-42ABEE10F4C1}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -2757,6 +3949,26 @@ Global
{998F8471-DC1B-41B6-9D96-354E1B4E7A32}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{998F8471-DC1B-41B6-9D96-354E1B4E7A32}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{998F8471-DC1B-41B6-9D96-354E1B4E7A32}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release 4.5|x86.Build.0 = Release|Any CPU
{998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release|Any CPU.ActiveCfg = Release|Any CPU
{998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release|Any CPU.Build.0 = Release|Any CPU
{998F8471-DC1B-41B6-9D96-354E1B4E7A32}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -2797,6 +4009,26 @@ Global
{C8F14D59-B18D-469C-8B1B-2D23072ED16A}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{C8F14D59-B18D-469C-8B1B-2D23072ED16A}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{C8F14D59-B18D-469C-8B1B-2D23072ED16A}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release 4.5|x86.Build.0 = Release|Any CPU
{C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release|Any CPU.Build.0 = Release|Any CPU
{C8F14D59-B18D-469C-8B1B-2D23072ED16A}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -2836,6 +4068,26 @@ Global
{43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release 4.5|x86.Build.0 = Release|Any CPU
{43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release|Any CPU.ActiveCfg = Release|Any CPU
{43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release|Any CPU.Build.0 = Release|Any CPU
{43A25F41-EE8C-4A29-94D2-4CBC603E6B29}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -2875,6 +4127,26 @@ Global
{90B53209-C60C-4655-B28D-A1B3E1044BA3}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{90B53209-C60C-4655-B28D-A1B3E1044BA3}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{90B53209-C60C-4655-B28D-A1B3E1044BA3}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release 4.5|x86.Build.0 = Release|Any CPU
{90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release|Any CPU.Build.0 = Release|Any CPU
{90B53209-C60C-4655-B28D-A1B3E1044BA3}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -2914,6 +4186,26 @@ Global
{F079FB0A-A8ED-4216-B6A5-345756751A04}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{F079FB0A-A8ED-4216-B6A5-345756751A04}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{F079FB0A-A8ED-4216-B6A5-345756751A04}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {F079FB0A-A8ED-4216-B6A5-345756751A04}.Release 4.5|x86.Build.0 = Release|Any CPU
{F079FB0A-A8ED-4216-B6A5-345756751A04}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F079FB0A-A8ED-4216-B6A5-345756751A04}.Release|Any CPU.Build.0 = Release|Any CPU
{F079FB0A-A8ED-4216-B6A5-345756751A04}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -2951,6 +4243,26 @@ Global
{43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.DefaultBuild|x64.Build.0 = Debug|x64
{43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.DefaultBuild|x86.ActiveCfg = Debug|Win32
{43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.DefaultBuild|x86.Build.0 = Debug|Win32
+ {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 2.0|Any CPU.ActiveCfg = Debug|x64
+ {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 2.0|Any CPU.Build.0 = Debug|x64
+ {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 2.0|ARM.ActiveCfg = Debug|x64
+ {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 2.0|ARM.Build.0 = Debug|x64
+ {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 2.0|ARM64.ActiveCfg = Debug|x64
+ {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 2.0|ARM64.Build.0 = Debug|x64
+ {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 2.0|x64.ActiveCfg = Release|x64
+ {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 2.0|x64.Build.0 = Release|x64
+ {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 2.0|x86.ActiveCfg = Release|Win32
+ {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 2.0|x86.Build.0 = Release|Win32
+ {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 4.5|Any CPU.ActiveCfg = Debug|x64
+ {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 4.5|Any CPU.Build.0 = Debug|x64
+ {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 4.5|ARM.ActiveCfg = Debug|x64
+ {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 4.5|ARM.Build.0 = Debug|x64
+ {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 4.5|ARM64.ActiveCfg = Debug|x64
+ {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 4.5|ARM64.Build.0 = Debug|x64
+ {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 4.5|x64.ActiveCfg = Release|x64
+ {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 4.5|x64.Build.0 = Release|x64
+ {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 4.5|x86.ActiveCfg = Release|Win32
+ {43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release 4.5|x86.Build.0 = Release|Win32
{43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release|Any CPU.ActiveCfg = Release|Win32
{43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release|ARM.ActiveCfg = Release|Win32
{43ECCD8D-EE54-44EF-A51A-D77E3DF7263F}.Release|ARM64.ActiveCfg = Release|Win32
@@ -2988,6 +4300,26 @@ Global
{FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release 4.5|x86.Build.0 = Release|Any CPU
{FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release|Any CPU.Build.0 = Release|Any CPU
{FD86424C-6E84-491B-8DF9-3D0F5C236A2A}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -3027,6 +4359,26 @@ Global
{09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release 4.5|x86.Build.0 = Release|Any CPU
{09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release|Any CPU.ActiveCfg = Release|Any CPU
{09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release|Any CPU.Build.0 = Release|Any CPU
{09EE4BC6-F1C6-46DD-B4FE-918377A4EF02}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -3067,6 +4419,26 @@ Global
{0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release 4.5|x86.Build.0 = Release|Any CPU
{0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release|Any CPU.Build.0 = Release|Any CPU
{0BE74EEE-22CB-4DBA-B896-793B9E1A3AC0}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -3107,6 +4479,26 @@ Global
{654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release 4.5|x86.Build.0 = Release|Any CPU
{654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release|Any CPU.ActiveCfg = Release|Any CPU
{654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release|Any CPU.Build.0 = Release|Any CPU
{654BEDA3-16FB-44FF-ADE7-B52E50B02E63}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -3147,6 +4539,26 @@ Global
{4FD16878-1A44-4CCE-9589-5FC630FACDE9}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{4FD16878-1A44-4CCE-9589-5FC630FACDE9}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{4FD16878-1A44-4CCE-9589-5FC630FACDE9}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release 4.5|x86.Build.0 = Release|Any CPU
{4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release|Any CPU.Build.0 = Release|Any CPU
{4FD16878-1A44-4CCE-9589-5FC630FACDE9}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -3187,6 +4599,26 @@ Global
{096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release 4.5|x86.Build.0 = Release|Any CPU
{096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release|Any CPU.Build.0 = Release|Any CPU
{096F16C8-6D06-4B5F-9496-B9D2DF2D94A3}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -3226,6 +4658,26 @@ Global
{0440A135-0DF0-4232-AB3C-98B9283123B3}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{0440A135-0DF0-4232-AB3C-98B9283123B3}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{0440A135-0DF0-4232-AB3C-98B9283123B3}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {0440A135-0DF0-4232-AB3C-98B9283123B3}.Release 4.5|x86.Build.0 = Release|Any CPU
{0440A135-0DF0-4232-AB3C-98B9283123B3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0440A135-0DF0-4232-AB3C-98B9283123B3}.Release|Any CPU.Build.0 = Release|Any CPU
{0440A135-0DF0-4232-AB3C-98B9283123B3}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -3266,6 +4718,26 @@ Global
{942134AC-6EA2-4500-8F22-0F739B70A05F}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{942134AC-6EA2-4500-8F22-0F739B70A05F}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{942134AC-6EA2-4500-8F22-0F739B70A05F}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {942134AC-6EA2-4500-8F22-0F739B70A05F}.Release 4.5|x86.Build.0 = Release|Any CPU
{942134AC-6EA2-4500-8F22-0F739B70A05F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{942134AC-6EA2-4500-8F22-0F739B70A05F}.Release|Any CPU.Build.0 = Release|Any CPU
{942134AC-6EA2-4500-8F22-0F739B70A05F}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -3305,6 +4777,26 @@ Global
{808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release 4.5|x86.Build.0 = Release|Any CPU
{808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release|Any CPU.Build.0 = Release|Any CPU
{808E47B6-BAA7-4D23-83CB-40C53DC4B38A}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -3345,6 +4837,26 @@ Global
{D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release 4.5|x86.Build.0 = Release|Any CPU
{D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release|Any CPU.Build.0 = Release|Any CPU
{D129789C-3096-4D0B-8DD7-FE24A4DF4B21}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -3385,6 +4897,26 @@ Global
{91B70E9B-66A7-4873-AE10-400E71CF404F}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{91B70E9B-66A7-4873-AE10-400E71CF404F}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{91B70E9B-66A7-4873-AE10-400E71CF404F}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {91B70E9B-66A7-4873-AE10-400E71CF404F}.Release 4.5|x86.Build.0 = Release|Any CPU
{91B70E9B-66A7-4873-AE10-400E71CF404F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{91B70E9B-66A7-4873-AE10-400E71CF404F}.Release|Any CPU.Build.0 = Release|Any CPU
{91B70E9B-66A7-4873-AE10-400E71CF404F}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -3425,6 +4957,26 @@ Global
{58E8825F-0C96-449C-B320-1E82B0AA876B}.DefaultBuild|x64.Build.0 = Debug|x64
{58E8825F-0C96-449C-B320-1E82B0AA876B}.DefaultBuild|x86.ActiveCfg = Debug|x86
{58E8825F-0C96-449C-B320-1E82B0AA876B}.DefaultBuild|x86.Build.0 = Debug|x86
+ {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 2.0|x64.ActiveCfg = Release|x64
+ {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 2.0|x64.Build.0 = Release|x64
+ {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 2.0|x86.ActiveCfg = Release|x86
+ {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 2.0|x86.Build.0 = Release|x86
+ {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 4.5|x64.ActiveCfg = Release|x64
+ {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 4.5|x64.Build.0 = Release|x64
+ {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 4.5|x86.ActiveCfg = Release|x86
+ {58E8825F-0C96-449C-B320-1E82B0AA876B}.Release 4.5|x86.Build.0 = Release|x86
{58E8825F-0C96-449C-B320-1E82B0AA876B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{58E8825F-0C96-449C-B320-1E82B0AA876B}.Release|Any CPU.Build.0 = Release|Any CPU
{58E8825F-0C96-449C-B320-1E82B0AA876B}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -3465,6 +5017,26 @@ Global
{E1E66ED9-597D-45FA-8048-DE90A6930484}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{E1E66ED9-597D-45FA-8048-DE90A6930484}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{E1E66ED9-597D-45FA-8048-DE90A6930484}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {E1E66ED9-597D-45FA-8048-DE90A6930484}.Release 4.5|x86.Build.0 = Release|Any CPU
{E1E66ED9-597D-45FA-8048-DE90A6930484}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E1E66ED9-597D-45FA-8048-DE90A6930484}.Release|Any CPU.Build.0 = Release|Any CPU
{E1E66ED9-597D-45FA-8048-DE90A6930484}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -3505,6 +5077,26 @@ Global
{D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release 4.5|x86.Build.0 = Release|Any CPU
{D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release|Any CPU.Build.0 = Release|Any CPU
{D0E71A4D-9EEA-4F07-983F-EEB4416C587F}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -3545,6 +5137,26 @@ Global
{0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release 4.5|x86.Build.0 = Release|Any CPU
{0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release|Any CPU.Build.0 = Release|Any CPU
{0BDA9B52-9879-4C5E-84E3-81D00B75DACC}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -3585,6 +5197,26 @@ Global
{BDBBE284-F564-4F51-AF41-3DF0434CEC62}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{BDBBE284-F564-4F51-AF41-3DF0434CEC62}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{BDBBE284-F564-4F51-AF41-3DF0434CEC62}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release 4.5|x86.Build.0 = Release|Any CPU
{BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release|Any CPU.Build.0 = Release|Any CPU
{BDBBE284-F564-4F51-AF41-3DF0434CEC62}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -3625,6 +5257,26 @@ Global
{6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release 4.5|x86.Build.0 = Release|Any CPU
{6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release|Any CPU.Build.0 = Release|Any CPU
{6AA425C9-EA6A-4B01-AAED-5FF122E8B663}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -3665,6 +5317,26 @@ Global
{D0186AC0-0FCF-4D3B-9619-54812B6E524B}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{D0186AC0-0FCF-4D3B-9619-54812B6E524B}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{D0186AC0-0FCF-4D3B-9619-54812B6E524B}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release 4.5|x86.Build.0 = Release|Any CPU
{D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release|Any CPU.Build.0 = Release|Any CPU
{D0186AC0-0FCF-4D3B-9619-54812B6E524B}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -3704,6 +5376,26 @@ Global
{72E591D6-8F83-4D8C-8F67-9C325E623234}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{72E591D6-8F83-4D8C-8F67-9C325E623234}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{72E591D6-8F83-4D8C-8F67-9C325E623234}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {72E591D6-8F83-4D8C-8F67-9C325E623234}.Release 4.5|x86.Build.0 = Release|Any CPU
{72E591D6-8F83-4D8C-8F67-9C325E623234}.Release|Any CPU.ActiveCfg = Release|Any CPU
{72E591D6-8F83-4D8C-8F67-9C325E623234}.Release|Any CPU.Build.0 = Release|Any CPU
{72E591D6-8F83-4D8C-8F67-9C325E623234}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -3744,6 +5436,26 @@ Global
{8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release 4.5|x86.Build.0 = Release|Any CPU
{8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release|Any CPU.Build.0 = Release|Any CPU
{8A65AD6A-A9B4-48C0-9301-4B7434B712F8}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -3784,6 +5496,26 @@ Global
{4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release 4.5|x86.Build.0 = Release|Any CPU
{4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release|Any CPU.Build.0 = Release|Any CPU
{4399AF76-DB52-4CFB-8020-6F85BDB29FD5}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -3824,6 +5556,26 @@ Global
{4EDCF067-E377-42CB-A18C-8368CF484577}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{4EDCF067-E377-42CB-A18C-8368CF484577}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{4EDCF067-E377-42CB-A18C-8368CF484577}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {4EDCF067-E377-42CB-A18C-8368CF484577}.Release 4.5|x86.Build.0 = Release|Any CPU
{4EDCF067-E377-42CB-A18C-8368CF484577}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4EDCF067-E377-42CB-A18C-8368CF484577}.Release|Any CPU.Build.0 = Release|Any CPU
{4EDCF067-E377-42CB-A18C-8368CF484577}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -3864,6 +5616,26 @@ Global
{04FEBB02-F782-4B96-B47D-F6902AFA43BE}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{04FEBB02-F782-4B96-B47D-F6902AFA43BE}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{04FEBB02-F782-4B96-B47D-F6902AFA43BE}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release 4.5|x86.Build.0 = Release|Any CPU
{04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release|Any CPU.Build.0 = Release|Any CPU
{04FEBB02-F782-4B96-B47D-F6902AFA43BE}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -3904,6 +5676,26 @@ Global
{A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release 4.5|x86.Build.0 = Release|Any CPU
{A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release|Any CPU.Build.0 = Release|Any CPU
{A8077B3E-8DD6-4572-8EC4-A27BDC91B70A}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -3944,6 +5736,26 @@ Global
{5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release 4.5|x86.Build.0 = Release|Any CPU
{5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release|Any CPU.Build.0 = Release|Any CPU
{5991F6B5-EA4E-41E9-A4F6-7D3A50010FD6}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -3984,6 +5796,26 @@ Global
{43135FB9-41DB-4F87-9771-CF2C762027C0}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{43135FB9-41DB-4F87-9771-CF2C762027C0}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{43135FB9-41DB-4F87-9771-CF2C762027C0}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {43135FB9-41DB-4F87-9771-CF2C762027C0}.Release 4.5|x86.Build.0 = Release|Any CPU
{43135FB9-41DB-4F87-9771-CF2C762027C0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{43135FB9-41DB-4F87-9771-CF2C762027C0}.Release|Any CPU.Build.0 = Release|Any CPU
{43135FB9-41DB-4F87-9771-CF2C762027C0}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -4024,6 +5856,26 @@ Global
{7E5E4BED-538C-4566-A005-DCC070AF8715}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{7E5E4BED-538C-4566-A005-DCC070AF8715}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{7E5E4BED-538C-4566-A005-DCC070AF8715}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {7E5E4BED-538C-4566-A005-DCC070AF8715}.Release 4.5|x86.Build.0 = Release|Any CPU
{7E5E4BED-538C-4566-A005-DCC070AF8715}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7E5E4BED-538C-4566-A005-DCC070AF8715}.Release|Any CPU.Build.0 = Release|Any CPU
{7E5E4BED-538C-4566-A005-DCC070AF8715}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -4064,6 +5916,26 @@ Global
{5001990F-977B-48FF-B217-0236A5022AD8}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{5001990F-977B-48FF-B217-0236A5022AD8}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{5001990F-977B-48FF-B217-0236A5022AD8}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {5001990F-977B-48FF-B217-0236A5022AD8}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {5001990F-977B-48FF-B217-0236A5022AD8}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {5001990F-977B-48FF-B217-0236A5022AD8}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {5001990F-977B-48FF-B217-0236A5022AD8}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {5001990F-977B-48FF-B217-0236A5022AD8}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {5001990F-977B-48FF-B217-0236A5022AD8}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {5001990F-977B-48FF-B217-0236A5022AD8}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {5001990F-977B-48FF-B217-0236A5022AD8}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {5001990F-977B-48FF-B217-0236A5022AD8}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {5001990F-977B-48FF-B217-0236A5022AD8}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {5001990F-977B-48FF-B217-0236A5022AD8}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {5001990F-977B-48FF-B217-0236A5022AD8}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {5001990F-977B-48FF-B217-0236A5022AD8}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {5001990F-977B-48FF-B217-0236A5022AD8}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {5001990F-977B-48FF-B217-0236A5022AD8}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {5001990F-977B-48FF-B217-0236A5022AD8}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {5001990F-977B-48FF-B217-0236A5022AD8}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {5001990F-977B-48FF-B217-0236A5022AD8}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {5001990F-977B-48FF-B217-0236A5022AD8}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {5001990F-977B-48FF-B217-0236A5022AD8}.Release 4.5|x86.Build.0 = Release|Any CPU
{5001990F-977B-48FF-B217-0236A5022AD8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5001990F-977B-48FF-B217-0236A5022AD8}.Release|Any CPU.Build.0 = Release|Any CPU
{5001990F-977B-48FF-B217-0236A5022AD8}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -4104,6 +5976,26 @@ Global
{F69DA3A8-F823-461E-87CF-A9275ABC0B15}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{F69DA3A8-F823-461E-87CF-A9275ABC0B15}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{F69DA3A8-F823-461E-87CF-A9275ABC0B15}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release 4.5|x86.Build.0 = Release|Any CPU
{F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release|Any CPU.Build.0 = Release|Any CPU
{F69DA3A8-F823-461E-87CF-A9275ABC0B15}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -4141,6 +6033,26 @@ Global
{DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.DefaultBuild|x64.Build.0 = Debug|x64
{DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.DefaultBuild|x86.ActiveCfg = Debug|Win32
{DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.DefaultBuild|x86.Build.0 = Debug|Win32
+ {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 2.0|Any CPU.ActiveCfg = Debug|x64
+ {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 2.0|Any CPU.Build.0 = Debug|x64
+ {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 2.0|ARM.ActiveCfg = Debug|x64
+ {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 2.0|ARM.Build.0 = Debug|x64
+ {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 2.0|ARM64.ActiveCfg = Debug|x64
+ {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 2.0|ARM64.Build.0 = Debug|x64
+ {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 2.0|x64.ActiveCfg = Release|x64
+ {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 2.0|x64.Build.0 = Release|x64
+ {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 2.0|x86.ActiveCfg = Release|Win32
+ {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 2.0|x86.Build.0 = Release|Win32
+ {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 4.5|Any CPU.ActiveCfg = Debug|x64
+ {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 4.5|Any CPU.Build.0 = Debug|x64
+ {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 4.5|ARM.ActiveCfg = Debug|x64
+ {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 4.5|ARM.Build.0 = Debug|x64
+ {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 4.5|ARM64.ActiveCfg = Debug|x64
+ {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 4.5|ARM64.Build.0 = Debug|x64
+ {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 4.5|x64.ActiveCfg = Release|x64
+ {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 4.5|x64.Build.0 = Release|x64
+ {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 4.5|x86.ActiveCfg = Release|Win32
+ {DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release 4.5|x86.Build.0 = Release|Win32
{DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release|Any CPU.ActiveCfg = Debug|Win32
{DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release|Any CPU.Build.0 = Debug|Win32
{DB79FB33-CE7A-49CF-AA89-F697E5CDB0F6}.Release|ARM.ActiveCfg = Release|Win32
@@ -4179,6 +6091,26 @@ Global
{280267F5-A19E-4B96-999D-C13D293ECA45}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{280267F5-A19E-4B96-999D-C13D293ECA45}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{280267F5-A19E-4B96-999D-C13D293ECA45}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {280267F5-A19E-4B96-999D-C13D293ECA45}.Release 4.5|x86.Build.0 = Release|Any CPU
{280267F5-A19E-4B96-999D-C13D293ECA45}.Release|Any CPU.ActiveCfg = Release|Any CPU
{280267F5-A19E-4B96-999D-C13D293ECA45}.Release|Any CPU.Build.0 = Release|Any CPU
{280267F5-A19E-4B96-999D-C13D293ECA45}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -4219,6 +6151,26 @@ Global
{25D7CC4D-A11C-4065-A797-4A1944F636C0}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{25D7CC4D-A11C-4065-A797-4A1944F636C0}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{25D7CC4D-A11C-4065-A797-4A1944F636C0}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release 4.5|x86.Build.0 = Release|Any CPU
{25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release|Any CPU.Build.0 = Release|Any CPU
{25D7CC4D-A11C-4065-A797-4A1944F636C0}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -4259,6 +6211,26 @@ Global
{6F924F92-611B-41CF-A6E6-443E69D4CA83}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{6F924F92-611B-41CF-A6E6-443E69D4CA83}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{6F924F92-611B-41CF-A6E6-443E69D4CA83}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release 4.5|x86.Build.0 = Release|Any CPU
{6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release|Any CPU.Build.0 = Release|Any CPU
{6F924F92-611B-41CF-A6E6-443E69D4CA83}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -4299,6 +6271,26 @@ Global
{E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release 4.5|x86.Build.0 = Release|Any CPU
{E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release|Any CPU.Build.0 = Release|Any CPU
{E711CD86-89C1-432C-9C60-BFF30BBBFB3A}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -4339,6 +6331,26 @@ Global
{FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release 4.5|x86.Build.0 = Release|Any CPU
{FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release|Any CPU.Build.0 = Release|Any CPU
{FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -4379,6 +6391,26 @@ Global
{E470673E-AEC8-4555-9136-D2F66B02DBFB}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{E470673E-AEC8-4555-9136-D2F66B02DBFB}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{E470673E-AEC8-4555-9136-D2F66B02DBFB}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release 4.5|x86.Build.0 = Release|Any CPU
{E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release|Any CPU.Build.0 = Release|Any CPU
{E470673E-AEC8-4555-9136-D2F66B02DBFB}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -4419,6 +6451,26 @@ Global
{C5DF1816-34E5-4700-824C-29623A1BAA22}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{C5DF1816-34E5-4700-824C-29623A1BAA22}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{C5DF1816-34E5-4700-824C-29623A1BAA22}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {C5DF1816-34E5-4700-824C-29623A1BAA22}.Release 4.5|x86.Build.0 = Release|Any CPU
{C5DF1816-34E5-4700-824C-29623A1BAA22}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C5DF1816-34E5-4700-824C-29623A1BAA22}.Release|Any CPU.Build.0 = Release|Any CPU
{C5DF1816-34E5-4700-824C-29623A1BAA22}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -4459,6 +6511,26 @@ Global
{8435223D-DB6B-45E3-A08B-45B7416F8481}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{8435223D-DB6B-45E3-A08B-45B7416F8481}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{8435223D-DB6B-45E3-A08B-45B7416F8481}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {8435223D-DB6B-45E3-A08B-45B7416F8481}.Release 4.5|x86.Build.0 = Release|Any CPU
{8435223D-DB6B-45E3-A08B-45B7416F8481}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8435223D-DB6B-45E3-A08B-45B7416F8481}.Release|Any CPU.Build.0 = Release|Any CPU
{8435223D-DB6B-45E3-A08B-45B7416F8481}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -4499,6 +6571,26 @@ Global
{D2EE865B-B006-487A-9487-60A663636AC3}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{D2EE865B-B006-487A-9487-60A663636AC3}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{D2EE865B-B006-487A-9487-60A663636AC3}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {D2EE865B-B006-487A-9487-60A663636AC3}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {D2EE865B-B006-487A-9487-60A663636AC3}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {D2EE865B-B006-487A-9487-60A663636AC3}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {D2EE865B-B006-487A-9487-60A663636AC3}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {D2EE865B-B006-487A-9487-60A663636AC3}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {D2EE865B-B006-487A-9487-60A663636AC3}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {D2EE865B-B006-487A-9487-60A663636AC3}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {D2EE865B-B006-487A-9487-60A663636AC3}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {D2EE865B-B006-487A-9487-60A663636AC3}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {D2EE865B-B006-487A-9487-60A663636AC3}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {D2EE865B-B006-487A-9487-60A663636AC3}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {D2EE865B-B006-487A-9487-60A663636AC3}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {D2EE865B-B006-487A-9487-60A663636AC3}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {D2EE865B-B006-487A-9487-60A663636AC3}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {D2EE865B-B006-487A-9487-60A663636AC3}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {D2EE865B-B006-487A-9487-60A663636AC3}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {D2EE865B-B006-487A-9487-60A663636AC3}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {D2EE865B-B006-487A-9487-60A663636AC3}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {D2EE865B-B006-487A-9487-60A663636AC3}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {D2EE865B-B006-487A-9487-60A663636AC3}.Release 4.5|x86.Build.0 = Release|Any CPU
{D2EE865B-B006-487A-9487-60A663636AC3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D2EE865B-B006-487A-9487-60A663636AC3}.Release|Any CPU.Build.0 = Release|Any CPU
{D2EE865B-B006-487A-9487-60A663636AC3}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -4539,6 +6631,26 @@ Global
{F209FAE8-73F9-441B-97F4-0844A0279390}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{F209FAE8-73F9-441B-97F4-0844A0279390}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{F209FAE8-73F9-441B-97F4-0844A0279390}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {F209FAE8-73F9-441B-97F4-0844A0279390}.Release 4.5|x86.Build.0 = Release|Any CPU
{F209FAE8-73F9-441B-97F4-0844A0279390}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F209FAE8-73F9-441B-97F4-0844A0279390}.Release|Any CPU.Build.0 = Release|Any CPU
{F209FAE8-73F9-441B-97F4-0844A0279390}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -4576,6 +6688,26 @@ Global
{862328A4-8632-43AF-B466-55825C7962FE}.DefaultBuild|x64.Build.0 = Debug|x64
{862328A4-8632-43AF-B466-55825C7962FE}.DefaultBuild|x86.ActiveCfg = Debug|Win32
{862328A4-8632-43AF-B466-55825C7962FE}.DefaultBuild|x86.Build.0 = Debug|Win32
+ {862328A4-8632-43AF-B466-55825C7962FE}.Release 2.0|Any CPU.ActiveCfg = Debug|x64
+ {862328A4-8632-43AF-B466-55825C7962FE}.Release 2.0|Any CPU.Build.0 = Debug|x64
+ {862328A4-8632-43AF-B466-55825C7962FE}.Release 2.0|ARM.ActiveCfg = Debug|x64
+ {862328A4-8632-43AF-B466-55825C7962FE}.Release 2.0|ARM.Build.0 = Debug|x64
+ {862328A4-8632-43AF-B466-55825C7962FE}.Release 2.0|ARM64.ActiveCfg = Debug|x64
+ {862328A4-8632-43AF-B466-55825C7962FE}.Release 2.0|ARM64.Build.0 = Debug|x64
+ {862328A4-8632-43AF-B466-55825C7962FE}.Release 2.0|x64.ActiveCfg = Release|x64
+ {862328A4-8632-43AF-B466-55825C7962FE}.Release 2.0|x64.Build.0 = Release|x64
+ {862328A4-8632-43AF-B466-55825C7962FE}.Release 2.0|x86.ActiveCfg = Release|Win32
+ {862328A4-8632-43AF-B466-55825C7962FE}.Release 2.0|x86.Build.0 = Release|Win32
+ {862328A4-8632-43AF-B466-55825C7962FE}.Release 4.5|Any CPU.ActiveCfg = Debug|x64
+ {862328A4-8632-43AF-B466-55825C7962FE}.Release 4.5|Any CPU.Build.0 = Debug|x64
+ {862328A4-8632-43AF-B466-55825C7962FE}.Release 4.5|ARM.ActiveCfg = Debug|x64
+ {862328A4-8632-43AF-B466-55825C7962FE}.Release 4.5|ARM.Build.0 = Debug|x64
+ {862328A4-8632-43AF-B466-55825C7962FE}.Release 4.5|ARM64.ActiveCfg = Debug|x64
+ {862328A4-8632-43AF-B466-55825C7962FE}.Release 4.5|ARM64.Build.0 = Debug|x64
+ {862328A4-8632-43AF-B466-55825C7962FE}.Release 4.5|x64.ActiveCfg = Release|x64
+ {862328A4-8632-43AF-B466-55825C7962FE}.Release 4.5|x64.Build.0 = Release|x64
+ {862328A4-8632-43AF-B466-55825C7962FE}.Release 4.5|x86.ActiveCfg = Release|Win32
+ {862328A4-8632-43AF-B466-55825C7962FE}.Release 4.5|x86.Build.0 = Release|Win32
{862328A4-8632-43AF-B466-55825C7962FE}.Release|Any CPU.ActiveCfg = Debug|Win32
{862328A4-8632-43AF-B466-55825C7962FE}.Release|ARM.ActiveCfg = Release|Win32
{862328A4-8632-43AF-B466-55825C7962FE}.Release|ARM64.ActiveCfg = Release|Win32
@@ -4613,6 +6745,26 @@ Global
{BA9D572D-FFBF-480A-921F-9E4B00D22D41}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{BA9D572D-FFBF-480A-921F-9E4B00D22D41}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{BA9D572D-FFBF-480A-921F-9E4B00D22D41}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release 4.5|x86.Build.0 = Release|Any CPU
{BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release|Any CPU.Build.0 = Release|Any CPU
{BA9D572D-FFBF-480A-921F-9E4B00D22D41}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -4650,6 +6802,26 @@ Global
{401FB878-646C-4230-821E-16DCAE6D56F5}.DefaultBuild|x64.Build.0 = Debug|x64
{401FB878-646C-4230-821E-16DCAE6D56F5}.DefaultBuild|x86.ActiveCfg = Debug|Win32
{401FB878-646C-4230-821E-16DCAE6D56F5}.DefaultBuild|x86.Build.0 = Debug|Win32
+ {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 2.0|Any CPU.ActiveCfg = Debug|x64
+ {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 2.0|Any CPU.Build.0 = Debug|x64
+ {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 2.0|ARM.ActiveCfg = Debug|x64
+ {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 2.0|ARM.Build.0 = Debug|x64
+ {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 2.0|ARM64.ActiveCfg = Debug|x64
+ {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 2.0|ARM64.Build.0 = Debug|x64
+ {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 2.0|x64.ActiveCfg = Release|x64
+ {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 2.0|x64.Build.0 = Release|x64
+ {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 2.0|x86.ActiveCfg = Release|Win32
+ {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 2.0|x86.Build.0 = Release|Win32
+ {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 4.5|Any CPU.ActiveCfg = Debug|x64
+ {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 4.5|Any CPU.Build.0 = Debug|x64
+ {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 4.5|ARM.ActiveCfg = Debug|x64
+ {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 4.5|ARM.Build.0 = Debug|x64
+ {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 4.5|ARM64.ActiveCfg = Debug|x64
+ {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 4.5|ARM64.Build.0 = Debug|x64
+ {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 4.5|x64.ActiveCfg = Release|x64
+ {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 4.5|x64.Build.0 = Release|x64
+ {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 4.5|x86.ActiveCfg = Release|Win32
+ {401FB878-646C-4230-821E-16DCAE6D56F5}.Release 4.5|x86.Build.0 = Release|Win32
{401FB878-646C-4230-821E-16DCAE6D56F5}.Release|Any CPU.ActiveCfg = Release|Win32
{401FB878-646C-4230-821E-16DCAE6D56F5}.Release|ARM.ActiveCfg = Release|Win32
{401FB878-646C-4230-821E-16DCAE6D56F5}.Release|ARM64.ActiveCfg = Release|Win32
@@ -4684,6 +6856,26 @@ Global
{09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.DefaultBuild|x64.Build.0 = Debug|x64
{09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.DefaultBuild|x86.ActiveCfg = Debug|Win32
{09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.DefaultBuild|x86.Build.0 = Debug|Win32
+ {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 2.0|Any CPU.ActiveCfg = Debug|x64
+ {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 2.0|Any CPU.Build.0 = Debug|x64
+ {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 2.0|ARM.ActiveCfg = Debug|x64
+ {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 2.0|ARM.Build.0 = Debug|x64
+ {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 2.0|ARM64.ActiveCfg = Debug|x64
+ {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 2.0|ARM64.Build.0 = Debug|x64
+ {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 2.0|x64.ActiveCfg = Release|x64
+ {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 2.0|x64.Build.0 = Release|x64
+ {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 2.0|x86.ActiveCfg = Release|Win32
+ {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 2.0|x86.Build.0 = Release|Win32
+ {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 4.5|Any CPU.ActiveCfg = Debug|x64
+ {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 4.5|Any CPU.Build.0 = Debug|x64
+ {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 4.5|ARM.ActiveCfg = Debug|x64
+ {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 4.5|ARM.Build.0 = Debug|x64
+ {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 4.5|ARM64.ActiveCfg = Debug|x64
+ {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 4.5|ARM64.Build.0 = Debug|x64
+ {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 4.5|x64.ActiveCfg = Release|x64
+ {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 4.5|x64.Build.0 = Release|x64
+ {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 4.5|x86.ActiveCfg = Release|Win32
+ {09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release 4.5|x86.Build.0 = Release|Win32
{09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release|Any CPU.ActiveCfg = Debug|Win32
{09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release|ARM.ActiveCfg = Release|Win32
{09B2CCD8-9EEE-4837-A6BC-B5AF3DF0557E}.Release|ARM64.ActiveCfg = Release|Win32
@@ -4721,6 +6913,26 @@ Global
{5D0D4053-CAB3-4A4A-929E-37A76483BC22}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{5D0D4053-CAB3-4A4A-929E-37A76483BC22}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{5D0D4053-CAB3-4A4A-929E-37A76483BC22}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release 4.5|x86.Build.0 = Release|Any CPU
{5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release|Any CPU.Build.0 = Release|Any CPU
{5D0D4053-CAB3-4A4A-929E-37A76483BC22}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -4758,6 +6970,26 @@ Global
{DD19A7B3-E4B0-444E-98D4-D1C346442E63}.DefaultBuild|x64.Build.0 = Debug|x64
{DD19A7B3-E4B0-444E-98D4-D1C346442E63}.DefaultBuild|x86.ActiveCfg = Debug|Win32
{DD19A7B3-E4B0-444E-98D4-D1C346442E63}.DefaultBuild|x86.Build.0 = Debug|Win32
+ {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 2.0|Any CPU.ActiveCfg = Debug|x64
+ {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 2.0|Any CPU.Build.0 = Debug|x64
+ {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 2.0|ARM.ActiveCfg = Debug|x64
+ {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 2.0|ARM.Build.0 = Debug|x64
+ {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 2.0|ARM64.ActiveCfg = Debug|x64
+ {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 2.0|ARM64.Build.0 = Debug|x64
+ {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 2.0|x64.ActiveCfg = Release|x64
+ {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 2.0|x64.Build.0 = Release|x64
+ {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 2.0|x86.ActiveCfg = Release|Win32
+ {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 2.0|x86.Build.0 = Release|Win32
+ {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 4.5|Any CPU.ActiveCfg = Debug|x64
+ {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 4.5|Any CPU.Build.0 = Debug|x64
+ {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 4.5|ARM.ActiveCfg = Debug|x64
+ {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 4.5|ARM.Build.0 = Debug|x64
+ {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 4.5|ARM64.ActiveCfg = Debug|x64
+ {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 4.5|ARM64.Build.0 = Debug|x64
+ {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 4.5|x64.ActiveCfg = Release|x64
+ {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 4.5|x64.Build.0 = Release|x64
+ {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 4.5|x86.ActiveCfg = Release|Win32
+ {DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release 4.5|x86.Build.0 = Release|Win32
{DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release|Any CPU.ActiveCfg = Debug|Win32
{DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release|ARM.ActiveCfg = Release|Win32
{DD19A7B3-E4B0-444E-98D4-D1C346442E63}.Release|ARM64.ActiveCfg = Release|Win32
@@ -4795,6 +7027,26 @@ Global
{1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release 4.5|x86.Build.0 = Release|Any CPU
{1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release|Any CPU.Build.0 = Release|Any CPU
{1B87CA53-50BD-4C48-A8C7-FBB9F1419AFF}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -4832,6 +7084,26 @@ Global
{BB268536-9E03-46A4-9B11-6025211D87F0}.DefaultBuild|x64.Build.0 = Debug|x64
{BB268536-9E03-46A4-9B11-6025211D87F0}.DefaultBuild|x86.ActiveCfg = Debug|Win32
{BB268536-9E03-46A4-9B11-6025211D87F0}.DefaultBuild|x86.Build.0 = Debug|Win32
+ {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 2.0|Any CPU.ActiveCfg = Debug|x64
+ {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 2.0|Any CPU.Build.0 = Debug|x64
+ {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 2.0|ARM.ActiveCfg = Debug|x64
+ {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 2.0|ARM.Build.0 = Debug|x64
+ {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 2.0|ARM64.ActiveCfg = Debug|x64
+ {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 2.0|ARM64.Build.0 = Debug|x64
+ {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 2.0|x64.ActiveCfg = Release|x64
+ {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 2.0|x64.Build.0 = Release|x64
+ {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 2.0|x86.ActiveCfg = Release|Win32
+ {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 2.0|x86.Build.0 = Release|Win32
+ {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 4.5|Any CPU.ActiveCfg = Debug|x64
+ {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 4.5|Any CPU.Build.0 = Debug|x64
+ {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 4.5|ARM.ActiveCfg = Debug|x64
+ {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 4.5|ARM.Build.0 = Debug|x64
+ {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 4.5|ARM64.ActiveCfg = Debug|x64
+ {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 4.5|ARM64.Build.0 = Debug|x64
+ {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 4.5|x64.ActiveCfg = Release|x64
+ {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 4.5|x64.Build.0 = Release|x64
+ {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 4.5|x86.ActiveCfg = Release|Win32
+ {BB268536-9E03-46A4-9B11-6025211D87F0}.Release 4.5|x86.Build.0 = Release|Win32
{BB268536-9E03-46A4-9B11-6025211D87F0}.Release|Any CPU.ActiveCfg = Debug|Win32
{BB268536-9E03-46A4-9B11-6025211D87F0}.Release|ARM.ActiveCfg = Release|Win32
{BB268536-9E03-46A4-9B11-6025211D87F0}.Release|ARM64.ActiveCfg = Release|Win32
@@ -4869,6 +7141,26 @@ Global
{1E938FD2-C669-4738-98C9-77F96CE4D451}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{1E938FD2-C669-4738-98C9-77F96CE4D451}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{1E938FD2-C669-4738-98C9-77F96CE4D451}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {1E938FD2-C669-4738-98C9-77F96CE4D451}.Release 4.5|x86.Build.0 = Release|Any CPU
{1E938FD2-C669-4738-98C9-77F96CE4D451}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1E938FD2-C669-4738-98C9-77F96CE4D451}.Release|Any CPU.Build.0 = Release|Any CPU
{1E938FD2-C669-4738-98C9-77F96CE4D451}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -4909,6 +7201,26 @@ Global
{DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release 4.5|x86.Build.0 = Release|Any CPU
{DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release|Any CPU.Build.0 = Release|Any CPU
{DA62FA39-668B-47A6-B0F2-D2C1DAF777B0}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -4949,6 +7261,26 @@ Global
{C9F60285-91FB-4293-BCF5-164D76755CDD}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{C9F60285-91FB-4293-BCF5-164D76755CDD}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{C9F60285-91FB-4293-BCF5-164D76755CDD}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {C9F60285-91FB-4293-BCF5-164D76755CDD}.Release 4.5|x86.Build.0 = Release|Any CPU
{C9F60285-91FB-4293-BCF5-164D76755CDD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C9F60285-91FB-4293-BCF5-164D76755CDD}.Release|Any CPU.Build.0 = Release|Any CPU
{C9F60285-91FB-4293-BCF5-164D76755CDD}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -4989,6 +7321,26 @@ Global
{B0EFE7A0-7039-4DC4-8B39-465E521299F6}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{B0EFE7A0-7039-4DC4-8B39-465E521299F6}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{B0EFE7A0-7039-4DC4-8B39-465E521299F6}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release 4.5|x86.Build.0 = Release|Any CPU
{B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release|Any CPU.Build.0 = Release|Any CPU
{B0EFE7A0-7039-4DC4-8B39-465E521299F6}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -5029,6 +7381,26 @@ Global
{1066BC62-F167-4FC3-8F8B-982A9F632B4A}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{1066BC62-F167-4FC3-8F8B-982A9F632B4A}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{1066BC62-F167-4FC3-8F8B-982A9F632B4A}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release 4.5|x86.Build.0 = Release|Any CPU
{1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release|Any CPU.Build.0 = Release|Any CPU
{1066BC62-F167-4FC3-8F8B-982A9F632B4A}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -5069,6 +7441,26 @@ Global
{F13A489C-80EE-4CD0-BDD4-92D959215646}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{F13A489C-80EE-4CD0-BDD4-92D959215646}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{F13A489C-80EE-4CD0-BDD4-92D959215646}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {F13A489C-80EE-4CD0-BDD4-92D959215646}.Release 4.5|x86.Build.0 = Release|Any CPU
{F13A489C-80EE-4CD0-BDD4-92D959215646}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F13A489C-80EE-4CD0-BDD4-92D959215646}.Release|Any CPU.Build.0 = Release|Any CPU
{F13A489C-80EE-4CD0-BDD4-92D959215646}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -5109,6 +7501,26 @@ Global
{6B9774F7-960D-438E-AD81-C6B9BE328D50}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{6B9774F7-960D-438E-AD81-C6B9BE328D50}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{6B9774F7-960D-438E-AD81-C6B9BE328D50}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release 4.5|x86.Build.0 = Release|Any CPU
{6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release|Any CPU.Build.0 = Release|Any CPU
{6B9774F7-960D-438E-AD81-C6B9BE328D50}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -5149,6 +7561,26 @@ Global
{B822CBD9-1113-4668-85C9-22AA9C24CE60}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{B822CBD9-1113-4668-85C9-22AA9C24CE60}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{B822CBD9-1113-4668-85C9-22AA9C24CE60}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release 4.5|x86.Build.0 = Release|Any CPU
{B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release|Any CPU.Build.0 = Release|Any CPU
{B822CBD9-1113-4668-85C9-22AA9C24CE60}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -5189,6 +7621,26 @@ Global
{0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release 4.5|x86.Build.0 = Release|Any CPU
{0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release|Any CPU.Build.0 = Release|Any CPU
{0C596287-D63B-4BB7-A3D7-B682DD9EC60B}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -5229,6 +7681,26 @@ Global
{CC6D5193-434D-410F-B0F3-BE2017D86FCE}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{CC6D5193-434D-410F-B0F3-BE2017D86FCE}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{CC6D5193-434D-410F-B0F3-BE2017D86FCE}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release 4.5|x86.Build.0 = Release|Any CPU
{CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release|Any CPU.Build.0 = Release|Any CPU
{CC6D5193-434D-410F-B0F3-BE2017D86FCE}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -5269,6 +7741,26 @@ Global
{B4FE6485-4161-4B36-BC08-67E0B53D01B7}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{B4FE6485-4161-4B36-BC08-67E0B53D01B7}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{B4FE6485-4161-4B36-BC08-67E0B53D01B7}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release 4.5|x86.Build.0 = Release|Any CPU
{B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release|Any CPU.Build.0 = Release|Any CPU
{B4FE6485-4161-4B36-BC08-67E0B53D01B7}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -5309,6 +7801,26 @@ Global
{7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release 4.5|x86.Build.0 = Release|Any CPU
{7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release|Any CPU.Build.0 = Release|Any CPU
{7D0FCE3C-9A37-439C-9F9F-B26CFD6A8A33}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -5349,6 +7861,26 @@ Global
{8146FA0A-0725-4A1A-82E6-696C58F33A2B}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{8146FA0A-0725-4A1A-82E6-696C58F33A2B}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{8146FA0A-0725-4A1A-82E6-696C58F33A2B}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release 4.5|x86.Build.0 = Release|Any CPU
{8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release|Any CPU.Build.0 = Release|Any CPU
{8146FA0A-0725-4A1A-82E6-696C58F33A2B}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -5389,6 +7921,26 @@ Global
{C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release 4.5|x86.Build.0 = Release|Any CPU
{C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release|Any CPU.Build.0 = Release|Any CPU
{C421E1D8-9B67-4A87-8E9F-8214721FA9AD}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -5429,6 +7981,26 @@ Global
{50119E79-5012-4B36-8438-953DD5FC06E6}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{50119E79-5012-4B36-8438-953DD5FC06E6}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{50119E79-5012-4B36-8438-953DD5FC06E6}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {50119E79-5012-4B36-8438-953DD5FC06E6}.Release 4.5|x86.Build.0 = Release|Any CPU
{50119E79-5012-4B36-8438-953DD5FC06E6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{50119E79-5012-4B36-8438-953DD5FC06E6}.Release|Any CPU.Build.0 = Release|Any CPU
{50119E79-5012-4B36-8438-953DD5FC06E6}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -5466,6 +8038,26 @@ Global
{CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.DefaultBuild|x64.Build.0 = Debug|x64
{CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.DefaultBuild|x86.ActiveCfg = Debug|Win32
{CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.DefaultBuild|x86.Build.0 = Debug|Win32
+ {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 2.0|Any CPU.ActiveCfg = Debug|x64
+ {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 2.0|Any CPU.Build.0 = Debug|x64
+ {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 2.0|ARM.ActiveCfg = Debug|x64
+ {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 2.0|ARM.Build.0 = Debug|x64
+ {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 2.0|ARM64.ActiveCfg = Debug|x64
+ {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 2.0|ARM64.Build.0 = Debug|x64
+ {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 2.0|x64.ActiveCfg = Release|x64
+ {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 2.0|x64.Build.0 = Release|x64
+ {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 2.0|x86.ActiveCfg = Release|Win32
+ {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 2.0|x86.Build.0 = Release|Win32
+ {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 4.5|Any CPU.ActiveCfg = Debug|x64
+ {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 4.5|Any CPU.Build.0 = Debug|x64
+ {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 4.5|ARM.ActiveCfg = Debug|x64
+ {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 4.5|ARM.Build.0 = Debug|x64
+ {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 4.5|ARM64.ActiveCfg = Debug|x64
+ {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 4.5|ARM64.Build.0 = Debug|x64
+ {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 4.5|x64.ActiveCfg = Release|x64
+ {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 4.5|x64.Build.0 = Release|x64
+ {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 4.5|x86.ActiveCfg = Release|Win32
+ {CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release 4.5|x86.Build.0 = Release|Win32
{CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release|Any CPU.ActiveCfg = Release|Win32
{CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release|ARM.ActiveCfg = Release|Win32
{CF4C66B0-CD13-4D31-8133-339A01E7E6F2}.Release|ARM64.ActiveCfg = Release|Win32
@@ -5500,6 +8092,26 @@ Global
{1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.DefaultBuild|x64.Build.0 = Debug|x64
{1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.DefaultBuild|x86.ActiveCfg = Debug|Win32
{1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.DefaultBuild|x86.Build.0 = Debug|Win32
+ {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 2.0|Any CPU.ActiveCfg = Debug|x64
+ {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 2.0|Any CPU.Build.0 = Debug|x64
+ {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 2.0|ARM.ActiveCfg = Debug|x64
+ {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 2.0|ARM.Build.0 = Debug|x64
+ {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 2.0|ARM64.ActiveCfg = Debug|x64
+ {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 2.0|ARM64.Build.0 = Debug|x64
+ {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 2.0|x64.ActiveCfg = Release|x64
+ {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 2.0|x64.Build.0 = Release|x64
+ {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 2.0|x86.ActiveCfg = Release|Win32
+ {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 2.0|x86.Build.0 = Release|Win32
+ {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 4.5|Any CPU.ActiveCfg = Debug|x64
+ {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 4.5|Any CPU.Build.0 = Debug|x64
+ {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 4.5|ARM.ActiveCfg = Debug|x64
+ {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 4.5|ARM.Build.0 = Debug|x64
+ {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 4.5|ARM64.ActiveCfg = Debug|x64
+ {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 4.5|ARM64.Build.0 = Debug|x64
+ {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 4.5|x64.ActiveCfg = Release|x64
+ {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 4.5|x64.Build.0 = Release|x64
+ {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 4.5|x86.ActiveCfg = Release|Win32
+ {1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release 4.5|x86.Build.0 = Release|Win32
{1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release|Any CPU.ActiveCfg = Release|Win32
{1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release|ARM.ActiveCfg = Release|Win32
{1A3FC7FB-403C-4B3D-B705-28FCE11317DD}.Release|ARM64.ActiveCfg = Release|Win32
@@ -5534,6 +8146,26 @@ Global
{A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.DefaultBuild|x64.Build.0 = Debug|x64
{A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.DefaultBuild|x86.ActiveCfg = Debug|Win32
{A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.DefaultBuild|x86.Build.0 = Debug|Win32
+ {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 2.0|Any CPU.ActiveCfg = Debug|x64
+ {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 2.0|Any CPU.Build.0 = Debug|x64
+ {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 2.0|ARM.ActiveCfg = Debug|x64
+ {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 2.0|ARM.Build.0 = Debug|x64
+ {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 2.0|ARM64.ActiveCfg = Debug|x64
+ {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 2.0|ARM64.Build.0 = Debug|x64
+ {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 2.0|x64.ActiveCfg = Release|x64
+ {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 2.0|x64.Build.0 = Release|x64
+ {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 2.0|x86.ActiveCfg = Release|Win32
+ {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 2.0|x86.Build.0 = Release|Win32
+ {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 4.5|Any CPU.ActiveCfg = Debug|x64
+ {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 4.5|Any CPU.Build.0 = Debug|x64
+ {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 4.5|ARM.ActiveCfg = Debug|x64
+ {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 4.5|ARM.Build.0 = Debug|x64
+ {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 4.5|ARM64.ActiveCfg = Debug|x64
+ {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 4.5|ARM64.Build.0 = Debug|x64
+ {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 4.5|x64.ActiveCfg = Release|x64
+ {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 4.5|x64.Build.0 = Release|x64
+ {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 4.5|x86.ActiveCfg = Release|Win32
+ {A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release 4.5|x86.Build.0 = Release|Win32
{A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release|Any CPU.ActiveCfg = Release|Win32
{A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release|ARM.ActiveCfg = Release|Win32
{A3A8ADA0-C150-4E30-A60D-11F291FDBF7A}.Release|ARM64.ActiveCfg = Release|Win32
@@ -5571,6 +8203,26 @@ Global
{011470AC-6BD6-4366-B5F2-C82C065D4A84}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{011470AC-6BD6-4366-B5F2-C82C065D4A84}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{011470AC-6BD6-4366-B5F2-C82C065D4A84}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release 4.5|x86.Build.0 = Release|Any CPU
{011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release|Any CPU.ActiveCfg = Release|Any CPU
{011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release|Any CPU.Build.0 = Release|Any CPU
{011470AC-6BD6-4366-B5F2-C82C065D4A84}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -5611,6 +8263,26 @@ Global
{BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release 4.5|x86.Build.0 = Release|Any CPU
{BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release|Any CPU.Build.0 = Release|Any CPU
{BC2753F8-C0F7-48F5-A85C-149EC7A2F8C7}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -5651,6 +8323,26 @@ Global
{D74893F2-9E39-4C72-BDD4-937404E1FC37}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{D74893F2-9E39-4C72-BDD4-937404E1FC37}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{D74893F2-9E39-4C72-BDD4-937404E1FC37}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release 4.5|x86.Build.0 = Release|Any CPU
{D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release|Any CPU.Build.0 = Release|Any CPU
{D74893F2-9E39-4C72-BDD4-937404E1FC37}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -5691,6 +8383,26 @@ Global
{2CD12594-3522-4658-A65F-190EE58B6AFA}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{2CD12594-3522-4658-A65F-190EE58B6AFA}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{2CD12594-3522-4658-A65F-190EE58B6AFA}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {2CD12594-3522-4658-A65F-190EE58B6AFA}.Release 4.5|x86.Build.0 = Release|Any CPU
{2CD12594-3522-4658-A65F-190EE58B6AFA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2CD12594-3522-4658-A65F-190EE58B6AFA}.Release|Any CPU.Build.0 = Release|Any CPU
{2CD12594-3522-4658-A65F-190EE58B6AFA}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -5731,6 +8443,26 @@ Global
{DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release 4.5|x86.Build.0 = Release|Any CPU
{DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release|Any CPU.Build.0 = Release|Any CPU
{DA391B02-AE28-4EA1-A80F-D0F4C8029FFA}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -5771,6 +8503,26 @@ Global
{F3746F2B-E4AE-498B-9D42-74F95D992460}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{F3746F2B-E4AE-498B-9D42-74F95D992460}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{F3746F2B-E4AE-498B-9D42-74F95D992460}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {F3746F2B-E4AE-498B-9D42-74F95D992460}.Release 4.5|x86.Build.0 = Release|Any CPU
{F3746F2B-E4AE-498B-9D42-74F95D992460}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F3746F2B-E4AE-498B-9D42-74F95D992460}.Release|Any CPU.Build.0 = Release|Any CPU
{F3746F2B-E4AE-498B-9D42-74F95D992460}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -5811,6 +8563,26 @@ Global
{F02EAA84-AD59-465B-99A2-4422C13BFB72}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{F02EAA84-AD59-465B-99A2-4422C13BFB72}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{F02EAA84-AD59-465B-99A2-4422C13BFB72}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 2.0|x64.ActiveCfg = Release|x64
+ {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 2.0|x64.Build.0 = Release|x64
+ {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 4.5|x64.ActiveCfg = Release|x64
+ {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 4.5|x64.Build.0 = Release|x64
+ {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release 4.5|x86.Build.0 = Release|Any CPU
{F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release|Any CPU.Build.0 = Release|Any CPU
{F02EAA84-AD59-465B-99A2-4422C13BFB72}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -5851,6 +8623,26 @@ Global
{DF64460A-6617-4338-872A-DC43FD994C48}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{DF64460A-6617-4338-872A-DC43FD994C48}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{DF64460A-6617-4338-872A-DC43FD994C48}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {DF64460A-6617-4338-872A-DC43FD994C48}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {DF64460A-6617-4338-872A-DC43FD994C48}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {DF64460A-6617-4338-872A-DC43FD994C48}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {DF64460A-6617-4338-872A-DC43FD994C48}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {DF64460A-6617-4338-872A-DC43FD994C48}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {DF64460A-6617-4338-872A-DC43FD994C48}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {DF64460A-6617-4338-872A-DC43FD994C48}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {DF64460A-6617-4338-872A-DC43FD994C48}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {DF64460A-6617-4338-872A-DC43FD994C48}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {DF64460A-6617-4338-872A-DC43FD994C48}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {DF64460A-6617-4338-872A-DC43FD994C48}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {DF64460A-6617-4338-872A-DC43FD994C48}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {DF64460A-6617-4338-872A-DC43FD994C48}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {DF64460A-6617-4338-872A-DC43FD994C48}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {DF64460A-6617-4338-872A-DC43FD994C48}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {DF64460A-6617-4338-872A-DC43FD994C48}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {DF64460A-6617-4338-872A-DC43FD994C48}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {DF64460A-6617-4338-872A-DC43FD994C48}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {DF64460A-6617-4338-872A-DC43FD994C48}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {DF64460A-6617-4338-872A-DC43FD994C48}.Release 4.5|x86.Build.0 = Release|Any CPU
{DF64460A-6617-4338-872A-DC43FD994C48}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DF64460A-6617-4338-872A-DC43FD994C48}.Release|Any CPU.Build.0 = Release|Any CPU
{DF64460A-6617-4338-872A-DC43FD994C48}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -5891,6 +8683,26 @@ Global
{18A27902-9881-4556-8163-F6DF2236A14D}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{18A27902-9881-4556-8163-F6DF2236A14D}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{18A27902-9881-4556-8163-F6DF2236A14D}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {18A27902-9881-4556-8163-F6DF2236A14D}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {18A27902-9881-4556-8163-F6DF2236A14D}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {18A27902-9881-4556-8163-F6DF2236A14D}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {18A27902-9881-4556-8163-F6DF2236A14D}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {18A27902-9881-4556-8163-F6DF2236A14D}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {18A27902-9881-4556-8163-F6DF2236A14D}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {18A27902-9881-4556-8163-F6DF2236A14D}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {18A27902-9881-4556-8163-F6DF2236A14D}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {18A27902-9881-4556-8163-F6DF2236A14D}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {18A27902-9881-4556-8163-F6DF2236A14D}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {18A27902-9881-4556-8163-F6DF2236A14D}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {18A27902-9881-4556-8163-F6DF2236A14D}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {18A27902-9881-4556-8163-F6DF2236A14D}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {18A27902-9881-4556-8163-F6DF2236A14D}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {18A27902-9881-4556-8163-F6DF2236A14D}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {18A27902-9881-4556-8163-F6DF2236A14D}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {18A27902-9881-4556-8163-F6DF2236A14D}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {18A27902-9881-4556-8163-F6DF2236A14D}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {18A27902-9881-4556-8163-F6DF2236A14D}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {18A27902-9881-4556-8163-F6DF2236A14D}.Release 4.5|x86.Build.0 = Release|Any CPU
{18A27902-9881-4556-8163-F6DF2236A14D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{18A27902-9881-4556-8163-F6DF2236A14D}.Release|Any CPU.Build.0 = Release|Any CPU
{18A27902-9881-4556-8163-F6DF2236A14D}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -5931,6 +8743,26 @@ Global
{447ECB9F-F730-47D6-8DF8-D232BF4A0315}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{447ECB9F-F730-47D6-8DF8-D232BF4A0315}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{447ECB9F-F730-47D6-8DF8-D232BF4A0315}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release 4.5|x86.Build.0 = Release|Any CPU
{447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release|Any CPU.ActiveCfg = Release|Any CPU
{447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release|Any CPU.Build.0 = Release|Any CPU
{447ECB9F-F730-47D6-8DF8-D232BF4A0315}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -5971,6 +8803,26 @@ Global
{511A8AD7-6BA2-4BB5-A20A-1454196C5503}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{511A8AD7-6BA2-4BB5-A20A-1454196C5503}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{511A8AD7-6BA2-4BB5-A20A-1454196C5503}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release 4.5|x86.Build.0 = Release|Any CPU
{511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release|Any CPU.ActiveCfg = Release|Any CPU
{511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release|Any CPU.Build.0 = Release|Any CPU
{511A8AD7-6BA2-4BB5-A20A-1454196C5503}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -6011,6 +8863,26 @@ Global
{4A6B97E5-5EBA-4702-A016-6F4004F14B08}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{4A6B97E5-5EBA-4702-A016-6F4004F14B08}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{4A6B97E5-5EBA-4702-A016-6F4004F14B08}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release 4.5|x86.Build.0 = Release|Any CPU
{4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release|Any CPU.Build.0 = Release|Any CPU
{4A6B97E5-5EBA-4702-A016-6F4004F14B08}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -6051,6 +8923,26 @@ Global
{DF378E50-F0F8-46BF-A410-36DB02F2A742}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{DF378E50-F0F8-46BF-A410-36DB02F2A742}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{DF378E50-F0F8-46BF-A410-36DB02F2A742}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release 4.5|x86.Build.0 = Release|Any CPU
{DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release|Any CPU.Build.0 = Release|Any CPU
{DF378E50-F0F8-46BF-A410-36DB02F2A742}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -6091,6 +8983,26 @@ Global
{0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release 4.5|x86.Build.0 = Release|Any CPU
{0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release|Any CPU.Build.0 = Release|Any CPU
{0F5F28AD-81B9-43A0-9BA7-CFB74F37202C}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -6131,6 +9043,26 @@ Global
{26C54A4F-315D-4B79-B163-EDDDE8F93A86}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{26C54A4F-315D-4B79-B163-EDDDE8F93A86}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{26C54A4F-315D-4B79-B163-EDDDE8F93A86}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release 4.5|x86.Build.0 = Release|Any CPU
{26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release|Any CPU.ActiveCfg = Release|Any CPU
{26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release|Any CPU.Build.0 = Release|Any CPU
{26C54A4F-315D-4B79-B163-EDDDE8F93A86}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -6171,6 +9103,26 @@ Global
{BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release 4.5|x86.Build.0 = Release|Any CPU
{BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release|Any CPU.Build.0 = Release|Any CPU
{BC37CCCB-7392-4F78-8D1C-E9629E6E046E}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -6211,6 +9163,26 @@ Global
{8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release 4.5|x86.Build.0 = Release|Any CPU
{8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release|Any CPU.Build.0 = Release|Any CPU
{8CFFA4FC-F46F-475D-A270-DAFBFB532BC8}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -6251,6 +9223,26 @@ Global
{D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release 4.5|x86.Build.0 = Release|Any CPU
{D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release|Any CPU.Build.0 = Release|Any CPU
{D6F7D31D-7F8C-45E2-AE0A-FBBD1F5F9D5F}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -6291,6 +9283,26 @@ Global
{834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release 4.5|x86.Build.0 = Release|Any CPU
{834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release|Any CPU.Build.0 = Release|Any CPU
{834C81C3-09B5-45D7-BE12-E7D1E6655A7C}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -6331,6 +9343,26 @@ Global
{866B916A-207C-43F0-B403-7C4A820C2E11}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{866B916A-207C-43F0-B403-7C4A820C2E11}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{866B916A-207C-43F0-B403-7C4A820C2E11}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {866B916A-207C-43F0-B403-7C4A820C2E11}.Release 4.5|x86.Build.0 = Release|Any CPU
{866B916A-207C-43F0-B403-7C4A820C2E11}.Release|Any CPU.ActiveCfg = Release|Any CPU
{866B916A-207C-43F0-B403-7C4A820C2E11}.Release|Any CPU.Build.0 = Release|Any CPU
{866B916A-207C-43F0-B403-7C4A820C2E11}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -6371,6 +9403,26 @@ Global
{199E8359-CAD3-433D-9EED-2027652B24A4}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{199E8359-CAD3-433D-9EED-2027652B24A4}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{199E8359-CAD3-433D-9EED-2027652B24A4}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {199E8359-CAD3-433D-9EED-2027652B24A4}.Release 4.5|x86.Build.0 = Release|Any CPU
{199E8359-CAD3-433D-9EED-2027652B24A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{199E8359-CAD3-433D-9EED-2027652B24A4}.Release|Any CPU.Build.0 = Release|Any CPU
{199E8359-CAD3-433D-9EED-2027652B24A4}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -6411,6 +9463,26 @@ Global
{A78068D4-2061-4376-8EDE-583D8D880DEC}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{A78068D4-2061-4376-8EDE-583D8D880DEC}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{A78068D4-2061-4376-8EDE-583D8D880DEC}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {A78068D4-2061-4376-8EDE-583D8D880DEC}.Release 4.5|x86.Build.0 = Release|Any CPU
{A78068D4-2061-4376-8EDE-583D8D880DEC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A78068D4-2061-4376-8EDE-583D8D880DEC}.Release|Any CPU.Build.0 = Release|Any CPU
{A78068D4-2061-4376-8EDE-583D8D880DEC}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -6449,6 +9521,26 @@ Global
{A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.DefaultBuild|x64.Build.0 = Debug|x64
{A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.DefaultBuild|x86.ActiveCfg = Debug|Win32
{A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.DefaultBuild|x86.Build.0 = Debug|Win32
+ {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 2.0|Any CPU.ActiveCfg = Debug|x64
+ {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 2.0|Any CPU.Build.0 = Debug|x64
+ {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 2.0|ARM.ActiveCfg = Debug|x64
+ {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 2.0|ARM.Build.0 = Debug|x64
+ {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 2.0|ARM64.ActiveCfg = Debug|x64
+ {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 2.0|ARM64.Build.0 = Debug|x64
+ {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 2.0|x64.ActiveCfg = Release|x64
+ {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 2.0|x64.Build.0 = Release|x64
+ {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 2.0|x86.ActiveCfg = Release|Win32
+ {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 2.0|x86.Build.0 = Release|Win32
+ {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 4.5|Any CPU.ActiveCfg = Debug|x64
+ {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 4.5|Any CPU.Build.0 = Debug|x64
+ {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 4.5|ARM.ActiveCfg = Debug|x64
+ {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 4.5|ARM.Build.0 = Debug|x64
+ {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 4.5|ARM64.ActiveCfg = Debug|x64
+ {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 4.5|ARM64.Build.0 = Debug|x64
+ {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 4.5|x64.ActiveCfg = Release|x64
+ {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 4.5|x64.Build.0 = Release|x64
+ {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 4.5|x86.ActiveCfg = Release|Win32
+ {A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release 4.5|x86.Build.0 = Release|Win32
{A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release|Any CPU.ActiveCfg = Debug|Win32
{A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release|Any CPU.Build.0 = Debug|Win32
{A07E6CB4-0132-4EB1-9A38-C8C057884DC2}.Release|ARM.ActiveCfg = Release|Win32
@@ -6487,6 +9579,26 @@ Global
{09F81A12-0F77-4336-854D-9E0A74A17F9E}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{09F81A12-0F77-4336-854D-9E0A74A17F9E}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{09F81A12-0F77-4336-854D-9E0A74A17F9E}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release 4.5|x86.Build.0 = Release|Any CPU
{09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release|Any CPU.Build.0 = Release|Any CPU
{09F81A12-0F77-4336-854D-9E0A74A17F9E}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -6527,6 +9639,26 @@ Global
{997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release 4.5|x86.Build.0 = Release|Any CPU
{997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release|Any CPU.Build.0 = Release|Any CPU
{997A961C-BEDA-4B56-AA0F-C39E532F7FFA}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -6567,6 +9699,26 @@ Global
{C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.DefaultBuild|x64.Build.0 = Debug|Any CPU
{C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
{C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 2.0|Any CPU.ActiveCfg = Release|Any CPU
+ {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 2.0|Any CPU.Build.0 = Release|Any CPU
+ {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 2.0|ARM.ActiveCfg = Release|Any CPU
+ {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 2.0|ARM.Build.0 = Release|Any CPU
+ {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 2.0|ARM64.ActiveCfg = Release|Any CPU
+ {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 2.0|ARM64.Build.0 = Release|Any CPU
+ {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 2.0|x64.ActiveCfg = Release|Any CPU
+ {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 2.0|x64.Build.0 = Release|Any CPU
+ {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 2.0|x86.ActiveCfg = Release|Any CPU
+ {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 2.0|x86.Build.0 = Release|Any CPU
+ {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 4.5|Any CPU.ActiveCfg = Release|Any CPU
+ {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 4.5|Any CPU.Build.0 = Release|Any CPU
+ {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 4.5|ARM.ActiveCfg = Release|Any CPU
+ {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 4.5|ARM.Build.0 = Release|Any CPU
+ {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 4.5|ARM64.ActiveCfg = Release|Any CPU
+ {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 4.5|ARM64.Build.0 = Release|Any CPU
+ {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 4.5|x64.ActiveCfg = Release|Any CPU
+ {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 4.5|x64.Build.0 = Release|Any CPU
+ {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 4.5|x86.ActiveCfg = Release|Any CPU
+ {C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release 4.5|x86.Build.0 = Release|Any CPU
{C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release|Any CPU.Build.0 = Release|Any CPU
{C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release|ARM.ActiveCfg = Release|Any CPU
@@ -6577,6 +9729,66 @@ Global
{C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release|x64.Build.0 = Release|Any CPU
{C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release|x86.ActiveCfg = Release|Any CPU
{C6EBBBBE-2123-44DC-AEF7-A0D47D736AC0}.Release|x86.Build.0 = Release|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.AppVeyor|Any CPU.ActiveCfg = Release 2.0|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.AppVeyor|Any CPU.Build.0 = Release 2.0|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.AppVeyor|ARM.ActiveCfg = Release 2.0|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.AppVeyor|ARM.Build.0 = Release 2.0|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.AppVeyor|ARM64.ActiveCfg = Release 2.0|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.AppVeyor|ARM64.Build.0 = Release 2.0|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.AppVeyor|x64.ActiveCfg = Release 2.0|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.AppVeyor|x64.Build.0 = Release 2.0|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.AppVeyor|x86.ActiveCfg = Release 2.0|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.AppVeyor|x86.Build.0 = Release 2.0|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Debug|ARM.Build.0 = Debug|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Debug|ARM64.Build.0 = Debug|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Debug|x64.Build.0 = Debug|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Debug|x86.Build.0 = Debug|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.DefaultBuild|Any CPU.ActiveCfg = Debug|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.DefaultBuild|Any CPU.Build.0 = Debug|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.DefaultBuild|ARM.ActiveCfg = Debug|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.DefaultBuild|ARM.Build.0 = Debug|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.DefaultBuild|ARM64.ActiveCfg = Debug|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.DefaultBuild|ARM64.Build.0 = Debug|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.DefaultBuild|x64.ActiveCfg = Debug|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.DefaultBuild|x64.Build.0 = Debug|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 2.0|Any CPU.ActiveCfg = Release 2.0|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 2.0|Any CPU.Build.0 = Release 2.0|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 2.0|ARM.ActiveCfg = Release 2.0|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 2.0|ARM.Build.0 = Release 2.0|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 2.0|ARM64.ActiveCfg = Release 2.0|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 2.0|ARM64.Build.0 = Release 2.0|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 2.0|x64.ActiveCfg = Release 2.0|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 2.0|x64.Build.0 = Release 2.0|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 2.0|x86.ActiveCfg = Release 2.0|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 2.0|x86.Build.0 = Release 2.0|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 4.5|Any CPU.ActiveCfg = Release 4.5|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 4.5|Any CPU.Build.0 = Release 4.5|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 4.5|ARM.ActiveCfg = Release 4.5|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 4.5|ARM.Build.0 = Release 4.5|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 4.5|ARM64.ActiveCfg = Release 4.5|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 4.5|ARM64.Build.0 = Release 4.5|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 4.5|x64.ActiveCfg = Release 4.5|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 4.5|x64.Build.0 = Release 4.5|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 4.5|x86.ActiveCfg = Release 4.5|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release 4.5|x86.Build.0 = Release 4.5|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release|ARM.ActiveCfg = Release|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release|ARM.Build.0 = Release|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release|ARM64.ActiveCfg = Release|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release|ARM64.Build.0 = Release|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release|x64.ActiveCfg = Release|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release|x64.Build.0 = Release|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release|x86.ActiveCfg = Release|Any CPU
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -6699,14 +9911,15 @@ Global
{834C81C3-09B5-45D7-BE12-E7D1E6655A7C} = {004337EB-0761-4D30-B9F5-AE6E1CFC6013}
{866B916A-207C-43F0-B403-7C4A820C2E11} = {4EE6DBA1-71BC-49E2-8DC7-266487E61050}
{A07E6CB4-0132-4EB1-9A38-C8C057884DC2} = {EC62BC9C-F2FE-4333-B7E4-110E38D43958}
+ {1531C1EA-BD53-41D1-A34B-CFCDF79D2651} = {EC62BC9C-F2FE-4333-B7E4-110E38D43958}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
- BuildVersion_UseGlobalSettings = False
- BuildVersion_AssemblyInfoFilename = Properties\AssemblyInfo.cs
- BuildVersion_StartDate = 2000/1/1
- BuildVersion_UpdateFileVersion = False
- BuildVersion_UpdateAssemblyVersion = True
- BuildVersion_BuildVersioningStyle = None.None.Increment.DeltaBaseYearDayOfYear
SolutionGuid = {7986F7F4-A86A-4994-B1B6-0988D7F057B6}
+ BuildVersion_BuildVersioningStyle = None.None.Increment.DeltaBaseYearDayOfYear
+ BuildVersion_UpdateAssemblyVersion = True
+ BuildVersion_UpdateFileVersion = False
+ BuildVersion_StartDate = 2000/1/1
+ BuildVersion_AssemblyInfoFilename = Properties\AssemblyInfo.cs
+ BuildVersion_UseGlobalSettings = False
EndGlobalSection
EndGlobal