From 6c5dc978f2f041ebae326969d037644c0498bc1c Mon Sep 17 00:00:00 2001 From: Samdrea Hsu Date: Sun, 7 Jul 2024 09:19:14 -0700 Subject: [PATCH] OpenFlexure Device Adapter --- DeviceAdapters/OpenFlexure/OpenFlexure.cpp | 943 ++++++++++++++++++ DeviceAdapters/OpenFlexure/OpenFlexure.h | 206 ++++ .../OpenFlexure/OpenFlexure.vcxproj | 175 ++++ .../OpenFlexure/OpenFlexure.vcxproj.filters | 27 + micromanager.sln | 514 +++++++++- 5 files changed, 1860 insertions(+), 5 deletions(-) create mode 100644 DeviceAdapters/OpenFlexure/OpenFlexure.cpp create mode 100644 DeviceAdapters/OpenFlexure/OpenFlexure.h create mode 100644 DeviceAdapters/OpenFlexure/OpenFlexure.vcxproj create mode 100644 DeviceAdapters/OpenFlexure/OpenFlexure.vcxproj.filters diff --git a/DeviceAdapters/OpenFlexure/OpenFlexure.cpp b/DeviceAdapters/OpenFlexure/OpenFlexure.cpp new file mode 100644 index 000000000..e9e0951cd --- /dev/null +++ b/DeviceAdapters/OpenFlexure/OpenFlexure.cpp @@ -0,0 +1,943 @@ +////////////////////////////////////////////////////////////////////////////// +// FILE: OpenFlexure.cpp +// PROJECT: Micro-Manager +// SUBSYSTEM: DeviceAdapters +//----------------------------------------------------------------------------- +// DESCRIPTION: Adapter for the OpenFlexure Microscope. This adapter is used on the v5 Sangaboard. +// +// COPYRIGHT: Samdrea Hsu +// +// AUTHOR: Samdrea Hsu, samdreahsu@gmail.com, 06/22/2024 +// +////////////////////////////////////////////////////////////////////////////// + +#include "OpenFlexure.h" +#include "ModuleInterface.h" +#include +#include +#include +#include +#include +#include + +#ifdef WIN32 +#define WIN32_LEAN_AND_MEAN +#include +#endif + +/////////////////////////////////////////////////////////////////////////////// +// Exported MMDevice API +/////////////////////////////////////////////////////////////////////////////// +MODULE_API void InitializeModuleData() +{ + RegisterDevice(g_XYStageDeviceName, MM::XYStageDevice, "XY Stage"); + RegisterDevice(g_HubDeviceName, MM::HubDevice, "Sangaboard Hub"); + RegisterDevice(g_ZStageDeviceName, MM::StageDevice, "Z Stage"); + RegisterDevice(g_ShutterDeviceName, MM::ShutterDevice, "LED Illumination"); +} + +MODULE_API MM::Device* CreateDevice(const char* deviceName) +{ + if (deviceName == 0) + return 0; + + if (strcmp(deviceName, g_XYStageDeviceName) == 0) + return new XYStage; // Create XY stage + else if (strcmp(deviceName, g_HubDeviceName) == 0) + return new SangaBoardHub; // Create hub + else if (strcmp(deviceName, g_ZStageDeviceName) == 0) + return new ZStage; // Create Z stage + else if (strcmp(deviceName, g_ShutterDeviceName) == 0) + return new LEDIllumination; // Create LED shutter device + + return 0; // Device name not recognized +} + +MODULE_API void DeleteDevice(MM::Device* pDevice) +{ + delete pDevice; +} + +/////////////////////////////////////////////////////////////////////////////// +// Sangaboard hub implementation +/////////////////////////////////////////////////////////////////////////////// + +SangaBoardHub::SangaBoardHub() : initialized_(false), port_("Undefined"), portAvailable_(false), busy_(false) +{ + // Initialize default error messages + InitializeDefaultErrorMessages(); + + // Initialize custom error messages + SetErrorText(DEVICE_STAGE_STILL_MOVING, g_Msg_DEVICE_STAGE_STILL_MOVING); + + // Pre-initialization property: port name + CPropertyAction* pAct = new CPropertyAction(this, &SangaBoardHub::OnPort); + CreateProperty(MM::g_Keyword_Port, "Undefined", MM::String, false, pAct, true); +} + +SangaBoardHub::~SangaBoardHub() +{ + Shutdown(); +} + +int SangaBoardHub::Initialize() +{ + initialized_ = true; + + // Set up Manual Command Interface to send command directly to SangaBoard + CPropertyAction* pCommand = new CPropertyAction(this, &SangaBoardHub::OnManualCommand); + int ret = CreateProperty(g_Keyword_Command, "", MM::String, false, pCommand); + assert(DEVICE_OK == ret); + + // Set up property to display most recent serial response (read-only) + ret = CreateProperty(g_Keyword_Response, "", MM::String, false); + assert(DEVICE_OK == ret); + + // Initialize the cache values to the current values stored on hardware + this->SyncState(); + + // Set up Step Delay property for changing velocity + CPropertyAction* pStepDel = new CPropertyAction(this, &SangaBoardHub::OnStepDelay); + ret = CreateIntegerProperty(g_Keyword_StepDelay, step_delay_, false, pStepDel); + assert(DEVICE_OK == ret); + AddAllowedValue(g_Keyword_StepDelay, "1000"); + AddAllowedValue(g_Keyword_StepDelay, "2000"); + AddAllowedValue(g_Keyword_StepDelay, "3000"); + AddAllowedValue(g_Keyword_StepDelay, "4000"); + AddAllowedValue(g_Keyword_StepDelay, "5000"); + + // Set up Ramp Time property for changing acceleration + CPropertyAction* pRampTime = new CPropertyAction(this, &SangaBoardHub::OnRampTime); + ret = CreateIntegerProperty(g_Keyword_RampTime, ramp_time_, false, pRampTime); + assert(DEVICE_OK == ret); + AddAllowedValue(g_Keyword_RampTime, "0", 0); + AddAllowedValue(g_Keyword_RampTime, "100000"); // Not really sure if these values really do much for acceleration... + AddAllowedValue(g_Keyword_RampTime, "200000"); + AddAllowedValue(g_Keyword_RampTime, "300000"); + + // Set up extra functions drop down menu + CPropertyAction* pExtras= new CPropertyAction(this, &SangaBoardHub::OnExtraCommands); + ret = CreateStringProperty(g_Keyword_Extras, g_Keyword_None, false, pExtras); + assert(DEVICE_OK == ret); + AddAllowedValue(g_Keyword_Extras, g_ExtraCommand_Stop); + AddAllowedValue(g_Keyword_Extras, g_ExtraCommand_Zero); + AddAllowedValue(g_Keyword_Extras, g_ExtraCommand_Release); + AddAllowedValue(g_Keyword_Extras, g_ExtraCommand_Version); + + return DEVICE_OK; +} + +int SangaBoardHub::Shutdown() +{ + initialized_ = false; + return DEVICE_OK; +} + +int SangaBoardHub::DetectInstalledDevices() +{ + ClearInstalledDevices(); + + char hubName[MM::MaxStrLength]; + GetName(hubName); // this device name + for (unsigned i = 0; i < GetNumberOfDevices(); i++) + { + char deviceName[MM::MaxStrLength]; + bool success = GetDeviceName(i, deviceName, MM::MaxStrLength); + if (success && (strcmp(hubName, deviceName) != 0)) + { + MM::Device* pDev = CreateDevice(deviceName); + AddInstalledDevice(pDev); + } + } + return DEVICE_OK; +} + +void SangaBoardHub::GetName(char* name) const +{ + CDeviceUtils::CopyLimitedString(name, g_HubDeviceName); +} + +/* +* Make sure no moves are in progress +*/ +bool SangaBoardHub::Busy() +{ + //MM::MMTime timeout(0, 500000); // wait for 0.5 sec + + PurgeComPort(port_.c_str()); + + // Send a query to check if stage is moving + int ret = SendSerialCommand(port_.c_str(), "moving?", "\n"); + + // Check response + GetSerialAnswer(port_.c_str(), "\r", _serial_answer); // Should return "\ntrue" or "\nfalse" + + return _serial_answer.find("true") != std::string::npos; +} + +/////////////////////////////////////////////////////////////////////////////// +// SangaboardHub Action handlers +/////////////////////////////////////////////////////////////////////////////// + +int SangaBoardHub::OnPort(MM::PropertyBase* pProp, MM::ActionType eAct) +{ + if (eAct == MM::BeforeGet) + { + pProp->Set(port_.c_str()); + } + else if (eAct == MM::AfterSet) + { + pProp->Get(port_); + portAvailable_ = true; + } + + return DEVICE_OK; +} + +int SangaBoardHub::OnManualCommand(MM::PropertyBase* pProp, MM::ActionType pAct) +{ + if (pAct == MM::BeforeGet) + { + pProp->Set(_command.c_str()); + } + else if (pAct == MM::AfterSet) + { + // Get and send the command typed into property + pProp->Get(_command); + PurgeComPort(port_.c_str()); + SendCommand(_command, _serial_answer); + + // Remember the response + std::string ans = _serial_answer; + + // Sync the hub itself + this->SyncState(); + + // Sync the peripherals xy, z, and LED to possible changes made through serial call + this->SyncPeripherals(); + + // Display the response to the command + SetProperty(g_Keyword_Response, ans.c_str()); + } + + // Search for error + return _serial_answer.find("ERROR") != std::string::npos ? DEVICE_ERR : DEVICE_OK; +} + +int SangaBoardHub::OnStepDelay(MM::PropertyBase* pPropt, MM::ActionType eAct) +{ + if (eAct == MM::BeforeGet) + { + pPropt->Set(step_delay_); + } + else if (eAct == MM::AfterSet) + { + pPropt->Get(step_delay_); + std::string cmd = "dt " + std::to_string(step_delay_); + this->SendCommand(cmd, _serial_answer); + } + + return DEVICE_OK; +} + +int SangaBoardHub::OnRampTime(MM::PropertyBase* pPropt, MM::ActionType eAct) +{ + if (eAct == MM::BeforeGet) + { + pPropt->Set(ramp_time_); + } + else if (eAct == MM::AfterSet) + { + pPropt->Get(ramp_time_); + std::string cmd = "ramp_time " + std::to_string(ramp_time_); + this->SendCommand(cmd, _serial_answer); + } + + return DEVICE_OK; + +} + +int SangaBoardHub::OnExtraCommands(MM::PropertyBase* pPropt, MM::ActionType eAct) +{ + if (eAct == MM::BeforeGet) + { + pPropt->Set(g_Keyword_None); + } + else if (eAct == MM::AfterSet) + { + std::string cmd; + pPropt->Get(cmd); + this->SendCommand(cmd, _serial_answer); + + // Remember the response + std::string ans = _serial_answer; + + // Sync the stages, because the extra commands mostly change the state of the stage + this->SyncPeripherals(); + + // Display the response to the command + SetProperty(g_Keyword_Response, ans.c_str()); + } + + return DEVICE_OK; +} + +/////////////////////////////////////////////////////////////////////////////// +// SangaboardHub Helper Functions +/////////////////////////////////////////////////////////////////////////////// +/** +* Return port name +*/ +void SangaBoardHub::GetPort(std::string& port) +{ + port = this->port_; +} + +/** +* Manages serial port calls by peripheral devices +* Locks thread to use serial port so only one serial call is done at a time +*/ +int SangaBoardHub::SendCommand(std::string cmd, std::string& ans) +{ + // Lock the serial port with threadguard + MMThreadGuard g(serial_lock_); + + // Allow previous move to finish before sending new command through serial port + if (Busy() && cmd.find("mr") != -1) { + return DEVICE_STAGE_STILL_MOVING; + } + + // Send command and receive response + int ret = SendSerialCommand(port_.c_str(), cmd.c_str(), "\n"); + + if (ret != DEVICE_OK) { + return ret; + } + + ret = GetSerialAnswer(port_.c_str(), "\r", ans); + + if (ret != DEVICE_OK) { + return ret; + } + + // Reflect the command in the serial response property + SetProperty(g_Keyword_Response, ans.c_str()); + + return DEVICE_OK; + +} // End of function automatically unlocks the lock + +/** +* Prompt device to validate MM cached values for the hub +*/ +int SangaBoardHub::SyncState() +{ + // Update minimum step delay + std::string cmd = "dt?"; + this->SendCommand(cmd, _serial_answer); // Output is something like "minimum step delay 1000" + + // Get the step delay from response + step_delay_ = ExtractNumber(_serial_answer); + + // Update ramp time + cmd = "ramp_time?"; + this->SendCommand(cmd, _serial_answer); // Output is something like "ramp_time 0” + + // Get the ramp time from response + ramp_time_ = ExtractNumber(_serial_answer); + + return DEVICE_OK; +} + +/** +* Sync the peripherals if they exist +*/ +int SangaBoardHub::SyncPeripherals() +{ + // Look for peripherals that need syncing + for (unsigned i = 0; i < GetNumberOfDevices(); i++) { + + char deviceName[MM::MaxStrLength]; + bool success = GetDeviceName(i, deviceName, MM::MaxStrLength); + + // Sync xy stage + if (success && (strcmp(g_XYStageDeviceName, deviceName) == 0)) + { + XYStage* xyStage = dynamic_cast(GetDevice(deviceName)); + xyStage->SyncState(); + } + + // Sync z stage + if (success && (strcmp(g_ZStageDeviceName, deviceName) == 0)) + { + ZStage* zStage = dynamic_cast(GetDevice(deviceName)); + zStage->SyncState(); + } + + // Sync illumination + if (success && (strcmp(g_ShutterDeviceName, deviceName) == 0)) + { + LEDIllumination* light = dynamic_cast(GetDevice(deviceName)); + light->SyncState(); + } + } + + return DEVICE_OK; +} + +/** +* Parse a sentence for numbers +*/ +long SangaBoardHub::ExtractNumber(std::string str) { + std::stringstream ss(str); + std::string temp; + long found; + + // Running loop till the end of the stream + while (ss >> temp) { + // Checking if the given word is a long or not + if (std::stringstream(temp) >> found) { + return found; // Return the first long found + } + } + return 0; // Return 0 if no long is found +} + +/////////////////////////////////////////////////////////////////////////////// +// XYStage implementation +/////////////////////////////////////////////////////////////////////////////// + +XYStage::XYStage() : initialized_(false), portAvailable_(false), stepSizeUm_(0.07), stepsX_(0), stepsY_(0), pHub(NULL) +{ + // Parent ID display + //CreateHubIDProperty(); + + // Initialize default error messages + InitializeDefaultErrorMessages(); +} + +XYStage::~XYStage() +{ + Shutdown(); +} + +int XYStage::Initialize() +{ + if (initialized_) + return DEVICE_OK; + + // Get hub instance + pHub = static_cast(GetParentHub()); + if (pHub) + { + char hubLabel[MM::MaxStrLength]; + pHub->GetLabel(hubLabel); + SetParentID(hubLabel); // for backward comp. + } + else + LogMessage(NoHubError); + + // Check status to see if device is ready to start + int status = UpdateStatus(); + if (status != DEVICE_OK) { + return status; + } + + // Use non-blocking moves + std::string cmd = "blocking_moves false"; + pHub->SendCommand(cmd, _serial_answer); + if (_serial_answer.find("done") == -1) { + return DEVICE_ERR; + } + + // Set the current stage position + SyncState(); + + // Device is now initialized + initialized_ = true; + + return DEVICE_OK; +} + +int XYStage::Shutdown() +{ + //De-energize the motors + std::string cmd = "release"; + pHub->SendCommand(cmd, _serial_answer); + initialized_ = false; + return DEVICE_OK; +} + +int XYStage::SetPositionSteps(long x, long y) +{ + // Probably best to call SetRelativePosition() to complete this function + return DEVICE_OK; +} + +int XYStage::SetPositionUm(double posX, double posY) +{ + // Manual changing position + return DEVICE_OK; +} + +int XYStage::GetPositionUm(double& posX, double& posY) +{ + posX = stepsX_ * stepSizeUm_; + posY = stepsY_ * stepSizeUm_; + + return DEVICE_OK; +} + +/** +* Should be called by GetPositionUm(), but probably redundant, because I'm keeping stepsX_ and stepsY_ global variables +*/ +int XYStage::GetPositionSteps(long& x, long& y) +{ + x = stepsX_; + y = stepsY_; + + return DEVICE_OK; +} + +int XYStage::SetRelativePositionUm(double dx, double dy) +{ + long dxSteps = nint(dx / stepSizeUm_); + long dySteps = nint(dy / stepSizeUm_); + int ret = SetRelativePositionSteps(dxSteps, dySteps); // Stage starts moving after this step + + if (ret == DEVICE_OK) { + stepsX_ += dxSteps; + stepsY_ += dySteps; + this->OnXYStagePositionChanged(stepsX_ * stepSizeUm_, stepsY_ * stepSizeUm_); + } + + return DEVICE_OK; +} + +int XYStage::SetRelativePositionSteps(long x, long y) +{ + + // Sending two commands sequentially + std::ostringstream cmd; + cmd << "mrx " << x << "\nmry " << y; // move in x first then y (arbitrary choice) + + int ret = pHub->SendCommand(cmd.str(), _serial_answer); + + return ret; +} + +int XYStage::SetOrigin() +{ + + // Set current position as origin (all motor positions set to 0) + std::string cmd = "zero"; + int ret = pHub->SendCommand(cmd, _serial_answer); + + return ret; +} + +int XYStage::SetAdapterOrigin() +{ + //Could be the function to sync adapter to the stage's actual positions... + return DEVICE_OK; +} + +/** +* Return the device to the origin +*/ +int XYStage::Home() +{ + //TODO: Query the position steps and set the number of steps to opposite that + return DEVICE_OK; +} + +int XYStage::Stop() +{ + // send the stop command to the stage + std::string cmd = "stop"; + pHub->SendCommand(cmd, _serial_answer); + + // Make sure current position is synched + SyncState(); + + return DEVICE_OK; + +} + +int XYStage::GetStepLimits(long& xMin, long& xMax, long& yMin, long& yMax) +{ + return DEVICE_OK; +} + +int XYStage::GetLimitsUm(double& xMin, double& xMax, double& yMin, double& yMax) +{ + return DEVICE_OK; +} + +void XYStage::GetName(char* name) const +{ + CDeviceUtils::CopyLimitedString(name, g_XYStageDeviceName); +} + +/////////////////////////////////////////////////////////////////////////////// +// XYStage Helper Functions +/////////////////////////////////////////////////////////////////////////////// + +/** +* Sync the starting position of the stage to the cached values in the adapter +*/ +int XYStage::SyncState() +{ + // Query for the current position [x y z] of the stage + std::string cmd = "p"; + pHub->SendCommand(cmd, _serial_answer); + + // Parse the position of the stage into the x and y componennts + std::istringstream iss(_serial_answer); + + iss >> stepsX_; + + iss >> stepsY_; + + // Reflect the synch-ed state in display + int ret = OnXYStagePositionChanged(stepsX_ * stepSizeUm_, stepsY_ * stepSizeUm_); + + if (ret != DEVICE_OK) { + return ret; + } + + return DEVICE_OK; +} + +/////////////////////////////////////////////////////////////////////////////// +// ZsStage implementation +/////////////////////////////////////////////////////////////////////////////// + +ZStage::ZStage() : initialized_(false), stepSizeUm_(0.05), stepsZ_(0), pHub(NULL) +{ + // Parent ID display + //CreateHubIDProperty(); + + // Initialize default error messages + InitializeDefaultErrorMessages(); +} + +ZStage::~ZStage() +{ + Shutdown(); +} + +int ZStage::Initialize() +{ + if (initialized_) + return DEVICE_OK; + + // Create pointer to parent hub (sangaboard) + pHub = static_cast(GetParentHub()); + if (pHub) + { + char hubLabel[MM::MaxStrLength]; + pHub->GetLabel(hubLabel); + SetParentID(hubLabel); // for backward comp. + } + else + LogMessage(NoHubError); + + // Check status to see if device is ready to start + int status = UpdateStatus(); + if (status != DEVICE_OK) { + return status; + } + + // Use non-blocking moves + std::string cmd = "blocking_moves false"; + pHub->SendCommand(cmd, _serial_answer); + if (_serial_answer.find("done") == -1) { + return DEVICE_ERR; + } + + // Set the current stagePosition + SyncState(); + + // Device is now initialized + initialized_ = true; + + return DEVICE_OK; +} + +int ZStage::Shutdown() +{ + // De-energize the motors + std::string cmd = "release"; + pHub->SendCommand(cmd, _serial_answer); + initialized_ = false; + return DEVICE_OK; +} + +int ZStage::GetPositionUm(double& pos) +{ + pos = stepsZ_ * stepSizeUm_; + return DEVICE_OK; +} + +int ZStage::GetPositionSteps(long& steps) +{ + steps = stepsZ_; + return DEVICE_OK; +} + +int ZStage::SetRelativePositionUm(double d) +{ + long dSteps = nint(d / stepSizeUm_); + int ret = SetRelativePositionSteps(dSteps); // Stage starts moving after this step + + if (ret == DEVICE_OK) { + stepsZ_ += dSteps; + this->OnStagePositionChanged(stepsZ_ * stepSizeUm_); + } + + return DEVICE_OK; +} + + +int ZStage::SetRelativePositionSteps(long z) +{ + // Concatenate the command and number of steps + std::ostringstream cmd; + cmd << "mrz " << z; + + // Send command through hub + int ret = pHub->SendCommand(cmd.str(), _serial_answer); + + return ret; +} + + +int ZStage::SetOrigin() +{ + // Set current position as origin (all motor positions set to 0) + std::string cmd = "zero"; + int ret = pHub->SendCommand(cmd, _serial_answer); + + return ret; +} + +void ZStage::GetName(char* name) const +{ + CDeviceUtils::CopyLimitedString(name, g_ZStageDeviceName); +} + +/////////////////////////////////////////////////////////////////////////////// +// ZStage Helper functions +/////////////////////////////////////////////////////////////////////////////// + +/** +* Sync the starting position of the stage to the cached values in the adapter +*/ +int ZStage::SyncState() +{ + // Query for the current position [x y z] of the stage + std::string cmd = "p"; + pHub->SendCommand(cmd, _serial_answer); + + // Parse the position of the stage to just get the z position + std::istringstream iss(_serial_answer); + + iss >> stepsZ_ >> stepsZ_ >> stepsZ_; + + // Reflect the synch-ed state in display + int ret = OnStagePositionChanged(stepsZ_ * stepSizeUm_); + + if (ret != DEVICE_OK) { + return ret; + } + + return DEVICE_OK; +} + +/////////////////////////////////////////////////////////////////////////////// +// LED Illumination implementation +/////////////////////////////////////////////////////////////////////////////// + +LEDIllumination::~LEDIllumination() +{ + Shutdown(); +} + +int LEDIllumination::Initialize() +{ + pHub = static_cast(GetParentHub()); + if (pHub) + { + char hubLabel[MM::MaxStrLength]; + pHub->GetLabel(hubLabel); + SetParentID(hubLabel); // for backward comp. + } + else + LogMessage(NoHubError); + + if (initialized_) + return DEVICE_OK; + + // Sync current device values to cached values + SyncState(); + + // Set property list + // ------------------ + // state + CPropertyAction* pAct = new CPropertyAction(this, &LEDIllumination::OnState); + int ret = CreateIntegerProperty(MM::g_Keyword_State, state_, false, pAct); + if (ret != DEVICE_OK) + return ret; + + AddAllowedValue(MM::g_Keyword_State, "0"); // Closed + AddAllowedValue(MM::g_Keyword_State, "1"); // Open + + // Brightness property is a slider + CPropertyAction* pActbr = new CPropertyAction(this, &LEDIllumination::OnBrightness); + CreateProperty(g_Keyword_Brightness, std::to_string(brightness_).c_str(), MM::Float, false, pActbr); + SetPropertyLimits(g_Keyword_Brightness, 0, 1.0); + + ret = UpdateStatus(); + if (ret != DEVICE_OK) + return ret; + + initialized_ = true; + + return DEVICE_OK; +} + +int LEDIllumination::Shutdown() +{ + // Turn LED off + SetOpen(false); + initialized_ = false; + return DEVICE_OK; +} + +int LEDIllumination::SetOpen(bool open)//bool open = true) +{ + state_ = open; + changedTime_ = GetCurrentMMTime(); + + if (state_ == true) { + SetBrightness(); + } + else { + std::string cmd = "led_cc 0"; + pHub->SendCommand(cmd, _serial_answer); + } + + return DEVICE_OK; +} + +int LEDIllumination::GetOpen(bool& open) +{ + open = state_; + return DEVICE_OK; +} + +void LEDIllumination::GetName(char* name) const +{ + CDeviceUtils::CopyLimitedString(name, g_ShutterDeviceName); +} + +/////////////////////////////////////////////////////////////////////////////// +// LED Illumination Action handlers +/////////////////////////////////////////////////////////////////////////////// + +int LEDIllumination::OnState(MM::PropertyBase* pProp, MM::ActionType eAct) +{ + if (eAct == MM::BeforeGet) + { + if (state_) + pProp->Set(1L); + else + pProp->Set(0L); + } + else if (eAct == MM::AfterSet) + { + // Set timer for the Busy signal + changedTime_ = GetCurrentMMTime(); + + long pos; + pProp->Get(pos); + + // apply the value + state_ = pos == 0 ? false : true; + SetOpen(state_); + } + + return DEVICE_OK; +} + +int LEDIllumination::OnBrightness(MM::PropertyBase* pProp, MM::ActionType eAct) +{ + if (eAct == MM::BeforeGet) + { + pProp->Set(brightness_); // set the property display in mm to the brightness variable stored on cache + } + else if (eAct == MM::AfterSet) + { + // get value from mm property display and store as brightness variable on cache + pProp->Get(brightness_); + + if (state_) { + // actually send command to set brightness of the LedArray + SetBrightness(); + } + } + return DEVICE_OK; +} + +/////////////////////////////////////////////////////////////////////////////// +// LED Illumination Helper Functions +/////////////////////////////////////////////////////////////////////////////// + +/** +* Queries actual hardware for current values to sync the MM cached values +*/ +int LEDIllumination::SyncState() +{ + if (!initialized_) { + return DEVICE_OK; // Keep device at default brightness + } + + // Query for the brightness of the LED + std::string cmd = "led_cc?"; + pHub->SendCommand(cmd, _serial_answer); // Output is something like CC LED:1.00, so i can't use hub's ExtractNumber() + + // Find the position of the numeric value in the response + size_t colonPos = _serial_answer.find(':'); + if (colonPos != std::string::npos) { + std::string valueStr = _serial_answer.substr(colonPos + 1); // Extract the substring after the colon + + double LEDVal = std::stod(valueStr); + + // If only sync if light was manually turned on to a certain brightness + if (LEDVal != 0.0) { + state_ = true; + brightness_ = LEDVal; + } + else { + state_ = false; + // Note: brightness_ is not updated when LEDVal is 0.0, so it retains its last value. + } + } + else { + return DEVICE_ERR; + } + return DEVICE_OK; +} + +/** +* Turn LED on to a certain brightness- +*/ +int LEDIllumination::SetBrightness() +{ + // actually send command to set brightness of the LedArray + std::string cmd = "led_cc " + std::to_string(brightness_); + pHub->SendCommand(cmd, _serial_answer); + + return DEVICE_OK; +} \ No newline at end of file diff --git a/DeviceAdapters/OpenFlexure/OpenFlexure.h b/DeviceAdapters/OpenFlexure/OpenFlexure.h new file mode 100644 index 000000000..9ec3846ee --- /dev/null +++ b/DeviceAdapters/OpenFlexure/OpenFlexure.h @@ -0,0 +1,206 @@ +////////////////////////////////////////////////////////////////////////////// +// FILE: OpenFlexure.h +// PROJECT: Micro-Manager +// SUBSYSTEM: DeviceAdapters +//----------------------------------------------------------------------------- +// DESCRIPTION: Adapter for the OpenFlexure Microscope. This adapter is used on the v5 Sangaboard. +// +// COPYRIGHT: Samdrea Hsu +// +// AUTHOR: Samdrea Hsu, samdreahsu@gmail.com, 06/22/2024 +// +////////////////////////////////////////////////////////////////////////////// + +#ifndef _OpenFlexure_H_ +#define _OpenFlexure_H_ + +#include "MMDevice.h" +#include "DeviceBase.h" +#include +#include + +// Global keywords +const char* g_XYStageDeviceName = "XY Stage"; +const char* g_HubDeviceName = "SangaboardHub"; +const char* g_ZStageDeviceName = "Z Stage"; +const char* g_ShutterDeviceName = "LED illumination"; +const char* g_Keyword_Response = "SerialResponse"; +const char* g_Keyword_Command = "SerialCommand"; +const char* g_Keyword_Brightness = "LED Brightness"; +const char* g_Keyword_StepDelay = "Stage Step Delay (us)"; +const char* g_Keyword_RampTime = "Stage Ramp Time (us)"; +const char* g_Keyword_Extras = "Xtra Stage Commands"; +const char* g_Keyword_None = "None"; +const char* g_ExtraCommand_Stop = "stop"; +const char* g_ExtraCommand_Zero = "zero"; +const char* g_ExtraCommand_Release = "release"; +const char* g_ExtraCommand_Version = "version"; +const char* NoHubError = "Parent Hub not defined."; +const char* const g_Msg_DEVICE_STAGE_STILL_MOVING = "Stage is still moving. Current move aborted."; + +// Custom Error texts +#define DEVICE_STAGE_STILL_MOVING 42 + +class SangaBoardHub : public HubBase +{ +public: + SangaBoardHub(); + ~SangaBoardHub(); + + // MMDevice API + int Initialize(); + int Shutdown(); + void GetName(char* pszName) const; + bool Busy(); + + // Hub API + int DetectInstalledDevices(); + + // Action Handlers + int OnPort(MM::PropertyBase* pPropt, MM::ActionType eAct); + int OnManualCommand(MM::PropertyBase* pPropt, MM::ActionType eAct); + int OnStepDelay(MM::PropertyBase* pPropt, MM::ActionType eAct); + int OnRampTime(MM::PropertyBase* pPropt, MM::ActionType eAct); + int OnExtraCommands(MM::PropertyBase* pPropt, MM::ActionType eAct); + + // Helper Functions + void GetPort(std::string& port); + int SendCommand(std::string cmd, std::string& res); + int SyncState(); + long ExtractNumber(std::string serial_output); + int SyncPeripherals(); + +private: + bool initialized_; + bool busy_; + bool portAvailable_; + long step_delay_; + long ramp_time_; + std::string port_; + std::string _command; + std::string _serial_answer; + MMThreadLock serial_lock_; + + bool IsPortAvailable() { return portAvailable_; } +}; + +class XYStage : public CXYStageBase +{ +public: + XYStage(); + ~XYStage(); + + // MMDevice API + int Initialize(); + int Shutdown(); + + // XYStage API + int SetPositionSteps(long x, long y); + int GetPositionSteps(long& x, long& y); + int SetRelativePositionSteps(long x, long y); + int GetPositionUm(double& posX, double& posY); + int SetPositionUm(double posX, double posY); + int SetRelativePositionUm(double posX, double posY); + int SetOrigin(); + int SetAdapterOrigin(); + int Home(); + int Stop(); + double GetStepSizeXUm() { return stepSizeUm_; } + double GetStepSizeYUm() { return stepSizeUm_; } + int GetStepLimits(long& xMin, long& xMax, long& yMin, long& yMax); + int GetLimitsUm(double& xMin, double& xMax, double& yMin, double& yMax); + int IsXYStageSequenceable(bool& isSequenceable) const { isSequenceable = false; return DEVICE_OK; } + + bool Busy() { return false; } + void GetName(char*) const; + + // Helper functions + int SyncState(); + +private: + long stepsX_; + long stepsY_; + bool initialized_; + bool portAvailable_; + double stepSizeUm_; + std::string port_; + std::string _serial_answer; + SangaBoardHub* pHub; + + bool IsPortAvailable() { return portAvailable_; } +}; + +class ZStage : public CStageBase +{ +public: + ZStage(); + ~ZStage(); + + // MMDevice API + int Initialize(); + int Shutdown(); + void GetName(char* name) const; + + // ZStage API + int SetPositionUm(double pos) { return DEVICE_UNSUPPORTED_COMMAND;} + int SetPositionSteps(long steps) { return DEVICE_UNSUPPORTED_COMMAND;} + int SetRelativePositionUm(double d); + int SetRelativePositionSteps(long z); + int Stop() {return DEVICE_UNSUPPORTED_COMMAND;} + int GetPositionUm(double& pos); + int GetPositionSteps(long& steps); + int SetOrigin(); + int GetLimits(double& lower, double& upper) { return DEVICE_UNSUPPORTED_COMMAND;} // nah + int IsStageSequenceable(bool& isSequenceable) const { isSequenceable = false; return DEVICE_OK;} + bool IsContinuousFocusDrive() const { return false; } + bool Busy() { return false; } + + // Helper functions + int SyncState(); + +private: + long stepsZ_; + bool initialized_; + double stepSizeUm_; + std::string _serial_answer; + SangaBoardHub* pHub; +}; + +class LEDIllumination : public CShutterBase +{ +public: + LEDIllumination() : state_(false), initialized_(false), changedTime_(0.0), brightness_(1.0), pHub(NULL){} + ~LEDIllumination(); + + // MMDevice API + int Initialize(); + int Shutdown(); + void GetName(char* name) const; + + + // Shutter API + int SetOpen(bool open); + int GetOpen(bool& open); + int Fire(double deltaT) { return DEVICE_UNSUPPORTED_COMMAND;} + bool Busy() { return false; } + + // Action Handlers + int OnState(MM::PropertyBase* pProp, MM::ActionType eAct); + int OnBrightness(MM::PropertyBase* pPropt, MM::ActionType eAct); + + // Helper functions + int SyncState(); + int SetBrightness(); + +private: + bool state_; + bool initialized_; + double brightness_; + MM::MMTime changedTime_; + std::string _serial_answer; + SangaBoardHub* pHub; +}; + +#endif + + diff --git a/DeviceAdapters/OpenFlexure/OpenFlexure.vcxproj b/DeviceAdapters/OpenFlexure/OpenFlexure.vcxproj new file mode 100644 index 000000000..6934e1b2b --- /dev/null +++ b/DeviceAdapters/OpenFlexure/OpenFlexure.vcxproj @@ -0,0 +1,175 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + + + + + + + + {b8c95f39-54bf-40a9-807b-598df2821d55} + + + + 16.0 + Win32Proj + {149b6a9d-40fb-4fdf-bc0c-6b68e3bc4938} + OpenFlexure + 10.0 + + + + DynamicLibrary + true + v142 + Unicode + + + DynamicLibrary + false + v142 + true + Unicode + + + DynamicLibrary + true + v142 + Unicode + + + DynamicLibrary + false + v142 + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + false + + + true + + + false + + + + Level3 + true + WIN32;_DEBUG;OPENFLEXURE_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + Use + pch.h + + + Windows + true + false + + + + + Level3 + true + true + true + WIN32;NDEBUG;OPENFLEXURE_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + Use + pch.h + + + Windows + true + true + true + false + + + + + true + _DEBUG;OPENFLEXURE_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + + + Windows + true + false + + + copy /Y "$(TargetDir)$(TargetName).dll" "C:\Program Files\Micro-Manager-2.0\$(TargetName).dll" + + + + + true + true + true + NDEBUG;OPENFLEXURE_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + + + Windows + true + true + true + false + + + copy /Y "$(TargetDir)$(TargetName).dll" "C:\Program Files\Micro-Manager-2.0\$(TargetName).dll" + + + + + + \ No newline at end of file diff --git a/DeviceAdapters/OpenFlexure/OpenFlexure.vcxproj.filters b/DeviceAdapters/OpenFlexure/OpenFlexure.vcxproj.filters new file mode 100644 index 000000000..f64bb9f77 --- /dev/null +++ b/DeviceAdapters/OpenFlexure/OpenFlexure.vcxproj.filters @@ -0,0 +1,27 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Header Files + + + + + Source Files + + + \ No newline at end of file diff --git a/micromanager.sln b/micromanager.sln index d69eacc52..1f1ef0562 100644 --- a/micromanager.sln +++ b/micromanager.sln @@ -492,998 +492,1502 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DahengGalaxy", "DeviceAdapt EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PyDevice", "DeviceAdapters\PyDevice\PyDevice.vcxproj", "{36CF524A-8214-404C-8E6B-B5DEC1FDADF9}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HikRobot", "DeviceAdapters\HikRobot\HikRobot.vcxproj", "{38DCD378-83FE-4C42-8916-1C477A35F65F}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Hikrobot", "DeviceAdapters\HikRobot\HikRobot.vcxproj", "{38DCD378-83FE-4C42-8916-1C477A35F65F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OpenFlexure", "DeviceAdapters\OpenFlexure\OpenFlexure.vcxproj", "{149B6A9D-40FB-4FDF-BC0C-6B68E3BC4938}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 Release|x64 = Release|x64 + Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {36571628-728C-4ACD-A47F-503BA91C5D43}.Debug|x64.ActiveCfg = Debug|x64 {36571628-728C-4ACD-A47F-503BA91C5D43}.Debug|x64.Build.0 = Debug|x64 + {36571628-728C-4ACD-A47F-503BA91C5D43}.Debug|x86.ActiveCfg = Debug|x64 {36571628-728C-4ACD-A47F-503BA91C5D43}.Release|x64.ActiveCfg = Release|x64 {36571628-728C-4ACD-A47F-503BA91C5D43}.Release|x64.Build.0 = Release|x64 + {36571628-728C-4ACD-A47F-503BA91C5D43}.Release|x86.ActiveCfg = Release|x64 {EFA68887-8A97-49D7-BAB4-768E15A4E597}.Debug|x64.ActiveCfg = Debug|x64 {EFA68887-8A97-49D7-BAB4-768E15A4E597}.Debug|x64.Build.0 = Debug|x64 + {EFA68887-8A97-49D7-BAB4-768E15A4E597}.Debug|x86.ActiveCfg = Debug|x64 {EFA68887-8A97-49D7-BAB4-768E15A4E597}.Release|x64.ActiveCfg = Release|x64 {EFA68887-8A97-49D7-BAB4-768E15A4E597}.Release|x64.Build.0 = Release|x64 + {EFA68887-8A97-49D7-BAB4-768E15A4E597}.Release|x86.ActiveCfg = Release|x64 {806A629B-7EAA-4265-A4C0-8A0EC03B104F}.Debug|x64.ActiveCfg = Debug|x64 {806A629B-7EAA-4265-A4C0-8A0EC03B104F}.Debug|x64.Build.0 = Debug|x64 + {806A629B-7EAA-4265-A4C0-8A0EC03B104F}.Debug|x86.ActiveCfg = Debug|x64 {806A629B-7EAA-4265-A4C0-8A0EC03B104F}.Release|x64.ActiveCfg = Release|x64 {806A629B-7EAA-4265-A4C0-8A0EC03B104F}.Release|x64.Build.0 = Release|x64 + {806A629B-7EAA-4265-A4C0-8A0EC03B104F}.Release|x86.ActiveCfg = Release|x64 {1FCA5DD9-57F4-45A4-9141-8AE392E2AFE8}.Debug|x64.ActiveCfg = Debug|x64 {1FCA5DD9-57F4-45A4-9141-8AE392E2AFE8}.Debug|x64.Build.0 = Debug|x64 + {1FCA5DD9-57F4-45A4-9141-8AE392E2AFE8}.Debug|x86.ActiveCfg = Debug|x64 {1FCA5DD9-57F4-45A4-9141-8AE392E2AFE8}.Release|x64.ActiveCfg = Release|x64 {1FCA5DD9-57F4-45A4-9141-8AE392E2AFE8}.Release|x64.Build.0 = Release|x64 + {1FCA5DD9-57F4-45A4-9141-8AE392E2AFE8}.Release|x86.ActiveCfg = Release|x64 {A28DEB4E-E645-4990-A91D-4A7FF6762239}.Debug|x64.ActiveCfg = Debug|x64 {A28DEB4E-E645-4990-A91D-4A7FF6762239}.Debug|x64.Build.0 = Debug|x64 + {A28DEB4E-E645-4990-A91D-4A7FF6762239}.Debug|x86.ActiveCfg = Debug|x64 {A28DEB4E-E645-4990-A91D-4A7FF6762239}.Release|x64.ActiveCfg = Release|x64 {A28DEB4E-E645-4990-A91D-4A7FF6762239}.Release|x64.Build.0 = Release|x64 + {A28DEB4E-E645-4990-A91D-4A7FF6762239}.Release|x86.ActiveCfg = Release|x64 {3645AD5B-44B8-4121-81FE-808067EFEA2A}.Debug|x64.ActiveCfg = Debug|x64 {3645AD5B-44B8-4121-81FE-808067EFEA2A}.Debug|x64.Build.0 = Debug|x64 + {3645AD5B-44B8-4121-81FE-808067EFEA2A}.Debug|x86.ActiveCfg = Debug|x64 {3645AD5B-44B8-4121-81FE-808067EFEA2A}.Release|x64.ActiveCfg = Release|x64 {3645AD5B-44B8-4121-81FE-808067EFEA2A}.Release|x64.Build.0 = Release|x64 + {3645AD5B-44B8-4121-81FE-808067EFEA2A}.Release|x86.ActiveCfg = Release|x64 {8A82B822-DA7A-464B-AE6F-8EFB5EDA2C19}.Debug|x64.ActiveCfg = Debug|x64 {8A82B822-DA7A-464B-AE6F-8EFB5EDA2C19}.Debug|x64.Build.0 = Debug|x64 + {8A82B822-DA7A-464B-AE6F-8EFB5EDA2C19}.Debug|x86.ActiveCfg = Debug|x64 {8A82B822-DA7A-464B-AE6F-8EFB5EDA2C19}.Release|x64.ActiveCfg = Release|x64 {8A82B822-DA7A-464B-AE6F-8EFB5EDA2C19}.Release|x64.Build.0 = Release|x64 + {8A82B822-DA7A-464B-AE6F-8EFB5EDA2C19}.Release|x86.ActiveCfg = Release|x64 {19B83E51-446A-41DC-8899-ED2D59675933}.Debug|x64.ActiveCfg = Debug|x64 {19B83E51-446A-41DC-8899-ED2D59675933}.Debug|x64.Build.0 = Debug|x64 + {19B83E51-446A-41DC-8899-ED2D59675933}.Debug|x86.ActiveCfg = Debug|x64 {19B83E51-446A-41DC-8899-ED2D59675933}.Release|x64.ActiveCfg = Release|x64 {19B83E51-446A-41DC-8899-ED2D59675933}.Release|x64.Build.0 = Release|x64 + {19B83E51-446A-41DC-8899-ED2D59675933}.Release|x86.ActiveCfg = Release|x64 {6626896D-CA91-457B-9B78-242797B88FCF}.Debug|x64.ActiveCfg = Debug|x64 {6626896D-CA91-457B-9B78-242797B88FCF}.Debug|x64.Build.0 = Debug|x64 + {6626896D-CA91-457B-9B78-242797B88FCF}.Debug|x86.ActiveCfg = Debug|x64 {6626896D-CA91-457B-9B78-242797B88FCF}.Release|x64.ActiveCfg = Release|x64 {6626896D-CA91-457B-9B78-242797B88FCF}.Release|x64.Build.0 = Release|x64 + {6626896D-CA91-457B-9B78-242797B88FCF}.Release|x86.ActiveCfg = Release|x64 {AC358657-0C2B-41B6-97C1-1EFB8481D82A}.Debug|x64.ActiveCfg = Debug|x64 {AC358657-0C2B-41B6-97C1-1EFB8481D82A}.Debug|x64.Build.0 = Debug|x64 + {AC358657-0C2B-41B6-97C1-1EFB8481D82A}.Debug|x86.ActiveCfg = Debug|x64 {AC358657-0C2B-41B6-97C1-1EFB8481D82A}.Release|x64.ActiveCfg = Release|x64 {AC358657-0C2B-41B6-97C1-1EFB8481D82A}.Release|x64.Build.0 = Release|x64 + {AC358657-0C2B-41B6-97C1-1EFB8481D82A}.Release|x86.ActiveCfg = Release|x64 {A7148F42-8EE8-48B4-BFC9-F61AB8A3800D}.Debug|x64.ActiveCfg = Debug|x64 {A7148F42-8EE8-48B4-BFC9-F61AB8A3800D}.Debug|x64.Build.0 = Debug|x64 + {A7148F42-8EE8-48B4-BFC9-F61AB8A3800D}.Debug|x86.ActiveCfg = Debug|x64 {A7148F42-8EE8-48B4-BFC9-F61AB8A3800D}.Release|x64.ActiveCfg = Release|x64 {A7148F42-8EE8-48B4-BFC9-F61AB8A3800D}.Release|x64.Build.0 = Release|x64 + {A7148F42-8EE8-48B4-BFC9-F61AB8A3800D}.Release|x86.ActiveCfg = Release|x64 {D29861C1-D0A2-44EB-BAD9-3808165609D8}.Debug|x64.ActiveCfg = Debug|x64 {D29861C1-D0A2-44EB-BAD9-3808165609D8}.Debug|x64.Build.0 = Debug|x64 + {D29861C1-D0A2-44EB-BAD9-3808165609D8}.Debug|x86.ActiveCfg = Debug|x64 {D29861C1-D0A2-44EB-BAD9-3808165609D8}.Release|x64.ActiveCfg = Release|x64 {D29861C1-D0A2-44EB-BAD9-3808165609D8}.Release|x64.Build.0 = Release|x64 + {D29861C1-D0A2-44EB-BAD9-3808165609D8}.Release|x86.ActiveCfg = Release|x64 {91CCB72B-852D-47D8-82FA-0E19A300A025}.Debug|x64.ActiveCfg = Debug|x64 {91CCB72B-852D-47D8-82FA-0E19A300A025}.Debug|x64.Build.0 = Debug|x64 + {91CCB72B-852D-47D8-82FA-0E19A300A025}.Debug|x86.ActiveCfg = Debug|x64 {91CCB72B-852D-47D8-82FA-0E19A300A025}.Release|x64.ActiveCfg = Release|x64 {91CCB72B-852D-47D8-82FA-0E19A300A025}.Release|x64.Build.0 = Release|x64 + {91CCB72B-852D-47D8-82FA-0E19A300A025}.Release|x86.ActiveCfg = Release|x64 {85D14FAC-12F1-42BF-8E32-DD2DD62A6AC9}.Debug|x64.ActiveCfg = Debug|x64 {85D14FAC-12F1-42BF-8E32-DD2DD62A6AC9}.Debug|x64.Build.0 = Debug|x64 + {85D14FAC-12F1-42BF-8E32-DD2DD62A6AC9}.Debug|x86.ActiveCfg = Debug|x64 {85D14FAC-12F1-42BF-8E32-DD2DD62A6AC9}.Release|x64.ActiveCfg = Release|x64 {85D14FAC-12F1-42BF-8E32-DD2DD62A6AC9}.Release|x64.Build.0 = Release|x64 + {85D14FAC-12F1-42BF-8E32-DD2DD62A6AC9}.Release|x86.ActiveCfg = Release|x64 {E69C9F0E-2608-4EAD-9AB1-75E8DEF7E053}.Debug|x64.ActiveCfg = Debug|x64 {E69C9F0E-2608-4EAD-9AB1-75E8DEF7E053}.Debug|x64.Build.0 = Debug|x64 + {E69C9F0E-2608-4EAD-9AB1-75E8DEF7E053}.Debug|x86.ActiveCfg = Debug|x64 {E69C9F0E-2608-4EAD-9AB1-75E8DEF7E053}.Release|x64.ActiveCfg = Release|x64 {E69C9F0E-2608-4EAD-9AB1-75E8DEF7E053}.Release|x64.Build.0 = Release|x64 + {E69C9F0E-2608-4EAD-9AB1-75E8DEF7E053}.Release|x86.ActiveCfg = Release|x64 {5D1758C4-147E-4E06-9BF3-F4DDF23B5B97}.Debug|x64.ActiveCfg = Debug|x64 {5D1758C4-147E-4E06-9BF3-F4DDF23B5B97}.Debug|x64.Build.0 = Debug|x64 + {5D1758C4-147E-4E06-9BF3-F4DDF23B5B97}.Debug|x86.ActiveCfg = Debug|x64 {5D1758C4-147E-4E06-9BF3-F4DDF23B5B97}.Release|x64.ActiveCfg = Release|x64 {5D1758C4-147E-4E06-9BF3-F4DDF23B5B97}.Release|x64.Build.0 = Release|x64 + {5D1758C4-147E-4E06-9BF3-F4DDF23B5B97}.Release|x86.ActiveCfg = Release|x64 {ED4BAD61-62D4-4407-9A40-E0DE686F5419}.Debug|x64.ActiveCfg = Debug|x64 {ED4BAD61-62D4-4407-9A40-E0DE686F5419}.Debug|x64.Build.0 = Debug|x64 + {ED4BAD61-62D4-4407-9A40-E0DE686F5419}.Debug|x86.ActiveCfg = Debug|x64 {ED4BAD61-62D4-4407-9A40-E0DE686F5419}.Release|x64.ActiveCfg = Release|x64 {ED4BAD61-62D4-4407-9A40-E0DE686F5419}.Release|x64.Build.0 = Release|x64 + {ED4BAD61-62D4-4407-9A40-E0DE686F5419}.Release|x86.ActiveCfg = Release|x64 {E2900E6C-549B-46D2-AB40-8656280F7C53}.Debug|x64.ActiveCfg = Debug|x64 {E2900E6C-549B-46D2-AB40-8656280F7C53}.Debug|x64.Build.0 = Debug|x64 + {E2900E6C-549B-46D2-AB40-8656280F7C53}.Debug|x86.ActiveCfg = Debug|x64 {E2900E6C-549B-46D2-AB40-8656280F7C53}.Release|x64.ActiveCfg = Release|x64 {E2900E6C-549B-46D2-AB40-8656280F7C53}.Release|x64.Build.0 = Release|x64 + {E2900E6C-549B-46D2-AB40-8656280F7C53}.Release|x86.ActiveCfg = Release|x64 {2F7AA48D-2A51-436E-A6F2-6C36EDD1A1A1}.Debug|x64.ActiveCfg = Debug|x64 {2F7AA48D-2A51-436E-A6F2-6C36EDD1A1A1}.Debug|x64.Build.0 = Debug|x64 + {2F7AA48D-2A51-436E-A6F2-6C36EDD1A1A1}.Debug|x86.ActiveCfg = Debug|x64 {2F7AA48D-2A51-436E-A6F2-6C36EDD1A1A1}.Release|x64.ActiveCfg = Release|x64 {2F7AA48D-2A51-436E-A6F2-6C36EDD1A1A1}.Release|x64.Build.0 = Release|x64 + {2F7AA48D-2A51-436E-A6F2-6C36EDD1A1A1}.Release|x86.ActiveCfg = Release|x64 {5E687DA5-2842-4661-AAB4-FEE4D192EBB9}.Debug|x64.ActiveCfg = Debug|x64 {5E687DA5-2842-4661-AAB4-FEE4D192EBB9}.Debug|x64.Build.0 = Debug|x64 + {5E687DA5-2842-4661-AAB4-FEE4D192EBB9}.Debug|x86.ActiveCfg = Debug|x64 {5E687DA5-2842-4661-AAB4-FEE4D192EBB9}.Release|x64.ActiveCfg = Release|x64 {5E687DA5-2842-4661-AAB4-FEE4D192EBB9}.Release|x64.Build.0 = Release|x64 + {5E687DA5-2842-4661-AAB4-FEE4D192EBB9}.Release|x86.ActiveCfg = Release|x64 {AEA99C48-1A7A-4265-BAF6-28D734EE61E8}.Debug|x64.ActiveCfg = Debug|x64 {AEA99C48-1A7A-4265-BAF6-28D734EE61E8}.Debug|x64.Build.0 = Debug|x64 + {AEA99C48-1A7A-4265-BAF6-28D734EE61E8}.Debug|x86.ActiveCfg = Debug|x64 {AEA99C48-1A7A-4265-BAF6-28D734EE61E8}.Release|x64.ActiveCfg = Release|x64 {AEA99C48-1A7A-4265-BAF6-28D734EE61E8}.Release|x64.Build.0 = Release|x64 + {AEA99C48-1A7A-4265-BAF6-28D734EE61E8}.Release|x86.ActiveCfg = Release|x64 {FB00F98E-4A2C-4888-A11F-29E5A1CA3E10}.Debug|x64.ActiveCfg = Debug|x64 {FB00F98E-4A2C-4888-A11F-29E5A1CA3E10}.Debug|x64.Build.0 = Debug|x64 + {FB00F98E-4A2C-4888-A11F-29E5A1CA3E10}.Debug|x86.ActiveCfg = Debug|x64 {FB00F98E-4A2C-4888-A11F-29E5A1CA3E10}.Release|x64.ActiveCfg = Release|x64 {FB00F98E-4A2C-4888-A11F-29E5A1CA3E10}.Release|x64.Build.0 = Release|x64 + {FB00F98E-4A2C-4888-A11F-29E5A1CA3E10}.Release|x86.ActiveCfg = Release|x64 {CF60E682-EF19-4FDD-8060-DE80188C827C}.Debug|x64.ActiveCfg = Debug|x64 {CF60E682-EF19-4FDD-8060-DE80188C827C}.Debug|x64.Build.0 = Debug|x64 + {CF60E682-EF19-4FDD-8060-DE80188C827C}.Debug|x86.ActiveCfg = Debug|x64 {CF60E682-EF19-4FDD-8060-DE80188C827C}.Release|x64.ActiveCfg = Release|x64 {CF60E682-EF19-4FDD-8060-DE80188C827C}.Release|x64.Build.0 = Release|x64 + {CF60E682-EF19-4FDD-8060-DE80188C827C}.Release|x86.ActiveCfg = Release|x64 {3FCCE846-C82F-437A-A9B9-3CCEC02250EA}.Debug|x64.ActiveCfg = Debug|x64 {3FCCE846-C82F-437A-A9B9-3CCEC02250EA}.Debug|x64.Build.0 = Debug|x64 + {3FCCE846-C82F-437A-A9B9-3CCEC02250EA}.Debug|x86.ActiveCfg = Debug|x64 {3FCCE846-C82F-437A-A9B9-3CCEC02250EA}.Release|x64.ActiveCfg = Release|x64 {3FCCE846-C82F-437A-A9B9-3CCEC02250EA}.Release|x64.Build.0 = Release|x64 + {3FCCE846-C82F-437A-A9B9-3CCEC02250EA}.Release|x86.ActiveCfg = Release|x64 {3FCCE846-C82F-437A-A9B9-6ABDA34403AE}.Debug|x64.ActiveCfg = Debug|x64 {3FCCE846-C82F-437A-A9B9-6ABDA34403AE}.Debug|x64.Build.0 = Debug|x64 + {3FCCE846-C82F-437A-A9B9-6ABDA34403AE}.Debug|x86.ActiveCfg = Debug|x64 {3FCCE846-C82F-437A-A9B9-6ABDA34403AE}.Release|x64.ActiveCfg = Release|x64 {3FCCE846-C82F-437A-A9B9-6ABDA34403AE}.Release|x64.Build.0 = Release|x64 + {3FCCE846-C82F-437A-A9B9-6ABDA34403AE}.Release|x86.ActiveCfg = Release|x64 {0E350120-8D1B-4E44-8B21-DADAEBC02217}.Debug|x64.ActiveCfg = Debug|x64 {0E350120-8D1B-4E44-8B21-DADAEBC02217}.Debug|x64.Build.0 = Debug|x64 + {0E350120-8D1B-4E44-8B21-DADAEBC02217}.Debug|x86.ActiveCfg = Debug|x64 {0E350120-8D1B-4E44-8B21-DADAEBC02217}.Release|x64.ActiveCfg = Release|x64 {0E350120-8D1B-4E44-8B21-DADAEBC02217}.Release|x64.Build.0 = Release|x64 + {0E350120-8D1B-4E44-8B21-DADAEBC02217}.Release|x86.ActiveCfg = Release|x64 {24FF0DE6-E201-46C1-ACFB-E4B6B4527C84}.Debug|x64.ActiveCfg = Debug|x64 {24FF0DE6-E201-46C1-ACFB-E4B6B4527C84}.Debug|x64.Build.0 = Debug|x64 + {24FF0DE6-E201-46C1-ACFB-E4B6B4527C84}.Debug|x86.ActiveCfg = Debug|x64 {24FF0DE6-E201-46C1-ACFB-E4B6B4527C84}.Release|x64.ActiveCfg = Release|x64 {24FF0DE6-E201-46C1-ACFB-E4B6B4527C84}.Release|x64.Build.0 = Release|x64 + {24FF0DE6-E201-46C1-ACFB-E4B6B4527C84}.Release|x86.ActiveCfg = Release|x64 {A9146B8A-A700-40BB-B018-4FAD6F8E79EC}.Debug|x64.ActiveCfg = Debug|x64 {A9146B8A-A700-40BB-B018-4FAD6F8E79EC}.Debug|x64.Build.0 = Debug|x64 + {A9146B8A-A700-40BB-B018-4FAD6F8E79EC}.Debug|x86.ActiveCfg = Debug|x64 {A9146B8A-A700-40BB-B018-4FAD6F8E79EC}.Release|x64.ActiveCfg = Release|x64 {A9146B8A-A700-40BB-B018-4FAD6F8E79EC}.Release|x64.Build.0 = Release|x64 + {A9146B8A-A700-40BB-B018-4FAD6F8E79EC}.Release|x86.ActiveCfg = Release|x64 {B6FEC6DD-A94F-435C-B8BD-BEE8931F0E57}.Debug|x64.ActiveCfg = Debug|x64 {B6FEC6DD-A94F-435C-B8BD-BEE8931F0E57}.Debug|x64.Build.0 = Debug|x64 + {B6FEC6DD-A94F-435C-B8BD-BEE8931F0E57}.Debug|x86.ActiveCfg = Debug|x64 {B6FEC6DD-A94F-435C-B8BD-BEE8931F0E57}.Release|x64.ActiveCfg = Release|x64 {B6FEC6DD-A94F-435C-B8BD-BEE8931F0E57}.Release|x64.Build.0 = Release|x64 + {B6FEC6DD-A94F-435C-B8BD-BEE8931F0E57}.Release|x86.ActiveCfg = Release|x64 {E68C2689-7D9F-4B7B-9100-FAB4CF5B08FD}.Debug|x64.ActiveCfg = Debug|x64 {E68C2689-7D9F-4B7B-9100-FAB4CF5B08FD}.Debug|x64.Build.0 = Debug|x64 + {E68C2689-7D9F-4B7B-9100-FAB4CF5B08FD}.Debug|x86.ActiveCfg = Debug|x64 {E68C2689-7D9F-4B7B-9100-FAB4CF5B08FD}.Release|x64.ActiveCfg = Release|x64 {E68C2689-7D9F-4B7B-9100-FAB4CF5B08FD}.Release|x64.Build.0 = Release|x64 + {E68C2689-7D9F-4B7B-9100-FAB4CF5B08FD}.Release|x86.ActiveCfg = Release|x64 {2067D4A8-8C32-40D3-BA9F-6B388ECCD714}.Debug|x64.ActiveCfg = Debug|x64 {2067D4A8-8C32-40D3-BA9F-6B388ECCD714}.Debug|x64.Build.0 = Debug|x64 + {2067D4A8-8C32-40D3-BA9F-6B388ECCD714}.Debug|x86.ActiveCfg = Debug|x64 {2067D4A8-8C32-40D3-BA9F-6B388ECCD714}.Release|x64.ActiveCfg = Release|x64 {2067D4A8-8C32-40D3-BA9F-6B388ECCD714}.Release|x64.Build.0 = Release|x64 + {2067D4A8-8C32-40D3-BA9F-6B388ECCD714}.Release|x86.ActiveCfg = Release|x64 {52D8BB90-2859-4086-A310-C72721BEF446}.Debug|x64.ActiveCfg = Debug|x64 {52D8BB90-2859-4086-A310-C72721BEF446}.Debug|x64.Build.0 = Debug|x64 + {52D8BB90-2859-4086-A310-C72721BEF446}.Debug|x86.ActiveCfg = Debug|x64 {52D8BB90-2859-4086-A310-C72721BEF446}.Release|x64.ActiveCfg = Release|x64 {52D8BB90-2859-4086-A310-C72721BEF446}.Release|x64.Build.0 = Release|x64 + {52D8BB90-2859-4086-A310-C72721BEF446}.Release|x86.ActiveCfg = Release|x64 {3BFC5BBD-6C7D-44A7-8361-F9D6E03C98AB}.Debug|x64.ActiveCfg = Debug|x64 {3BFC5BBD-6C7D-44A7-8361-F9D6E03C98AB}.Debug|x64.Build.0 = Debug|x64 + {3BFC5BBD-6C7D-44A7-8361-F9D6E03C98AB}.Debug|x86.ActiveCfg = Debug|x64 {3BFC5BBD-6C7D-44A7-8361-F9D6E03C98AB}.Release|x64.ActiveCfg = Release|x64 {3BFC5BBD-6C7D-44A7-8361-F9D6E03C98AB}.Release|x64.Build.0 = Release|x64 + {3BFC5BBD-6C7D-44A7-8361-F9D6E03C98AB}.Release|x86.ActiveCfg = Release|x64 {31FE7D1C-8B0F-4E6C-9A50-F63596606764}.Debug|x64.ActiveCfg = Debug|x64 {31FE7D1C-8B0F-4E6C-9A50-F63596606764}.Debug|x64.Build.0 = Debug|x64 + {31FE7D1C-8B0F-4E6C-9A50-F63596606764}.Debug|x86.ActiveCfg = Debug|x64 {31FE7D1C-8B0F-4E6C-9A50-F63596606764}.Release|x64.ActiveCfg = Release|x64 {31FE7D1C-8B0F-4E6C-9A50-F63596606764}.Release|x64.Build.0 = Release|x64 + {31FE7D1C-8B0F-4E6C-9A50-F63596606764}.Release|x86.ActiveCfg = Release|x64 {DCAF2299-3620-40FB-9E55-62A860FD67F2}.Debug|x64.ActiveCfg = Debug|x64 {DCAF2299-3620-40FB-9E55-62A860FD67F2}.Debug|x64.Build.0 = Debug|x64 + {DCAF2299-3620-40FB-9E55-62A860FD67F2}.Debug|x86.ActiveCfg = Debug|x64 {DCAF2299-3620-40FB-9E55-62A860FD67F2}.Release|x64.ActiveCfg = Release|x64 {DCAF2299-3620-40FB-9E55-62A860FD67F2}.Release|x64.Build.0 = Release|x64 + {DCAF2299-3620-40FB-9E55-62A860FD67F2}.Release|x86.ActiveCfg = Release|x64 {399E0E5D-DF7F-4747-A448-5116E7534955}.Debug|x64.ActiveCfg = Debug|x64 {399E0E5D-DF7F-4747-A448-5116E7534955}.Debug|x64.Build.0 = Debug|x64 + {399E0E5D-DF7F-4747-A448-5116E7534955}.Debug|x86.ActiveCfg = Debug|x64 {399E0E5D-DF7F-4747-A448-5116E7534955}.Release|x64.ActiveCfg = Release|x64 {399E0E5D-DF7F-4747-A448-5116E7534955}.Release|x64.Build.0 = Release|x64 + {399E0E5D-DF7F-4747-A448-5116E7534955}.Release|x86.ActiveCfg = Release|x64 {DEE8AF34-2F99-4AA8-AFDA-848DE44F1DB2}.Debug|x64.ActiveCfg = Debug|x64 {DEE8AF34-2F99-4AA8-AFDA-848DE44F1DB2}.Debug|x64.Build.0 = Debug|x64 + {DEE8AF34-2F99-4AA8-AFDA-848DE44F1DB2}.Debug|x86.ActiveCfg = Debug|x64 {DEE8AF34-2F99-4AA8-AFDA-848DE44F1DB2}.Release|x64.ActiveCfg = Release|x64 {DEE8AF34-2F99-4AA8-AFDA-848DE44F1DB2}.Release|x64.Build.0 = Release|x64 + {DEE8AF34-2F99-4AA8-AFDA-848DE44F1DB2}.Release|x86.ActiveCfg = Release|x64 {A6FA70EC-5358-4837-A8E0-EB02B702F6A8}.Debug|x64.ActiveCfg = Debug|x64 {A6FA70EC-5358-4837-A8E0-EB02B702F6A8}.Debug|x64.Build.0 = Debug|x64 + {A6FA70EC-5358-4837-A8E0-EB02B702F6A8}.Debug|x86.ActiveCfg = Debug|x64 {A6FA70EC-5358-4837-A8E0-EB02B702F6A8}.Release|x64.ActiveCfg = Release|x64 {A6FA70EC-5358-4837-A8E0-EB02B702F6A8}.Release|x64.Build.0 = Release|x64 + {A6FA70EC-5358-4837-A8E0-EB02B702F6A8}.Release|x86.ActiveCfg = Release|x64 {06A4A3EA-9461-4780-B6EA-81004B3F3D56}.Debug|x64.ActiveCfg = Debug|x64 {06A4A3EA-9461-4780-B6EA-81004B3F3D56}.Debug|x64.Build.0 = Debug|x64 + {06A4A3EA-9461-4780-B6EA-81004B3F3D56}.Debug|x86.ActiveCfg = Debug|x64 {06A4A3EA-9461-4780-B6EA-81004B3F3D56}.Release|x64.ActiveCfg = Release|x64 {06A4A3EA-9461-4780-B6EA-81004B3F3D56}.Release|x64.Build.0 = Release|x64 + {06A4A3EA-9461-4780-B6EA-81004B3F3D56}.Release|x86.ActiveCfg = Release|x64 {391502E7-BAAF-42DF-9327-2114B73FF8DF}.Debug|x64.ActiveCfg = Debug|x64 {391502E7-BAAF-42DF-9327-2114B73FF8DF}.Debug|x64.Build.0 = Debug|x64 + {391502E7-BAAF-42DF-9327-2114B73FF8DF}.Debug|x86.ActiveCfg = Debug|x64 {391502E7-BAAF-42DF-9327-2114B73FF8DF}.Release|x64.ActiveCfg = Release|x64 {391502E7-BAAF-42DF-9327-2114B73FF8DF}.Release|x64.Build.0 = Release|x64 + {391502E7-BAAF-42DF-9327-2114B73FF8DF}.Release|x86.ActiveCfg = Release|x64 {DEE8AF34-2F99-4AA8-AFDA-848DE44F1DB3}.Debug|x64.ActiveCfg = Debug|x64 {DEE8AF34-2F99-4AA8-AFDA-848DE44F1DB3}.Debug|x64.Build.0 = Debug|x64 + {DEE8AF34-2F99-4AA8-AFDA-848DE44F1DB3}.Debug|x86.ActiveCfg = Debug|x64 {DEE8AF34-2F99-4AA8-AFDA-848DE44F1DB3}.Release|x64.ActiveCfg = Release|x64 {DEE8AF34-2F99-4AA8-AFDA-848DE44F1DB3}.Release|x64.Build.0 = Release|x64 + {DEE8AF34-2F99-4AA8-AFDA-848DE44F1DB3}.Release|x86.ActiveCfg = Release|x64 {EB02D0C4-F80E-4C5A-9B8E-C5760E02F8BE}.Debug|x64.ActiveCfg = Debug|x64 {EB02D0C4-F80E-4C5A-9B8E-C5760E02F8BE}.Debug|x64.Build.0 = Debug|x64 + {EB02D0C4-F80E-4C5A-9B8E-C5760E02F8BE}.Debug|x86.ActiveCfg = Debug|x64 {EB02D0C4-F80E-4C5A-9B8E-C5760E02F8BE}.Release|x64.ActiveCfg = Release|x64 {EB02D0C4-F80E-4C5A-9B8E-C5760E02F8BE}.Release|x64.Build.0 = Release|x64 + {EB02D0C4-F80E-4C5A-9B8E-C5760E02F8BE}.Release|x86.ActiveCfg = Release|x64 {CFD4836D-3BA0-4CFE-B986-A4B34D23CDA6}.Debug|x64.ActiveCfg = Debug|x64 {CFD4836D-3BA0-4CFE-B986-A4B34D23CDA6}.Debug|x64.Build.0 = Debug|x64 + {CFD4836D-3BA0-4CFE-B986-A4B34D23CDA6}.Debug|x86.ActiveCfg = Debug|x64 {CFD4836D-3BA0-4CFE-B986-A4B34D23CDA6}.Release|x64.ActiveCfg = Release|x64 {CFD4836D-3BA0-4CFE-B986-A4B34D23CDA6}.Release|x64.Build.0 = Release|x64 + {CFD4836D-3BA0-4CFE-B986-A4B34D23CDA6}.Release|x86.ActiveCfg = Release|x64 {AD2E2778-836C-11DE-9828-78A156D89593}.Debug|x64.ActiveCfg = Debug|x64 {AD2E2778-836C-11DE-9828-78A156D89593}.Debug|x64.Build.0 = Debug|x64 + {AD2E2778-836C-11DE-9828-78A156D89593}.Debug|x86.ActiveCfg = Debug|x64 {AD2E2778-836C-11DE-9828-78A156D89593}.Release|x64.ActiveCfg = Release|x64 {AD2E2778-836C-11DE-9828-78A156D89593}.Release|x64.Build.0 = Release|x64 + {AD2E2778-836C-11DE-9828-78A156D89593}.Release|x86.ActiveCfg = Release|x64 {3A83E7A0-34A5-4304-8D88-148D933EACCD}.Debug|x64.ActiveCfg = Debug|x64 {3A83E7A0-34A5-4304-8D88-148D933EACCD}.Debug|x64.Build.0 = Debug|x64 + {3A83E7A0-34A5-4304-8D88-148D933EACCD}.Debug|x86.ActiveCfg = Debug|x64 {3A83E7A0-34A5-4304-8D88-148D933EACCD}.Release|x64.ActiveCfg = Release|x64 {3A83E7A0-34A5-4304-8D88-148D933EACCD}.Release|x64.Build.0 = Release|x64 + {3A83E7A0-34A5-4304-8D88-148D933EACCD}.Release|x86.ActiveCfg = Release|x64 {19B83E51-446A-41DC-8899-ED2D59679999}.Debug|x64.ActiveCfg = Debug|x64 {19B83E51-446A-41DC-8899-ED2D59679999}.Debug|x64.Build.0 = Debug|x64 + {19B83E51-446A-41DC-8899-ED2D59679999}.Debug|x86.ActiveCfg = Debug|x64 {19B83E51-446A-41DC-8899-ED2D59679999}.Release|x64.ActiveCfg = Release|x64 {19B83E51-446A-41DC-8899-ED2D59679999}.Release|x64.Build.0 = Release|x64 + {19B83E51-446A-41DC-8899-ED2D59679999}.Release|x86.ActiveCfg = Release|x64 {43250DC7-A5AB-4795-9A54-7BF048465D00}.Debug|x64.ActiveCfg = Debug|x64 {43250DC7-A5AB-4795-9A54-7BF048465D00}.Debug|x64.Build.0 = Debug|x64 + {43250DC7-A5AB-4795-9A54-7BF048465D00}.Debug|x86.ActiveCfg = Debug|x64 {43250DC7-A5AB-4795-9A54-7BF048465D00}.Release|x64.ActiveCfg = Release|x64 {43250DC7-A5AB-4795-9A54-7BF048465D00}.Release|x64.Build.0 = Release|x64 + {43250DC7-A5AB-4795-9A54-7BF048465D00}.Release|x86.ActiveCfg = Release|x64 {E3DA287B-6861-49E2-8484-B08DBA020F7D}.Debug|x64.ActiveCfg = Debug|x64 {E3DA287B-6861-49E2-8484-B08DBA020F7D}.Debug|x64.Build.0 = Debug|x64 + {E3DA287B-6861-49E2-8484-B08DBA020F7D}.Debug|x86.ActiveCfg = Debug|x64 {E3DA287B-6861-49E2-8484-B08DBA020F7D}.Release|x64.ActiveCfg = Release|x64 {E3DA287B-6861-49E2-8484-B08DBA020F7D}.Release|x64.Build.0 = Release|x64 + {E3DA287B-6861-49E2-8484-B08DBA020F7D}.Release|x86.ActiveCfg = Release|x64 {489AF9AB-7A0E-43DE-8483-3E4B8CCCBFCD}.Debug|x64.ActiveCfg = Debug|x64 {489AF9AB-7A0E-43DE-8483-3E4B8CCCBFCD}.Debug|x64.Build.0 = Debug|x64 + {489AF9AB-7A0E-43DE-8483-3E4B8CCCBFCD}.Debug|x86.ActiveCfg = Debug|x64 {489AF9AB-7A0E-43DE-8483-3E4B8CCCBFCD}.Release|x64.ActiveCfg = Release|x64 {489AF9AB-7A0E-43DE-8483-3E4B8CCCBFCD}.Release|x64.Build.0 = Release|x64 + {489AF9AB-7A0E-43DE-8483-3E4B8CCCBFCD}.Release|x86.ActiveCfg = Release|x64 {2B522528-9660-4B78-8E2A-BC296C9B9937}.Debug|x64.ActiveCfg = Debug|x64 {2B522528-9660-4B78-8E2A-BC296C9B9937}.Debug|x64.Build.0 = Debug|x64 + {2B522528-9660-4B78-8E2A-BC296C9B9937}.Debug|x86.ActiveCfg = Debug|x64 {2B522528-9660-4B78-8E2A-BC296C9B9937}.Release|x64.ActiveCfg = Release|x64 {2B522528-9660-4B78-8E2A-BC296C9B9937}.Release|x64.Build.0 = Release|x64 + {2B522528-9660-4B78-8E2A-BC296C9B9937}.Release|x86.ActiveCfg = Release|x64 {2B522528-9660-4B78-8E2A-BC296C9BC0C0}.Debug|x64.ActiveCfg = Debug|x64 {2B522528-9660-4B78-8E2A-BC296C9BC0C0}.Debug|x64.Build.0 = Debug|x64 + {2B522528-9660-4B78-8E2A-BC296C9BC0C0}.Debug|x86.ActiveCfg = Debug|x64 {2B522528-9660-4B78-8E2A-BC296C9BC0C0}.Release|x64.ActiveCfg = Release|x64 {2B522528-9660-4B78-8E2A-BC296C9BC0C0}.Release|x64.Build.0 = Release|x64 + {2B522528-9660-4B78-8E2A-BC296C9BC0C0}.Release|x86.ActiveCfg = Release|x64 {2EF7ACDC-F742-4CB6-B301-A242F52BE5C3}.Debug|x64.ActiveCfg = Debug|x64 {2EF7ACDC-F742-4CB6-B301-A242F52BE5C3}.Debug|x64.Build.0 = Debug|x64 + {2EF7ACDC-F742-4CB6-B301-A242F52BE5C3}.Debug|x86.ActiveCfg = Debug|x64 {2EF7ACDC-F742-4CB6-B301-A242F52BE5C3}.Release|x64.ActiveCfg = Release|x64 {2EF7ACDC-F742-4CB6-B301-A242F52BE5C3}.Release|x64.Build.0 = Release|x64 + {2EF7ACDC-F742-4CB6-B301-A242F52BE5C3}.Release|x86.ActiveCfg = Release|x64 {205D835F-D939-4E0D-9516-061AB141480F}.Debug|x64.ActiveCfg = Debug|x64 {205D835F-D939-4E0D-9516-061AB141480F}.Debug|x64.Build.0 = Debug|x64 + {205D835F-D939-4E0D-9516-061AB141480F}.Debug|x86.ActiveCfg = Debug|x64 {205D835F-D939-4E0D-9516-061AB141480F}.Release|x64.ActiveCfg = Release|x64 {205D835F-D939-4E0D-9516-061AB141480F}.Release|x64.Build.0 = Release|x64 + {205D835F-D939-4E0D-9516-061AB141480F}.Release|x86.ActiveCfg = Release|x64 {CF60E682-EF19-4FDD-8060-DE80256C827C}.Debug|x64.ActiveCfg = Debug|x64 {CF60E682-EF19-4FDD-8060-DE80256C827C}.Debug|x64.Build.0 = Debug|x64 + {CF60E682-EF19-4FDD-8060-DE80256C827C}.Debug|x86.ActiveCfg = Debug|x64 {CF60E682-EF19-4FDD-8060-DE80256C827C}.Release|x64.ActiveCfg = Release|x64 {CF60E682-EF19-4FDD-8060-DE80256C827C}.Release|x64.Build.0 = Release|x64 + {CF60E682-EF19-4FDD-8060-DE80256C827C}.Release|x86.ActiveCfg = Release|x64 {2B522528-9660-4B78-8E2A-000000AAA03F}.Debug|x64.ActiveCfg = Debug|x64 {2B522528-9660-4B78-8E2A-000000AAA03F}.Debug|x64.Build.0 = Debug|x64 + {2B522528-9660-4B78-8E2A-000000AAA03F}.Debug|x86.ActiveCfg = Debug|x64 {2B522528-9660-4B78-8E2A-000000AAA03F}.Release|x64.ActiveCfg = Release|x64 {2B522528-9660-4B78-8E2A-000000AAA03F}.Release|x64.Build.0 = Release|x64 + {2B522528-9660-4B78-8E2A-000000AAA03F}.Release|x86.ActiveCfg = Release|x64 {19B83E51-446A-41DC-8899-ED2D59680000}.Debug|x64.ActiveCfg = Debug|x64 {19B83E51-446A-41DC-8899-ED2D59680000}.Debug|x64.Build.0 = Debug|x64 + {19B83E51-446A-41DC-8899-ED2D59680000}.Debug|x86.ActiveCfg = Debug|x64 {19B83E51-446A-41DC-8899-ED2D59680000}.Release|x64.ActiveCfg = Release|x64 {19B83E51-446A-41DC-8899-ED2D59680000}.Release|x64.Build.0 = Release|x64 + {19B83E51-446A-41DC-8899-ED2D59680000}.Release|x86.ActiveCfg = Release|x64 {F7EE5E71-A1B0-7DF7-EE5E-71A1B07DF7EE}.Debug|x64.ActiveCfg = Debug|x64 {F7EE5E71-A1B0-7DF7-EE5E-71A1B07DF7EE}.Debug|x64.Build.0 = Debug|x64 + {F7EE5E71-A1B0-7DF7-EE5E-71A1B07DF7EE}.Debug|x86.ActiveCfg = Debug|x64 {F7EE5E71-A1B0-7DF7-EE5E-71A1B07DF7EE}.Release|x64.ActiveCfg = Release|x64 {F7EE5E71-A1B0-7DF7-EE5E-71A1B07DF7EE}.Release|x64.Build.0 = Release|x64 + {F7EE5E71-A1B0-7DF7-EE5E-71A1B07DF7EE}.Release|x86.ActiveCfg = Release|x64 {4B9E78C0-C365-11DF-9539-E01BDFD72085}.Debug|x64.ActiveCfg = Debug|x64 {4B9E78C0-C365-11DF-9539-E01BDFD72085}.Debug|x64.Build.0 = Debug|x64 + {4B9E78C0-C365-11DF-9539-E01BDFD72085}.Debug|x86.ActiveCfg = Debug|x64 {4B9E78C0-C365-11DF-9539-E01BDFD72085}.Release|x64.ActiveCfg = Release|x64 {4B9E78C0-C365-11DF-9539-E01BDFD72085}.Release|x64.Build.0 = Release|x64 + {4B9E78C0-C365-11DF-9539-E01BDFD72085}.Release|x86.ActiveCfg = Release|x64 {95CE7E3D-1E0D-4C5B-AF9B-B8343A8724FB}.Debug|x64.ActiveCfg = Debug|x64 {95CE7E3D-1E0D-4C5B-AF9B-B8343A8724FB}.Debug|x64.Build.0 = Debug|x64 + {95CE7E3D-1E0D-4C5B-AF9B-B8343A8724FB}.Debug|x86.ActiveCfg = Debug|x64 {95CE7E3D-1E0D-4C5B-AF9B-B8343A8724FB}.Release|x64.ActiveCfg = Release|x64 {95CE7E3D-1E0D-4C5B-AF9B-B8343A8724FB}.Release|x64.Build.0 = Release|x64 + {95CE7E3D-1E0D-4C5B-AF9B-B8343A8724FB}.Release|x86.ActiveCfg = Release|x64 {E5ABCDE7-03F1-4683-98C3-8F5F79E1A473}.Debug|x64.ActiveCfg = Debug|x64 {E5ABCDE7-03F1-4683-98C3-8F5F79E1A473}.Debug|x64.Build.0 = Debug|x64 + {E5ABCDE7-03F1-4683-98C3-8F5F79E1A473}.Debug|x86.ActiveCfg = Debug|x64 {E5ABCDE7-03F1-4683-98C3-8F5F79E1A473}.Release|x64.ActiveCfg = Release|x64 {E5ABCDE7-03F1-4683-98C3-8F5F79E1A473}.Release|x64.Build.0 = Release|x64 + {E5ABCDE7-03F1-4683-98C3-8F5F79E1A473}.Release|x86.ActiveCfg = Release|x64 {7DFCF21B-1F90-4444-B2AF-27212A52BA44}.Debug|x64.ActiveCfg = Debug|x64 {7DFCF21B-1F90-4444-B2AF-27212A52BA44}.Debug|x64.Build.0 = Debug|x64 + {7DFCF21B-1F90-4444-B2AF-27212A52BA44}.Debug|x86.ActiveCfg = Debug|x64 {7DFCF21B-1F90-4444-B2AF-27212A52BA44}.Release|x64.ActiveCfg = Release|x64 {7DFCF21B-1F90-4444-B2AF-27212A52BA44}.Release|x64.Build.0 = Release|x64 + {7DFCF21B-1F90-4444-B2AF-27212A52BA44}.Release|x86.ActiveCfg = Release|x64 {3A83E7A0-34A5-4304-8D88-00005A99712E}.Debug|x64.ActiveCfg = Debug|x64 {3A83E7A0-34A5-4304-8D88-00005A99712E}.Debug|x64.Build.0 = Debug|x64 + {3A83E7A0-34A5-4304-8D88-00005A99712E}.Debug|x86.ActiveCfg = Debug|x64 {3A83E7A0-34A5-4304-8D88-00005A99712E}.Release|x64.ActiveCfg = Release|x64 {3A83E7A0-34A5-4304-8D88-00005A99712E}.Release|x64.Build.0 = Release|x64 + {3A83E7A0-34A5-4304-8D88-00005A99712E}.Release|x86.ActiveCfg = Release|x64 {806A629B-7EAA-4265-A4C0-000000000000}.Debug|x64.ActiveCfg = Debug|x64 {806A629B-7EAA-4265-A4C0-000000000000}.Debug|x64.Build.0 = Debug|x64 + {806A629B-7EAA-4265-A4C0-000000000000}.Debug|x86.ActiveCfg = Debug|x64 {806A629B-7EAA-4265-A4C0-000000000000}.Release|x64.ActiveCfg = Release|x64 {806A629B-7EAA-4265-A4C0-000000000000}.Release|x64.Build.0 = Release|x64 + {806A629B-7EAA-4265-A4C0-000000000000}.Release|x86.ActiveCfg = Release|x64 {3BFC5BBD-6C7D-44A7-8381-F9D6E03C98AB}.Debug|x64.ActiveCfg = Debug|x64 {3BFC5BBD-6C7D-44A7-8381-F9D6E03C98AB}.Debug|x64.Build.0 = Debug|x64 + {3BFC5BBD-6C7D-44A7-8381-F9D6E03C98AB}.Debug|x86.ActiveCfg = Debug|x64 {3BFC5BBD-6C7D-44A7-8381-F9D6E03C98AB}.Release|x64.ActiveCfg = Release|x64 {3BFC5BBD-6C7D-44A7-8381-F9D6E03C98AB}.Release|x64.Build.0 = Release|x64 + {3BFC5BBD-6C7D-44A7-8381-F9D6E03C98AB}.Release|x86.ActiveCfg = Release|x64 {308AA3EE-4053-47E0-9004-A57E9572C7A6}.Debug|x64.ActiveCfg = Debug|x64 {308AA3EE-4053-47E0-9004-A57E9572C7A6}.Debug|x64.Build.0 = Debug|x64 + {308AA3EE-4053-47E0-9004-A57E9572C7A6}.Debug|x86.ActiveCfg = Debug|x64 {308AA3EE-4053-47E0-9004-A57E9572C7A6}.Release|x64.ActiveCfg = Release|x64 {308AA3EE-4053-47E0-9004-A57E9572C7A6}.Release|x64.Build.0 = Release|x64 + {308AA3EE-4053-47E0-9004-A57E9572C7A6}.Release|x86.ActiveCfg = Release|x64 {1B4CC156-6C0B-4571-AC6D-E6173512684F}.Debug|x64.ActiveCfg = Debug|x64 {1B4CC156-6C0B-4571-AC6D-E6173512684F}.Debug|x64.Build.0 = Debug|x64 + {1B4CC156-6C0B-4571-AC6D-E6173512684F}.Debug|x86.ActiveCfg = Debug|x64 {1B4CC156-6C0B-4571-AC6D-E6173512684F}.Release|x64.ActiveCfg = Release|x64 {1B4CC156-6C0B-4571-AC6D-E6173512684F}.Release|x64.Build.0 = Release|x64 + {1B4CC156-6C0B-4571-AC6D-E6173512684F}.Release|x86.ActiveCfg = Release|x64 {3A83E7A0-34A5-4304-8D88-00000572AD05}.Debug|x64.ActiveCfg = Debug|x64 {3A83E7A0-34A5-4304-8D88-00000572AD05}.Debug|x64.Build.0 = Debug|x64 + {3A83E7A0-34A5-4304-8D88-00000572AD05}.Debug|x86.ActiveCfg = Debug|x64 {3A83E7A0-34A5-4304-8D88-00000572AD05}.Release|x64.ActiveCfg = Release|x64 {3A83E7A0-34A5-4304-8D88-00000572AD05}.Release|x64.Build.0 = Release|x64 + {3A83E7A0-34A5-4304-8D88-00000572AD05}.Release|x86.ActiveCfg = Release|x64 {DEE8AF34-2F99-4AA8-AFDA-948DE44F1DB2}.Debug|x64.ActiveCfg = Debug|x64 {DEE8AF34-2F99-4AA8-AFDA-948DE44F1DB2}.Debug|x64.Build.0 = Debug|x64 + {DEE8AF34-2F99-4AA8-AFDA-948DE44F1DB2}.Debug|x86.ActiveCfg = Debug|x64 {DEE8AF34-2F99-4AA8-AFDA-948DE44F1DB2}.Release|x64.ActiveCfg = Release|x64 {DEE8AF34-2F99-4AA8-AFDA-948DE44F1DB2}.Release|x64.Build.0 = Release|x64 + {DEE8AF34-2F99-4AA8-AFDA-948DE44F1DB2}.Release|x86.ActiveCfg = Release|x64 {028283B8-4E29-457E-9A78-AB6154A0F9D4}.Debug|x64.ActiveCfg = Debug|x64 {028283B8-4E29-457E-9A78-AB6154A0F9D4}.Debug|x64.Build.0 = Debug|x64 + {028283B8-4E29-457E-9A78-AB6154A0F9D4}.Debug|x86.ActiveCfg = Debug|x64 {028283B8-4E29-457E-9A78-AB6154A0F9D4}.Release|x64.ActiveCfg = Release|x64 {028283B8-4E29-457E-9A78-AB6154A0F9D4}.Release|x64.Build.0 = Release|x64 + {028283B8-4E29-457E-9A78-AB6154A0F9D4}.Release|x86.ActiveCfg = Release|x64 {A9E3F2DD-8B71-4FA3-9AFE-DC2040D2CDDD}.Debug|x64.ActiveCfg = Debug|x64 {A9E3F2DD-8B71-4FA3-9AFE-DC2040D2CDDD}.Debug|x64.Build.0 = Debug|x64 + {A9E3F2DD-8B71-4FA3-9AFE-DC2040D2CDDD}.Debug|x86.ActiveCfg = Debug|x64 {A9E3F2DD-8B71-4FA3-9AFE-DC2040D2CDDD}.Release|x64.ActiveCfg = Release|x64 {A9E3F2DD-8B71-4FA3-9AFE-DC2040D2CDDD}.Release|x64.Build.0 = Release|x64 + {A9E3F2DD-8B71-4FA3-9AFE-DC2040D2CDDD}.Release|x86.ActiveCfg = Release|x64 {AA9B1613-8359-4944-B08D-B96639D0998E}.Debug|x64.ActiveCfg = Debug|x64 {AA9B1613-8359-4944-B08D-B96639D0998E}.Debug|x64.Build.0 = Debug|x64 + {AA9B1613-8359-4944-B08D-B96639D0998E}.Debug|x86.ActiveCfg = Debug|x64 {AA9B1613-8359-4944-B08D-B96639D0998E}.Release|x64.ActiveCfg = Release|x64 {AA9B1613-8359-4944-B08D-B96639D0998E}.Release|x64.Build.0 = Release|x64 + {AA9B1613-8359-4944-B08D-B96639D0998E}.Release|x86.ActiveCfg = Release|x64 {20B38F93-934F-4022-9507-72693315AF6E}.Debug|x64.ActiveCfg = Debug|x64 {20B38F93-934F-4022-9507-72693315AF6E}.Debug|x64.Build.0 = Debug|x64 + {20B38F93-934F-4022-9507-72693315AF6E}.Debug|x86.ActiveCfg = Debug|x64 {20B38F93-934F-4022-9507-72693315AF6E}.Release|x64.ActiveCfg = Release|x64 {20B38F93-934F-4022-9507-72693315AF6E}.Release|x64.Build.0 = Release|x64 + {20B38F93-934F-4022-9507-72693315AF6E}.Release|x86.ActiveCfg = Release|x64 {35FD34A9-3076-4DD9-8B51-174F94FA2248}.Debug|x64.ActiveCfg = Debug|x64 {35FD34A9-3076-4DD9-8B51-174F94FA2248}.Debug|x64.Build.0 = Debug|x64 + {35FD34A9-3076-4DD9-8B51-174F94FA2248}.Debug|x86.ActiveCfg = Debug|x64 {35FD34A9-3076-4DD9-8B51-174F94FA2248}.Release|x64.ActiveCfg = Release|x64 {35FD34A9-3076-4DD9-8B51-174F94FA2248}.Release|x64.Build.0 = Release|x64 + {35FD34A9-3076-4DD9-8B51-174F94FA2248}.Release|x86.ActiveCfg = Release|x64 {00B6552D-65F7-4412-BF78-E72F34152AB9}.Debug|x64.ActiveCfg = Debug|x64 {00B6552D-65F7-4412-BF78-E72F34152AB9}.Debug|x64.Build.0 = Debug|x64 + {00B6552D-65F7-4412-BF78-E72F34152AB9}.Debug|x86.ActiveCfg = Debug|x64 {00B6552D-65F7-4412-BF78-E72F34152AB9}.Release|x64.ActiveCfg = Release|x64 {00B6552D-65F7-4412-BF78-E72F34152AB9}.Release|x64.Build.0 = Release|x64 + {00B6552D-65F7-4412-BF78-E72F34152AB9}.Release|x86.ActiveCfg = Release|x64 {AA828D40-0B3D-484C-BAB9-C72018D7760E}.Debug|x64.ActiveCfg = Debug|x64 {AA828D40-0B3D-484C-BAB9-C72018D7760E}.Debug|x64.Build.0 = Debug|x64 + {AA828D40-0B3D-484C-BAB9-C72018D7760E}.Debug|x86.ActiveCfg = Debug|x64 {AA828D40-0B3D-484C-BAB9-C72018D7760E}.Release|x64.ActiveCfg = Release|x64 {AA828D40-0B3D-484C-BAB9-C72018D7760E}.Release|x64.Build.0 = Release|x64 + {AA828D40-0B3D-484C-BAB9-C72018D7760E}.Release|x86.ActiveCfg = Release|x64 {5A692627-8FBA-4DAB-911D-75E88B96F99F}.Debug|x64.ActiveCfg = Debug|x64 {5A692627-8FBA-4DAB-911D-75E88B96F99F}.Debug|x64.Build.0 = Debug|x64 + {5A692627-8FBA-4DAB-911D-75E88B96F99F}.Debug|x86.ActiveCfg = Debug|x64 {5A692627-8FBA-4DAB-911D-75E88B96F99F}.Release|x64.ActiveCfg = Release|x64 {5A692627-8FBA-4DAB-911D-75E88B96F99F}.Release|x64.Build.0 = Release|x64 + {5A692627-8FBA-4DAB-911D-75E88B96F99F}.Release|x86.ActiveCfg = Release|x64 {52A0BB2A-0A16-40F8-86D4-99E0379F6E55}.Debug|x64.ActiveCfg = Debug|x64 {52A0BB2A-0A16-40F8-86D4-99E0379F6E55}.Debug|x64.Build.0 = Debug|x64 + {52A0BB2A-0A16-40F8-86D4-99E0379F6E55}.Debug|x86.ActiveCfg = Debug|x64 {52A0BB2A-0A16-40F8-86D4-99E0379F6E55}.Release|x64.ActiveCfg = Release|x64 {52A0BB2A-0A16-40F8-86D4-99E0379F6E55}.Release|x64.Build.0 = Release|x64 + {52A0BB2A-0A16-40F8-86D4-99E0379F6E55}.Release|x86.ActiveCfg = Release|x64 {2B522528-9660-4B78-8E2A-000000000000}.Debug|x64.ActiveCfg = Debug|x64 {2B522528-9660-4B78-8E2A-000000000000}.Debug|x64.Build.0 = Debug|x64 + {2B522528-9660-4B78-8E2A-000000000000}.Debug|x86.ActiveCfg = Debug|x64 {2B522528-9660-4B78-8E2A-000000000000}.Release|x64.ActiveCfg = Release|x64 {2B522528-9660-4B78-8E2A-000000000000}.Release|x64.Build.0 = Release|x64 + {2B522528-9660-4B78-8E2A-000000000000}.Release|x86.ActiveCfg = Release|x64 {8BAA30B8-F062-42F3-A89C-D9E5A0912957}.Debug|x64.ActiveCfg = Debug|x64 {8BAA30B8-F062-42F3-A89C-D9E5A0912957}.Debug|x64.Build.0 = Debug|x64 + {8BAA30B8-F062-42F3-A89C-D9E5A0912957}.Debug|x86.ActiveCfg = Debug|x64 {8BAA30B8-F062-42F3-A89C-D9E5A0912957}.Release|x64.ActiveCfg = Release|x64 {8BAA30B8-F062-42F3-A89C-D9E5A0912957}.Release|x64.Build.0 = Release|x64 + {8BAA30B8-F062-42F3-A89C-D9E5A0912957}.Release|x86.ActiveCfg = Release|x64 {6C5DBBEC-8688-4B68-9928-118BB3891FD5}.Debug|x64.ActiveCfg = Debug|x64 {6C5DBBEC-8688-4B68-9928-118BB3891FD5}.Debug|x64.Build.0 = Debug|x64 + {6C5DBBEC-8688-4B68-9928-118BB3891FD5}.Debug|x86.ActiveCfg = Debug|x64 {6C5DBBEC-8688-4B68-9928-118BB3891FD5}.Release|x64.ActiveCfg = Release|x64 {6C5DBBEC-8688-4B68-9928-118BB3891FD5}.Release|x64.Build.0 = Release|x64 + {6C5DBBEC-8688-4B68-9928-118BB3891FD5}.Release|x86.ActiveCfg = Release|x64 {7EEA4183-1A52-4DC7-8839-9BEF31B59F98}.Debug|x64.ActiveCfg = Debug|x64 {7EEA4183-1A52-4DC7-8839-9BEF31B59F98}.Debug|x64.Build.0 = Debug|x64 + {7EEA4183-1A52-4DC7-8839-9BEF31B59F98}.Debug|x86.ActiveCfg = Debug|x64 {7EEA4183-1A52-4DC7-8839-9BEF31B59F98}.Release|x64.ActiveCfg = Release|x64 {7EEA4183-1A52-4DC7-8839-9BEF31B59F98}.Release|x64.Build.0 = Release|x64 + {7EEA4183-1A52-4DC7-8839-9BEF31B59F98}.Release|x86.ActiveCfg = Release|x64 {7AF13550-B80D-11E2-9E96-0800200C9A66}.Debug|x64.ActiveCfg = Debug|x64 {7AF13550-B80D-11E2-9E96-0800200C9A66}.Debug|x64.Build.0 = Debug|x64 + {7AF13550-B80D-11E2-9E96-0800200C9A66}.Debug|x86.ActiveCfg = Debug|x64 {7AF13550-B80D-11E2-9E96-0800200C9A66}.Release|x64.ActiveCfg = Release|x64 {7AF13550-B80D-11E2-9E96-0800200C9A66}.Release|x64.Build.0 = Release|x64 + {7AF13550-B80D-11E2-9E96-0800200C9A66}.Release|x86.ActiveCfg = Release|x64 {B1058311-C336-4961-8F0D-9702B809FCF7}.Debug|x64.ActiveCfg = Debug|x64 {B1058311-C336-4961-8F0D-9702B809FCF7}.Debug|x64.Build.0 = Debug|x64 + {B1058311-C336-4961-8F0D-9702B809FCF7}.Debug|x86.ActiveCfg = Debug|x64 {B1058311-C336-4961-8F0D-9702B809FCF7}.Release|x64.ActiveCfg = Release|x64 {B1058311-C336-4961-8F0D-9702B809FCF7}.Release|x64.Build.0 = Release|x64 + {B1058311-C336-4961-8F0D-9702B809FCF7}.Release|x86.ActiveCfg = Release|x64 {C621764B-8634-4EE9-BC2F-436EE81202F0}.Debug|x64.ActiveCfg = Debug|x64 {C621764B-8634-4EE9-BC2F-436EE81202F0}.Debug|x64.Build.0 = Debug|x64 + {C621764B-8634-4EE9-BC2F-436EE81202F0}.Debug|x86.ActiveCfg = Debug|x64 {C621764B-8634-4EE9-BC2F-436EE81202F0}.Release|x64.ActiveCfg = Release|x64 {C621764B-8634-4EE9-BC2F-436EE81202F0}.Release|x64.Build.0 = Release|x64 + {C621764B-8634-4EE9-BC2F-436EE81202F0}.Release|x86.ActiveCfg = Release|x64 {4BB973FE-D080-4B86-A453-61CB32673787}.Debug|x64.ActiveCfg = Debug|x64 {4BB973FE-D080-4B86-A453-61CB32673787}.Debug|x64.Build.0 = Debug|x64 + {4BB973FE-D080-4B86-A453-61CB32673787}.Debug|x86.ActiveCfg = Debug|x64 {4BB973FE-D080-4B86-A453-61CB32673787}.Release|x64.ActiveCfg = Release|x64 {4BB973FE-D080-4B86-A453-61CB32673787}.Release|x64.Build.0 = Release|x64 + {4BB973FE-D080-4B86-A453-61CB32673787}.Release|x86.ActiveCfg = Release|x64 {A35BDDC1-60C9-4F86-9658-7D28928D4866}.Debug|x64.ActiveCfg = Debug|x64 {A35BDDC1-60C9-4F86-9658-7D28928D4866}.Debug|x64.Build.0 = Debug|x64 + {A35BDDC1-60C9-4F86-9658-7D28928D4866}.Debug|x86.ActiveCfg = Debug|x64 {A35BDDC1-60C9-4F86-9658-7D28928D4866}.Release|x64.ActiveCfg = Release|x64 {A35BDDC1-60C9-4F86-9658-7D28928D4866}.Release|x64.Build.0 = Release|x64 + {A35BDDC1-60C9-4F86-9658-7D28928D4866}.Release|x86.ActiveCfg = Release|x64 {22E07B2E-036A-46B8-BAF9-2C8F956A500E}.Debug|x64.ActiveCfg = Debug|x64 {22E07B2E-036A-46B8-BAF9-2C8F956A500E}.Debug|x64.Build.0 = Debug|x64 + {22E07B2E-036A-46B8-BAF9-2C8F956A500E}.Debug|x86.ActiveCfg = Debug|x64 {22E07B2E-036A-46B8-BAF9-2C8F956A500E}.Release|x64.ActiveCfg = Release|x64 {22E07B2E-036A-46B8-BAF9-2C8F956A500E}.Release|x64.Build.0 = Release|x64 + {22E07B2E-036A-46B8-BAF9-2C8F956A500E}.Release|x86.ActiveCfg = Release|x64 {E206DB83-E348-4E32-AA0F-B7E05E3D8F51}.Debug|x64.ActiveCfg = Debug|x64 {E206DB83-E348-4E32-AA0F-B7E05E3D8F51}.Debug|x64.Build.0 = Debug|x64 + {E206DB83-E348-4E32-AA0F-B7E05E3D8F51}.Debug|x86.ActiveCfg = Debug|x64 {E206DB83-E348-4E32-AA0F-B7E05E3D8F51}.Release|x64.ActiveCfg = Release|x64 {E206DB83-E348-4E32-AA0F-B7E05E3D8F51}.Release|x64.Build.0 = Release|x64 + {E206DB83-E348-4E32-AA0F-B7E05E3D8F51}.Release|x86.ActiveCfg = Release|x64 {0BD4B2B9-5FDA-4D1A-A7F8-B66C7C49FFF7}.Debug|x64.ActiveCfg = Debug|x64 {0BD4B2B9-5FDA-4D1A-A7F8-B66C7C49FFF7}.Debug|x64.Build.0 = Debug|x64 + {0BD4B2B9-5FDA-4D1A-A7F8-B66C7C49FFF7}.Debug|x86.ActiveCfg = Debug|x64 {0BD4B2B9-5FDA-4D1A-A7F8-B66C7C49FFF7}.Release|x64.ActiveCfg = Release|x64 {0BD4B2B9-5FDA-4D1A-A7F8-B66C7C49FFF7}.Release|x64.Build.0 = Release|x64 + {0BD4B2B9-5FDA-4D1A-A7F8-B66C7C49FFF7}.Release|x86.ActiveCfg = Release|x64 {823879D7-A915-4CEA-8365-09BA70FDAF2C}.Debug|x64.ActiveCfg = Debug|x64 {823879D7-A915-4CEA-8365-09BA70FDAF2C}.Debug|x64.Build.0 = Debug|x64 + {823879D7-A915-4CEA-8365-09BA70FDAF2C}.Debug|x86.ActiveCfg = Debug|x64 {823879D7-A915-4CEA-8365-09BA70FDAF2C}.Release|x64.ActiveCfg = Release|x64 {823879D7-A915-4CEA-8365-09BA70FDAF2C}.Release|x64.Build.0 = Release|x64 + {823879D7-A915-4CEA-8365-09BA70FDAF2C}.Release|x86.ActiveCfg = Release|x64 {E8FCC396-C0C5-4D1A-B6A7-A570FB948D24}.Debug|x64.ActiveCfg = Debug|x64 {E8FCC396-C0C5-4D1A-B6A7-A570FB948D24}.Debug|x64.Build.0 = Debug|x64 + {E8FCC396-C0C5-4D1A-B6A7-A570FB948D24}.Debug|x86.ActiveCfg = Debug|x64 {E8FCC396-C0C5-4D1A-B6A7-A570FB948D24}.Release|x64.ActiveCfg = Release|x64 {E8FCC396-C0C5-4D1A-B6A7-A570FB948D24}.Release|x64.Build.0 = Release|x64 + {E8FCC396-C0C5-4D1A-B6A7-A570FB948D24}.Release|x86.ActiveCfg = Release|x64 {5772F2FA-DBB1-4ABD-A94D-A320CB2E8FC9}.Debug|x64.ActiveCfg = Debug|x64 {5772F2FA-DBB1-4ABD-A94D-A320CB2E8FC9}.Debug|x64.Build.0 = Debug|x64 + {5772F2FA-DBB1-4ABD-A94D-A320CB2E8FC9}.Debug|x86.ActiveCfg = Debug|x64 {5772F2FA-DBB1-4ABD-A94D-A320CB2E8FC9}.Release|x64.ActiveCfg = Release|x64 {5772F2FA-DBB1-4ABD-A94D-A320CB2E8FC9}.Release|x64.Build.0 = Release|x64 + {5772F2FA-DBB1-4ABD-A94D-A320CB2E8FC9}.Release|x86.ActiveCfg = Release|x64 {FFF4637C-DD40-4E3F-BDAF-6D0C102CBC7D}.Debug|x64.ActiveCfg = Debug|x64 {FFF4637C-DD40-4E3F-BDAF-6D0C102CBC7D}.Debug|x64.Build.0 = Debug|x64 + {FFF4637C-DD40-4E3F-BDAF-6D0C102CBC7D}.Debug|x86.ActiveCfg = Debug|x64 {FFF4637C-DD40-4E3F-BDAF-6D0C102CBC7D}.Release|x64.ActiveCfg = Release|x64 {FFF4637C-DD40-4E3F-BDAF-6D0C102CBC7D}.Release|x64.Build.0 = Release|x64 + {FFF4637C-DD40-4E3F-BDAF-6D0C102CBC7D}.Release|x86.ActiveCfg = Release|x64 {FEC6A7E8-6DB2-4DB0-9DB4-B568D0C1E521}.Debug|x64.ActiveCfg = Debug|x64 {FEC6A7E8-6DB2-4DB0-9DB4-B568D0C1E521}.Debug|x64.Build.0 = Debug|x64 + {FEC6A7E8-6DB2-4DB0-9DB4-B568D0C1E521}.Debug|x86.ActiveCfg = Debug|x64 {FEC6A7E8-6DB2-4DB0-9DB4-B568D0C1E521}.Release|x64.ActiveCfg = Release|x64 {FEC6A7E8-6DB2-4DB0-9DB4-B568D0C1E521}.Release|x64.Build.0 = Release|x64 + {FEC6A7E8-6DB2-4DB0-9DB4-B568D0C1E521}.Release|x86.ActiveCfg = Release|x64 {22B180B5-9E3C-455A-80D8-00387EE0A274}.Debug|x64.ActiveCfg = Debug|x64 {22B180B5-9E3C-455A-80D8-00387EE0A274}.Debug|x64.Build.0 = Debug|x64 + {22B180B5-9E3C-455A-80D8-00387EE0A274}.Debug|x86.ActiveCfg = Debug|x64 {22B180B5-9E3C-455A-80D8-00387EE0A274}.Release|x64.ActiveCfg = Release|x64 {22B180B5-9E3C-455A-80D8-00387EE0A274}.Release|x64.Build.0 = Release|x64 + {22B180B5-9E3C-455A-80D8-00387EE0A274}.Release|x86.ActiveCfg = Release|x64 {C613608D-C4D0-4FC2-AA44-9D0098AAFDD8}.Debug|x64.ActiveCfg = Debug|x64 {C613608D-C4D0-4FC2-AA44-9D0098AAFDD8}.Debug|x64.Build.0 = Debug|x64 + {C613608D-C4D0-4FC2-AA44-9D0098AAFDD8}.Debug|x86.ActiveCfg = Debug|x64 {C613608D-C4D0-4FC2-AA44-9D0098AAFDD8}.Release|x64.ActiveCfg = Release|x64 {C613608D-C4D0-4FC2-AA44-9D0098AAFDD8}.Release|x64.Build.0 = Release|x64 + {C613608D-C4D0-4FC2-AA44-9D0098AAFDD8}.Release|x86.ActiveCfg = Release|x64 {5D42D76C-B076-4045-A03E-1DF101583C39}.Debug|x64.ActiveCfg = Debug|x64 {5D42D76C-B076-4045-A03E-1DF101583C39}.Debug|x64.Build.0 = Debug|x64 + {5D42D76C-B076-4045-A03E-1DF101583C39}.Debug|x86.ActiveCfg = Debug|x64 {5D42D76C-B076-4045-A03E-1DF101583C39}.Release|x64.ActiveCfg = Release|x64 {5D42D76C-B076-4045-A03E-1DF101583C39}.Release|x64.Build.0 = Release|x64 + {5D42D76C-B076-4045-A03E-1DF101583C39}.Release|x86.ActiveCfg = Release|x64 {992E35D6-47AF-44DC-8A59-1F369BF1836C}.Debug|x64.ActiveCfg = Debug|x64 {992E35D6-47AF-44DC-8A59-1F369BF1836C}.Debug|x64.Build.0 = Debug|x64 + {992E35D6-47AF-44DC-8A59-1F369BF1836C}.Debug|x86.ActiveCfg = Debug|x64 {992E35D6-47AF-44DC-8A59-1F369BF1836C}.Release|x64.ActiveCfg = Release|x64 {992E35D6-47AF-44DC-8A59-1F369BF1836C}.Release|x64.Build.0 = Release|x64 + {992E35D6-47AF-44DC-8A59-1F369BF1836C}.Release|x86.ActiveCfg = Release|x64 {3366ED2E-3283-4F30-9F77-55391129489C}.Debug|x64.ActiveCfg = Debug|x64 {3366ED2E-3283-4F30-9F77-55391129489C}.Debug|x64.Build.0 = Debug|x64 + {3366ED2E-3283-4F30-9F77-55391129489C}.Debug|x86.ActiveCfg = Debug|x64 {3366ED2E-3283-4F30-9F77-55391129489C}.Release|x64.ActiveCfg = Release|x64 {3366ED2E-3283-4F30-9F77-55391129489C}.Release|x64.Build.0 = Release|x64 + {3366ED2E-3283-4F30-9F77-55391129489C}.Release|x86.ActiveCfg = Release|x64 {FDEFF75C-41F4-45CA-A704-05A46D9A2FAB}.Debug|x64.ActiveCfg = Debug|x64 {FDEFF75C-41F4-45CA-A704-05A46D9A2FAB}.Debug|x64.Build.0 = Debug|x64 + {FDEFF75C-41F4-45CA-A704-05A46D9A2FAB}.Debug|x86.ActiveCfg = Debug|x64 {FDEFF75C-41F4-45CA-A704-05A46D9A2FAB}.Release|x64.ActiveCfg = Release|x64 {FDEFF75C-41F4-45CA-A704-05A46D9A2FAB}.Release|x64.Build.0 = Release|x64 + {FDEFF75C-41F4-45CA-A704-05A46D9A2FAB}.Release|x86.ActiveCfg = Release|x64 {A25A294D-A3AC-4349-8EA6-24A83C5CD0B7}.Debug|x64.ActiveCfg = Debug|x64 {A25A294D-A3AC-4349-8EA6-24A83C5CD0B7}.Debug|x64.Build.0 = Debug|x64 + {A25A294D-A3AC-4349-8EA6-24A83C5CD0B7}.Debug|x86.ActiveCfg = Debug|x64 {A25A294D-A3AC-4349-8EA6-24A83C5CD0B7}.Release|x64.ActiveCfg = Release|x64 {A25A294D-A3AC-4349-8EA6-24A83C5CD0B7}.Release|x64.Build.0 = Release|x64 + {A25A294D-A3AC-4349-8EA6-24A83C5CD0B7}.Release|x86.ActiveCfg = Release|x64 {8D1E58FA-AD04-43A1-8BDF-0457103F8DE1}.Debug|x64.ActiveCfg = Debug|x64 {8D1E58FA-AD04-43A1-8BDF-0457103F8DE1}.Debug|x64.Build.0 = Debug|x64 + {8D1E58FA-AD04-43A1-8BDF-0457103F8DE1}.Debug|x86.ActiveCfg = Debug|x64 {8D1E58FA-AD04-43A1-8BDF-0457103F8DE1}.Release|x64.ActiveCfg = Release|x64 {8D1E58FA-AD04-43A1-8BDF-0457103F8DE1}.Release|x64.Build.0 = Release|x64 + {8D1E58FA-AD04-43A1-8BDF-0457103F8DE1}.Release|x86.ActiveCfg = Release|x64 {B06A629B-7EAA-4265-A4C0-8A0EC03B00B0}.Debug|x64.ActiveCfg = Debug|x64 {B06A629B-7EAA-4265-A4C0-8A0EC03B00B0}.Debug|x64.Build.0 = Debug|x64 + {B06A629B-7EAA-4265-A4C0-8A0EC03B00B0}.Debug|x86.ActiveCfg = Debug|x64 {B06A629B-7EAA-4265-A4C0-8A0EC03B00B0}.Release|x64.ActiveCfg = Release|x64 {B06A629B-7EAA-4265-A4C0-8A0EC03B00B0}.Release|x64.Build.0 = Release|x64 + {B06A629B-7EAA-4265-A4C0-8A0EC03B00B0}.Release|x86.ActiveCfg = Release|x64 {A41C689F-E343-4BDA-8132-FE2ADB166249}.Debug|x64.ActiveCfg = Debug|x64 {A41C689F-E343-4BDA-8132-FE2ADB166249}.Debug|x64.Build.0 = Debug|x64 + {A41C689F-E343-4BDA-8132-FE2ADB166249}.Debug|x86.ActiveCfg = Debug|x64 {A41C689F-E343-4BDA-8132-FE2ADB166249}.Release|x64.ActiveCfg = Release|x64 {A41C689F-E343-4BDA-8132-FE2ADB166249}.Release|x64.Build.0 = Release|x64 + {A41C689F-E343-4BDA-8132-FE2ADB166249}.Release|x86.ActiveCfg = Release|x64 {2C362B1C-80C9-4867-AD96-2482535190D1}.Debug|x64.ActiveCfg = Debug|x64 {2C362B1C-80C9-4867-AD96-2482535190D1}.Debug|x64.Build.0 = Debug|x64 + {2C362B1C-80C9-4867-AD96-2482535190D1}.Debug|x86.ActiveCfg = Debug|x64 {2C362B1C-80C9-4867-AD96-2482535190D1}.Release|x64.ActiveCfg = Release|x64 {2C362B1C-80C9-4867-AD96-2482535190D1}.Release|x64.Build.0 = Release|x64 + {2C362B1C-80C9-4867-AD96-2482535190D1}.Release|x86.ActiveCfg = Release|x64 {7C767DFF-87E6-4FE0-9557-2FF656ED1E57}.Debug|x64.ActiveCfg = Debug|x64 {7C767DFF-87E6-4FE0-9557-2FF656ED1E57}.Debug|x64.Build.0 = Debug|x64 + {7C767DFF-87E6-4FE0-9557-2FF656ED1E57}.Debug|x86.ActiveCfg = Debug|x64 {7C767DFF-87E6-4FE0-9557-2FF656ED1E57}.Release|x64.ActiveCfg = Release|x64 {7C767DFF-87E6-4FE0-9557-2FF656ED1E57}.Release|x64.Build.0 = Release|x64 + {7C767DFF-87E6-4FE0-9557-2FF656ED1E57}.Release|x86.ActiveCfg = Release|x64 {98510FB2-2BD3-4A6D-9BB0-48EB5FD4C445}.Debug|x64.ActiveCfg = Debug|x64 {98510FB2-2BD3-4A6D-9BB0-48EB5FD4C445}.Debug|x64.Build.0 = Debug|x64 + {98510FB2-2BD3-4A6D-9BB0-48EB5FD4C445}.Debug|x86.ActiveCfg = Debug|x64 {98510FB2-2BD3-4A6D-9BB0-48EB5FD4C445}.Release|x64.ActiveCfg = Release|x64 {98510FB2-2BD3-4A6D-9BB0-48EB5FD4C445}.Release|x64.Build.0 = Release|x64 + {98510FB2-2BD3-4A6D-9BB0-48EB5FD4C445}.Release|x86.ActiveCfg = Release|x64 {F61EE788-E229-43F1-9E05-DAE2AB60B882}.Debug|x64.ActiveCfg = Debug|x64 {F61EE788-E229-43F1-9E05-DAE2AB60B882}.Debug|x64.Build.0 = Debug|x64 + {F61EE788-E229-43F1-9E05-DAE2AB60B882}.Debug|x86.ActiveCfg = Debug|x64 {F61EE788-E229-43F1-9E05-DAE2AB60B882}.Release|x64.ActiveCfg = Release|x64 {F61EE788-E229-43F1-9E05-DAE2AB60B882}.Release|x64.Build.0 = Release|x64 + {F61EE788-E229-43F1-9E05-DAE2AB60B882}.Release|x86.ActiveCfg = Release|x64 {41F88027-BC30-4949-B407-42C2BCB34C60}.Debug|x64.ActiveCfg = Debug|x64 {41F88027-BC30-4949-B407-42C2BCB34C60}.Debug|x64.Build.0 = Debug|x64 + {41F88027-BC30-4949-B407-42C2BCB34C60}.Debug|x86.ActiveCfg = Debug|x64 {41F88027-BC30-4949-B407-42C2BCB34C60}.Release|x64.ActiveCfg = Release|x64 {41F88027-BC30-4949-B407-42C2BCB34C60}.Release|x64.Build.0 = Release|x64 + {41F88027-BC30-4949-B407-42C2BCB34C60}.Release|x86.ActiveCfg = Release|x64 {D557C94D-4D26-48D0-B522-B314DC28800D}.Debug|x64.ActiveCfg = Debug|x64 {D557C94D-4D26-48D0-B522-B314DC28800D}.Debug|x64.Build.0 = Debug|x64 + {D557C94D-4D26-48D0-B522-B314DC28800D}.Debug|x86.ActiveCfg = Debug|x64 {D557C94D-4D26-48D0-B522-B314DC28800D}.Release|x64.ActiveCfg = Release|x64 {D557C94D-4D26-48D0-B522-B314DC28800D}.Release|x64.Build.0 = Release|x64 + {D557C94D-4D26-48D0-B522-B314DC28800D}.Release|x86.ActiveCfg = Release|x64 {36651F00-C01D-461B-A8BA-BE4826D7130E}.Debug|x64.ActiveCfg = Debug|x64 {36651F00-C01D-461B-A8BA-BE4826D7130E}.Debug|x64.Build.0 = Debug|x64 + {36651F00-C01D-461B-A8BA-BE4826D7130E}.Debug|x86.ActiveCfg = Debug|x64 {36651F00-C01D-461B-A8BA-BE4826D7130E}.Release|x64.ActiveCfg = Release|x64 {36651F00-C01D-461B-A8BA-BE4826D7130E}.Release|x64.Build.0 = Release|x64 + {36651F00-C01D-461B-A8BA-BE4826D7130E}.Release|x86.ActiveCfg = Release|x64 {A356B8C0-0897-4BAA-9DD1-8D210988155C}.Debug|x64.ActiveCfg = Debug|x64 {A356B8C0-0897-4BAA-9DD1-8D210988155C}.Debug|x64.Build.0 = Debug|x64 + {A356B8C0-0897-4BAA-9DD1-8D210988155C}.Debug|x86.ActiveCfg = Debug|x64 {A356B8C0-0897-4BAA-9DD1-8D210988155C}.Release|x64.ActiveCfg = Release|x64 {A356B8C0-0897-4BAA-9DD1-8D210988155C}.Release|x64.Build.0 = Release|x64 + {A356B8C0-0897-4BAA-9DD1-8D210988155C}.Release|x86.ActiveCfg = Release|x64 {86BB3621-D40C-4731-8838-842A925E0615}.Debug|x64.ActiveCfg = Debug|x64 {86BB3621-D40C-4731-8838-842A925E0615}.Debug|x64.Build.0 = Debug|x64 + {86BB3621-D40C-4731-8838-842A925E0615}.Debug|x86.ActiveCfg = Debug|x64 {86BB3621-D40C-4731-8838-842A925E0615}.Release|x64.ActiveCfg = Release|x64 {86BB3621-D40C-4731-8838-842A925E0615}.Release|x64.Build.0 = Release|x64 + {86BB3621-D40C-4731-8838-842A925E0615}.Release|x86.ActiveCfg = Release|x64 {2A68B908-9C46-4D8D-A5AA-662787137BB0}.Debug|x64.ActiveCfg = Debug|x64 {2A68B908-9C46-4D8D-A5AA-662787137BB0}.Debug|x64.Build.0 = Debug|x64 + {2A68B908-9C46-4D8D-A5AA-662787137BB0}.Debug|x86.ActiveCfg = Debug|x64 {2A68B908-9C46-4D8D-A5AA-662787137BB0}.Release|x64.ActiveCfg = Release|x64 {2A68B908-9C46-4D8D-A5AA-662787137BB0}.Release|x64.Build.0 = Release|x64 + {2A68B908-9C46-4D8D-A5AA-662787137BB0}.Release|x86.ActiveCfg = Release|x64 {91CCB72B-852D-47D8-82FA-0E19A300A125}.Debug|x64.ActiveCfg = Debug|x64 {91CCB72B-852D-47D8-82FA-0E19A300A125}.Debug|x64.Build.0 = Debug|x64 + {91CCB72B-852D-47D8-82FA-0E19A300A125}.Debug|x86.ActiveCfg = Debug|x64 {91CCB72B-852D-47D8-82FA-0E19A300A125}.Release|x64.ActiveCfg = Release|x64 {91CCB72B-852D-47D8-82FA-0E19A300A125}.Release|x64.Build.0 = Release|x64 + {91CCB72B-852D-47D8-82FA-0E19A300A125}.Release|x86.ActiveCfg = Release|x64 {1995D553-BABB-4987-A0AC-84496297DDE5}.Debug|x64.ActiveCfg = Debug|x64 {1995D553-BABB-4987-A0AC-84496297DDE5}.Debug|x64.Build.0 = Debug|x64 + {1995D553-BABB-4987-A0AC-84496297DDE5}.Debug|x86.ActiveCfg = Debug|x64 {1995D553-BABB-4987-A0AC-84496297DDE5}.Release|x64.ActiveCfg = Release|x64 {1995D553-BABB-4987-A0AC-84496297DDE5}.Release|x64.Build.0 = Release|x64 + {1995D553-BABB-4987-A0AC-84496297DDE5}.Release|x86.ActiveCfg = Release|x64 {4FFC5AC3-7A59-40C2-B155-AA3EA5D391AE}.Debug|x64.ActiveCfg = Debug|x64 {4FFC5AC3-7A59-40C2-B155-AA3EA5D391AE}.Debug|x64.Build.0 = Debug|x64 + {4FFC5AC3-7A59-40C2-B155-AA3EA5D391AE}.Debug|x86.ActiveCfg = Debug|x64 {4FFC5AC3-7A59-40C2-B155-AA3EA5D391AE}.Release|x64.ActiveCfg = Release|x64 {4FFC5AC3-7A59-40C2-B155-AA3EA5D391AE}.Release|x64.Build.0 = Release|x64 + {4FFC5AC3-7A59-40C2-B155-AA3EA5D391AE}.Release|x86.ActiveCfg = Release|x64 {AFC831A1-1946-43A5-BCA9-1B4618703C20}.Debug|x64.ActiveCfg = Debug|x64 {AFC831A1-1946-43A5-BCA9-1B4618703C20}.Debug|x64.Build.0 = Debug|x64 + {AFC831A1-1946-43A5-BCA9-1B4618703C20}.Debug|x86.ActiveCfg = Debug|x64 {AFC831A1-1946-43A5-BCA9-1B4618703C20}.Release|x64.ActiveCfg = Release|x64 {AFC831A1-1946-43A5-BCA9-1B4618703C20}.Release|x64.Build.0 = Release|x64 + {AFC831A1-1946-43A5-BCA9-1B4618703C20}.Release|x86.ActiveCfg = Release|x64 {70ADDFBB-1216-412E-B326-51A146C3B8A4}.Debug|x64.ActiveCfg = Debug|x64 {70ADDFBB-1216-412E-B326-51A146C3B8A4}.Debug|x64.Build.0 = Debug|x64 + {70ADDFBB-1216-412E-B326-51A146C3B8A4}.Debug|x86.ActiveCfg = Debug|x64 {70ADDFBB-1216-412E-B326-51A146C3B8A4}.Release|x64.ActiveCfg = Release|x64 {70ADDFBB-1216-412E-B326-51A146C3B8A4}.Release|x64.Build.0 = Release|x64 + {70ADDFBB-1216-412E-B326-51A146C3B8A4}.Release|x86.ActiveCfg = Release|x64 {349B37AE-AB50-410E-A445-6C4A29522434}.Debug|x64.ActiveCfg = Debug|x64 {349B37AE-AB50-410E-A445-6C4A29522434}.Debug|x64.Build.0 = Debug|x64 + {349B37AE-AB50-410E-A445-6C4A29522434}.Debug|x86.ActiveCfg = Debug|x64 {349B37AE-AB50-410E-A445-6C4A29522434}.Release|x64.ActiveCfg = Release|x64 {349B37AE-AB50-410E-A445-6C4A29522434}.Release|x64.Build.0 = Release|x64 + {349B37AE-AB50-410E-A445-6C4A29522434}.Release|x86.ActiveCfg = Release|x64 {6D793C18-411A-4D31-B186-636817767C86}.Debug|x64.ActiveCfg = Debug|x64 {6D793C18-411A-4D31-B186-636817767C86}.Debug|x64.Build.0 = Debug|x64 + {6D793C18-411A-4D31-B186-636817767C86}.Debug|x86.ActiveCfg = Debug|x64 {6D793C18-411A-4D31-B186-636817767C86}.Release|x64.ActiveCfg = Release|x64 {6D793C18-411A-4D31-B186-636817767C86}.Release|x64.Build.0 = Release|x64 + {6D793C18-411A-4D31-B186-636817767C86}.Release|x86.ActiveCfg = Release|x64 {849D7396-9AD9-4C0E-A0FD-F6126FBA2CAB}.Debug|x64.ActiveCfg = Debug|x64 {849D7396-9AD9-4C0E-A0FD-F6126FBA2CAB}.Debug|x64.Build.0 = Debug|x64 + {849D7396-9AD9-4C0E-A0FD-F6126FBA2CAB}.Debug|x86.ActiveCfg = Debug|x64 {849D7396-9AD9-4C0E-A0FD-F6126FBA2CAB}.Release|x64.ActiveCfg = Release|x64 {849D7396-9AD9-4C0E-A0FD-F6126FBA2CAB}.Release|x64.Build.0 = Release|x64 + {849D7396-9AD9-4C0E-A0FD-F6126FBA2CAB}.Release|x86.ActiveCfg = Release|x64 {2D7CE355-8831-40EE-9B43-E60866A45D7D}.Debug|x64.ActiveCfg = Debug|x64 {2D7CE355-8831-40EE-9B43-E60866A45D7D}.Debug|x64.Build.0 = Debug|x64 + {2D7CE355-8831-40EE-9B43-E60866A45D7D}.Debug|x86.ActiveCfg = Debug|x64 {2D7CE355-8831-40EE-9B43-E60866A45D7D}.Release|x64.ActiveCfg = Release|x64 {2D7CE355-8831-40EE-9B43-E60866A45D7D}.Release|x64.Build.0 = Release|x64 + {2D7CE355-8831-40EE-9B43-E60866A45D7D}.Release|x86.ActiveCfg = Release|x64 {8F66F808-6E8C-46D5-B9D1-DE50811030D4}.Debug|x64.ActiveCfg = Debug|x64 {8F66F808-6E8C-46D5-B9D1-DE50811030D4}.Debug|x64.Build.0 = Debug|x64 + {8F66F808-6E8C-46D5-B9D1-DE50811030D4}.Debug|x86.ActiveCfg = Debug|x64 {8F66F808-6E8C-46D5-B9D1-DE50811030D4}.Release|x64.ActiveCfg = Release|x64 {8F66F808-6E8C-46D5-B9D1-DE50811030D4}.Release|x64.Build.0 = Release|x64 + {8F66F808-6E8C-46D5-B9D1-DE50811030D4}.Release|x86.ActiveCfg = Release|x64 {49E0167C-FF14-42F2-BEB4-EDBA568640A5}.Debug|x64.ActiveCfg = Debug|x64 {49E0167C-FF14-42F2-BEB4-EDBA568640A5}.Debug|x64.Build.0 = Debug|x64 + {49E0167C-FF14-42F2-BEB4-EDBA568640A5}.Debug|x86.ActiveCfg = Debug|x64 {49E0167C-FF14-42F2-BEB4-EDBA568640A5}.Release|x64.ActiveCfg = Release|x64 {49E0167C-FF14-42F2-BEB4-EDBA568640A5}.Release|x64.Build.0 = Release|x64 + {49E0167C-FF14-42F2-BEB4-EDBA568640A5}.Release|x86.ActiveCfg = Release|x64 {23F9BA69-3FBF-419F-AD60-F06E1AC0706B}.Debug|x64.ActiveCfg = Debug|x64 {23F9BA69-3FBF-419F-AD60-F06E1AC0706B}.Debug|x64.Build.0 = Debug|x64 + {23F9BA69-3FBF-419F-AD60-F06E1AC0706B}.Debug|x86.ActiveCfg = Debug|x64 {23F9BA69-3FBF-419F-AD60-F06E1AC0706B}.Release|x64.ActiveCfg = Release|x64 {23F9BA69-3FBF-419F-AD60-F06E1AC0706B}.Release|x64.Build.0 = Release|x64 + {23F9BA69-3FBF-419F-AD60-F06E1AC0706B}.Release|x86.ActiveCfg = Release|x64 {7BAC0C19-0280-4CB2-A8FA-A6BF7C2A025E}.Debug|x64.ActiveCfg = Debug|x64 {7BAC0C19-0280-4CB2-A8FA-A6BF7C2A025E}.Debug|x64.Build.0 = Debug|x64 + {7BAC0C19-0280-4CB2-A8FA-A6BF7C2A025E}.Debug|x86.ActiveCfg = Debug|x64 {7BAC0C19-0280-4CB2-A8FA-A6BF7C2A025E}.Release|x64.ActiveCfg = Release|x64 {7BAC0C19-0280-4CB2-A8FA-A6BF7C2A025E}.Release|x64.Build.0 = Release|x64 + {7BAC0C19-0280-4CB2-A8FA-A6BF7C2A025E}.Release|x86.ActiveCfg = Release|x64 {537D636C-29BB-4B81-B020-D8314ECA88CC}.Debug|x64.ActiveCfg = Debug|x64 {537D636C-29BB-4B81-B020-D8314ECA88CC}.Debug|x64.Build.0 = Debug|x64 + {537D636C-29BB-4B81-B020-D8314ECA88CC}.Debug|x86.ActiveCfg = Debug|x64 {537D636C-29BB-4B81-B020-D8314ECA88CC}.Release|x64.ActiveCfg = Release|x64 {537D636C-29BB-4B81-B020-D8314ECA88CC}.Release|x64.Build.0 = Release|x64 + {537D636C-29BB-4B81-B020-D8314ECA88CC}.Release|x86.ActiveCfg = Release|x64 {971C3730-9CE9-453B-BB79-F792B2E2C017}.Debug|x64.ActiveCfg = Debug|x64 {971C3730-9CE9-453B-BB79-F792B2E2C017}.Debug|x64.Build.0 = Debug|x64 + {971C3730-9CE9-453B-BB79-F792B2E2C017}.Debug|x86.ActiveCfg = Debug|x64 {971C3730-9CE9-453B-BB79-F792B2E2C017}.Release|x64.ActiveCfg = Release|x64 {971C3730-9CE9-453B-BB79-F792B2E2C017}.Release|x64.Build.0 = Release|x64 + {971C3730-9CE9-453B-BB79-F792B2E2C017}.Release|x86.ActiveCfg = Release|x64 {32B89825-3A2D-47D6-A2FC-5792A25E5420}.Debug|x64.ActiveCfg = Debug|x64 {32B89825-3A2D-47D6-A2FC-5792A25E5420}.Debug|x64.Build.0 = Debug|x64 + {32B89825-3A2D-47D6-A2FC-5792A25E5420}.Debug|x86.ActiveCfg = Debug|x64 {32B89825-3A2D-47D6-A2FC-5792A25E5420}.Release|x64.ActiveCfg = Release|x64 {32B89825-3A2D-47D6-A2FC-5792A25E5420}.Release|x64.Build.0 = Release|x64 + {32B89825-3A2D-47D6-A2FC-5792A25E5420}.Release|x86.ActiveCfg = Release|x64 {B305430A-2CB0-4057-AB7C-F90F52973BC1}.Debug|x64.ActiveCfg = Debug|x64 {B305430A-2CB0-4057-AB7C-F90F52973BC1}.Debug|x64.Build.0 = Debug|x64 + {B305430A-2CB0-4057-AB7C-F90F52973BC1}.Debug|x86.ActiveCfg = Debug|x64 {B305430A-2CB0-4057-AB7C-F90F52973BC1}.Release|x64.ActiveCfg = Release|x64 {B305430A-2CB0-4057-AB7C-F90F52973BC1}.Release|x64.Build.0 = Release|x64 + {B305430A-2CB0-4057-AB7C-F90F52973BC1}.Release|x86.ActiveCfg = Release|x64 {16385D50-05B1-454D-9F0B-AC2C9D6BD9AB}.Debug|x64.ActiveCfg = Debug|x64 {16385D50-05B1-454D-9F0B-AC2C9D6BD9AB}.Debug|x64.Build.0 = Debug|x64 + {16385D50-05B1-454D-9F0B-AC2C9D6BD9AB}.Debug|x86.ActiveCfg = Debug|x64 {16385D50-05B1-454D-9F0B-AC2C9D6BD9AB}.Release|x64.ActiveCfg = Release|x64 {16385D50-05B1-454D-9F0B-AC2C9D6BD9AB}.Release|x64.Build.0 = Release|x64 + {16385D50-05B1-454D-9F0B-AC2C9D6BD9AB}.Release|x86.ActiveCfg = Release|x64 {B8C95F39-54BF-40A9-807B-598DF2821D55}.Debug|x64.ActiveCfg = Debug|x64 {B8C95F39-54BF-40A9-807B-598DF2821D55}.Debug|x64.Build.0 = Debug|x64 + {B8C95F39-54BF-40A9-807B-598DF2821D55}.Debug|x86.ActiveCfg = Debug|x64 {B8C95F39-54BF-40A9-807B-598DF2821D55}.Release|x64.ActiveCfg = Release|x64 {B8C95F39-54BF-40A9-807B-598DF2821D55}.Release|x64.Build.0 = Release|x64 + {B8C95F39-54BF-40A9-807B-598DF2821D55}.Release|x86.ActiveCfg = Release|x64 {AF3143A4-5529-4C78-A01A-9F2A8977ED64}.Debug|x64.ActiveCfg = Debug|x64 {AF3143A4-5529-4C78-A01A-9F2A8977ED64}.Debug|x64.Build.0 = Debug|x64 + {AF3143A4-5529-4C78-A01A-9F2A8977ED64}.Debug|x86.ActiveCfg = Debug|x64 {AF3143A4-5529-4C78-A01A-9F2A8977ED64}.Release|x64.ActiveCfg = Release|x64 {AF3143A4-5529-4C78-A01A-9F2A8977ED64}.Release|x64.Build.0 = Release|x64 + {AF3143A4-5529-4C78-A01A-9F2A8977ED64}.Release|x86.ActiveCfg = Release|x64 {E1EEF63F-5DE9-46DD-9291-9D356F02CFD1}.Debug|x64.ActiveCfg = Debug|x64 {E1EEF63F-5DE9-46DD-9291-9D356F02CFD1}.Debug|x64.Build.0 = Debug|x64 + {E1EEF63F-5DE9-46DD-9291-9D356F02CFD1}.Debug|x86.ActiveCfg = Debug|x64 {E1EEF63F-5DE9-46DD-9291-9D356F02CFD1}.Release|x64.ActiveCfg = Release|x64 {E1EEF63F-5DE9-46DD-9291-9D356F02CFD1}.Release|x64.Build.0 = Release|x64 + {E1EEF63F-5DE9-46DD-9291-9D356F02CFD1}.Release|x86.ActiveCfg = Release|x64 {2AC2C860-BA44-452A-A801-BAAB7A51C0AC}.Debug|x64.ActiveCfg = Debug|x64 {2AC2C860-BA44-452A-A801-BAAB7A51C0AC}.Debug|x64.Build.0 = Debug|x64 + {2AC2C860-BA44-452A-A801-BAAB7A51C0AC}.Debug|x86.ActiveCfg = Debug|x64 {2AC2C860-BA44-452A-A801-BAAB7A51C0AC}.Release|x64.ActiveCfg = Release|x64 {2AC2C860-BA44-452A-A801-BAAB7A51C0AC}.Release|x64.Build.0 = Release|x64 + {2AC2C860-BA44-452A-A801-BAAB7A51C0AC}.Release|x86.ActiveCfg = Release|x64 {8FDA6D04-7C5D-4061-8467-AE0C104A2C83}.Debug|x64.ActiveCfg = Debug|x64 {8FDA6D04-7C5D-4061-8467-AE0C104A2C83}.Debug|x64.Build.0 = Debug|x64 + {8FDA6D04-7C5D-4061-8467-AE0C104A2C83}.Debug|x86.ActiveCfg = Debug|x64 {8FDA6D04-7C5D-4061-8467-AE0C104A2C83}.Release|x64.ActiveCfg = Release|x64 {8FDA6D04-7C5D-4061-8467-AE0C104A2C83}.Release|x64.Build.0 = Release|x64 + {8FDA6D04-7C5D-4061-8467-AE0C104A2C83}.Release|x86.ActiveCfg = Release|x64 {3AD2E831-7A16-4097-ACE1-4210A7F08751}.Debug|x64.ActiveCfg = Debug|x64 {3AD2E831-7A16-4097-ACE1-4210A7F08751}.Debug|x64.Build.0 = Debug|x64 + {3AD2E831-7A16-4097-ACE1-4210A7F08751}.Debug|x86.ActiveCfg = Debug|x64 {3AD2E831-7A16-4097-ACE1-4210A7F08751}.Release|x64.ActiveCfg = Release|x64 {3AD2E831-7A16-4097-ACE1-4210A7F08751}.Release|x64.Build.0 = Release|x64 + {3AD2E831-7A16-4097-ACE1-4210A7F08751}.Release|x86.ActiveCfg = Release|x64 {DC09C991-D279-4A37-9332-5F7767621D5C}.Debug|x64.ActiveCfg = Debug|x64 {DC09C991-D279-4A37-9332-5F7767621D5C}.Debug|x64.Build.0 = Debug|x64 + {DC09C991-D279-4A37-9332-5F7767621D5C}.Debug|x86.ActiveCfg = Debug|x64 {DC09C991-D279-4A37-9332-5F7767621D5C}.Release|x64.ActiveCfg = Release|x64 {DC09C991-D279-4A37-9332-5F7767621D5C}.Release|x64.Build.0 = Release|x64 + {DC09C991-D279-4A37-9332-5F7767621D5C}.Release|x86.ActiveCfg = Release|x64 {9953A884-2927-4E91-B414-FC773102FE6D}.Debug|x64.ActiveCfg = Debug|x64 {9953A884-2927-4E91-B414-FC773102FE6D}.Debug|x64.Build.0 = Debug|x64 + {9953A884-2927-4E91-B414-FC773102FE6D}.Debug|x86.ActiveCfg = Debug|x64 {9953A884-2927-4E91-B414-FC773102FE6D}.Release|x64.ActiveCfg = Release|x64 {9953A884-2927-4E91-B414-FC773102FE6D}.Release|x64.Build.0 = Release|x64 + {9953A884-2927-4E91-B414-FC773102FE6D}.Release|x86.ActiveCfg = Release|x64 {36B74175-48F3-4157-BE5D-84C88DAF40D9}.Debug|x64.ActiveCfg = Debug|x64 {36B74175-48F3-4157-BE5D-84C88DAF40D9}.Debug|x64.Build.0 = Debug|x64 + {36B74175-48F3-4157-BE5D-84C88DAF40D9}.Debug|x86.ActiveCfg = Debug|x64 {36B74175-48F3-4157-BE5D-84C88DAF40D9}.Release|x64.ActiveCfg = Release|x64 {36B74175-48F3-4157-BE5D-84C88DAF40D9}.Release|x64.Build.0 = Release|x64 + {36B74175-48F3-4157-BE5D-84C88DAF40D9}.Release|x86.ActiveCfg = Release|x64 {788C63FE-C4C5-442C-9F56-A9326118D9BA}.Debug|x64.ActiveCfg = Debug|x64 {788C63FE-C4C5-442C-9F56-A9326118D9BA}.Debug|x64.Build.0 = Debug|x64 + {788C63FE-C4C5-442C-9F56-A9326118D9BA}.Debug|x86.ActiveCfg = Debug|x64 {788C63FE-C4C5-442C-9F56-A9326118D9BA}.Release|x64.ActiveCfg = Release|x64 {788C63FE-C4C5-442C-9F56-A9326118D9BA}.Release|x64.Build.0 = Release|x64 + {788C63FE-C4C5-442C-9F56-A9326118D9BA}.Release|x86.ActiveCfg = Release|x64 {FB87D337-AFA5-4DA8-8D99-84461B363108}.Debug|x64.ActiveCfg = Debug|x64 {FB87D337-AFA5-4DA8-8D99-84461B363108}.Debug|x64.Build.0 = Debug|x64 + {FB87D337-AFA5-4DA8-8D99-84461B363108}.Debug|x86.ActiveCfg = Debug|x64 {FB87D337-AFA5-4DA8-8D99-84461B363108}.Release|x64.ActiveCfg = Release|x64 {FB87D337-AFA5-4DA8-8D99-84461B363108}.Release|x64.Build.0 = Release|x64 + {FB87D337-AFA5-4DA8-8D99-84461B363108}.Release|x86.ActiveCfg = Release|x64 {94D2DA0B-304D-4B92-AE12-1749EBD6F5F0}.Debug|x64.ActiveCfg = Debug|x64 {94D2DA0B-304D-4B92-AE12-1749EBD6F5F0}.Debug|x64.Build.0 = Debug|x64 + {94D2DA0B-304D-4B92-AE12-1749EBD6F5F0}.Debug|x86.ActiveCfg = Debug|x64 {94D2DA0B-304D-4B92-AE12-1749EBD6F5F0}.Release|x64.ActiveCfg = Release|x64 {94D2DA0B-304D-4B92-AE12-1749EBD6F5F0}.Release|x64.Build.0 = Release|x64 + {94D2DA0B-304D-4B92-AE12-1749EBD6F5F0}.Release|x86.ActiveCfg = Release|x64 {BECF37AD-77C3-4BD4-83EF-E5B0A2DC4188}.Debug|x64.ActiveCfg = Debug|x64 {BECF37AD-77C3-4BD4-83EF-E5B0A2DC4188}.Debug|x64.Build.0 = Debug|x64 + {BECF37AD-77C3-4BD4-83EF-E5B0A2DC4188}.Debug|x86.ActiveCfg = Debug|x64 {BECF37AD-77C3-4BD4-83EF-E5B0A2DC4188}.Release|x64.ActiveCfg = Release|x64 {BECF37AD-77C3-4BD4-83EF-E5B0A2DC4188}.Release|x64.Build.0 = Release|x64 + {BECF37AD-77C3-4BD4-83EF-E5B0A2DC4188}.Release|x86.ActiveCfg = Release|x64 {D8296B7C-9580-4AD6-A79C-A5660680A9FF}.Debug|x64.ActiveCfg = Debug|x64 {D8296B7C-9580-4AD6-A79C-A5660680A9FF}.Debug|x64.Build.0 = Debug|x64 + {D8296B7C-9580-4AD6-A79C-A5660680A9FF}.Debug|x86.ActiveCfg = Debug|x64 {D8296B7C-9580-4AD6-A79C-A5660680A9FF}.Release|x64.ActiveCfg = Release|x64 {D8296B7C-9580-4AD6-A79C-A5660680A9FF}.Release|x64.Build.0 = Release|x64 + {D8296B7C-9580-4AD6-A79C-A5660680A9FF}.Release|x86.ActiveCfg = Release|x64 {7724C191-A199-426A-9CF8-FCBF12377B71}.Debug|x64.ActiveCfg = Debug|x64 {7724C191-A199-426A-9CF8-FCBF12377B71}.Debug|x64.Build.0 = Debug|x64 + {7724C191-A199-426A-9CF8-FCBF12377B71}.Debug|x86.ActiveCfg = Debug|x64 {7724C191-A199-426A-9CF8-FCBF12377B71}.Release|x64.ActiveCfg = Release|x64 {7724C191-A199-426A-9CF8-FCBF12377B71}.Release|x64.Build.0 = Release|x64 + {7724C191-A199-426A-9CF8-FCBF12377B71}.Release|x86.ActiveCfg = Release|x64 {B51FE0EB-A748-4414-B180-48F9CFEC7BE4}.Debug|x64.ActiveCfg = Debug|x64 {B51FE0EB-A748-4414-B180-48F9CFEC7BE4}.Debug|x64.Build.0 = Debug|x64 + {B51FE0EB-A748-4414-B180-48F9CFEC7BE4}.Debug|x86.ActiveCfg = Debug|x64 {B51FE0EB-A748-4414-B180-48F9CFEC7BE4}.Release|x64.ActiveCfg = Release|x64 {B51FE0EB-A748-4414-B180-48F9CFEC7BE4}.Release|x64.Build.0 = Release|x64 + {B51FE0EB-A748-4414-B180-48F9CFEC7BE4}.Release|x86.ActiveCfg = Release|x64 {5A3274BE-645D-4EFC-B51E-621367E0F7D9}.Debug|x64.ActiveCfg = Debug|x64 {5A3274BE-645D-4EFC-B51E-621367E0F7D9}.Debug|x64.Build.0 = Debug|x64 + {5A3274BE-645D-4EFC-B51E-621367E0F7D9}.Debug|x86.ActiveCfg = Debug|x64 {5A3274BE-645D-4EFC-B51E-621367E0F7D9}.Release|x64.ActiveCfg = Release|x64 {5A3274BE-645D-4EFC-B51E-621367E0F7D9}.Release|x64.Build.0 = Release|x64 + {5A3274BE-645D-4EFC-B51E-621367E0F7D9}.Release|x86.ActiveCfg = Release|x64 {1890CE4F-B07D-43F8-B78E-E3995E582A88}.Debug|x64.ActiveCfg = Debug|x64 {1890CE4F-B07D-43F8-B78E-E3995E582A88}.Debug|x64.Build.0 = Debug|x64 + {1890CE4F-B07D-43F8-B78E-E3995E582A88}.Debug|x86.ActiveCfg = Debug|x64 {1890CE4F-B07D-43F8-B78E-E3995E582A88}.Release|x64.ActiveCfg = Release|x64 {1890CE4F-B07D-43F8-B78E-E3995E582A88}.Release|x64.Build.0 = Release|x64 + {1890CE4F-B07D-43F8-B78E-E3995E582A88}.Release|x86.ActiveCfg = Release|x64 {B2C75B14-27EA-4729-91D4-1C907CDDC8B1}.Debug|x64.ActiveCfg = Debug|x64 {B2C75B14-27EA-4729-91D4-1C907CDDC8B1}.Debug|x64.Build.0 = Debug|x64 + {B2C75B14-27EA-4729-91D4-1C907CDDC8B1}.Debug|x86.ActiveCfg = Debug|x64 {B2C75B14-27EA-4729-91D4-1C907CDDC8B1}.Release|x64.ActiveCfg = Release|x64 {B2C75B14-27EA-4729-91D4-1C907CDDC8B1}.Release|x64.Build.0 = Release|x64 + {B2C75B14-27EA-4729-91D4-1C907CDDC8B1}.Release|x86.ActiveCfg = Release|x64 {8F3B9231-0B58-49F4-9FB0-BCAF8F24771D}.Debug|x64.ActiveCfg = Debug|x64 {8F3B9231-0B58-49F4-9FB0-BCAF8F24771D}.Debug|x64.Build.0 = Debug|x64 + {8F3B9231-0B58-49F4-9FB0-BCAF8F24771D}.Debug|x86.ActiveCfg = Debug|x64 {8F3B9231-0B58-49F4-9FB0-BCAF8F24771D}.Release|x64.ActiveCfg = Release|x64 {8F3B9231-0B58-49F4-9FB0-BCAF8F24771D}.Release|x64.Build.0 = Release|x64 + {8F3B9231-0B58-49F4-9FB0-BCAF8F24771D}.Release|x86.ActiveCfg = Release|x64 {11F219E1-907F-44C3-B817-A595C6BDFC6B}.Debug|x64.ActiveCfg = Debug|x64 {11F219E1-907F-44C3-B817-A595C6BDFC6B}.Debug|x64.Build.0 = Debug|x64 + {11F219E1-907F-44C3-B817-A595C6BDFC6B}.Debug|x86.ActiveCfg = Debug|x64 {11F219E1-907F-44C3-B817-A595C6BDFC6B}.Release|x64.ActiveCfg = Release|x64 {11F219E1-907F-44C3-B817-A595C6BDFC6B}.Release|x64.Build.0 = Release|x64 + {11F219E1-907F-44C3-B817-A595C6BDFC6B}.Release|x86.ActiveCfg = Release|x64 {977C1D7D-5CCC-466A-9FEF-3F7471032FE6}.Debug|x64.ActiveCfg = Debug|x64 {977C1D7D-5CCC-466A-9FEF-3F7471032FE6}.Debug|x64.Build.0 = Debug|x64 + {977C1D7D-5CCC-466A-9FEF-3F7471032FE6}.Debug|x86.ActiveCfg = Debug|x64 {977C1D7D-5CCC-466A-9FEF-3F7471032FE6}.Release|x64.ActiveCfg = Release|x64 {977C1D7D-5CCC-466A-9FEF-3F7471032FE6}.Release|x64.Build.0 = Release|x64 + {977C1D7D-5CCC-466A-9FEF-3F7471032FE6}.Release|x86.ActiveCfg = Release|x64 {504F5562-47FD-4D46-8F18-0F5D078212D2}.Debug|x64.ActiveCfg = Debug|x64 {504F5562-47FD-4D46-8F18-0F5D078212D2}.Debug|x64.Build.0 = Debug|x64 + {504F5562-47FD-4D46-8F18-0F5D078212D2}.Debug|x86.ActiveCfg = Debug|x64 {504F5562-47FD-4D46-8F18-0F5D078212D2}.Release|x64.ActiveCfg = Release|x64 {504F5562-47FD-4D46-8F18-0F5D078212D2}.Release|x64.Build.0 = Release|x64 + {504F5562-47FD-4D46-8F18-0F5D078212D2}.Release|x86.ActiveCfg = Release|x64 {512D6313-BBE7-4ED0-92FF-A2B39817D059}.Debug|x64.ActiveCfg = Debug|x64 {512D6313-BBE7-4ED0-92FF-A2B39817D059}.Debug|x64.Build.0 = Debug|x64 + {512D6313-BBE7-4ED0-92FF-A2B39817D059}.Debug|x86.ActiveCfg = Debug|x64 {512D6313-BBE7-4ED0-92FF-A2B39817D059}.Release|x64.ActiveCfg = Release|x64 {512D6313-BBE7-4ED0-92FF-A2B39817D059}.Release|x64.Build.0 = Release|x64 + {512D6313-BBE7-4ED0-92FF-A2B39817D059}.Release|x86.ActiveCfg = Release|x64 {3B7D8A46-01A9-47E3-A431-F7DD7B5C7DD3}.Debug|x64.ActiveCfg = Debug|x64 {3B7D8A46-01A9-47E3-A431-F7DD7B5C7DD3}.Debug|x64.Build.0 = Debug|x64 + {3B7D8A46-01A9-47E3-A431-F7DD7B5C7DD3}.Debug|x86.ActiveCfg = Debug|x64 {3B7D8A46-01A9-47E3-A431-F7DD7B5C7DD3}.Release|x64.ActiveCfg = Release|x64 {3B7D8A46-01A9-47E3-A431-F7DD7B5C7DD3}.Release|x64.Build.0 = Release|x64 + {3B7D8A46-01A9-47E3-A431-F7DD7B5C7DD3}.Release|x86.ActiveCfg = Release|x64 {3049CF3F-97D8-4E88-AF5A-8C0F4D52A688}.Debug|x64.ActiveCfg = Debug|x64 {3049CF3F-97D8-4E88-AF5A-8C0F4D52A688}.Debug|x64.Build.0 = Debug|x64 + {3049CF3F-97D8-4E88-AF5A-8C0F4D52A688}.Debug|x86.ActiveCfg = Debug|x64 {3049CF3F-97D8-4E88-AF5A-8C0F4D52A688}.Release|x64.ActiveCfg = Release|x64 {3049CF3F-97D8-4E88-AF5A-8C0F4D52A688}.Release|x64.Build.0 = Release|x64 + {3049CF3F-97D8-4E88-AF5A-8C0F4D52A688}.Release|x86.ActiveCfg = Release|x64 {94157F30-3A38-4F0C-8C7C-7E8AA0560EBD}.Debug|x64.ActiveCfg = Debug|x64 {94157F30-3A38-4F0C-8C7C-7E8AA0560EBD}.Debug|x64.Build.0 = Debug|x64 + {94157F30-3A38-4F0C-8C7C-7E8AA0560EBD}.Debug|x86.ActiveCfg = Debug|x64 {94157F30-3A38-4F0C-8C7C-7E8AA0560EBD}.Release|x64.ActiveCfg = Release|x64 {94157F30-3A38-4F0C-8C7C-7E8AA0560EBD}.Release|x64.Build.0 = Release|x64 + {94157F30-3A38-4F0C-8C7C-7E8AA0560EBD}.Release|x86.ActiveCfg = Release|x64 {0484B8F5-F399-4A09-B604-CE5C981F3FDF}.Debug|x64.ActiveCfg = Debug|x64 {0484B8F5-F399-4A09-B604-CE5C981F3FDF}.Debug|x64.Build.0 = Debug|x64 + {0484B8F5-F399-4A09-B604-CE5C981F3FDF}.Debug|x86.ActiveCfg = Debug|x64 {0484B8F5-F399-4A09-B604-CE5C981F3FDF}.Release|x64.ActiveCfg = Release|x64 {0484B8F5-F399-4A09-B604-CE5C981F3FDF}.Release|x64.Build.0 = Release|x64 + {0484B8F5-F399-4A09-B604-CE5C981F3FDF}.Release|x86.ActiveCfg = Release|x64 {6F16F25A-6B06-4AB7-9B87-95311D8A4E2E}.Debug|x64.ActiveCfg = Debug|x64 {6F16F25A-6B06-4AB7-9B87-95311D8A4E2E}.Debug|x64.Build.0 = Debug|x64 + {6F16F25A-6B06-4AB7-9B87-95311D8A4E2E}.Debug|x86.ActiveCfg = Debug|x64 {6F16F25A-6B06-4AB7-9B87-95311D8A4E2E}.Release|x64.ActiveCfg = Release|x64 {6F16F25A-6B06-4AB7-9B87-95311D8A4E2E}.Release|x64.Build.0 = Release|x64 + {6F16F25A-6B06-4AB7-9B87-95311D8A4E2E}.Release|x86.ActiveCfg = Release|x64 {6D3C96B1-886E-4415-88BF-F5376A17222A}.Debug|x64.ActiveCfg = Debug|x64 {6D3C96B1-886E-4415-88BF-F5376A17222A}.Debug|x64.Build.0 = Debug|x64 + {6D3C96B1-886E-4415-88BF-F5376A17222A}.Debug|x86.ActiveCfg = Debug|x64 {6D3C96B1-886E-4415-88BF-F5376A17222A}.Release|x64.ActiveCfg = Release|x64 {6D3C96B1-886E-4415-88BF-F5376A17222A}.Release|x64.Build.0 = Release|x64 + {6D3C96B1-886E-4415-88BF-F5376A17222A}.Release|x86.ActiveCfg = Release|x64 {63DEA291-B595-447A-8C7F-D32AFDA11DFD}.Debug|x64.ActiveCfg = Debug|x64 {63DEA291-B595-447A-8C7F-D32AFDA11DFD}.Debug|x64.Build.0 = Debug|x64 + {63DEA291-B595-447A-8C7F-D32AFDA11DFD}.Debug|x86.ActiveCfg = Debug|x64 {63DEA291-B595-447A-8C7F-D32AFDA11DFD}.Release|x64.ActiveCfg = Release|x64 {63DEA291-B595-447A-8C7F-D32AFDA11DFD}.Release|x64.Build.0 = Release|x64 + {63DEA291-B595-447A-8C7F-D32AFDA11DFD}.Release|x86.ActiveCfg = Release|x64 {805A53D5-1E00-42D7-96F0-661AC7D042A6}.Debug|x64.ActiveCfg = Debug|x64 {805A53D5-1E00-42D7-96F0-661AC7D042A6}.Debug|x64.Build.0 = Debug|x64 + {805A53D5-1E00-42D7-96F0-661AC7D042A6}.Debug|x86.ActiveCfg = Debug|x64 {805A53D5-1E00-42D7-96F0-661AC7D042A6}.Release|x64.ActiveCfg = Release|x64 {805A53D5-1E00-42D7-96F0-661AC7D042A6}.Release|x64.Build.0 = Release|x64 + {805A53D5-1E00-42D7-96F0-661AC7D042A6}.Release|x86.ActiveCfg = Release|x64 {ED3E2C21-ADA8-446D-8951-26F1E6E9F4DC}.Debug|x64.ActiveCfg = Debug|x64 {ED3E2C21-ADA8-446D-8951-26F1E6E9F4DC}.Debug|x64.Build.0 = Debug|x64 + {ED3E2C21-ADA8-446D-8951-26F1E6E9F4DC}.Debug|x86.ActiveCfg = Debug|x64 {ED3E2C21-ADA8-446D-8951-26F1E6E9F4DC}.Release|x64.ActiveCfg = Release|x64 {ED3E2C21-ADA8-446D-8951-26F1E6E9F4DC}.Release|x64.Build.0 = Release|x64 + {ED3E2C21-ADA8-446D-8951-26F1E6E9F4DC}.Release|x86.ActiveCfg = Release|x64 {97768FFD-1616-4CA5-902A-2F128118CC39}.Debug|x64.ActiveCfg = Debug|x64 {97768FFD-1616-4CA5-902A-2F128118CC39}.Debug|x64.Build.0 = Debug|x64 + {97768FFD-1616-4CA5-902A-2F128118CC39}.Debug|x86.ActiveCfg = Debug|x64 {97768FFD-1616-4CA5-902A-2F128118CC39}.Release|x64.ActiveCfg = Release|x64 {97768FFD-1616-4CA5-902A-2F128118CC39}.Release|x64.Build.0 = Release|x64 + {97768FFD-1616-4CA5-902A-2F128118CC39}.Release|x86.ActiveCfg = Release|x64 {00E2B1E5-E1AA-4422-882C-A1DC0FB3C296}.Debug|x64.ActiveCfg = Debug|x64 {00E2B1E5-E1AA-4422-882C-A1DC0FB3C296}.Debug|x64.Build.0 = Debug|x64 + {00E2B1E5-E1AA-4422-882C-A1DC0FB3C296}.Debug|x86.ActiveCfg = Debug|x64 {00E2B1E5-E1AA-4422-882C-A1DC0FB3C296}.Release|x64.ActiveCfg = Release|x64 {00E2B1E5-E1AA-4422-882C-A1DC0FB3C296}.Release|x64.Build.0 = Release|x64 + {00E2B1E5-E1AA-4422-882C-A1DC0FB3C296}.Release|x86.ActiveCfg = Release|x64 {BC02359B-2485-413C-ABAF-54CA71E650E5}.Debug|x64.ActiveCfg = Debug|x64 {BC02359B-2485-413C-ABAF-54CA71E650E5}.Debug|x64.Build.0 = Debug|x64 + {BC02359B-2485-413C-ABAF-54CA71E650E5}.Debug|x86.ActiveCfg = Debug|x64 {BC02359B-2485-413C-ABAF-54CA71E650E5}.Release|x64.ActiveCfg = Release|x64 {BC02359B-2485-413C-ABAF-54CA71E650E5}.Release|x64.Build.0 = Release|x64 + {BC02359B-2485-413C-ABAF-54CA71E650E5}.Release|x86.ActiveCfg = Release|x64 {9EFC3E5C-9172-4AA9-A258-787E9A432F9D}.Debug|x64.ActiveCfg = Debug|x64 {9EFC3E5C-9172-4AA9-A258-787E9A432F9D}.Debug|x64.Build.0 = Debug|x64 + {9EFC3E5C-9172-4AA9-A258-787E9A432F9D}.Debug|x86.ActiveCfg = Debug|x64 {9EFC3E5C-9172-4AA9-A258-787E9A432F9D}.Release|x64.ActiveCfg = Release|x64 {9EFC3E5C-9172-4AA9-A258-787E9A432F9D}.Release|x64.Build.0 = Release|x64 + {9EFC3E5C-9172-4AA9-A258-787E9A432F9D}.Release|x86.ActiveCfg = Release|x64 {641D9549-0A15-4A98-9895-FDD19B380376}.Debug|x64.ActiveCfg = Debug|x64 {641D9549-0A15-4A98-9895-FDD19B380376}.Debug|x64.Build.0 = Debug|x64 + {641D9549-0A15-4A98-9895-FDD19B380376}.Debug|x86.ActiveCfg = Debug|x64 {641D9549-0A15-4A98-9895-FDD19B380376}.Release|x64.ActiveCfg = Release|x64 {641D9549-0A15-4A98-9895-FDD19B380376}.Release|x64.Build.0 = Release|x64 + {641D9549-0A15-4A98-9895-FDD19B380376}.Release|x86.ActiveCfg = Release|x64 {A982F985-EE25-434F-B9AF-E33C8A3AAC58}.Debug|x64.ActiveCfg = Debug|x64 {A982F985-EE25-434F-B9AF-E33C8A3AAC58}.Debug|x64.Build.0 = Debug|x64 + {A982F985-EE25-434F-B9AF-E33C8A3AAC58}.Debug|x86.ActiveCfg = Debug|x64 {A982F985-EE25-434F-B9AF-E33C8A3AAC58}.Release|x64.ActiveCfg = Release|x64 {A982F985-EE25-434F-B9AF-E33C8A3AAC58}.Release|x64.Build.0 = Release|x64 + {A982F985-EE25-434F-B9AF-E33C8A3AAC58}.Release|x86.ActiveCfg = Release|x64 {47C2BC19-A92B-4B1A-A0ED-E01D5DF50BDF}.Debug|x64.ActiveCfg = Debug|x64 {47C2BC19-A92B-4B1A-A0ED-E01D5DF50BDF}.Debug|x64.Build.0 = Debug|x64 + {47C2BC19-A92B-4B1A-A0ED-E01D5DF50BDF}.Debug|x86.ActiveCfg = Debug|x64 {47C2BC19-A92B-4B1A-A0ED-E01D5DF50BDF}.Release|x64.ActiveCfg = Release|x64 {47C2BC19-A92B-4B1A-A0ED-E01D5DF50BDF}.Release|x64.Build.0 = Release|x64 + {47C2BC19-A92B-4B1A-A0ED-E01D5DF50BDF}.Release|x86.ActiveCfg = Release|x64 {CF768AA5-5FC1-4657-8717-5AB4C0B71E9F}.Debug|x64.ActiveCfg = Debug|x64 {CF768AA5-5FC1-4657-8717-5AB4C0B71E9F}.Debug|x64.Build.0 = Debug|x64 + {CF768AA5-5FC1-4657-8717-5AB4C0B71E9F}.Debug|x86.ActiveCfg = Debug|x64 {CF768AA5-5FC1-4657-8717-5AB4C0B71E9F}.Release|x64.ActiveCfg = Release|x64 {CF768AA5-5FC1-4657-8717-5AB4C0B71E9F}.Release|x64.Build.0 = Release|x64 + {CF768AA5-5FC1-4657-8717-5AB4C0B71E9F}.Release|x86.ActiveCfg = Release|x64 {93B23968-DB73-4209-9D19-613A00BFE6B0}.Debug|x64.ActiveCfg = Debug|x64 {93B23968-DB73-4209-9D19-613A00BFE6B0}.Debug|x64.Build.0 = Debug|x64 + {93B23968-DB73-4209-9D19-613A00BFE6B0}.Debug|x86.ActiveCfg = Debug|x64 {93B23968-DB73-4209-9D19-613A00BFE6B0}.Release|x64.ActiveCfg = Release|x64 {93B23968-DB73-4209-9D19-613A00BFE6B0}.Release|x64.Build.0 = Release|x64 + {93B23968-DB73-4209-9D19-613A00BFE6B0}.Release|x86.ActiveCfg = Release|x64 {A6E4F003-EC8E-4868-9ABC-78D7C743BFB8}.Debug|x64.ActiveCfg = Debug|x64 {A6E4F003-EC8E-4868-9ABC-78D7C743BFB8}.Debug|x64.Build.0 = Debug|x64 + {A6E4F003-EC8E-4868-9ABC-78D7C743BFB8}.Debug|x86.ActiveCfg = Debug|x64 {A6E4F003-EC8E-4868-9ABC-78D7C743BFB8}.Release|x64.ActiveCfg = Release|x64 {A6E4F003-EC8E-4868-9ABC-78D7C743BFB8}.Release|x64.Build.0 = Release|x64 + {A6E4F003-EC8E-4868-9ABC-78D7C743BFB8}.Release|x86.ActiveCfg = Release|x64 {89E3B550-695B-48CA-95CB-514AD36A216D}.Debug|x64.ActiveCfg = Debug|x64 {89E3B550-695B-48CA-95CB-514AD36A216D}.Debug|x64.Build.0 = Debug|x64 + {89E3B550-695B-48CA-95CB-514AD36A216D}.Debug|x86.ActiveCfg = Debug|x64 {89E3B550-695B-48CA-95CB-514AD36A216D}.Release|x64.ActiveCfg = Release|x64 {89E3B550-695B-48CA-95CB-514AD36A216D}.Release|x64.Build.0 = Release|x64 + {89E3B550-695B-48CA-95CB-514AD36A216D}.Release|x86.ActiveCfg = Release|x64 {736FBB21-A1CB-47AB-A511-8C4D4C6C4CCA}.Debug|x64.ActiveCfg = Debug|x64 {736FBB21-A1CB-47AB-A511-8C4D4C6C4CCA}.Debug|x64.Build.0 = Debug|x64 + {736FBB21-A1CB-47AB-A511-8C4D4C6C4CCA}.Debug|x86.ActiveCfg = Debug|x64 {736FBB21-A1CB-47AB-A511-8C4D4C6C4CCA}.Release|x64.ActiveCfg = Release|x64 {736FBB21-A1CB-47AB-A511-8C4D4C6C4CCA}.Release|x64.Build.0 = Release|x64 + {736FBB21-A1CB-47AB-A511-8C4D4C6C4CCA}.Release|x86.ActiveCfg = Release|x64 {F4370C29-1428-41CC-A52D-EB1EE711DCBC}.Debug|x64.ActiveCfg = Debug|x64 {F4370C29-1428-41CC-A52D-EB1EE711DCBC}.Debug|x64.Build.0 = Debug|x64 + {F4370C29-1428-41CC-A52D-EB1EE711DCBC}.Debug|x86.ActiveCfg = Debug|x64 {F4370C29-1428-41CC-A52D-EB1EE711DCBC}.Release|x64.ActiveCfg = Release|x64 {F4370C29-1428-41CC-A52D-EB1EE711DCBC}.Release|x64.Build.0 = Release|x64 + {F4370C29-1428-41CC-A52D-EB1EE711DCBC}.Release|x86.ActiveCfg = Release|x64 {7BC77845-C12B-443E-800F-ABA28C25BCD3}.Debug|x64.ActiveCfg = Debug|x64 {7BC77845-C12B-443E-800F-ABA28C25BCD3}.Debug|x64.Build.0 = Debug|x64 + {7BC77845-C12B-443E-800F-ABA28C25BCD3}.Debug|x86.ActiveCfg = Debug|x64 {7BC77845-C12B-443E-800F-ABA28C25BCD3}.Release|x64.ActiveCfg = Release|x64 {7BC77845-C12B-443E-800F-ABA28C25BCD3}.Release|x64.Build.0 = Release|x64 + {7BC77845-C12B-443E-800F-ABA28C25BCD3}.Release|x86.ActiveCfg = Release|x64 {B3649820-C484-41C1-ABA1-38958EA7C2F6}.Debug|x64.ActiveCfg = Debug|x64 {B3649820-C484-41C1-ABA1-38958EA7C2F6}.Debug|x64.Build.0 = Debug|x64 + {B3649820-C484-41C1-ABA1-38958EA7C2F6}.Debug|x86.ActiveCfg = Debug|x64 {B3649820-C484-41C1-ABA1-38958EA7C2F6}.Release|x64.ActiveCfg = Release|x64 {B3649820-C484-41C1-ABA1-38958EA7C2F6}.Release|x64.Build.0 = Release|x64 + {B3649820-C484-41C1-ABA1-38958EA7C2F6}.Release|x86.ActiveCfg = Release|x64 {21977D8F-A672-4087-8A2D-B6CD64AC9355}.Debug|x64.ActiveCfg = Debug|x64 {21977D8F-A672-4087-8A2D-B6CD64AC9355}.Debug|x64.Build.0 = Debug|x64 + {21977D8F-A672-4087-8A2D-B6CD64AC9355}.Debug|x86.ActiveCfg = Debug|x64 {21977D8F-A672-4087-8A2D-B6CD64AC9355}.Release|x64.ActiveCfg = Release|x64 {21977D8F-A672-4087-8A2D-B6CD64AC9355}.Release|x64.Build.0 = Release|x64 + {21977D8F-A672-4087-8A2D-B6CD64AC9355}.Release|x86.ActiveCfg = Release|x64 {BAD7F927-3E16-4E48-BC4D-BD44EE743D31}.Debug|x64.ActiveCfg = Debug|x64 {BAD7F927-3E16-4E48-BC4D-BD44EE743D31}.Debug|x64.Build.0 = Debug|x64 + {BAD7F927-3E16-4E48-BC4D-BD44EE743D31}.Debug|x86.ActiveCfg = Debug|x64 {BAD7F927-3E16-4E48-BC4D-BD44EE743D31}.Release|x64.ActiveCfg = Release|x64 {BAD7F927-3E16-4E48-BC4D-BD44EE743D31}.Release|x64.Build.0 = Release|x64 + {BAD7F927-3E16-4E48-BC4D-BD44EE743D31}.Release|x86.ActiveCfg = Release|x64 {F6797E85-2A45-41E0-A066-85C78D7E3CD2}.Debug|x64.ActiveCfg = Debug|x64 {F6797E85-2A45-41E0-A066-85C78D7E3CD2}.Debug|x64.Build.0 = Debug|x64 + {F6797E85-2A45-41E0-A066-85C78D7E3CD2}.Debug|x86.ActiveCfg = Debug|x64 {F6797E85-2A45-41E0-A066-85C78D7E3CD2}.Release|x64.ActiveCfg = Release|x64 {F6797E85-2A45-41E0-A066-85C78D7E3CD2}.Release|x64.Build.0 = Release|x64 + {F6797E85-2A45-41E0-A066-85C78D7E3CD2}.Release|x86.ActiveCfg = Release|x64 {CE9218C0-5508-413D-8D9F-A022D61C4C10}.Debug|x64.ActiveCfg = Debug|x64 {CE9218C0-5508-413D-8D9F-A022D61C4C10}.Debug|x64.Build.0 = Debug|x64 + {CE9218C0-5508-413D-8D9F-A022D61C4C10}.Debug|x86.ActiveCfg = Debug|x64 {CE9218C0-5508-413D-8D9F-A022D61C4C10}.Release|x64.ActiveCfg = Release|x64 {CE9218C0-5508-413D-8D9F-A022D61C4C10}.Release|x64.Build.0 = Release|x64 + {CE9218C0-5508-413D-8D9F-A022D61C4C10}.Release|x86.ActiveCfg = Release|x64 {A0676B13-4850-4BF4-88BC-F099BEE5B762}.Debug|x64.ActiveCfg = Debug|x64 {A0676B13-4850-4BF4-88BC-F099BEE5B762}.Debug|x64.Build.0 = Debug|x64 + {A0676B13-4850-4BF4-88BC-F099BEE5B762}.Debug|x86.ActiveCfg = Debug|x64 {A0676B13-4850-4BF4-88BC-F099BEE5B762}.Release|x64.ActiveCfg = Release|x64 {A0676B13-4850-4BF4-88BC-F099BEE5B762}.Release|x64.Build.0 = Release|x64 + {A0676B13-4850-4BF4-88BC-F099BEE5B762}.Release|x86.ActiveCfg = Release|x64 {EAF38044-90A7-4062-B4B6-C0F6357E9EB9}.Debug|x64.ActiveCfg = Debug|x64 {EAF38044-90A7-4062-B4B6-C0F6357E9EB9}.Debug|x64.Build.0 = Debug|x64 + {EAF38044-90A7-4062-B4B6-C0F6357E9EB9}.Debug|x86.ActiveCfg = Debug|x64 {EAF38044-90A7-4062-B4B6-C0F6357E9EB9}.Release|x64.ActiveCfg = Release|x64 {EAF38044-90A7-4062-B4B6-C0F6357E9EB9}.Release|x64.Build.0 = Release|x64 + {EAF38044-90A7-4062-B4B6-C0F6357E9EB9}.Release|x86.ActiveCfg = Release|x64 {43564119-6C0F-4589-9BF5-0C6C653FF9F1}.Debug|x64.ActiveCfg = Debug|x64 {43564119-6C0F-4589-9BF5-0C6C653FF9F1}.Debug|x64.Build.0 = Debug|x64 + {43564119-6C0F-4589-9BF5-0C6C653FF9F1}.Debug|x86.ActiveCfg = Debug|x64 {43564119-6C0F-4589-9BF5-0C6C653FF9F1}.Release|x64.ActiveCfg = Release|x64 {43564119-6C0F-4589-9BF5-0C6C653FF9F1}.Release|x64.Build.0 = Release|x64 + {43564119-6C0F-4589-9BF5-0C6C653FF9F1}.Release|x86.ActiveCfg = Release|x64 {C374EE7D-242E-483E-AB16-C455EA9AF9E3}.Debug|x64.ActiveCfg = Debug|x64 {C374EE7D-242E-483E-AB16-C455EA9AF9E3}.Debug|x64.Build.0 = Debug|x64 + {C374EE7D-242E-483E-AB16-C455EA9AF9E3}.Debug|x86.ActiveCfg = Debug|x64 {C374EE7D-242E-483E-AB16-C455EA9AF9E3}.Release|x64.ActiveCfg = Release|x64 {C374EE7D-242E-483E-AB16-C455EA9AF9E3}.Release|x64.Build.0 = Release|x64 + {C374EE7D-242E-483E-AB16-C455EA9AF9E3}.Release|x86.ActiveCfg = Release|x64 {71ADDFBC-1246-482E-A326-51A156C3B8A7}.Debug|x64.ActiveCfg = Debug|x64 {71ADDFBC-1246-482E-A326-51A156C3B8A7}.Debug|x64.Build.0 = Debug|x64 + {71ADDFBC-1246-482E-A326-51A156C3B8A7}.Debug|x86.ActiveCfg = Debug|x64 {71ADDFBC-1246-482E-A326-51A156C3B8A7}.Release|x64.ActiveCfg = Release|x64 {71ADDFBC-1246-482E-A326-51A156C3B8A7}.Release|x64.Build.0 = Release|x64 + {71ADDFBC-1246-482E-A326-51A156C3B8A7}.Release|x86.ActiveCfg = Release|x64 {C1769CC1-A247-432C-9575-3A5A3C7402C7}.Debug|x64.ActiveCfg = Debug|x64 {C1769CC1-A247-432C-9575-3A5A3C7402C7}.Debug|x64.Build.0 = Debug|x64 + {C1769CC1-A247-432C-9575-3A5A3C7402C7}.Debug|x86.ActiveCfg = Debug|x64 {C1769CC1-A247-432C-9575-3A5A3C7402C7}.Release|x64.ActiveCfg = Release|x64 {C1769CC1-A247-432C-9575-3A5A3C7402C7}.Release|x64.Build.0 = Release|x64 + {C1769CC1-A247-432C-9575-3A5A3C7402C7}.Release|x86.ActiveCfg = Release|x64 {0C72F391-6E64-4C65-9029-CD20C3B9CE10}.Debug|x64.ActiveCfg = Debug|x64 {0C72F391-6E64-4C65-9029-CD20C3B9CE10}.Debug|x64.Build.0 = Debug|x64 + {0C72F391-6E64-4C65-9029-CD20C3B9CE10}.Debug|x86.ActiveCfg = Debug|x64 {0C72F391-6E64-4C65-9029-CD20C3B9CE10}.Release|x64.ActiveCfg = Release|x64 {0C72F391-6E64-4C65-9029-CD20C3B9CE10}.Release|x64.Build.0 = Release|x64 + {0C72F391-6E64-4C65-9029-CD20C3B9CE10}.Release|x86.ActiveCfg = Release|x64 {474D32D8-5BEC-453B-ADEA-ACF6F742DE0D}.Debug|x64.ActiveCfg = Debug|x64 {474D32D8-5BEC-453B-ADEA-ACF6F742DE0D}.Debug|x64.Build.0 = Debug|x64 + {474D32D8-5BEC-453B-ADEA-ACF6F742DE0D}.Debug|x86.ActiveCfg = Debug|x64 {474D32D8-5BEC-453B-ADEA-ACF6F742DE0D}.Release|x64.ActiveCfg = Release|x64 {474D32D8-5BEC-453B-ADEA-ACF6F742DE0D}.Release|x64.Build.0 = Release|x64 + {474D32D8-5BEC-453B-ADEA-ACF6F742DE0D}.Release|x86.ActiveCfg = Release|x64 {BD5DD57F-A092-4441-BA35-5B0701C7CCE5}.Debug|x64.ActiveCfg = Debug|x64 {BD5DD57F-A092-4441-BA35-5B0701C7CCE5}.Debug|x64.Build.0 = Debug|x64 + {BD5DD57F-A092-4441-BA35-5B0701C7CCE5}.Debug|x86.ActiveCfg = Debug|x64 {BD5DD57F-A092-4441-BA35-5B0701C7CCE5}.Release|x64.ActiveCfg = Release|x64 {BD5DD57F-A092-4441-BA35-5B0701C7CCE5}.Release|x64.Build.0 = Release|x64 + {BD5DD57F-A092-4441-BA35-5B0701C7CCE5}.Release|x86.ActiveCfg = Release|x64 {DFA5AB7B-A917-44BB-AB76-6AB1AECFADC8}.Debug|x64.ActiveCfg = Debug|x64 {DFA5AB7B-A917-44BB-AB76-6AB1AECFADC8}.Debug|x64.Build.0 = Debug|x64 + {DFA5AB7B-A917-44BB-AB76-6AB1AECFADC8}.Debug|x86.ActiveCfg = Debug|x64 {DFA5AB7B-A917-44BB-AB76-6AB1AECFADC8}.Release|x64.ActiveCfg = Release|x64 {DFA5AB7B-A917-44BB-AB76-6AB1AECFADC8}.Release|x64.Build.0 = Release|x64 + {DFA5AB7B-A917-44BB-AB76-6AB1AECFADC8}.Release|x86.ActiveCfg = Release|x64 {715C6F65-57D3-462B-92BC-C4E99B2FFC2B}.Debug|x64.ActiveCfg = Debug|x64 {715C6F65-57D3-462B-92BC-C4E99B2FFC2B}.Debug|x64.Build.0 = Debug|x64 + {715C6F65-57D3-462B-92BC-C4E99B2FFC2B}.Debug|x86.ActiveCfg = Debug|x64 {715C6F65-57D3-462B-92BC-C4E99B2FFC2B}.Release|x64.ActiveCfg = Release|x64 {715C6F65-57D3-462B-92BC-C4E99B2FFC2B}.Release|x64.Build.0 = Release|x64 + {715C6F65-57D3-462B-92BC-C4E99B2FFC2B}.Release|x86.ActiveCfg = Release|x64 {27A3BEE1-1852-44CD-A271-46D667378699}.Debug|x64.ActiveCfg = Debug|x64 {27A3BEE1-1852-44CD-A271-46D667378699}.Debug|x64.Build.0 = Debug|x64 + {27A3BEE1-1852-44CD-A271-46D667378699}.Debug|x86.ActiveCfg = Debug|x64 {27A3BEE1-1852-44CD-A271-46D667378699}.Release|x64.ActiveCfg = Release|x64 {27A3BEE1-1852-44CD-A271-46D667378699}.Release|x64.Build.0 = Release|x64 + {27A3BEE1-1852-44CD-A271-46D667378699}.Release|x86.ActiveCfg = Release|x64 {66015666-4FA4-4313-86A1-A4B44B608FD8}.Debug|x64.ActiveCfg = Debug|x64 {66015666-4FA4-4313-86A1-A4B44B608FD8}.Debug|x64.Build.0 = Debug|x64 + {66015666-4FA4-4313-86A1-A4B44B608FD8}.Debug|x86.ActiveCfg = Debug|x64 {66015666-4FA4-4313-86A1-A4B44B608FD8}.Release|x64.ActiveCfg = Release|x64 {66015666-4FA4-4313-86A1-A4B44B608FD8}.Release|x64.Build.0 = Release|x64 + {66015666-4FA4-4313-86A1-A4B44B608FD8}.Release|x86.ActiveCfg = Release|x64 {1D7C5EE9-360A-4ECD-A732-16A57D05CA2C}.Debug|x64.ActiveCfg = Debug|x64 {1D7C5EE9-360A-4ECD-A732-16A57D05CA2C}.Debug|x64.Build.0 = Debug|x64 + {1D7C5EE9-360A-4ECD-A732-16A57D05CA2C}.Debug|x86.ActiveCfg = Debug|x64 {1D7C5EE9-360A-4ECD-A732-16A57D05CA2C}.Release|x64.ActiveCfg = Release|x64 {1D7C5EE9-360A-4ECD-A732-16A57D05CA2C}.Release|x64.Build.0 = Release|x64 + {1D7C5EE9-360A-4ECD-A732-16A57D05CA2C}.Release|x86.ActiveCfg = Release|x64 {FE81C0DA-B042-4ACA-B0CF-B9ABEB687FB8}.Debug|x64.ActiveCfg = Debug|x64 {FE81C0DA-B042-4ACA-B0CF-B9ABEB687FB8}.Debug|x64.Build.0 = Debug|x64 + {FE81C0DA-B042-4ACA-B0CF-B9ABEB687FB8}.Debug|x86.ActiveCfg = Debug|x64 {FE81C0DA-B042-4ACA-B0CF-B9ABEB687FB8}.Release|x64.ActiveCfg = Release|x64 {FE81C0DA-B042-4ACA-B0CF-B9ABEB687FB8}.Release|x64.Build.0 = Release|x64 + {FE81C0DA-B042-4ACA-B0CF-B9ABEB687FB8}.Release|x86.ActiveCfg = Release|x64 {1CB0DE2A-5A06-4F58-9EB1-8D3B289EAC7B}.Debug|x64.ActiveCfg = Debug|x64 {1CB0DE2A-5A06-4F58-9EB1-8D3B289EAC7B}.Debug|x64.Build.0 = Debug|x64 + {1CB0DE2A-5A06-4F58-9EB1-8D3B289EAC7B}.Debug|x86.ActiveCfg = Debug|x64 {1CB0DE2A-5A06-4F58-9EB1-8D3B289EAC7B}.Release|x64.ActiveCfg = Release|x64 {1CB0DE2A-5A06-4F58-9EB1-8D3B289EAC7B}.Release|x64.Build.0 = Release|x64 + {1CB0DE2A-5A06-4F58-9EB1-8D3B289EAC7B}.Release|x86.ActiveCfg = Release|x64 {F0E26FF0-5A6E-4B20-8467-2EA2A7E128E3}.Debug|x64.ActiveCfg = Debug|x64 {F0E26FF0-5A6E-4B20-8467-2EA2A7E128E3}.Debug|x64.Build.0 = Debug|x64 + {F0E26FF0-5A6E-4B20-8467-2EA2A7E128E3}.Debug|x86.ActiveCfg = Debug|x64 {F0E26FF0-5A6E-4B20-8467-2EA2A7E128E3}.Release|x64.ActiveCfg = Release|x64 {F0E26FF0-5A6E-4B20-8467-2EA2A7E128E3}.Release|x64.Build.0 = Release|x64 + {F0E26FF0-5A6E-4B20-8467-2EA2A7E128E3}.Release|x86.ActiveCfg = Release|x64 {986A17F0-C03C-41E5-B27F-5D46CC3361A2}.Debug|x64.ActiveCfg = Debug|x64 {986A17F0-C03C-41E5-B27F-5D46CC3361A2}.Debug|x64.Build.0 = Debug|x64 + {986A17F0-C03C-41E5-B27F-5D46CC3361A2}.Debug|x86.ActiveCfg = Debug|x64 {986A17F0-C03C-41E5-B27F-5D46CC3361A2}.Release|x64.ActiveCfg = Release|x64 {986A17F0-C03C-41E5-B27F-5D46CC3361A2}.Release|x64.Build.0 = Release|x64 + {986A17F0-C03C-41E5-B27F-5D46CC3361A2}.Release|x86.ActiveCfg = Release|x64 {A0A13E6E-0A7F-42F9-9695-68900BB2455D}.Debug|x64.ActiveCfg = Debug|x64 {A0A13E6E-0A7F-42F9-9695-68900BB2455D}.Debug|x64.Build.0 = Debug|x64 + {A0A13E6E-0A7F-42F9-9695-68900BB2455D}.Debug|x86.ActiveCfg = Debug|x64 {A0A13E6E-0A7F-42F9-9695-68900BB2455D}.Release|x64.ActiveCfg = Release|x64 {A0A13E6E-0A7F-42F9-9695-68900BB2455D}.Release|x64.Build.0 = Release|x64 + {A0A13E6E-0A7F-42F9-9695-68900BB2455D}.Release|x86.ActiveCfg = Release|x64 {CCF70670-40F9-4F6C-B202-0D1A2E0F21BD}.Debug|x64.ActiveCfg = Debug|x64 {CCF70670-40F9-4F6C-B202-0D1A2E0F21BD}.Debug|x64.Build.0 = Debug|x64 + {CCF70670-40F9-4F6C-B202-0D1A2E0F21BD}.Debug|x86.ActiveCfg = Debug|x64 {CCF70670-40F9-4F6C-B202-0D1A2E0F21BD}.Release|x64.ActiveCfg = Release|x64 {CCF70670-40F9-4F6C-B202-0D1A2E0F21BD}.Release|x64.Build.0 = Release|x64 + {CCF70670-40F9-4F6C-B202-0D1A2E0F21BD}.Release|x86.ActiveCfg = Release|x64 {45AC6AA4-D094-4248-98E1-53403895BEE8}.Debug|x64.ActiveCfg = Debug|x64 {45AC6AA4-D094-4248-98E1-53403895BEE8}.Debug|x64.Build.0 = Debug|x64 + {45AC6AA4-D094-4248-98E1-53403895BEE8}.Debug|x86.ActiveCfg = Debug|x64 {45AC6AA4-D094-4248-98E1-53403895BEE8}.Release|x64.ActiveCfg = Release|x64 {45AC6AA4-D094-4248-98E1-53403895BEE8}.Release|x64.Build.0 = Release|x64 + {45AC6AA4-D094-4248-98E1-53403895BEE8}.Release|x86.ActiveCfg = Release|x64 {E4867599-5514-46D9-9200-AD2BC4674015}.Debug|x64.ActiveCfg = Debug|x64 {E4867599-5514-46D9-9200-AD2BC4674015}.Debug|x64.Build.0 = Debug|x64 + {E4867599-5514-46D9-9200-AD2BC4674015}.Debug|x86.ActiveCfg = Debug|x64 {E4867599-5514-46D9-9200-AD2BC4674015}.Release|x64.ActiveCfg = Release|x64 {E4867599-5514-46D9-9200-AD2BC4674015}.Release|x64.Build.0 = Release|x64 + {E4867599-5514-46D9-9200-AD2BC4674015}.Release|x86.ActiveCfg = Release|x64 {D098C9DC-D6DB-4E88-851C-A997D0F87C9D}.Debug|x64.ActiveCfg = Debug|x64 {D098C9DC-D6DB-4E88-851C-A997D0F87C9D}.Debug|x64.Build.0 = Debug|x64 + {D098C9DC-D6DB-4E88-851C-A997D0F87C9D}.Debug|x86.ActiveCfg = Debug|x64 {D098C9DC-D6DB-4E88-851C-A997D0F87C9D}.Release|x64.ActiveCfg = Release|x64 {D098C9DC-D6DB-4E88-851C-A997D0F87C9D}.Release|x64.Build.0 = Release|x64 + {D098C9DC-D6DB-4E88-851C-A997D0F87C9D}.Release|x86.ActiveCfg = Release|x64 {3941E397-C74E-4AC8-8A01-741DB3AD1624}.Debug|x64.ActiveCfg = Debug|x64 {3941E397-C74E-4AC8-8A01-741DB3AD1624}.Debug|x64.Build.0 = Debug|x64 + {3941E397-C74E-4AC8-8A01-741DB3AD1624}.Debug|x86.ActiveCfg = Debug|x64 {3941E397-C74E-4AC8-8A01-741DB3AD1624}.Release|x64.ActiveCfg = Release|x64 {3941E397-C74E-4AC8-8A01-741DB3AD1624}.Release|x64.Build.0 = Release|x64 + {3941E397-C74E-4AC8-8A01-741DB3AD1624}.Release|x86.ActiveCfg = Release|x64 {7074BB23-A32B-4CD5-B77E-9EF4E24416BD}.Debug|x64.ActiveCfg = Debug|x64 {7074BB23-A32B-4CD5-B77E-9EF4E24416BD}.Debug|x64.Build.0 = Debug|x64 + {7074BB23-A32B-4CD5-B77E-9EF4E24416BD}.Debug|x86.ActiveCfg = Debug|x64 {7074BB23-A32B-4CD5-B77E-9EF4E24416BD}.Release|x64.ActiveCfg = Release|x64 {7074BB23-A32B-4CD5-B77E-9EF4E24416BD}.Release|x64.Build.0 = Release|x64 + {7074BB23-A32B-4CD5-B77E-9EF4E24416BD}.Release|x86.ActiveCfg = Release|x64 {E376977B-2B54-4745-9FE1-DDF726AD376F}.Debug|x64.ActiveCfg = Debug|x64 {E376977B-2B54-4745-9FE1-DDF726AD376F}.Debug|x64.Build.0 = Debug|x64 + {E376977B-2B54-4745-9FE1-DDF726AD376F}.Debug|x86.ActiveCfg = Debug|x64 {E376977B-2B54-4745-9FE1-DDF726AD376F}.Release|x64.ActiveCfg = Release|x64 {E376977B-2B54-4745-9FE1-DDF726AD376F}.Release|x64.Build.0 = Release|x64 + {E376977B-2B54-4745-9FE1-DDF726AD376F}.Release|x86.ActiveCfg = Release|x64 {9B71AD68-C43A-42C2-96E7-4113975D1C2A}.Debug|x64.ActiveCfg = Debug|x64 {9B71AD68-C43A-42C2-96E7-4113975D1C2A}.Debug|x64.Build.0 = Debug|x64 + {9B71AD68-C43A-42C2-96E7-4113975D1C2A}.Debug|x86.ActiveCfg = Debug|x64 {9B71AD68-C43A-42C2-96E7-4113975D1C2A}.Release|x64.ActiveCfg = Release|x64 {9B71AD68-C43A-42C2-96E7-4113975D1C2A}.Release|x64.Build.0 = Release|x64 + {9B71AD68-C43A-42C2-96E7-4113975D1C2A}.Release|x86.ActiveCfg = Release|x64 {2289E020-8729-4785-8EEA-168303BF6A35}.Debug|x64.ActiveCfg = Debug|x64 {2289E020-8729-4785-8EEA-168303BF6A35}.Debug|x64.Build.0 = Debug|x64 + {2289E020-8729-4785-8EEA-168303BF6A35}.Debug|x86.ActiveCfg = Debug|x64 {2289E020-8729-4785-8EEA-168303BF6A35}.Release|x64.ActiveCfg = Release|x64 {2289E020-8729-4785-8EEA-168303BF6A35}.Release|x64.Build.0 = Release|x64 + {2289E020-8729-4785-8EEA-168303BF6A35}.Release|x86.ActiveCfg = Release|x64 {A8FBEF79-3324-4ABF-B494-1A47C604F5B5}.Debug|x64.ActiveCfg = Debug|x64 {A8FBEF79-3324-4ABF-B494-1A47C604F5B5}.Debug|x64.Build.0 = Debug|x64 + {A8FBEF79-3324-4ABF-B494-1A47C604F5B5}.Debug|x86.ActiveCfg = Debug|x64 {A8FBEF79-3324-4ABF-B494-1A47C604F5B5}.Release|x64.ActiveCfg = Release|x64 {A8FBEF79-3324-4ABF-B494-1A47C604F5B5}.Release|x64.Build.0 = Release|x64 + {A8FBEF79-3324-4ABF-B494-1A47C604F5B5}.Release|x86.ActiveCfg = Release|x64 {17A48943-0897-4DA3-81D3-CDF2BA6028FD}.Debug|x64.ActiveCfg = Debug|x64 {17A48943-0897-4DA3-81D3-CDF2BA6028FD}.Debug|x64.Build.0 = Debug|x64 + {17A48943-0897-4DA3-81D3-CDF2BA6028FD}.Debug|x86.ActiveCfg = Debug|x64 {17A48943-0897-4DA3-81D3-CDF2BA6028FD}.Release|x64.ActiveCfg = Release|x64 {17A48943-0897-4DA3-81D3-CDF2BA6028FD}.Release|x64.Build.0 = Release|x64 + {17A48943-0897-4DA3-81D3-CDF2BA6028FD}.Release|x86.ActiveCfg = Release|x64 {51AC9E8C-8BD5-4EFE-8571-6EE74D0BC22B}.Debug|x64.ActiveCfg = Debug|x64 {51AC9E8C-8BD5-4EFE-8571-6EE74D0BC22B}.Debug|x64.Build.0 = Debug|x64 + {51AC9E8C-8BD5-4EFE-8571-6EE74D0BC22B}.Debug|x86.ActiveCfg = Debug|x64 {51AC9E8C-8BD5-4EFE-8571-6EE74D0BC22B}.Release|x64.ActiveCfg = Release|x64 {51AC9E8C-8BD5-4EFE-8571-6EE74D0BC22B}.Release|x64.Build.0 = Release|x64 + {51AC9E8C-8BD5-4EFE-8571-6EE74D0BC22B}.Release|x86.ActiveCfg = Release|x64 {5583AC3C-328B-4969-978A-63AED0DD2258}.Debug|x64.ActiveCfg = Debug|x64 {5583AC3C-328B-4969-978A-63AED0DD2258}.Debug|x64.Build.0 = Debug|x64 + {5583AC3C-328B-4969-978A-63AED0DD2258}.Debug|x86.ActiveCfg = Debug|x64 {5583AC3C-328B-4969-978A-63AED0DD2258}.Release|x64.ActiveCfg = Release|x64 {5583AC3C-328B-4969-978A-63AED0DD2258}.Release|x64.Build.0 = Release|x64 + {5583AC3C-328B-4969-978A-63AED0DD2258}.Release|x86.ActiveCfg = Release|x64 {870B45D3-5EA6-47C3-9A86-3372CE0A0436}.Debug|x64.ActiveCfg = Debug|x64 {870B45D3-5EA6-47C3-9A86-3372CE0A0436}.Debug|x64.Build.0 = Debug|x64 + {870B45D3-5EA6-47C3-9A86-3372CE0A0436}.Debug|x86.ActiveCfg = Debug|x64 {870B45D3-5EA6-47C3-9A86-3372CE0A0436}.Release|x64.ActiveCfg = Release|x64 {870B45D3-5EA6-47C3-9A86-3372CE0A0436}.Release|x64.Build.0 = Release|x64 + {870B45D3-5EA6-47C3-9A86-3372CE0A0436}.Release|x86.ActiveCfg = Release|x64 {9A33047E-4E1F-4C96-8BBA-FB9610D75373}.Debug|x64.ActiveCfg = Debug|x64 {9A33047E-4E1F-4C96-8BBA-FB9610D75373}.Debug|x64.Build.0 = Debug|x64 + {9A33047E-4E1F-4C96-8BBA-FB9610D75373}.Debug|x86.ActiveCfg = Debug|x64 {9A33047E-4E1F-4C96-8BBA-FB9610D75373}.Release|x64.ActiveCfg = Release|x64 {9A33047E-4E1F-4C96-8BBA-FB9610D75373}.Release|x64.Build.0 = Release|x64 + {9A33047E-4E1F-4C96-8BBA-FB9610D75373}.Release|x86.ActiveCfg = Release|x64 {BD7B178B-B026-48FC-B7BD-C5D5257B3A20}.Debug|x64.ActiveCfg = Debug|x64 {BD7B178B-B026-48FC-B7BD-C5D5257B3A20}.Debug|x64.Build.0 = Debug|x64 + {BD7B178B-B026-48FC-B7BD-C5D5257B3A20}.Debug|x86.ActiveCfg = Debug|x64 {BD7B178B-B026-48FC-B7BD-C5D5257B3A20}.Release|x64.ActiveCfg = Release|x64 {BD7B178B-B026-48FC-B7BD-C5D5257B3A20}.Release|x64.Build.0 = Release|x64 + {BD7B178B-B026-48FC-B7BD-C5D5257B3A20}.Release|x86.ActiveCfg = Release|x64 {B301A051-2FA3-439F-BBC1-9D6FBBEDD2F2}.Debug|x64.ActiveCfg = Debug|x64 {B301A051-2FA3-439F-BBC1-9D6FBBEDD2F2}.Debug|x64.Build.0 = Debug|x64 + {B301A051-2FA3-439F-BBC1-9D6FBBEDD2F2}.Debug|x86.ActiveCfg = Debug|x64 {B301A051-2FA3-439F-BBC1-9D6FBBEDD2F2}.Release|x64.ActiveCfg = Release|x64 {B301A051-2FA3-439F-BBC1-9D6FBBEDD2F2}.Release|x64.Build.0 = Release|x64 + {B301A051-2FA3-439F-BBC1-9D6FBBEDD2F2}.Release|x86.ActiveCfg = Release|x64 {5BCA72C1-C342-4272-A037-A94C73E4ACE8}.Debug|x64.ActiveCfg = Debug|x64 {5BCA72C1-C342-4272-A037-A94C73E4ACE8}.Debug|x64.Build.0 = Debug|x64 + {5BCA72C1-C342-4272-A037-A94C73E4ACE8}.Debug|x86.ActiveCfg = Debug|x64 {5BCA72C1-C342-4272-A037-A94C73E4ACE8}.Release|x64.ActiveCfg = Release|x64 {5BCA72C1-C342-4272-A037-A94C73E4ACE8}.Release|x64.Build.0 = Release|x64 + {5BCA72C1-C342-4272-A037-A94C73E4ACE8}.Release|x86.ActiveCfg = Release|x64 {03EEA700-F668-4F91-873F-E69A482A07E1}.Debug|x64.ActiveCfg = Debug|x64 {03EEA700-F668-4F91-873F-E69A482A07E1}.Debug|x64.Build.0 = Debug|x64 + {03EEA700-F668-4F91-873F-E69A482A07E1}.Debug|x86.ActiveCfg = Debug|x64 {03EEA700-F668-4F91-873F-E69A482A07E1}.Release|x64.ActiveCfg = Release|x64 {03EEA700-F668-4F91-873F-E69A482A07E1}.Release|x64.Build.0 = Release|x64 + {03EEA700-F668-4F91-873F-E69A482A07E1}.Release|x86.ActiveCfg = Release|x64 {F6AA40F0-4825-447A-8DE4-8704B6F7A3DB}.Debug|x64.ActiveCfg = Debug|x64 {F6AA40F0-4825-447A-8DE4-8704B6F7A3DB}.Debug|x64.Build.0 = Debug|x64 + {F6AA40F0-4825-447A-8DE4-8704B6F7A3DB}.Debug|x86.ActiveCfg = Debug|x64 {F6AA40F0-4825-447A-8DE4-8704B6F7A3DB}.Release|x64.ActiveCfg = Release|x64 {F6AA40F0-4825-447A-8DE4-8704B6F7A3DB}.Release|x64.Build.0 = Release|x64 + {F6AA40F0-4825-447A-8DE4-8704B6F7A3DB}.Release|x86.ActiveCfg = Release|x64 {698AC26E-0AA3-4BD5-8E29-11BC931A88CF}.Debug|x64.ActiveCfg = Debug|x64 {698AC26E-0AA3-4BD5-8E29-11BC931A88CF}.Debug|x64.Build.0 = Debug|x64 + {698AC26E-0AA3-4BD5-8E29-11BC931A88CF}.Debug|x86.ActiveCfg = Debug|x64 {698AC26E-0AA3-4BD5-8E29-11BC931A88CF}.Release|x64.ActiveCfg = Release|x64 {698AC26E-0AA3-4BD5-8E29-11BC931A88CF}.Release|x64.Build.0 = Release|x64 + {698AC26E-0AA3-4BD5-8E29-11BC931A88CF}.Release|x86.ActiveCfg = Release|x64 {3FD8CD0C-55F8-4292-99B3-3C6B5F1DE55E}.Debug|x64.ActiveCfg = Debug|x64 {3FD8CD0C-55F8-4292-99B3-3C6B5F1DE55E}.Debug|x64.Build.0 = Debug|x64 + {3FD8CD0C-55F8-4292-99B3-3C6B5F1DE55E}.Debug|x86.ActiveCfg = Debug|x64 {3FD8CD0C-55F8-4292-99B3-3C6B5F1DE55E}.Release|x64.ActiveCfg = Release|x64 {3FD8CD0C-55F8-4292-99B3-3C6B5F1DE55E}.Release|x64.Build.0 = Release|x64 + {3FD8CD0C-55F8-4292-99B3-3C6B5F1DE55E}.Release|x86.ActiveCfg = Release|x64 {ABE0F7CB-AEE4-4CD4-9447-9378E585B2F1}.Debug|x64.ActiveCfg = Debug|x64 {ABE0F7CB-AEE4-4CD4-9447-9378E585B2F1}.Debug|x64.Build.0 = Debug|x64 + {ABE0F7CB-AEE4-4CD4-9447-9378E585B2F1}.Debug|x86.ActiveCfg = Debug|x64 {ABE0F7CB-AEE4-4CD4-9447-9378E585B2F1}.Release|x64.ActiveCfg = Release|x64 {ABE0F7CB-AEE4-4CD4-9447-9378E585B2F1}.Release|x64.Build.0 = Release|x64 + {ABE0F7CB-AEE4-4CD4-9447-9378E585B2F1}.Release|x86.ActiveCfg = Release|x64 {7ECDC9D5-626B-4F5B-AD3D-E6EF249BAA6E}.Debug|x64.ActiveCfg = Debug|x64 {7ECDC9D5-626B-4F5B-AD3D-E6EF249BAA6E}.Debug|x64.Build.0 = Debug|x64 + {7ECDC9D5-626B-4F5B-AD3D-E6EF249BAA6E}.Debug|x86.ActiveCfg = Debug|x64 {7ECDC9D5-626B-4F5B-AD3D-E6EF249BAA6E}.Release|x64.ActiveCfg = Release|x64 {7ECDC9D5-626B-4F5B-AD3D-E6EF249BAA6E}.Release|x64.Build.0 = Release|x64 + {7ECDC9D5-626B-4F5B-AD3D-E6EF249BAA6E}.Release|x86.ActiveCfg = Release|x64 {39655236-2634-4ED3-AACD-0C9B032F805C}.Debug|x64.ActiveCfg = Debug|x64 {39655236-2634-4ED3-AACD-0C9B032F805C}.Debug|x64.Build.0 = Debug|x64 + {39655236-2634-4ED3-AACD-0C9B032F805C}.Debug|x86.ActiveCfg = Debug|x64 {39655236-2634-4ED3-AACD-0C9B032F805C}.Release|x64.ActiveCfg = Release|x64 {39655236-2634-4ED3-AACD-0C9B032F805C}.Release|x64.Build.0 = Release|x64 + {39655236-2634-4ED3-AACD-0C9B032F805C}.Release|x86.ActiveCfg = Release|x64 {899D6AEF-6BC3-4203-B566-4EA4B52D1E80}.Debug|x64.ActiveCfg = Debug|x64 {899D6AEF-6BC3-4203-B566-4EA4B52D1E80}.Debug|x64.Build.0 = Debug|x64 + {899D6AEF-6BC3-4203-B566-4EA4B52D1E80}.Debug|x86.ActiveCfg = Debug|x64 {899D6AEF-6BC3-4203-B566-4EA4B52D1E80}.Release|x64.ActiveCfg = Release|x64 {899D6AEF-6BC3-4203-B566-4EA4B52D1E80}.Release|x64.Build.0 = Release|x64 + {899D6AEF-6BC3-4203-B566-4EA4B52D1E80}.Release|x86.ActiveCfg = Release|x64 {A52B96CD-B86B-4963-BED4-CA3F5C515327}.Debug|x64.ActiveCfg = Debug|x64 {A52B96CD-B86B-4963-BED4-CA3F5C515327}.Debug|x64.Build.0 = Debug|x64 + {A52B96CD-B86B-4963-BED4-CA3F5C515327}.Debug|x86.ActiveCfg = Debug|x64 {A52B96CD-B86B-4963-BED4-CA3F5C515327}.Release|x64.ActiveCfg = Release|x64 {A52B96CD-B86B-4963-BED4-CA3F5C515327}.Release|x64.Build.0 = Release|x64 + {A52B96CD-B86B-4963-BED4-CA3F5C515327}.Release|x86.ActiveCfg = Release|x64 {3B7DC5D6-2FAB-4987-9274-EA5884414862}.Debug|x64.ActiveCfg = Debug|x64 {3B7DC5D6-2FAB-4987-9274-EA5884414862}.Debug|x64.Build.0 = Debug|x64 + {3B7DC5D6-2FAB-4987-9274-EA5884414862}.Debug|x86.ActiveCfg = Debug|x64 {3B7DC5D6-2FAB-4987-9274-EA5884414862}.Release|x64.ActiveCfg = Release|x64 {3B7DC5D6-2FAB-4987-9274-EA5884414862}.Release|x64.Build.0 = Release|x64 + {3B7DC5D6-2FAB-4987-9274-EA5884414862}.Release|x86.ActiveCfg = Release|x64 {06301824-70DB-47F1-80AC-DBECCEE2EA99}.Debug|x64.ActiveCfg = Debug|x64 {06301824-70DB-47F1-80AC-DBECCEE2EA99}.Debug|x64.Build.0 = Debug|x64 + {06301824-70DB-47F1-80AC-DBECCEE2EA99}.Debug|x86.ActiveCfg = Debug|x64 {06301824-70DB-47F1-80AC-DBECCEE2EA99}.Release|x64.ActiveCfg = Release|x64 {06301824-70DB-47F1-80AC-DBECCEE2EA99}.Release|x64.Build.0 = Release|x64 + {06301824-70DB-47F1-80AC-DBECCEE2EA99}.Release|x86.ActiveCfg = Release|x64 {5E193242-B386-49EF-B592-9ED3552D273D}.Debug|x64.ActiveCfg = Debug|x64 {5E193242-B386-49EF-B592-9ED3552D273D}.Debug|x64.Build.0 = Debug|x64 + {5E193242-B386-49EF-B592-9ED3552D273D}.Debug|x86.ActiveCfg = Debug|x64 {5E193242-B386-49EF-B592-9ED3552D273D}.Release|x64.ActiveCfg = Release|x64 {5E193242-B386-49EF-B592-9ED3552D273D}.Release|x64.Build.0 = Release|x64 + {5E193242-B386-49EF-B592-9ED3552D273D}.Release|x86.ActiveCfg = Release|x64 {12E75CB0-4B48-4D7C-BB26-D928F18488C2}.Debug|x64.ActiveCfg = Debug|x64 {12E75CB0-4B48-4D7C-BB26-D928F18488C2}.Debug|x64.Build.0 = Debug|x64 + {12E75CB0-4B48-4D7C-BB26-D928F18488C2}.Debug|x86.ActiveCfg = Debug|x64 {12E75CB0-4B48-4D7C-BB26-D928F18488C2}.Release|x64.ActiveCfg = Release|x64 {12E75CB0-4B48-4D7C-BB26-D928F18488C2}.Release|x64.Build.0 = Release|x64 + {12E75CB0-4B48-4D7C-BB26-D928F18488C2}.Release|x86.ActiveCfg = Release|x64 {9AE989AF-F6B7-45D7-983B-A7629FBF8F1B}.Debug|x64.ActiveCfg = Debug|x64 {9AE989AF-F6B7-45D7-983B-A7629FBF8F1B}.Debug|x64.Build.0 = Debug|x64 + {9AE989AF-F6B7-45D7-983B-A7629FBF8F1B}.Debug|x86.ActiveCfg = Debug|x64 {9AE989AF-F6B7-45D7-983B-A7629FBF8F1B}.Release|x64.ActiveCfg = Release|x64 {9AE989AF-F6B7-45D7-983B-A7629FBF8F1B}.Release|x64.Build.0 = Release|x64 + {9AE989AF-F6B7-45D7-983B-A7629FBF8F1B}.Release|x86.ActiveCfg = Release|x64 {0067D4A8-0000-0000-0000-000000000000}.Debug|x64.ActiveCfg = Debug|x64 {0067D4A8-0000-0000-0000-000000000000}.Debug|x64.Build.0 = Debug|x64 + {0067D4A8-0000-0000-0000-000000000000}.Debug|x86.ActiveCfg = Debug|x64 {0067D4A8-0000-0000-0000-000000000000}.Release|x64.ActiveCfg = Release|x64 {0067D4A8-0000-0000-0000-000000000000}.Release|x64.Build.0 = Release|x64 + {0067D4A8-0000-0000-0000-000000000000}.Release|x86.ActiveCfg = Release|x64 {0C72846A-BCFA-4F75-91AF-D9F5CA01E6B2}.Debug|x64.ActiveCfg = Debug|x64 {0C72846A-BCFA-4F75-91AF-D9F5CA01E6B2}.Debug|x64.Build.0 = Debug|x64 + {0C72846A-BCFA-4F75-91AF-D9F5CA01E6B2}.Debug|x86.ActiveCfg = Debug|x64 {0C72846A-BCFA-4F75-91AF-D9F5CA01E6B2}.Release|x64.ActiveCfg = Release|x64 {0C72846A-BCFA-4F75-91AF-D9F5CA01E6B2}.Release|x64.Build.0 = Release|x64 + {0C72846A-BCFA-4F75-91AF-D9F5CA01E6B2}.Release|x86.ActiveCfg = Release|x64 {64E94A9E-B3AE-47EF-8F5A-0356B0E6B9DA}.Debug|x64.ActiveCfg = Debug|x64 {64E94A9E-B3AE-47EF-8F5A-0356B0E6B9DA}.Debug|x64.Build.0 = Debug|x64 + {64E94A9E-B3AE-47EF-8F5A-0356B0E6B9DA}.Debug|x86.ActiveCfg = Debug|x64 {64E94A9E-B3AE-47EF-8F5A-0356B0E6B9DA}.Release|x64.ActiveCfg = Release|x64 {64E94A9E-B3AE-47EF-8F5A-0356B0E6B9DA}.Release|x64.Build.0 = Release|x64 + {64E94A9E-B3AE-47EF-8F5A-0356B0E6B9DA}.Release|x86.ActiveCfg = Release|x64 {F93128A5-B344-4662-BFB8-B4CAECF1FE52}.Debug|x64.ActiveCfg = Debug|x64 {F93128A5-B344-4662-BFB8-B4CAECF1FE52}.Debug|x64.Build.0 = Debug|x64 + {F93128A5-B344-4662-BFB8-B4CAECF1FE52}.Debug|x86.ActiveCfg = Debug|x64 {F93128A5-B344-4662-BFB8-B4CAECF1FE52}.Release|x64.ActiveCfg = Release|x64 {F93128A5-B344-4662-BFB8-B4CAECF1FE52}.Release|x64.Build.0 = Release|x64 + {F93128A5-B344-4662-BFB8-B4CAECF1FE52}.Release|x86.ActiveCfg = Release|x64 {823CF77E-8120-41B1-9B25-823A79C93198}.Debug|x64.ActiveCfg = Debug|x64 {823CF77E-8120-41B1-9B25-823A79C93198}.Debug|x64.Build.0 = Debug|x64 + {823CF77E-8120-41B1-9B25-823A79C93198}.Debug|x86.ActiveCfg = Debug|x64 {823CF77E-8120-41B1-9B25-823A79C93198}.Release|x64.ActiveCfg = Release|x64 {823CF77E-8120-41B1-9B25-823A79C93198}.Release|x64.Build.0 = Release|x64 + {823CF77E-8120-41B1-9B25-823A79C93198}.Release|x86.ActiveCfg = Release|x64 {320AF64E-C4FC-4A97-A7D1-F8233A8A44C7}.Debug|x64.ActiveCfg = Debug|x64 {320AF64E-C4FC-4A97-A7D1-F8233A8A44C7}.Debug|x64.Build.0 = Debug|x64 + {320AF64E-C4FC-4A97-A7D1-F8233A8A44C7}.Debug|x86.ActiveCfg = Debug|x64 {320AF64E-C4FC-4A97-A7D1-F8233A8A44C7}.Release|x64.ActiveCfg = Release|x64 {320AF64E-C4FC-4A97-A7D1-F8233A8A44C7}.Release|x64.Build.0 = Release|x64 + {320AF64E-C4FC-4A97-A7D1-F8233A8A44C7}.Release|x86.ActiveCfg = Release|x64 {7C8C60FA-92E3-4102-80AB-A4468C4FCD2F}.Debug|x64.ActiveCfg = Debug|x64 {7C8C60FA-92E3-4102-80AB-A4468C4FCD2F}.Debug|x64.Build.0 = Debug|x64 + {7C8C60FA-92E3-4102-80AB-A4468C4FCD2F}.Debug|x86.ActiveCfg = Debug|x64 {7C8C60FA-92E3-4102-80AB-A4468C4FCD2F}.Release|x64.ActiveCfg = Release|x64 {7C8C60FA-92E3-4102-80AB-A4468C4FCD2F}.Release|x64.Build.0 = Release|x64 + {7C8C60FA-92E3-4102-80AB-A4468C4FCD2F}.Release|x86.ActiveCfg = Release|x64 {46F4FFAF-79FD-45D9-A2C5-9E16B46787C5}.Debug|x64.ActiveCfg = Debug|x64 {46F4FFAF-79FD-45D9-A2C5-9E16B46787C5}.Debug|x64.Build.0 = Debug|x64 + {46F4FFAF-79FD-45D9-A2C5-9E16B46787C5}.Debug|x86.ActiveCfg = Debug|x64 {46F4FFAF-79FD-45D9-A2C5-9E16B46787C5}.Release|x64.ActiveCfg = Release|x64 {46F4FFAF-79FD-45D9-A2C5-9E16B46787C5}.Release|x64.Build.0 = Release|x64 + {46F4FFAF-79FD-45D9-A2C5-9E16B46787C5}.Release|x86.ActiveCfg = Release|x64 {DD3A2820-F54C-42F3-AA0E-DC95D57481B7}.Debug|x64.ActiveCfg = Debug|x64 {DD3A2820-F54C-42F3-AA0E-DC95D57481B7}.Debug|x64.Build.0 = Debug|x64 + {DD3A2820-F54C-42F3-AA0E-DC95D57481B7}.Debug|x86.ActiveCfg = Debug|x64 {DD3A2820-F54C-42F3-AA0E-DC95D57481B7}.Release|x64.ActiveCfg = Release|x64 {DD3A2820-F54C-42F3-AA0E-DC95D57481B7}.Release|x64.Build.0 = Release|x64 - {38DCD378-83FE-4C42-8916-1C477A35F65F}.Debug|x64.ActiveCfg = Debug|x64 - {38DCD378-83FE-4C42-8916-1C477A35F65F}.Debug|x64.Build.0 = Debug|x64 - {38DCD378-83FE-4C42-8916-1C477A35F65F}.Release|x64.ActiveCfg = Release|x64 - {38DCD378-83FE-4C42-8916-1C477A35F65F}.Release|x64.Build.0 = Release|x64 + {DD3A2820-F54C-42F3-AA0E-DC95D57481B7}.Release|x86.ActiveCfg = Release|x64 {36CF524A-8214-404C-8E6B-B5DEC1FDADF9}.Debug|x64.ActiveCfg = Debug|x64 {36CF524A-8214-404C-8E6B-B5DEC1FDADF9}.Debug|x64.Build.0 = Debug|x64 + {36CF524A-8214-404C-8E6B-B5DEC1FDADF9}.Debug|x86.ActiveCfg = Debug|x64 {36CF524A-8214-404C-8E6B-B5DEC1FDADF9}.Release|x64.ActiveCfg = Release|x64 {36CF524A-8214-404C-8E6B-B5DEC1FDADF9}.Release|x64.Build.0 = Release|x64 + {36CF524A-8214-404C-8E6B-B5DEC1FDADF9}.Release|x86.ActiveCfg = Release|x64 + {38DCD378-83FE-4C42-8916-1C477A35F65F}.Debug|x64.ActiveCfg = Debug|x64 + {38DCD378-83FE-4C42-8916-1C477A35F65F}.Debug|x64.Build.0 = Debug|x64 + {38DCD378-83FE-4C42-8916-1C477A35F65F}.Debug|x86.ActiveCfg = Debug|x64 + {38DCD378-83FE-4C42-8916-1C477A35F65F}.Release|x64.ActiveCfg = Release|x64 + {38DCD378-83FE-4C42-8916-1C477A35F65F}.Release|x64.Build.0 = Release|x64 + {38DCD378-83FE-4C42-8916-1C477A35F65F}.Release|x86.ActiveCfg = Release|x64 + {149B6A9D-40FB-4FDF-BC0C-6B68E3BC4938}.Debug|x64.ActiveCfg = Debug|x64 + {149B6A9D-40FB-4FDF-BC0C-6B68E3BC4938}.Debug|x64.Build.0 = Debug|x64 + {149B6A9D-40FB-4FDF-BC0C-6B68E3BC4938}.Debug|x86.ActiveCfg = Debug|Win32 + {149B6A9D-40FB-4FDF-BC0C-6B68E3BC4938}.Debug|x86.Build.0 = Debug|Win32 + {149B6A9D-40FB-4FDF-BC0C-6B68E3BC4938}.Release|x64.ActiveCfg = Release|x64 + {149B6A9D-40FB-4FDF-BC0C-6B68E3BC4938}.Release|x64.Build.0 = Release|x64 + {149B6A9D-40FB-4FDF-BC0C-6B68E3BC4938}.Release|x86.ActiveCfg = Release|Win32 + {149B6A9D-40FB-4FDF-BC0C-6B68E3BC4938}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE