Skip to content

Commit ca3b33a

Browse files
committed
Reworked the modulesettings / launching system, new modules, and support for multiple python versions
1 parent 68e28d9 commit ca3b33a

File tree

155 files changed

+20729
-4729
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

155 files changed

+20729
-4729
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -390,3 +390,4 @@ FodyWeavers.xsd
390390
/src/AnalysisLayer/CodeProject.SenseAI.AnalysisLayer.Yolo/assets/yolov5m.onnx
391391
/Installers/downloads
392392
*.DS_Store
393+
/src/AnalysisLayer/BackgroundRemover/models

.vscode/tasks.json

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,20 @@
3131
"problemMatcher": "$msCompile"
3232
},
3333

34+
{
35+
"label": "build-portraitfilter", // Builds ONLY the Yolo .NET analysis module
36+
"type": "process",
37+
"group": "build",
38+
"command": "dotnet",
39+
"args": [
40+
"build",
41+
"${workspaceFolder}/src/AnalysisLayer/PortraitFilter",
42+
"/property:GenerateFullPaths=true",
43+
"/consoleloggerparameters:NoSummary"
44+
],
45+
"problemMatcher": "$msCompile"
46+
},
47+
3448
{
3549
"label": "build-playground", // Builds ONLY the Yolo .NET analysis module
3650
"type": "process",
@@ -143,6 +157,7 @@
143157
"dependsOn": [
144158
"build-common",
145159
"build-yolo",
160+
"build-portraitfilter",
146161
"build-server"
147162
]
148163
},
@@ -194,6 +209,7 @@
194209
"dependsOrder": "sequence",
195210
"dependsOn": [
196211
"build-yolo",
212+
"build-portraitfilter",
197213
"build-server",
198214
"start-api"
199215
]
@@ -205,6 +221,7 @@
205221
"dependsOrder": "sequence",
206222
"dependsOn": [
207223
"build-yolo",
224+
"build-portraitfilter",
208225
"build-server",
209226
"launch-analysis-linux"
210227
]
@@ -218,6 +235,7 @@
218235
"dependsOn": [
219236
"build-common",
220237
"build-yolo",
238+
"build-portraitfilter",
221239
"build-server",
222240
"build-playground"
223241
]

CodeProject.SenseAI.sln

Lines changed: 96 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ VisualStudioVersion = 17.1.32210.238
55
MinimumVisualStudioVersion = 10.0.40219.1
66
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{A8B76501-496A-4011-9C37-8308A1EBDFA7}"
77
ProjectSection(SolutionItems) = preProject
8+
src\clean.bat = src\clean.bat
89
src\start.bat = src\start.bat
910
src\start.sh = src\start.sh
1011
EndProjectSection
@@ -35,8 +36,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AnalysisLayer", "AnalysisLa
3536
EndProject
3637
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Installers", "Installers", "{D885EE64-C1BD-44D6-84D8-1E46806298D9}"
3738
EndProject
38-
Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "DeepStack", "src\AnalysisLayer\DeepStack\intelligencelayer\DeepStack.pyproj", "{E5D27495-EE4F-4AAF-8749-A6BA848111E2}"
39-
EndProject
4039
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Javascript", "Javascript", "{3A860CDD-94B9-4002-BA08-87E8822DDE50}"
4140
ProjectSection(SolutionItems) = preProject
4241
demos\Javascript\Vision.html = demos\Javascript\Vision.html
@@ -70,7 +69,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestData", "TestData", "{B1
7069
demos\TestData\pexels-pixabay-273935.jpg = demos\TestData\pexels-pixabay-273935.jpg
7170
demos\TestData\pexels-polina-tankilevitch-5848781.jpg = demos\TestData\pexels-polina-tankilevitch-5848781.jpg
7271
demos\TestData\pexels-roberto-nickson-2559941.jpg = demos\TestData\pexels-roberto-nickson-2559941.jpg
73-
demos\TestData\pexels-thirdman-7268587 (1).jpg = demos\TestData\pexels-thirdman-7268587 (1).jpg
7472
demos\TestData\pexels-thirdman-7652055.jpg = demos\TestData\pexels-thirdman-7652055.jpg
7573
demos\TestData\pexels-tiger-lily-4480988.jpg = demos\TestData\pexels-tiger-lily-4480988.jpg
7674
demos\TestData\pexels-tiger-lily-4481324.jpg = demos\TestData\pexels-tiger-lily-4481324.jpg
@@ -94,6 +92,8 @@ EndProject
9492
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Frontend", "src\API\Server\FrontEnd\Frontend.csproj", "{A0CF3BEE-8EE3-4B23-BEB8-9D258C0510A3}"
9593
ProjectSection(ProjectDependencies) = postProject
9694
{232710A8-9180-4139-8FF2-8F21F649D927} = {232710A8-9180-4139-8FF2-8F21F649D927}
95+
{7DC0A312-39AD-41B0-BB53-72ACACC76959} = {7DC0A312-39AD-41B0-BB53-72ACACC76959}
96+
{AB47CC99-15ED-4928-A2F2-DC8F83DA9482} = {AB47CC99-15ED-4928-A2F2-DC8F83DA9482}
9797
EndProjectSection
9898
EndProject
9999
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Backend", "src\API\Server\Backend\Backend.csproj", "{C93C22D7-4EB2-4EC0-A7F0-FBCFB9F6F72D}"
@@ -132,7 +132,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
132132
global.json = global.json
133133
EndProjectSection
134134
EndProject
135-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CodeProject.SenseAI.AnalysisLayer.Yolo", "src\AnalysisLayer\CodeProject.SenseAI.AnalysisLayer.Yolo\CodeProject.SenseAI.AnalysisLayer.Yolo.csproj", "{232710A8-9180-4139-8FF2-8F21F649D927}"
135+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ObjectDetector", "src\AnalysisLayer\CodeProject.SenseAI.AnalysisLayer.Yolo\ObjectDetector.csproj", "{232710A8-9180-4139-8FF2-8F21F649D927}"
136136
EndProject
137137
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SDK", "SDK", "{FF0C329F-41E8-4540-BCDB-97690911077D}"
138138
EndProject
@@ -162,9 +162,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Common", "Common", "{5F1052
162162
EndProject
163163
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "SenseAI.BootStrapper", "Installers\Windows\SenseAI.BootStrapper\SenseAI.BootStrapper.wixproj", "{C04BBD0D-FD36-4FA4-805B-106BCCD9BC79}"
164164
ProjectSection(ProjectDependencies) = postProject
165-
{ED492608-6013-4552-A29B-A7E14F4BEB0B} = {ED492608-6013-4552-A29B-A7E14F4BEB0B}
166-
{D0B74BE9-8195-4907-AEEE-45631E37251F} = {D0B74BE9-8195-4907-AEEE-45631E37251F}
167165
{3F34EAEE-8A53-40D1-8CDB-A13AE728FA06} = {3F34EAEE-8A53-40D1-8CDB-A13AE728FA06}
166+
{D0B74BE9-8195-4907-AEEE-45631E37251F} = {D0B74BE9-8195-4907-AEEE-45631E37251F}
167+
{ED492608-6013-4552-A29B-A7E14F4BEB0B} = {ED492608-6013-4552-A29B-A7E14F4BEB0B}
168168
EndProjectSection
169169
EndProject
170170
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Old School Scripts", "Old School Scripts", "{FDB25B74-D0CD-4665-9152-DE968A1028D8}"
@@ -208,6 +208,38 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Docker", "Docker", "{FB0561
208208
EndProject
209209
Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "TextSummary", "src\AnalysisLayer\TextSummary\TextSummary.pyproj", "{470D3417-36A4-49A4-B719-496466FA92FB}"
210210
EndProject
211+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Articles", "Articles", "{2E9D03C1-BF8F-4E3D-944A-0DDEDDE620C5}"
212+
ProjectSection(SolutionItems) = preProject
213+
docs\Articles\adding-a-module.md = docs\Articles\adding-a-module.md
214+
docs\Articles\adding-a-net6-module.md = docs\Articles\adding-a-net6-module.md
215+
docs\Articles\dog_and_man_rembg.png = docs\Articles\dog_and_man_rembg.png
216+
docs\Articles\How-to-add-AI-to-an-app.md = docs\Articles\How-to-add-AI-to-an-app.md
217+
docs\Articles\pexels-thirdman-7268587.jpg = docs\Articles\pexels-thirdman-7268587.jpg
218+
docs\Articles\test.html.jpg = docs\Articles\test.html.jpg
219+
EndProjectSection
220+
EndProject
221+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{D2B223B6-983B-4782-B231-5F481504A86F}"
222+
ProjectSection(SolutionItems) = preProject
223+
src\AnalysisLayer\SDK\Python\requirements.txt = src\AnalysisLayer\SDK\Python\requirements.txt
224+
src\AnalysisLayer\SDK\Python\senseAI.py = src\AnalysisLayer\SDK\Python\senseAI.py
225+
EndProjectSection
226+
EndProject
227+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NET", "NET", "{11F66210-D711-4A0A-AE3A-8AC11432CDC3}"
228+
EndProject
229+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PortraitFilter", "src\AnalysisLayer\PortraitFilter\PortraitFilter.csproj", "{AB47CC99-15ED-4928-A2F2-DC8F83DA9482}"
230+
EndProject
231+
Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "BackgroundRemover", "src\AnalysisLayer\BackgroundRemover\BackgroundRemover.pyproj", "{470D3417-36A4-49A4-B719-496466FA92FC}"
232+
EndProject
233+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CodeProject.SenseAI.AnalysisLayer.SDK", "src\AnalysisLayer\SDK\NET\CodeProject.SenseAI.AnalysisLayer.SDK\CodeProject.SenseAI.AnalysisLayer.SDK.csproj", "{56DFAAD2-2E14-45D8-8BC9-D171785235E9}"
234+
EndProject
235+
Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "Vision", "src\AnalysisLayer\DeepStack\intelligencelayer\Vision.pyproj", "{E5D27495-EE4F-4AAF-8749-A6BA848111E2}"
236+
EndProject
237+
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "BackgroundRemover.Installer", "Installers\Windows\BackgroundRemover.Installer\BackgroundRemover.Installer.wixproj", "{7E70C376-7119-4C90-AC30-344EEA29594E}"
238+
EndProject
239+
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "PortraitFilter.Installer", "Installers\Windows\PortraitFilter.Installer\PortraitFilter.Installer.wixproj", "{476475CE-3C81-446B-914E-AC472D41B82A}"
240+
EndProject
241+
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "Python39.Installer", "Installers\Windows\Python39.Installer\Python39.Installer.wixproj", "{0DBC85BC-52C3-491F-90F9-6D728FFA2E8F}"
242+
EndProject
211243
Global
212244
GlobalSection(SolutionConfigurationPlatforms) = preSolution
213245
Debug|Any CPU = Debug|Any CPU
@@ -220,10 +252,6 @@ Global
220252
{25750BF1-1502-4F65-8D69-CEA8C87D6446}.Debug|x86.ActiveCfg = Debug|Any CPU
221253
{25750BF1-1502-4F65-8D69-CEA8C87D6446}.Release|Any CPU.ActiveCfg = Release|Any CPU
222254
{25750BF1-1502-4F65-8D69-CEA8C87D6446}.Release|x86.ActiveCfg = Release|Any CPU
223-
{E5D27495-EE4F-4AAF-8749-A6BA848111E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
224-
{E5D27495-EE4F-4AAF-8749-A6BA848111E2}.Debug|x86.ActiveCfg = Debug|Any CPU
225-
{E5D27495-EE4F-4AAF-8749-A6BA848111E2}.Release|Any CPU.ActiveCfg = Release|Any CPU
226-
{E5D27495-EE4F-4AAF-8749-A6BA848111E2}.Release|x86.ActiveCfg = Release|Any CPU
227255
{C33D90E7-7570-46FB-9EB9-ED6B40A93A9B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
228256
{C33D90E7-7570-46FB-9EB9-ED6B40A93A9B}.Debug|Any CPU.Build.0 = Debug|Any CPU
229257
{C33D90E7-7570-46FB-9EB9-ED6B40A93A9B}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -328,6 +356,54 @@ Global
328356
{470D3417-36A4-49A4-B719-496466FA92FB}.Debug|x86.ActiveCfg = Debug|Any CPU
329357
{470D3417-36A4-49A4-B719-496466FA92FB}.Release|Any CPU.ActiveCfg = Release|Any CPU
330358
{470D3417-36A4-49A4-B719-496466FA92FB}.Release|x86.ActiveCfg = Release|Any CPU
359+
{AB47CC99-15ED-4928-A2F2-DC8F83DA9482}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
360+
{AB47CC99-15ED-4928-A2F2-DC8F83DA9482}.Debug|Any CPU.Build.0 = Debug|Any CPU
361+
{AB47CC99-15ED-4928-A2F2-DC8F83DA9482}.Debug|x86.ActiveCfg = Debug|Any CPU
362+
{AB47CC99-15ED-4928-A2F2-DC8F83DA9482}.Debug|x86.Build.0 = Debug|Any CPU
363+
{AB47CC99-15ED-4928-A2F2-DC8F83DA9482}.Release|Any CPU.ActiveCfg = Release|Any CPU
364+
{AB47CC99-15ED-4928-A2F2-DC8F83DA9482}.Release|Any CPU.Build.0 = Release|Any CPU
365+
{AB47CC99-15ED-4928-A2F2-DC8F83DA9482}.Release|x86.ActiveCfg = Release|Any CPU
366+
{AB47CC99-15ED-4928-A2F2-DC8F83DA9482}.Release|x86.Build.0 = Release|Any CPU
367+
{470D3417-36A4-49A4-B719-496466FA92FC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
368+
{470D3417-36A4-49A4-B719-496466FA92FC}.Debug|x86.ActiveCfg = Debug|Any CPU
369+
{470D3417-36A4-49A4-B719-496466FA92FC}.Release|Any CPU.ActiveCfg = Release|Any CPU
370+
{470D3417-36A4-49A4-B719-496466FA92FC}.Release|x86.ActiveCfg = Release|Any CPU
371+
{56DFAAD2-2E14-45D8-8BC9-D171785235E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
372+
{56DFAAD2-2E14-45D8-8BC9-D171785235E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
373+
{56DFAAD2-2E14-45D8-8BC9-D171785235E9}.Debug|x86.ActiveCfg = Debug|Any CPU
374+
{56DFAAD2-2E14-45D8-8BC9-D171785235E9}.Debug|x86.Build.0 = Debug|Any CPU
375+
{56DFAAD2-2E14-45D8-8BC9-D171785235E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
376+
{56DFAAD2-2E14-45D8-8BC9-D171785235E9}.Release|Any CPU.Build.0 = Release|Any CPU
377+
{56DFAAD2-2E14-45D8-8BC9-D171785235E9}.Release|x86.ActiveCfg = Release|Any CPU
378+
{56DFAAD2-2E14-45D8-8BC9-D171785235E9}.Release|x86.Build.0 = Release|Any CPU
379+
{E5D27495-EE4F-4AAF-8749-A6BA848111E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
380+
{E5D27495-EE4F-4AAF-8749-A6BA848111E2}.Debug|x86.ActiveCfg = Debug|Any CPU
381+
{E5D27495-EE4F-4AAF-8749-A6BA848111E2}.Release|Any CPU.ActiveCfg = Release|Any CPU
382+
{E5D27495-EE4F-4AAF-8749-A6BA848111E2}.Release|x86.ActiveCfg = Release|Any CPU
383+
{7E70C376-7119-4C90-AC30-344EEA29594E}.Debug|Any CPU.ActiveCfg = Debug|x86
384+
{7E70C376-7119-4C90-AC30-344EEA29594E}.Debug|Any CPU.Build.0 = Debug|x86
385+
{7E70C376-7119-4C90-AC30-344EEA29594E}.Debug|x86.ActiveCfg = Debug|x86
386+
{7E70C376-7119-4C90-AC30-344EEA29594E}.Debug|x86.Build.0 = Debug|x86
387+
{7E70C376-7119-4C90-AC30-344EEA29594E}.Release|Any CPU.ActiveCfg = Release|x86
388+
{7E70C376-7119-4C90-AC30-344EEA29594E}.Release|Any CPU.Build.0 = Release|x86
389+
{7E70C376-7119-4C90-AC30-344EEA29594E}.Release|x86.ActiveCfg = Release|x86
390+
{7E70C376-7119-4C90-AC30-344EEA29594E}.Release|x86.Build.0 = Release|x86
391+
{476475CE-3C81-446B-914E-AC472D41B82A}.Debug|Any CPU.ActiveCfg = Debug|x86
392+
{476475CE-3C81-446B-914E-AC472D41B82A}.Debug|Any CPU.Build.0 = Debug|x86
393+
{476475CE-3C81-446B-914E-AC472D41B82A}.Debug|x86.ActiveCfg = Debug|x86
394+
{476475CE-3C81-446B-914E-AC472D41B82A}.Debug|x86.Build.0 = Debug|x86
395+
{476475CE-3C81-446B-914E-AC472D41B82A}.Release|Any CPU.ActiveCfg = Release|x86
396+
{476475CE-3C81-446B-914E-AC472D41B82A}.Release|Any CPU.Build.0 = Release|x86
397+
{476475CE-3C81-446B-914E-AC472D41B82A}.Release|x86.ActiveCfg = Release|x86
398+
{476475CE-3C81-446B-914E-AC472D41B82A}.Release|x86.Build.0 = Release|x86
399+
{0DBC85BC-52C3-491F-90F9-6D728FFA2E8F}.Debug|Any CPU.ActiveCfg = Debug|x86
400+
{0DBC85BC-52C3-491F-90F9-6D728FFA2E8F}.Debug|Any CPU.Build.0 = Debug|x86
401+
{0DBC85BC-52C3-491F-90F9-6D728FFA2E8F}.Debug|x86.ActiveCfg = Debug|x86
402+
{0DBC85BC-52C3-491F-90F9-6D728FFA2E8F}.Debug|x86.Build.0 = Debug|x86
403+
{0DBC85BC-52C3-491F-90F9-6D728FFA2E8F}.Release|Any CPU.ActiveCfg = Release|x86
404+
{0DBC85BC-52C3-491F-90F9-6D728FFA2E8F}.Release|Any CPU.Build.0 = Release|x86
405+
{0DBC85BC-52C3-491F-90F9-6D728FFA2E8F}.Release|x86.ActiveCfg = Release|x86
406+
{0DBC85BC-52C3-491F-90F9-6D728FFA2E8F}.Release|x86.Build.0 = Release|x86
331407
EndGlobalSection
332408
GlobalSection(SolutionProperties) = preSolution
333409
HideSolutionNode = FALSE
@@ -336,7 +412,6 @@ Global
336412
{25750BF1-1502-4F65-8D69-CEA8C87D6446} = {7F18EB64-C857-49C4-9380-70D3CCE6242B}
337413
{2379A486-0D28-4CAD-BB13-E77FBA538E0D} = {A8B76501-496A-4011-9C37-8308A1EBDFA7}
338414
{156BFEDA-D477-43B2-92DA-FCC9BAF1F893} = {A8B76501-496A-4011-9C37-8308A1EBDFA7}
339-
{E5D27495-EE4F-4AAF-8749-A6BA848111E2} = {156BFEDA-D477-43B2-92DA-FCC9BAF1F893}
340415
{3A860CDD-94B9-4002-BA08-87E8822DDE50} = {7F18EB64-C857-49C4-9380-70D3CCE6242B}
341416
{1912618E-7942-4BB0-BC2B-7F48A38D1049} = {7F18EB64-C857-49C4-9380-70D3CCE6242B}
342417
{B10B59B5-9F63-41C2-BFBB-6C7311DC4E99} = {7F18EB64-C857-49C4-9380-70D3CCE6242B}
@@ -367,6 +442,16 @@ Global
367442
{F675BEA0-4A75-4B30-9E70-CBBE8641E9CD} = {83C828B9-2B1E-4982-B4B7-69D173DFBB27}
368443
{FB0561D3-4AF8-415A-85B4-E4E9ADDC3DB2} = {D885EE64-C1BD-44D6-84D8-1E46806298D9}
369444
{470D3417-36A4-49A4-B719-496466FA92FB} = {156BFEDA-D477-43B2-92DA-FCC9BAF1F893}
445+
{2E9D03C1-BF8F-4E3D-944A-0DDEDDE620C5} = {3BF27572-9D3A-497C-8375-29110EBBD3D1}
446+
{D2B223B6-983B-4782-B231-5F481504A86F} = {FF0C329F-41E8-4540-BCDB-97690911077D}
447+
{11F66210-D711-4A0A-AE3A-8AC11432CDC3} = {FF0C329F-41E8-4540-BCDB-97690911077D}
448+
{AB47CC99-15ED-4928-A2F2-DC8F83DA9482} = {156BFEDA-D477-43B2-92DA-FCC9BAF1F893}
449+
{470D3417-36A4-49A4-B719-496466FA92FC} = {156BFEDA-D477-43B2-92DA-FCC9BAF1F893}
450+
{56DFAAD2-2E14-45D8-8BC9-D171785235E9} = {11F66210-D711-4A0A-AE3A-8AC11432CDC3}
451+
{E5D27495-EE4F-4AAF-8749-A6BA848111E2} = {156BFEDA-D477-43B2-92DA-FCC9BAF1F893}
452+
{7E70C376-7119-4C90-AC30-344EEA29594E} = {83C828B9-2B1E-4982-B4B7-69D173DFBB27}
453+
{476475CE-3C81-446B-914E-AC472D41B82A} = {83C828B9-2B1E-4982-B4B7-69D173DFBB27}
454+
{0DBC85BC-52C3-491F-90F9-6D728FFA2E8F} = {83C828B9-2B1E-4982-B4B7-69D173DFBB27}
370455
EndGlobalSection
371456
GlobalSection(ExtensibilityGlobals) = postSolution
372457
SolutionGuid = {83740BD9-AEEF-49C7-A722-D7703D3A38CB}

0 commit comments

Comments
 (0)