Files
ENIG/Cs_HMI/AGVCSharp.sln
ChiKyun Kim 7567602479 feat: Add AGV Map Editor and Simulator tools
- Add AGVMapEditor: Visual map editing with drag-and-drop node placement
  * RFID mapping separation (physical ID ↔ logical node mapping)
  * A* pathfinding algorithm with AGV directional constraints
  * JSON map data persistence with structured format
  * Interactive map canvas with zoom/pan functionality

- Add AGVSimulator: Real-time AGV movement simulation
  * Virtual AGV with state machine (Idle, Moving, Rotating, Docking, Charging, Error)
  * Path execution and visualization from calculated routes
  * Real-time position tracking and battery simulation
  * Integration with map editor data format

- Update solution structure and build configuration
- Add comprehensive documentation in CLAUDE.md
- Implement AGV-specific constraints (forward/backward docking, rotation limits)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-10 17:39:23 +09:00

211 lines
15 KiB
Plaintext

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.14.36310.24
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Sub", "Sub", "{C423C39A-44E7-4F09-B2F7-7943975FF948}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Test", "Test", "{7AF32085-E7A6-4D06-BA6E-C6B1EBAEA99A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StateMachine", "StateMachine\StateMachine.csproj", "{BBC9BCCF-6262-4355-9CC2-37FF678AC499}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "agvControl", "SubProject\AGVControl\agvControl.csproj", "{8CB883C0-99C3-4DD4-B017-F9B92010A806}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test_BMS", "TestProject\Test_BMS\Test_BMS.csproj", "{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BMS", "SubProject\BMS\BMS.csproj", "{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SWPatch", "SubProject\Patch\SWPatch.csproj", "{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NARUMI", "SubProject\AGV\NARUMI.csproj", "{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CommData", "SubProject\CommData\CommData.csproj", "{14E8C9A5-013E-49BA-B435-EFEFC77DD623}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test_Narumi", "TestProject\Test_Narumi\Test_Narumi.csproj", "{EB77976F-4DE4-46A5-8B25-D07226204C32}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ENIGProtocol", "SubProject\EnigProtocol\enigprotocol\ENIGProtocol.csproj", "{9365803B-933D-4237-93C7-B502C855A71C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AGV4", "Project\AGV4.csproj", "{D6B3880D-7D5C-44E2-B6A5-CF6D881A8A38}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AGVMapEditor", "AGVMapEditor\AGVMapEditor.csproj", "{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AGVSimulator", "AGVSimulator\AGVSimulator.csproj", "{B2C3D4E5-0000-0000-0000-000000000000}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "솔루션 항목", "솔루션 항목", "{2A3A057F-5D22-31FD-628C-DF5EF75AEF1E}"
ProjectSection(SolutionItems) = preProject
build.bat = build.bat
CLAUDE.md = CLAUDE.md
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{BBC9BCCF-6262-4355-9CC2-37FF678AC499}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BBC9BCCF-6262-4355-9CC2-37FF678AC499}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BBC9BCCF-6262-4355-9CC2-37FF678AC499}.Debug|x64.ActiveCfg = Debug|Any CPU
{BBC9BCCF-6262-4355-9CC2-37FF678AC499}.Debug|x64.Build.0 = Debug|Any CPU
{BBC9BCCF-6262-4355-9CC2-37FF678AC499}.Debug|x86.ActiveCfg = Debug|Any CPU
{BBC9BCCF-6262-4355-9CC2-37FF678AC499}.Debug|x86.Build.0 = Debug|Any CPU
{BBC9BCCF-6262-4355-9CC2-37FF678AC499}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BBC9BCCF-6262-4355-9CC2-37FF678AC499}.Release|Any CPU.Build.0 = Release|Any CPU
{BBC9BCCF-6262-4355-9CC2-37FF678AC499}.Release|x64.ActiveCfg = Release|Any CPU
{BBC9BCCF-6262-4355-9CC2-37FF678AC499}.Release|x64.Build.0 = Release|Any CPU
{BBC9BCCF-6262-4355-9CC2-37FF678AC499}.Release|x86.ActiveCfg = Release|Any CPU
{BBC9BCCF-6262-4355-9CC2-37FF678AC499}.Release|x86.Build.0 = Release|Any CPU
{8CB883C0-99C3-4DD4-B017-F9B92010A806}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8CB883C0-99C3-4DD4-B017-F9B92010A806}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8CB883C0-99C3-4DD4-B017-F9B92010A806}.Debug|x64.ActiveCfg = Debug|Any CPU
{8CB883C0-99C3-4DD4-B017-F9B92010A806}.Debug|x64.Build.0 = Debug|Any CPU
{8CB883C0-99C3-4DD4-B017-F9B92010A806}.Debug|x86.ActiveCfg = Debug|Any CPU
{8CB883C0-99C3-4DD4-B017-F9B92010A806}.Debug|x86.Build.0 = Debug|Any CPU
{8CB883C0-99C3-4DD4-B017-F9B92010A806}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8CB883C0-99C3-4DD4-B017-F9B92010A806}.Release|Any CPU.Build.0 = Release|Any CPU
{8CB883C0-99C3-4DD4-B017-F9B92010A806}.Release|x64.ActiveCfg = Release|Any CPU
{8CB883C0-99C3-4DD4-B017-F9B92010A806}.Release|x64.Build.0 = Release|Any CPU
{8CB883C0-99C3-4DD4-B017-F9B92010A806}.Release|x86.ActiveCfg = Release|Any CPU
{8CB883C0-99C3-4DD4-B017-F9B92010A806}.Release|x86.Build.0 = Release|Any CPU
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Debug|x64.ActiveCfg = Debug|Any CPU
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Debug|x64.Build.0 = Debug|Any CPU
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Debug|x86.ActiveCfg = Debug|Any CPU
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Debug|x86.Build.0 = Debug|Any CPU
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Release|Any CPU.Build.0 = Release|Any CPU
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Release|x64.ActiveCfg = Release|Any CPU
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Release|x64.Build.0 = Release|Any CPU
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Release|x86.ActiveCfg = Release|Any CPU
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Release|x86.Build.0 = Release|Any CPU
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}.Debug|x64.ActiveCfg = Debug|Any CPU
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}.Debug|x64.Build.0 = Debug|Any CPU
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}.Debug|x86.ActiveCfg = Debug|Any CPU
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}.Debug|x86.Build.0 = Debug|Any CPU
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}.Release|Any CPU.Build.0 = Release|Any CPU
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}.Release|x64.ActiveCfg = Release|Any CPU
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}.Release|x64.Build.0 = Release|Any CPU
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}.Release|x86.ActiveCfg = Release|Any CPU
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}.Release|x86.Build.0 = Release|Any CPU
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Debug|x64.ActiveCfg = Debug|Any CPU
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Debug|x64.Build.0 = Debug|Any CPU
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Debug|x86.ActiveCfg = Debug|Any CPU
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Debug|x86.Build.0 = Debug|Any CPU
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Release|Any CPU.Build.0 = Release|Any CPU
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Release|x64.ActiveCfg = Release|Any CPU
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Release|x64.Build.0 = Release|Any CPU
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Release|x86.ActiveCfg = Release|Any CPU
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Release|x86.Build.0 = Release|Any CPU
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Debug|x64.ActiveCfg = Debug|Any CPU
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Debug|x64.Build.0 = Debug|Any CPU
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Debug|x86.ActiveCfg = Debug|Any CPU
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Debug|x86.Build.0 = Debug|Any CPU
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Release|Any CPU.Build.0 = Release|Any CPU
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Release|x64.ActiveCfg = Release|Any CPU
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Release|x64.Build.0 = Release|Any CPU
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Release|x86.ActiveCfg = Release|Any CPU
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Release|x86.Build.0 = Release|Any CPU
{14E8C9A5-013E-49BA-B435-EFEFC77DD623}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{14E8C9A5-013E-49BA-B435-EFEFC77DD623}.Debug|Any CPU.Build.0 = Debug|Any CPU
{14E8C9A5-013E-49BA-B435-EFEFC77DD623}.Debug|x64.ActiveCfg = Debug|Any CPU
{14E8C9A5-013E-49BA-B435-EFEFC77DD623}.Debug|x64.Build.0 = Debug|Any CPU
{14E8C9A5-013E-49BA-B435-EFEFC77DD623}.Debug|x86.ActiveCfg = Debug|Any CPU
{14E8C9A5-013E-49BA-B435-EFEFC77DD623}.Debug|x86.Build.0 = Debug|Any CPU
{14E8C9A5-013E-49BA-B435-EFEFC77DD623}.Release|Any CPU.ActiveCfg = Release|Any CPU
{14E8C9A5-013E-49BA-B435-EFEFC77DD623}.Release|Any CPU.Build.0 = Release|Any CPU
{14E8C9A5-013E-49BA-B435-EFEFC77DD623}.Release|x64.ActiveCfg = Release|Any CPU
{14E8C9A5-013E-49BA-B435-EFEFC77DD623}.Release|x64.Build.0 = Release|Any CPU
{14E8C9A5-013E-49BA-B435-EFEFC77DD623}.Release|x86.ActiveCfg = Release|Any CPU
{14E8C9A5-013E-49BA-B435-EFEFC77DD623}.Release|x86.Build.0 = Release|Any CPU
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Debug|x64.ActiveCfg = Debug|Any CPU
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Debug|x64.Build.0 = Debug|Any CPU
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Debug|x86.ActiveCfg = Debug|Any CPU
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Debug|x86.Build.0 = Debug|Any CPU
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Release|Any CPU.Build.0 = Release|Any CPU
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Release|x64.ActiveCfg = Release|Any CPU
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Release|x64.Build.0 = Release|Any CPU
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Release|x86.ActiveCfg = Release|Any CPU
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Release|x86.Build.0 = Release|Any CPU
{9365803B-933D-4237-93C7-B502C855A71C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9365803B-933D-4237-93C7-B502C855A71C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9365803B-933D-4237-93C7-B502C855A71C}.Debug|x64.ActiveCfg = Debug|Any CPU
{9365803B-933D-4237-93C7-B502C855A71C}.Debug|x64.Build.0 = Debug|Any CPU
{9365803B-933D-4237-93C7-B502C855A71C}.Debug|x86.ActiveCfg = Debug|Any CPU
{9365803B-933D-4237-93C7-B502C855A71C}.Debug|x86.Build.0 = Debug|Any CPU
{9365803B-933D-4237-93C7-B502C855A71C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9365803B-933D-4237-93C7-B502C855A71C}.Release|Any CPU.Build.0 = Release|Any CPU
{9365803B-933D-4237-93C7-B502C855A71C}.Release|x64.ActiveCfg = Release|Any CPU
{9365803B-933D-4237-93C7-B502C855A71C}.Release|x64.Build.0 = Release|Any CPU
{9365803B-933D-4237-93C7-B502C855A71C}.Release|x86.ActiveCfg = Release|Any CPU
{9365803B-933D-4237-93C7-B502C855A71C}.Release|x86.Build.0 = Release|Any CPU
{D6B3880D-7D5C-44E2-B6A5-CF6D881A8A38}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D6B3880D-7D5C-44E2-B6A5-CF6D881A8A38}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D6B3880D-7D5C-44E2-B6A5-CF6D881A8A38}.Debug|x64.ActiveCfg = Debug|Any CPU
{D6B3880D-7D5C-44E2-B6A5-CF6D881A8A38}.Debug|x64.Build.0 = Debug|Any CPU
{D6B3880D-7D5C-44E2-B6A5-CF6D881A8A38}.Debug|x86.ActiveCfg = Debug|x86
{D6B3880D-7D5C-44E2-B6A5-CF6D881A8A38}.Debug|x86.Build.0 = Debug|x86
{D6B3880D-7D5C-44E2-B6A5-CF6D881A8A38}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D6B3880D-7D5C-44E2-B6A5-CF6D881A8A38}.Release|Any CPU.Build.0 = Release|Any CPU
{D6B3880D-7D5C-44E2-B6A5-CF6D881A8A38}.Release|x64.ActiveCfg = Release|Any CPU
{D6B3880D-7D5C-44E2-B6A5-CF6D881A8A38}.Release|x64.Build.0 = Release|Any CPU
{D6B3880D-7D5C-44E2-B6A5-CF6D881A8A38}.Release|x86.ActiveCfg = Release|x86
{D6B3880D-7D5C-44E2-B6A5-CF6D881A8A38}.Release|x86.Build.0 = Release|x86
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|x64.ActiveCfg = Debug|Any CPU
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|x64.Build.0 = Debug|Any CPU
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|x86.ActiveCfg = Debug|Any CPU
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|x86.Build.0 = Debug|Any CPU
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|Any CPU.Build.0 = Release|Any CPU
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|x64.ActiveCfg = Release|Any CPU
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|x64.Build.0 = Release|Any CPU
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|x86.ActiveCfg = Release|Any CPU
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|x86.Build.0 = Release|Any CPU
{B2C3D4E5-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B2C3D4E5-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B2C3D4E5-0000-0000-0000-000000000000}.Debug|x64.ActiveCfg = Debug|Any CPU
{B2C3D4E5-0000-0000-0000-000000000000}.Debug|x64.Build.0 = Debug|Any CPU
{B2C3D4E5-0000-0000-0000-000000000000}.Debug|x86.ActiveCfg = Debug|Any CPU
{B2C3D4E5-0000-0000-0000-000000000000}.Debug|x86.Build.0 = Debug|Any CPU
{B2C3D4E5-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B2C3D4E5-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
{B2C3D4E5-0000-0000-0000-000000000000}.Release|x64.ActiveCfg = Release|Any CPU
{B2C3D4E5-0000-0000-0000-000000000000}.Release|x64.Build.0 = Release|Any CPU
{B2C3D4E5-0000-0000-0000-000000000000}.Release|x86.ActiveCfg = Release|Any CPU
{B2C3D4E5-0000-0000-0000-000000000000}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{8CB883C0-99C3-4DD4-B017-F9B92010A806} = {C423C39A-44E7-4F09-B2F7-7943975FF948}
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E} = {7AF32085-E7A6-4D06-BA6E-C6B1EBAEA99A}
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70} = {C423C39A-44E7-4F09-B2F7-7943975FF948}
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7} = {C423C39A-44E7-4F09-B2F7-7943975FF948}
{14E8C9A5-013E-49BA-B435-EFEFC77DD623} = {C423C39A-44E7-4F09-B2F7-7943975FF948}
{EB77976F-4DE4-46A5-8B25-D07226204C32} = {7AF32085-E7A6-4D06-BA6E-C6B1EBAEA99A}
{9365803B-933D-4237-93C7-B502C855A71C} = {C423C39A-44E7-4F09-B2F7-7943975FF948}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {B5B1FD72-356F-4840-83E8-B070AC21C8D9}
EndGlobalSection
EndGlobal