diff options
author | lbsa71 | 2007-04-11 14:14:19 +0000 |
---|---|---|
committer | lbsa71 | 2007-04-11 14:14:19 +0000 |
commit | 08d5d10d62df2c1c418e7a39cadb6662ea66b228 (patch) | |
tree | 19ac712ff6cc51f0563bc99767fc4331061214a8 | |
parent | deleted OpenSim.Terrain.BasicTerrain.dll from the bin folder, don't think the... (diff) | |
download | opensim-SC-08d5d10d62df2c1c418e7a39cadb6662ea66b228.zip opensim-SC-08d5d10d62df2c1c418e7a39cadb6662ea66b228.tar.gz opensim-SC-08d5d10d62df2c1c418e7a39cadb6662ea66b228.tar.bz2 opensim-SC-08d5d10d62df2c1c418e7a39cadb6662ea66b228.tar.xz |
* Started on converting UserHTTPServer to BaseHttpServer
* Added a 'param' param to the RestMethod
* Added RestHandlerEntry to store more info about the 'rest' handler
-rw-r--r-- | OpenGridServices.GridServer/GridHttp.cs | 13 | ||||
-rw-r--r-- | OpenGridServices.GridServer/Main.cs | 1 | ||||
-rw-r--r-- | OpenGridServices.UserServer/Main.cs | 6 | ||||
-rw-r--r-- | OpenGridServices.UserServer/UserHttp.cs | 20 | ||||
-rw-r--r-- | OpenSim.Framework/UserProfileManager.cs | 16 | ||||
-rw-r--r-- | OpenSim.RegionServer/CAPS/AdminWebFront.cs | 26 | ||||
-rw-r--r-- | OpenSim.RegionServer/OpenSimMain.cs | 2 | ||||
-rw-r--r-- | OpenSim.Servers/BaseHttpServer.cs | 36 | ||||
-rw-r--r-- | OpenSim.Servers/IRestHandler.cs | 2 | ||||
-rw-r--r-- | OpenSim.sln | 228 |
10 files changed, 178 insertions, 172 deletions
diff --git a/OpenGridServices.GridServer/GridHttp.cs b/OpenGridServices.GridServer/GridHttp.cs index 5f8bd56..9e9246d 100644 --- a/OpenGridServices.GridServer/GridHttp.cs +++ b/OpenGridServices.GridServer/GridHttp.cs | |||
@@ -49,12 +49,17 @@ namespace OpenGridServices.GridServer | |||
49 | public HttpListener Listener; | 49 | public HttpListener Listener; |
50 | 50 | ||
51 | public GridHTTPServer() : base( 8001 ) { | 51 | public GridHTTPServer() : base( 8001 ) { |
52 | MainConsole.Instance.WriteLine("Starting up HTTP Server"); | 52 | Start(); |
53 | HTTPD = new Thread(new ThreadStart(StartHTTP)); | ||
54 | HTTPD.Start(); | ||
55 | } | 53 | } |
56 | 54 | ||
57 | public void StartHTTP() { | 55 | public void Start() |
56 | { | ||
57 | MainConsole.Instance.WriteLine("Starting up HTTP Server"); | ||
58 | HTTPD = new Thread(new ThreadStart(StartHTTP)); | ||
59 | HTTPD.Start(); | ||
60 | } | ||
61 | |||
62 | public void StartHTTP() { | ||
58 | MainConsole.Instance.WriteLine("GridHttp.cs:StartHTTP() - Spawned main thread OK"); | 63 | MainConsole.Instance.WriteLine("GridHttp.cs:StartHTTP() - Spawned main thread OK"); |
59 | Listener = new HttpListener(); | 64 | Listener = new HttpListener(); |
60 | 65 | ||
diff --git a/OpenGridServices.GridServer/Main.cs b/OpenGridServices.GridServer/Main.cs index 192b10c..8c83bbf 100644 --- a/OpenGridServices.GridServer/Main.cs +++ b/OpenGridServices.GridServer/Main.cs | |||
@@ -105,6 +105,7 @@ namespace OpenGridServices.GridServer | |||
105 | 105 | ||
106 | m_console.WriteLine("Main.cs:Startup() - Starting HTTP process"); | 106 | m_console.WriteLine("Main.cs:Startup() - Starting HTTP process"); |
107 | _httpd = new GridHTTPServer(); | 107 | _httpd = new GridHTTPServer(); |
108 | _httpd.Start(); | ||
108 | 109 | ||
109 | m_console.WriteLine("Main.cs:Startup() - Starting sim status checker"); | 110 | m_console.WriteLine("Main.cs:Startup() - Starting sim status checker"); |
110 | SimCheckTimer = new Timer(); | 111 | SimCheckTimer = new Timer(); |
diff --git a/OpenGridServices.UserServer/Main.cs b/OpenGridServices.UserServer/Main.cs index 9c128d3..9132a54 100644 --- a/OpenGridServices.UserServer/Main.cs +++ b/OpenGridServices.UserServer/Main.cs | |||
@@ -97,6 +97,12 @@ namespace OpenGridServices.UserServer | |||
97 | 97 | ||
98 | MainConsole.Instance.WriteLine("Main.cs:Startup() - Starting HTTP process"); | 98 | MainConsole.Instance.WriteLine("Main.cs:Startup() - Starting HTTP process"); |
99 | _httpd = new UserHTTPServer(); | 99 | _httpd = new UserHTTPServer(); |
100 | |||
101 | _httpd.AddXmlRPCHandler("login_to_simulator", _profilemanager.XmlRpcLoginMethod); | ||
102 | _httpd.AddRestHandler( "DELETE", "/usersessions/", _profilemanager.RestDeleteUserSessionMethod ); | ||
103 | |||
104 | _httpd.Start(); | ||
105 | |||
100 | } | 106 | } |
101 | 107 | ||
102 | 108 | ||
diff --git a/OpenGridServices.UserServer/UserHttp.cs b/OpenGridServices.UserServer/UserHttp.cs index e1385f7..191fccb 100644 --- a/OpenGridServices.UserServer/UserHttp.cs +++ b/OpenGridServices.UserServer/UserHttp.cs | |||
@@ -52,6 +52,10 @@ namespace OpenGridServices.UserServer | |||
52 | 52 | ||
53 | public UserHTTPServer() : base( 8002 ) | 53 | public UserHTTPServer() : base( 8002 ) |
54 | { | 54 | { |
55 | } | ||
56 | |||
57 | public void Start() | ||
58 | { | ||
55 | MainConsole.Instance.WriteLine("Starting up HTTP Server"); | 59 | MainConsole.Instance.WriteLine("Starting up HTTP Server"); |
56 | HTTPD = new Thread(new ThreadStart(StartHTTP)); | 60 | HTTPD = new Thread(new ThreadStart(StartHTTP)); |
57 | HTTPD.Start(); | 61 | HTTPD.Start(); |
@@ -89,21 +93,13 @@ namespace OpenGridServices.UserServer | |||
89 | switch (req_type) | 93 | switch (req_type) |
90 | { | 94 | { |
91 | case "usersessions": | 95 | case "usersessions": |
92 | LLUUID sessionid = new LLUUID(rest_params[2]); // get usersessions/sessionid | 96 | string param = rest_params[2]; |
97 | string result = ""; | ||
93 | if (www_req.HttpMethod == "DELETE") | 98 | if (www_req.HttpMethod == "DELETE") |
94 | { | 99 | { |
95 | foreach (libsecondlife.LLUUID UUID in OpenUser_Main.userserver._profilemanager.UserProfiles.Keys) | 100 | result = OpenUser_Main.userserver._profilemanager.RestDeleteUserSessionMethod( null, null, param ); |
96 | { | ||
97 | if (OpenUser_Main.userserver._profilemanager.UserProfiles[UUID].CurrentSessionID == sessionid) | ||
98 | { | ||
99 | OpenUser_Main.userserver._profilemanager.UserProfiles[UUID].CurrentSessionID = null; | ||
100 | OpenUser_Main.userserver._profilemanager.UserProfiles[UUID].CurrentSecureSessionID = null; | ||
101 | OpenUser_Main.userserver._profilemanager.UserProfiles[UUID].Circuits.Clear(); | ||
102 | } | ||
103 | } | ||
104 | |||
105 | } | 101 | } |
106 | return "OK"; | 102 | return result; |
107 | } | 103 | } |
108 | 104 | ||
109 | return ""; | 105 | return ""; |
diff --git a/OpenSim.Framework/UserProfileManager.cs b/OpenSim.Framework/UserProfileManager.cs index bf11910..7c4fb6f 100644 --- a/OpenSim.Framework/UserProfileManager.cs +++ b/OpenSim.Framework/UserProfileManager.cs | |||
@@ -48,6 +48,22 @@ namespace OpenSim.Framework.User | |||
48 | return ""; | 48 | return ""; |
49 | } | 49 | } |
50 | 50 | ||
51 | public string RestDeleteUserSessionMethod( string request, string path, string param ) | ||
52 | { | ||
53 | LLUUID sessionid = new LLUUID(param); // get usersessions/sessionid | ||
54 | foreach (libsecondlife.LLUUID UUID in UserProfiles.Keys) | ||
55 | { | ||
56 | if ( UserProfiles[UUID].CurrentSessionID == sessionid) | ||
57 | { | ||
58 | UserProfiles[UUID].CurrentSessionID = null; | ||
59 | UserProfiles[UUID].CurrentSecureSessionID = null; | ||
60 | UserProfiles[UUID].Circuits.Clear(); | ||
61 | } | ||
62 | } | ||
63 | |||
64 | return "OK"; | ||
65 | } | ||
66 | |||
51 | public XmlRpcResponse XmlRpcLoginMethod(XmlRpcRequest request) | 67 | public XmlRpcResponse XmlRpcLoginMethod(XmlRpcRequest request) |
52 | { | 68 | { |
53 | XmlRpcResponse response = new XmlRpcResponse(); | 69 | XmlRpcResponse response = new XmlRpcResponse(); |
diff --git a/OpenSim.RegionServer/CAPS/AdminWebFront.cs b/OpenSim.RegionServer/CAPS/AdminWebFront.cs index d4519e8..743d1a9 100644 --- a/OpenSim.RegionServer/CAPS/AdminWebFront.cs +++ b/OpenSim.RegionServer/CAPS/AdminWebFront.cs | |||
@@ -48,7 +48,7 @@ namespace OpenSim.CAPS | |||
48 | server.AddRestHandler("POST", "/Admin/Login", PostLogin ); | 48 | server.AddRestHandler("POST", "/Admin/Login", PostLogin ); |
49 | } | 49 | } |
50 | 50 | ||
51 | private string GetWelcomePage(string request, string path) | 51 | private string GetWelcomePage(string request, string path, string param) |
52 | { | 52 | { |
53 | string responseString; | 53 | string responseString; |
54 | responseString = "Welcome to the OpenSim Admin Page"; | 54 | responseString = "Welcome to the OpenSim Admin Page"; |
@@ -56,7 +56,7 @@ namespace OpenSim.CAPS | |||
56 | return responseString; | 56 | return responseString; |
57 | } | 57 | } |
58 | 58 | ||
59 | private string PostLogin(string requestBody, string path) | 59 | private string PostLogin(string requestBody, string path, string param) |
60 | { | 60 | { |
61 | string responseString; | 61 | string responseString; |
62 | // Console.WriteLine(requestBody); | 62 | // Console.WriteLine(requestBody); |
@@ -73,7 +73,7 @@ namespace OpenSim.CAPS | |||
73 | return responseString; | 73 | return responseString; |
74 | } | 74 | } |
75 | 75 | ||
76 | private string PostNewAccount(string requestBody, string path) | 76 | private string PostNewAccount(string requestBody, string path, string param) |
77 | { | 77 | { |
78 | string responseString; | 78 | string responseString; |
79 | string firstName = ""; | 79 | string firstName = ""; |
@@ -122,7 +122,7 @@ namespace OpenSim.CAPS | |||
122 | return responseString; | 122 | return responseString; |
123 | } | 123 | } |
124 | 124 | ||
125 | private string GetConnectedClientsPage(string request, string path) | 125 | private string GetConnectedClientsPage(string request, string path, string param) |
126 | { | 126 | { |
127 | string responseString; | 127 | string responseString; |
128 | responseString = " <p> Listing connected Clients </p>"; | 128 | responseString = " <p> Listing connected Clients </p>"; |
@@ -140,7 +140,7 @@ namespace OpenSim.CAPS | |||
140 | return responseString; | 140 | return responseString; |
141 | } | 141 | } |
142 | 142 | ||
143 | private string AddTestScript(string request, string path) | 143 | private string AddTestScript(string request, string path, string param) |
144 | { | 144 | { |
145 | int index = path.LastIndexOf('/'); | 145 | int index = path.LastIndexOf('/'); |
146 | 146 | ||
@@ -159,13 +159,13 @@ namespace OpenSim.CAPS | |||
159 | return String.Format("Couldn't parse [{0}]", lluidStr ); | 159 | return String.Format("Couldn't parse [{0}]", lluidStr ); |
160 | } | 160 | } |
161 | } | 161 | } |
162 | 162 | ||
163 | private string GetScriptsPage(string request, string path) | 163 | private string GetScriptsPage(string request, string path, string param) |
164 | { | 164 | { |
165 | return String.Empty; | 165 | return String.Empty; |
166 | } | 166 | } |
167 | 167 | ||
168 | private string GetEntitiesPage(string request, string path) | 168 | private string GetEntitiesPage(string request, string path, string param) |
169 | { | 169 | { |
170 | string responseString; | 170 | string responseString; |
171 | responseString = " <p> Listing current entities</p><ul>"; | 171 | responseString = " <p> Listing current entities</p><ul>"; |
@@ -179,7 +179,7 @@ namespace OpenSim.CAPS | |||
179 | return responseString; | 179 | return responseString; |
180 | } | 180 | } |
181 | 181 | ||
182 | private string GetClientsInventory(string request, string path) | 182 | private string GetClientsInventory(string request, string path, string param) |
183 | { | 183 | { |
184 | string[] line; | 184 | string[] line; |
185 | string delimStr = "/"; | 185 | string delimStr = "/"; |
@@ -208,12 +208,12 @@ namespace OpenSim.CAPS | |||
208 | return responseString; | 208 | return responseString; |
209 | } | 209 | } |
210 | 210 | ||
211 | private string GetCachedAssets(string request, string path) | 211 | private string GetCachedAssets(string request, string path, string param) |
212 | { | 212 | { |
213 | return ""; | 213 | return ""; |
214 | } | 214 | } |
215 | 215 | ||
216 | private string GetAccountsPage(string request, string path) | 216 | private string GetAccountsPage(string request, string path, string param) |
217 | { | 217 | { |
218 | string responseString; | 218 | string responseString; |
219 | responseString = "<p> Account management </p>"; | 219 | responseString = "<p> Account management </p>"; |
@@ -223,7 +223,7 @@ namespace OpenSim.CAPS | |||
223 | return responseString; | 223 | return responseString; |
224 | } | 224 | } |
225 | 225 | ||
226 | private string GetAdminPage(string request, string path) | 226 | private string GetAdminPage(string request, string path, string param) |
227 | { | 227 | { |
228 | return AdminPage; | 228 | return AdminPage; |
229 | } | 229 | } |
diff --git a/OpenSim.RegionServer/OpenSimMain.cs b/OpenSim.RegionServer/OpenSimMain.cs index fcc6512..9ea32b1 100644 --- a/OpenSim.RegionServer/OpenSimMain.cs +++ b/OpenSim.RegionServer/OpenSimMain.cs | |||
@@ -197,7 +197,7 @@ namespace OpenSim | |||
197 | return new XmlRpcResponse(); | 197 | return new XmlRpcResponse(); |
198 | }); | 198 | }); |
199 | _httpServer.AddRestHandler("GET", "/simstatus/", | 199 | _httpServer.AddRestHandler("GET", "/simstatus/", |
200 | delegate(string request, string path) | 200 | delegate(string request, string path, string param ) |
201 | { | 201 | { |
202 | return "OK"; | 202 | return "OK"; |
203 | }); | 203 | }); |
diff --git a/OpenSim.Servers/BaseHttpServer.cs b/OpenSim.Servers/BaseHttpServer.cs index 2f73f46..0a123b7 100644 --- a/OpenSim.Servers/BaseHttpServer.cs +++ b/OpenSim.Servers/BaseHttpServer.cs | |||
@@ -12,9 +12,30 @@ namespace OpenSim.Servers | |||
12 | { | 12 | { |
13 | public class BaseHttpServer | 13 | public class BaseHttpServer |
14 | { | 14 | { |
15 | protected class RestMethodEntry | ||
16 | { | ||
17 | private string m_path; | ||
18 | public string Path | ||
19 | { | ||
20 | get { return m_path; } | ||
21 | } | ||
22 | |||
23 | private RestMethod m_restMethod; | ||
24 | public RestMethod RestMethod | ||
25 | { | ||
26 | get { return m_restMethod; } | ||
27 | } | ||
28 | |||
29 | public RestMethodEntry( string path, RestMethod restMethod ) | ||
30 | { | ||
31 | m_path = path; | ||
32 | m_restMethod = restMethod; | ||
33 | } | ||
34 | } | ||
35 | |||
15 | protected Thread m_workerThread; | 36 | protected Thread m_workerThread; |
16 | protected HttpListener m_httpListener; | 37 | protected HttpListener m_httpListener; |
17 | protected Dictionary<string, RestMethod> m_restHandlers = new Dictionary<string, RestMethod>(); | 38 | protected Dictionary<string, RestMethodEntry> m_restHandlers = new Dictionary<string, RestMethodEntry>(); |
18 | protected Dictionary<string, XmlRpcMethod> m_rpcHandlers = new Dictionary<string, XmlRpcMethod>(); | 39 | protected Dictionary<string, XmlRpcMethod> m_rpcHandlers = new Dictionary<string, XmlRpcMethod>(); |
19 | protected int m_port; | 40 | protected int m_port; |
20 | 41 | ||
@@ -29,7 +50,7 @@ namespace OpenSim.Servers | |||
29 | 50 | ||
30 | if (!this.m_restHandlers.ContainsKey(methodKey)) | 51 | if (!this.m_restHandlers.ContainsKey(methodKey)) |
31 | { | 52 | { |
32 | this.m_restHandlers.Add(methodKey, handler); | 53 | this.m_restHandlers.Add(methodKey, new RestMethodEntry( path, handler )); |
33 | return true; | 54 | return true; |
34 | } | 55 | } |
35 | 56 | ||
@@ -74,7 +95,6 @@ namespace OpenSim.Servers | |||
74 | protected virtual string ParseREST(string request, string path, string method) | 95 | protected virtual string ParseREST(string request, string path, string method) |
75 | { | 96 | { |
76 | string response; | 97 | string response; |
77 | RestMethod handler; | ||
78 | 98 | ||
79 | string requestKey = String.Format("{0}: {1}", method, path); | 99 | string requestKey = String.Format("{0}: {1}", method, path); |
80 | 100 | ||
@@ -89,10 +109,14 @@ namespace OpenSim.Servers | |||
89 | } | 109 | } |
90 | } | 110 | } |
91 | } | 111 | } |
92 | 112 | ||
93 | if (m_restHandlers.TryGetValue(bestMatch, out handler)) | 113 | RestMethodEntry restMethodEntry; |
114 | if (m_restHandlers.TryGetValue(bestMatch, out restMethodEntry)) | ||
94 | { | 115 | { |
95 | response = handler(request, path); | 116 | RestMethod restMethod = restMethodEntry.RestMethod; |
117 | |||
118 | string param = path.Substring( restMethodEntry.Path.Length ); | ||
119 | response = restMethod(request, path, param); | ||
96 | 120 | ||
97 | } | 121 | } |
98 | else | 122 | else |
diff --git a/OpenSim.Servers/IRestHandler.cs b/OpenSim.Servers/IRestHandler.cs index 08737cc..c322505 100644 --- a/OpenSim.Servers/IRestHandler.cs +++ b/OpenSim.Servers/IRestHandler.cs | |||
@@ -4,5 +4,5 @@ using System.Text; | |||
4 | 4 | ||
5 | namespace OpenSim.Servers | 5 | namespace OpenSim.Servers |
6 | { | 6 | { |
7 | public delegate string RestMethod( string request, string path ); | 7 | public delegate string RestMethod( string request, string path, string param ); |
8 | } | 8 | } |
diff --git a/OpenSim.sln b/OpenSim.sln index 58be9fe..47f7a5c 100644 --- a/OpenSim.sln +++ b/OpenSim.sln | |||
@@ -43,139 +43,97 @@ EndProject | |||
43 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenGridServices.GridServer", "OpenGridServices.GridServer\OpenGridServices.GridServer.csproj", "{21BFC8E2-0000-0000-0000-000000000000}" | 43 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenGridServices.GridServer", "OpenGridServices.GridServer\OpenGridServices.GridServer.csproj", "{21BFC8E2-0000-0000-0000-000000000000}" |
44 | EndProject | 44 | EndProject |
45 | Global | 45 | Global |
46 | GlobalSection(SolutionConfigurationPlatforms) = preSolution | 46 | GlobalSection(SolutionConfigurationPlatforms) = preSolution |
47 | Debug|Any CPU = Debug|Any CPU | 47 | Debug|Any CPU = Debug|Any CPU |
48 | Release|Any CPU = Release|Any CPU | 48 | Release|Any CPU = Release|Any CPU |
49 | EndGlobalSection | 49 | EndGlobalSection |
50 | GlobalSection(ProjectDependencies) = postSolution | 50 | GlobalSection(ProjectConfigurationPlatforms) = postSolution |
51 | ({632E1BFD-0000-0000-0000-000000000000}).5 = ({2270B8FE-0000-0000-0000-000000000000}) | 51 | {2270B8FE-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
52 | ({632E1BFD-0000-0000-0000-000000000000}).6 = ({8ACA2445-0000-0000-0000-000000000000}) | 52 | {2270B8FE-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
53 | ({632E1BFD-0000-0000-0000-000000000000}).7 = ({A7CD0630-0000-0000-0000-000000000000}) | 53 | {2270B8FE-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
54 | ({632E1BFD-0000-0000-0000-000000000000}).8 = ({E88EF749-0000-0000-0000-000000000000}) | 54 | {2270B8FE-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
55 | ({632E1BFD-0000-0000-0000-000000000000}).9 = ({8BE16150-0000-0000-0000-000000000000}) | 55 | {632E1BFD-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
56 | ({632E1BFD-0000-0000-0000-000000000000}).10 = ({8BB20F0A-0000-0000-0000-000000000000}) | 56 | {632E1BFD-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
57 | ({63A05FE9-0000-0000-0000-000000000000}).2 = ({8BE16150-0000-0000-0000-000000000000}) | 57 | {632E1BFD-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
58 | ({EE9E5D96-0000-0000-0000-000000000000}).6 = ({8ACA2445-0000-0000-0000-000000000000}) | 58 | {632E1BFD-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
59 | ({EE9E5D96-0000-0000-0000-000000000000}).7 = ({A7CD0630-0000-0000-0000-000000000000}) | 59 | {63A05FE9-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
60 | ({438A9556-0000-0000-0000-000000000000}).5 = ({8ACA2445-0000-0000-0000-000000000000}) | 60 | {63A05FE9-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
61 | ({438A9556-0000-0000-0000-000000000000}).6 = ({A7CD0630-0000-0000-0000-000000000000}) | 61 | {63A05FE9-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
62 | ({438A9556-0000-0000-0000-000000000000}).7 = ({8BE16150-0000-0000-0000-000000000000}) | 62 | {63A05FE9-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
63 | ({438A9556-0000-0000-0000-000000000000}).8 = ({8BB20F0A-0000-0000-0000-000000000000}) | 63 | {A7CD0630-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
64 | ({438A9556-0000-0000-0000-000000000000}).9 = ({632E1BFD-0000-0000-0000-000000000000}) | 64 | {A7CD0630-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
65 | ({E88EF749-0000-0000-0000-000000000000}).2 = ({8ACA2445-0000-0000-0000-000000000000}) | 65 | {A7CD0630-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
66 | ({8BE16150-0000-0000-0000-000000000000}).3 = ({8ACA2445-0000-0000-0000-000000000000}) | 66 | {A7CD0630-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
67 | ({8BE16150-0000-0000-0000-000000000000}).4 = ({A7CD0630-0000-0000-0000-000000000000}) | 67 | {EE9E5D96-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
68 | ({97A82740-0000-0000-0000-000000000000}).2 = ({8ACA2445-0000-0000-0000-000000000000}) | 68 | {EE9E5D96-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
69 | ({66591469-0000-0000-0000-000000000000}).3 = ({8ACA2445-0000-0000-0000-000000000000}) | 69 | {EE9E5D96-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
70 | ({66591469-0000-0000-0000-000000000000}).4 = ({A7CD0630-0000-0000-0000-000000000000}) | 70 | {EE9E5D96-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
71 | ({66591469-0000-0000-0000-000000000000}).5 = ({8BB20F0A-0000-0000-0000-000000000000}) | 71 | {438A9556-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
72 | ({4F874463-0000-0000-0000-000000000000}).2 = ({8BE16150-0000-0000-0000-000000000000}) | 72 | {438A9556-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
73 | ({B0027747-0000-0000-0000-000000000000}).5 = ({8ACA2445-0000-0000-0000-000000000000}) | 73 | {438A9556-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
74 | ({B0027747-0000-0000-0000-000000000000}).6 = ({A7CD0630-0000-0000-0000-000000000000}) | 74 | {438A9556-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
75 | ({988F0AC4-0000-0000-0000-000000000000}).3 = ({8BE16150-0000-0000-0000-000000000000}) | 75 | {E88EF749-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
76 | ({B55C0B5D-0000-0000-0000-000000000000}).3 = ({8ACA2445-0000-0000-0000-000000000000}) | 76 | {E88EF749-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
77 | ({B55C0B5D-0000-0000-0000-000000000000}).4 = ({A7CD0630-0000-0000-0000-000000000000}) | 77 | {E88EF749-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
78 | ({8BB20F0A-0000-0000-0000-000000000000}).2 = ({8ACA2445-0000-0000-0000-000000000000}) | 78 | {E88EF749-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
79 | ({8BB20F0A-0000-0000-0000-000000000000}).3 = ({A7CD0630-0000-0000-0000-000000000000}) | 79 | {8BE16150-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
80 | ({E1B79ECF-0000-0000-0000-000000000000}).4 = ({8ACA2445-0000-0000-0000-000000000000}) | 80 | {8BE16150-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
81 | ({E1B79ECF-0000-0000-0000-000000000000}).5 = ({A7CD0630-0000-0000-0000-000000000000}) | 81 | {8BE16150-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
82 | ({6B20B603-0000-0000-0000-000000000000}).5 = ({8ACA2445-0000-0000-0000-000000000000}) | 82 | {8BE16150-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
83 | ({6B20B603-0000-0000-0000-000000000000}).6 = ({A7CD0630-0000-0000-0000-000000000000}) | 83 | {97A82740-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
84 | ({7E494328-0000-0000-0000-000000000000}).5 = ({8ACA2445-0000-0000-0000-000000000000}) | 84 | {97A82740-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
85 | ({7E494328-0000-0000-0000-000000000000}).6 = ({A7CD0630-0000-0000-0000-000000000000}) | 85 | {97A82740-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
86 | ({546099CD-0000-0000-0000-000000000000}).4 = ({8ACA2445-0000-0000-0000-000000000000}) | 86 | {97A82740-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
87 | ({546099CD-0000-0000-0000-000000000000}).5 = ({A7CD0630-0000-0000-0000-000000000000}) | 87 | {66591469-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
88 | ({21BFC8E2-0000-0000-0000-000000000000}).3 = ({8ACA2445-0000-0000-0000-000000000000}) | 88 | {66591469-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
89 | ({21BFC8E2-0000-0000-0000-000000000000}).4 = ({A7CD0630-0000-0000-0000-000000000000}) | 89 | {66591469-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
90 | ({21BFC8E2-0000-0000-0000-000000000000}).5 = ({8BB20F0A-0000-0000-0000-000000000000}) | 90 | {66591469-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
91 | EndGlobalSection | 91 | {4F874463-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
92 | GlobalSection(ProjectConfigurationPlatforms) = postSolution | 92 | {4F874463-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
93 | {2270B8FE-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 93 | {4F874463-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
94 | {2270B8FE-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 94 | {4F874463-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
95 | {2270B8FE-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 95 | {B0027747-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
96 | {2270B8FE-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 96 | {B0027747-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
97 | {632E1BFD-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 97 | {B0027747-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
98 | {632E1BFD-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 98 | {B0027747-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
99 | {632E1BFD-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 99 | {988F0AC4-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
100 | {632E1BFD-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 100 | {988F0AC4-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
101 | {63A05FE9-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 101 | {988F0AC4-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
102 | {63A05FE9-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 102 | {988F0AC4-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
103 | {63A05FE9-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 103 | {B55C0B5D-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
104 | {63A05FE9-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 104 | {B55C0B5D-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
105 | {A7CD0630-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 105 | {B55C0B5D-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
106 | {A7CD0630-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 106 | {B55C0B5D-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
107 | {A7CD0630-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 107 | {8ACA2445-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
108 | {A7CD0630-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 108 | {8ACA2445-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
109 | {EE9E5D96-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 109 | {8ACA2445-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
110 | {EE9E5D96-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 110 | {8ACA2445-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
111 | {EE9E5D96-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 111 | {8BB20F0A-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
112 | {EE9E5D96-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 112 | {8BB20F0A-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
113 | {438A9556-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 113 | {8BB20F0A-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
114 | {438A9556-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 114 | {8BB20F0A-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
115 | {438A9556-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 115 | {E1B79ECF-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
116 | {438A9556-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 116 | {E1B79ECF-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
117 | {E88EF749-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 117 | {E1B79ECF-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
118 | {E88EF749-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 118 | {E1B79ECF-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
119 | {E88EF749-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 119 | {6B20B603-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
120 | {E88EF749-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 120 | {6B20B603-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
121 | {8BE16150-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 121 | {6B20B603-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
122 | {8BE16150-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 122 | {6B20B603-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
123 | {8BE16150-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 123 | {7E494328-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
124 | {8BE16150-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 124 | {7E494328-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
125 | {97A82740-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 125 | {7E494328-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
126 | {97A82740-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 126 | {7E494328-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
127 | {97A82740-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 127 | {546099CD-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
128 | {97A82740-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 128 | {546099CD-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
129 | {66591469-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 129 | {546099CD-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
130 | {66591469-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 130 | {546099CD-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
131 | {66591469-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 131 | {21BFC8E2-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
132 | {66591469-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 132 | {21BFC8E2-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
133 | {4F874463-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 133 | {21BFC8E2-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
134 | {4F874463-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 134 | {21BFC8E2-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
135 | {4F874463-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 135 | EndGlobalSection |
136 | {4F874463-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 136 | GlobalSection(SolutionProperties) = preSolution |
137 | {B0027747-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 137 | HideSolutionNode = FALSE |
138 | {B0027747-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 138 | EndGlobalSection |
139 | {B0027747-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
140 | {B0027747-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
141 | {988F0AC4-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
142 | {988F0AC4-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
143 | {988F0AC4-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
144 | {988F0AC4-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
145 | {B55C0B5D-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
146 | {B55C0B5D-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
147 | {B55C0B5D-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
148 | {B55C0B5D-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
149 | {8ACA2445-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
150 | {8ACA2445-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
151 | {8ACA2445-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
152 | {8ACA2445-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
153 | {8BB20F0A-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
154 | {8BB20F0A-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
155 | {8BB20F0A-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
156 | {8BB20F0A-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
157 | {E1B79ECF-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
158 | {E1B79ECF-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
159 | {E1B79ECF-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
160 | {E1B79ECF-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
161 | {6B20B603-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
162 | {6B20B603-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
163 | {6B20B603-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
164 | {6B20B603-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
165 | {7E494328-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
166 | {7E494328-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
167 | {7E494328-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
168 | {7E494328-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
169 | {546099CD-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
170 | {546099CD-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
171 | {546099CD-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
172 | {546099CD-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
173 | {21BFC8E2-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
174 | {21BFC8E2-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
175 | {21BFC8E2-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
176 | {21BFC8E2-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
177 | EndGlobalSection | ||
178 | GlobalSection(SolutionProperties) = preSolution | ||
179 | HideSolutionNode = FALSE | ||
180 | EndGlobalSection | ||
181 | EndGlobal | 139 | EndGlobal |