Index: s/NajdiMentor/ColorByRegexConfig.txt
===================================================================
--- .vs/NajdiMentor/ColorByRegexConfig.txt	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ 	(revision )
@@ -1,10 +1,0 @@
-// This file contains rules to color document tabs by regular expressions. Each line contains a regular expression that will be tested against a file's full path. All files matching a regular expression will share a color.
-// You can customize the color assigned to any group of files by right-clicking the tab and choosing "Set Tab Color."
-// Regular expressions will be matched in the order they appear in this file. See https://docs.microsoft.com/en-us/dotnet/standard/base-types/regular-expressions for syntax.
-// Regular expressions are matched as case-insensitive by default. You can override this behavior using capture group options like "(?-i:expression)".
-// Edit this file and save your changes to see changes immediately applied. Any errors encountered during parsing or evaluating expressions will appear in the Output Window in a pane named "Color by Regular Expression."
-^.*\.cs$
-^.*\.fs$
-^.*\.vb$
-^.*\.cp?p?$
-^.*\.hp?p?$
Index: .vs/NajdiMentor/v17/DocumentLayout.backup.json
===================================================================
--- .vs/NajdiMentor/v17/DocumentLayout.backup.json	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ .vs/NajdiMentor/v17/DocumentLayout.backup.json	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -4,6 +4,112 @@
   "Documents": [
     {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\startup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\startup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\_opinionform.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\_opinionform.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\mentorprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\mentorprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\inbox.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\inbox.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\contactform.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\contactform.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|c:\\users\\kate\\source\\repos\\najdimentor\\webapplication1\\controllers\\accountcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\controllers\\accountcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\mentorcontact.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\mentorcontact.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\inboxcombinedviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\inboxcombinedviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\requestitemdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\requestitemdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\opinion.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\opinion.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\accountviewmodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\accountviewmodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\identitymodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\identitymodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\shared\\_layout.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\shared\\_layout.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\viewmentors.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\viewmentors.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\editmentorprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\editmentorprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\_replytostudentform.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\_replytostudentform.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\message.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\message.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\mentordescription.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\mentordescription.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\subject.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\subject.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|ViewDataWindow_MSSQL__/_LocalDb__MSSQLLocalDB/aspnet_WebApplication1_202506262316561/True/SqlTable/dbo.AspNetUsers.sql||{0058A1F7-65F3-4DB9-B3D0-CA7E64DD73CD}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\app_start\\bundleconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\app_start\\bundleconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|ViewDataWindow_MSSQL__/_LocalDb__MSSQLLocalDB/aspnet_WebApplication1_202506262316561/True/SqlTable/dbo.Subjects.sql||{0058A1F7-65F3-4DB9-B3D0-CA7E64DD73CD}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\controllers\\homecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\controllers\\homecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\register.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\register.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\app_start\\routeconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\app_start\\routeconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\home\\index.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\home\\index.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\migrations\\202506262316561_initial.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\migrations\\202506262316561_initial.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\project.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\project.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\login.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\login.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
     },
     {
@@ -12,144 +118,10 @@
     },
     {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|c:\\users\\kate\\source\\repos\\najdimentor\\webapplication1\\controllers\\accountcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\controllers\\accountcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\externalloginconfirmation.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\externalloginconfirmation.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\externalloginfailure.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\externalloginfailure.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\_externalloginslistpartial.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\_externalloginslistpartial.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\app_start\\identityconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\app_start\\identityconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\shared\\_loginpartial.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\shared\\_loginpartial.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\mentorprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\mentorprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\contactform.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\contactform.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\requestitemdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\requestitemdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\opinion.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\opinion.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\manageviewmodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\manageviewmodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\accountviewmodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\accountviewmodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\inbox.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\inbox.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\mentorcontact.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\mentorcontact.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\message.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\message.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\project.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\project.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\editmentorprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\editmentorprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\shared\\_layout.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\shared\\_layout.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\identitymodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\identitymodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\studentprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\studentprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\editstudentprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
       "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\editstudentprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\topicsuggestion.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\topicsuggestion.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Kate\\AppData\\Local\\Temp\\gqitrsen..sql||{CC5D8DF0-88F4-4BB2-9DBB-B48CEE65C30A}|"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\login.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\login.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\register.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\register.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\controllers\\managecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\controllers\\managecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\topic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\topic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\subject.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\subject.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\_opinionform.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\_opinionform.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\inboxcombinedviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\inboxcombinedviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\_replytostudentform.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\_replytostudentform.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\mentordescription.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\mentordescription.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\app_start\\bundleconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\app_start\\bundleconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|ViewDataWindow_MSSQL__/_LocalDb__MSSQLLocalDB/aspnet_WebApplication1_202506262316561/True/SqlTable/dbo.Subjects.sql||{0058A1F7-65F3-4DB9-B3D0-CA7E64DD73CD}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\controllers\\homecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\controllers\\homecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\app_start\\routeconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\app_start\\routeconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\studentprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\studentprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
     }
   ],
@@ -161,45 +133,35 @@
         {
           "DockedWidth": 200,
-          "SelectedChildIndex": 16,
+          "SelectedChildIndex": 1,
           "Children": [
             {
               "$type": "Document",
-              "DocumentIndex": 5,
-              "Title": "_ExternalLoginsListPartial.cshtml",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\_ExternalLoginsListPartial.cshtml",
-              "RelativeDocumentMoniker": "WebApplication1\\Views\\Account\\_ExternalLoginsListPartial.cshtml",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\_ExternalLoginsListPartial.cshtml",
-              "RelativeToolTip": "WebApplication1\\Views\\Account\\_ExternalLoginsListPartial.cshtml",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
-              "WhenOpened": "2026-03-02T01:27:09.255Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 4,
-              "Title": "ExternalLoginFailure.cshtml",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\ExternalLoginFailure.cshtml",
-              "RelativeDocumentMoniker": "WebApplication1\\Views\\Account\\ExternalLoginFailure.cshtml",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\ExternalLoginFailure.cshtml",
-              "RelativeToolTip": "WebApplication1\\Views\\Account\\ExternalLoginFailure.cshtml",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
-              "WhenOpened": "2026-03-02T01:26:50.794Z"
-            },
-            {
-              "$type": "Document",
               "DocumentIndex": 7,
-              "Title": "_LoginPartial.cshtml",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Shared\\_LoginPartial.cshtml",
-              "RelativeDocumentMoniker": "WebApplication1\\Views\\Shared\\_LoginPartial.cshtml",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Shared\\_LoginPartial.cshtml",
-              "RelativeToolTip": "WebApplication1\\Views\\Shared\\_LoginPartial.cshtml",
-              "ViewState": "AgIAAAYAAAAAAAAAAIBZwAAAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
-              "WhenOpened": "2026-03-02T01:26:40.885Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 11,
+              "Title": "RequestItemDto.cs",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\RequestItemDto.cs",
+              "RelativeDocumentMoniker": "WebApplication1\\Models\\RequestItemDto.cs",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\RequestItemDto.cs",
+              "RelativeToolTip": "WebApplication1\\Models\\RequestItemDto.cs",
+              "ViewState": "AgIAAAkAAAAAAAAAAAA1wB8AAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-27T21:48:35.257Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 0,
+              "Title": "_OpinionForm.cshtml",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\_OpinionForm.cshtml",
+              "RelativeDocumentMoniker": "WebApplication1\\Views\\Account\\_OpinionForm.cshtml",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\_OpinionForm.cshtml*",
+              "RelativeToolTip": "WebApplication1\\Views\\Account\\_OpinionForm.cshtml*",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAsAAAAkAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
+              "WhenOpened": "2025-12-27T21:11:26.561Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 8,
               "Title": "Opinion.cs",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\Opinion.cs",
@@ -207,229 +169,25 @@
               "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\Opinion.cs",
               "RelativeToolTip": "WebApplication1\\Models\\Opinion.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAACwAAAAFAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-27T20:53:06.546Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 8,
-              "Title": "MentorProfile.cshtml",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\MentorProfile.cshtml",
-              "RelativeDocumentMoniker": "WebApplication1\\Views\\Account\\MentorProfile.cshtml",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\MentorProfile.cshtml",
-              "RelativeToolTip": "WebApplication1\\Views\\Account\\MentorProfile.cshtml",
-              "ViewState": "AgIAAGkBAAAAAAAAAAAkwIQBAAAyAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
-              "WhenOpened": "2025-06-19T15:40:05.575Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 12,
-              "Title": "ManageViewModels.cs",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\ManageViewModels.cs",
-              "RelativeDocumentMoniker": "WebApplication1\\Models\\ManageViewModels.cs",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\ManageViewModels.cs",
-              "RelativeToolTip": "WebApplication1\\Models\\ManageViewModels.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-02-17T20:30:31.918Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 22,
-              "Title": "TopicSuggestion.cs",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\TopicSuggestion.cs",
-              "RelativeDocumentMoniker": "WebApplication1\\Models\\TopicSuggestion.cs",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\TopicSuggestion.cs",
-              "RelativeToolTip": "WebApplication1\\Models\\TopicSuggestion.cs",
-              "ViewState": "AgIAABAAAAAAAAAAAAAQwBsAAAA1AAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-02-17T20:26:21.706Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 23,
-              "Title": "gqitrsen..sql",
-              "DocumentMoniker": "C:\\Users\\Kate\\AppData\\Local\\Temp\\gqitrsen..sql",
-              "RelativeDocumentMoniker": "..\\..\\..\\AppData\\Local\\Temp\\gqitrsen..sql",
-              "ToolTip": "C:\\Users\\Kate\\AppData\\Local\\Temp\\gqitrsen..sql",
-              "RelativeToolTip": "..\\..\\..\\AppData\\Local\\Temp\\gqitrsen..sql",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000826|",
-              "WhenOpened": "2026-02-15T18:02:41.895Z"
+              "ViewState": "AgIAAB8AAAAAAAAAAADwvywAAAAFAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-27T20:53:06.546Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 6,
-              "Title": "IdentityConfig.cs",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\App_Start\\IdentityConfig.cs",
-              "RelativeDocumentMoniker": "WebApplication1\\App_Start\\IdentityConfig.cs",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\App_Start\\IdentityConfig.cs",
-              "RelativeToolTip": "WebApplication1\\App_Start\\IdentityConfig.cs",
-              "ViewState": "AgIAAAsAAAAAAAAAAAASwBwAAAAtAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-02-15T16:41:41.458Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 24,
-              "Title": "Login.cshtml",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\Login.cshtml",
-              "RelativeDocumentMoniker": "WebApplication1\\Views\\Account\\Login.cshtml",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\Login.cshtml",
-              "RelativeToolTip": "WebApplication1\\Views\\Account\\Login.cshtml",
-              "ViewState": "AgIAAAAAAAAAAAAAACBzwB0AAAAtAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
-              "WhenOpened": "2025-06-07T20:31:47.326Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 13,
-              "Title": "AccountViewModels.cs",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\AccountViewModels.cs",
-              "RelativeDocumentMoniker": "WebApplication1\\Models\\AccountViewModels.cs",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\AccountViewModels.cs",
-              "RelativeToolTip": "WebApplication1\\Models\\AccountViewModels.cs",
-              "ViewState": "AgIAACcBAAAAAAAAAAAwwL0AAAARAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-06-26T19:59:05.398Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 2,
-              "Title": "AccountController.cs",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Controllers\\AccountController.cs",
-              "RelativeDocumentMoniker": "WebApplication1\\Controllers\\AccountController.cs",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Controllers\\AccountController.cs",
-              "RelativeToolTip": "WebApplication1\\Controllers\\AccountController.cs",
-              "ViewState": "AgIAANgFAAAAAAAAAAAUwH8FAAAnAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-06-19T17:04:54.803Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 19,
-              "Title": "_Layout.cshtml",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Shared\\_Layout.cshtml",
-              "RelativeDocumentMoniker": "WebApplication1\\Views\\Shared\\_Layout.cshtml",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Shared\\_Layout.cshtml",
-              "RelativeToolTip": "WebApplication1\\Views\\Shared\\_Layout.cshtml",
-              "ViewState": "AgIAAHAAAAAAAAAAAAAiwHYAAAAkAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
-              "WhenOpened": "2025-07-11T11:34:03.882Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 1,
-              "Title": "Web.config",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Web.config",
-              "RelativeDocumentMoniker": "WebApplication1\\Web.config",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Web.config",
-              "RelativeToolTip": "WebApplication1\\Web.config",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAHAAAAAQAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000601|",
-              "WhenOpened": "2025-07-11T08:32:03.514Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 3,
-              "Title": "ExternalLoginConfirmation.cshtml",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\ExternalLoginConfirmation.cshtml",
-              "RelativeDocumentMoniker": "WebApplication1\\Views\\Account\\ExternalLoginConfirmation.cshtml",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\ExternalLoginConfirmation.cshtml",
-              "RelativeToolTip": "WebApplication1\\Views\\Account\\ExternalLoginConfirmation.cshtml",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAEwAAABZAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
-              "WhenOpened": "2026-02-14T14:15:15.984Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 25,
-              "Title": "Register.cshtml",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\Register.cshtml",
-              "RelativeDocumentMoniker": "WebApplication1\\Views\\Account\\Register.cshtml",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\Register.cshtml",
-              "RelativeToolTip": "WebApplication1\\Views\\Account\\Register.cshtml",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAABcBAAAwAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
-              "WhenOpened": "2025-06-19T16:27:56.292Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 0,
-              "Title": "Startup.cs",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Startup.cs",
-              "RelativeDocumentMoniker": "WebApplication1\\Startup.cs",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Startup.cs",
-              "RelativeToolTip": "WebApplication1\\Startup.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAKEAAAAQAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-02-12T23:40:22.829Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 26,
-              "Title": "ManageController.cs",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Controllers\\ManageController.cs",
-              "RelativeDocumentMoniker": "WebApplication1\\Controllers\\ManageController.cs",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Controllers\\ManageController.cs",
-              "RelativeToolTip": "WebApplication1\\Controllers\\ManageController.cs",
-              "ViewState": "AgIAAHIBAAAAAAAAAAAuwH4BAAAfAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-02-14T14:33:01.954Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 16,
-              "Title": "Message.cs",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\Message.cs",
-              "RelativeDocumentMoniker": "WebApplication1\\Models\\Message.cs",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\Message.cs",
-              "RelativeToolTip": "WebApplication1\\Models\\Message.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAArAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-26T12:11:43.889Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 32,
-              "Title": "MentorDescription.cs",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\MentorDescription.cs",
-              "RelativeDocumentMoniker": "WebApplication1\\Models\\MentorDescription.cs",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\MentorDescription.cs",
-              "RelativeToolTip": "WebApplication1\\Models\\MentorDescription.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAIBJwAAAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-26T12:19:10.595Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 10,
-              "Title": "RequestItemDto.cs",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\RequestItemDto.cs",
-              "RelativeDocumentMoniker": "WebApplication1\\Models\\RequestItemDto.cs",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\RequestItemDto.cs",
-              "RelativeToolTip": "WebApplication1\\Models\\RequestItemDto.cs",
-              "ViewState": "AgIAAAsAAAAAAAAAAAAAABsAAAA5AAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-27T21:48:35.257Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 27,
-              "Title": "Topic.cs",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\Topic.cs",
-              "RelativeDocumentMoniker": "WebApplication1\\Models\\Topic.cs",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\Topic.cs",
-              "RelativeToolTip": "WebApplication1\\Models\\Topic.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-01-21T12:49:09.494Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 31,
+              "Title": "InboxCombinedViewModel.cs",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\InboxCombinedViewModel.cs",
+              "RelativeDocumentMoniker": "WebApplication1\\Models\\InboxCombinedViewModel.cs",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\InboxCombinedViewModel.cs",
+              "RelativeToolTip": "WebApplication1\\Models\\InboxCombinedViewModel.cs",
+              "ViewState": "AgIAAAYAAAAAAAAAAAAAAA0AAAAyAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-26T13:13:22.014Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 14,
               "Title": "_ReplyToStudentForm.cshtml",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\_ReplyToStudentForm.cshtml",
@@ -439,33 +197,45 @@
               "ViewState": "AgIAAAAAAAAAAAAAAIBJwCIAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
-              "WhenOpened": "2025-12-26T13:01:41.373Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 30,
-              "Title": "InboxCombinedViewModel.cs",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\InboxCombinedViewModel.cs",
-              "RelativeDocumentMoniker": "WebApplication1\\Models\\InboxCombinedViewModel.cs",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\InboxCombinedViewModel.cs",
-              "RelativeToolTip": "WebApplication1\\Models\\InboxCombinedViewModel.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAIBZwA0AAAAyAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-26T13:13:22.014Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 29,
-              "Title": "_OpinionForm.cshtml",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\_OpinionForm.cshtml",
-              "RelativeDocumentMoniker": "WebApplication1\\Views\\Account\\_OpinionForm.cshtml",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\_OpinionForm.cshtml",
-              "RelativeToolTip": "WebApplication1\\Views\\Account\\_OpinionForm.cshtml",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
-              "WhenOpened": "2025-12-27T21:11:26.561Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 33,
+              "WhenOpened": "2025-12-26T13:01:41.373Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 16,
+              "Title": "MentorDescription.cs",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\MentorDescription.cs",
+              "RelativeDocumentMoniker": "WebApplication1\\Models\\MentorDescription.cs",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\MentorDescription.cs",
+              "RelativeToolTip": "WebApplication1\\Models\\MentorDescription.cs",
+              "ViewState": "AgIAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-26T12:19:10.595Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 15,
+              "Title": "Message.cs",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\Message.cs",
+              "RelativeDocumentMoniker": "WebApplication1\\Models\\Message.cs",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\Message.cs",
+              "RelativeToolTip": "WebApplication1\\Models\\Message.cs",
+              "ViewState": "AgIAAAYAAAAAAAAAAAAAAAkAAAArAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-26T12:11:43.889Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 18,
+              "Title": "dbo.AspNetUsers.sql",
+              "DocumentMoniker": "ViewDataWindow_MSSQL__/_LocalDb__MSSQLLocalDB/aspnet_WebApplication1_202506262316561/True/SqlTable/dbo.AspNetUsers.sql",
+              "ToolTip": "ViewDataWindow_MSSQL__/_LocalDb__MSSQLLocalDB/aspnet_WebApplication1_202506262316561/True/SqlTable/dbo.AspNetUsers.sql",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000826|",
+              "WhenOpened": "2025-12-26T11:30:14.142Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 19,
               "Title": "BundleConfig.cs",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\App_Start\\BundleConfig.cs",
@@ -479,5 +249,17 @@
             {
               "$type": "Document",
-              "DocumentIndex": 34,
+              "DocumentIndex": 25,
+              "Title": "202506262316561_Initial.cs",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Migrations\\202506262316561_Initial.cs",
+              "RelativeDocumentMoniker": "WebApplication1\\Migrations\\202506262316561_Initial.cs",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Migrations\\202506262316561_Initial.cs",
+              "RelativeToolTip": "WebApplication1\\Migrations\\202506262316561_Initial.cs",
+              "ViewState": "AgIAAFUAAAAAAAAAAAAQwAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-10-20T20:23:28.728Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 20,
               "Title": "dbo.Subjects.sql",
               "DocumentMoniker": "ViewDataWindow_MSSQL__/_LocalDb__MSSQLLocalDB/aspnet_WebApplication1_202506262316561/True/SqlTable/dbo.Subjects.sql",
@@ -488,5 +270,5 @@
             {
               "$type": "Document",
-              "DocumentIndex": 35,
+              "DocumentIndex": 21,
               "Title": "HomeController.cs",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Controllers\\HomeController.cs",
@@ -500,5 +282,5 @@
             {
               "$type": "Document",
-              "DocumentIndex": 28,
+              "DocumentIndex": 17,
               "Title": "Subject.cs",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\Subject.cs",
@@ -512,5 +294,5 @@
             {
               "$type": "Document",
-              "DocumentIndex": 17,
+              "DocumentIndex": 26,
               "Title": "Project.cs",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\Project.cs",
@@ -518,5 +300,5 @@
               "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\Project.cs",
               "RelativeToolTip": "WebApplication1\\Models\\Project.cs",
-              "ViewState": "AgIAAAYAAAAAAAAAAAAAAA4AAAApAAAAAAAAAA==",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAAAsAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-10-19T17:11:44.823Z"
@@ -524,5 +306,43 @@
             {
               "$type": "Document",
-              "DocumentIndex": 36,
+              "DocumentIndex": 11,
+              "Title": "_Layout.cshtml",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Shared\\_Layout.cshtml",
+              "RelativeDocumentMoniker": "WebApplication1\\Views\\Shared\\_Layout.cshtml",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Shared\\_Layout.cshtml",
+              "RelativeToolTip": "WebApplication1\\Views\\Shared\\_Layout.cshtml",
+              "ViewState": "AgIAAE8AAAAAAAAAADB0wGIAAABCAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
+              "WhenOpened": "2025-07-11T11:34:03.882Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 28,
+              "Title": "Web.config",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Web.config",
+              "RelativeDocumentMoniker": "WebApplication1\\Web.config",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Web.config",
+              "RelativeToolTip": "WebApplication1\\Web.config",
+              "ViewState": "AgIAAEAAAAAAAAAAAABBwAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000601|",
+              "WhenOpened": "2025-07-11T08:32:03.514Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 22,
+              "Title": "Register.cshtml",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\Register.cshtml",
+              "RelativeDocumentMoniker": "WebApplication1\\Views\\Account\\Register.cshtml",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\Register.cshtml",
+              "RelativeToolTip": "WebApplication1\\Views\\Account\\Register.cshtml",
+              "ViewState": "AgIAANYAAAAAAAAAAAAiwNMAAACDAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
+              "WhenOpened": "2025-06-19T16:27:56.292Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 23,
               "Title": "RouteConfig.cs",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\App_Start\\RouteConfig.cs",
@@ -536,5 +356,56 @@
             {
               "$type": "Document",
-              "DocumentIndex": 37,
+              "DocumentIndex": 24,
+              "Title": "Index.cshtml",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Home\\Index.cshtml",
+              "RelativeDocumentMoniker": "WebApplication1\\Views\\Home\\Index.cshtml",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Home\\Index.cshtml",
+              "RelativeToolTip": "WebApplication1\\Views\\Home\\Index.cshtml",
+              "ViewState": "AgIAAC0AAAAAAAAAACBzwFUAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
+              "WhenOpened": "2025-07-10T20:12:17.352Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 4,
+              "Title": "AccountController.cs",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Controllers\\AccountController.cs",
+              "RelativeDocumentMoniker": "WebApplication1\\Controllers\\AccountController.cs",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Controllers\\AccountController.cs",
+              "RelativeToolTip": "WebApplication1\\Controllers\\AccountController.cs",
+              "ViewState": "AgIAALMCAAAAAAAAAAAAALICAABtAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-06-19T17:04:54.803Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 9,
+              "Title": "AccountViewModels.cs",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\AccountViewModels.cs",
+              "RelativeDocumentMoniker": "WebApplication1\\Models\\AccountViewModels.cs",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\AccountViewModels.cs",
+              "RelativeToolTip": "WebApplication1\\Models\\AccountViewModels.cs",
+              "ViewState": "AgIAAKkAAAAAAAAAAAAwwLkAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-06-26T19:59:05.398Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 27,
+              "Title": "Login.cshtml",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\Login.cshtml",
+              "RelativeDocumentMoniker": "WebApplication1\\Views\\Account\\Login.cshtml",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\Login.cshtml",
+              "RelativeToolTip": "WebApplication1\\Views\\Account\\Login.cshtml",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAACQAAAAlAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
+              "WhenOpened": "2025-06-07T20:31:47.326Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 29,
               "Title": "StudentProfile.cshtml",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\StudentProfile.cshtml",
@@ -542,5 +413,5 @@
               "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\StudentProfile.cshtml",
               "RelativeToolTip": "WebApplication1\\Views\\Account\\StudentProfile.cshtml",
-              "ViewState": "AgIAAAQAAAAAAAAAANiGwCIAAAANAAAAAAAAAA==",
+              "ViewState": "AgIAACAAAAAAAAAAAOBvwCIAAAANAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
               "WhenOpened": "2025-06-19T15:40:51.136Z"
@@ -548,5 +419,31 @@
             {
               "$type": "Document",
-              "DocumentIndex": 18,
+              "DocumentIndex": 1,
+              "Title": "MentorProfile.cshtml",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\MentorProfile.cshtml",
+              "RelativeDocumentMoniker": "WebApplication1\\Views\\Account\\MentorProfile.cshtml",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\MentorProfile.cshtml",
+              "RelativeToolTip": "WebApplication1\\Views\\Account\\MentorProfile.cshtml",
+              "ViewState": "AgIAAGkAAAAAAAAAAAAAABMAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
+              "WhenOpened": "2025-06-19T15:40:05.575Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 12,
+              "Title": "ViewMentors.cshtml",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\ViewMentors.cshtml",
+              "RelativeDocumentMoniker": "WebApplication1\\Views\\Account\\ViewMentors.cshtml",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\ViewMentors.cshtml",
+              "RelativeToolTip": "WebApplication1\\Views\\Account\\ViewMentors.cshtml",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAF8AAAA0AAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
+              "WhenOpened": "2025-06-09T20:32:02.33Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 13,
               "Title": "EditMentorProfile.cshtml",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\EditMentorProfile.cshtml",
@@ -554,5 +451,5 @@
               "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\EditMentorProfile.cshtml",
               "RelativeToolTip": "WebApplication1\\Views\\Account\\EditMentorProfile.cshtml",
-              "ViewState": "AgIAAIoAAAAAAAAAAIBZwJAAAAA4AAAAAAAAAA==",
+              "ViewState": "AgIAAB4AAAAAAAAAAIBZwAAAAAAtAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
               "WhenOpened": "2025-06-09T20:13:10.332Z"
@@ -560,5 +457,5 @@
             {
               "$type": "Document",
-              "DocumentIndex": 20,
+              "DocumentIndex": 10,
               "Title": "IdentityModels.cs",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\IdentityModels.cs",
@@ -566,5 +463,5 @@
               "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\IdentityModels.cs",
               "RelativeToolTip": "WebApplication1\\Models\\IdentityModels.cs",
-              "ViewState": "AgIAAAMAAAAAAAAAAAAmwAgAAAAdAAAAAAAAAA==",
+              "ViewState": "AgIAAE8AAAAAAAAAAAAnwEYAAAA0AAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-06-02T22:40:47.283Z"
@@ -572,5 +469,5 @@
             {
               "$type": "Document",
-              "DocumentIndex": 21,
+              "DocumentIndex": 30,
               "Title": "EditStudentProfile.cshtml",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\EditStudentProfile.cshtml",
@@ -584,5 +481,5 @@
             {
               "$type": "Document",
-              "DocumentIndex": 15,
+              "DocumentIndex": 5,
               "Title": "MentorContact.cs",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\MentorContact.cs",
@@ -590,5 +487,5 @@
               "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\MentorContact.cs",
               "RelativeToolTip": "WebApplication1\\Models\\MentorContact.cs",
-              "ViewState": "AgIAAAsAAAAAAAAAAAAAwBYAAAAyAAAAAAAAAA==",
+              "ViewState": "AgIAAB0AAAAAAAAAAAA0wCAAAAABAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-10-19T17:14:53.325Z"
@@ -596,5 +493,5 @@
             {
               "$type": "Document",
-              "DocumentIndex": 9,
+              "DocumentIndex": 3,
               "Title": "ContactForm.cshtml",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\ContactForm.cshtml",
@@ -602,11 +499,12 @@
               "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\ContactForm.cshtml",
               "RelativeToolTip": "WebApplication1\\Views\\Account\\ContactForm.cshtml",
-              "ViewState": "AgIAAAkAAAAAAAAAAIBZwCAAAAA0AAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
-              "WhenOpened": "2025-10-19T19:42:31.874Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 14,
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAACsAAAAtAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
+              "WhenOpened": "2025-10-19T19:42:31.874Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 2,
               "Title": "Inbox.cshtml",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\Inbox.cshtml",
@@ -614,7 +512,8 @@
               "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\Inbox.cshtml",
               "RelativeToolTip": "WebApplication1\\Views\\Account\\Inbox.cshtml",
-              "ViewState": "AgIAACIBAAAAAAAAAMBdwDUBAABUAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
-              "WhenOpened": "2025-10-19T21:26:16.27Z"
+              "ViewState": "AgIAAEcBAAAAAAAAAAAiwJUBAAATAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
+              "WhenOpened": "2025-10-19T21:26:16.27Z",
+              "EditorCaption": ""
             }
           ]
Index: .vs/NajdiMentor/v17/DocumentLayout.json
===================================================================
--- .vs/NajdiMentor/v17/DocumentLayout.json	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ .vs/NajdiMentor/v17/DocumentLayout.json	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -4,152 +4,124 @@
   "Documents": [
     {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\_opinionform.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\_opinionform.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\mentorprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\mentorprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\inbox.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\inbox.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\contactform.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\contactform.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|c:\\users\\kate\\source\\repos\\najdimentor\\webapplication1\\controllers\\accountcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\controllers\\accountcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\mentorcontact.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\mentorcontact.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\inboxcombinedviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\inboxcombinedviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\requestitemdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\requestitemdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\opinion.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\opinion.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\accountviewmodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\accountviewmodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\identitymodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\identitymodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\shared\\_layout.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\shared\\_layout.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\viewmentors.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\viewmentors.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\editmentorprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\editmentorprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\_replytostudentform.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\_replytostudentform.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\message.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\message.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\mentordescription.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\mentordescription.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\subject.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\subject.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|ViewDataWindow_MSSQL__/_LocalDb__MSSQLLocalDB/aspnet_WebApplication1_202506262316561/True/SqlTable/dbo.AspNetUsers.sql||{0058A1F7-65F3-4DB9-B3D0-CA7E64DD73CD}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\app_start\\bundleconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\app_start\\bundleconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|ViewDataWindow_MSSQL__/_LocalDb__MSSQLLocalDB/aspnet_WebApplication1_202506262316561/True/SqlTable/dbo.Subjects.sql||{0058A1F7-65F3-4DB9-B3D0-CA7E64DD73CD}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\controllers\\homecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\controllers\\homecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\register.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\register.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\app_start\\routeconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\app_start\\routeconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\home\\index.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\home\\index.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\migrations\\202506262316561_initial.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\migrations\\202506262316561_initial.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\project.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\project.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\login.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\login.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
+    },
+    {
       "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\web.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}",
       "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\web.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\startup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\startup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|c:\\users\\kate\\source\\repos\\najdimentor\\webapplication1\\controllers\\accountcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\controllers\\accountcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\externalloginconfirmation.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\externalloginconfirmation.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\externalloginfailure.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\externalloginfailure.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\_externalloginslistpartial.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\_externalloginslistpartial.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\app_start\\identityconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\app_start\\identityconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\shared\\_loginpartial.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\shared\\_loginpartial.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\mentorprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\mentorprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\contactform.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\contactform.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\requestitemdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\requestitemdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\opinion.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\opinion.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\manageviewmodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\manageviewmodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\accountviewmodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\accountviewmodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\inbox.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\inbox.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\mentorcontact.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\mentorcontact.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\message.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\message.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\project.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\project.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\editmentorprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\editmentorprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\shared\\_layout.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\shared\\_layout.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\identitymodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\identitymodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\studentprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
+      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\studentprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\editstudentprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
       "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\editstudentprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\topicsuggestion.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\topicsuggestion.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\Kate\\AppData\\Local\\Temp\\gqitrsen..sql||{CC5D8DF0-88F4-4BB2-9DBB-B48CEE65C30A}|"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\login.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\login.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\register.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\register.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\controllers\\managecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\controllers\\managecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\topic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\topic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\subject.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\subject.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\_opinionform.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\_opinionform.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\inboxcombinedviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\inboxcombinedviewmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\_replytostudentform.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\_replytostudentform.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\models\\mentordescription.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\models\\mentordescription.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\app_start\\bundleconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\app_start\\bundleconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|ViewDataWindow_MSSQL__/_LocalDb__MSSQLLocalDB/aspnet_WebApplication1_202506262316561/True/SqlTable/dbo.Subjects.sql||{0058A1F7-65F3-4DB9-B3D0-CA7E64DD73CD}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\controllers\\homecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\controllers\\homecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\app_start\\routeconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\app_start\\routeconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|C:\\Users\\Kate\\source\\repos\\NajdiMentor\\webapplication1\\views\\account\\studentprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}",
-      "RelativeMoniker": "D:0:0:{9455F6E4-9915-4398-9E1B-28071A09E54B}|WebApplication1\\WebApplication1.csproj|solutionrelative:webapplication1\\views\\account\\studentprofile.cshtml||{40D31677-CBC0-4297-A9EF-89D907823A98}"
     }
   ],
@@ -161,45 +133,35 @@
         {
           "DockedWidth": 200,
-          "SelectedChildIndex": 13,
+          "SelectedChildIndex": 1,
           "Children": [
             {
               "$type": "Document",
-              "DocumentIndex": 5,
-              "Title": "_ExternalLoginsListPartial.cshtml",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\_ExternalLoginsListPartial.cshtml",
-              "RelativeDocumentMoniker": "WebApplication1\\Views\\Account\\_ExternalLoginsListPartial.cshtml",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\_ExternalLoginsListPartial.cshtml",
-              "RelativeToolTip": "WebApplication1\\Views\\Account\\_ExternalLoginsListPartial.cshtml",
+              "DocumentIndex": 7,
+              "Title": "RequestItemDto.cs",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\RequestItemDto.cs",
+              "RelativeDocumentMoniker": "WebApplication1\\Models\\RequestItemDto.cs",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\RequestItemDto.cs",
+              "RelativeToolTip": "WebApplication1\\Models\\RequestItemDto.cs",
+              "ViewState": "AgIAAAkAAAAAAAAAAAA1wB8AAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-27T21:48:35.257Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 0,
+              "Title": "_OpinionForm.cshtml",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\_OpinionForm.cshtml",
+              "RelativeDocumentMoniker": "WebApplication1\\Views\\Account\\_OpinionForm.cshtml",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\_OpinionForm.cshtml",
+              "RelativeToolTip": "WebApplication1\\Views\\Account\\_OpinionForm.cshtml",
               "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
-              "WhenOpened": "2026-03-02T01:27:09.255Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 4,
-              "Title": "ExternalLoginFailure.cshtml",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\ExternalLoginFailure.cshtml",
-              "RelativeDocumentMoniker": "WebApplication1\\Views\\Account\\ExternalLoginFailure.cshtml",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\ExternalLoginFailure.cshtml",
-              "RelativeToolTip": "WebApplication1\\Views\\Account\\ExternalLoginFailure.cshtml",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
-              "WhenOpened": "2026-03-02T01:26:50.794Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 7,
-              "Title": "_LoginPartial.cshtml",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Shared\\_LoginPartial.cshtml",
-              "RelativeDocumentMoniker": "WebApplication1\\Views\\Shared\\_LoginPartial.cshtml",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Shared\\_LoginPartial.cshtml",
-              "RelativeToolTip": "WebApplication1\\Views\\Shared\\_LoginPartial.cshtml",
-              "ViewState": "AgIAAAYAAAAAAAAAAIBZwAAAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
-              "WhenOpened": "2026-03-02T01:26:40.885Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 11,
+              "WhenOpened": "2025-12-27T21:11:26.561Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 8,
               "Title": "Opinion.cs",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\Opinion.cs",
@@ -207,229 +169,25 @@
               "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\Opinion.cs",
               "RelativeToolTip": "WebApplication1\\Models\\Opinion.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAACwAAAAFAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-27T20:53:06.546Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 8,
-              "Title": "MentorProfile.cshtml",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\MentorProfile.cshtml",
-              "RelativeDocumentMoniker": "WebApplication1\\Views\\Account\\MentorProfile.cshtml",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\MentorProfile.cshtml",
-              "RelativeToolTip": "WebApplication1\\Views\\Account\\MentorProfile.cshtml",
-              "ViewState": "AgIAAGkBAAAAAAAAAAAkwIQBAAAyAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
-              "WhenOpened": "2025-06-19T15:40:05.575Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 12,
-              "Title": "ManageViewModels.cs",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\ManageViewModels.cs",
-              "RelativeDocumentMoniker": "WebApplication1\\Models\\ManageViewModels.cs",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\ManageViewModels.cs",
-              "RelativeToolTip": "WebApplication1\\Models\\ManageViewModels.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-02-17T20:30:31.918Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 22,
-              "Title": "TopicSuggestion.cs",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\TopicSuggestion.cs",
-              "RelativeDocumentMoniker": "WebApplication1\\Models\\TopicSuggestion.cs",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\TopicSuggestion.cs",
-              "RelativeToolTip": "WebApplication1\\Models\\TopicSuggestion.cs",
-              "ViewState": "AgIAABAAAAAAAAAAAAAQwBsAAAA1AAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-02-17T20:26:21.706Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 23,
-              "Title": "gqitrsen..sql",
-              "DocumentMoniker": "C:\\Users\\Kate\\AppData\\Local\\Temp\\gqitrsen..sql",
-              "RelativeDocumentMoniker": "..\\..\\..\\AppData\\Local\\Temp\\gqitrsen..sql",
-              "ToolTip": "C:\\Users\\Kate\\AppData\\Local\\Temp\\gqitrsen..sql",
-              "RelativeToolTip": "..\\..\\..\\AppData\\Local\\Temp\\gqitrsen..sql",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000826|",
-              "WhenOpened": "2026-02-15T18:02:41.895Z"
+              "ViewState": "AgIAAB8AAAAAAAAAAADwvywAAAAFAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-27T20:53:06.546Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 6,
-              "Title": "IdentityConfig.cs",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\App_Start\\IdentityConfig.cs",
-              "RelativeDocumentMoniker": "WebApplication1\\App_Start\\IdentityConfig.cs",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\App_Start\\IdentityConfig.cs",
-              "RelativeToolTip": "WebApplication1\\App_Start\\IdentityConfig.cs",
-              "ViewState": "AgIAAAsAAAAAAAAAAAASwBwAAAAtAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-02-15T16:41:41.458Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 24,
-              "Title": "Login.cshtml",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\Login.cshtml",
-              "RelativeDocumentMoniker": "WebApplication1\\Views\\Account\\Login.cshtml",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\Login.cshtml",
-              "RelativeToolTip": "WebApplication1\\Views\\Account\\Login.cshtml",
-              "ViewState": "AgIAAAAAAAAAAAAAACBzwB0AAAAtAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
-              "WhenOpened": "2025-06-07T20:31:47.326Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 13,
-              "Title": "AccountViewModels.cs",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\AccountViewModels.cs",
-              "RelativeDocumentMoniker": "WebApplication1\\Models\\AccountViewModels.cs",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\AccountViewModels.cs",
-              "RelativeToolTip": "WebApplication1\\Models\\AccountViewModels.cs",
-              "ViewState": "AgIAACcBAAAAAAAAAAAwwL0AAAARAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-06-26T19:59:05.398Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 2,
-              "Title": "AccountController.cs",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Controllers\\AccountController.cs",
-              "RelativeDocumentMoniker": "WebApplication1\\Controllers\\AccountController.cs",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Controllers\\AccountController.cs",
-              "RelativeToolTip": "WebApplication1\\Controllers\\AccountController.cs",
-              "ViewState": "AgIAANgFAAAAAAAAAAAUwH8FAAAnAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-06-19T17:04:54.803Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 19,
-              "Title": "_Layout.cshtml",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Shared\\_Layout.cshtml",
-              "RelativeDocumentMoniker": "WebApplication1\\Views\\Shared\\_Layout.cshtml",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Shared\\_Layout.cshtml",
-              "RelativeToolTip": "WebApplication1\\Views\\Shared\\_Layout.cshtml",
-              "ViewState": "AgIAAHAAAAAAAAAAAAAiwHYAAAAkAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
-              "WhenOpened": "2025-07-11T11:34:03.882Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 0,
-              "Title": "Web.config",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Web.config",
-              "RelativeDocumentMoniker": "WebApplication1\\Web.config",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Web.config",
-              "RelativeToolTip": "WebApplication1\\Web.config",
-              "ViewState": "AgIAAFEAAAAAAAAAAAAuwHAAAAAQAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000601|",
-              "WhenOpened": "2025-07-11T08:32:03.514Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 3,
-              "Title": "ExternalLoginConfirmation.cshtml",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\ExternalLoginConfirmation.cshtml",
-              "RelativeDocumentMoniker": "WebApplication1\\Views\\Account\\ExternalLoginConfirmation.cshtml",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\ExternalLoginConfirmation.cshtml",
-              "RelativeToolTip": "WebApplication1\\Views\\Account\\ExternalLoginConfirmation.cshtml",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAEwAAABZAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
-              "WhenOpened": "2026-02-14T14:15:15.984Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 25,
-              "Title": "Register.cshtml",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\Register.cshtml",
-              "RelativeDocumentMoniker": "WebApplication1\\Views\\Account\\Register.cshtml",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\Register.cshtml",
-              "RelativeToolTip": "WebApplication1\\Views\\Account\\Register.cshtml",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAABcBAAAwAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
-              "WhenOpened": "2025-06-19T16:27:56.292Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 1,
-              "Title": "Startup.cs",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Startup.cs",
-              "RelativeDocumentMoniker": "WebApplication1\\Startup.cs",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Startup.cs",
-              "RelativeToolTip": "WebApplication1\\Startup.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAKEAAAAQAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-02-12T23:40:22.829Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 26,
-              "Title": "ManageController.cs",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Controllers\\ManageController.cs",
-              "RelativeDocumentMoniker": "WebApplication1\\Controllers\\ManageController.cs",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Controllers\\ManageController.cs",
-              "RelativeToolTip": "WebApplication1\\Controllers\\ManageController.cs",
-              "ViewState": "AgIAAHIBAAAAAAAAAAAuwH4BAAAfAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-02-14T14:33:01.954Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 16,
-              "Title": "Message.cs",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\Message.cs",
-              "RelativeDocumentMoniker": "WebApplication1\\Models\\Message.cs",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\Message.cs",
-              "RelativeToolTip": "WebApplication1\\Models\\Message.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAArAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-26T12:11:43.889Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 32,
-              "Title": "MentorDescription.cs",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\MentorDescription.cs",
-              "RelativeDocumentMoniker": "WebApplication1\\Models\\MentorDescription.cs",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\MentorDescription.cs",
-              "RelativeToolTip": "WebApplication1\\Models\\MentorDescription.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAIBJwAAAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-26T12:19:10.595Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 10,
-              "Title": "RequestItemDto.cs",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\RequestItemDto.cs",
-              "RelativeDocumentMoniker": "WebApplication1\\Models\\RequestItemDto.cs",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\RequestItemDto.cs",
-              "RelativeToolTip": "WebApplication1\\Models\\RequestItemDto.cs",
-              "ViewState": "AgIAAAsAAAAAAAAAAAAAABsAAAA5AAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-27T21:48:35.257Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 27,
-              "Title": "Topic.cs",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\Topic.cs",
-              "RelativeDocumentMoniker": "WebApplication1\\Models\\Topic.cs",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\Topic.cs",
-              "RelativeToolTip": "WebApplication1\\Models\\Topic.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2026-01-21T12:49:09.494Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 31,
+              "Title": "InboxCombinedViewModel.cs",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\InboxCombinedViewModel.cs",
+              "RelativeDocumentMoniker": "WebApplication1\\Models\\InboxCombinedViewModel.cs",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\InboxCombinedViewModel.cs",
+              "RelativeToolTip": "WebApplication1\\Models\\InboxCombinedViewModel.cs",
+              "ViewState": "AgIAAAYAAAAAAAAAAAAAAA0AAAAyAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-26T13:13:22.014Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 14,
               "Title": "_ReplyToStudentForm.cshtml",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\_ReplyToStudentForm.cshtml",
@@ -439,33 +197,45 @@
               "ViewState": "AgIAAAAAAAAAAAAAAIBJwCIAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
-              "WhenOpened": "2025-12-26T13:01:41.373Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 30,
-              "Title": "InboxCombinedViewModel.cs",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\InboxCombinedViewModel.cs",
-              "RelativeDocumentMoniker": "WebApplication1\\Models\\InboxCombinedViewModel.cs",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\InboxCombinedViewModel.cs",
-              "RelativeToolTip": "WebApplication1\\Models\\InboxCombinedViewModel.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAIBZwA0AAAAyAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-12-26T13:13:22.014Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 29,
-              "Title": "_OpinionForm.cshtml",
-              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\_OpinionForm.cshtml",
-              "RelativeDocumentMoniker": "WebApplication1\\Views\\Account\\_OpinionForm.cshtml",
-              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\_OpinionForm.cshtml",
-              "RelativeToolTip": "WebApplication1\\Views\\Account\\_OpinionForm.cshtml",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
-              "WhenOpened": "2025-12-27T21:11:26.561Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 33,
+              "WhenOpened": "2025-12-26T13:01:41.373Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 16,
+              "Title": "MentorDescription.cs",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\MentorDescription.cs",
+              "RelativeDocumentMoniker": "WebApplication1\\Models\\MentorDescription.cs",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\MentorDescription.cs",
+              "RelativeToolTip": "WebApplication1\\Models\\MentorDescription.cs",
+              "ViewState": "AgIAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-26T12:19:10.595Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 15,
+              "Title": "Message.cs",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\Message.cs",
+              "RelativeDocumentMoniker": "WebApplication1\\Models\\Message.cs",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\Message.cs",
+              "RelativeToolTip": "WebApplication1\\Models\\Message.cs",
+              "ViewState": "AgIAAAYAAAAAAAAAAAAAAAkAAAArAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-26T12:11:43.889Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 18,
+              "Title": "dbo.AspNetUsers.sql",
+              "DocumentMoniker": "ViewDataWindow_MSSQL__/_LocalDb__MSSQLLocalDB/aspnet_WebApplication1_202506262316561/True/SqlTable/dbo.AspNetUsers.sql",
+              "ToolTip": "ViewDataWindow_MSSQL__/_LocalDb__MSSQLLocalDB/aspnet_WebApplication1_202506262316561/True/SqlTable/dbo.AspNetUsers.sql",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000826|",
+              "WhenOpened": "2025-12-26T11:30:14.142Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 19,
               "Title": "BundleConfig.cs",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\App_Start\\BundleConfig.cs",
@@ -479,5 +249,17 @@
             {
               "$type": "Document",
-              "DocumentIndex": 34,
+              "DocumentIndex": 25,
+              "Title": "202506262316561_Initial.cs",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Migrations\\202506262316561_Initial.cs",
+              "RelativeDocumentMoniker": "WebApplication1\\Migrations\\202506262316561_Initial.cs",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Migrations\\202506262316561_Initial.cs",
+              "RelativeToolTip": "WebApplication1\\Migrations\\202506262316561_Initial.cs",
+              "ViewState": "AgIAAFUAAAAAAAAAAAAQwAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-10-20T20:23:28.728Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 20,
               "Title": "dbo.Subjects.sql",
               "DocumentMoniker": "ViewDataWindow_MSSQL__/_LocalDb__MSSQLLocalDB/aspnet_WebApplication1_202506262316561/True/SqlTable/dbo.Subjects.sql",
@@ -488,5 +270,5 @@
             {
               "$type": "Document",
-              "DocumentIndex": 35,
+              "DocumentIndex": 21,
               "Title": "HomeController.cs",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Controllers\\HomeController.cs",
@@ -500,5 +282,5 @@
             {
               "$type": "Document",
-              "DocumentIndex": 28,
+              "DocumentIndex": 17,
               "Title": "Subject.cs",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\Subject.cs",
@@ -512,5 +294,5 @@
             {
               "$type": "Document",
-              "DocumentIndex": 17,
+              "DocumentIndex": 26,
               "Title": "Project.cs",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\Project.cs",
@@ -518,5 +300,5 @@
               "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\Project.cs",
               "RelativeToolTip": "WebApplication1\\Models\\Project.cs",
-              "ViewState": "AgIAAAYAAAAAAAAAAAAAAA4AAAApAAAAAAAAAA==",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAAAsAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-10-19T17:11:44.823Z"
@@ -524,5 +306,43 @@
             {
               "$type": "Document",
-              "DocumentIndex": 36,
+              "DocumentIndex": 11,
+              "Title": "_Layout.cshtml",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Shared\\_Layout.cshtml",
+              "RelativeDocumentMoniker": "WebApplication1\\Views\\Shared\\_Layout.cshtml",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Shared\\_Layout.cshtml",
+              "RelativeToolTip": "WebApplication1\\Views\\Shared\\_Layout.cshtml",
+              "ViewState": "AgIAAE8AAAAAAAAAADB0wGIAAABCAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
+              "WhenOpened": "2025-07-11T11:34:03.882Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 28,
+              "Title": "Web.config",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Web.config",
+              "RelativeDocumentMoniker": "WebApplication1\\Web.config",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Web.config",
+              "RelativeToolTip": "WebApplication1\\Web.config",
+              "ViewState": "AgIAAEAAAAAAAAAAAABBwAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000601|",
+              "WhenOpened": "2025-07-11T08:32:03.514Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 22,
+              "Title": "Register.cshtml",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\Register.cshtml",
+              "RelativeDocumentMoniker": "WebApplication1\\Views\\Account\\Register.cshtml",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\Register.cshtml",
+              "RelativeToolTip": "WebApplication1\\Views\\Account\\Register.cshtml",
+              "ViewState": "AgIAANYAAAAAAAAAAAAiwNMAAACDAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
+              "WhenOpened": "2025-06-19T16:27:56.292Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 23,
               "Title": "RouteConfig.cs",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\App_Start\\RouteConfig.cs",
@@ -536,5 +356,56 @@
             {
               "$type": "Document",
-              "DocumentIndex": 37,
+              "DocumentIndex": 24,
+              "Title": "Index.cshtml",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Home\\Index.cshtml",
+              "RelativeDocumentMoniker": "WebApplication1\\Views\\Home\\Index.cshtml",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Home\\Index.cshtml",
+              "RelativeToolTip": "WebApplication1\\Views\\Home\\Index.cshtml",
+              "ViewState": "AgIAAC0AAAAAAAAAACBzwFUAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
+              "WhenOpened": "2025-07-10T20:12:17.352Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 4,
+              "Title": "AccountController.cs",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Controllers\\AccountController.cs",
+              "RelativeDocumentMoniker": "WebApplication1\\Controllers\\AccountController.cs",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Controllers\\AccountController.cs",
+              "RelativeToolTip": "WebApplication1\\Controllers\\AccountController.cs",
+              "ViewState": "AgIAALMCAAAAAAAAAAAAALICAABtAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-06-19T17:04:54.803Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 9,
+              "Title": "AccountViewModels.cs",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\AccountViewModels.cs",
+              "RelativeDocumentMoniker": "WebApplication1\\Models\\AccountViewModels.cs",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\AccountViewModels.cs",
+              "RelativeToolTip": "WebApplication1\\Models\\AccountViewModels.cs",
+              "ViewState": "AgIAAKkAAAAAAAAAAAAwwLkAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-06-26T19:59:05.398Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 27,
+              "Title": "Login.cshtml",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\Login.cshtml",
+              "RelativeDocumentMoniker": "WebApplication1\\Views\\Account\\Login.cshtml",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\Login.cshtml",
+              "RelativeToolTip": "WebApplication1\\Views\\Account\\Login.cshtml",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAACQAAAAlAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
+              "WhenOpened": "2025-06-07T20:31:47.326Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 29,
               "Title": "StudentProfile.cshtml",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\StudentProfile.cshtml",
@@ -542,11 +413,38 @@
               "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\StudentProfile.cshtml",
               "RelativeToolTip": "WebApplication1\\Views\\Account\\StudentProfile.cshtml",
-              "ViewState": "AgIAAAQAAAAAAAAAANiGwCIAAAANAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
-              "WhenOpened": "2025-06-19T15:40:51.136Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 18,
+              "ViewState": "AgIAABsAAAAAAAAAAEB1wCIAAAANAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
+              "WhenOpened": "2025-06-19T15:40:51.136Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 1,
+              "Title": "MentorProfile.cshtml",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\MentorProfile.cshtml",
+              "RelativeDocumentMoniker": "WebApplication1\\Views\\Account\\MentorProfile.cshtml",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\MentorProfile.cshtml",
+              "RelativeToolTip": "WebApplication1\\Views\\Account\\MentorProfile.cshtml",
+              "ViewState": "AgIAAGkAAAAAAAAAAAAAABMAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
+              "WhenOpened": "2025-06-19T15:40:05.575Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 12,
+              "Title": "ViewMentors.cshtml",
+              "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\ViewMentors.cshtml",
+              "RelativeDocumentMoniker": "WebApplication1\\Views\\Account\\ViewMentors.cshtml",
+              "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\ViewMentors.cshtml",
+              "RelativeToolTip": "WebApplication1\\Views\\Account\\ViewMentors.cshtml",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAF8AAAA0AAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
+              "WhenOpened": "2025-06-09T20:32:02.33Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 13,
               "Title": "EditMentorProfile.cshtml",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\EditMentorProfile.cshtml",
@@ -554,5 +452,5 @@
               "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\EditMentorProfile.cshtml",
               "RelativeToolTip": "WebApplication1\\Views\\Account\\EditMentorProfile.cshtml",
-              "ViewState": "AgIAAIoAAAAAAAAAAIBZwJAAAAA4AAAAAAAAAA==",
+              "ViewState": "AgIAAB4AAAAAAAAAAIBZwAAAAAAtAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
               "WhenOpened": "2025-06-09T20:13:10.332Z"
@@ -560,5 +458,5 @@
             {
               "$type": "Document",
-              "DocumentIndex": 20,
+              "DocumentIndex": 10,
               "Title": "IdentityModels.cs",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\IdentityModels.cs",
@@ -566,5 +464,5 @@
               "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\IdentityModels.cs",
               "RelativeToolTip": "WebApplication1\\Models\\IdentityModels.cs",
-              "ViewState": "AgIAAAMAAAAAAAAAAAAmwAgAAAAdAAAAAAAAAA==",
+              "ViewState": "AgIAAE8AAAAAAAAAAAAnwEYAAAA0AAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-06-02T22:40:47.283Z"
@@ -572,5 +470,5 @@
             {
               "$type": "Document",
-              "DocumentIndex": 21,
+              "DocumentIndex": 30,
               "Title": "EditStudentProfile.cshtml",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\EditStudentProfile.cshtml",
@@ -584,5 +482,5 @@
             {
               "$type": "Document",
-              "DocumentIndex": 15,
+              "DocumentIndex": 5,
               "Title": "MentorContact.cs",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\MentorContact.cs",
@@ -590,5 +488,5 @@
               "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Models\\MentorContact.cs",
               "RelativeToolTip": "WebApplication1\\Models\\MentorContact.cs",
-              "ViewState": "AgIAAAsAAAAAAAAAAAAAwBYAAAAyAAAAAAAAAA==",
+              "ViewState": "AgIAAB0AAAAAAAAAAAA0wCAAAAABAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-10-19T17:14:53.325Z"
@@ -596,5 +494,5 @@
             {
               "$type": "Document",
-              "DocumentIndex": 9,
+              "DocumentIndex": 3,
               "Title": "ContactForm.cshtml",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\ContactForm.cshtml",
@@ -602,11 +500,12 @@
               "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\ContactForm.cshtml",
               "RelativeToolTip": "WebApplication1\\Views\\Account\\ContactForm.cshtml",
-              "ViewState": "AgIAAAkAAAAAAAAAAIBZwCAAAAA0AAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
-              "WhenOpened": "2025-10-19T19:42:31.874Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 14,
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAACsAAAAtAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
+              "WhenOpened": "2025-10-19T19:42:31.874Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 2,
               "Title": "Inbox.cshtml",
               "DocumentMoniker": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\Inbox.cshtml",
@@ -614,7 +513,8 @@
               "ToolTip": "C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\Views\\Account\\Inbox.cshtml",
               "RelativeToolTip": "WebApplication1\\Views\\Account\\Inbox.cshtml",
-              "ViewState": "AgIAACIBAAAAAAAAAMBdwDUBAABUAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
-              "WhenOpened": "2025-10-19T21:26:16.27Z"
+              "ViewState": "AgIAAEcBAAAAAAAAAAAiwJUBAAATAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
+              "WhenOpened": "2025-10-19T21:26:16.27Z",
+              "EditorCaption": ""
             }
           ]
Index: .vs/NajdiMentor/v17/HierarchyCache.v1.txt
===================================================================
--- .vs/NajdiMentor/v17/HierarchyCache.v1.txt	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ .vs/NajdiMentor/v17/HierarchyCache.v1.txt	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -5,5 +5,111 @@
 ++Properties
 i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\properties\
+++AssemblyInfo.cs
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\properties\assemblyinfo.cs
+++serviceDependencies.json
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\properties\servicedependencies.json
+++serviceDependencies.local.json
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\properties\servicedependencies.local.json
+++serviceDependencies.local.json.user
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\properties\servicedependencies.local.json.user
 ++References
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++Antlr3.Runtime
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++EntityFramework
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++EntityFramework.SqlServer
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++Microsoft.AspNet.Identity.Core
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++Microsoft.AspNet.Identity.EntityFramework
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++Microsoft.AspNet.Identity.Owin
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++Microsoft.CodeDom.Providers.DotNetCompilerPlatform
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++Microsoft.CSharp
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++Microsoft.Owin
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++Microsoft.Owin.Host.SystemWeb
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++Microsoft.Owin.Security
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++Microsoft.Owin.Security.Cookies
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++Microsoft.Owin.Security.Google
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++Microsoft.Owin.Security.MicrosoftAccount
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++Microsoft.Owin.Security.OAuth
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++Microsoft.Owin.Security.Twitter
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++Microsoft.Web.Infrastructure
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++Newtonsoft.Json
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++Owin
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++PagedList
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++PagedList.Mvc
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System.ComponentModel.DataAnnotations
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System.Configuration
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System.Core
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System.Data
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System.Data.DataSetExtensions
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System.Drawing
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System.EnterpriseServices
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System.Net.Http
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System.Net.Http.WebRequest
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System.Web
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System.Web.Abstractions
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System.Web.ApplicationServices
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System.Web.DynamicData
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System.Web.Entity
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System.Web.Extensions
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System.Web.Helpers
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System.Web.Mvc
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System.Web.Optimization
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System.Web.Razor
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System.Web.Routing
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System.Web.Services
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System.Web.WebPages
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System.Web.WebPages.Deployment
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System.Web.WebPages.Razor
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System.Xml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++System.Xml.Linq
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
+++WebGrease
 i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
 ++App_Data
@@ -29,316 +135,10 @@
 ++Content
 i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\content\
-++Controllers
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\controllers\
-++AccountController.cs
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\controllers\accountcontroller.cs
-++HomeController.cs
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\controllers\homecontroller.cs
-++ManageController.cs
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\controllers\managecontroller.cs
-++jquery
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\
-++Migrations
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\migrations\
-++202506262316561_Initial.cs
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\migrations\202506262316561_initial.cs
-++202510202028533_RemoveSubjectFromMentorContact.cs
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\migrations\202510202028533_removesubjectfrommentorcontact.cs
-++202512261224234_AddMessageEntity.cs
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\migrations\202512261224234_addmessageentity.cs
-++202512272058014_AddOpinionEntity.cs
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\migrations\202512272058014_addopinionentity.cs
-++Configuration.cs
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\migrations\configuration.cs
-++Models
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\models\
-++AccountViewModels.cs
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\models\accountviewmodels.cs
-++IdentityModels.cs
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\models\identitymodels.cs
-++InboxCombinedViewModel.cs
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\models\inboxcombinedviewmodel.cs
-++ManageViewModels.cs
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\models\manageviewmodels.cs
-++MentorContact.cs
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\models\mentorcontact.cs
-++MentorDescription.cs
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\models\mentordescription.cs
-++Message.cs
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\models\message.cs
-++Opinion.cs
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\models\opinion.cs
-++Project.cs
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\models\project.cs
-++RequestItemDto.cs
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\models\requestitemdto.cs
-++Subject.cs
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\models\subject.cs
-++Topic.cs
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\models\topic.cs
-++obj
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\obj\
-++Scripts
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\
-++bootstrap.bundle.js
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\bootstrap.bundle.js
-++bootstrap.bundle.js.map
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\bootstrap.bundle.js.map
-++bootstrap.bundle.min.js
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\bootstrap.bundle.min.js
-++bootstrap.bundle.min.js.map
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\bootstrap.bundle.min.js.map
-++bootstrap.esm.js
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\bootstrap.esm.js
-++bootstrap.esm.js.map
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\bootstrap.esm.js.map
-++bootstrap.esm.min.js
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\bootstrap.esm.min.js
-++bootstrap.esm.min.js.map
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\bootstrap.esm.min.js.map
-++bootstrap.js
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\bootstrap.js
-++bootstrap.js.map
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\bootstrap.js.map
-++bootstrap.min.js
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\bootstrap.min.js
-++bootstrap.min.js.map
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\bootstrap.min.js.map
-++jquery-3.7.0.intellisense.js
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\jquery-3.7.0.intellisense.js
-++jquery-3.7.0.js
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\jquery-3.7.0.js
-++jquery-3.7.0.min.js
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\jquery-3.7.0.min.js
-++jquery-3.7.0.min.map
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\jquery-3.7.0.min.map
-++jquery-3.7.0.slim.js
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\jquery-3.7.0.slim.js
-++jquery-3.7.0.slim.min.js
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\jquery-3.7.0.slim.min.js
-++jquery-3.7.0.slim.min.map
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\jquery-3.7.0.slim.min.map
-++jquery.validate-vsdoc.js
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\jquery.validate-vsdoc.js
-++jquery.validate.js
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\jquery.validate.js
-++jquery.validate.min.js
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\jquery.validate.min.js
-++jquery.validate.unobtrusive.js
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\jquery.validate.unobtrusive.js
-++jquery.validate.unobtrusive.min.js
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\jquery.validate.unobtrusive.min.js
-++modernizr-2.8.3.js
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\modernizr-2.8.3.js
-++Views
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\
-++Account
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\
-++_ExternalLoginsListPartial.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\_externalloginslistpartial.cshtml
-++_OpinionForm.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\_opinionform.cshtml
-++_ReplyToStudentForm.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\_replytostudentform.cshtml
-++ConfirmEmail.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\confirmemail.cshtml
-++ContactForm.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\contactform.cshtml
-++EditMentorProfile.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\editmentorprofile.cshtml
-++EditStudentProfile.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\editstudentprofile.cshtml
-++ExternalLoginConfirmation.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\externalloginconfirmation.cshtml
-++ExternalLoginFailure.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\externalloginfailure.cshtml
-++ForgotPassword.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\forgotpassword.cshtml
-++ForgotPasswordConfirmation.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\forgotpasswordconfirmation.cshtml
-++Inbox.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\inbox.cshtml
-++Login.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\login.cshtml
-++MentorProfile.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\mentorprofile.cshtml
-++Register.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\register.cshtml
-++ResetPassword.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\resetpassword.cshtml
-++ResetPasswordConfirmation.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\resetpasswordconfirmation.cshtml
-++SendCode.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\sendcode.cshtml
-++StudentProfile.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\studentprofile.cshtml
-++VerifyCode.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\verifycode.cshtml
-++ViewMentors.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\viewmentors.cshtml
-++Home
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\home\
-++About.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\home\about.cshtml
-++Contact.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\home\contact.cshtml
-++Index.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\home\index.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\manage\index.cshtml
-++Manage
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\manage\
-++AddPhoneNumber.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\manage\addphonenumber.cshtml
-++ChangePassword.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\manage\changepassword.cshtml
-++ManageLogins.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\manage\managelogins.cshtml
-++SetPassword.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\manage\setpassword.cshtml
-++VerifyPhoneNumber.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\manage\verifyphonenumber.cshtml
-++Shared
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\shared\
-++_Layout.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\shared\_layout.cshtml
-++_LoginPartial.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\shared\_loginpartial.cshtml
-++Error.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\shared\error.cshtml
-++Lockout.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\shared\lockout.cshtml
-++_ViewStart.cshtml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\_viewstart.cshtml
-++Web.config
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\web.config
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\web.config
-++favicon.ico
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\favicon.ico
-++Global.asax
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\global.asax
-++packages.config
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\packages.config
-++Startup.cs
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\startup.cs
-++Web.Debug.config
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\web.debug.config
-++Web.Release.config
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\web.release.config
-++AssemblyInfo.cs
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\properties\assemblyinfo.cs
-++serviceDependencies.json
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\properties\servicedependencies.json
-++serviceDependencies.local.json
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\properties\servicedependencies.local.json
-++serviceDependencies.local.json.user
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\properties\servicedependencies.local.json.user
-++Antlr3.Runtime
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++EntityFramework
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++EntityFramework.SqlServer
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++Microsoft.AspNet.Identity.Core
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++Microsoft.AspNet.Identity.EntityFramework
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++Microsoft.AspNet.Identity.Owin
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++Microsoft.CodeDom.Providers.DotNetCompilerPlatform
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++Microsoft.CSharp
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++Microsoft.Owin
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++Microsoft.Owin.Host.SystemWeb
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++Microsoft.Owin.Security
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++Microsoft.Owin.Security.Cookies
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++Microsoft.Owin.Security.Google
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++Microsoft.Owin.Security.MicrosoftAccount
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++Microsoft.Owin.Security.OAuth
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++Microsoft.Owin.Security.Twitter
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++Microsoft.Web.Infrastructure
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++Newtonsoft.Json
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++Owin
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++Owin.Security.Providers.GitHub
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++PagedList
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++PagedList.Mvc
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.ComponentModel.DataAnnotations
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.Configuration
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.Core
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.Data
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.Data.DataSetExtensions
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.Drawing
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.EnterpriseServices
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.Net.Http
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.Net.Http.WebRequest
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.Security
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.Web
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.Web.Abstractions
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.Web.ApplicationServices
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.Web.DynamicData
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.Web.Entity
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.Web.Extensions
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.Web.Helpers
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.Web.Mvc
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.Web.Optimization
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.Web.Razor
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.Web.Routing
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.Web.Services
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.Web.WebPages
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.Web.WebPages.Deployment
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.Web.WebPages.Razor
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.Xml
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++System.Xml.Linq
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++WebGrease
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:
-++WebApplication1.dll
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\bin\webapplication1.dll
-++WebApplication1.pdb
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\bin\webapplication1.pdb
 ++Images
 i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\content\images\
+++logo.png
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\content\images\logo.png
+++logo2.png
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\content\images\logo2.png
 ++bootstrap-grid.css
 i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\content\bootstrap-grid.css
@@ -409,6 +209,44 @@
 ++Site.css
 i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\content\site.css
+++Controllers
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\controllers\
+++AccountController.cs
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\controllers\accountcontroller.cs
+++HomeController.cs
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\controllers\homecontroller.cs
+++ManageController.cs
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\controllers\managecontroller.cs
+++jquery
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\
 ++images
 i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\
+++ui-bg_diagonals-thick_18_b81900_40x40.png
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-bg_diagonals-thick_18_b81900_40x40.png
+++ui-bg_diagonals-thick_20_666666_40x40.png
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-bg_diagonals-thick_20_666666_40x40.png
+++ui-bg_flat_10_000000_40x100.png
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-bg_flat_10_000000_40x100.png
+++ui-bg_glass_100_f6f6f6_1x400.png
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-bg_glass_100_f6f6f6_1x400.png
+++ui-bg_glass_100_fdf5ce_1x400.png
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-bg_glass_100_fdf5ce_1x400.png
+++ui-bg_glass_65_ffffff_1x400.png
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-bg_glass_65_ffffff_1x400.png
+++ui-bg_gloss-wave_35_f6a828_500x100.png
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-bg_gloss-wave_35_f6a828_500x100.png
+++ui-bg_highlight-soft_100_eeeeee_1x100.png
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-bg_highlight-soft_100_eeeeee_1x100.png
+++ui-bg_highlight-soft_75_ffe45c_1x100.png
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-bg_highlight-soft_75_ffe45c_1x100.png
+++ui-icons_222222_256x240.png
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-icons_222222_256x240.png
+++ui-icons_228ef1_256x240.png
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-icons_228ef1_256x240.png
+++ui-icons_ef8c08_256x240.png
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-icons_ef8c08_256x240.png
+++ui-icons_ffd27a_256x240.png
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-icons_ffd27a_256x240.png
+++ui-icons_ffffff_256x240.png
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-icons_ffffff_256x240.png
 ++index.html
 i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\index.html
@@ -443,56 +281,184 @@
 ++slicknav.css
 i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\slicknav.css
+++Migrations
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\migrations\
+++202506262316561_Initial.cs
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\migrations\202506262316561_initial.cs
+++Configuration.cs
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\migrations\configuration.cs
+++Models
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\models\
+++AccountViewModels.cs
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\models\accountviewmodels.cs
+++IdentityModels.cs
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\models\identitymodels.cs
+++ManageViewModels.cs
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\models\manageviewmodels.cs
+++MentorContact.cs
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\models\mentorcontact.cs
+++MentorDescription.cs
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\models\mentordescription.cs
+++Project.cs
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\models\project.cs
+++Subject.cs
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\models\subject.cs
+++Topic.cs
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\models\topic.cs
+++obj
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\obj\
+++Debug
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\obj\debug\
+++Scripts
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\
+++bootstrap.bundle.js
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\bootstrap.bundle.js
+++bootstrap.bundle.js.map
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\bootstrap.bundle.js.map
+++bootstrap.bundle.min.js
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\bootstrap.bundle.min.js
+++bootstrap.bundle.min.js.map
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\bootstrap.bundle.min.js.map
+++bootstrap.esm.js
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\bootstrap.esm.js
+++bootstrap.esm.js.map
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\bootstrap.esm.js.map
+++bootstrap.esm.min.js
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\bootstrap.esm.min.js
+++bootstrap.esm.min.js.map
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\bootstrap.esm.min.js.map
+++bootstrap.js
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\bootstrap.js
+++bootstrap.js.map
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\bootstrap.js.map
+++bootstrap.min.js
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\bootstrap.min.js
+++bootstrap.min.js.map
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\bootstrap.min.js.map
+++jquery-3.7.0.intellisense.js
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\jquery-3.7.0.intellisense.js
+++jquery-3.7.0.js
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\jquery-3.7.0.js
+++jquery-3.7.0.min.js
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\jquery-3.7.0.min.js
+++jquery-3.7.0.min.map
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\jquery-3.7.0.min.map
+++jquery-3.7.0.slim.js
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\jquery-3.7.0.slim.js
+++jquery-3.7.0.slim.min.js
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\jquery-3.7.0.slim.min.js
+++jquery-3.7.0.slim.min.map
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\jquery-3.7.0.slim.min.map
+++jquery.validate-vsdoc.js
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\jquery.validate-vsdoc.js
+++jquery.validate.js
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\jquery.validate.js
+++jquery.validate.min.js
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\jquery.validate.min.js
+++jquery.validate.unobtrusive.js
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\jquery.validate.unobtrusive.js
+++jquery.validate.unobtrusive.min.js
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\jquery.validate.unobtrusive.min.js
+++modernizr-2.8.3.js
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\scripts\modernizr-2.8.3.js
+++Views
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\
+++Account
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\
+++_ExternalLoginsListPartial.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\_externalloginslistpartial.cshtml
+++ConfirmEmail.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\confirmemail.cshtml
+++ContactForm.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\contactform.cshtml
+++EditMentorProfile.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\editmentorprofile.cshtml
+++EditStudentProfile.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\editstudentprofile.cshtml
+++ExternalLoginConfirmation.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\externalloginconfirmation.cshtml
+++ExternalLoginFailure.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\externalloginfailure.cshtml
+++ForgotPassword.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\forgotpassword.cshtml
+++ForgotPasswordConfirmation.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\forgotpasswordconfirmation.cshtml
+++Login.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\login.cshtml
+++MentorProfile.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\mentorprofile.cshtml
+++Register.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\register.cshtml
+++ResetPassword.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\resetpassword.cshtml
+++ResetPasswordConfirmation.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\resetpasswordconfirmation.cshtml
+++SendCode.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\sendcode.cshtml
+++StudentProfile.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\studentprofile.cshtml
+++VerifyCode.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\verifycode.cshtml
+++ViewMentors.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\viewmentors.cshtml
+++Home
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\home\
+++About.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\home\about.cshtml
+++Contact.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\home\contact.cshtml
+++Index.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\home\index.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\manage\index.cshtml
+++Manage
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\manage\
+++AddPhoneNumber.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\manage\addphonenumber.cshtml
+++ChangePassword.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\manage\changepassword.cshtml
+++ManageLogins.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\manage\managelogins.cshtml
+++SetPassword.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\manage\setpassword.cshtml
+++VerifyPhoneNumber.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\manage\verifyphonenumber.cshtml
+++Shared
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\shared\
+++_Layout.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\shared\_layout.cshtml
+++_LoginPartial.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\shared\_loginpartial.cshtml
+++Error.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\shared\error.cshtml
+++Lockout.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\shared\lockout.cshtml
+++_ViewStart.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\_viewstart.cshtml
+++Web.config
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\web.config
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\web.config
+++favicon.ico
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\favicon.ico
+++Global.asax
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\global.asax
+++Global.asax.cs
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\global.asax.cs
+++packages.config
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\packages.config
+++Startup.cs
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\startup.cs
+++Web.Debug.config
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\web.debug.config
+++Web.Release.config
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\web.release.config
+++WebApplication1.dll
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\bin\webapplication1.dll
+++WebApplication1.pdb
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\bin\webapplication1.pdb
 ++202506262316561_Initial.Designer.cs
 i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\migrations\202506262316561_initial.designer.cs
 ++202506262316561_Initial.resx
 i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\migrations\202506262316561_initial.resx
-++202510202028533_RemoveSubjectFromMentorContact.Designer.cs
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\migrations\202510202028533_removesubjectfrommentorcontact.designer.cs
-++202510202028533_RemoveSubjectFromMentorContact.resx
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\migrations\202510202028533_removesubjectfrommentorcontact.resx
-++202512261224234_AddMessageEntity.Designer.cs
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\migrations\202512261224234_addmessageentity.designer.cs
-++202512261224234_AddMessageEntity.resx
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\migrations\202512261224234_addmessageentity.resx
-++202512272058014_AddOpinionEntity.Designer.cs
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\migrations\202512272058014_addopinionentity.designer.cs
-++202512272058014_AddOpinionEntity.resx
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\migrations\202512272058014_addopinionentity.resx
-++Debug
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\obj\debug\
-++Global.asax.cs
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\global.asax.cs
-++logo.png
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\content\images\logo.png
-++logo2.png
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\content\images\logo2.png
-++ui-bg_diagonals-thick_18_b81900_40x40.png
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-bg_diagonals-thick_18_b81900_40x40.png
-++ui-bg_diagonals-thick_20_666666_40x40.png
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-bg_diagonals-thick_20_666666_40x40.png
-++ui-bg_flat_10_000000_40x100.png
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-bg_flat_10_000000_40x100.png
-++ui-bg_glass_100_f6f6f6_1x400.png
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-bg_glass_100_f6f6f6_1x400.png
-++ui-bg_glass_100_fdf5ce_1x400.png
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-bg_glass_100_fdf5ce_1x400.png
-++ui-bg_glass_65_ffffff_1x400.png
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-bg_glass_65_ffffff_1x400.png
-++ui-bg_gloss-wave_35_f6a828_500x100.png
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-bg_gloss-wave_35_f6a828_500x100.png
-++ui-bg_highlight-soft_100_eeeeee_1x100.png
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-bg_highlight-soft_100_eeeeee_1x100.png
-++ui-bg_highlight-soft_75_ffe45c_1x100.png
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-bg_highlight-soft_75_ffe45c_1x100.png
-++ui-icons_222222_256x240.png
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-icons_222222_256x240.png
-++ui-icons_228ef1_256x240.png
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-icons_228ef1_256x240.png
-++ui-icons_ef8c08_256x240.png
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-icons_ef8c08_256x240.png
-++ui-icons_ffd27a_256x240.png
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-icons_ffd27a_256x240.png
-++ui-icons_ffffff_256x240.png
-i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\jquery\images\ui-icons_ffffff_256x240.png
 ++.NETFramework,Version=v4.7.2.AssemblyAttributes.cs
 i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\obj\debug\.netframework,version=v4.7.2.assemblyattributes.cs
+++Inbox.cshtml
+i:{9455f6e4-9915-4398-9e1b-28071a09e54b}:c:\users\kate\source\repos\najdimentor\webapplication1\views\account\inbox.cshtml
Index: WebApplication1/.vs/WebApplication1.csproj.dtbcache.json
===================================================================
--- WebApplication1/.vs/WebApplication1.csproj.dtbcache.json	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ WebApplication1/.vs/WebApplication1.csproj.dtbcache.json	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -1,1 +1,1 @@
-{"RootPath":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1","ProjectFileName":"WebApplication1.csproj","Configuration":"Debug|AnyCPU","FrameworkPath":"","Sources":[{"SourceFile":"App_Start\\BundleConfig.cs"},{"SourceFile":"App_Start\\FilterConfig.cs"},{"SourceFile":"App_Start\\IdentityConfig.cs"},{"SourceFile":"App_Start\\RouteConfig.cs"},{"SourceFile":"App_Start\\Startup.Auth.cs"},{"SourceFile":"Controllers\\AccountController.cs"},{"SourceFile":"Controllers\\HomeController.cs"},{"SourceFile":"Controllers\\ManageController.cs"},{"SourceFile":"Global.asax.cs"},{"SourceFile":"Migrations\\202506262316561_Initial.cs"},{"SourceFile":"Migrations\\202506262316561_Initial.Designer.cs"},{"SourceFile":"Migrations\\202510202028533_RemoveSubjectFromMentorContact.cs"},{"SourceFile":"Migrations\\202510202028533_RemoveSubjectFromMentorContact.Designer.cs"},{"SourceFile":"Migrations\\202512261224234_AddMessageEntity.cs"},{"SourceFile":"Migrations\\202512261224234_AddMessageEntity.Designer.cs"},{"SourceFile":"Migrations\\202512272058014_AddOpinionEntity.cs"},{"SourceFile":"Migrations\\202512272058014_AddOpinionEntity.Designer.cs"},{"SourceFile":"Migrations\\202602172104178_AddTopicSuggestions.cs"},{"SourceFile":"Migrations\\202602172104178_AddTopicSuggestions.Designer.cs"},{"SourceFile":"Migrations\\202602182016401_FixTopicSuggestions.cs"},{"SourceFile":"Migrations\\202602182016401_FixTopicSuggestions.Designer.cs"},{"SourceFile":"Migrations\\Configuration.cs"},{"SourceFile":"Models\\AccountViewModels.cs"},{"SourceFile":"Models\\IdentityModels.cs"},{"SourceFile":"Models\\InboxCombinedViewModel.cs"},{"SourceFile":"Models\\ManageViewModels.cs"},{"SourceFile":"Models\\MentorDescription.cs"},{"SourceFile":"Models\\MentorContact.cs"},{"SourceFile":"Models\\Message.cs"},{"SourceFile":"Models\\Opinion.cs"},{"SourceFile":"Models\\Project.cs"},{"SourceFile":"Models\\RequestItemDto.cs"},{"SourceFile":"Models\\Subject.cs"},{"SourceFile":"Models\\Topic.cs"},{"SourceFile":"Models\\TopicSuggestion.cs"},{"SourceFile":"Properties\\AssemblyInfo.cs"},{"SourceFile":"Startup.cs"},{"SourceFile":"obj\\Debug\\.NETFramework,Version=v4.7.2.AssemblyAttributes.cs"}],"References":[{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Antlr.3.5.0.2\\lib\\Antlr3.Runtime.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\EntityFramework.6.5.1\\lib\\net45\\EntityFramework.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\EntityFramework.6.5.1\\lib\\net45\\EntityFramework.SqlServer.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.AspNet.Identity.Core.2.2.4\\lib\\net45\\Microsoft.AspNet.Identity.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.AspNet.Identity.EntityFramework.2.2.4\\lib\\net45\\Microsoft.AspNet.Identity.EntityFramework.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.AspNet.Identity.Owin.2.2.4\\lib\\net45\\Microsoft.AspNet.Identity.Owin.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\\lib\\net45\\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\Microsoft.CSharp.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.Owin.4.2.3\\lib\\net45\\Microsoft.Owin.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.Owin.Host.SystemWeb.4.2.3\\lib\\net45\\Microsoft.Owin.Host.SystemWeb.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\bin\\Microsoft.Owin.Security.Cookies.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.Owin.Security.4.2.3\\lib\\net45\\Microsoft.Owin.Security.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.Owin.Security.Google.4.2.3\\lib\\net45\\Microsoft.Owin.Security.Google.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.Owin.Security.MicrosoftAccount.4.2.2\\lib\\net45\\Microsoft.Owin.Security.MicrosoftAccount.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.Owin.Security.OAuth.4.2.3\\lib\\net45\\Microsoft.Owin.Security.OAuth.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.Owin.Security.Twitter.4.2.2\\lib\\net45\\Microsoft.Owin.Security.Twitter.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.Web.Infrastructure.2.0.0\\lib\\net40\\Microsoft.Web.Infrastructure.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\mscorlib.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Newtonsoft.Json.13.0.3\\lib\\net45\\Newtonsoft.Json.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Owin.1.0\\lib\\net40\\Owin.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Owin.Security.Providers.GitHub.2.26.0\\lib\\net45\\Owin.Security.Providers.GitHub.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\PagedList.1.17.0.0\\lib\\net40\\PagedList.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\PagedList.Mvc.4.5.0.0\\lib\\net40\\PagedList.Mvc.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.ComponentModel.DataAnnotations.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Configuration.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.DataSetExtensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Drawing.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.EnterpriseServices.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Net.Http.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Net.Http.WebRequest.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Security.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Web.Abstractions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Web.ApplicationServices.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Web.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Web.DynamicData.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Web.Entity.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Web.Extensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.AspNet.WebPages.3.2.9\\lib\\net45\\System.Web.Helpers.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.AspNet.Mvc.5.2.9\\lib\\net45\\System.Web.Mvc.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.AspNet.Web.Optimization.1.1.3\\lib\\net40\\System.Web.Optimization.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.AspNet.Razor.3.2.9\\lib\\net45\\System.Web.Razor.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Web.Routing.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Web.Services.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.AspNet.WebPages.3.2.9\\lib\\net45\\System.Web.WebPages.Deployment.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.AspNet.WebPages.3.2.9\\lib\\net45\\System.Web.WebPages.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.AspNet.WebPages.3.2.9\\lib\\net45\\System.Web.WebPages.Razor.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.Linq.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\WebGrease.1.6.0\\lib\\WebGrease.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""}],"Analyzers":[],"Outputs":[{"OutputItemFullPath":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\bin\\WebApplication1.dll","OutputItemRelativePath":"WebApplication1.dll"},{"OutputItemFullPath":"","OutputItemRelativePath":""}],"CopyToOutputEntries":[]}
+{"RootPath":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1","ProjectFileName":"WebApplication1.csproj","Configuration":"Debug|AnyCPU","FrameworkPath":"","Sources":[{"SourceFile":"App_Start\\BundleConfig.cs"},{"SourceFile":"App_Start\\FilterConfig.cs"},{"SourceFile":"App_Start\\IdentityConfig.cs"},{"SourceFile":"App_Start\\RouteConfig.cs"},{"SourceFile":"App_Start\\Startup.Auth.cs"},{"SourceFile":"Controllers\\AccountController.cs"},{"SourceFile":"Controllers\\HomeController.cs"},{"SourceFile":"Controllers\\ManageController.cs"},{"SourceFile":"Global.asax.cs"},{"SourceFile":"Migrations\\202506262316561_Initial.cs"},{"SourceFile":"Migrations\\202506262316561_Initial.Designer.cs"},{"SourceFile":"Migrations\\202510202028533_RemoveSubjectFromMentorContact.cs"},{"SourceFile":"Migrations\\202510202028533_RemoveSubjectFromMentorContact.Designer.cs"},{"SourceFile":"Migrations\\202512261224234_AddMessageEntity.cs"},{"SourceFile":"Migrations\\202512261224234_AddMessageEntity.Designer.cs"},{"SourceFile":"Migrations\\Configuration.cs"},{"SourceFile":"Models\\AccountViewModels.cs"},{"SourceFile":"Models\\IdentityModels.cs"},{"SourceFile":"Models\\InboxCombinedViewModel.cs"},{"SourceFile":"Models\\ManageViewModels.cs"},{"SourceFile":"Models\\MentorDescription.cs"},{"SourceFile":"Models\\MentorContact.cs"},{"SourceFile":"Models\\Message.cs"},{"SourceFile":"Models\\Project.cs"},{"SourceFile":"Models\\Subject.cs"},{"SourceFile":"Models\\Topic.cs"},{"SourceFile":"Properties\\AssemblyInfo.cs"},{"SourceFile":"Startup.cs"},{"SourceFile":"obj\\Debug\\.NETFramework,Version=v4.7.2.AssemblyAttributes.cs"}],"References":[{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Antlr.3.5.0.2\\lib\\Antlr3.Runtime.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\EntityFramework.6.5.1\\lib\\net45\\EntityFramework.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\EntityFramework.6.5.1\\lib\\net45\\EntityFramework.SqlServer.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.AspNet.Identity.Core.2.2.4\\lib\\net45\\Microsoft.AspNet.Identity.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.AspNet.Identity.EntityFramework.2.2.4\\lib\\net45\\Microsoft.AspNet.Identity.EntityFramework.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.AspNet.Identity.Owin.2.2.4\\lib\\net45\\Microsoft.AspNet.Identity.Owin.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\\lib\\net45\\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\Microsoft.CSharp.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.Owin.4.2.2\\lib\\net45\\Microsoft.Owin.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.Owin.Host.SystemWeb.4.2.2\\lib\\net45\\Microsoft.Owin.Host.SystemWeb.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.Owin.Security.Cookies.4.2.2\\lib\\net45\\Microsoft.Owin.Security.Cookies.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.Owin.Security.4.2.2\\lib\\net45\\Microsoft.Owin.Security.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.Owin.Security.Facebook.4.2.2\\lib\\net45\\Microsoft.Owin.Security.Facebook.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.Owin.Security.Google.4.2.2\\lib\\net45\\Microsoft.Owin.Security.Google.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.Owin.Security.MicrosoftAccount.4.2.2\\lib\\net45\\Microsoft.Owin.Security.MicrosoftAccount.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.Owin.Security.OAuth.4.2.2\\lib\\net45\\Microsoft.Owin.Security.OAuth.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.Owin.Security.Twitter.4.2.2\\lib\\net45\\Microsoft.Owin.Security.Twitter.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.Web.Infrastructure.2.0.0\\lib\\net40\\Microsoft.Web.Infrastructure.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\mscorlib.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Newtonsoft.Json.13.0.3\\lib\\net45\\Newtonsoft.Json.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Owin.1.0\\lib\\net40\\Owin.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\PagedList.1.17.0.0\\lib\\net40\\PagedList.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\PagedList.Mvc.4.5.0.0\\lib\\net40\\PagedList.Mvc.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.ComponentModel.DataAnnotations.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Configuration.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.DataSetExtensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Drawing.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.EnterpriseServices.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Net.Http.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Net.Http.WebRequest.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Web.Abstractions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Web.ApplicationServices.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Web.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Web.DynamicData.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Web.Entity.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Web.Extensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.AspNet.WebPages.3.2.9\\lib\\net45\\System.Web.Helpers.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.AspNet.Mvc.5.2.9\\lib\\net45\\System.Web.Mvc.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.AspNet.Web.Optimization.1.1.3\\lib\\net40\\System.Web.Optimization.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.AspNet.Razor.3.2.9\\lib\\net45\\System.Web.Razor.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Web.Routing.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Web.Services.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.AspNet.WebPages.3.2.9\\lib\\net45\\System.Web.WebPages.Deployment.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.AspNet.WebPages.3.2.9\\lib\\net45\\System.Web.WebPages.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\Microsoft.AspNet.WebPages.3.2.9\\lib\\net45\\System.Web.WebPages.Razor.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.Linq.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\packages\\WebGrease.1.6.0\\lib\\WebGrease.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""}],"Analyzers":[],"Outputs":[{"OutputItemFullPath":"C:\\Users\\Kate\\source\\repos\\NajdiMentor\\WebApplication1\\bin\\WebApplication1.dll","OutputItemRelativePath":"WebApplication1.dll"},{"OutputItemFullPath":"","OutputItemRelativePath":""}],"CopyToOutputEntries":[]}
Index: WebApplication1/App_Start/IdentityConfig.cs
===================================================================
--- WebApplication1/App_Start/IdentityConfig.cs	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ WebApplication1/App_Start/IdentityConfig.cs	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -1,18 +1,14 @@
-﻿using Microsoft.AspNet.Identity;
+﻿using System;
+using System.Collections.Generic;
+using System.Data.Entity;
+using System.Linq;
+using System.Security.Claims;
+using System.Threading.Tasks;
+using System.Web;
+using Microsoft.AspNet.Identity;
 using Microsoft.AspNet.Identity.EntityFramework;
 using Microsoft.AspNet.Identity.Owin;
 using Microsoft.Owin;
 using Microsoft.Owin.Security;
-using System;
-using System.Collections.Generic;
-using System.Configuration;
-using System.Data.Entity;
-using System.Linq;
-using System.Net;
-using System.Net.Mail;
-using System.Security.Claims;
-using System.Text;
-using System.Threading.Tasks;
-using System.Web;
 using WebApplication1.Models;
 
@@ -21,66 +17,8 @@
     public class EmailService : IIdentityMessageService
     {
-        private readonly string _host;
-        private readonly int _port;
-        private readonly string _username;
-        private readonly string _password;
-        private readonly bool _enableSsl;
-        private readonly string _from;
-        private readonly string _fromDisplay;
-
-        public EmailService()
+        public Task SendAsync(IdentityMessage message)
         {
-            _host = ConfigurationManager.AppSettings["Smtp:Host"] ?? Environment.GetEnvironmentVariable("SMTP_HOST");
-            _port = ParseInt(ConfigurationManager.AppSettings["Smtp:Port"])
-                    ?? ParseInt(Environment.GetEnvironmentVariable("SMTP_PORT")) ?? 587;
-            _username = ConfigurationManager.AppSettings["Smtp:Username"] ?? Environment.GetEnvironmentVariable("SMTP_USER");
-            _password = ConfigurationManager.AppSettings["Smtp:Password"] ?? Environment.GetEnvironmentVariable("SMTP_PASS");
-            _enableSsl = ParseBool(ConfigurationManager.AppSettings["Smtp:EnableSsl"])
-                         ?? ParseBool(Environment.GetEnvironmentVariable("SMTP_ENABLESSL")) ?? true;
-            _from = ConfigurationManager.AppSettings["Email:From"] ?? _username ?? Environment.GetEnvironmentVariable("EMAIL_FROM");
-            _fromDisplay = ConfigurationManager.AppSettings["Email:FromDisplayName"] ?? "Најди Ментор";
-        }
-
-        private int? ParseInt(string s) => int.TryParse(s, out var v) ? (int?)v : null;
-        private bool? ParseBool(string s) => bool.TryParse(s, out var v) ? (bool?)v : null;
-
-        // Called by ASP.NET Identity when it needs to send e-mail (confirmations, password reset, etc.)
-        public async Task SendAsync(IdentityMessage message)
-        {
-            if (message == null) throw new ArgumentNullException(nameof(message));
-            await SendEmailAsync(message.Destination, message.Subject, message.Body, null).ConfigureAwait(false);
-        }
-
-        public async Task SendEmailAsync(string toEmail, string subject, string htmlBody, string plainBody = null)
-        {
-            if (string.IsNullOrWhiteSpace(_host))
-                throw new InvalidOperationException("SMTP host is not configured (Smtp:Host).");
-
-            if (string.IsNullOrWhiteSpace(toEmail))
-                throw new ArgumentException("toEmail required", nameof(toEmail));
-
-            var mail = new MailMessage
-            {
-                From = new MailAddress(_from ?? _username, _fromDisplay),
-                Subject = subject ?? string.Empty,
-                BodyEncoding = Encoding.UTF8,
-                SubjectEncoding = Encoding.UTF8,
-                IsBodyHtml = true,
-                Body = htmlBody ?? string.Empty
-            };
-
-            if (!string.IsNullOrEmpty(plainBody))
-                mail.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(plainBody, null, "text/plain"));
-
-            mail.To.Add(toEmail);
-
-            using (var client = new SmtpClient(_host, _port))
-            {
-                client.EnableSsl = _enableSsl;
-                if (!string.IsNullOrEmpty(_username))
-                    client.Credentials = new NetworkCredential(_username, _password);
-
-                await client.SendMailAsync(mail).ConfigureAwait(false);
-            }
+            // Plug in your email service here to send an email.
+            return Task.FromResult(0);
         }
     }
Index: WebApplication1/App_Start/Startup.Auth.cs
===================================================================
--- WebApplication1/App_Start/Startup.Auth.cs	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ WebApplication1/App_Start/Startup.Auth.cs	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -1,68 +1,68 @@
-﻿//using System;
-//using Microsoft.AspNet.Identity;
-//using Microsoft.AspNet.Identity.Owin;
-//using Microsoft.Owin;
-//using Microsoft.Owin.Security.Cookies;
-//using Microsoft.Owin.Security.Google;
-//using Owin;
-//using WebApplication1.Models;
+﻿using System;
+using Microsoft.AspNet.Identity;
+using Microsoft.AspNet.Identity.Owin;
+using Microsoft.Owin;
+using Microsoft.Owin.Security.Cookies;
+using Microsoft.Owin.Security.Google;
+using Owin;
+using WebApplication1.Models;
 
-//namespace WebApplication1
-//{
-//    public partial class Startup
-//    {
-//        // For more information on configuring authentication, please visit https://go.microsoft.com/fwlink/?LinkId=301864
-//        public void ConfigureAuth(IAppBuilder app)
-//        {
-//            // Configure the db context, user manager and signin manager to use a single instance per request
-//            app.CreatePerOwinContext(ApplicationDbContext.Create);
-//            app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
-//            app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create);
+namespace WebApplication1
+{
+    public partial class Startup
+    {
+        // For more information on configuring authentication, please visit https://go.microsoft.com/fwlink/?LinkId=301864
+        public void ConfigureAuth(IAppBuilder app)
+        {
+            // Configure the db context, user manager and signin manager to use a single instance per request
+            app.CreatePerOwinContext(ApplicationDbContext.Create);
+            app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
+            app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create);
 
-//            // Enable the application to use a cookie to store information for the signed in user
-//            // and to use a cookie to temporarily store information about a user logging in with a third party login provider
-//            // Configure the sign in cookie
-//            app.UseCookieAuthentication(new CookieAuthenticationOptions
-//            {
-//                AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
-//                LoginPath = new PathString("/Account/Login"),
-//                Provider = new CookieAuthenticationProvider
-//                {
-//                    // Enables the application to validate the security stamp when the user logs in.
-//                    // This is a security feature which is used when you change a password or add an external login to your account.  
-//                    OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
-//                        validateInterval: TimeSpan.FromMinutes(30),
-//                        regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
-//                }
-//            });            
-//            app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
+            // Enable the application to use a cookie to store information for the signed in user
+            // and to use a cookie to temporarily store information about a user logging in with a third party login provider
+            // Configure the sign in cookie
+            app.UseCookieAuthentication(new CookieAuthenticationOptions
+            {
+                AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
+                LoginPath = new PathString("/Account/Login"),
+                Provider = new CookieAuthenticationProvider
+                {
+                    // Enables the application to validate the security stamp when the user logs in.
+                    // This is a security feature which is used when you change a password or add an external login to your account.  
+                    OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
+                        validateInterval: TimeSpan.FromMinutes(30),
+                        regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
+                }
+            });            
+            app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
 
-//            // Enables the application to temporarily store user information when they are verifying the second factor in the two-factor authentication process.
-//            app.UseTwoFactorSignInCookie(DefaultAuthenticationTypes.TwoFactorCookie, TimeSpan.FromMinutes(5));
+            // Enables the application to temporarily store user information when they are verifying the second factor in the two-factor authentication process.
+            app.UseTwoFactorSignInCookie(DefaultAuthenticationTypes.TwoFactorCookie, TimeSpan.FromMinutes(5));
 
-//            // Enables the application to remember the second login verification factor such as phone or email.
-//            // Once you check this option, your second step of verification during the login process will be remembered on the device where you logged in from.
-//            // This is similar to the RememberMe option when you log in.
-//            app.UseTwoFactorRememberBrowserCookie(DefaultAuthenticationTypes.TwoFactorRememberBrowserCookie);
+            // Enables the application to remember the second login verification factor such as phone or email.
+            // Once you check this option, your second step of verification during the login process will be remembered on the device where you logged in from.
+            // This is similar to the RememberMe option when you log in.
+            app.UseTwoFactorRememberBrowserCookie(DefaultAuthenticationTypes.TwoFactorRememberBrowserCookie);
 
-//            // Uncomment the following lines to enable logging in with third party login providers
-//            //app.UseMicrosoftAccountAuthentication(
-//            //    clientId: "",
-//            //    clientSecret: "");
+            // Uncomment the following lines to enable logging in with third party login providers
+            //app.UseMicrosoftAccountAuthentication(
+            //    clientId: "",
+            //    clientSecret: "");
 
-//            //app.UseTwitterAuthentication(
-//            //   consumerKey: "",
-//            //   consumerSecret: "");
+            //app.UseTwitterAuthentication(
+            //   consumerKey: "",
+            //   consumerSecret: "");
 
-//            //app.UseFacebookAuthentication(
-//            //   appId: "",
-//            //   appSecret: "");
+            //app.UseFacebookAuthentication(
+            //   appId: "",
+            //   appSecret: "");
 
-//            //app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions()
-//            //{
-//            //    ClientId = "",
-//            //    ClientSecret = ""
-//            //});
-//        }
-//    }
-//}
+            //app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions()
+            //{
+            //    ClientId = "",
+            //    ClientSecret = ""
+            //});
+        }
+    }
+}
Index: WebApplication1/Controllers/AccountController.cs
===================================================================
--- WebApplication1/Controllers/AccountController.cs	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ WebApplication1/Controllers/AccountController.cs	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -1,7 +1,3 @@
-﻿using Microsoft.Ajax.Utilities;
-using Microsoft.AspNet.Identity;
-using Microsoft.AspNet.Identity.Owin;
-using Microsoft.Owin.Security;
-using System;
+﻿using System;
 using System.Collections.Generic;
 using System.Data.Entity;
@@ -15,6 +11,9 @@
 using System.Web.Mvc;
 using System.Xml.Linq;
+using Microsoft.Ajax.Utilities;
+using Microsoft.AspNet.Identity;
+using Microsoft.AspNet.Identity.Owin;
+using Microsoft.Owin.Security;
 using WebApplication1.Models;
-using static WebApplication1.Controllers.ManageController;
 
 namespace WebApplication1.Controllers
@@ -315,24 +314,19 @@
             return View(vm);
         }
-        // AccountController.cs
-
-        // GET: MentorProfile
         public ActionResult MentorProfile(string id)
         {
-            // Eagerly include subjects, topics and topic suggestions + assigned student to avoid lazy loading issues
             var mentor = db.Users
-                           .OfType<Mentor>()
-                           .Include(u => u.Subjects)
-                           .Include(u => u.Topics)
-                           .Include(u => u.TopicSuggestions.Select(ts => ts.AssignedStudent)) // EF6 syntax
-                           .SingleOrDefault(u => u.Id == id);
-
+                            .OfType<Mentor>()
+                            .Include(u => u.Subjects)
+                            .Include(u => u.Topics)
+                            .SingleOrDefault(u => u.Id == id);
             if (mentor == null)
+            {
                 return HttpNotFound();
+            }
 
             var currentUserId = User.Identity.GetUserId();
             bool isOwner = mentor.Id == currentUserId;
             ViewBag.IsOwner = isOwner;
-            ViewBag.ViewerId = currentUserId;
 
             ViewBag.IsMentor = db.Users.OfType<Mentor>().Any(m => m.Id == currentUserId);
@@ -345,34 +339,11 @@
                 Email = mentor.Email,
                 Biography = mentor.Biography,
-                Subjects = mentor.Subjects?.Select(s => s.Name).ToList() ?? new List<string>(),
-                Topics = mentor.Topics?.Select(t => t.Name).ToList() ?? new List<string>(),
+                Subjects = mentor.Subjects.Select(s => s.Name).ToList(),
+                Topics = mentor.Topics.Select(t => t.Name).ToList(),
                 Timeslots = mentor.Timeslots,
                 TypesOfProject = mentor.TypesOfProject,
                 Available = mentor.Available,
-                ImageURL = mentor.ImageURL,
-                // initialize empty list; will populate below
-                TopicSuggestions = new List<TopicSuggestionDto>()
+                ImageURL = mentor.ImageURL
             };
-
-            // Map topic suggestions into DTOs.
-            // If viewer is the owner, include assigned student name; otherwise don't expose student identity.
-            var suggestions = (mentor.TopicSuggestions ?? Enumerable.Empty<TopicSuggestion>())
-                .OrderByDescending(ts => ts.CreatedAt)
-                .Select(ts => new TopicSuggestionDto
-                {
-                    Id = ts.Id,
-                    Title = ts.Title,
-                    Description = ts.Description,
-                    IsAssigned = ts.IsAssigned,
-                    // only expose the assigned student id/name to the owner or to the assigned student themself
-                    AssignedStudentId = (isOwner || ts.AssignedStudentId == currentUserId) ? ts.AssignedStudentId : null,
-                    AssignedStudentName = (isOwner || ts.AssignedStudentId == currentUserId) && ts.AssignedStudent != null
-                        ? (ts.AssignedStudent.Name + " " + ts.AssignedStudent.Surname)
-                        : null,
-                    CreatedAt = ts.CreatedAt
-                })
-                .ToList();
-
-            vm.TopicSuggestions = suggestions;
 
             // Load approved opinions (for public display)
@@ -382,5 +353,5 @@
                 .OrderByDescending(o => o.Timestamp)
                 .Take(50)
-                .ToList()
+                .ToList() // materialize to avoid proxy/lazy load issues
                 .Select(o => new OpinionDto
                 {
@@ -396,5 +367,5 @@
             vm.ApprovedOpinions = approvedOpinions;
 
-            // Pending opinions visible only to owner
+            // If the viewer is the profile owner (mentor), also load pending opinions for moderation
             if (isOwner)
             {
@@ -425,5 +396,4 @@
         }
 
-
         public ActionResult EditStudentProfile(string id)
         {
@@ -516,5 +486,4 @@
                             .Include(u => u.Subjects)
                             .Include(u => u.Topics)
-                            .Include(u => u.TopicSuggestions.Select(ts => ts.AssignedStudent)) // EF6
                             .SingleOrDefault(u => u.Id == id);
 
@@ -529,30 +498,11 @@
                 Email = mentor.Email,
                 Biography = mentor.Biography,
-                Subjects = mentor.Subjects?.Select(s => s.Name).ToList() ?? new List<string>(),
-                Topics = mentor.Topics?.Select(t => t.Name).ToList() ?? new List<string>(),
+                Subjects = mentor.Subjects.Select(s => s.Name).ToList(),
+                Topics = mentor.Topics.Select(t => t.Name).ToList(),
                 Timeslots = mentor.Timeslots,
                 TypesOfProject = mentor.TypesOfProject,
                 Available = mentor.Available,
-                ImageURL = mentor.ImageURL,
-                TopicSuggestions = new List<TopicSuggestionDto>() // populate below
+                ImageURL = mentor.ImageURL
             };
-
-            var suggestions = (mentor.TopicSuggestions ?? Enumerable.Empty<TopicSuggestion>())
-                .OrderByDescending(ts => ts.CreatedAt)
-                .Select(ts => new TopicSuggestionDto
-                {
-                    Id = ts.Id,
-                    Title = ts.Title,
-                    Description = ts.Description,
-                    IsAssigned = ts.IsAssigned,
-                    AssignedStudentId = ts.AssignedStudentId,
-                    AssignedStudentName = ts.AssignedStudent != null
-                        ? (ts.AssignedStudent.Name + " " + ts.AssignedStudent.Surname)
-                        : null,
-                    CreatedAt = ts.CreatedAt
-                })
-                .ToList();
-
-            vm.TopicSuggestions = suggestions;
 
             return View(vm);
@@ -745,9 +695,7 @@
         }
 
-        //contact
-
-        [HttpPost]
-        [ValidateAntiForgeryToken]
-        public async Task<ActionResult> SendContact(MentorContact model)
+        [HttpPost]
+        [ValidateAntiForgeryToken]
+        public ActionResult SendContact(MentorContact model)
         {
             if (string.IsNullOrWhiteSpace(model.MentorId))
@@ -789,38 +737,4 @@
             db.SaveChanges();
 
-            // Email mentor (non-blocking to user flow, but await so exceptions are catchable)
-            try
-            {
-                var mentor = db.Users.OfType<Mentor>().FirstOrDefault(m => m.Id == model.MentorId);
-                if (mentor != null && !string.IsNullOrEmpty(mentor.Email))
-                {
-                    string selectedTopicTitle = null;
-                    if (model.TopicSuggestionId.HasValue)
-                    {
-                        var ts = db.TopicSuggestions.Find(model.TopicSuggestionId.Value);
-                        if (ts != null) selectedTopicTitle = ts.Title;
-                    }
-
-                    var subject = "Ново барање за контакт на NajdiMentor";
-                    var body = $@"
-                    <p>Почитуван/а {HttpUtility.HtmlEncode(mentor.Name)} {HttpUtility.HtmlEncode(mentor.Surname)},</p>
-                    <p>Добијавте ново барање за менторство од <strong>{HttpUtility.HtmlEncode(student.Name)} {HttpUtility.HtmlEncode(student.Surname)}</strong>.</p>
-                    <p><strong>Предмет:</strong> {HttpUtility.HtmlEncode(model.SubjectName ?? "—")}</p>
-                    <p><strong>Тип:</strong> {HttpUtility.HtmlEncode(model.Type ?? "—")}<br/>
-                    <strong>Големина на тим:</strong> {(model.TeamSize.HasValue ? model.TeamSize.Value.ToString() : "—")}</p>
-                    " + (selectedTopicTitle != null ? $"<p><strong>Предлог тема:</strong> {HttpUtility.HtmlEncode(selectedTopicTitle)}</p>" : $"<p><strong>Предлог тема:</strong> —</p>") +
-                                    $@"
-                    <p>Порака:<br/>{HttpUtility.HtmlEncode(model.Message)}</p>
-                    <p>Прегледајте го барањето: <a href='{Url.Action("Inbox", "Account", null, Request?.Url?.Scheme)}'>Inbox</a></p>
-                    <hr/><p>Ова е автоматска порака.</p>";
-
-                    await _emailService.SendEmailAsync(mentor.Email, subject, body);
-                }
-            }
-            catch (Exception ex)
-            {
-                System.Diagnostics.Debug.WriteLine("Email send failed (SendContact): " + ex);
-            }
-
             if (Request.IsAjaxRequest())
             {
@@ -848,8 +762,8 @@
             if (vm.IsMentor)
             {
+                // contact requests
                 var contactItems = db.MentorContacts
                     .Where(c => c.MentorId == currentUserId)
                     .Include(c => c.Student)
-                    .Include(c => c.TopicSuggestion) // <-- include topic
                     .OrderByDescending(c => c.Timestamp)
                     .ToList()
@@ -865,8 +779,8 @@
                         Message = c.Message,
                         Timestamp = c.Timestamp,
-                        ContactStatus = c.Status,
-                        SelectedTopicTitle = c.TopicSuggestion != null ? c.TopicSuggestion.Title : null // <-- map title
+                        ContactStatus = c.Status
                     }).ToList();
 
+                // opinion requests (pending & all, show everywhere but you can filter)
                 var opinionItems = db.Opinions
                     .Where(o => o.MentorId == currentUserId)
@@ -888,4 +802,5 @@
                     }).ToList();
 
+                // combine and order by timestamp (most recent first)
                 vm.MentorRequests = contactItems
                     .Concat(opinionItems)
@@ -896,4 +811,5 @@
             if (vm.IsStudent)
             {
+                // load messages addressed to this student
                 vm.StudentMessages = db.Messages
                     .Where(m => m.ToUserId == currentUserId)
@@ -909,5 +825,5 @@
         [HttpPost]
         [ValidateAntiForgeryToken]
-        public async Task<ActionResult> AcceptMessage(int id)
+        public ActionResult AcceptMessage(int id)
         {
             var msg = db.MentorContacts
@@ -919,30 +835,9 @@
                 return HttpNotFound();
 
-            // update DB
+            // mark request accepted
             msg.Status = ContactStatus.Accepted;
             db.SaveChanges();
 
-            // notify student by email 
-            try
-            {
-                var student = msg.Student;
-                var mentor = msg.Mentor;
-                if (student != null && !string.IsNullOrEmpty(student.Email))
-                {
-                    var subject = $"Вашето барање е прифатено од {HttpUtility.HtmlEncode(mentor?.Name)} {HttpUtility.HtmlEncode(mentor?.Surname)}";
-                    var body = $@"
-                <p>Почитуван/а {HttpUtility.HtmlEncode(student.Name)} {HttpUtility.HtmlEncode(student.Surname)},</p>
-                <p>Вашето барање за контакт со <strong>{HttpUtility.HtmlEncode(mentor?.Name)} {HttpUtility.HtmlEncode(mentor?.Surname)}</strong> беше <strong>прифатено</strong>.</p>
-                <p>Можете да ја продолжите конверзацијата преку внатрешните пораки на сајтот: <a href='{Url.Action("Inbox", "Account", null, Request?.Url?.Scheme)}'>Inbox</a></p>
-                <hr/><p>Ова е автоматска порака.</p>";
-
-                    await _emailService.SendEmailAsync(student.Email, subject, body);
-                }
-            }
-            catch (Exception ex)
-            {
-                System.Diagnostics.Debug.WriteLine("Email send failed (AcceptMessage): " + ex);
-            }
-
+            // return JSON so client can open reply modal with student info
             return Json(new
             {
@@ -951,6 +846,5 @@
                 studentId = msg.StudentId,
                 studentName = (msg.Student != null) ? (msg.Student.Name + " " + msg.Student.Surname) : "",
-                subject = msg.SubjectName ?? "",
-                selectedTopic = msg.TopicSuggestion != null ? msg.TopicSuggestion.Title : ""
+                subject = msg.SubjectName ?? ""
             });
         }
@@ -958,5 +852,5 @@
         [HttpPost]
         [ValidateAntiForgeryToken]
-        public async Task<ActionResult> SendReplyToStudent(ReplyViewModel model)
+        public ActionResult SendReplyToStudent(ReplyViewModel model)
         {
             if (!ModelState.IsValid)
@@ -970,4 +864,5 @@
                 return new HttpUnauthorizedResult();
 
+            // create Message entity
             var message = new Message
             {
@@ -983,70 +878,16 @@
             db.SaveChanges();
 
-            // Email the student
-            try
-            {
-                var student = db.Users.Find(model.ToUserId) as Student;
-                var mentor = db.Users.Find(currentUserId) as Mentor;
-                if (student != null && !string.IsNullOrEmpty(student.Email))
-                {
-                    var subject = $"Порака од {HttpUtility.HtmlEncode(mentor?.Name)} {HttpUtility.HtmlEncode(mentor?.Surname)} на NajdiMentor";
-                    var body = $@"
-                <p>Почитуван/а {HttpUtility.HtmlEncode(student.Name)} {HttpUtility.HtmlEncode(student.Surname)},</p>
-                <p>Менторот <strong>{HttpUtility.HtmlEncode(mentor?.Name)} {HttpUtility.HtmlEncode(mentor?.Surname)}</strong> ви испрати порака:</p>
-                <hr/>
-                <p>{HttpUtility.HtmlEncode(model.Body)}</p>
-                <hr/>
-                <p>За да одговорите, најавете се на: <a href='{Url.Action("ProfileRedirect", "Account", null, Request?.Url?.Scheme)}'>NajdiMentor</a></p>
-                <hr/><p>Ова е автоматска порака.</p>";
-
-                    await _emailService.SendEmailAsync(student.Email, subject, body);
-                }
-            }
-            catch (Exception ex)
-            {
-                System.Diagnostics.Debug.WriteLine("Email send failed (SendReplyToStudent): " + ex);
-            }
-
             return Json(new { success = true, message = "Reply sent to student." });
         }
 
         [HttpPost]
-        [ValidateAntiForgeryToken]
-        [Authorize]
-        public async Task<ActionResult> RejectMessage(int id)
-        {
-            var msg = db.MentorContacts.Include(c => c.Student).Include(c => c.Mentor).FirstOrDefault(c => c.Id == id);
+        public ActionResult RejectMessage(int id)
+        {
+            var msg = db.MentorContacts.Find(id);
             if (msg == null) return HttpNotFound();
-
-            // optional: verify current user is owner (mentor)
-            var currentUserId = User.Identity.GetUserId();
-            if (msg.MentorId != currentUserId) return new HttpUnauthorizedResult();
 
             msg.Status = ContactStatus.Rejected;
             db.SaveChanges();
-
-            // notify student by email (best-effort)
-            try
-            {
-                var student = msg.Student;
-                var mentor = msg.Mentor;
-                if (student != null && !string.IsNullOrWhiteSpace(student.Email))
-                {
-                    var subject = $"Вашето барање за контакт е одбиено";
-                    var body = $@"
-                <p>Почитуван/а {HttpUtility.HtmlEncode(student.Name)} {HttpUtility.HtmlEncode(student.Surname)},</p>
-                <p>Вашето барање до <strong>{HttpUtility.HtmlEncode(mentor?.Name)} {HttpUtility.HtmlEncode(mentor?.Surname)}</strong> беше <strong>одбиено</strong>.</p>
-                <p>Ако сакате, можете да побарате друг ментор или да се обидете повторно.</p>
-                <hr/><p>Ова е автоматска порака.</p>";
-
-                    await _emailService.SendEmailAsync(student.Email, subject, body);
-                }
-            }
-            catch (Exception ex)
-            {
-                System.Diagnostics.Debug.WriteLine("Email send failed (RejectMessage): " + ex);
-            }
-
-            return Json(new { success = true });
+            return new HttpStatusCodeResult(200);
         }
 
@@ -1069,11 +910,9 @@
                     var contactNotifications = db.MentorContacts
                         .Include(c => c.Student)
-                        .Include(c => c.TopicSuggestion)
                         .Where(c => c.MentorId == mentor.Id && c.Status == ContactStatus.Pending)
                         .OrderByDescending(c => c.Timestamp)
                         .Take(5)
                         .ToList()
-                        .Select(c => new
-                        {
+                        .Select(c => new {
                             Id = c.Id,
                             Type = "MentorRequest",
@@ -1081,5 +920,4 @@
                             From = c.Student != null ? (c.Student.Name + " " + c.Student.Surname) : "Unknown student",
                             Subject = c.SubjectName,
-                            Topic = c.TopicSuggestion != null ? c.TopicSuggestion.Title : null,
                             Timestamp = c.Timestamp.ToString("g")
                         }).ToList();
@@ -1091,21 +929,14 @@
                         .Take(5)
                         .ToList()
-                        .Select(o => new
-                        {
+                        .Select(o => new {
                             Id = o.Id,
                             Type = "OpinionPending",
                             Title = "New opinion pending",
                             From = o.Student != null ? (o.Student.Name + " " + o.Student.Surname) : "Student",
-                            Subject = (o.Content != null && o.Content.Length > 120) ? (o.Content.Substring(0, 120) + "…") : o.Content,
-                            Topic = (string)null,                              // <-- make shapes identical
+                            Subject = (o.Content.Length > 120 ? o.Content.Substring(0, 120) + "…" : o.Content),
                             Timestamp = o.Timestamp.ToString("g")
                         }).ToList();
 
-                    // now both lists have the same anonymous type, Concat works
-                    var combined = contactNotifications
-                        .Concat(opinionNotifications)
-                        .OrderByDescending(x => DateTime.Parse(x.Timestamp))
-                        .Take(5)
-                        .ToList();
+                    var combined = contactNotifications.Concat(opinionNotifications).OrderByDescending(x => DateTime.Parse(x.Timestamp)).Take(5).ToList();
 
                     return Json(new
@@ -1178,5 +1009,5 @@
         [ValidateAntiForgeryToken]
         [Authorize]
-        public async Task<ActionResult> SubmitOpinion(OpinionViewModel model)
+        public ActionResult SubmitOpinion(OpinionViewModel model)
         {
             if (!ModelState.IsValid)
@@ -1190,4 +1021,5 @@
                 return new HttpUnauthorizedResult();
 
+            // validate mentor exists
             var mentor = db.Users.OfType<Mentor>().FirstOrDefault(m => m.Id == model.MentorId);
             if (mentor == null)
@@ -1206,26 +1038,5 @@
             db.SaveChanges();
 
-            // Email the mentor (best-effort)
-            try
-            {
-                if (!string.IsNullOrWhiteSpace(mentor.Email))
-                {
-                    var student = db.Users.Find(studentId) as Student;
-                    var subject = $"Ново мислење чека одобрување на NajdiMentor";
-                    var body = $@"
-                <p>Почитуван/а {HttpUtility.HtmlEncode(mentor.Name)} {HttpUtility.HtmlEncode(mentor.Surname)},</p>
-                <p>Студентот <strong>{HttpUtility.HtmlEncode(student?.Name)} {HttpUtility.HtmlEncode(student?.Surname)}</strong> остави мислење кое чека одобрување:</p>
-                <blockquote>{HttpUtility.HtmlEncode(opinion.Content)}</blockquote>
-                <p>Прегледајте го во вашиот <a href='{Url.Action("Inbox", "Account", null, Request?.Url?.Scheme)}'>Inbox</a>.</p>
-                <hr/><p>Ова е автоматска порака.</p>";
-
-                    await _emailService.SendEmailAsync(mentor.Email, subject, body);
-                }
-            }
-            catch (Exception ex)
-            {
-                System.Diagnostics.Debug.WriteLine("Email send failed (SubmitOpinion): " + ex);
-            }
-
+            // optional: return the created id so you can link to it
             return Json(new { success = true, message = "Вашето мислење е пратено и чека одобрување.", id = opinion.Id });
         }
@@ -1235,8 +1046,8 @@
         [ValidateAntiForgeryToken]
         [Authorize]
-        public async Task<ActionResult> ApproveOpinion(int id)
+        public ActionResult ApproveOpinion(int id)
         {
             var userId = User.Identity.GetUserId();
-            var opinion = db.Opinions.Include(o => o.Mentor).Include(o => o.Student).FirstOrDefault(o => o.Id == id);
+            var opinion = db.Opinions.Include(o => o.Mentor).FirstOrDefault(o => o.Id == id);
             if (opinion == null) return HttpNotFound();
             if (opinion.MentorId != userId) return new HttpUnauthorizedResult();
@@ -1245,24 +1056,7 @@
             db.SaveChanges();
 
-            try
-            {
-                var student = opinion.Student;
-                var mentor = opinion.Mentor;
-                if (student != null && !string.IsNullOrEmpty(student.Email))
-                {
-                    var subject = $"Вашето мислење е одобрено од {HttpUtility.HtmlEncode(mentor?.Name)} {HttpUtility.HtmlEncode(mentor?.Surname)}";
-                    var body = $@"
-                <p>Почитуван/а {HttpUtility.HtmlEncode(student.Name)} {HttpUtility.HtmlEncode(student.Surname)},</p>
-                <p>Вашето мислење за <strong>{HttpUtility.HtmlEncode(mentor?.Name)} {HttpUtility.HtmlEncode(mentor?.Surname)}</strong> беше <strong>одобрено</strong> и ќе биде прикажано на профилот на менторот.</p>
-                <p>Погледнете го: <a href='{Url.Action("MentorProfile", "Account", new { id = mentor?.Id }, Request?.Url?.Scheme)}'>Профил на менторот</a></p>
-                <hr/><p>Ова е автоматска порака.</p>";
-
-                    await _emailService.SendEmailAsync(student.Email, subject, body);
-                }
-            }
-            catch (Exception ex)
-            {
-                System.Diagnostics.Debug.WriteLine("Email send failed (ApproveOpinion): " + ex);
-            }
+            // optionally notify the student (create a Message entity)
+            // var message = new Message { FromUserId = userId, ToUserId = opinion.StudentId, Subject = "Your opinion was approved", Body = "...", Timestamp = DateTime.UtcNow, IsRead = false };
+            // db.Messages.Add(message); db.SaveChanges();
 
             return Json(new { success = true });
@@ -1272,8 +1066,8 @@
         [ValidateAntiForgeryToken]
         [Authorize]
-        public async Task<ActionResult> RejectOpinion(int id)
+        public ActionResult RejectOpinion(int id)
         {
             var userId = User.Identity.GetUserId();
-            var opinion = db.Opinions.Include(o => o.Mentor).Include(o => o.Student).FirstOrDefault(o => o.Id == id);
+            var opinion = db.Opinions.Include(o => o.Mentor).FirstOrDefault(o => o.Id == id);
             if (opinion == null) return HttpNotFound();
             if (opinion.MentorId != userId) return new HttpUnauthorizedResult();
@@ -1281,25 +1075,4 @@
             opinion.Status = OpinionStatus.Rejected;
             db.SaveChanges();
-
-            try
-            {
-                var student = opinion.Student;
-                var mentor = opinion.Mentor;
-                if (student != null && !string.IsNullOrEmpty(student.Email))
-                {
-                    var subject = $"Вашето мислење е отфрлено од {HttpUtility.HtmlEncode(mentor?.Name)} {HttpUtility.HtmlEncode(mentor?.Surname)}";
-                    var body = $@"
-                <p>Почитуван/а {HttpUtility.HtmlEncode(student.Name)} {HttpUtility.HtmlEncode(student.Surname)},</p>
-                <p>Вашето мислење за <strong>{HttpUtility.HtmlEncode(mentor?.Name)} {HttpUtility.HtmlEncode(mentor?.Surname)}</strong> беше <strong>отфрлено</strong> од менторот.</p>
-                <p>Ако имате прашања, контактирајте го менторот преку Inbox.</p>
-                <hr/><p>Ова е автоматска порака.</p>";
-
-                    await _emailService.SendEmailAsync(student.Email, subject, body);
-                }
-            }
-            catch (Exception ex)
-            {
-                System.Diagnostics.Debug.WriteLine("Email send failed (RejectOpinion): " + ex);
-            }
 
             return Json(new { success = true });
@@ -1413,6 +1186,5 @@
         {
             // Request a redirect to the external login provider
-            var redirectUrl = Url.Action("ExternalLoginCallback", "Account", new { ReturnUrl = returnUrl });
-            return new ChallengeResult(provider, redirectUrl);
+            return new ChallengeResult(provider, Url.Action("ExternalLoginCallback", "Account", new { ReturnUrl = returnUrl }));
         }
 
@@ -1463,187 +1235,59 @@
             }
 
-            // If already has local account, sign in
-            var signInResult = await SignInManager.ExternalSignInAsync(loginInfo, isPersistent: false);
-            if (signInResult == SignInStatus.Success)
-                return RedirectToLocal(returnUrl);
-
-            // Not linked: show ExternalLoginConfirmation view prefilled from claims
-            var email = loginInfo.Email ?? loginInfo.ExternalIdentity?.FindFirst(System.Security.Claims.ClaimTypes.Email)?.Value;
-            var given = loginInfo.ExternalIdentity?.FindFirst(System.Security.Claims.ClaimTypes.GivenName)?.Value;
-            var family = loginInfo.ExternalIdentity?.FindFirst(System.Security.Claims.ClaimTypes.Surname)?.Value;
-            // fallback: try name claim
-            if (string.IsNullOrWhiteSpace(given) && string.IsNullOrWhiteSpace(family))
-            {
-                var nameClaim = loginInfo.ExternalIdentity?.FindFirst(System.Security.Claims.ClaimTypes.Name)?.Value;
-                if (!string.IsNullOrWhiteSpace(nameClaim))
-                {
-                    var parts = nameClaim.Split(' ');
-                    if (parts.Length > 0) given = parts[0];
-                    if (parts.Length > 1) family = string.Join(" ", parts.Skip(1));
-                }
-            }
-
-            var vm = new WebApplication1.Models.ExternalLoginConfirmationViewModel
-            {
-                Email = email,
-                Name = given,
-                Surname = family,
-                UserType = "Student" // default suggestion
-            };
+            // Sign in the user with this external login provider if the user already has a login
+            var result = await SignInManager.ExternalSignInAsync(loginInfo, isPersistent: false);
+            switch (result)
+            {
+                case SignInStatus.Success:
+                    return RedirectToLocal(returnUrl);
+                case SignInStatus.LockedOut:
+                    return View("Lockout");
+                case SignInStatus.RequiresVerification:
+                    return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = false });
+                case SignInStatus.Failure:
+                default:
+                    // If the user does not have an account, then prompt the user to create an account
+                    ViewBag.ReturnUrl = returnUrl;
+                    ViewBag.LoginProvider = loginInfo.Login.LoginProvider;
+                    return View("ExternalLoginConfirmation", new ExternalLoginConfirmationViewModel { Email = loginInfo.Email });
+            }
+        }
+
+        //
+        // POST: /Account/ExternalLoginConfirmation
+        [HttpPost]
+        [AllowAnonymous]
+        [ValidateAntiForgeryToken]
+        public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
+        {
+            if (User.Identity.IsAuthenticated)
+            {
+                return RedirectToAction("Index", "Manage");
+            }
+
+            if (ModelState.IsValid)
+            {
+                // Get the information about the user from the external login provider
+                var info = await AuthenticationManager.GetExternalLoginInfoAsync();
+                if (info == null)
+                {
+                    return View("ExternalLoginFailure");
+                }
+                var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
+                var result = await UserManager.CreateAsync(user);
+                if (result.Succeeded)
+                {
+                    result = await UserManager.AddLoginAsync(user.Id, info.Login);
+                    if (result.Succeeded)
+                    {
+                        await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);
+                        return RedirectToLocal(returnUrl);
+                    }
+                }
+                AddErrors(result);
+            }
 
             ViewBag.ReturnUrl = returnUrl;
-            ViewBag.LoginProvider = loginInfo.Login.LoginProvider;
-            return View("ExternalLoginConfirmation", vm);
-        }
-
-        //
-        // POST: /Account/ExternalLoginConfirmation
-        [HttpPost]
-        [AllowAnonymous]
-        [ValidateAntiForgeryToken]
-        public async Task<ActionResult> ExternalLoginConfirmation(WebApplication1.Models.ExternalLoginConfirmationViewModel model, string returnUrl)
-        {
-            if (User.Identity.IsAuthenticated)
-            {
-                return RedirectToAction("Index", "Manage");
-            }
-
-            if (!ModelState.IsValid)
-            {
-                return View(model);
-            }
-
-            // Obtain external login info again
-            var info = await AuthenticationManager.GetExternalLoginInfoAsync();
-            if (info == null)
-            {
-                ModelState.AddModelError("", "Не можам да ги вчитам информации за надворешната најава.");
-                return View(model);
-            }
-
-            ApplicationUser user;
-            if (model.UserType == "Student")
-            {
-                user = new Student
-                {
-                    UserName = model.Email,
-                    Email = model.Email,
-                    Name = model.Name,
-                    Surname = model.Surname,
-                    Biography = model.Biography,
-                    Index = model.Index,
-                    Major = model.Major,
-                    Cycle = model.Cycle,
-                    Semester = model.Semester
-                };
-            }
-            else // Mentor
-            {
-                user = new Mentor
-                {
-                    UserName = model.Email,
-                    Email = model.Email,
-                    Name = model.Name,
-                    Surname = model.Surname,
-                    Biography = model.Biography,
-                    Timeslots = model.Timeslots,
-                    TypesOfProject = model.TypesOfProject,
-                    Available = model.Available,
-                    ImageURL = null
-                };
-            }
-
-            // Create user 
-            var result = await UserManager.CreateAsync(user);
-            if (!result.Succeeded)
-            {
-                AddErrors(result);
-                return View(model);
-            }
-
-            // Add the external login
-            result = await UserManager.AddLoginAsync(user.Id, info.Login);
-            if (!result.Succeeded)
-            {
-                AddErrors(result);
-                return View(model);
-            }
-
-            if (model.UserType == "Student")
-            {
-                var student = db.Users
-                                .OfType<Student>()
-                                .Include(s => s.Subjects)
-                                .Include(s => s.Topics)
-                                .SingleOrDefault(u => u.Id == user.Id);
-
-                if (student != null)
-                {
-                    // clear any placeholder (should be empty for a brand new user) and add incoming items
-                    student.Subjects.Clear();
-                    student.Topics.Clear();
-
-                    foreach (var subjName in model.Subjects ?? Enumerable.Empty<string>())
-                        student.Subjects.Add(new Subject { Name = subjName, UserId = student.Id });
-
-                    foreach (var topicName in model.Topics ?? Enumerable.Empty<string>())
-                        student.Topics.Add(new Topic { Name = topicName, UserId = student.Id });
-
-                    db.SaveChanges();
-                }
-            }
-            else // Mentor
-            {
-                var mentor = db.Users
-                               .OfType<Mentor>()
-                               .Include(m => m.Subjects)
-                               .Include(m => m.Topics)
-                               .SingleOrDefault(u => u.Id == user.Id);
-
-                if (mentor != null)
-                {
-                    mentor.Subjects.Clear();
-                    mentor.Topics.Clear();
-
-                    foreach (var subjName in model.Subjects ?? Enumerable.Empty<string>())
-                        mentor.Subjects.Add(new Subject { Name = subjName, UserId = mentor.Id });
-
-                    foreach (var topicName in model.Topics ?? Enumerable.Empty<string>())
-                        mentor.Topics.Add(new Topic { Name = topicName, UserId = mentor.Id });
-
-                    db.SaveChanges();
-                }
-            }
-
-            await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);
-
-            if (model.UserType == "Student")
-                return RedirectToAction("StudentProfile", "Account", new { id = user.Id });
-            else
-                return RedirectToAction("MentorProfile", "Account", new { id = user.Id });
-        }
-
-        [HttpPost]
-        [ValidateAntiForgeryToken]
-        public ActionResult LinkLogin(string provider)
-        {
-            // Request redirect to external login provider to link to current user
-            return new ChallengeResult(provider, Url.Action("LinkLoginCallback", "Account"), User.Identity.GetUserId());
-        }
-
-        [AllowAnonymous]
-        public async Task<ActionResult> LinkLoginCallback()
-        {
-            var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync(XsrfKey, User.Identity.GetUserId());
-            if (loginInfo == null)
-            {
-                return RedirectToAction("Manage", new { Message = ManageMessageId.Error });
-            }
-            var result = await UserManager.AddLoginAsync(User.Identity.GetUserId(), loginInfo.Login);
-            if (result.Succeeded)
-            {
-                return RedirectToAction("Manage", new { Message = ManageMessageId.AddLoginSuccess });
-            }
-            return RedirectToAction("Manage", new { Message = ManageMessageId.Error });
+            return View(model);
         }
 
@@ -1695,271 +1339,4 @@
 
             base.Dispose(disposing);
-        }
-
-        // POST: /Account/AddTopic
-        [HttpPost]
-        [ValidateAntiForgeryToken]
-        [Authorize]
-        public ActionResult AddTopic(TopicSuggestionCreateModel model)
-        {
-            var currentUserId = User.Identity.GetUserId();
-            var mentor = db.Users.OfType<Mentor>().FirstOrDefault(m => m.Id == currentUserId);
-            if (mentor == null) return new HttpUnauthorizedResult();
-
-            if (!ModelState.IsValid)
-            {
-                var errors = ModelState.Values.SelectMany(v => v.Errors).Select(e => e.ErrorMessage).ToArray();
-                return Json(new { success = false, errors });
-            }
-
-            var topic = new TopicSuggestion
-            {
-                MentorId = currentUserId,
-                Title = model.Title,
-                Description = model.Description,
-                CreatedAt = DateTime.UtcNow
-            };
-
-            db.TopicSuggestions.Add(topic);
-            db.SaveChanges();
-
-            return Json(new
-            {
-                success = true,
-                topic = new { topic.Id, topic.Title, topic.Description, topic.IsAssigned, topic.AssignedStudentId }
-            });
-        }
-
-        // POST: /Account/EditTopic
-        [HttpPost]
-        [ValidateAntiForgeryToken]
-        [Authorize]
-        public ActionResult EditTopic(int id, TopicSuggestionCreateModel model)
-        {
-            var currentUserId = User.Identity.GetUserId();
-            var topic = db.TopicSuggestions.Find(id);
-            if (topic == null) return HttpNotFound();
-            if (topic.MentorId != currentUserId) return new HttpUnauthorizedResult();
-
-            if (!ModelState.IsValid)
-            {
-                var errors = ModelState.Values.SelectMany(v => v.Errors).Select(e => e.ErrorMessage).ToArray();
-                return Json(new { success = false, errors });
-            }
-
-            topic.Title = model.Title;
-            topic.Description = model.Description;
-            db.SaveChanges();
-
-            return Json(new { success = true });
-        }
-
-        // POST: /Account/DeleteTopic
-        [HttpPost]
-        [ValidateAntiForgeryToken]
-        [Authorize]
-        public ActionResult DeleteTopic(int id)
-        {
-            var currentUserId = User.Identity.GetUserId();
-            var topic = db.TopicSuggestions.Find(id);
-            if (topic == null) return HttpNotFound();
-            if (topic.MentorId != currentUserId) return new HttpUnauthorizedResult();
-
-            if (topic.IsAssigned)
-            {
-                // optional: prevent deletion of assigned topics
-                return Json(new { success = false, message = "Cannot delete an assigned topic." });
-            }
-
-            db.TopicSuggestions.Remove(topic);
-            db.SaveChanges();
-
-            return Json(new { success = true });
-        }
-
-        // POST: /Account/AssignTopic
-        [HttpPost]
-        [ValidateAntiForgeryToken]
-        [Authorize]
-        public async Task<ActionResult> AssignTopic(int topicId, string studentId)
-        {
-            var currentUserId = User.Identity.GetUserId();
-            var topic = db.TopicSuggestions.Include(t => t.Mentor).FirstOrDefault(t => t.Id == topicId);
-            if (topic == null) return HttpNotFound();
-            if (topic.MentorId != currentUserId) return new HttpUnauthorizedResult();
-            if (topic.IsAssigned) return Json(new { success = false, message = "Topic already assigned." });
-
-            var student = db.Users.OfType<Student>().FirstOrDefault(s => s.Id == studentId);
-            if (student == null) return Json(new { success = false, message = "Student not found." });
-
-            topic.IsAssigned = true;
-            topic.AssignedStudentId = studentId;
-            topic.AssignedAt = DateTime.UtcNow;
-            db.SaveChanges();
-
-            // create an on-site message to student so it shows in their notifications/inbox
-            var msg = new Message
-            {
-                FromUserId = currentUserId,
-                ToUserId = studentId,
-                Subject = $"Ви е доделенa тема: {topic.Title}",
-                Body = $"Ви е доделена тема од менторот {topic.Mentor.Name} {topic.Mentor.Surname}: {topic.Title}\n\n{topic.Description}",
-                Timestamp = DateTime.UtcNow,
-                IsRead = false
-            };
-            db.Messages.Add(msg);
-            db.SaveChanges();
-
-            // Email the student (best-effort)
-            try
-            {
-                if (!string.IsNullOrWhiteSpace(student.Email))
-                {
-                    var subject = $"Доделена ви е тема: {topic.Title}";
-                    var body = $@"
-                <p>Почитуван/а {HttpUtility.HtmlEncode(student.Name)} {HttpUtility.HtmlEncode(student.Surname)},</p>
-                <p>Менторот <strong>{HttpUtility.HtmlEncode(topic.Mentor.Name)} {HttpUtility.HtmlEncode(topic.Mentor.Surname)}</strong> ви додели тема:</p>
-                <h4>{HttpUtility.HtmlEncode(topic.Title)}</h4>
-                <p>{HttpUtility.HtmlEncode(topic.Description)}</p>
-                <hr/><p>Ова е автоматска порака.</p>";
-                    await _emailService.SendEmailAsync(student.Email, subject, body);
-                }
-            }
-            catch (Exception ex)
-            {
-                System.Diagnostics.Debug.WriteLine("Email send failed (AssignTopic): " + ex);
-            }
-
-            return Json(new { success = true });
-        }
-
-        // POST: /Account/UnassignTopic
-        [HttpPost]
-        [ValidateAntiForgeryToken]
-        [Authorize]
-        public async Task<ActionResult> UnassignTopic(int topicId)
-        {
-            var currentUserId = User.Identity.GetUserId();
-            var topic = db.TopicSuggestions.Include(t => t.Mentor).Include(t => t.AssignedStudent).FirstOrDefault(t => t.Id == topicId);
-            if (topic == null) return HttpNotFound();
-            if (topic.MentorId != currentUserId) return new HttpUnauthorizedResult();
-            if (!topic.IsAssigned) return Json(new { success = false, message = "Topic not assigned." });
-
-            var student = topic.AssignedStudent;
-            topic.IsAssigned = false;
-            topic.AssignedStudentId = null;
-            topic.AssignedAt = null;
-            db.SaveChanges();
-
-            // notify student with message
-            if (student != null)
-            {
-                var msg = new Message
-                {
-                    FromUserId = currentUserId,
-                    ToUserId = student.Id,
-                    Subject = $"Тема {topic.Title} е оневозможена",
-                    Body = $"Менторот {topic.Mentor.Name} {topic.Mentor.Surname} ја оневозможи или одзеде темата {topic.Title}.",
-                    Timestamp = DateTime.UtcNow,
-                    IsRead = false
-                };
-                db.Messages.Add(msg);
-                db.SaveChanges();
-
-                try
-                {
-                    if (!string.IsNullOrWhiteSpace(student.Email))
-                    {
-                        var subject = $"Тема {topic.Title} е одземена/оневозможена";
-                        var body = $@"
-                    <p>Почитуван/а {HttpUtility.HtmlEncode(student.Name)} {HttpUtility.HtmlEncode(student.Surname)},</p>
-                    <p>Менторот <strong>{HttpUtility.HtmlEncode(topic.Mentor.Name)} {HttpUtility.HtmlEncode(topic.Mentor.Surname)}</strong> ја одзеде темата <strong>{HttpUtility.HtmlEncode(topic.Title)}</strong>.</p>
-                    <hr/><p>Ова е автоматска порака.</p>";
-                        await _emailService.SendEmailAsync(student.Email, subject, body);
-                    }
-                }
-                catch (Exception ex)
-                {
-                    System.Diagnostics.Debug.WriteLine("Email send failed (UnassignTopic): " + ex);
-                }
-            }
-
-            return Json(new { success = true });
-        }
-
-        // GET: /Account/GetMentorTopics (returns JSON list of available topics for a mentor)
-        [Authorize]
-        public JsonResult GetMentorTopics(string mentorId)
-        {
-            var topics = db.TopicSuggestions
-                           .Where(t => t.MentorId == mentorId && !t.IsAssigned)
-                           .OrderByDescending(t => t.CreatedAt)
-                           .Select(t => new { t.Id, t.Title, t.Description })
-                           .ToList();
-
-            return Json(new { success = true, topics }, JsonRequestBehavior.AllowGet);
-        }
-
-        [Authorize]
-        public JsonResult GetTopicCandidates(int topicId)
-        {
-            var topic = db.TopicSuggestions.Find(topicId);
-            if (topic == null) return Json(new { success = false, message = "Topic not found" }, JsonRequestBehavior.AllowGet);
-
-            // candidates: students who contacted this mentor and optionally selected this topic, fallback to all students who contacted
-            var candidates = db.MentorContacts
-                .Where(c => c.MentorId == topic.MentorId)
-                .Include(c => c.Student)
-                .GroupBy(c => c.StudentId)
-                .Select(g => new
-                {
-                    id = g.Key,
-                    name = g.Select(x => x.Student.Name + " " + x.Student.Surname).FirstOrDefault()
-                })
-                .Where(x => x.id != null)
-                .ToList();
-
-            // ensure distinct and non-null
-            candidates = candidates.GroupBy(x => x.id).Select(g => g.First()).ToList();
-
-            return Json(new { success = true, candidates }, JsonRequestBehavior.AllowGet);
-        }
-
-
-        // debugger
-        private readonly EmailService _emailService = new EmailService();
-
-        [HttpGet]
-        [Authorize]
-        public async Task<ActionResult> SendTestEmail()
-        {
-            try
-            {
-                var userId = User.Identity.GetUserId();
-                string to = null;
-                if (!string.IsNullOrEmpty(userId))
-                {
-                    var user = db.Users.Find(userId);
-                    to = user?.Email;
-                }
-                if (string.IsNullOrEmpty(to))
-                    to = User.Identity.Name;
-
-                if (string.IsNullOrEmpty(to))
-                    return Content("No recipient email available for current user. Ensure user.Email or User.Identity.Name is set.");
-
-                await _emailService.SendEmailAsync(
-                    to,
-                    "Test email from Најди Ментор",
-                    "<p>This is a test message from your application. If you received this, SMTP is working.</p>",
-                    "This is a test message from your application. If you received this, SMTP is working."
-                );
-
-                return Content("Test email sent successfully to " + to);
-            }
-            catch (Exception ex)
-            {
-                return Content("Email failed: " + ex.GetBaseException().Message);
-            }
         }
 
@@ -1970,5 +1347,8 @@
         private IAuthenticationManager AuthenticationManager
         {
-            get { return HttpContext.GetOwinContext().Authentication; }
+            get
+            {
+                return HttpContext.GetOwinContext().Authentication;
+            }
         }
 
@@ -1976,5 +1356,7 @@
         {
             foreach (var error in result.Errors)
+            {
                 ModelState.AddModelError("", error);
+            }
         }
 
@@ -1982,5 +1364,7 @@
         {
             if (Url.IsLocalUrl(returnUrl))
+            {
                 return Redirect(returnUrl);
+            }
             return RedirectToAction("Index", "Home");
         }
@@ -1988,31 +1372,28 @@
         internal class ChallengeResult : HttpUnauthorizedResult
         {
+            public ChallengeResult(string provider, string redirectUri)
+                : this(provider, redirectUri, null)
+            {
+            }
+
+            public ChallengeResult(string provider, string redirectUri, string userId)
+            {
+                LoginProvider = provider;
+                RedirectUri = redirectUri;
+                UserId = userId;
+            }
+
             public string LoginProvider { get; set; }
             public string RedirectUri { get; set; }
             public string UserId { get; set; }
 
-            public ChallengeResult(string provider, string redirectUri)
-                : this(provider, redirectUri, null) { }
-
-            public ChallengeResult(string provider, string redirectUri, string userId)
-            {
-                LoginProvider = provider;
-                RedirectUri = redirectUri;
-                UserId = userId;
-            }
-
             public override void ExecuteResult(ControllerContext context)
             {
-                // Build authentication properties for the challenge
                 var properties = new AuthenticationProperties { RedirectUri = RedirectUri };
                 if (UserId != null)
+                {
                     properties.Dictionary[XsrfKey] = UserId;
-
-                // Issue the OWIN challenge; do NOT perform a manual redirect
+                }
                 context.HttpContext.GetOwinContext().Authentication.Challenge(properties, LoginProvider);
-
-                // Ensure the response status is 401 so OWIN will convert it to a 302 AND write the correlation cookie
-                // (HttpUnauthorizedResult sets this, so call base.ExecuteResult)
-                base.ExecuteResult(context);
             }
         }
Index: WebApplication1/Controllers/ManageController.cs
===================================================================
--- WebApplication1/Controllers/ManageController.cs	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ WebApplication1/Controllers/ManageController.cs	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -380,8 +380,7 @@
             SetTwoFactorSuccess,
             SetPasswordSuccess,
-            AddLoginSuccess,
             RemoveLoginSuccess,
             RemovePhoneSuccess,
-            Error,
+            Error
         }
 
Index: bApplication1/Migrations/202602172104178_AddTopicSuggestions.Designer.cs
===================================================================
--- WebApplication1/Migrations/202602172104178_AddTopicSuggestions.Designer.cs	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ 	(revision )
@@ -1,29 +1,0 @@
-﻿// <auto-generated />
-namespace WebApplication1.Migrations
-{
-    using System.CodeDom.Compiler;
-    using System.Data.Entity.Migrations;
-    using System.Data.Entity.Migrations.Infrastructure;
-    using System.Resources;
-    
-    [GeneratedCode("EntityFramework.Migrations", "6.5.1")]
-    public sealed partial class AddTopicSuggestions : IMigrationMetadata
-    {
-        private readonly ResourceManager Resources = new ResourceManager(typeof(AddTopicSuggestions));
-        
-        string IMigrationMetadata.Id
-        {
-            get { return "202602172104178_AddTopicSuggestions"; }
-        }
-        
-        string IMigrationMetadata.Source
-        {
-            get { return Resources.GetString("Source"); }
-        }
-        
-        string IMigrationMetadata.Target
-        {
-            get { return Resources.GetString("Target"); }
-        }
-    }
-}
Index: bApplication1/Migrations/202602172104178_AddTopicSuggestions.cs
===================================================================
--- WebApplication1/Migrations/202602172104178_AddTopicSuggestions.cs	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ 	(revision )
@@ -1,46 +1,0 @@
-﻿namespace WebApplication1.Migrations
-{
-    using System;
-    using System.Data.Entity.Migrations;
-    
-    public partial class AddTopicSuggestions : DbMigration
-    {
-        public override void Up()
-        {
-            CreateTable(
-                "dbo.TopicSuggestions",
-                c => new
-                    {
-                        Id = c.Int(nullable: false, identity: true),
-                        MentorId = c.String(nullable: false, maxLength: 128),
-                        Title = c.String(nullable: false, maxLength: 200),
-                        Description = c.String(maxLength: 2000),
-                        IsAssigned = c.Boolean(nullable: false),
-                        AssignedStudentId = c.String(maxLength: 128),
-                        CreatedAt = c.DateTime(nullable: false),
-                        AssignedAt = c.DateTime(),
-                    })
-                .PrimaryKey(t => t.Id)
-                .ForeignKey("dbo.AspNetUsers", t => t.AssignedStudentId)
-                .ForeignKey("dbo.AspNetUsers", t => t.MentorId)
-                .Index(t => t.MentorId)
-                .Index(t => t.AssignedStudentId);
-            
-            AddColumn("dbo.MentorContacts", "TopicSuggestionId", c => c.Int());
-            CreateIndex("dbo.MentorContacts", "TopicSuggestionId");
-            AddForeignKey("dbo.MentorContacts", "TopicSuggestionId", "dbo.TopicSuggestions", "Id");
-        }
-        
-        public override void Down()
-        {
-            DropForeignKey("dbo.MentorContacts", "TopicSuggestionId", "dbo.TopicSuggestions");
-            DropForeignKey("dbo.TopicSuggestions", "MentorId", "dbo.AspNetUsers");
-            DropForeignKey("dbo.TopicSuggestions", "AssignedStudentId", "dbo.AspNetUsers");
-            DropIndex("dbo.TopicSuggestions", new[] { "AssignedStudentId" });
-            DropIndex("dbo.TopicSuggestions", new[] { "MentorId" });
-            DropIndex("dbo.MentorContacts", new[] { "TopicSuggestionId" });
-            DropColumn("dbo.MentorContacts", "TopicSuggestionId");
-            DropTable("dbo.TopicSuggestions");
-        }
-    }
-}
Index: bApplication1/Migrations/202602172104178_AddTopicSuggestions.resx
===================================================================
--- WebApplication1/Migrations/202602172104178_AddTopicSuggestions.resx	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ 	(revision )
@@ -1,129 +1,0 @@
-﻿<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <data name="Source" xml:space="preserve">
-    <value>H4sIAAAAAAAEAO1d227kuBF9D5B/EPppE8y6bU9msRnYG3h8SYyMxwP3zCZ5Gsgt2lZWLfVK6lk7wX5ZHvJJ+YVQEkXxUrypKXW3YfjFLZLFYvHwVlVk/e8//z360+MiCb6ivIiz9HhysLc/CVA6z6I4vT+erMq7b7+f/OmH3/7m6DxaPAY/tvleV/lwybQ4njyU5fLtdFrMH9AiLPYW8TzPiuyu3Jtni2kYZdPD/f0/Tg8OpgiTmGBaQXB0s0rLeIHqH/jnaZbO0bJchclVFqGkIN9xyqymGnwIF6hYhnN0PPkbuj1ZLpN4HpaYlYO9psQkOEniEHMzQ8ndJAjTNCvrDG8/F2hW5ll6P1viD2Hy6WmJcL67MCkQacPbLrttc/YPq+ZMu4ItqfmqKLOFI8GD10Q+U7F4LylPqPywBM+xpMunqtW1FI8nVygtsxyLvAzn5SQQa3x7muRVbpWk97jyrwIh1ysKEoyl6u9VcLpKylWOjlO0KvMweRV8XN3i/H9FT5+yn1B6nK6ShGUZM43TuA/408c8W6K8fLpBd6Qhl9EkmPLlpmJBWowp07TuMi1fH06CD7jy8DZBFBGMJGa4nejPKEV5WKLoY1iWKE8rGqiWqVS7UNesXFU5uyoxDvGwmgRX4eN7lN6XD3jAHX4/CS7iRxS1Xwgbn9MYj0JcqMxXyFRT0yUjVFSR11SC//VRCQoXs/hfSOgpg7BXt/9E87L6MTiDV6gowntdPQf7+/seKpphIK4KWg+e2vbIuGtTJPgaRIsn3aIMF8uW5hlGdvXRTOlD+DW+r8cFCL5JcIOSOrl4iJeEWW6q+NJmvMizxU2WiFMRSf8yy1b5vBJupsn0KczvUWnPJBmLFlzSnCo2SQYDn20uiNGjaTcpW0zVvedob5Nz8C4sEANChiZeXvOJGXNJVhbDTxzV0n59h79WU8Hg1Z18DeN6yLQ1vcswEMLUeVReLvBs8vnmvWeOrWHWLmhVX54mYbzQIe6K7jxOiuUHVO61pfcauhc5pvlLlv+0J5F9FVgX7pB6aIvU1we3d6+/f/NdGL3+7g/o9ZvnuKWoROllmXdEaN19oyz+dU0/hsnKd1W9RsP77D5O/Y+Gmuz2j4aaTfz5axzhSV7oOLBEmxmTt8rf4tl1zAmcjT0cuGaOXfk4c4D1cKGrrfMmhZR8OUKq6xplyj1b5UTXoG9Wr1Ob61YoQuHgDf4HCnNHNtUHi+bcCR4sCMC/0DzdkUJIkg4TYrrreafqjSu0uMUDScsal09mj0lWssjmWeu0Q8XkPJOQki8zibquURQj3pYmW5jXp08I38IJtR1HHMhVeSiKW6QrM7ZDohfcxUO0O+wFCrsL//E2T4Zh8MZOa+dY6WyVp5uo912c3efh8kG7SfWjqTxfhHGiqebwzXe+ajnN0rs4X6BoXbXLx7Ao8Okq+ktYPAw+Nc7QfJXjCWDGal8Hq+3jQ5aiD6tqUR6zLm9d8+mX7CKc4xXvPK1KrU3vfTb/KVuV52lUKbw/l3NZ/21JwAs7J/M5KooLDGYUnWartFxv01xN/oaJzXb89d4H13obeK8pLp9tVvVK3OSQdpyKbK5741p5YMdqm1XNapPDyCrJ5soq2WPbMdtlVrPb5jEyTDO6slyRs+OX5FQzW2cwctrkcjYI0Q2h792jiV9pm2l9psuW8RxmuE760mwjOxa7r9KWlklaaxPLajUryv51pRXV7VeVwopMMGvVoD7b5U3p/lt+t0TfWCO3x2GpLre7R6QXDYFnDYFxyhTncWA27afmah0M3NVcTcntMOtfphF6HN7VJvxnNvwR5vRp3lnx7dyNUOVIg0Q1ck8vD+JO1MPNoy75Mqup66qG9qZWzk/ZpmqmqnT1gdCL2uddFumUS4e2yqXx3NhEKBY3KHQ/zyuXmxZuCkezerh+6TKxPmZ8GuBeJmRwPz4YGWuzyGw1KUqmSPJa6+L1Mk5rK6TzNEhKvkyDmgnBoy+y4xDz6Jzs6rWUpSVKDbPgMBp/2XGXgHQ3HHcJs4DLLp8iTQhCsk833ZY04KArJCm58uKU2w45/+qO3VB1PBNT3+Aa8WpFhLV1bH9/Idk6MMupEp6BLG6QXi0YQAtXCi6LiyS8765IOS/HHD1/h9XP+MCZJ0+4H9lFk++Mxg+lVZ6jNKp7vXYnPZ7sS33HZa+MMsuyMu6Q/Af6/Deo2mIz+YHzXyNnjeyFVWFt2XP0dkj2y2WefR1a9idFkc3jWhSwD0ZrmuJrPk+jwM5OpValBFdYznH1DY/HqnniPHudnqEElSg4mTfXBk/DYh5G8nyDWxY58keV/x1/gMs/z+HvpYrxCoDyqlRYmeALjJY4LeXlIk7n8TJMrCQmlLZcbioh0HrElDO0xNDDbFqJxIYBpWp/SusSesgkqaMpg0Q3gBKDpC0AROvktgFUMIsqAEq88EcBKC+xDQCUF8nOAZQaoW0hIFukrUG6v7cnrxMWNQFwo17sWpCtIZfG2G3LqmD53rZhy5vcFaO2OR+NMmg5cW1gzHLy2LkhS70bbLtfdnUYasjKLrldTVTHPQrExDZvAGWiMLYeaIyJVdXhkL2162Ji6zd1MEgOQEwfbPYCj8zGCHCRRbn1ABEvyKi6VXlbxnUB11K1n2NkpPRoNHv1xsQieA/H2HjDZKu7wMPKoNW3+toaga9CqJjUPxHRcSm8amOPAu3zElIFw80ZOj5GmD10crapvrPybGQmgd/wsOtzyWrgHVWi3cE8uobClcDJ6MASZG1TP2O63BC0BKu9us9VJnwWUMTXxwVKCsO/y7HQE5RgTkZBESxbm6pZF6CNIoi4V5g6WvS18IIewUNjY9jh+RgRObxUbSru3Lc2ghrBBq/qYJVBXvI8cEGNwoxv3A551T/1whnM+Qg4g/thB7ZOol+FCROa7dIaSHPfIm0P1sbfVCn6Yhe2U4DzgwobOk8IWecM6ZsH0odr/C/GV4arpTQCENWSsKkcvgo1CBAbT5j6GBKnrN9Bu/c5u63dBR+hixm4YcTxoiBuQSIyKuIzVEKn0WISdG448LlSmh15cpKxHiIJWPQdyLYXXbVkiR3WQLa7hioRo3oqA4nuvqVEgmrkDCSIW5VUXtrtOgiJXFjVyqgZ6Aai7U1OiRJReBuKky0tDCxyQjCQIAsIRIIu4gYSJmmAkmBGZ0dJdUGcyay/Si5OH9YeO7RNFDDSVGTtXcPQggasuLzwkughpXbImqUEOY1oWya4jawlJcHFQyGltjHepdTNRmY5wb4L2tZJ3gtryUryUGCodQ3xLiMyks0CApwYtO3h3RjWEg3vcqBAEWmIdwF165FZRrA1Xds2yZ6+lqQkmzlDrWvI2jJi78/KUlGZfjnOAeMvw2u7SGqaDph7TaLr0VLpGT+5uVpDJseyypRpMdK1dIbtbPC5QLUYlKZNsAmQcbOvOCBb5gCQgB+2lwViNnVqrEaCRo9phni+0AhGa94cXDJUdWMSDah8crDZ+RCOqIIaRDriDVBIMDp7k53FiRNHe1jQCkJhYxpQBu1lU7UEIHuJjcWkb+sFG8kAbRfv1clt12n9bfT+DNPdGU/TdoWmf8C2a+YErSraShndt/kjjH3o1pcsApN61FZByjQA3BXb6jM97bTbq2hUAUfTjqZNjC/y4WiqCAZ2dBUucWfdM8HByJdg1kQGO/125h4ua9HQmM45OYvqQloTHiN4phBSqyt0EbqI86I8C8vwNqyubp1GCykbqG5UaFnaKkGNotyVrRKmLVb93xS1CeMFaGsJoQvc3kWl760voKuWWbl8UMVuC5MwB26CnmbJapGq9c/q0ozxgiWisWmoaXVmN5aU2hinptS80s5Sab44UKCPp3NU6FcHCbFxsDgZsQkuUiIKRV5IoJZR33PNDUe+25pvDnLqrsFzguo+y7SOpgKUJWODNHokSxA/Jq1GrGru7jlQe4xQ7XNOOimvN0aZeE9SHzWf3UYWG9FJHGNsmj1VJnATS5D5bE+ri93ESYx+BSnhWTOKa5soub7a7gdZGmdxMc/jRZyGdZJ/YBvgeFlU/1/ffWP3+vjvdgeh8uToOivSF735GZZ8tKfDvNDNUmI+29MiT3CzdMgnRxrMK84SMSbNnir/0DZLk09xkD//mjbXC3ySA5fsm9kck2xCL3oKicI5HGZH6ZVsbn6UUu0pA+9ls6SB5B60AZ7FNIc5XX5Sm5vb5WR72tXcJM8Z3dfRp2b9+5C7MxGTNyQ5As0nhw1q80Iktz1tPtnTIO8/sjTIJ5cpqX0Rkp+N2q92GwGqHNmmnYDdBmArYScJWPL/GFXQPc8SgD+Bh/6TPYbce9CCxjBTR+uaLc7IblSYuJbc4O8+O9IikSslYuT7ViJK6R6yFqIaZ7H1EKWgod5ZcFEh+Y2FNpSlmuZHNtQjt3nThbpU03PD7YbQoXGEccZEez53R4Ky5EB6i7W1eF0gRW5RoV83oQ9sAiryUqm+2FNooiWyFJovW4NWjceN+xYaduCwQKuy5LbqMHZiJpJtTp6XqdpLdb1VCiYx7Mal9Zxnqai86TfWecSDy0OPNX7R7t2kKPcyJNfoVepS4cW20RiS+pgfFSWH6Vv2DjFLRXe3WE2tu1nKLe/K+6ZqStQnETD1OSmi64f8OR10/WVY05yyr8ir/Fx/kW9bMw6of4mHcdDeuXAfB8qSw4yD7TTA04feuXN3+/HFSK3EsPct1ZrbKbet1FjL9dCdw3tN8T2kvs/iqp9lilqetCsPMdHMYrj/IsvOqudEsvClUIadNThV3k/tjTEtZ50G+rKo3pKnb3u7tV/0rXMGknSLwVZz05XoDxvFbYWefdBS8YASxXWMrQKHurneQMHd67AGBlfK0baj6QvgPkjP/mgpegQKcMFkq8CibrIZLJKTrpiFLoTkC/1NnXSJgyznuVsLpPLDrQVREGdd0WO2yTIJWr06xv1TUaLFXpVhb/ZzcprE9XauzXAVpvEd3lE1cQomh/sHh5PgJInDonGlJr7Ab8Xb/FbOwQevK+dgFC2mYnF3F+OKSlFEXFwpKAqg0p92jLgscdpO8LogU85hkISoU+nXMJ8/VNpj6Y2F2vB/PPl3XfRtcPn3L7T0q+A6xx3+NtgPfpUjx3Q8WQWUpMeLHhy1hX0y1BgZeGa+WYSPv3MmRK0DTI+6keB8hD2wRP2ERVmzIqtDcDnyyYXXEhraL55WhBFfmuNpWUeJ0i5/YwxoWNg8Pp3jKIFE3+z3iE9JXCX9kmX8Jj0jjnhSaqjW8aR6EGU8/xrqt7E7nHk/Sg8jV/Ci9ECR86L0S8+LCGV3yf60AP9I9Sxj01jRL7I/a4AjZP9ZtHOBdF1M25L151d4Q/s5jX9e4YRPWBrCoiqMLPv5vblt4GNpFa4aeCDJXDYAO9OGRnfLwANDXDzv9VZ9Nmb3WpS4uNx99jNClO4eJASXQM9rK3taY1i02Ip2JfnNqK51ziEuFV59O3seae1rPbb+TVHbjb9deNrOy9DHWGHcDJ3J9UIGeQ5OLbxf+8DG4KkHlNB64lmHvDCDU+DM/1TQtcIz7U3i3hpaoDZ5Z6cab+O6cx9c47SrVw1Y0WjcBj00qPEe7M8IZCvpAWyZjE+tDquzd1vYu5IDLOxwoJ1dHWPe9FSjzY+eVl5F6PH1Fl7lY/dyVtjT0IyH7dp/ta3owU1TdIxVEfBgfBmvuzBeQQfFne061s+xh9S74l5HcOcx2YOntrBXjjjvCpWm2F393Dhj6mm6q8v7GkEA9BHnTFu9pPUoAt0bd3YUjWwPteJpVIOonV6kddz0jfcdMBuqHSGfgc3QBKiq0f6MAiqZmwMiQ1es1Q8ub0F8biD2A8MTkDpGyOQxw4/orrA7nHQ2EX0bun29M2AjKmAF2EjqcwSb6nb7loPtI3ix2w/c7KIN9wvavCsQUXhEg1XZ+bxvACTApZCdmZAazZhiPhowCNeGpyPFtZstn43gi/ujzEbCOV0X7H13EaJ+zGDLgKGKFjIKFEjMLYYe+fJcYKC6PL9lIBCu4iiR4DB0t25L4jIiR9yK6C9Ujdj3ysAx/XrN0P9rzCme8ODSSWvioc/Eo75MNBIuzPFzRlkihHCdDF0h5bksGabgAHKFGw5ibRFN6AUp24GUTQeg1sdX8nXS1UGEuxTFh219PrBQPewjV6V7Q2dUREDxpl7wMDoe1O8gjYIGXQSurdaD0cDNDCf023MBkvqlpK3bk2ijmb0gaZeQtOk9iykqnCKWG6gJh7Tgz1gzb3iZajvU8qqnOwcA1zn/xAf1uRED2Il9Sh52gc5bbZRA9WmnedzjeBLdZhgDjcuGPk6rVKM0E0p1SjmgWk+K5QdUNkPIVCXgOCFVCuTRV0ucS1zqJnZ0bd0kj75u4mtgqptq06QaaQpUDzUum+hTba1Ev3tqCqCvjGetk10zs2hF12TRSw6OdylWTAwHUm3kO1QFHOUcGG/kQACMNJICjzE4/K1En67uEn2aAtFXxVhVdomhO0xdAXcDGG5V4dQFhFy1cf/Sb9hoa4E0aUrXum0xlIBUcel1jkGrcD6yEIoySMSQQuEmPkV0CP9C6eYxs1hgh5pBBCPMytwLfP6FQEaaWQKqJ0SHxAU7i8DPsfsXSLf6mGWiiUjgWyzCWsqFIlhfCIxhHmi2ymw/SEO5tZV53H39RoqGZ6ClWtt03/4YcXRD9lVNM5Vm2L4s+0JEj6aDJkSg7WZT4yCwBg9SQIBt34KggeZMklAEFdxxUQgmIFAKOjPRQALgNvlcnAN/jSZWDk2TITvIDjZYUOQDDdap+gdpsHDM4l7w99dgzdjW6qR3sMmAYhRotUl9qlGgAptMaIM5ylZVep+Xph1NmzMz+YB/Su/wHk1vVml1Va35dYaK+L4jUT0unKI5pyykeS7Tu6zVWQoctVmkS4VlGIVleJKX8R2es3Fy9excnN5P2kCc53h7EV2m16tyuSpxk/F2I+He76l0n7r6j6YSz0fXy+pX4aMJmM24ut13nb5bxUlE+b4AbpopSFRKVXJ7tOrLsrpFev9EKX3IUktCRHxUF/wJLZYJJlZcp7PwK+rDG4bfe3Qfzp+6B41URMwdwYv96CwO7/NwURAaXXn8E2M4Wjz+8H/Ec7Are/IAAA==</value>
-  </data>
-  <data name="Target" xml:space="preserve">
-    <value>H4sIAAAAAAAEAO1dW3PcupF+T1X+A2uekpSjkeT1qROXlJSOLllVLMvlsXN5clFDaMwcDjkhOY61W/ll+7A/KX8hIAmCuDRuJMiZUan0ogGBRqPRaFz6A/rf//f/Z3/4vk6Cbygv4iw9n50cHc8ClC6zKE5X57Nt+fjbH2d/+P0vf3F2Ha2/B39u872u8uGSaXE++1qWm7fzebH8itZhcbSOl3lWZI/l0TJbz8Mom58eH/9ufnIyR5jEDNMKgrOP27SM16j+gX9eZukSbcptmNxlEUoKko6/LGqqwftwjYpNuETns7+gh4vNJomXYYlZOTlqSsyCiyQOMTcLlDzOgjBNs7LO8PZzgRZlnqWrxQYnhMmnpw3C+R7DpECkDW+77LbNOT6tmjPvCrakltuizNaOBE9eE/nMxeK9pDyj8sMSvMaSLp+qVtdSPJ/dobTMcizyMlyWs0Cs8e1lkle5VZI+4sq/CoRcr6iSYF2q/l4Fl9uk3OboPEXbMg+TV8GH7QPO/yf09Cn7GaXn6TZJWJYx0/gbl4CTPuTZBuXl00f0SBpyG82COV9uLhakxZgyTetu0/L16Sx4jysPHxJENYKRxAK3E/0RpSgPSxR9CMsS5WlFA9UylWoX6lqU2ypnVyXWQzysZsFd+P0dSlflVzzgTn+cBTfxdxS1KYSNz2mMRyEuVOZbZKqp6ZIJKqrIayrB//qoBIXrRfw/SOgpg7C3D39Hy7L6MTqDd6gowpWunpPj42MPFS2wIm4LWg82bUdk3LVfJPU1iBYb3aIM15uW5hXW7CrRnVK2iZeL7WqF6eGxIo0rofT78Fu8qkcVqLqz4CNK6s/F13hDmsoZmi9txps8W3/MEtGQke9fFtk2X1Zdk2kyfQrzFSrtmSQj2YJLmlPFJslg4LPN5cqo0CsWDEslVIwLGQ0NEHNDDTmbd3OTxYzVe6ryNkcFP4UFYsYiQxOvMvKZeeglWVmMbz+rFc79I06tLOLo1V18C+PacrQ1/ZRhhQhTZ5Nyu8ZG9fPHd/45th0vBThgRF2WLRGcgyp9O0QU2dqR1GtstIuRSgEvkzBe64bJHV01XhSb96g8aksfNXRvckzzn1n+85FE9lVgXbgbXqe2w+v1ycPj6x/f/BBGr3/4L/T6zXNcDlai9LJEcxxWdfdNsnCra/pzmGx9V9VrNLzLVnHqfzTUZPd/NNRs4uRvcYRnJqHjwBJtZkzeKn+rz65jTuBs6uHANXPqyqexAdbDhS4RnFdWpOTL9l9d1yQm92qbk3MifbN67bhd128RCkdv8N9QmDuyqd7WNWcG4KKPKPgXmqdb7QmfpJ2Q+N15E4d74w6tH/BA0rLG5ZPZYz4rWWTzDNqiUTE5WxJS8sWSqOua5FDL29Rkq+b1lhnSb2Fb3Y4jTslVeaQ9lzLjoF2XuPN3V3uBwuGq/3SLJ8MweGN34upY6WKbp7uo96c4W+Xh5qt2kernlPl6HcaJpprTNz/4quUySx/jfI2ioWdFH8KiwLur6L/D4uvopnGBltscG4AFe3I+Wm0fvmYper+tJuUp6/LWNZ/+md2ESzzjXadVqcH03mXLn7NteZ1GlbPic7mUfReWBLywc7FcoqK4wcqMostsm5bDFs2V8TcYNtvx13sdXJ/bwGtNcfpss6pn4iaHtOJUZHNdG9eHB3astlnVrDY5jKySbK6skjW2HbNdZjW7bR4jwzSjK8sVOTt+SU41s3UGI6dNLmd3HF0Q+l49mviVlplOjgaNe+FLs4wUXAp1KuxGaD55cx1UlP2flVZU9/+oFD7IBLNWDeqzXN7V2X/L756cN9aa22OzVJc73C3SywmB5xMCo8kU7ThgTfsdc7XwDvdjrqbkfmARbtMIfR8fJhX+PRt/C3P5tOygB3ZQMVSBoJB4jNzforHwmX62raPwYuU0CuUP5uiMmysTnYE9tTyIcaz2ChXLPN6wDh64ch/HQLfFRVHEq9TDFpnQmQ4Ae5mjSqMuSvlsoCfvECnbeUtovxWoSCqjRhcJWeHJTpPfde+igWj2hkaZeNYANR1ggwSm2wM3WJd8scXquqoe3tWu5lO2q5qpm3PwTGA4/c8i3cG/tcXfGTz8tviIQveJRGmDWnVTIJrr4fqly8SCmPlvAG5ZyOB+tGNkrM0is9V8UTJFPg8yg/ebOO23NCUlX8ygxiB4XOI4DrHdrYYrkD9KDVZwHG+sfCGGKOn0F2L6rJcIs8A6if8iGQThs88LLC1pYOUpfFJypVtZOh9H+z+KPoxj6GcCwxjdW1nNiLAnhe3vLyRbp8zyV0mfgSxuKr1dMwotXNW7LW6ScNVdPXaejjl6/g4SP6cRypMn3I/spMl3RoMRbB2bKI3qXq+h/uezY6nvuOyVw3xTVqcKJP+JPv9HVC2xmfzA2VwjZ43shVlhsOw5egck+80mz76NLfuLosiWcS0KGB/Xwgb4mq/TKLDDEKiPuYM7LOe4SsPjsWqeaGfv0yuUoBIFF8uqEB6VYbEMI9ne4JZFjvxRx2zHH3Adi+fwN1LFeAZAeVUqrOBRBdaWOC3l6SJOl/EmTKwkJpS2nG4qIdB6xC9XaINVD7NpJRIbBpRu1zmtS+ghk6TO5owmuikoAYvYKoCIHNk3BRUgKwoFJTekJlFQXmI7UFBeJAenoBQgZKsCMlrIWkmPj47kecKiJkDd6A0jrZINkEsDRLJlVUAl7duw5eFQilHb7I8mGbScuHYwZjl5HNyQpcgz2+6XYWhjDVn5ukRXEz3jnkTFxDbvQMtEYey9ojHwF1WHQ1iYrosJDsvUwSA5QGP66GYv5ZHZmEBdZFHuvYKIlxdV3aq8yeg6gWup2tsYWVN6NJq9FmliEbwjaWy8wdjqLleyMmjPW30tjUyQAu3gtsEXCAaEhT05mhILdIJZUp7tipmnqYyNuS9sOAFQOLubrWSMiK1+iA6RUZRQfLCnq6T11Ij7gVH0jmdjB+rGC9uGgc4LuRPlAt+IU/W6/sE4sc/pC5n2aqV9bM6oVP7smY6PCbRKJ+eD0ynT7Gl43s+7Vu1yntRyMrli9ZgTdz0X6t9etFMA5UOM3lVN9Yij/Rw8luopOJtcBRV9YcMH8IDqjlRSAM+pdUOFpGMVj0BuXVROgb9zOZ31pGIwJ5NoFSxbm6pZJO5ONYigHE0dLUIevWiPAJTcme7wfEyoObxU7QzQTrVGgMKpOliFi5MAgC5ao0DTWWz7REkNcAP10jOY8wn0DO6HA1jNi/BGk05oVvADNM191b4/ujb9Ol/RF4ewwgcwiCrd0AESZdcv5PYdyS2tgUFO75NWS2kCRVRLwqZy+LWIURTxumaz3pbEKQv/a9c+Vw81av87dHcdN4zgHwuCzhU1oyK+QCW0iy1mwTVFw8L7T8k68uQkzBxEEgDWOZBt3wLSkiVwKAPZ7qUeiRh1FxlIdE/SSCSoY8xAgqCbpfLSatdBSORNH62MmoFuINo+diNRIn5nm+Lco/wwIfbYwUCSrJJhXSWbDgMJMidBJOi6wEDCJGBQuMyA7yipnuViMusf8BItkjUWl7aJ6qBk3axxswwtyAaIMxYviR5Saq2AWUoQHFTbMgEQOkhKAnhTIaW2Md6l1Bk4s5xgVKK2dRIucZCsJOwhQ61riHcZkZFsFhAAT9S2hwcoDhINDyZUaBFpiHcBdVOcWUYwTk7bNgkpN0hSEhqOodY1ZLCM2FeLZKmoQF0c5wCsi+G1nXc1TQeAXCbR9WipiD8CmquFKHEsq0BKFiNdS2fczobQSBoxKEFLYBMg2FJfcUAopRFUwvjeiWJE2OKZZC23QDSJY4dbdJpGkQWGaQI5tgeVZvFBB63aVglHrr6EJRy6jiAjOHCgLCEzeETwNWjgI0wzxO2xRjZawMjoktGMPQsMhKYhmnHWWzgTjC1DZESTlLTufE3LVA59H1JTufAdBnMvQYoPskCy0/mdQSef5HnmJNTu8LWyUfiaR1Em/u0XtQQgv6mN57Rv6wVf6QhtF5+5kNuu8/7Z+P8YpruDGU3bFR6/EduuMa5al5SVU6pv8ycwotAjDLIITG4SW0cJ0wBwK2vr1/C0PW5fhqAH8fTb2bwJZU8SzuaKmPdnd+EGd9aq6EqSlGCxCZe4FZe/XbhHhV83NOZLTs6i24DWhMcIthTC1+pFiwjdxHlRXoVl+BBWLylcRmspG+h2UByNtlWCngW5K9uT07ZY9X9T1CZaPeC1IYRucHvXOGvddKSaeeXymMJiGSZhDjzMcpkl23Wq9kOpSzNOTJaIxrepptW531lSaqe8mlIla55Kk+JAgcaZ46jQVAcJseHeORmxH1ykRLwAvJBA14C+55oHR/hua9Ic5NS9SsUJqkt2oCXjDDmaZhhiZa2EYSI5NKWRKXmb+fFuZQ1U80JPI9Bj9Gtf1dZJfdj4Z2KFS/3fJLuNWjYauDh+2W/2VJmg3yxBJtmeVhf3m5MYTQUpYYscxTXugrxU0641WRpXcfV+8jpOw/qTf8U2qONtUf1///gruyBwvz4cDZUNr6vFpYHVeOtNEu3pMIHSWEpMsj0tEgmNpUOSHGkwwbQkYsw3e6p8vDOWJv/FQf58UDOuF/hPDlyyocs4JtkPvegpJArncLCOUrAyzj5KX+0pA2HLWNLA5x60AZ7Fbw42XY5sxtl2+bM97co2yTajS53cNOvDdByOISahPDgCTZLD4rcJ1MEtfZskexokDAdLgyS5mKQ2MAdvjdpUu4UAPXjZp5WA3QJgL9VOErCEMZtU0D33EgDAyEP/yahE9x60oDGO6Wivf4gW2Y1KzbJ8NMAkO9KqtQwgRtL3UqOUeLFBGtUAUodplIKGemWBs+O0b3Ekjmzhk8MqjpT5ExLW6NyHsfR2R9qhQcY560S7P3fXBGXJkc4tBp8QXm3zsPG2cpMKTd3FWSMeTqEolSrFnsLfUCgMpiZlb7RVA8FzX0LDiC4LbVWW3NczjIOwRLI/y/M0VcPWh81SMIlxFy7t7RyWiurGzs46j0A6PfRYc/fCvZsU5V6G5NBeZSE3vvpXjT6y7WkdhXH63KODsonSyLtMSrczCC7kIrcGYT84LB6YqIqcjJh0hyM6+U037ojO/OSbmjYTQ5Hbe3XJ7nyKxNj0vRmNFDzlxdPYuIzdR5+y5Dijjn01hKWie01ETa17S4L3LbtTolcGAKe+k1uojqDHeYTqlN044dtweLwFaNL2ZhxQJJmHcdBeiXQfB8qS44yD/YTa0AhrnCVuEw8BjrIjHfa+wRm4uXHb2Ey1eB67c3h8JN9D6uumrt4SpqjluVeFBRVXKobrqbLsrHpOJAs/A8GwM4BT5YsUvXVMy1nnD7otqiBuNKiWW/tFFK2zIkmXDG3PUbsS/dVGcZmwZx+0VDxoieK25F4ph7q53pSCu3ZprRhcKUdPq6YvgOuaPfujpehRUYD7n3ulLOomm5VFguOLWehESFLobwrHJ1B4DqNfC6RC3NeCKAgsX8TGN1lmQevlwnr/VJRofVRlOFr8I7lM4no512a4C9P4Ea+omgCBs9Pjk9NZcJHEYdFcmiCo/7fi+z1W1wBOXlfXAFC0novF3S8TVFSKIuICOsvxXDXI+SkCosZpa+B10Z2d4w8L4Z7Tb2G+/Fr5cqRXlWoYzvnsf+uib4Pbv36hpV8F9znu8LfBcfAvOWRrx5NNqHgxDLQTR21hnww1Lj+emV+tw++/diZEfXVMj7qR4G4DeGCJ3ggQZc2KrI597cgnF9daaGi/QNYR1vjSKpC1+cIAw5aFUkkEeO3SScY6WLR2Mp7CvMBdz48W53DKINE3x+5mqoVR+yXLYKo96z9BWWuo1mGlexBlUMEN9YfYfXDxGGsPdkRAWHugyCGs/dLzIkIZSt2fFoCdVts8m8aKmOn+rAEg6f42vYNHu07tbck6+RVeXn9O439s8YdPWBrCFC+MLPvZprmJ5GOiF64heSDJXEQCO9OGRncDyQNDBJTtYw3SQLM9UCIA7f6rK4rM7k1CgAt7nlvZvaPbGqYrOcLixYD4PdjdUevt67ERaYrabkOsuGEQyD7GCgNBdibXSzPIc7Rq4f2rj9oYULxACS1K1zrypVk5Bc78m4KuFZ5p71LvrVULPNs+WFPjbVx30OIBe2/9QYUVjQZS7KFBDbK4PyOQ56aHYstkfJ4xsR4Et4m9KznCxA7H2z3UMebt1Gwy++hp5m3e4fY88SqD7chZYRSyWR/2a/3VtqIHN03RKWZFAN38Ml4PYbzqYyceahdO6syxPOkpE0mr+POjY/eTZA5MraftfJbMIqsHHOTJUOo+qyCRis9FEIPMHujyYWHZLiep1qMVBDcf7ChlMdI9lKIr7nekZgN4agt75YhDZtlZDxu9b4DcDlZjYgdqC+y2NT7WowiERh/sKJoYS3Gg8y8FffvW991BDpz3ZDKI+hl4+E0KVTXanwtPJXM5gKF4cAM9lqKOpeIWelfsQq/RCzvviipqIfk6SthC88s+Nvoa9AlWqHuMxuFcYopomaKyQe+oHIyyEYeNQtnI1+eobKp3avZc2T6AT7T4UbfjoyM5srgUfIejSNOei4qAHidFVXb3ZXagJMCFsoMxSM05tsIejRiyd8fmSHFlb8+tEfwEzyTWSNin84Fon4uGqJ8l2jPFUAUCnEQVSIRehh5JeS5qoHoGZ8+U4INwVdHD0N27JYnLiJxwKaK/jDlh3ytjQvbrNUP/D7ApnvTBpZMG6kMfw/NBe/dyqonBNh7mdLMFGyJPnDfYb89qBtE+tAVsb8wPM+1EhaDAKL62Ny9qM1ht1E/HTKIt5viok1gZ/iIxS1f48lxUxRSzbM8VZXfz0YumGCvc9QzkEDLXz4yx1yrTZ1KYXGUsQsRNpDq6iMHjL1uEy/9sDN/nZFFUD1jKVeneipxUI6AIyi/6MLk+qN/7nEQbdDGl99pn0+K6WE5o2nNRJPWLoHu3nNXG537RpEPSpF0vd01xzhXRyUGvLeSxfcZeZMMLrPvhQlYFjBhBua75p+woPlQMyS72KXnAENp/tXHv1bue5hG781n0kGEdaOCFQpB2eYHE1yhZQqlOKQdU60WxeY/KZgiZqgRAflKlQB59tQQI6VI3wXxp6yZ59HUTXJypbur5kWqkX6B6KBDKRJ96FiX63ZOqAH0KbXCRXWNZtKJrsugl1+B3TBUTJ7dUG0mHqiCRWawos6cTcB1sDmVtbMQQU710IwKMcPIFHtskFoKJPl1VSPTpF4g+fWPeVhUMamBSAbj7+XdD9cDngMkM2ysQIq1fKNLWAt+kqUQLbWYoAV/FKZ9veA+htIbILBRlSMQxhcIZXEUsRP9C6eynWSww6HQUwQizAffCtX8hkJFmloDqif4x9YK1InDwMf8C6WY9s0w08fd8i0WYw7nAe8OFwIDXgGaroG2jNJSb05lQZsMbKYKzgJZq8Vt9+2PC0Q1hkDTNVEKV+rLsSyP6qrAGZqPSa1tkznjKLi8zwbhu/kVETlwtJAOdzT4DgYBICUAcZkTFKMIAN/0k6hj3xbMgNEPGAjLwrEQh6ZxJJAbXsB9V35loBE8uKA2dt3ck3eD2zFxYPn+NJs5KTZMhd+YBNljwxwEN1nnsRmmwcGrBBZzz12CN2dO6lg6wyYB/A2i1yQui8YMAezZovzbJzk8KJ0O/nc2bIyiSgH9KYWPO5h+3afU6QvPrCtVLxJZEFQsnRUvuzJ/muU0fs9b1IHDUZpHesSjDKCzDi7yMH7HNxp+rd8njdDUL6kdsq9fxH1B0m95vy822xE3Gq/eEe+C1cmHo6j+bSzyf3ddPOhU+moDZjKsHJe7Tn7ZxElG+b4DHDRQkKt8IebCk6suyerhk9UQpvc9SS0JEfNSl8wmtNwkmVtyni/Ab6sMbVr93aBUun7oXb1VEzB3Bi/3sKg5XebguCI2uPP6JdThaf//9fwDb6XFA+xcBAA==</value>
-  </data>
-  <data name="DefaultSchema" xml:space="preserve">
-    <value>dbo</value>
-  </data>
-</root>
Index: bApplication1/Migrations/202602182016401_FixTopicSuggestions.Designer.cs
===================================================================
--- WebApplication1/Migrations/202602182016401_FixTopicSuggestions.Designer.cs	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ 	(revision )
@@ -1,29 +1,0 @@
-﻿// <auto-generated />
-namespace WebApplication1.Migrations
-{
-    using System.CodeDom.Compiler;
-    using System.Data.Entity.Migrations;
-    using System.Data.Entity.Migrations.Infrastructure;
-    using System.Resources;
-    
-    [GeneratedCode("EntityFramework.Migrations", "6.5.1")]
-    public sealed partial class FixTopicSuggestions : IMigrationMetadata
-    {
-        private readonly ResourceManager Resources = new ResourceManager(typeof(FixTopicSuggestions));
-        
-        string IMigrationMetadata.Id
-        {
-            get { return "202602182016401_FixTopicSuggestions"; }
-        }
-        
-        string IMigrationMetadata.Source
-        {
-            get { return null; }
-        }
-        
-        string IMigrationMetadata.Target
-        {
-            get { return Resources.GetString("Target"); }
-        }
-    }
-}
Index: bApplication1/Migrations/202602182016401_FixTopicSuggestions.cs
===================================================================
--- WebApplication1/Migrations/202602182016401_FixTopicSuggestions.cs	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ 	(revision )
@@ -1,16 +1,0 @@
-﻿namespace WebApplication1.Migrations
-{
-    using System;
-    using System.Data.Entity.Migrations;
-    
-    public partial class FixTopicSuggestions : DbMigration
-    {
-        public override void Up()
-        {
-        }
-        
-        public override void Down()
-        {
-        }
-    }
-}
Index: bApplication1/Migrations/202602182016401_FixTopicSuggestions.resx
===================================================================
--- WebApplication1/Migrations/202602182016401_FixTopicSuggestions.resx	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ 	(revision )
@@ -1,126 +1,0 @@
-﻿<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <data name="Target" xml:space="preserve">
-    <value>H4sIAAAAAAAEAO1dW3PcupF+T1X+A2uekpSjkeT1qROXlJSOLllVLMvlsXN5clFDaMwcDjkhOY61W/ll+7A/KX8hIAmCuDRuJMiZUan0ogGBRqPRaFz6A/rf//f/Z3/4vk6Cbygv4iw9n50cHc8ClC6zKE5X57Nt+fjbH2d/+P0vf3F2Ha2/B39u872u8uGSaXE++1qWm7fzebH8itZhcbSOl3lWZI/l0TJbz8Mom58eH/9ufnIyR5jEDNMKgrOP27SM16j+gX9eZukSbcptmNxlEUoKko6/LGqqwftwjYpNuETns7+gh4vNJomXYYlZOTlqSsyCiyQOMTcLlDzOgjBNs7LO8PZzgRZlnqWrxQYnhMmnpw3C+R7DpECkDW+77LbNOT6tmjPvCrakltuizNaOBE9eE/nMxeK9pDyj8sMSvMaSLp+qVtdSPJ/dobTMcizyMlyWs0Cs8e1lkle5VZI+4sq/CoRcr6iSYF2q/l4Fl9uk3OboPEXbMg+TV8GH7QPO/yf09Cn7GaXn6TZJWJYx0/gbl4CTPuTZBuXl00f0SBpyG82COV9uLhakxZgyTetu0/L16Sx4jysPHxJENYKRxAK3E/0RpSgPSxR9CMsS5WlFA9UylWoX6lqU2ypnVyXWQzysZsFd+P0dSlflVzzgTn+cBTfxdxS1KYSNz2mMRyEuVOZbZKqp6ZIJKqrIayrB//qoBIXrRfw/SOgpg7C3D39Hy7L6MTqDd6gowpWunpPj42MPFS2wIm4LWg82bUdk3LVfJPU1iBYb3aIM15uW5hXW7CrRnVK2iZeL7WqF6eGxIo0rofT78Fu8qkcVqLqz4CNK6s/F13hDmsoZmi9txps8W3/MEtGQke9fFtk2X1Zdk2kyfQrzFSrtmSQj2YJLmlPFJslg4LPN5cqo0CsWDEslVIwLGQ0NEHNDDTmbd3OTxYzVe6ryNkcFP4UFYsYiQxOvMvKZeeglWVmMbz+rFc79I06tLOLo1V18C+PacrQ1/ZRhhQhTZ5Nyu8ZG9fPHd/45th0vBThgRF2WLRGcgyp9O0QU2dqR1GtstIuRSgEvkzBe64bJHV01XhSb96g8aksfNXRvckzzn1n+85FE9lVgXbgbXqe2w+v1ycPj6x/f/BBGr3/4L/T6zXNcDlai9LJEcxxWdfdNsnCra/pzmGx9V9VrNLzLVnHqfzTUZPd/NNRs4uRvcYRnJqHjwBJtZkzeKn+rz65jTuBs6uHANXPqyqexAdbDhS4RnFdWpOTL9l9d1yQm92qbk3MifbN67bhd128RCkdv8N9QmDuyqd7WNWcG4KKPKPgXmqdb7QmfpJ2Q+N15E4d74w6tH/BA0rLG5ZPZYz4rWWTzDNqiUTE5WxJS8sWSqOua5FDL29Rkq+b1lhnSb2Fb3Y4jTslVeaQ9lzLjoF2XuPN3V3uBwuGq/3SLJ8MweGN34upY6WKbp7uo96c4W+Xh5qt2kernlPl6HcaJpprTNz/4quUySx/jfI2ioWdFH8KiwLur6L/D4uvopnGBltscG4AFe3I+Wm0fvmYper+tJuUp6/LWNZ/+md2ESzzjXadVqcH03mXLn7NteZ1GlbPic7mUfReWBLywc7FcoqK4wcqMostsm5bDFs2V8TcYNtvx13sdXJ/bwGtNcfpss6pn4iaHtOJUZHNdG9eHB3astlnVrDY5jKySbK6skjW2HbNdZjW7bR4jwzSjK8sVOTt+SU41s3UGI6dNLmd3HF0Q+l49mviVlplOjgaNe+FLs4wUXAp1KuxGaD55cx1UlP2flVZU9/+oFD7IBLNWDeqzXN7V2X/L756cN9aa22OzVJc73C3SywmB5xMCo8kU7ThgTfsdc7XwDvdjrqbkfmARbtMIfR8fJhX+PRt/C3P5tOygB3ZQMVSBoJB4jNzforHwmX62raPwYuU0CuUP5uiMmysTnYE9tTyIcaz2ChXLPN6wDh64ch/HQLfFRVHEq9TDFpnQmQ4Ae5mjSqMuSvlsoCfvECnbeUtovxWoSCqjRhcJWeHJTpPfde+igWj2hkaZeNYANR1ggwSm2wM3WJd8scXquqoe3tWu5lO2q5qpm3PwTGA4/c8i3cG/tcXfGTz8tviIQveJRGmDWnVTIJrr4fqly8SCmPlvAG5ZyOB+tGNkrM0is9V8UTJFPg8yg/ebOO23NCUlX8ygxiB4XOI4DrHdrYYrkD9KDVZwHG+sfCGGKOn0F2L6rJcIs8A6if8iGQThs88LLC1pYOUpfFJypVtZOh9H+z+KPoxj6GcCwxjdW1nNiLAnhe3vLyRbp8zyV0mfgSxuKr1dMwotXNW7LW6ScNVdPXaejjl6/g4SP6cRypMn3I/spMl3RoMRbB2bKI3qXq+h/uezY6nvuOyVw3xTVqcKJP+JPv9HVC2xmfzA2VwjZ43shVlhsOw5egck+80mz76NLfuLosiWcS0KGB/Xwgb4mq/TKLDDEKiPuYM7LOe4SsPjsWqeaGfv0yuUoBIFF8uqEB6VYbEMI9ne4JZFjvxRx2zHH3Adi+fwN1LFeAZAeVUqrOBRBdaWOC3l6SJOl/EmTKwkJpS2nG4qIdB6xC9XaINVD7NpJRIbBpRu1zmtS+ghk6TO5owmuikoAYvYKoCIHNk3BRUgKwoFJTekJlFQXmI7UFBeJAenoBQgZKsCMlrIWkmPj47kecKiJkDd6A0jrZINkEsDRLJlVUAl7duw5eFQilHb7I8mGbScuHYwZjl5HNyQpcgz2+6XYWhjDVn5ukRXEz3jnkTFxDbvQMtEYey9ojHwF1WHQ1iYrosJDsvUwSA5QGP66GYv5ZHZmEBdZFHuvYKIlxdV3aq8yeg6gWup2tsYWVN6NJq9FmliEbwjaWy8wdjqLleyMmjPW30tjUyQAu3gtsEXCAaEhT05mhILdIJZUp7tipmnqYyNuS9sOAFQOLubrWSMiK1+iA6RUZRQfLCnq6T11Ij7gVH0jmdjB+rGC9uGgc4LuRPlAt+IU/W6/sE4sc/pC5n2aqV9bM6oVP7smY6PCbRKJ+eD0ynT7Gl43s+7Vu1yntRyMrli9ZgTdz0X6t9etFMA5UOM3lVN9Yij/Rw8luopOJtcBRV9YcMH8IDqjlRSAM+pdUOFpGMVj0BuXVROgb9zOZ31pGIwJ5NoFSxbm6pZJO5ONYigHE0dLUIevWiPAJTcme7wfEyoObxU7QzQTrVGgMKpOliFi5MAgC5ao0DTWWz7REkNcAP10jOY8wn0DO6HA1jNi/BGk05oVvADNM191b4/ujb9Ol/RF4ewwgcwiCrd0AESZdcv5PYdyS2tgUFO75NWS2kCRVRLwqZy+LWIURTxumaz3pbEKQv/a9c+Vw81av87dHcdN4zgHwuCzhU1oyK+QCW0iy1mwTVFw8L7T8k68uQkzBxEEgDWOZBt3wLSkiVwKAPZ7qUeiRh1FxlIdE/SSCSoY8xAgqCbpfLSatdBSORNH62MmoFuINo+diNRIn5nm+Lco/wwIfbYwUCSrJJhXSWbDgMJMidBJOi6wEDCJGBQuMyA7yipnuViMusf8BItkjUWl7aJ6qBk3axxswwtyAaIMxYviR5Saq2AWUoQHFTbMgEQOkhKAnhTIaW2Md6l1Bk4s5xgVKK2dRIucZCsJOwhQ61riHcZkZFsFhAAT9S2hwcoDhINDyZUaBFpiHcBdVOcWUYwTk7bNgkpN0hSEhqOodY1ZLCM2FeLZKmoQF0c5wCsi+G1nXc1TQeAXCbR9WipiD8CmquFKHEsq0BKFiNdS2fczobQSBoxKEFLYBMg2FJfcUAopRFUwvjeiWJE2OKZZC23QDSJY4dbdJpGkQWGaQI5tgeVZvFBB63aVglHrr6EJRy6jiAjOHCgLCEzeETwNWjgI0wzxO2xRjZawMjoktGMPQsMhKYhmnHWWzgTjC1DZESTlLTufE3LVA59H1JTufAdBnMvQYoPskCy0/mdQSef5HnmJNTu8LWyUfiaR1Em/u0XtQQgv6mN57Rv6wVf6QhtF5+5kNuu8/7Z+P8YpruDGU3bFR6/EduuMa5al5SVU6pv8ycwotAjDLIITG4SW0cJ0wBwK2vr1/C0PW5fhqAH8fTb2bwJZU8SzuaKmPdnd+EGd9aq6EqSlGCxCZe4FZe/XbhHhV83NOZLTs6i24DWhMcIthTC1+pFiwjdxHlRXoVl+BBWLylcRmspG+h2UByNtlWCngW5K9uT07ZY9X9T1CZaPeC1IYRucHvXOGvddKSaeeXymMJiGSZhDjzMcpkl23Wq9kOpSzNOTJaIxrepptW531lSaqe8mlIla55Kk+JAgcaZ46jQVAcJseHeORmxH1ykRLwAvJBA14C+55oHR/hua9Ic5NS9SsUJqkt2oCXjDDmaZhhiZa2EYSI5NKWRKXmb+fFuZQ1U80JPI9Bj9Gtf1dZJfdj4Z2KFS/3fJLuNWjYauDh+2W/2VJmg3yxBJtmeVhf3m5MYTQUpYYscxTXugrxU0641WRpXcfV+8jpOw/qTf8U2qONtUf1///gruyBwvz4cDZUNr6vFpYHVeOtNEu3pMIHSWEpMsj0tEgmNpUOSHGkwwbQkYsw3e6p8vDOWJv/FQf58UDOuF/hPDlyyocs4JtkPvegpJArncLCOUrAyzj5KX+0pA2HLWNLA5x60AZ7Fbw42XY5sxtl2+bM97co2yTajS53cNOvDdByOISahPDgCTZLD4rcJ1MEtfZskexokDAdLgyS5mKQ2MAdvjdpUu4UAPXjZp5WA3QJgL9VOErCEMZtU0D33EgDAyEP/yahE9x60oDGO6Wivf4gW2Y1KzbJ8NMAkO9KqtQwgRtL3UqOUeLFBGtUAUodplIKGemWBs+O0b3Ekjmzhk8MqjpT5ExLW6NyHsfR2R9qhQcY560S7P3fXBGXJkc4tBp8QXm3zsPG2cpMKTd3FWSMeTqEolSrFnsLfUCgMpiZlb7RVA8FzX0LDiC4LbVWW3NczjIOwRLI/y/M0VcPWh81SMIlxFy7t7RyWiurGzs46j0A6PfRYc/fCvZsU5V6G5NBeZSE3vvpXjT6y7WkdhXH63KODsonSyLtMSrczCC7kIrcGYT84LB6YqIqcjJh0hyM6+U037ojO/OSbmjYTQ5Hbe3XJ7nyKxNj0vRmNFDzlxdPYuIzdR5+y5Dijjn01hKWie01ETa17S4L3LbtTolcGAKe+k1uojqDHeYTqlN044dtweLwFaNL2ZhxQJJmHcdBeiXQfB8qS44yD/YTa0AhrnCVuEw8BjrIjHfa+wRm4uXHb2Ey1eB67c3h8JN9D6uumrt4SpqjluVeFBRVXKobrqbLsrHpOJAs/A8GwM4BT5YsUvXVMy1nnD7otqiBuNKiWW/tFFK2zIkmXDG3PUbsS/dVGcZmwZx+0VDxoieK25F4ph7q53pSCu3ZprRhcKUdPq6YvgOuaPfujpehRUYD7n3ulLOomm5VFguOLWehESFLobwrHJ1B4DqNfC6RC3NeCKAgsX8TGN1lmQevlwnr/VJRofVRlOFr8I7lM4no512a4C9P4Ea+omgCBs9Pjk9NZcJHEYdFcmiCo/7fi+z1W1wBOXlfXAFC0novF3S8TVFSKIuICOsvxXDXI+SkCosZpa+B10Z2d4w8L4Z7Tb2G+/Fr5cqRXlWoYzvnsf+uib4Pbv36hpV8F9znu8LfBcfAvOWRrx5NNqHgxDLQTR21hnww1Lj+emV+tw++/diZEfXVMj7qR4G4DeGCJ3ggQZc2KrI597cgnF9daaGi/QNYR1vjSKpC1+cIAw5aFUkkEeO3SScY6WLR2Mp7CvMBdz48W53DKINE3x+5mqoVR+yXLYKo96z9BWWuo1mGlexBlUMEN9YfYfXDxGGsPdkRAWHugyCGs/dLzIkIZSt2fFoCdVts8m8aKmOn+rAEg6f42vYNHu07tbck6+RVeXn9O439s8YdPWBrCFC+MLPvZprmJ5GOiF64heSDJXEQCO9OGRncDyQNDBJTtYw3SQLM9UCIA7f6rK4rM7k1CgAt7nlvZvaPbGqYrOcLixYD4PdjdUevt67ERaYrabkOsuGEQyD7GCgNBdibXSzPIc7Rq4f2rj9oYULxACS1K1zrypVk5Bc78m4KuFZ5p71LvrVULPNs+WFPjbVx30OIBe2/9QYUVjQZS7KFBDbK4PyOQ56aHYstkfJ4xsR4Et4m9KznCxA7H2z3UMebt1Gwy++hp5m3e4fY88SqD7chZYRSyWR/2a/3VtqIHN03RKWZFAN38Ml4PYbzqYyceahdO6syxPOkpE0mr+POjY/eTZA5MraftfJbMIqsHHOTJUOo+qyCRis9FEIPMHujyYWHZLiep1qMVBDcf7ChlMdI9lKIr7nekZgN4agt75YhDZtlZDxu9b4DcDlZjYgdqC+y2NT7WowiERh/sKJoYS3Gg8y8FffvW991BDpz3ZDKI+hl4+E0KVTXanwtPJXM5gKF4cAM9lqKOpeIWelfsQq/RCzvviipqIfk6SthC88s+Nvoa9AlWqHuMxuFcYopomaKyQe+oHIyyEYeNQtnI1+eobKp3avZc2T6AT7T4UbfjoyM5srgUfIejSNOei4qAHidFVXb3ZXagJMCFsoMxSM05tsIejRiyd8fmSHFlb8+tEfwEzyTWSNin84Fon4uGqJ8l2jPFUAUCnEQVSIRehh5JeS5qoHoGZ8+U4INwVdHD0N27JYnLiJxwKaK/jDlh3ytjQvbrNUP/D7ApnvTBpZMG6kMfw/NBe/dyqonBNh7mdLMFGyJPnDfYb89qBtE+tAVsb8wPM+1EhaDAKL62Ny9qM1ht1E/HTKIt5viok1gZ/iIxS1f48lxUxRSzbM8VZXfz0YumGCvc9QzkEDLXz4yx1yrTZ1KYXGUsQsRNpDq6iMHjL1uEy/9sDN/nZFFUD1jKVeneipxUI6AIyi/6MLk+qN/7nEQbdDGl99pn0+K6WE5o2nNRJPWLoHu3nNXG537RpEPSpF0vd01xzhXRyUGvLeSxfcZeZMMLrPvhQlYFjBhBua75p+woPlQMyS72KXnAENp/tXHv1bue5hG781n0kGEdaOCFQpB2eYHE1yhZQqlOKQdU60WxeY/KZgiZqgRAflKlQB59tQQI6VI3wXxp6yZ59HUTXJypbur5kWqkX6B6KBDKRJ96FiX63ZOqAH0KbXCRXWNZtKJrsugl1+B3TBUTJ7dUG0mHqiCRWawos6cTcB1sDmVtbMQQU710IwKMcPIFHtskFoKJPl1VSPTpF4g+fWPeVhUMamBSAbj7+XdD9cDngMkM2ysQIq1fKNLWAt+kqUQLbWYoAV/FKZ9veA+htIbILBRlSMQxhcIZXEUsRP9C6eynWSww6HQUwQizAffCtX8hkJFmloDqif4x9YK1InDwMf8C6WY9s0w08fd8i0WYw7nAe8OFwIDXgGaroG2jNJSb05lQZsMbKYKzgJZq8Vt9+2PC0Q1hkDTNVEKV+rLsSyP6qrAGZqPSa1tkznjKLi8zwbhu/kVETlwtJAOdzT4DgYBICUAcZkTFKMIAN/0k6hj3xbMgNEPGAjLwrEQh6ZxJJAbXsB9V35loBE8uKA2dt3ck3eD2zFxYPn+NJs5KTZMhd+YBNljwxwEN1nnsRmmwcGrBBZzz12CN2dO6lg6wyYB/A2i1yQui8YMAezZovzbJzk8KJ0O/nc2bIyiSgH9KYWPO5h+3afU6QvPrCtVLxJZEFQsnRUvuzJ/muU0fs9b1IHDUZpHesSjDKCzDi7yMH7HNxp+rd8njdDUL6kdsq9fxH1B0m95vy822xE3Gq/eEe+C1cmHo6j+bSzyf3ddPOhU+moDZjKsHJe7Tn7ZxElG+b4DHDRQkKt8IebCk6suyerhk9UQpvc9SS0JEfNSl8wmtNwkmVtyni/Ab6sMbVr93aBUun7oXb1VEzB3Bi/3sKg5XebguCI2uPP6JdThaf//9fwDb6XFA+xcBAA==</value>
-  </data>
-  <data name="DefaultSchema" xml:space="preserve">
-    <value>dbo</value>
-  </data>
-</root>
Index: bApplication1/Migrations/202603012257163_AddTopicSuggestionToMentorContact.Designer.cs
===================================================================
--- WebApplication1/Migrations/202603012257163_AddTopicSuggestionToMentorContact.Designer.cs	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ 	(revision )
@@ -1,29 +1,0 @@
-﻿// <auto-generated />
-namespace WebApplication1.Migrations
-{
-    using System.CodeDom.Compiler;
-    using System.Data.Entity.Migrations;
-    using System.Data.Entity.Migrations.Infrastructure;
-    using System.Resources;
-    
-    [GeneratedCode("EntityFramework.Migrations", "6.5.1")]
-    public sealed partial class AddTopicSuggestionToMentorContact : IMigrationMetadata
-    {
-        private readonly ResourceManager Resources = new ResourceManager(typeof(AddTopicSuggestionToMentorContact));
-        
-        string IMigrationMetadata.Id
-        {
-            get { return "202603012257163_AddTopicSuggestionToMentorContact"; }
-        }
-        
-        string IMigrationMetadata.Source
-        {
-            get { return null; }
-        }
-        
-        string IMigrationMetadata.Target
-        {
-            get { return Resources.GetString("Target"); }
-        }
-    }
-}
Index: bApplication1/Migrations/202603012257163_AddTopicSuggestionToMentorContact.cs
===================================================================
--- WebApplication1/Migrations/202603012257163_AddTopicSuggestionToMentorContact.cs	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ 	(revision )
@@ -1,16 +1,0 @@
-﻿namespace WebApplication1.Migrations
-{
-    using System;
-    using System.Data.Entity.Migrations;
-    
-    public partial class AddTopicSuggestionToMentorContact : DbMigration
-    {
-        public override void Up()
-        {
-        }
-        
-        public override void Down()
-        {
-        }
-    }
-}
Index: bApplication1/Migrations/202603012257163_AddTopicSuggestionToMentorContact.resx
===================================================================
--- WebApplication1/Migrations/202603012257163_AddTopicSuggestionToMentorContact.resx	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ 	(revision )
@@ -1,126 +1,0 @@
-﻿<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <data name="Target" xml:space="preserve">
-    <value>H4sIAAAAAAAEAO1dW3PcupF+T1X+A2uekpSjkeT1qROXlJSOLllVLMvlsXN5clFDaMwcDjkhOY61W/ll+7A/KX8hIAmCuDRuJMiZUan0ogGBRqPRaFz6A/rf//f/Z3/4vk6Cbygv4iw9n50cHc8ClC6zKE5X57Nt+fjbH2d/+P0vf3F2Ha2/B39u872u8uGSaXE++1qWm7fzebH8itZhcbSOl3lWZI/l0TJbz8Mom58eH/9ufnIyR5jEDNMKgrOP27SM16j+gX9eZukSbcptmNxlEUoKko6/LGqqwftwjYpNuETns7+gh4vNJomXYYlZOTlqSsyCiyQOMTcLlDzOgjBNs7LO8PZzgRZlnqWrxQYnhMmnpw3C+R7DpECkDW+77LbNOT6tmjPvCrakltuizNaOBE9eE/nMxeK9pDyj8sMSvMaSLp+qVtdSPJ/dobTMcizyMlyWs0Cs8e1lkle5VZI+4sq/CoRcr6iSYF2q/l4Fl9uk3OboPEXbMg+TV8GH7QPO/yf09Cn7GaXn6TZJWJYx0/gbl4CTPuTZBuXl00f0SBpyG82COV9uLhakxZgyTetu0/L16Sx4jysPHxJENYKRxAK3E/0RpSgPSxR9CMsS5WlFA9UylWoX6lqU2ypnVyXWQzysZsFd+P0dSlflVzzgTn+cBTfxdxS1KYSNz2mMRyEuVOZbZKqp6ZIJKqrIayrB//qoBIXrRfw/SOgpg7C3D39Hy7L6MTqDd6gowpWunpPj42MPFS2wIm4LWg82bUdk3LVfJPU1iBYb3aIM15uW5hXW7CrRnVK2iZeL7WqF6eGxIo0rofT78Fu8qkcVqLqz4CNK6s/F13hDmsoZmi9txps8W3/MEtGQke9fFtk2X1Zdk2kyfQrzFSrtmSQj2YJLmlPFJslg4LPN5cqo0CsWDEslVIwLGQ0NEHNDDTmbd3OTxYzVe6ryNkcFP4UFYsYiQxOvMvKZeeglWVmMbz+rFc79I06tLOLo1V18C+PacrQ1/ZRhhQhTZ5Nyu8ZG9fPHd/45th0vBThgRF2WLRGcgyp9O0QU2dqR1GtstIuRSgEvkzBe64bJHV01XhSb96g8aksfNXRvckzzn1n+85FE9lVgXbgbXqe2w+v1ycPj6x/f/BBGr3/4L/T6zXNcDlai9LJEcxxWdfdNsnCra/pzmGx9V9VrNLzLVnHqfzTUZPd/NNRs4uRvcYRnJqHjwBJtZkzeKn+rz65jTuBs6uHANXPqyqexAdbDhS4RnFdWpOTL9l9d1yQm92qbk3MifbN67bhd128RCkdv8N9QmDuyqd7WNWcG4KKPKPgXmqdb7QmfpJ2Q+N15E4d74w6tH/BA0rLG5ZPZYz4rWWTzDNqiUTE5WxJS8sWSqOua5FDL29Rkq+b1lhnSb2Fb3Y4jTslVeaQ9lzLjoF2XuPN3V3uBwuGq/3SLJ8MweGN34upY6WKbp7uo96c4W+Xh5qt2kernlPl6HcaJpprTNz/4quUySx/jfI2ioWdFH8KiwLur6L/D4uvopnGBltscG4AFe3I+Wm0fvmYper+tJuUp6/LWNZ/+md2ESzzjXadVqcH03mXLn7NteZ1GlbPic7mUfReWBLywc7FcoqK4wcqMostsm5bDFs2V8TcYNtvx13sdXJ/bwGtNcfpss6pn4iaHtOJUZHNdG9eHB3astlnVrDY5jKySbK6skjW2HbNdZjW7bR4jwzSjK8sVOTt+SU41s3UGI6dNLmd3HF0Q+l49mviVlplOjgaNe+FLs4wUXAp1KuxGaD55cx1UlP2flVZU9/+oFD7IBLNWDeqzXN7V2X/L756cN9aa22OzVJc73C3SywmB5xMCo8kU7ThgTfsdc7XwDvdjrqbkfmARbtMIfR8fJhX+PRt/C3P5tOygB3ZQMVSBoJB4jNzforHwmX62raPwYuU0CuUP5uiMmysTnYE9tTyIcaz2ChXLPN6wDh64ch/HQLfFRVHEq9TDFpnQmQ4Ae5mjSqMuSvlsoCfvECnbeUtovxWoSCqjRhcJWeHJTpPfde+igWj2hkaZeNYANR1ggwSm2wM3WJd8scXquqoe3tWu5lO2q5qpm3PwTGA4/c8i3cG/tcXfGTz8tviIQveJRGmDWnVTIJrr4fqly8SCmPlvAG5ZyOB+tGNkrM0is9V8UTJFPg8yg/ebOO23NCUlX8ygxiB4XOI4DrHdrYYrkD9KDVZwHG+sfCGGKOn0F2L6rJcIs8A6if8iGQThs88LLC1pYOUpfFJypVtZOh9H+z+KPoxj6GcCwxjdW1nNiLAnhe3vLyRbp8zyV0mfgSxuKr1dMwotXNW7LW6ScNVdPXaejjl6/g4SP6cRypMn3I/spMl3RoMRbB2bKI3qXq+h/uezY6nvuOyVw3xTVqcKJP+JPv9HVC2xmfzA2VwjZ43shVlhsOw5egck+80mz76NLfuLosiWcS0KGB/Xwgb4mq/TKLDDEKiPuYM7LOe4SsPjsWqeaGfv0yuUoBIFF8uqEB6VYbEMI9ne4JZFjvxRx2zHH3Adi+fwN1LFeAZAeVUqrOBRBdaWOC3l6SJOl/EmTKwkJpS2nG4qIdB6xC9XaINVD7NpJRIbBpRu1zmtS+ghk6TO5owmuikoAYvYKoCIHNk3BRUgKwoFJTekJlFQXmI7UFBeJAenoBQgZKsCMlrIWkmPj47kecKiJkDd6A0jrZINkEsDRLJlVUAl7duw5eFQilHb7I8mGbScuHYwZjl5HNyQpcgz2+6XYWhjDVn5ukRXEz3jnkTFxDbvQMtEYey9ojHwF1WHQ1iYrosJDsvUwSA5QGP66GYv5ZHZmEBdZFHuvYKIlxdV3aq8yeg6gWup2tsYWVN6NJq9FmliEbwjaWy8wdjqLleyMmjPW30tjUyQAu3gtsEXCAaEhT05mhILdIJZUp7tipmnqYyNuS9sOAFQOLubrWSMiK1+iA6RUZRQfLCnq6T11Ij7gVH0jmdjB+rGC9uGgc4LuRPlAt+IU/W6/sE4sc/pC5n2aqV9bM6oVP7smY6PCbRKJ+eD0ynT7Gl43s+7Vu1yntRyMrli9ZgTdz0X6t9etFMA5UOM3lVN9Yij/Rw8luopOJtcBRV9YcMH8IDqjlRSAM+pdUOFpGMVj0BuXVROgb9zOZ31pGIwJ5NoFSxbm6pZJO5ONYigHE0dLUIevWiPAJTcme7wfEyoObxU7QzQTrVGgMKpOliFi5MAgC5ao0DTWWz7REkNcAP10jOY8wn0DO6HA1jNi/BGk05oVvADNM191b4/ujb9Ol/RF4ewwgcwiCrd0AESZdcv5PYdyS2tgUFO75NWS2kCRVRLwqZy+LWIURTxumaz3pbEKQv/a9c+Vw81av87dHcdN4zgHwuCzhU1oyK+QCW0iy1mwTVFw8L7T8k68uQkzBxEEgDWOZBt3wLSkiVwKAPZ7qUeiRh1FxlIdE/SSCSoY8xAgqCbpfLSatdBSORNH62MmoFuINo+diNRIn5nm+Lco/wwIfbYwUCSrJJhXSWbDgMJMidBJOi6wEDCJGBQuMyA7yipnuViMusf8BItkjUWl7aJ6qBk3axxswwtyAaIMxYviR5Saq2AWUoQHFTbMgEQOkhKAnhTIaW2Md6l1Bk4s5xgVKK2dRIucZCsJOwhQ61riHcZkZFsFhAAT9S2hwcoDhINDyZUaBFpiHcBdVOcWUYwTk7bNgkpN0hSEhqOodY1ZLCM2FeLZKmoQF0c5wCsi+G1nXc1TQeAXCbR9WipiD8CmquFKHEsq0BKFiNdS2fczobQSBoxKEFLYBMg2FJfcUAopRFUwvjeiWJE2OKZZC23QDSJY4dbdJpGkQWGaQI5tgeVZvFBB63aVglHrr6EJRy6jiAjOHCgLCEzeETwNWjgI0wzxO2xRjZawMjoktGMPQsMhKYhmnHWWzgTjC1DZESTlLTufE3LVA59H1JTufAdBnMvQYoPskCy0/mdQSef5HnmJNTu8LWyUfiaR1Em/u0XtQQgv6mN57Rv6wVf6QhtF5+5kNuu8/7Z+P8YpruDGU3bFR6/EduuMa5al5SVU6pv8ycwotAjDLIITG4SW0cJ0wBwK2vr1/C0PW5fhqAH8fTb2bwJZU8SzuaKmPdnd+EGd9aq6EqSlGCxCZe4FZe/XbhHhV83NOZLTs6i24DWhMcIthTC1+pFiwjdxHlRXoVl+BBWLylcRmspG+h2UByNtlWCngW5K9uT07ZY9X9T1CZaPeC1IYRucHvXOGvddKSaeeXymMJiGSZhDjzMcpkl23Wq9kOpSzNOTJaIxrepptW531lSaqe8mlIla55Kk+JAgcaZ46jQVAcJseHeORmxH1ykRLwAvJBA14C+55oHR/hua9Ic5NS9SsUJqkt2oCXjDDmaZhhiZa2EYSI5NKWRKXmb+fFuZQ1U80JPI9Bj9Gtf1dZJfdj4Z2KFS/3fJLuNWjYauDh+2W/2VJmg3yxBJtmeVhf3m5MYTQUpYYscxTXugrxU0641WRpXcfV+8jpOw/qTf8U2qONtUf1///gruyBwvz4cDZUNr6vFpYHVeOtNEu3pMIHSWEpMsj0tEgmNpUOSHGkwwbQkYsw3e6p8vDOWJv/FQf58UDOuF/hPDlyyocs4JtkPvegpJArncLCOUrAyzj5KX+0pA2HLWNLA5x60AZ7Fbw42XY5sxtl2+bM97co2yTajS53cNOvDdByOISahPDgCTZLD4rcJ1MEtfZskexokDAdLgyS5mKQ2MAdvjdpUu4UAPXjZp5WA3QJgL9VOErCEMZtU0D33EgDAyEP/yahE9x60oDGO6Wivf4gW2Y1KzbJ8NMAkO9KqtQwgRtL3UqOUeLFBGtUAUodplIKGemWBs+O0b3Ekjmzhk8MqjpT5ExLW6NyHsfR2R9qhQcY560S7P3fXBGXJkc4tBp8QXm3zsPG2cpMKTd3FWSMeTqEolSrFnsLfUCgMpiZlb7RVA8FzX0LDiC4LbVWW3NczjIOwRLI/y/M0VcPWh81SMIlxFy7t7RyWiurGzs46j0A6PfRYc/fCvZsU5V6G5NBeZSE3vvpXjT6y7WkdhXH63KODsonSyLtMSrczCC7kIrcGYT84LB6YqIqcjJh0hyM6+U037ojO/OSbmjYTQ5Hbe3XJ7nyKxNj0vRmNFDzlxdPYuIzdR5+y5Dijjn01hKWie01ETa17S4L3LbtTolcGAKe+k1uojqDHeYTqlN044dtweLwFaNL2ZhxQJJmHcdBeiXQfB8qS44yD/YTa0AhrnCVuEw8BjrIjHfa+wRm4uXHb2Ey1eB67c3h8JN9D6uumrt4SpqjluVeFBRVXKobrqbLsrHpOJAs/A8GwM4BT5YsUvXVMy1nnD7otqiBuNKiWW/tFFK2zIkmXDG3PUbsS/dVGcZmwZx+0VDxoieK25F4ph7q53pSCu3ZprRhcKUdPq6YvgOuaPfujpehRUYD7n3ulLOomm5VFguOLWehESFLobwrHJ1B4DqNfC6RC3NeCKAgsX8TGN1lmQevlwnr/VJRofVRlOFr8I7lM4no512a4C9P4Ea+omgCBs9Pjk9NZcJHEYdFcmiCo/7fi+z1W1wBOXlfXAFC0novF3S8TVFSKIuICOsvxXDXI+SkCosZpa+B10Z2d4w8L4Z7Tb2G+/Fr5cqRXlWoYzvnsf+uib4Pbv36hpV8F9znu8LfBcfAvOWRrx5NNqHgxDLQTR21hnww1Lj+emV+tw++/diZEfXVMj7qR4G4DeGCJ3ggQZc2KrI597cgnF9daaGi/QNYR1vjSKpC1+cIAw5aFUkkEeO3SScY6WLR2Mp7CvMBdz48W53DKINE3x+5mqoVR+yXLYKo96z9BWWuo1mGlexBlUMEN9YfYfXDxGGsPdkRAWHugyCGs/dLzIkIZSt2fFoCdVts8m8aKmOn+rAEg6f42vYNHu07tbck6+RVeXn9O439s8YdPWBrCFC+MLPvZprmJ5GOiF64heSDJXEQCO9OGRncDyQNDBJTtYw3SQLM9UCIA7f6rK4rM7k1CgAt7nlvZvaPbGqYrOcLixYD4PdjdUevt67ERaYrabkOsuGEQyD7GCgNBdibXSzPIc7Rq4f2rj9oYULxACS1K1zrypVk5Bc78m4KuFZ5p71LvrVULPNs+WFPjbVx30OIBe2/9QYUVjQZS7KFBDbK4PyOQ56aHYstkfJ4xsR4Et4m9KznCxA7H2z3UMebt1Gwy++hp5m3e4fY88SqD7chZYRSyWR/2a/3VtqIHN03RKWZFAN38Ml4PYbzqYyceahdO6syxPOkpE0mr+POjY/eTZA5MraftfJbMIqsHHOTJUOo+qyCRis9FEIPMHujyYWHZLiep1qMVBDcf7ChlMdI9lKIr7nekZgN4agt75YhDZtlZDxu9b4DcDlZjYgdqC+y2NT7WowiERh/sKJoYS3Gg8y8FffvW991BDpz3ZDKI+hl4+E0KVTXanwtPJXM5gKF4cAM9lqKOpeIWelfsQq/RCzvviipqIfk6SthC88s+Nvoa9AlWqHuMxuFcYopomaKyQe+oHIyyEYeNQtnI1+eobKp3avZc2T6AT7T4UbfjoyM5srgUfIejSNOei4qAHidFVXb3ZXagJMCFsoMxSM05tsIejRiyd8fmSHFlb8+tEfwEzyTWSNin84Fon4uGqJ8l2jPFUAUCnEQVSIRehh5JeS5qoHoGZ8+U4INwVdHD0N27JYnLiJxwKaK/jDlh3ytjQvbrNUP/D7ApnvTBpZMG6kMfw/NBe/dyqonBNh7mdLMFGyJPnDfYb89qBtE+tAVsb8wPM+1EhaDAKL62Ny9qM1ht1E/HTKIt5viok1gZ/iIxS1f48lxUxRSzbM8VZXfz0YumGCvc9QzkEDLXz4yx1yrTZ1KYXGUsQsRNpDq6iMHjL1uEy/9sDN/nZFFUD1jKVeneipxUI6AIyi/6MLk+qN/7nEQbdDGl99pn0+K6WE5o2nNRJPWLoHu3nNXG537RpEPSpF0vd01xzhXRyUGvLeSxfcZeZMMLrPvhQlYFjBhBua75p+woPlQMyS72KXnAENp/tXHv1bue5hG781n0kGEdaOCFQpB2eYHE1yhZQqlOKQdU60WxeY/KZgiZqgRAflKlQB59tQQI6VI3wXxp6yZ59HUTXJypbur5kWqkX6B6KBDKRJ96FiX63ZOqAH0KbXCRXWNZtKJrsugl1+B3TBUTJ7dUG0mHqiCRWawos6cTcB1sDmVtbMQQU710IwKMcPIFHtskFoKJPl1VSPTpF4g+fWPeVhUMamBSAbj7+XdD9cDngMkM2ysQIq1fKNLWAt+kqUQLbWYoAV/FKZ9veA+htIbILBRlSMQxhcIZXEUsRP9C6eynWSww6HQUwQizAffCtX8hkJFmloDqif4x9YK1InDwMf8C6WY9s0w08fd8i0WYw7nAe8OFwIDXgGaroG2jNJSb05lQZsMbKYKzgJZq8Vt9+2PC0Q1hkDTNVEKV+rLsSyP6qrAGZqPSa1tkznjKLi8zwbhu/kVETlwtJAOdzT4DgYBICUAcZkTFKMIAN/0k6hj3xbMgNEPGAjLwrEQh6ZxJJAbXsB9V35loBE8uKA2dt3ck3eD2zFxYPn+NJs5KTZMhd+YBNljwxwEN1nnsRmmwcGrBBZzz12CN2dO6lg6wyYB/A2i1yQui8YMAezZovzbJzk8KJ0O/nc2bIyiSgH9KYWPO5h+3afU6QvPrCtVLxJZEFQsnRUvuzJ/muU0fs9b1IHDUZpHesSjDKCzDi7yMH7HNxp+rd8njdDUL6kdsq9fxH1B0m95vy822xE3Gq/eEe+C1cmHo6j+bSzyf3ddPOhU+moDZjKsHJe7Tn7ZxElG+b4DHDRQkKt8IebCk6suyerhk9UQpvc9SS0JEfNSl8wmtNwkmVtyni/Ab6sMbVr93aBUun7oXb1VEzB3Bi/3sKg5XebguCI2uPP6JdThaf//9fwDb6XFA+xcBAA==</value>
-  </data>
-  <data name="DefaultSchema" xml:space="preserve">
-    <value>dbo</value>
-  </data>
-</root>
Index: WebApplication1/Models/AccountViewModels.cs
===================================================================
--- WebApplication1/Models/AccountViewModels.cs	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ WebApplication1/Models/AccountViewModels.cs	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -8,6 +8,76 @@
     {
         [Required]
-        [EmailAddress]
-        public string Email { get; set; }
+        [Display(Name = "Email")]
+        public string Email { get; set; }
+    }
+
+    public class ExternalLoginListViewModel
+    {
+        public string ReturnUrl { get; set; }
+    }
+
+    public class SendCodeViewModel
+    {
+        public string SelectedProvider { get; set; }
+        public ICollection<System.Web.Mvc.SelectListItem> Providers { get; set; }
+        public string ReturnUrl { get; set; }
+        public bool RememberMe { get; set; }
+    }
+
+    public class VerifyCodeViewModel
+    {
+        [Required]
+        public string Provider { get; set; }
+
+        [Required]
+        [Display(Name = "Code")]
+        public string Code { get; set; }
+        public string ReturnUrl { get; set; }
+
+        [Display(Name = "Remember this browser?")]
+        public bool RememberBrowser { get; set; }
+
+        public bool RememberMe { get; set; }
+    }
+
+    public class ForgotViewModel
+    {
+        [Required]
+        [Display(Name = "Email")]
+        public string Email { get; set; }
+    }
+
+    public class LoginViewModel
+    {
+        [Required]
+        [Display(Name = "E-mail")]
+        [EmailAddress]
+        public string Email { get; set; }
+
+        [Required]
+        [DataType(DataType.Password)]
+        [Display(Name = "Лозинка")]
+        public string Password { get; set; }
+
+        [Display(Name = "Запомни ме")]
+        public bool RememberMe { get; set; }
+    }
+
+    public class RegisterViewModel
+    {
+        [Required]
+        [EmailAddress]
+        public string Email { get; set; }
+
+        [Required]
+        [StringLength(100, ErrorMessage = "Лозинката мора да е подолга од 6 карактери.", MinimumLength = 6)]
+        [DataType(DataType.Password)]
+        [Display(Name = "Password")]
+        public string Password { get; set; }
+
+        [DataType(DataType.Password)]
+        [Display(Name = "Confirm password")]
+        [Compare("Password", ErrorMessage = "Лозинките не се совпаѓаат.")]
+        public string ConfirmPassword { get; set; }
 
         [RegularExpression(@"^[\p{IsCyrillic}\p{IsBasicLatin}\s\-]+$", ErrorMessage = "Името смее да содржи само латиница, кирилица, празни места и цртички.")]
@@ -47,111 +117,4 @@
         public bool Available { get; set; }
         public string ImageURL { get; set; }
-    }
-
-    public class ExternalLoginListViewModel
-    {
-        public string ReturnUrl { get; set; }
-    }
-
-    public class SendCodeViewModel
-    {
-        public string SelectedProvider { get; set; }
-        public ICollection<System.Web.Mvc.SelectListItem> Providers { get; set; }
-        public string ReturnUrl { get; set; }
-        public bool RememberMe { get; set; }
-    }
-
-    public class VerifyCodeViewModel
-    {
-        [Required]
-        public string Provider { get; set; }
-
-        [Required]
-        [Display(Name = "Code")]
-        public string Code { get; set; }
-        public string ReturnUrl { get; set; }
-
-        [Display(Name = "Remember this browser?")]
-        public bool RememberBrowser { get; set; }
-
-        public bool RememberMe { get; set; }
-    }
-
-    public class ForgotViewModel
-    {
-        [Required]
-        [Display(Name = "Email")]
-        public string Email { get; set; }
-    }
-
-    public class LoginViewModel
-    {
-        [Required]
-        [Display(Name = "E-mail")]
-        [EmailAddress]
-        public string Email { get; set; }
-
-        [Required]
-        [DataType(DataType.Password)]
-        [Display(Name = "Лозинка")]
-        public string Password { get; set; }
-
-        [Display(Name = "Запомни ме")]
-        public bool RememberMe { get; set; }
-    }
-
-    public class RegisterViewModel
-    {
-        [Required]
-        [EmailAddress]
-        public string Email { get; set; }
-
-        [Required]
-        [StringLength(100, ErrorMessage = "Лозинката мора да е подолга од 6 карактери.", MinimumLength = 6)]
-        [DataType(DataType.Password)]
-        [Display(Name = "Password")]
-        public string Password { get; set; }
-
-        [DataType(DataType.Password)]
-        [Display(Name = "Confirm password")]
-        [Compare("Password", ErrorMessage = "Лозинките не се совпаѓаат.")]
-        public string ConfirmPassword { get; set; }
-
-        [RegularExpression(@"^[\p{IsCyrillic}\p{IsBasicLatin}\s\-]+$", ErrorMessage = "Името смее да содржи само латиница, кирилица, празни места и цртички.")]
-        [Required(ErrorMessage = "Името е задолжително.")]
-        [StringLength(50, ErrorMessage = "Името мора да е под 50 букви.")]
-        public string Name { get; set; }
-
-        [RegularExpression(@"^[\p{IsCyrillic}\p{IsBasicLatin}\s\-]+$", ErrorMessage = "Името смее да содржи само латиница, кирилица, празни места и цртички.")]
-        [Required(ErrorMessage = "Презимето е задолжително.")]
-        [StringLength(50, ErrorMessage = "Презимето мора да е под 50 букви.")]
-        public string Surname { get; set; }
-
-        [StringLength(1000, ErrorMessage = "Кратката биографија мора да е под 1000 карактери.")]
-        public string Biography { get; set; }
-
-        public List<string> Subjects { get; set; }
-        public List<string> Topics { get; set; }
-        public virtual List<Project> Projects { get; set; }
-
-        [Required]
-        public string UserType { get; set; }
-
-        //STUDENT
-
-        [RegularExpression(@"^\d{6}$", ErrorMessage = "Индексот мора да се состои од 6 цифри.")]
-        public string Index { get; set; }
-        public string Major { get; set; }
-        [Range(1, 3, ErrorMessage = "Циклус на студии мора да е помеѓу 1 и 3.")]
-        public int? Cycle { get; set; }
-        [Range(1, 8, ErrorMessage = "Семестар мора да е помеѓу 1 и 8.")]
-        public int? Semester { get; set; }
-
-        //MENTOR
-        public string Timeslots { get; set; } // times available
-        public string TypesOfProject { get; set; }
-        [Required]
-        public bool Available { get; set; }
-        public string ImageURL { get; set; }
 
     }
@@ -218,36 +181,10 @@
         public bool Available { get; set; }
         public string ImageURL { get; set; }
+
         public List<OpinionDto> ApprovedOpinions { get; set; } = new List<OpinionDto>();
         public List<OpinionDto> PendingOpinions { get; set; } = new List<OpinionDto>();
-        public List<TopicSuggestionDto> TopicSuggestions { get; set; } = new List<TopicSuggestionDto>();
-
-
-    }
-    public class TopicSuggestionCreateModel
-    {
-        [Required]
-        public string Title { get; set; }
-        public string Description { get; set; }
-    }
-
-    public class TopicAssignModel
-    {
-        [Required]
-        public int TopicId { get; set; }
-        [Required]
-        public string StudentId { get; set; }
-    }
-
-    public class TopicSuggestionDto
-        {
-            public int Id { get; set; }
-            public string Title { get; set; }
-            public string Description { get; set; }
-            public bool IsAssigned { get; set; }
-            public string AssignedStudentId { get; set; }
-            public string AssignedStudentName { get; set; }
-            public System.DateTime CreatedAt { get; set; }
-        }
-    
+
+
+    }
 
     public class ReplyViewModel
Index: WebApplication1/Models/IdentityModels.cs
===================================================================
--- WebApplication1/Models/IdentityModels.cs	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ WebApplication1/Models/IdentityModels.cs	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -1,5 +1,3 @@
-﻿using Microsoft.AspNet.Identity;
-using Microsoft.AspNet.Identity.EntityFramework;
-using System.Collections.Generic;
+﻿using System.Collections.Generic;
 using System.ComponentModel;
 using System.ComponentModel.DataAnnotations;
@@ -8,4 +6,6 @@
 using System.Threading;
 using System.Threading.Tasks;
+using Microsoft.AspNet.Identity;
+using Microsoft.AspNet.Identity.EntityFramework;
 
 namespace WebApplication1.Models
@@ -63,5 +63,4 @@
         public bool Available { get; set; }
         public string ImageURL { get; set; }
-        public virtual ICollection<TopicSuggestion> TopicSuggestions { get; set; } = new List<TopicSuggestion>();
     }
 
@@ -76,5 +75,4 @@
         public DbSet<Message> Messages { get; set; }
         public DbSet<Opinion> Opinions { get; set; }
-        public DbSet<TopicSuggestion> TopicSuggestions { get; set; }
 
         public ApplicationDbContext()
@@ -101,16 +99,4 @@
                 .WillCascadeOnDelete(false);
 
-            modelBuilder.Entity<TopicSuggestion>()
-                .HasRequired(ts => ts.Mentor)
-                .WithMany(m => m.TopicSuggestions)
-                .HasForeignKey(ts => ts.MentorId)
-                .WillCascadeOnDelete(false);
-
-            modelBuilder.Entity<TopicSuggestion>()
-                .HasOptional(ts => ts.AssignedStudent)
-                .WithMany()
-                .HasForeignKey(ts => ts.AssignedStudentId)
-                .WillCascadeOnDelete(false);
-
         }
         public static ApplicationDbContext Create()
Index: WebApplication1/Models/MentorContact.cs
===================================================================
--- WebApplication1/Models/MentorContact.cs	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ WebApplication1/Models/MentorContact.cs	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -2,5 +2,4 @@
 using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
 using System.Linq;
 using System.Web;
@@ -31,9 +30,4 @@
         public DateTime Timestamp { get; set; } = DateTime.Now;
 
-        public int? TopicSuggestionId { get; set; }
-        [ForeignKey("TopicSuggestionId")]
-        public virtual TopicSuggestion TopicSuggestion { get; set; }
-
-
     }
 }
Index: WebApplication1/Models/RequestItemDto.cs
===================================================================
--- WebApplication1/Models/RequestItemDto.cs	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ WebApplication1/Models/RequestItemDto.cs	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -28,6 +28,4 @@
         public ContactStatus? ContactStatus { get; set; }
         public OpinionStatus? OpinionStatus { get; set; }
-
-        public string SelectedTopicTitle { get; set; }
     }
 }
Index: bApplication1/Models/TopicSuggestion.cs
===================================================================
--- WebApplication1/Models/TopicSuggestion.cs	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ 	(revision )
@@ -1,35 +1,0 @@
-﻿using System;
-using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-using System.Linq;
-using System.Web;
-
-namespace WebApplication1.Models
-{// predlog temi izlistani od nekoj profesor
-    public class TopicSuggestion
-    {
-        [Key]
-        public int Id { get; set; }
-
-        [Required]
-        public string MentorId { get; set; }
-        [ForeignKey("MentorId")]
-        public virtual Mentor Mentor { get; set; }
-
-        [Required]
-        [StringLength(200)]
-        public string Title { get; set; }
-
-        [StringLength(2000)]
-        public string Description { get; set; }
-
-        // assign topic to student
-        public bool IsAssigned { get; set; } = false;
-        public string AssignedStudentId { get; set; }
-        [ForeignKey("AssignedStudentId")]
-        public virtual Student AssignedStudent { get; set; }
-        public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
-        public DateTime? AssignedAt { get; set; }
-    }
-}
Index: WebApplication1/Startup.cs
===================================================================
--- WebApplication1/Startup.cs	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ WebApplication1/Startup.cs	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -1,186 +1,13 @@
-﻿using Microsoft.AspNet.Identity;
-using Microsoft.AspNet.Identity.Owin;
-using Microsoft.Owin;
-using Microsoft.Owin.Host.SystemWeb;
-using Microsoft.Owin.Infrastructure;
-using Microsoft.Owin.Security;
-using Microsoft.Owin.Security.Cookies;
-using Microsoft.Owin.Security.Google;
-using Microsoft.Owin.Security.MicrosoftAccount;
+﻿using Microsoft.Owin;
 using Owin;
-using Owin.Security.Providers.GitHub;
-using System;
-using System.Diagnostics;
-using System.Threading.Tasks;
-using System.Web;
-using WebApplication1.Models;
 
-[assembly: OwinStartup(typeof(WebApplication1.Startup))]
+[assembly: OwinStartupAttribute(typeof(WebApplication1.Startup))]
 namespace WebApplication1
 {
-    public class SameSiteNoneCookieManager : ICookieManager
-    {
-        private readonly ICookieManager _inner;
-
-        public SameSiteNoneCookieManager()
-            : this(new SystemWebCookieManager()) { }
-
-        public SameSiteNoneCookieManager(ICookieManager inner)
-        {
-            _inner = inner ?? throw new ArgumentNullException(nameof(inner));
-        }
-
-        public string GetRequestCookie(IOwinContext context, string key)
-            => _inner.GetRequestCookie(context, key);
-
-        public void AppendResponseCookie(IOwinContext context, string key, string value, CookieOptions options)
-        {
-            options.Secure = true;
-            _inner.AppendResponseCookie(context, key, value, options);
-            FixSameSite(context, key);
-        }
-
-        public void DeleteCookie(IOwinContext context, string key, CookieOptions options)
-        {
-            options.Secure = true;
-            _inner.DeleteCookie(context, key, options);
-            FixSameSite(context, key);
-        }
-
-        private static void FixSameSite(IOwinContext context, string key)
-        {
-            var httpContext = context.Get<HttpContextBase>(typeof(HttpContextBase).FullName);
-            var cookie = httpContext?.Response?.Cookies[key];
-            if (cookie != null)
-                // FIX 1: fully qualified to resolve ambiguity with Microsoft.Owin.SameSiteMode
-                cookie.SameSite = System.Web.SameSiteMode.None;
-        }
-    }
-
-    public class Startup
+    public partial class Startup
     {
         public void Configuration(IAppBuilder app)
         {
-            app.Use(async (context, next) =>
-            {
-                var httpContext = context.Get<HttpContextBase>(typeof(HttpContextBase).FullName);
-                httpContext?.Response?.AddOnSendingHeaders(ctx =>
-                {
-                    var cookies = ctx.Response.Cookies;
-                    for (int i = 0; i < cookies.Count; i++)
-                    {
-                        var cookie = cookies[i];
-                        if (cookie.SameSite != System.Web.SameSiteMode.None)
-                        {
-                            cookie.SameSite = System.Web.SameSiteMode.None;
-                            cookie.Secure = true;
-                        }
-                    }
-                });
-                await next();
-            });
-
-            // ---- PER-REQUEST CONTEXTS ----
-            app.CreatePerOwinContext(ApplicationDbContext.Create);
-            app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
-            app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create);
-
-            var cookieManager = new SameSiteNoneCookieManager();
-
-            // ---- COOKIE AUTH (local app sign in) ----
-            app.UseCookieAuthentication(new CookieAuthenticationOptions
-            {
-                AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
-                LoginPath = new PathString("/Account/Login"),
-                CookieSecure = CookieSecureOption.Always,
-                CookieManager = cookieManager,
-                Provider = new CookieAuthenticationProvider
-                {
-                    OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
-                        validateInterval: TimeSpan.FromMinutes(30),
-                        regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
-                }
-            });
-
-            // UseExternalSignInCookie registers ExternalCookie AND sets SignInAsAuthenticationType
-            // which all external providers require in their constructors.
-            app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
-
-            app.UseTwoFactorSignInCookie(DefaultAuthenticationTypes.TwoFactorCookie, TimeSpan.FromMinutes(5));
-            app.UseTwoFactorRememberBrowserCookie(DefaultAuthenticationTypes.TwoFactorRememberBrowserCookie);
-
-            // ---- EXTERNAL PROVIDERS ----
-            var googleId = System.Configuration.ConfigurationManager.AppSettings["GoogleClientId"];
-            var googleSecret = System.Configuration.ConfigurationManager.AppSettings["GoogleClientSecret"];
-            if (!string.IsNullOrWhiteSpace(googleId) && !string.IsNullOrWhiteSpace(googleSecret))
-            {
-                app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions
-                {
-                    ClientId = googleId,
-                    ClientSecret = googleSecret,
-                    CallbackPath = new PathString("/signin-google"),
-                    CookieManager = cookieManager
-                });
-            }
-
-            var msId = System.Configuration.ConfigurationManager.AppSettings["MicrosoftClientId"];
-            var msSecret = System.Configuration.ConfigurationManager.AppSettings["MicrosoftClientSecret"];
-            if (!string.IsNullOrWhiteSpace(msId) && !string.IsNullOrWhiteSpace(msSecret))
-            {
-                app.UseMicrosoftAccountAuthentication(new MicrosoftAccountAuthenticationOptions
-                {
-                    ClientId = msId,
-                    ClientSecret = msSecret,
-                    CallbackPath = new PathString("/signin-microsoft"),
-                    CookieManager = cookieManager,
-                    Provider = new MicrosoftAccountAuthenticationProvider
-                    {
-                        OnAuthenticated = ctx =>
-                        {
-                            Trace.WriteLine("Microsoft OnAuthenticated: token present? " + (ctx.AccessToken != null));
-                            return Task.FromResult(0);
-                        },
-                        OnReturnEndpoint = ctx =>
-                        {
-                            if (ctx.Identity == null)
-                                Trace.WriteLine("Microsoft OnReturnEndpoint: Identity is NULL");
-                            return Task.FromResult(0);
-                        },
-                        OnApplyRedirect = ctx =>
-                        {
-                            Trace.WriteLine("Microsoft redirecting to: " + ctx.RedirectUri);
-                            ctx.Response.Redirect(ctx.RedirectUri);
-                        }
-                    }
-                });
-            }
-
-            var ghId = System.Configuration.ConfigurationManager.AppSettings["GitHubClientId"];
-            var ghSecret = System.Configuration.ConfigurationManager.AppSettings["GitHubClientSecret"];
-            if (!string.IsNullOrWhiteSpace(ghId) && !string.IsNullOrWhiteSpace(ghSecret))
-            {
-                
-                app.UseGitHubAuthentication(new GitHubAuthenticationOptions
-                {
-                    ClientId = ghId,
-                    ClientSecret = ghSecret,
-                    CallbackPath = new PathString("/signin-github"),
-                    Scope = { "user:email" },
-                    Provider = new Owin.Security.Providers.GitHub.GitHubAuthenticationProvider
-                    {
-                        OnAuthenticated = ctx =>
-                        {
-                            Trace.WriteLine("GitHub OnAuthenticated: token present? " + (ctx.AccessToken != null));
-                            return Task.FromResult(0);
-                        },
-                        OnReturnEndpoint = ctx =>
-                        {
-                            if (ctx.Identity == null)
-                                Trace.WriteLine("GitHub OnReturnEndpoint: Identity is NULL");
-                            return Task.FromResult(0);
-                        }
-                    }
-                });
-            }
+            ConfigureAuth(app);
         }
     }
Index: WebApplication1/Views/Account/ContactForm.cshtml
===================================================================
--- WebApplication1/Views/Account/ContactForm.cshtml	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ WebApplication1/Views/Account/ContactForm.cshtml	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -3,6 +3,9 @@
 @{
     ViewBag.Title = "ContactForm";
+}
+
+@{
     var subjectOptions = new[]
-    {
+{
         new SelectListItem { Text = "Вештачка интелигенција", Value = "Вештачка интелигенција" },
         new SelectListItem { Text = "Интернет технологии", Value = "Интернет технологии" },
@@ -16,5 +19,5 @@
         new SelectListItem { Text = "Економија за ИКТ инженери", Value = "Економија за ИКТ инженери" },
         new SelectListItem { Text = "Маркетинг", Value = "Маркетинг" },
-        new SelectListItem { Text = "Објектно ориентирано програмирање", Value = "Објектно оријентирано програмирање" }
+        new SelectListItem { Text = "Објектно ориентирано програмирање", Value = "Објектно ориентирано програмирање" }
     };
 }
@@ -49,27 +52,4 @@
 
                     <div class="mb-3">
-                        @Html.Label("Предлог тема (опционално)")
-                        <select id="topicSelect" name="TopicSuggestionId" class="form-select">
-                            <option value="">-- Без тема --</option>
-                            @{
-                                // server-side seed: show available topics for this mentor if Model.MentorId exists
-                                if (!string.IsNullOrEmpty(Model?.MentorId))
-                                {
-                                    var _db = new WebApplication1.Models.ApplicationDbContext();
-                                    var topics = _db.TopicSuggestions
-                                        .Where(t => t.MentorId == Model.MentorId && !t.IsAssigned)
-                                        .OrderByDescending(t => t.CreatedAt)
-                                        .ToList();
-                                    foreach (var t in topics)
-                                    {
-                                        <option value="@t.Id">@t.Title</option>
-                                    }
-                                    _db.Dispose();
-                                }
-                            }
-                        </select>
-                    </div>
-
-                    <div class="mb-3">
                         @Html.Label("Дополнителни информации")
                         @Html.TextAreaFor(m => m.Message, new { @class = "form-control", rows = 4 })
@@ -82,25 +62,2 @@
     </div>
 </div>
-
-@section Scripts {
-    @Scripts.Render("~/bundles/jquery")
-    <script>
-        // When modal shown, ensure MentorId is set on hidden input (if called from button)
-        $(document).on('show.bs.modal', '#contactModal', function (e) {
-            var btn = $(e.relatedTarget);
-            var mentorId = btn.data('mentor');
-            if (mentorId) $(this).find("input[name='MentorId']").val(mentorId);
-
-            // If we didn't render server-side options (maybe modal reused), fetch available topics
-            var $select = $(this).find('#topicSelect');
-            if ($select.find('option').length <= 1 && mentorId) {
-                $.get('/Account/GetMentorTopics', { mentorId: mentorId }, function (res) {
-                    if (!res || !res.success) return;
-                    res.topics.forEach(function (t) {
-                        $select.append('<option value="' + t.Id + '">' + t.Title + '</option>');
-                    });
-                });
-            }
-        });
-    </script>
-}
Index: WebApplication1/Views/Account/EditMentorProfile.cshtml
===================================================================
--- WebApplication1/Views/Account/EditMentorProfile.cshtml	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ WebApplication1/Views/Account/EditMentorProfile.cshtml	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -5,9 +5,9 @@
 }
 
-<h2 class="mb-3">Уреди профил</h2>
+<h2>EditMentorProfile</h2>
 
 @{
     var topicOptions = new[]
-    {
+{
         new SelectListItem { Text = "Вештачка интелигенција", Value = "Вештачка интелигенција" },
         new SelectListItem { Text = "Машинско учење", Value = "Машинско учење" },
@@ -25,5 +25,5 @@
 
     var subjectOptions = new[]
-    {
+{
         new SelectListItem { Text = "Вештачка интелигенција", Value = "Вештачка интелигенција" },
         new SelectListItem { Text = "Интернет технологии", Value = "Интернет технологии" },
@@ -39,7 +39,9 @@
         new SelectListItem { Text = "Објектно ориентирано програмирање", Value = "Објектно ориентирано програмирање" }
     };
+
 }
 
 <div class="card shadow-sm p-4 mb-5">
+    <h3 class="mb-4 text-primary">Уреди профил</h3>
     @using (Html.BeginForm("EditMentorProfile", "Account", FormMethod.Post, new { @class = "needs-validation", novalidate = "novalidate" }))
     {
@@ -53,14 +55,12 @@
                 @Html.ValidationMessageFor(m => m.Name, "", new { @class = "text-danger" })
             </div>
-
             <div class="col-md-6">
                 <label class="form-label">Достапност</label>
                 <div class="form-check form-switch">
                     @Html.CheckBoxFor(m => m.Available, new { @class = "form-check-input", @id = "availableSwitch" })
-                    <label class="form-check-label" for="availableSwitch">Прифаќам нови барања за менторство</label>
+                    <label class="form-check-label" for="availableSwitch">Прифаќам нови барања за менторсво</label>
                 </div>
                 @Html.ValidationMessageFor(m => m.Available, "", new { @class = "text-danger" })
             </div>
-
             <div class="col-md-6">
                 <label class="form-label">Презиме</label>
@@ -68,5 +68,4 @@
                 @Html.ValidationMessageFor(m => m.Surname, "", new { @class = "text-danger" })
             </div>
-
             <div class="col-md-6">
                 <label class="form-label">Термини за консултации</label>
@@ -74,17 +73,13 @@
                 @Html.ValidationMessageFor(m => m.Timeslots, "", new { @class = "text-danger" })
             </div>
-
             <div class="col-md-6">
                 <label class="form-label">Линк на профилна слика</label>
                 @Html.TextBoxFor(m => m.ImageURL, new { @class = "form-control" })
                 @Html.ValidationMessageFor(m => m.ImageURL, "", new { @class = "text-danger" })
-            </div>
-
-            <div class="col-md-6">
+            </div><div class="col-md-6">
                 <label class="form-label">Типови на проекти</label>
                 @Html.TextBoxFor(m => m.TypesOfProject, new { @class = "form-control" })
                 @Html.ValidationMessageFor(m => m.TypesOfProject, "", new { @class = "text-danger" })
             </div>
-
             <div class="col-12">
                 <label class="form-label">Биографија</label>
@@ -141,67 +136,4 @@
             </div>
 
-            @* ---------- Topic suggestions management UI (new) ---------- *@
-            <div class="col-12 mt-4">
-                <h5 class="text-primary">Предложени теми</h5>
-                <div class="mb-3">
-                    <div class="input-group">
-                        <input id="newTopicTitle" class="form-control" placeholder="Наслов на тема" />
-                        <button id="addTopicSuggestionBtn" type="button" class="btn btn-primary">Додади тема</button>
-                    </div>
-                    <textarea id="newTopicDesc" class="form-control mt-2" placeholder="Краток опис (опционално)"></textarea>
-                </div>
-
-                <table class="table table-sm">
-                    <thead>
-                        <tr><th>Тема</th><th>Статус</th><th class="text-end">Акции</th></tr>
-                    </thead>
-                    <tbody id="topicsTableBody">
-                        @if (Model.TopicSuggestions != null && Model.TopicSuggestions.Any())
-                        {
-                            foreach (var t in Model.TopicSuggestions)
-                            {
-                                <tr data-id="@t.Id">
-                                    <td>
-                                        <strong>@t.Title</strong>
-                                        <div class="small text-muted">@t.Description</div>
-                                        @if (ViewBag.IsOwner == true && t.IsAssigned && t.AssignedStudentId != null)
-                                        {
-                                            <div class="small text-muted">Доделена на: @t.AssignedStudentName</div>
-                                        }
-                                    </td>
-                                    <td>
-                                        @if (t.IsAssigned)
-                                        {
-                                            <span class="badge bg-success">Доделена</span>
-                                        }
-                                        else
-                                        {
-                                            <span class="badge bg-secondary">Достапна</span>
-                                        }
-                                    </td>
-                                    <td class="text-end">
-                                        @if (!t.IsAssigned)
-                                        {
-                                            <button type="button" class="btn btn-sm btn-outline-secondary edit-topic-btn">Уреди</button>
-                                            <button type="button" class="btn btn-sm btn-outline-danger delete-topic-btn">Избриши</button>
-                                            <button type="button" class="btn btn-sm btn-primary assign-topic-btn">Додели</button>
-                                        }
-                                        else
-                                        {
-                                            <button type="button" class="btn btn-sm btn-warning unassign-topic-btn">Одземи од студент</button>
-                                        }
-                                    </td>
-
-                                </tr>
-                            }
-                        }
-                        else
-                        {
-                            <tr><td colspan="3" class="text-muted small">Нема предлог теми.</td></tr>
-                        }
-                    </tbody>
-                </table>
-            </div>
-
             <div class="col-12 text-end">
                 <button type="submit" class="btn btn-primary">Зачувај</button>
@@ -216,5 +148,4 @@
     <script>
         (function () {
-            // small helpers
             var subjectsList = document.getElementById('selectedSubjectsList');
             var topicsList = document.getElementById('selectedTopicsList');
@@ -235,113 +166,4 @@
             document.getElementById('addSubjectBtn').addEventListener('click', () => addItem(subjectsList, 'subjectSelect', 'Subjects', 'remove-subject'));
             document.getElementById('addTopicBtn').addEventListener('click', () => addItem(topicsList, 'topicSelect', 'Topics', 'remove-topic'));
-
-            // ---------- topic suggestions JS ----------
-            var antiToken = $('input[name="__RequestVerificationToken"]').first().val();
-
-            $('#addTopicSuggestionBtn').off('click').on('click', function (e) {
-                e.preventDefault();
-                var title = $('#newTopicTitle').val().trim();
-                var desc = $('#newTopicDesc').val().trim();
-                if (!title) { alert('Внесете наслов за темата'); return; }
-
-                $.post('/Account/AddTopic', { Title: title, Description: desc, __RequestVerificationToken: antiToken }, function (res) {
-                    if (res && res.success) location.reload();
-                    else alert('Грешка при додавање тема');
-                });
-            });
-
-            // delete
-            $(document).off('click', '.delete-topic-btn').on('click', '.delete-topic-btn', function (e) {
-                e.preventDefault();
-                if (!confirm('Дали сте сигурни дека сакате да ја избришете темата?')) return;
-                var id = $(this).closest('tr').data('id');
-                $.post('/Account/DeleteTopic', { id: id, __RequestVerificationToken: antiToken }, function (res) {
-                    if (res && res.success) location.reload(); else alert(res && res.message ? res.message : 'Грешка при бришење');
-                });
-            });
-
-            // edit (simple prompt)
-            $(document).off('click', '.edit-topic-btn').on('click', '.edit-topic-btn', function (e) {
-                e.preventDefault();
-                var tr = $(this).closest('tr');
-                var id = tr.data('id');
-                var currentTitle = tr.find('strong').text().trim();
-                var currentDesc = tr.find('.text-muted').first().text().trim();
-                var newTitle = prompt('Наслов', currentTitle);
-                if (newTitle == null) return;
-                var newDesc = prompt('Опис', currentDesc);
-                $.post('/Account/EditTopic', { id: id, Title: newTitle, Description: newDesc, __RequestVerificationToken: antiToken }, function (res) {
-                    if (res && res.success) location.reload(); else alert('Грешка при уредување');
-                });
-            });
-
-            // assign: open small modal to pick a candidate student (calls GetTopicCandidates)
-            $(document).off('click', '.assign-topic-btn').on('click', '.assign-topic-btn', function (e) {
-                e.preventDefault();
-                var tr = $(this).closest('tr');
-                var topicId = tr.data('id');
-
-                $.get('/Account/GetTopicCandidates', { topicId: topicId }, function (res) {
-                    if (!res || !res.success) { alert('Не може да се добие список на студенти.'); return; }
-                    var list = res.candidates || [];
-                    var selectHtml = '<select id="assignStudentSelect" class="form-select">';
-                    selectHtml += '<option value="">-- Избери студент --</option>';
-                    list.forEach(function (s) { selectHtml += `<option value="${s.id}">${s.name}</option>`; });
-                    selectHtml += '</select>';
-
-                    var modalHtml = `
-                        <div class="modal fade" id="assignModal" tabindex="-1">
-                          <div class="modal-dialog modal-dialog-centered">
-                            <div class="modal-content">
-                              <div class="modal-header bg-primary text-white">
-                                <h5 class="modal-title">Додели тема</h5>
-                                <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
-                              </div>
-                              <div class="modal-body">${selectHtml}</div>
-                              <div class="modal-footer">
-                                <button type="button" id="confirmAssignBtn" class="btn btn-primary">Додели</button>
-                                <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Откажи</button>
-                              </div>
-                            </div>
-                          </div>
-                        </div>`;
-
-                    // append and show modal
-                    $('body').append(modalHtml);
-                    var modalEl = document.getElementById('assignModal');
-                    var bsModal = new bootstrap.Modal(modalEl);
-                    bsModal.show();
-
-                    // ensure single handler
-                    $('#confirmAssignBtn').off('click').on('click', function (ev) {
-                        ev.preventDefault();
-                        var studentId = $('#assignStudentSelect').val();
-                        if (!studentId) { alert('Изберете студент'); return; }
-                        $.post('/Account/AssignTopic', { topicId: topicId, studentId: studentId, __RequestVerificationToken: antiToken }, function (res2) {
-                            if (res2 && res2.success) {
-                                bsModal.hide();
-                                location.reload();
-                            } else {
-                                alert('Грешка при доделување на темата');
-                            }
-                        });
-                    });
-
-                    // remove modal markup when hidden
-                    $(modalEl).on('hidden.bs.modal', function () {
-                        $(modalEl).remove();
-                    });
-                });
-            });
-
-            // unassign
-            $(document).off('click', '.unassign-topic-btn').on('click', '.unassign-topic-btn', function (e) {
-                e.preventDefault();
-                if (!confirm('Дали сте сигурни дека сакате да ја оттргнете темата?')) return;
-                var id = $(this).closest('tr').data('id');
-                $.post('/Account/UnassignTopic', { topicId: id, __RequestVerificationToken: antiToken }, function (res) {
-                    if (res && res.success) location.reload(); else alert('Грешка при операцијата');
-                });
-            });
         })();
     </script>
Index: WebApplication1/Views/Account/ExternalLoginConfirmation.cshtml
===================================================================
--- WebApplication1/Views/Account/ExternalLoginConfirmation.cshtml	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ WebApplication1/Views/Account/ExternalLoginConfirmation.cshtml	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -1,367 +1,38 @@
 ﻿@model WebApplication1.Models.ExternalLoginConfirmationViewModel
 @{
-    ViewBag.Title = "Заврши регистрација";
+    ViewBag.Title = "Register";
 }
+<main aria-labelledby="title">
+    <h2 id="title">@ViewBag.Title.</h2>
+    <h3>Associate your @ViewBag.LoginProvider account.</h3>
 
-@{
-    // 1. DATA SOURCES (Copied from Register view)
-    var topicOptions = new[] {
-        new SelectListItem { Text = "Вештачка интелигенција", Value = "Вештачка интелигенција" },
-        new SelectListItem { Text = "Машинско учење", Value = "Машинско учење" },
-        new SelectListItem { Text = "UI/UX дизајн", Value = "UI/UX дизајн" },
-        new SelectListItem { Text = "Сајбер безбедност", Value = "Сајбер безбедност" },
-        new SelectListItem { Text = "Веб програмирање", Value = "Веб програмирање" },
-        new SelectListItem { Text = "Математика", Value = "Математика" },
-        new SelectListItem { Text = "Роботика", Value = "Роботика" },
-        new SelectListItem { Text = "Едукација", Value = "Едукација" },
-        new SelectListItem { Text = "Физика", Value = "Физика" },
-        new SelectListItem { Text = "Алгоритми", Value = "Алгоритми" },
-        new SelectListItem { Text = "Уметност", Value = "Уметност" },
-        new SelectListItem { Text = "Биоинформатика", Value = "Биоинформатика" }
-    };
+    @using (Html.BeginForm("ExternalLoginConfirmation", "Account", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { role = "form" }))
+    {
+        @Html.AntiForgeryToken()
 
-    var subjectOptions = new[] {
-        new SelectListItem { Text = "Вештачка интелигенција", Value = "Вештачка интелигенција" },
-        new SelectListItem { Text = "Интернет технологии", Value = "Интернет технологии" },
-        new SelectListItem { Text = "Оперативни системи", Value = "Оперативни системи" },
-        new SelectListItem { Text = "Анализа на софтверски барања", Value = "Анализа на софтверски барања" },
-        new SelectListItem { Text = "Интернет програмирање на клиентска страна", Value = "Интернет програмирање на клиентска страна" },
-        new SelectListItem { Text = "Математика 3", Value = "Математика 3" },
-        new SelectListItem { Text = "Веројатност и статистика", Value = "Веројатност и статистика" },
-        new SelectListItem { Text = "Мултимедијални технологии", Value = "Мултимедијални технологии" },
-        new SelectListItem { Text = "Дигитизација", Value = "Дигитизација" },
-        new SelectListItem { Text = "Економија за ИКТ инженери", Value = "Економија за ИКТ инженери" },
-        new SelectListItem { Text = "Маркетинг", Value = "Маркетинг" },
-        new SelectListItem { Text = "Објектно ориентирано програмирање", Value = "Објектно ориентирано програмирање" }
-    };
-
-    var majorOptions = new List<SelectListItem> {
-        new SelectListItem { Text = "СИИС", Value = "СИИС" },
-        new SelectListItem { Text = "ИМБ", Value = "ИМБ" },
-        new SelectListItem { Text = "ПИТ", Value = "ПИТ" },
-        new SelectListItem { Text = "КИ", Value = "КИ" },
-        new SelectListItem { Text = "КН", Value = "КН" },
-        new SelectListItem { Text = "SEIS", Value = "SEIS" },
-    };
-}
-
-<main class="d-flex justify-content-center align-items-start py-5">
-    <div class="card shadow-sm w-100" style="max-width: 600px;">
-        <div class="card-body p-4">
-            <h3 class="card-title text-center text-primary mb-4">Заврши регистрација</h3>
-            <p class="text-center text-muted">Поврзани сте со <strong>@ViewBag.LoginProvider</strong>. Ве молиме пополнете ги останатите податоци.</p>
-
-            @using (Html.BeginForm("ExternalLoginConfirmation", "Account", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { @class = "needs-validation", role = "form", novalidate = "novalidate" }))
-            {
-                @Html.AntiForgeryToken()
-                @Html.ValidationSummary(true, "", new { @class = "text-danger mb-3" })
-
-                <div class="step" id="step-1">
-                    <div class="row">
-                        <div class="col-md-12 mb-2">
-                            <label class="form-label">E‑mail</label>
-                            @* Readonly because it comes from external provider *@
-                            @Html.TextBoxFor(m => m.Email, new { @class = "form-control", @readonly = "readonly" })
-                            @Html.ValidationMessageFor(m => m.Email, "", new { @class = "text-danger" })
-                        </div>
-                    </div>
-
-                    <div class="row">
-                        <div class="col-md-6">
-                            @Html.LabelFor(m => m.Name, "Име", new { @class = "col-form-label" })
-                            @Html.TextBoxFor(m => m.Name, new { @class = "form-control" })
-                            @Html.ValidationMessageFor(m => m.Name, "", new { @class = "text-danger" })
-                        </div>
-                        <div class="col-md-6">
-                            @Html.LabelFor(m => m.Surname, "Презиме", new { @class = "col-form-label" })
-                            @Html.TextBoxFor(m => m.Surname, new { @class = "form-control" })
-                            @Html.ValidationMessageFor(m => m.Surname, "", new { @class = "text-danger" })
-                        </div>
-                    </div>
-
-                    <div class="row mt-3">
-                        <label class="form-label">Јас сум…</label>
-                        <div>
-                            @Html.RadioButtonFor(m => m.UserType, "Student", new { @class = "form-check-input", id = "typeStudent" })
-                            <label class="form-check-label me-3" for="typeStudent">Студент</label>
-
-                            @Html.RadioButtonFor(m => m.UserType, "Mentor", new { @class = "form-check-input", id = "typeMentor" })
-                            <label class="form-check-label" for="typeMentor">Ментор</label>
-                        </div>
-                        @Html.ValidationMessageFor(m => m.UserType, "", new { @class = "text-danger" })
-                    </div>
-
-                    <div class="d-flex justify-content-end mt-4">
-                        <button type="button" class="btn btn-primary" onclick="nextStep(1)">Следно</button>
-                    </div>
-                </div>
-
-                <div class="step d-none" id="step-2">
-                    <div class="col-md-12">
-                        @Html.LabelFor(m => m.Biography, "Внесете кратка биографија", new { @class = "col-form-label" })
-                        @Html.TextAreaFor(m => m.Biography, 5, 0, new { @class = "form-control" })
-                    </div>
-
-                    @* --- SUBJECTS --- *@
-                    <script type="text/html" id="subject-item-template">
-                        <li class="subject-item d-flex align-items-center mb-1">
-                            <span class="subject-text"></span>
-                            <button type="button" class="btn btn-sm btn-danger ml-2 remove-subject">×</button>
-                            <input type="hidden" name="Subjects" class="subject-hidden" value="" />
-                        </li>
-                    </script>
-
-                    <div class="form-group row mt-3">
-                        @Html.Label("Subjects", "Предмети", new { @class = "col-form-label" })
-                        <div class="col-md-12">
-                            <div class="input-group mb-2">
-                                <select id="subjectSelect" class="form-control">
-                                    <option value="">-- Избери предмет --</option>
-                                    @foreach (var opt in subjectOptions)
-                                    {
-                                        <option value="@opt.Value">@opt.Text</option>
-                                    }
-                                </select>
-                                <div class="input-group-append">
-                                    <button id="addSubjectBtn" type="button" class="btn btn-primary">Додади</button>
-                                </div>
-                            </div>
-                            <ul id="selectedSubjectsList" class="list-unstyled">
-                                @if (Model?.Subjects != null)
-                                {
-                                    foreach (var t in Model.Subjects)
-                                    {
-                                        <li class="subject-item d-flex align-items-center mb-1">
-                                            <span class="subject-text">@t</span>
-                                            <button type="button" class="btn btn-sm btn-danger ml-2 remove-subject">×</button>
-                                            <input type="hidden" name="Subjects" class="subject-hidden" value="@t" />
-                                        </li>
-                                    }
-                                }
-                            </ul>
-                        </div>
-                    </div>
-
-                    @* --- TOPICS --- *@
-                    <script type="text/html" id="topic-item-template">
-                        <li class="topic-item d-flex align-items-center mb-1">
-                            <span class="topic-text"></span>
-                            <button type="button" class="btn btn-sm btn-danger ml-2 remove-topic">×</button>
-                            <input type="hidden" name="Topics" class="topic-hidden" value="" />
-                        </li>
-                    </script>
-
-                    <div class="form-group row mt-2">
-                        @Html.Label("Topics", "Лични интереси", new { @class = "col-form-label" })
-                        <div class="col-md-12">
-                            <div class="input-group mb-2">
-                                <select id="topicSelect" class="form-control">
-                                    <option value="">-- Избери тема на интерес --</option>
-                                    @foreach (var opt in topicOptions)
-                                    {
-                                        <option value="@opt.Value">@opt.Text</option>
-                                    }
-                                </select>
-                                <div class="input-group-append">
-                                    <button id="addTopicBtn" type="button" class="btn btn-primary">Додади</button>
-                                </div>
-                            </div>
-                            <ul id="selectedTopicsList" class="list-unstyled">
-                                @if (Model?.Topics != null)
-                                {
-                                    foreach (var t in Model.Topics)
-                                    {
-                                        <li class="topic-item d-flex align-items-center mb-1">
-                                            <span class="topic-text">@t</span>
-                                            <button type="button" class="btn btn-sm btn-danger ml-2 remove-topic">×</button>
-                                            <input type="hidden" name="Topics" class="topic-hidden" value="@t" />
-                                        </li>
-                                    }
-                                }
-                            </ul>
-                        </div>
-                    </div>
-
-                    <div class="d-flex justify-content-between mt-4">
-                        <button type="button" class="btn btn-outline-secondary" onclick="prevStep(2)">Назад</button>
-                        <button type="button" class="btn btn-primary" onclick="nextStep(2)">Следно</button>
-                    </div>
-                </div>
-
-                <div class="step d-none" id="step-3">
-
-                    <div id="studentFields" class="d-none">
-                        <h5 class="text-primary mb-3">Податоци за студент</h5>
-                        <div class="row">
-                            <div class="col-md-6">
-                                @Html.LabelFor(m => m.Index, "Индекс", new { @class = "col-form-label" })
-                                @Html.TextBoxFor(m => m.Index, new { @class = "form-control" })
-                            </div>
-                            <div class="col-md-6">
-                                @Html.LabelFor(m => m.Major, "Смер", new { @class = "col-form-label" })
-                                @Html.DropDownListFor(m => m.Major, majorOptions, "-- Избери смер --", new { @class = "form-control" })
-                            </div>
-                            <div class="col-md-6">
-                                @Html.LabelFor(m => m.Cycle, "Циклус на студии", new { @class = "col-form-label" })
-                                @Html.TextBoxFor(m => m.Cycle, new { @type = "number", @class = "form-control", min = "1", max = "3" })
-                            </div>
-                            <div class="col-md-6">
-                                @Html.LabelFor(m => m.Semester, "Семестар", new { @class = "col-form-label" })
-                                @Html.TextBoxFor(m => m.Semester, new { @type = "number", @class = "form-control", min = "1", max = "8" })
-                            </div>
-                        </div>
-                    </div>
-
-                    <div id="mentorFields" class="d-none">
-                        <h5 class="text-primary mb-3">Податоци за ментор</h5>
-                        <div class="mb-3">
-                            @Html.LabelFor(m => m.Available, "Дали прифаќате барања за менторство?", new { @class = "col-form-label d-block" })
-                            <div class="form-check form-check-inline">
-                                @Html.RadioButtonFor(m => m.Available, true, new { @class = "form-check-input" })
-                                <label class="form-check-label">Да</label>
-                            </div>
-                            <div class="form-check form-check-inline">
-                                @Html.RadioButtonFor(m => m.Available, false, new { @class = "form-check-input" })
-                                <label class="form-check-label">Не</label>
-                            </div>
-                        </div>
-
-                        <div class="mb-3">
-                            @Html.LabelFor(m => m.Timeslots, "Слободни термини", new { @class = "col-form-label" })
-                            @Html.TextBoxFor(m => m.Timeslots, new { @class = "form-control" })
-                        </div>
-
-                        <div class="mb-3">
-                            @Html.LabelFor(m => m.TypesOfProject, "За каков тип на проекти би биле ментор?", new { @class = "col-form-label" })
-                            @Html.TextBoxFor(m => m.TypesOfProject, new { @class = "form-control" })
-                        </div>
-                    </div>
-
-                    <div class="d-flex justify-content-between mt-4">
-                        <button type="button" class="btn btn-outline-secondary" onclick="prevStep(3)">Назад</button>
-                        <button type="submit" class="btn btn-primary">Креирај профил</button>
-                    </div>
-                </div>
-            }
+        <h4>Association Form</h4>
+        <hr />
+        @Html.ValidationSummary(true, "", new { @class = "text-danger" })
+        <p class="text-info">
+            You've successfully authenticated with <strong>@ViewBag.LoginProvider</strong>.
+            Please enter a user name for this site below and click the Register button to finish
+            logging in.
+        </p>
+        <div class="row">
+            @Html.LabelFor(m => m.Email, new { @class = "col-md-2 col-form-label" })
+            <div class="col-md-10">
+                @Html.TextBoxFor(m => m.Email, new { @class = "form-control" })
+                @Html.ValidationMessageFor(m => m.Email, "", new { @class = "text-danger" })
+            </div>
         </div>
-    </div>
+        <div class="row">
+            <div class="offset-md-2 col-md-10">
+                <input type="submit" class="btn btn-outline-dark" value="Register" />
+            </div>
+        </div>
+    }
 </main>
 
 @section Scripts {
     @Scripts.Render("~/bundles/jqueryval")
-    <link rel="stylesheet" href="jquery/jquery-ui.css">
-    <script src="jquery/jquery.js"></script>
-    <script src="jquery/jquery-ui.js"></script>
-
-    <script>
-        // -------------------------
-        // TOPIC & SUBJECT ADDERS
-        // -------------------------
-        (function () {
-            // -- Topics Logic --
-            var selectT = document.getElementById('topicSelect');
-            var addBtnT = document.getElementById('addTopicBtn');
-            var listT = document.getElementById('selectedTopicsList');
-            var templateHtmlT = document.getElementById('topic-item-template').innerHTML;
-
-            function addTopic(value, text) {
-                var existing = Array.from(listT.querySelectorAll('.topic-hidden'))
-                    .some(i => i.value === value);
-                if (!value || existing) return;
-
-                var div = document.createElement('div');
-                div.innerHTML = templateHtmlT;
-                var li = div.firstElementChild;
-
-                li.querySelector('.topic-text').textContent = text;
-                li.querySelector('.topic-hidden').value = value;
-                li.querySelector('.remove-topic').addEventListener('click', function () {
-                    li.parentNode.removeChild(li);
-                });
-                listT.appendChild(li);
-            }
-
-            addBtnT.addEventListener('click', function () {
-                var val = selectT.value, txt = selectT.options[selectT.selectedIndex].text;
-                addTopic(val, txt);
-            });
-
-            // -- Subjects Logic --
-            var selectS = document.getElementById('subjectSelect');
-            var addBtnS = document.getElementById('addSubjectBtn');
-            var listS = document.getElementById('selectedSubjectsList');
-            var templateHtmlS = document.getElementById('subject-item-template').innerHTML;
-
-            function addSubject(value, text) {
-                var existing = Array.from(listS.querySelectorAll('.subject-hidden'))
-                    .some(i => i.value === value);
-                if (!value || existing) return;
-
-                var div = document.createElement('div');
-                div.innerHTML = templateHtmlS;
-                var li = div.firstElementChild;
-
-                li.querySelector('.subject-text').textContent = text;
-                li.querySelector('.subject-hidden').value = value;
-                li.querySelector('.remove-subject').addEventListener('click', function () {
-                    li.parentNode.removeChild(li);
-                });
-                listS.appendChild(li);
-            }
-
-            addBtnS.addEventListener('click', function () {
-                var val = selectS.value, txt = selectS.options[selectS.selectedIndex].text;
-                addSubject(val, txt);
-            });
-        })();
-
-        // -------------------------
-        // WIZARD STEPS LOGIC
-        // -------------------------
-        let current = 1;
-
-        function showStep(n) {
-            document.querySelectorAll('.step').forEach((el, idx) => {
-                el.classList.toggle('d-none', idx + 1 !== n);
-            });
-
-            // Logic for showing Student vs Mentor fields in Step 3
-            if (n === 3) {
-                const type = document.querySelector('input[name="UserType"]:checked')?.value;
-
-                const sFields = document.getElementById('studentFields');
-                const mFields = document.getElementById('mentorFields');
-
-                if (type === 'Student') {
-                    sFields.classList.remove('d-none');
-                    mFields.classList.add('d-none');
-                } else {
-                    sFields.classList.add('d-none');
-                    mFields.classList.remove('d-none');
-                }
-            }
-        }
-
-        function nextStep(n) {
-            // Simple validation check on Step 1
-            if (n === 1) {
-                const form = document.querySelector('form.needs-validation');
-                if (!form.checkValidity()) {
-                    form.classList.add('was-validated');
-                    // In a real app you might want to stop here,
-                    // but for this example we allow flow if using client-side validation only
-                }
-            }
-            current = n + 1;
-            showStep(current);
-        }
-
-        function prevStep(n) {
-            current = n - 1;
-            showStep(current);
-        }
-
-        // Initialize
-        document.addEventListener('DOMContentLoaded', () => showStep(1));
-    </script>
 }
Index: WebApplication1/Views/Account/Inbox.cshtml
===================================================================
--- WebApplication1/Views/Account/Inbox.cshtml	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ WebApplication1/Views/Account/Inbox.cshtml	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -67,6 +67,5 @@
                                             data-message="@item.Message"
                                             data-timestamp="@item.Timestamp.ToString("g")"
-                                            data-contact-status="@(item.ContactStatus?.ToString() ?? "")"
-                                            data-selected-topic="@Html.Raw(HttpUtility.HtmlEncode(item.SelectedTopicTitle ?? ""))">
+                                            data-contact-status="@(item.ContactStatus?.ToString() ?? "")">
                                             <td class="fw-semibold">@item.StudentName</td>
                                             <td>@item.Subject</td>
@@ -245,7 +244,4 @@
                     <dd class="col-sm-9" id="reqSubject"></dd>
 
-                    <dt class="col-sm-3">Избрана тема</dt>
-                    <dd class="col-sm-9" id="reqSelectedTopic">—</dd>
-
                     <dt class="col-sm-3">Тип</dt>
                     <dd class="col-sm-9" id="reqType"></dd>
@@ -308,5 +304,4 @@
                     $('#reqStudent').text($row.data('student'));
                     $('#reqSubject').text($row.data('subject'));
-                    $('#reqSelectedTopic').text($row.data('selected-topic') || '—');
                     $('#reqType').text($row.data('type'));
                     $('#reqTeamSize').text($row.data('teamsize'));
Index: WebApplication1/Views/Account/Login.cshtml
===================================================================
--- WebApplication1/Views/Account/Login.cshtml	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ WebApplication1/Views/Account/Login.cshtml	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -10,5 +10,4 @@
             <h3 class="card-title text-center text-primary mb-4">Најава</h3>
 
-            @* LOCAL LOGIN*@
             @using (Html.BeginForm("Login", "Account", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { @class = "needs-validation", novalidate = "novalidate" }))
             {
@@ -35,31 +34,9 @@
                 <button type="submit" class="btn btn-primary w-100 mb-3">Најави се</button>
 
+                <div class="text-center">
+                    <span>Непостоечки профил?</span>
+                    @Html.ActionLink("Регистрирај се", "Register", "Account", null, new { @class = "link-primary ms-1" })
+                </div>
             }
-
-            <div class="text-center mb-2">
-                <span>Непостоечки профил?</span>
-                @Html.ActionLink("Регистрирај се", "Register", "Account", null, new { @class = "link-primary ms-1" })
-            </div>
-
-            @* EXTERNAL LOGIN*@
-            @using (Html.BeginForm("ExternalLogin", "Account", FormMethod.Post, new { id = "externalLoginForm", @class = "d-grid gap-2" }))
-            {
-                @Html.AntiForgeryToken()
-                @* preserve returnUrl *@
-                @Html.Hidden("returnUrl", ViewBag.ReturnUrl as string)
-
-                <button type="submit" name="provider" value="Google" class="btn btn-outline-primary">
-                    <i class="bi bi-google"></i> Continue with Google
-                </button>
-
-                <button type="submit" name="provider" value="Microsoft" class="btn btn-outline-primary">
-                    <i class="bi bi-microsoft"></i> Continue with Microsoft
-                </button>
-
-                <button type="submit" name="provider" value="GitHub" class="btn btn-outline-dark">
-                    <i class="bi bi-github"></i> Continue with GitHub
-                </button>
-            }
-
         </div>
     </div>
Index: WebApplication1/Views/Account/MentorProfile.cshtml
===================================================================
--- WebApplication1/Views/Account/MentorProfile.cshtml	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ WebApplication1/Views/Account/MentorProfile.cshtml	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -110,102 +110,4 @@
 <hr />
 
-<div class="row">
-    <div class="col-12">
-        <h5 class="text-primary">Предлози за теми</h5>
-
-        @if (Model.TopicSuggestions != null && Model.TopicSuggestions.Any())
-        {
-            <div class="list-group">
-                @foreach (var ts in Model.TopicSuggestions)
-                {
-                    var taken = ts.IsAssigned;
-                    <a href="#" class="list-group-item list-group-item-action topic-suggestion-row d-flex justify-content-between align-items-start"
-                       data-id="@ts.Id"
-                       data-title="@ts.Title"
-                       data-desc="@ts.Description"
-                       data-isassigned="@(ts.IsAssigned ? "1" : "0")"
-                       data-assigned-id="@(ts.AssignedStudentId?.ToString() ?? "")"
-                       data-assigned-name="@Html.Raw(HttpUtility.HtmlEncode(ts.AssignedStudentName ?? ""))"
-                       data-created="@ts.CreatedAt.ToString("g")">
-                        <div class="me-3">
-                            <div class="fw-semibold text-primary">@ts.Title</div>
-                            <small class="text-muted">@((ts.Description ?? "").Length > 120 ? (ts.Description.Substring(0, 120) + "…") : ts.Description)</small>
-                        </div>
-                        <div class="text-end">
-                            @if (taken)
-                            {
-                                <span class="badge bg-danger">Доделено</span>
-
-                                var viewerId = (ViewBag.ViewerId as string) ?? "";
-                                var assignedId = ts.AssignedStudentId?.ToString() ?? "";
-                                var viewerIsAssigned = !String.IsNullOrEmpty(assignedId) && assignedId == viewerId;
-                                var showAssignedLabel = (ViewBag.IsOwner as bool? ?? false) || viewerIsAssigned;
-
-
-                                if (showAssignedLabel)
-                                {
-                                    <div class="small text-muted mt-1">На: @ts.AssignedStudentName</div>
-                                }
-                            }
-                            else
-                            {
-                                <span class="badge bg-success">Достапно</span>
-                            }
-                            <div class="small text-muted mt-1">@ts.CreatedAt.ToLocalTime().ToString("g")</div>
-                        </div>
-                    </a>
-                }
-            </div>
-        }
-        else
-        {
-            <p class="text-muted">Менторот нема понудени теми.</p>
-        }
-    </div>
-</div>
-
-<!-- topic suggestion modal -->
-<div class="modal fade" id="topicSuggestionModal" tabindex="-1" aria-labelledby="topicSuggestionLabel" aria-hidden="true">
-    <div class="modal-dialog modal-dialog-centered modal-lg">
-        <div class="modal-content border-0 shadow">
-            <div class="modal-header bg-primary text-white">
-                <h5 class="modal-title" id="topicSuggestionLabel">Предлог тема</h5>
-                <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Затвори"></button>
-            </div>
-
-            <div class="modal-body">
-                <div class="row g-3">
-                    <div class="col-md-8">
-                        <h4 id="tsTitle" class="text-primary fw-semibold mb-2"></h4>
-                        <p id="tsDesc" class="text-muted mb-0"></p>
-                    </div>
-
-                    <div class="col-md-4">
-                        <div class="card shadow-sm">
-                            <div class="card-body p-3">
-                                <div class="mb-2 small text-muted">Статус</div>
-                                <div id="tsStatus" class="mb-3"></div>
-
-                                <div class="mb-2 small text-muted">Додадена</div>
-                                <div id="tsCreated" class="mb-3 small text-muted"></div>
-
-                                <div class="mb-2 small text-muted ts-assigned-label">Доделена на студент</div>
-                                <div id="tsAssignedTo" class="mb-0 small text-muted ts-assigned-value"></div>
-                            </div>
-                        </div>
-                    </div>
-                </div>
-            </div>
-
-            <div class="modal-footer">
-                <button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">Затвори</button>
-            </div>
-        </div>
-    </div>
-</div>
-
-
-<hr />
-
 <div class="mt-4">
     <h5 class="text-primary">Мислења од студенти</h5>
@@ -236,10 +138,4 @@
 
 @section Scripts {
-
-    <script>
-    window.viewerId = '@HttpUtility.JavaScriptStringEncode(ViewBag.ViewerId ?? "")';
-    window.isOwner = @((ViewBag.IsOwner as bool? ?? false).ToString().ToLower());
-    </script>
-
     <script>
         (function ($) {
@@ -364,49 +260,3 @@
     </script>
 
-    <script>
-        (function ($) {
-            $(function () {
-                // requires window.viewerId and window.isOwner to be set before this script runs
-                $(document).off('click', '.topic-suggestion-row').on('click', '.topic-suggestion-row', function (e) {
-                    e.preventDefault();
-                    var $el = $(this);
-                    var title = $el.data('title') || '';
-                    var desc = $el.data('desc') || '';
-                    var isAssigned = $el.data('isassigned') == "1";
-                    var assignedName = $el.data('assigned-name') || '';
-                    var assignedId = ($el.data('assigned-id') || '').toString();
-                    var created = $el.data('created') || '';
-
-                    var $modal = $('#topicSuggestionModal');
-
-                    // populate main content
-                    $modal.find('#tsTitle').text(title);
-                    $modal.find('#tsDesc').text(desc);
-                    $modal.find('#tsCreated').text(created);
-
-                    // status badge
-                    if (isAssigned) {
-                        $modal.find('#tsStatus').html('<span class="badge bg-danger">Доделен</span>');
-                    } else {
-                        $modal.find('#tsStatus').html('<span class="badge bg-success">Достапен</span>');
-                    }
-
-                    // permission check: show assigned student only to owner or assigned student
-                    var viewerId = (window.viewerId || '').toString();
-                    var isOwner = !!window.isOwner;
-
-                    if (isAssigned && (isOwner || (assignedId && assignedId === viewerId))) {
-                        $modal.find('.ts-assigned-label').show();
-                        $modal.find('.ts-assigned-value').text(assignedName || '—').show();
-                    } else {
-                        $modal.find('.ts-assigned-label').hide();
-                        $modal.find('.ts-assigned-value').hide().text('');
-                    }
-
-                    $modal.modal('show');
-                });
-            });
-        })(jQuery);
-    </script>
-
 }
Index: WebApplication1/Views/Web.config
===================================================================
--- WebApplication1/Views/Web.config	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ WebApplication1/Views/Web.config	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -23,4 +23,8 @@
   </system.web.webPages.razor>
 
+  <appSettings>
+    <add key="webpages:Enabled" value="false" />
+  </appSettings>
+
   <system.webServer>
     <handlers>
Index: WebApplication1/Web.config
===================================================================
--- WebApplication1/Web.config	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ WebApplication1/Web.config	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -17,24 +17,4 @@
     <add key="ClientValidationEnabled" value="true" />
     <add key="UnobtrusiveJavaScriptEnabled" value="true" />
-	<add key="webpages:Enabled" value="false" />
-	<add key="owin:AutomaticAppStartup" value="true" />
-	  
-	<add key="GoogleClientId" value="593207670619-o68en5ihr8dsp29f18f2qeldthksuibd.apps.googleusercontent.com" />
-	<add key="GoogleClientSecret" value="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" />
-
-	<add key="GitHubClientId" value="Ov23lioYcHPFgb2dK2ti" />
-	<add key="GitHubClientSecret" value="36c34a91a71a3c21759473be05ace0ccad30637f" />
-
-	<add key="MicrosoftClientId" value="2c326394-08a8-4e1f-8d65-2fcefab863c9" />
-	<add key="MicrosoftClientSecret" value="ad945286-f916-4694-8400-21b93f57760a" />
-
-	  <add key="Smtp:Host" value="smtp.gmail.com" />
-	  <add key="Smtp:Port" value="587" />
-	  <add key="Smtp:Username" value="najdimentor@gmail.com" />
-	  <add key="Smtp:Password" value="jylbzqvlwmotxqwo" /> 
-	  <!--Password123!Password123! za temp email-->
-	  <add key="Smtp:EnableSsl" value="true" />
-	  <add key="Email:From" value="najdimentor@gmail.com" />
-	  <add key="Email:FromDisplayName" value="Најди Ментор" />
   </appSettings>
   <system.web>
@@ -52,17 +32,17 @@
       <dependentAssembly>
         <assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" />
-        <bindingRedirect oldVersion="0.0.0.0-4.2.3.0" newVersion="4.2.3.0" />
+        <bindingRedirect oldVersion="0.0.0.0-4.2.2.0" newVersion="4.2.2.0" />
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="Microsoft.Owin.Security.OAuth" publicKeyToken="31bf3856ad364e35" />
-        <bindingRedirect oldVersion="0.0.0.0-4.2.3.0" newVersion="4.2.3.0" />
+        <bindingRedirect oldVersion="0.0.0.0-4.2.2.0" newVersion="4.2.2.0" />
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="Microsoft.Owin.Security.Cookies" publicKeyToken="31bf3856ad364e35" />
-        <bindingRedirect oldVersion="0.0.0.0-4.2.3.0" newVersion="4.2.3.0" />
+        <bindingRedirect oldVersion="0.0.0.0-4.2.2.0" newVersion="4.2.2.0" />
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" />
-        <bindingRedirect oldVersion="0.0.0.0-4.2.3.0" newVersion="4.2.3.0" />
+        <bindingRedirect oldVersion="0.0.0.0-4.2.2.0" newVersion="4.2.2.0" />
       </dependentAssembly>
       <dependentAssembly>
Index: WebApplication1/WebApplication1.csproj
===================================================================
--- WebApplication1/WebApplication1.csproj	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ WebApplication1/WebApplication1.csproj	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -54,25 +54,4 @@
     </Reference>
     <Reference Include="Microsoft.CSharp" />
-    <Reference Include="Microsoft.Owin, Version=4.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Owin.4.2.3\lib\net45\Microsoft.Owin.dll</HintPath>
-    </Reference>
-    <Reference Include="Microsoft.Owin.Host.SystemWeb, Version=4.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Owin.Host.SystemWeb.4.2.3\lib\net45\Microsoft.Owin.Host.SystemWeb.dll</HintPath>
-    </Reference>
-    <Reference Include="Microsoft.Owin.Security, Version=4.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Owin.Security.4.2.3\lib\net45\Microsoft.Owin.Security.dll</HintPath>
-    </Reference>
-    <Reference Include="Microsoft.Owin.Security.Cookies, Version=4.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Owin.Security.Cookies.4.2.3\lib\net45\Microsoft.Owin.Security.Cookies.dll</HintPath>
-    </Reference>
-    <Reference Include="Microsoft.Owin.Security.Google, Version=4.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Owin.Security.Google.4.2.3\lib\net45\Microsoft.Owin.Security.Google.dll</HintPath>
-    </Reference>
-    <Reference Include="Microsoft.Owin.Security.OAuth, Version=4.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Owin.Security.OAuth.4.2.3\lib\net45\Microsoft.Owin.Security.OAuth.dll</HintPath>
-    </Reference>
-    <Reference Include="Owin.Security.Providers.GitHub, Version=2.0.0.0, Culture=neutral, PublicKeyToken=1328b8c16b108c43, processorArchitecture=MSIL">
-      <HintPath>..\packages\Owin.Security.Providers.GitHub.2.26.0\lib\net45\Owin.Security.Providers.GitHub.dll</HintPath>
-    </Reference>
     <Reference Include="PagedList, Version=1.17.0.0, Culture=neutral, PublicKeyToken=abbb863e9397c5e1, processorArchitecture=MSIL">
       <HintPath>..\packages\PagedList.1.17.0.0\lib\net40\PagedList.dll</HintPath>
@@ -84,5 +63,4 @@
     <Reference Include="System.Data" />
     <Reference Include="System.Drawing" />
-    <Reference Include="System.Security" />
     <Reference Include="System.Web.DynamicData" />
     <Reference Include="System.Web.Entity" />
@@ -160,7 +138,22 @@
       <HintPath>..\packages\Owin.1.0\lib\net40\Owin.dll</HintPath>
     </Reference>
+    <Reference Include="Microsoft.Owin">
+      <HintPath>..\packages\Microsoft.Owin.4.2.2\lib\net45\Microsoft.Owin.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Owin.Host.SystemWeb">
+      <HintPath>..\packages\Microsoft.Owin.Host.SystemWeb.4.2.2\lib\net45\Microsoft.Owin.Host.SystemWeb.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Owin.Security">
+      <HintPath>..\packages\Microsoft.Owin.Security.4.2.2\lib\net45\Microsoft.Owin.Security.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Owin.Security.Cookies">
+      <HintPath>..\packages\Microsoft.Owin.Security.Facebook.4.2.2\lib\net45\Microsoft.Owin.Security.Facebook.dll</HintPath>
+    </Reference>
     <Reference Include="Microsoft.Owin.Security.Cookies">
       <HintPath>..\packages\Microsoft.Owin.Security.Cookies.4.2.2\lib\net45\Microsoft.Owin.Security.Cookies.dll</HintPath>
     </Reference>
+    <Reference Include="Microsoft.Owin.Security.Google">
+      <HintPath>..\packages\Microsoft.Owin.Security.Google.4.2.2\lib\net45\Microsoft.Owin.Security.Google.dll</HintPath>
+    </Reference>
     <Reference Include="Microsoft.Owin.Security.Twitter">
       <HintPath>..\packages\Microsoft.Owin.Security.Twitter.4.2.2\lib\net45\Microsoft.Owin.Security.Twitter.dll</HintPath>
@@ -168,4 +161,7 @@
     <Reference Include="Microsoft.Owin.Security.MicrosoftAccount">
       <HintPath>..\packages\Microsoft.Owin.Security.MicrosoftAccount.4.2.2\lib\net45\Microsoft.Owin.Security.MicrosoftAccount.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Owin.Security.OAuth">
+      <HintPath>..\packages\Microsoft.Owin.Security.OAuth.4.2.2\lib\net45\Microsoft.Owin.Security.OAuth.dll</HintPath>
     </Reference>
     <Reference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform">
@@ -201,16 +197,4 @@
       <DependentUpon>202512272058014_AddOpinionEntity.cs</DependentUpon>
     </Compile>
-    <Compile Include="Migrations\202602172104178_AddTopicSuggestions.cs" />
-    <Compile Include="Migrations\202602172104178_AddTopicSuggestions.Designer.cs">
-      <DependentUpon>202602172104178_AddTopicSuggestions.cs</DependentUpon>
-    </Compile>
-    <Compile Include="Migrations\202602182016401_FixTopicSuggestions.cs" />
-    <Compile Include="Migrations\202602182016401_FixTopicSuggestions.Designer.cs">
-      <DependentUpon>202602182016401_FixTopicSuggestions.cs</DependentUpon>
-    </Compile>
-    <Compile Include="Migrations\202603012257163_AddTopicSuggestionToMentorContact.cs" />
-    <Compile Include="Migrations\202603012257163_AddTopicSuggestionToMentorContact.Designer.cs">
-      <DependentUpon>202603012257163_AddTopicSuggestionToMentorContact.cs</DependentUpon>
-    </Compile>
     <Compile Include="Migrations\Configuration.cs" />
     <Compile Include="Models\AccountViewModels.cs" />
@@ -226,5 +210,4 @@
     <Compile Include="Models\Subject.cs" />
     <Compile Include="Models\Topic.cs" />
-    <Compile Include="Models\TopicSuggestion.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="Startup.cs" />
@@ -386,13 +369,4 @@
       <DependentUpon>202512272058014_AddOpinionEntity.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="Migrations\202602172104178_AddTopicSuggestions.resx">
-      <DependentUpon>202602172104178_AddTopicSuggestions.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="Migrations\202602182016401_FixTopicSuggestions.resx">
-      <DependentUpon>202602182016401_FixTopicSuggestions.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="Migrations\202603012257163_AddTopicSuggestionToMentorContact.resx">
-      <DependentUpon>202603012257163_AddTopicSuggestionToMentorContact.cs</DependentUpon>
-    </EmbeddedResource>
   </ItemGroup>
   <PropertyGroup>
Index: WebApplication1/bin/Microsoft.Owin.Host.SystemWeb.xml
===================================================================
--- WebApplication1/bin/Microsoft.Owin.Host.SystemWeb.xml	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ WebApplication1/bin/Microsoft.Owin.Host.SystemWeb.xml	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -316,9 +316,4 @@
             Throw if not all chunks of a cookie are available on a request for re-assembly.
             </summary>
-            <remarks>
-            By default, this property is set to <see langword="false"/>. In this case,
-            <see cref="M:Microsoft.Owin.Host.SystemWeb.SystemWebChunkingCookieManager.GetRequestCookie(Microsoft.Owin.IOwinContext,System.String)"/> returns "chunks:[number of chunks]"
-            instead of causing a <see cref="T:System.FormatException"/> if one of the chunks is missing.
-            </remarks>
         </member>
         <member name="M:Microsoft.Owin.Host.SystemWeb.SystemWebChunkingCookieManager.GetRequestCookie(Microsoft.Owin.IOwinContext,System.String)">
Index: WebApplication1/bin/Microsoft.Owin.Security.Facebook.xml
===================================================================
--- WebApplication1/bin/Microsoft.Owin.Security.Facebook.xml	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
+++ WebApplication1/bin/Microsoft.Owin.Security.Facebook.xml	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -0,0 +1,350 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.Owin.Security.Facebook</name>
+    </assembly>
+    <members>
+        <member name="T:Microsoft.Owin.Security.Facebook.FacebookAuthenticationMiddleware">
+            <summary>
+            OWIN middleware for authenticating users using Facebook
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Facebook.FacebookAuthenticationMiddleware.#ctor(Microsoft.Owin.OwinMiddleware,Owin.IAppBuilder,Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions)">
+            <summary>
+            Initializes a <see cref="T:Microsoft.Owin.Security.Facebook.FacebookAuthenticationMiddleware"/>
+            </summary>
+            <param name="next">The next middleware in the OWIN pipeline to invoke</param>
+            <param name="app">The OWIN application</param>
+            <param name="options">Configuration options for the middleware</param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Facebook.FacebookAuthenticationMiddleware.CreateHandler">
+            <summary>
+            Provides the <see cref="T:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler"/> object for processing authentication-related requests.
+            </summary>
+            <returns>An <see cref="T:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler"/> configured with the <see cref="T:Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions"/> supplied to the constructor.</returns>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions">
+            <summary>
+            Configuration options for <see cref="T:Microsoft.Owin.Security.Facebook.FacebookAuthenticationMiddleware"/>
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions.#ctor">
+            <summary>
+            Initializes a new <see cref="T:Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions"/>
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions.AppId">
+            <summary>
+            Gets or sets the Facebook-assigned appId
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions.AppSecret">
+            <summary>
+            Gets or sets the Facebook-assigned app secret
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions.AuthorizationEndpoint">
+            <summary>
+            Gets or sets the URI where the client will be redirected to authenticate.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions.TokenEndpoint">
+            <summary>
+            Gets or sets the URI the middleware will access to exchange the OAuth token.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions.UserInformationEndpoint">
+            <summary>
+            Gets or sets the URI the middleware will access to obtain the user information.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions.BackchannelCertificateValidator">
+            <summary>
+            Gets or sets the a pinned certificate validator to use to validate the endpoints used
+            in back channel communications belong to Facebook.
+            </summary>
+            <value>
+            The pinned certificate validator.
+            </value>
+            <remarks>If this property is null then the default certificate checks are performed,
+            validating the subject name and if the signing chain is a trusted party.</remarks>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions.BackchannelTimeout">
+            <summary>
+            Gets or sets timeout value in milliseconds for back channel communications with Facebook.
+            </summary>
+            <value>
+            The back channel timeout in milliseconds.
+            </value>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions.BackchannelHttpHandler">
+            <summary>
+            The HttpMessageHandler used to communicate with Facebook.
+            This cannot be set at the same time as BackchannelCertificateValidator unless the value 
+            can be downcast to a WebRequestHandler.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions.Caption">
+            <summary>
+            Get or sets the text that the user can display on a sign in user interface.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions.CallbackPath">
+            <summary>
+            The request path within the application's base path where the user-agent will be returned.
+            The middleware will process this request when it arrives.
+            Default value is "/signin-facebook".
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions.SignInAsAuthenticationType">
+            <summary>
+            Gets or sets the name of another authentication middleware which will be responsible for actually issuing a user <see cref="T:System.Security.Claims.ClaimsIdentity"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions.Provider">
+            <summary>
+            Gets or sets the <see cref="T:Microsoft.Owin.Security.Facebook.IFacebookAuthenticationProvider"/> used to handle authentication events.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions.StateDataFormat">
+            <summary>
+            Gets or sets the type used to secure data handled by the middleware.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions.Scope">
+            <summary>
+            A list of permissions to request.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions.SendAppSecretProof">
+            <summary>
+            Gets or sets if the appsecret_proof should be generated and sent with Facebook API calls.
+            This is enabled by default.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions.Fields">
+            <summary>
+            The list of fields to retrieve from the UserInformationEndpoint.
+            https://developers.facebook.com/docs/graph-api/reference/user
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions.CookieManager">
+            <summary>
+            An abstraction for reading and setting cookies during the authentication process.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Facebook.FacebookApplyRedirectContext">
+            <summary>
+            Context passed when a Challenge causes a redirect to authorize endpoint in the Facebook middleware
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Facebook.FacebookApplyRedirectContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions,Microsoft.Owin.Security.AuthenticationProperties,System.String)">
+            <summary>
+            Creates a new context object.
+            </summary>
+            <param name="context">The OWIN request context</param>
+            <param name="options">The Facebook middleware options</param>
+            <param name="properties">The authenticaiton properties of the challenge</param>
+            <param name="redirectUri">The initial redirect URI</param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookApplyRedirectContext.RedirectUri">
+            <summary>
+            Gets the URI used for the redirect operation.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookApplyRedirectContext.Properties">
+            <summary>
+            Gets the authentication properties of the challenge
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Facebook.FacebookAuthenticatedContext">
+            <summary>
+            Contains information about the login session as well as the user <see cref="T:System.Security.Claims.ClaimsIdentity"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Facebook.FacebookAuthenticatedContext.#ctor(Microsoft.Owin.IOwinContext,Newtonsoft.Json.Linq.JObject,System.String,System.String)">
+            <summary>
+            Initializes a <see cref="T:Microsoft.Owin.Security.Facebook.FacebookAuthenticatedContext"/>
+            </summary>
+            <param name="context">The OWIN environment</param>
+            <param name="user">The JSON-serialized user</param>
+            <param name="accessToken">Facebook Access token</param>
+            <param name="expires">Seconds until expiration</param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticatedContext.User">
+            <summary>
+            Gets the JSON-serialized user
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticatedContext.AccessToken">
+            <summary>
+            Gets the Facebook access token
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticatedContext.ExpiresIn">
+            <summary>
+            Gets the Facebook access token expiration time
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticatedContext.Id">
+            <summary>
+            Gets the Facebook user ID
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticatedContext.Name">
+            <summary>
+            Gets the user's name
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticatedContext.UserName">
+            <summary>
+            Gets the Facebook username
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticatedContext.Email">
+            <summary>
+            Gets the Facebook email
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticatedContext.Identity">
+            <summary>
+            Gets the <see cref="T:System.Security.Claims.ClaimsIdentity"/> representing the user
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticatedContext.Properties">
+            <summary>
+            Gets or sets a property bag for common authentication properties
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Facebook.FacebookAuthenticationProvider">
+            <summary>
+            Default <see cref="T:Microsoft.Owin.Security.Facebook.IFacebookAuthenticationProvider"/> implementation.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Facebook.FacebookAuthenticationProvider.#ctor">
+            <summary>
+            Initializes a <see cref="T:Microsoft.Owin.Security.Facebook.FacebookAuthenticationProvider"/>
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticationProvider.OnAuthenticated">
+            <summary>
+            Gets or sets the function that is invoked when the Authenticated method is invoked.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticationProvider.OnReturnEndpoint">
+            <summary>
+            Gets or sets the function that is invoked when the ReturnEndpoint method is invoked.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.FacebookAuthenticationProvider.OnApplyRedirect">
+            <summary>
+            Gets or sets the delegate that is invoked when the ApplyRedirect method is invoked.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Facebook.FacebookAuthenticationProvider.Authenticated(Microsoft.Owin.Security.Facebook.FacebookAuthenticatedContext)">
+            <summary>
+            Invoked whenever Facebook succesfully authenticates a user
+            </summary>
+            <param name="context">Contains information about the login session as well as the user <see cref="T:System.Security.Claims.ClaimsIdentity"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> representing the completed operation.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Facebook.FacebookAuthenticationProvider.ReturnEndpoint(Microsoft.Owin.Security.Facebook.FacebookReturnEndpointContext)">
+            <summary>
+            Invoked prior to the <see cref="T:System.Security.Claims.ClaimsIdentity"/> being saved in a local cookie and the browser being redirected to the originally requested URL.
+            </summary>
+            <param name="context"></param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> representing the completed operation.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Facebook.FacebookAuthenticationProvider.ApplyRedirect(Microsoft.Owin.Security.Facebook.FacebookApplyRedirectContext)">
+            <summary>
+            Called when a Challenge causes a redirect to authorize endpoint in the Facebook middleware
+            </summary>
+            <param name="context">Contains redirect URI and <see cref="T:Microsoft.Owin.Security.AuthenticationProperties"/> of the challenge </param>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Facebook.FacebookReturnEndpointContext">
+            <summary>
+            Provides context information to middleware providers.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Facebook.FacebookReturnEndpointContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.AuthenticationTicket)">
+            <summary>
+            
+            </summary>
+            <param name="context">OWIN environment</param>
+            <param name="ticket">The authentication ticket</param>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Facebook.IFacebookAuthenticationProvider">
+            <summary>
+            Specifies callback methods which the <see cref="T:Microsoft.Owin.Security.Facebook.FacebookAuthenticationMiddleware"></see> invokes to enable developer control over the authentication process. />
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Facebook.IFacebookAuthenticationProvider.Authenticated(Microsoft.Owin.Security.Facebook.FacebookAuthenticatedContext)">
+            <summary>
+            Invoked whenever Facebook succesfully authenticates a user
+            </summary>
+            <param name="context">Contains information about the login session as well as the user <see cref="T:System.Security.Claims.ClaimsIdentity"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> representing the completed operation.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Facebook.IFacebookAuthenticationProvider.ReturnEndpoint(Microsoft.Owin.Security.Facebook.FacebookReturnEndpointContext)">
+            <summary>
+            Invoked prior to the <see cref="T:System.Security.Claims.ClaimsIdentity"/> being saved in a local cookie and the browser being redirected to the originally requested URL.
+            </summary>
+            <param name="context"></param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> representing the completed operation.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Facebook.IFacebookAuthenticationProvider.ApplyRedirect(Microsoft.Owin.Security.Facebook.FacebookApplyRedirectContext)">
+            <summary>
+            Called when a Challenge causes a redirect to authorize endpoint in the Facebook middleware
+            </summary>
+            <param name="context">Contains redirect URI and <see cref="T:Microsoft.Owin.Security.AuthenticationProperties"/> of the challenge </param>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Facebook.Resources">
+            <summary>
+              A strongly-typed resource class, for looking up localized strings, etc.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.Resources.ResourceManager">
+            <summary>
+              Returns the cached ResourceManager instance used by this class.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.Resources.Culture">
+            <summary>
+              Overrides the current thread's CurrentUICulture property for all
+              resource lookups using this strongly typed resource class.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.Resources.Exception_OptionMustBeProvided">
+            <summary>
+              Looks up a localized string similar to The &apos;{0}&apos; option must be provided..
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Facebook.Resources.Exception_ValidatorHandlerMismatch">
+            <summary>
+              Looks up a localized string similar to An ICertificateValidator cannot be specified at the same time as an HttpMessageHandler unless it is a WebRequestHandler..
+            </summary>
+        </member>
+        <member name="T:Owin.FacebookAuthenticationExtensions">
+            <summary>
+            Extension methods for using <see cref="T:Microsoft.Owin.Security.Facebook.FacebookAuthenticationMiddleware"/>
+            </summary>
+        </member>
+        <member name="M:Owin.FacebookAuthenticationExtensions.UseFacebookAuthentication(Owin.IAppBuilder,Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions)">
+            <summary>
+            Authenticate users using Facebook
+            </summary>
+            <param name="app">The <see cref="T:Owin.IAppBuilder"/> passed to the configuration method</param>
+            <param name="options">Middleware configuration options</param>
+            <returns>The updated <see cref="T:Owin.IAppBuilder"/></returns>
+        </member>
+        <member name="M:Owin.FacebookAuthenticationExtensions.UseFacebookAuthentication(Owin.IAppBuilder,System.String,System.String)">
+            <summary>
+            Authenticate users using Facebook
+            </summary>
+            <param name="app">The <see cref="T:Owin.IAppBuilder"/> passed to the configuration method</param>
+            <param name="appId">The appId assigned by Facebook</param>
+            <param name="appSecret">The appSecret assigned by Facebook</param>
+            <returns>The updated <see cref="T:Owin.IAppBuilder"/></returns>
+        </member>
+    </members>
+</doc>
Index: WebApplication1/bin/Microsoft.Owin.xml
===================================================================
--- WebApplication1/bin/Microsoft.Owin.xml	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ WebApplication1/bin/Microsoft.Owin.xml	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -581,61 +581,4 @@
             <returns>SameSite attribute value or null if attribute must not be set.</returns>
         </member>
-        <member name="T:Microsoft.Owin.AppBuilderCookieExtensions">
-            <summary>
-            Cookie-related extensions for <see cref="T:Owin.IAppBuilder"/>.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.AppBuilderCookieExtensions.SetDefaultCookieManager(Owin.IAppBuilder,Microsoft.Owin.Infrastructure.ICookieManager)">
-            <summary>
-            Sets the default <see cref="T:Microsoft.Owin.Infrastructure.ICookieManager"/> that will be used by
-            the OWIN middleware when no manager is explicitly set in their options.
-            </summary>
-            <remarks>
-            Depending on the host, a default <see cref="T:Microsoft.Owin.Infrastructure.ICookieManager"/> instance
-            may already be registered in <see cref="P:Owin.IAppBuilder.Properties"/>
-            (e.g SystemWeb automatically registers a cookie manager that relies on
-            HttpCookieCollection instead of directly manipulating the HTTP headers).
-            </remarks>
-            <param name="app">The application builder.</param>
-            <param name="manager">The cookie manager.</param>
-            <exception cref="T:System.ArgumentNullException"><paramref name="app"/> is <see langword="null"/>.</exception>
-        </member>
-        <member name="M:Microsoft.Owin.AppBuilderCookieExtensions.SetDefaultChunkingCookieManager(Owin.IAppBuilder,Microsoft.Owin.Infrastructure.ICookieManager)">
-            <summary>
-            Sets the default chunking <see cref="T:Microsoft.Owin.Infrastructure.ICookieManager"/> that will be used
-            by the OWIN middleware when no manager is explicitly set in their options.
-            </summary>
-            <remarks>
-            Depending on the host, a default <see cref="T:Microsoft.Owin.Infrastructure.ICookieManager"/> instance
-            may already be registered in <see cref="P:Owin.IAppBuilder.Properties"/>
-            (e.g SystemWeb automatically registers a cookie manager that relies on
-            HttpCookieCollection instead of directly manipulating the HTTP headers).
-            </remarks>
-            <param name="app">The application builder.</param>
-            <param name="manager">The cookie manager.</param>
-            <exception cref="T:System.ArgumentNullException"><paramref name="app"/> is <see langword="null"/>.</exception>
-        </member>
-        <member name="M:Microsoft.Owin.AppBuilderCookieExtensions.GetDefaultCookieManager(Owin.IAppBuilder)">
-            <summary>
-            Gets the default <see cref="T:Microsoft.Owin.Infrastructure.ICookieManager"/> that will be used by
-            the OWIN middleware when no manager is explicitly set in their options.
-            </summary>
-            <param name="app">The application builder.</param>
-            <returns>
-            The cookie manager or a default <see cref="T:Microsoft.Owin.Infrastructure.CookieManager"/> instance if no manager was registered.
-            </returns>
-            <exception cref="T:System.ArgumentNullException"><paramref name="app"/> is <see langword="null"/>.</exception>
-        </member>
-        <member name="M:Microsoft.Owin.AppBuilderCookieExtensions.GetDefaultChunkingCookieManager(Owin.IAppBuilder)">
-            <summary>
-            Gets the default chunking <see cref="T:Microsoft.Owin.Infrastructure.ICookieManager"/> that will be used
-            by the OWIN middleware when no manager is explicitly set in their options.
-            </summary>
-            <param name="app">The application builder.</param>
-            <returns>
-            The cookie manager or a default <see cref="T:Microsoft.Owin.Infrastructure.ChunkingCookieManager"/> instance if no manager was registered.
-            </returns>
-            <exception cref="T:System.ArgumentNullException"><paramref name="app"/> is <see langword="null"/>.</exception>
-        </member>
         <member name="T:Microsoft.Owin.Extensions.IntegratedPipelineExtensions">
             <summary>
@@ -1085,9 +1028,4 @@
             Throw if not all chunks of a cookie are available on a request for re-assembly.
             </summary>
-            <remarks>
-            By default, this property is set to <see langword="false"/>. In this case,
-            <see cref="M:Microsoft.Owin.Infrastructure.ChunkingCookieManager.GetRequestCookie(Microsoft.Owin.IOwinContext,System.String)"/> returns "chunks:[number of chunks]"
-            instead of causing a <see cref="T:System.FormatException"/> if one of the chunks is missing.
-            </remarks>
         </member>
         <member name="M:Microsoft.Owin.Infrastructure.ChunkingCookieManager.GetRequestCookie(Microsoft.Owin.IOwinContext,System.String)">
Index: WebApplication1/bin/WebApplication1.dll.config
===================================================================
--- WebApplication1/bin/WebApplication1.dll.config	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ WebApplication1/bin/WebApplication1.dll.config	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -17,24 +17,4 @@
     <add key="ClientValidationEnabled" value="true" />
     <add key="UnobtrusiveJavaScriptEnabled" value="true" />
-	<add key="webpages:Enabled" value="false" />
-	<add key="owin:AutomaticAppStartup" value="true" />
-	  
-	<add key="GoogleClientId" value="593207670619-o68en5ihr8dsp29f18f2qeldthksuibd.apps.googleusercontent.com" />
-	<add key="GoogleClientSecret" value="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" />
-
-	<add key="GitHubClientId" value="Ov23lioYcHPFgb2dK2ti" />
-	<add key="GitHubClientSecret" value="36c34a91a71a3c21759473be05ace0ccad30637f" />
-
-	<add key="MicrosoftClientId" value="2c326394-08a8-4e1f-8d65-2fcefab863c9" />
-	<add key="MicrosoftClientSecret" value="ad945286-f916-4694-8400-21b93f57760a" />
-
-	  <add key="Smtp:Host" value="smtp.gmail.com" />
-	  <add key="Smtp:Port" value="587" />
-	  <add key="Smtp:Username" value="najdimentor@gmail.com" />
-	  <add key="Smtp:Password" value="jylbzqvlwmotxqwo" /> 
-	  <!--Password123!Password123! za temp email-->
-	  <add key="Smtp:EnableSsl" value="true" />
-	  <add key="Email:From" value="najdimentor@gmail.com" />
-	  <add key="Email:FromDisplayName" value="Најди Ментор" />
   </appSettings>
   <system.web>
@@ -52,17 +32,17 @@
       <dependentAssembly>
         <assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" />
-        <bindingRedirect oldVersion="0.0.0.0-4.2.3.0" newVersion="4.2.3.0" />
+        <bindingRedirect oldVersion="0.0.0.0-4.2.2.0" newVersion="4.2.2.0" />
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="Microsoft.Owin.Security.OAuth" publicKeyToken="31bf3856ad364e35" />
-        <bindingRedirect oldVersion="0.0.0.0-4.2.3.0" newVersion="4.2.3.0" />
+        <bindingRedirect oldVersion="0.0.0.0-4.2.2.0" newVersion="4.2.2.0" />
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="Microsoft.Owin.Security.Cookies" publicKeyToken="31bf3856ad364e35" />
-        <bindingRedirect oldVersion="0.0.0.0-4.2.3.0" newVersion="4.2.3.0" />
+        <bindingRedirect oldVersion="0.0.0.0-4.2.2.0" newVersion="4.2.2.0" />
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" />
-        <bindingRedirect oldVersion="0.0.0.0-4.2.3.0" newVersion="4.2.3.0" />
+        <bindingRedirect oldVersion="0.0.0.0-4.2.2.0" newVersion="4.2.2.0" />
       </dependentAssembly>
       <dependentAssembly>
Index: WebApplication1/obj/Debug/WebApplication1.csproj.CoreCompileInputs.cache
===================================================================
--- WebApplication1/obj/Debug/WebApplication1.csproj.CoreCompileInputs.cache	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ WebApplication1/obj/Debug/WebApplication1.csproj.CoreCompileInputs.cache	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -1,1 +1,1 @@
-95c87b24c0955109750e86eac8613811bb115a1cc2052b1cab6dacc52d85d8b2
+6dd61e26441a999399c106794c0c64749207b347d48c0708d8bf7041e4f3d5cf
Index: WebApplication1/obj/Debug/WebApplication1.csproj.FileListAbsolute.txt
===================================================================
--- WebApplication1/obj/Debug/WebApplication1.csproj.FileListAbsolute.txt	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ WebApplication1/obj/Debug/WebApplication1.csproj.FileListAbsolute.txt	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -60,5 +60,7 @@
 C:\Users\Kate\source\repos\NajdiMentor\WebApplication1\bin\Microsoft.Owin.dll
 C:\Users\Kate\source\repos\NajdiMentor\WebApplication1\bin\Microsoft.Owin.Host.SystemWeb.dll
+C:\Users\Kate\source\repos\NajdiMentor\WebApplication1\bin\Microsoft.Owin.Security.Cookies.dll
 C:\Users\Kate\source\repos\NajdiMentor\WebApplication1\bin\Microsoft.Owin.Security.dll
+C:\Users\Kate\source\repos\NajdiMentor\WebApplication1\bin\Microsoft.Owin.Security.Facebook.dll
 C:\Users\Kate\source\repos\NajdiMentor\WebApplication1\bin\Microsoft.Owin.Security.Google.dll
 C:\Users\Kate\source\repos\NajdiMentor\WebApplication1\bin\Microsoft.Owin.Security.MicrosoftAccount.dll
@@ -93,4 +95,5 @@
 C:\Users\Kate\source\repos\NajdiMentor\WebApplication1\bin\Microsoft.Owin.Host.SystemWeb.xml
 C:\Users\Kate\source\repos\NajdiMentor\WebApplication1\bin\Microsoft.Owin.Security.xml
+C:\Users\Kate\source\repos\NajdiMentor\WebApplication1\bin\Microsoft.Owin.Security.Facebook.xml
 C:\Users\Kate\source\repos\NajdiMentor\WebApplication1\bin\Microsoft.Owin.Security.Cookies.xml
 C:\Users\Kate\source\repos\NajdiMentor\WebApplication1\bin\Microsoft.Owin.Security.Google.xml
@@ -113,6 +116,2 @@
 C:\Users\Kate\source\repos\NajdiMentor\WebApplication1\obj\Debug\WebApplication1.Migrations.AddMessageEntity.resources
 C:\Users\Kate\source\repos\NajdiMentor\WebApplication1\obj\Debug\WebApplication1.Migrations.AddOpinionEntity.resources
-C:\Users\Kate\source\repos\NajdiMentor\WebApplication1\bin\Owin.Security.Providers.GitHub.dll
-C:\Users\Kate\source\repos\NajdiMentor\WebApplication1\obj\Debug\WebApplication1.Migrations.AddTopicSuggestions.resources
-C:\Users\Kate\source\repos\NajdiMentor\WebApplication1\obj\Debug\WebApplication1.Migrations.FixTopicSuggestions.resources
-C:\Users\Kate\source\repos\NajdiMentor\WebApplication1\obj\Debug\WebApplication1.Migrations.AddTopicSuggestionToMentorContact.resources
Index: WebApplication1/packages.config
===================================================================
--- WebApplication1/packages.config	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ WebApplication1/packages.config	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -15,12 +15,12 @@
   <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="2.0.1" targetFramework="net472" />
   <package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.2.11" targetFramework="net472" />
-  <package id="Microsoft.Owin" version="4.2.3" targetFramework="net472" />
-  <package id="Microsoft.Owin.Host.SystemWeb" version="4.2.3" targetFramework="net472" />
-  <package id="Microsoft.Owin.Security" version="4.2.3" targetFramework="net472" />
-  <package id="Microsoft.Owin.Security.Cookies" version="4.2.3" targetFramework="net472" />
+  <package id="Microsoft.Owin" version="4.2.2" targetFramework="net472" />
+  <package id="Microsoft.Owin.Host.SystemWeb" version="4.2.2" targetFramework="net472" />
+  <package id="Microsoft.Owin.Security" version="4.2.2" targetFramework="net472" />
+  <package id="Microsoft.Owin.Security.Cookies" version="4.2.2" targetFramework="net472" />
   <package id="Microsoft.Owin.Security.Facebook" version="4.2.2" targetFramework="net472" />
-  <package id="Microsoft.Owin.Security.Google" version="4.2.3" targetFramework="net472" />
+  <package id="Microsoft.Owin.Security.Google" version="4.2.2" targetFramework="net472" />
   <package id="Microsoft.Owin.Security.MicrosoftAccount" version="4.2.2" targetFramework="net472" />
-  <package id="Microsoft.Owin.Security.OAuth" version="4.2.3" targetFramework="net472" />
+  <package id="Microsoft.Owin.Security.OAuth" version="4.2.2" targetFramework="net472" />
   <package id="Microsoft.Owin.Security.Twitter" version="4.2.2" targetFramework="net472" />
   <package id="Microsoft.Web.Infrastructure" version="2.0.0" targetFramework="net472" />
@@ -28,5 +28,4 @@
   <package id="Newtonsoft.Json" version="13.0.3" targetFramework="net472" />
   <package id="Owin" version="1.0" targetFramework="net472" />
-  <package id="Owin.Security.Providers.GitHub" version="2.26.0" targetFramework="net472" />
   <package id="PagedList" version="1.17.0.0" targetFramework="net472" />
   <package id="PagedList.Mvc" version="4.5.0.0" targetFramework="net472" />
Index: packages/Microsoft.Owin.4.2.2/lib/net45/Microsoft.Owin.xml
===================================================================
--- packages/Microsoft.Owin.4.2.2/lib/net45/Microsoft.Owin.xml	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
+++ packages/Microsoft.Owin.4.2.2/lib/net45/Microsoft.Owin.xml	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -0,0 +1,3316 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.Owin</name>
+    </assembly>
+    <members>
+        <member name="T:Microsoft.Owin.BuilderProperties.Address">
+            <summary>
+            Contains the parts of an address.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.Address.#ctor(System.Collections.Generic.IDictionary{System.String,System.Object})">
+            <summary>
+            Initializes a new instance.
+            </summary>
+            <param name="dictionary"></param>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.Address.#ctor(System.String,System.String,System.String,System.String)">
+            <summary>
+            Initializes a new <see cref="T:Microsoft.Owin.BuilderProperties.Address"/> with the given parts.
+            </summary>
+            <param name="scheme">The scheme.</param>
+            <param name="host">The host.</param>
+            <param name="port">The port.</param>
+            <param name="path">The path.</param>
+        </member>
+        <member name="P:Microsoft.Owin.BuilderProperties.Address.Dictionary">
+            <summary>
+            Gets the internal dictionary for this collection.
+            </summary>
+            <returns>The internal dictionary for this collection.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.BuilderProperties.Address.Scheme">
+            <summary>
+            The uri scheme.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.BuilderProperties.Address.Host">
+            <summary>
+            The uri host.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.BuilderProperties.Address.Port">
+            <summary>
+            The uri port.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.BuilderProperties.Address.Path">
+            <summary>
+            The uri path.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.Address.Create">
+            <summary>
+            Creates a new <see cref="T:Microsoft.Owin.BuilderProperties.Address"/>
+            </summary>
+            <returns>A new <see cref="T:Microsoft.Owin.BuilderProperties.Address" /></returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.Address.Equals(Microsoft.Owin.BuilderProperties.Address)">
+            <summary>
+            Determines whether the specified object is equal to the current object.
+            </summary>
+            <param name="other">The other object.</param>
+            <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.Address.Equals(System.Object)">
+            <summary>
+            Determines whether the specified object is equal to the current object.
+            </summary>
+            <param name="obj">The other object.</param>
+            <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.Address.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.Address.op_Equality(Microsoft.Owin.BuilderProperties.Address,Microsoft.Owin.BuilderProperties.Address)">
+            <summary>
+            Determines whether two specified instances of <see cref="T:Microsoft.Owin.BuilderProperties.Address" /> are equal.
+            </summary>
+            <param name="left">The first object to compare.</param>
+            <param name="right">The second object to compare.</param>
+            <returns>true if left and right represent the same address; otherwise, false.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.Address.op_Inequality(Microsoft.Owin.BuilderProperties.Address,Microsoft.Owin.BuilderProperties.Address)">
+            <summary>
+            Determines whether two specified instances of <see cref="T:Microsoft.Owin.BuilderProperties.Address" /> are not equal.
+            </summary>
+            <param name="left">The first object to compare.</param>
+            <param name="right">The second object to compare.</param>
+            <returns>true if left and right do not represent the same address; otherwise, false.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.Address.Get``1(System.String)">
+            <summary>
+            Gets a specified key and value from the underlying dictionary.
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="key">The key.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.Address.Set(System.String,System.Object)">
+            <summary>
+            Sets a specified key and value in the underlying dictionary.
+            </summary>
+            <param name="key">The key.</param>
+            <param name="value">The value.</param>
+            <returns></returns>
+        </member>
+        <member name="T:Microsoft.Owin.BuilderProperties.AddressCollection">
+            <summary>
+            Wraps the host.Addresses list.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.AddressCollection.#ctor(System.Collections.Generic.IList{System.Collections.Generic.IDictionary{System.String,System.Object}})">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.BuilderProperties.AddressCollection" /> class.
+            </summary>
+            <param name="list">The address list to set to the collection.</param>
+        </member>
+        <member name="P:Microsoft.Owin.BuilderProperties.AddressCollection.List">
+            <summary>
+            Gets the underlying address list.
+            </summary>
+            <returns>The underlying address list.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.BuilderProperties.AddressCollection.Count">
+            <summary>
+            Gets the number of elements in the collection.
+            </summary>
+            <returns>The number of elements in the collection.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.BuilderProperties.AddressCollection.Item(System.Int32)">
+            <summary>
+            Gets the item with the specified index from the collection.
+            </summary>
+            <param name="index">The index.</param>
+            <returns>The item with the specified index.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.AddressCollection.Add(Microsoft.Owin.BuilderProperties.Address)">
+            <summary>
+            Adds the specified address to the collection.
+            </summary>
+            <param name="address">The address to add to the collection.</param>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.AddressCollection.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            Gets the enumerator that iterates through the collection.
+            </summary>
+            <returns>The enumerator that can be used to iterate through the collection.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.AddressCollection.GetEnumerator">
+            <summary>
+            Gets the enumerator that iterates through the collection.
+            </summary>
+            <returns>The enumerator that can be used to iterate through the collection.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.AddressCollection.Create">
+            <summary>
+            Creates a new empty instance of <see cref="T:Microsoft.Owin.BuilderProperties.AddressCollection" />.
+            </summary>
+            <returns>A new empty instance of <see cref="T:Microsoft.Owin.BuilderProperties.AddressCollection" />.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.AddressCollection.Equals(Microsoft.Owin.BuilderProperties.AddressCollection)">
+            <summary>
+            Determines whether the current collection is equal to the specified collection.
+            </summary>
+            <param name="other">The other collection to compare to the current collection.</param>
+            <returns>true if current collection is equal to the specified collection; otherwise, false.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.AddressCollection.Equals(System.Object)">
+            <summary>
+            Determines whether the current collection is equal to the specified object.
+            </summary>
+            <param name="obj">The object to compare to the current collection.</param>
+            <returns>true if current collection is equal to the specified object; otherwise, false.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.AddressCollection.GetHashCode">
+            <summary>
+            Gets the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.AddressCollection.op_Equality(Microsoft.Owin.BuilderProperties.AddressCollection,Microsoft.Owin.BuilderProperties.AddressCollection)">
+            <summary>
+            Determines whether the first collection is equal to the second collection.
+            </summary>
+            <param name="left">The first collection to compare.</param>
+            <param name="right">The second collection to compare.</param>
+            <returns>true if both collections are equal; otherwise, false.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.AddressCollection.op_Inequality(Microsoft.Owin.BuilderProperties.AddressCollection,Microsoft.Owin.BuilderProperties.AddressCollection)">
+            <summary>
+            Determines whether the first collection is not equal to the second collection.
+            </summary>
+            <param name="left">The first collection to compare.</param>
+            <param name="right">The second collection to compare.</param>
+            <returns>true if both collections are not equal; otherwise, false.</returns>
+        </member>
+        <member name="T:Microsoft.Owin.BuilderProperties.AppProperties">
+            <summary>
+            A wrapper for the <see cref="P:Microsoft.Owin.Builder.AppBuilder.Properties" /> IDictionary.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.AppProperties.#ctor(System.Collections.Generic.IDictionary{System.String,System.Object})">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.BuilderProperties.AppProperties" /> class.
+            </summary>
+            <param name="dictionary"></param>
+        </member>
+        <member name="P:Microsoft.Owin.BuilderProperties.AppProperties.OwinVersion">
+            <summary>
+            Gets or sets the string value for “owin.Version”.
+            </summary>
+            <returns>The string value for “owin.Version”.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.BuilderProperties.AppProperties.DefaultApp">
+            <summary>
+            Gets or sets the function delegate for “builder.DefaultApp”.
+            </summary>
+            <returns>The function delegate for “builder.DefaultApp”.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.BuilderProperties.AppProperties.AddSignatureConversionDelegate">
+            <summary>
+            Gets or sets the action delegate for “builder.AddSignatureConversion”.
+            </summary>
+            <returns>The action delegate for “builder.AddSignatureConversion”.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.BuilderProperties.AppProperties.AppName">
+            <summary>
+            Gets or sets the string value for “host.AppName”.
+            </summary>
+            <returns>The string value for “host.AppName”.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.BuilderProperties.AppProperties.TraceOutput">
+            <summary>
+            Gets or sets the text writer for “host.TraceOutput”.
+            </summary>
+            <returns>The text writer for “host.TraceOutput”.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.BuilderProperties.AppProperties.OnAppDisposing">
+            <summary>
+            Gets or sets the cancellation token for “host.OnAppDisposing”.
+            </summary>
+            <returns>The cancellation token for “host.OnAppDisposing”.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.BuilderProperties.AppProperties.Addresses">
+            <summary>
+            Gets or sets the address collection for “host.Addresses”.
+            </summary>
+            <returns>The address collection for “host.Addresses”.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.BuilderProperties.AppProperties.Capabilities">
+            <summary>
+            Gets or sets the list of “server.Capabilities”.
+            </summary>
+            <returns>The list of “server.Capabilities”.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.BuilderProperties.AppProperties.Dictionary">
+            <summary>
+            Gets the underlying dictionary for this <see cref="T:Microsoft.Owin.BuilderProperties.AppProperties" /> instance.
+            </summary>
+            <returns>The underlying dictionary for this <see cref="T:Microsoft.Owin.BuilderProperties.AppProperties" /> instance.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.AppProperties.Equals(Microsoft.Owin.BuilderProperties.AppProperties)">
+            <summary>
+            Determines whether the current AppProperties is equal to the specified AppProperties.
+            </summary>
+            <param name="other">The other AppProperties to compare with the current instance.</param>
+            <returns>true if the current AppProperties is equal to the specified AppProperties; otherwise, false.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.AppProperties.Equals(System.Object)">
+            <summary>
+            Determines whether the current AppProperties is equal to the specified object.
+            </summary>
+            <param name="obj">The object to compare with the current instance.</param>
+            <returns>true if the current AppProperties is equal to the specified object; otherwise, false.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.AppProperties.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.AppProperties.op_Equality(Microsoft.Owin.BuilderProperties.AppProperties,Microsoft.Owin.BuilderProperties.AppProperties)">
+            <summary>
+            Determines whether the first AppPProperties is equal to the second AppProperties.
+            </summary>
+            <param name="left">The first AppPropeties to compare.</param>
+            <param name="right">The second AppPropeties to compare.</param>
+            <returns>true if both AppProperties are equal; otherwise, false.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.AppProperties.op_Inequality(Microsoft.Owin.BuilderProperties.AppProperties,Microsoft.Owin.BuilderProperties.AppProperties)">
+            <summary>
+            Determines whether the first AppPProperties is not equal to the second AppProperties.
+            </summary>
+            <param name="left">The first AppPropeties to compare.</param>
+            <param name="right">The second AppPropeties to compare.</param>
+            <returns>true if both AppProperties are not equal; otherwise, false.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.AppProperties.Get``1(System.String)">
+            <summary>
+            Gets the value from the dictionary with the specified key.
+            </summary>
+            <typeparam name="T">The type of the value.</typeparam>
+            <param name="key">The key of the value to get.</param>
+            <returns>The value with the specified key.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.AppProperties.Set(System.String,System.Object)">
+            <summary>
+            Sets the value with the specified key.
+            </summary>
+            <param name="key">The key of the value to set.</param>
+            <param name="value">The value to set.</param>
+            <returns>This instance.</returns>
+        </member>
+        <member name="T:Microsoft.Owin.BuilderProperties.Capabilities">
+            <summary>
+            Represents the capabilities for the builder properties.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.Capabilities.#ctor(System.Collections.Generic.IDictionary{System.String,System.Object})">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.BuilderProperties.Capabilities" /> class.
+            </summary>
+            <param name="dictionary"></param>
+        </member>
+        <member name="P:Microsoft.Owin.BuilderProperties.Capabilities.Dictionary">
+            <summary>
+            The underling IDictionary
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.BuilderProperties.Capabilities.SendFileVersion">
+            <summary>
+            Gets or sets the string value for "sendfile.Version"
+            </summary>
+            <returns>the string value for "sendfile.Version"</returns>
+        </member>
+        <member name="P:Microsoft.Owin.BuilderProperties.Capabilities.WebSocketVersion">
+            <summary>
+            Gets or sets the websocket version.
+            </summary>
+            <returns>The websocket version.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.Capabilities.Create">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.BuilderProperties.Capabilities" /> class.
+            </summary>
+            <returns>A new instance of the <see cref="T:Microsoft.Owin.BuilderProperties.Capabilities" /> class.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.Capabilities.Equals(Microsoft.Owin.BuilderProperties.Capabilities)">
+            <summary>
+            Determines whether the current Capabilities instance is equal to the specified Capabilities.
+            </summary>
+            <param name="other">The other Capabilities to compare with the current instance.</param>
+            <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.Capabilities.Equals(System.Object)">
+            <summary>
+            Determines whether the current Capabilities is equal to the specified object.
+            </summary>
+            <param name="obj">The object to compare with the current instance.</param>
+            <returns>true if the current Capabilities is equal to the specified object; otherwise, false.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.Capabilities.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns>The hash code for this instance.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.Capabilities.op_Equality(Microsoft.Owin.BuilderProperties.Capabilities,Microsoft.Owin.BuilderProperties.Capabilities)">
+            <summary>
+            Determines whether two specified instances of <see cref="T:Microsoft.Owin.BuilderProperties.Capabilities" /> are equal.
+            </summary>
+            <param name="left">The first object to compare.</param>
+            <param name="right">The second object to compare.</param>
+            <returns>true if the two specified instances of <see cref="T:Microsoft.Owin.BuilderProperties.Capabilities" /> are equal; otherwise, false.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.Capabilities.op_Inequality(Microsoft.Owin.BuilderProperties.Capabilities,Microsoft.Owin.BuilderProperties.Capabilities)">
+            <summary>
+            Determines whether two specified instances of <see cref="T:Microsoft.Owin.BuilderProperties.Capabilities" /> are not equal.
+            </summary>
+            <param name="left">The first object to compare.</param>
+            <param name="right">The second object to compare.</param>
+            <returns>true if the two specified instances of <see cref="T:Microsoft.Owin.BuilderProperties.Capabilities" /> are not equal; otherwise, false.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.Capabilities.Get``1(System.String)">
+            <summary>
+            Gets the value from the dictionary with the specified key.
+            </summary>
+            <typeparam name="T">The type of the value.</typeparam>
+            <param name="key">The key of the value to get.</param>
+            <returns>The value with the specified key.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.BuilderProperties.Capabilities.Set(System.String,System.Object)">
+            <summary>
+            Sets the given key and value in the underlying dictionary.
+            </summary>
+            <param name="key">The key of the value to set.</param>
+            <param name="value">The value to set.</param>
+            <returns>This instance.</returns>
+        </member>
+        <member name="T:Microsoft.Owin.Builder.AppBuilder">
+            <summary>
+            A standard implementation of IAppBuilder 
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Builder.AppBuilder.#ctor">
+            <summary>
+            Initializes a new instance of the the type.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Builder.AppBuilder.#ctor(System.Collections.Generic.IDictionary{System.Tuple{System.Type,System.Type},System.Delegate},System.Collections.Generic.IDictionary{System.String,System.Object})">
+            <summary>
+            
+            </summary>
+            <param name="conversions"></param>
+            <param name="properties"></param>
+        </member>
+        <member name="P:Microsoft.Owin.Builder.AppBuilder.Properties">
+            <summary>
+            Contains arbitrary properties which may added, examined, and modified by
+            components during the startup sequence. 
+            </summary>
+            <returns>Returns <see cref="T:System.Collections.Generic.IDictionary`2" />.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Builder.AppBuilder.Use(System.Object,System.Object[])">
+            <summary>
+            Adds a middleware node to the OWIN function pipeline. The middleware are
+            invoked in the order they are added: the first middleware passed to Use will
+            be the outermost function, and the last middleware passed to Use will be the
+            innermost.
+            </summary>
+            <param name="middleware">
+            The middleware parameter determines which behavior is being chained into the
+            pipeline. 
+            
+            If the middleware given to Use is a Delegate, then it will be invoked with the "next app" in 
+            the chain as the first parameter. If the delegate takes more than the single argument, 
+            then the additional values must be provided to Use in the args array.
+            
+            If the middleware given to Use is a Type, then the public constructor will be 
+            invoked with the "next app" in the chain as the first parameter. The resulting object
+            must have a public Invoke method. If the object has constructors which take more than
+            the single "next app" argument, then additional values may be provided in the args array.
+            </param>
+            <param name="args">
+            Any additional args passed to Use will be passed as additional values, following the "next app"
+            parameter, when the OWIN call pipeline is build.
+            
+            They are passed as additional parameters if the middleware parameter is a Delegate, or as additional
+            constructor arguments if the middle parameter is a Type.
+            </param>
+            <returns>
+            The IAppBuilder itself is returned. This enables you to chain your use statements together.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Owin.Builder.AppBuilder.New">
+            <summary>
+            The New method creates a new instance of an IAppBuilder. This is needed to create
+            a tree structure in your processing, rather than a linear pipeline. The new instance share the
+            same Properties, but will be created with a new, empty middleware list.
+            
+            To create a tangent pipeline you would first call New, followed by several calls to Use on 
+            the new builder, ending with a call to Build on the new builder. The return value from Build
+            will be the entry-point to your tangent pipeline. This entry-point may now be added to the
+            main pipeline as an argument to a switching middleware, which will either call the tangent
+            pipeline or the "next app", based on something in the request.
+            
+            That said - all of that work is typically hidden by a middleware like Map, which will do that
+            for you.
+            </summary>
+            <returns>The new instance of the IAppBuilder implementation</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Builder.AppBuilder.Build(System.Type)">
+            <summary>
+            The Build is called at the point when all of the middleware should be chained
+            together. This is typically done by the hosting component which created the app builder,
+            and does not need to be called by the startup method if the IAppBuilder is passed in.
+            </summary>
+            <param name="returnType">
+            The Type argument indicates which calling convention should be returned, and
+            is typically typeof(<typeref name="Func&lt;IDictionary&lt;string,object&gt;, Task&gt;"/>) for the OWIN
+            calling convention.
+            </param>
+            <returns>
+            Returns an instance of the pipeline's entry point. This object may be safely cast to the
+            type which was provided
+            </returns>
+        </member>
+        <member name="T:Microsoft.Owin.Builder.NotFound">
+            <summary>
+            Simple object used by AppBuilder as seed OWIN callable if the
+            builder.Properties["builder.DefaultApp"] is not set
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Builder.AppBuilderExtensions">
+            <summary>
+            Extension methods for IAppBuilder.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Builder.AppBuilderExtensions.Build(Owin.IAppBuilder)">
+            <summary>
+            The Build is called at the point when all of the middleware should be chained
+            together. May be called to build pipeline branches.
+            </summary>
+            <param name="builder"></param>
+            <returns>The request processing entry point for this section of the pipeline.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Builder.AppBuilderExtensions.Build``1(Owin.IAppBuilder)">
+            <summary>
+            The Build is called at the point when all of the middleware should be chained
+            together. May be called to build pipeline branches.
+            </summary>
+            <typeparam name="TApp">The application signature.</typeparam>
+            <param name="builder"></param>
+            <returns>The request processing entry point for this section of the pipeline.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Builder.AppBuilderExtensions.AddSignatureConversion(Owin.IAppBuilder,System.Delegate)">
+            <summary>
+            Adds converters for adapting between disparate application signatures.
+            </summary>
+            <param name="builder"></param>
+            <param name="conversion"></param>
+        </member>
+        <member name="M:Microsoft.Owin.Builder.AppBuilderExtensions.AddSignatureConversion``2(Owin.IAppBuilder,System.Func{``0,``1})">
+            <summary>
+            Adds converters for adapting between disparate application signatures.
+            </summary>
+            <typeparam name="T1"></typeparam>
+            <typeparam name="T2"></typeparam>
+            <param name="builder"></param>
+            <param name="conversion"></param>
+        </member>
+        <member name="T:Microsoft.Owin.CookieOptions">
+            <summary>
+            Options used to create a new cookie.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.CookieOptions.#ctor">
+            <summary>
+            Creates a default cookie with a path of '/'.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.CookieOptions.Domain">
+            <summary>
+            Gets or sets the domain to associate the cookie with.
+            </summary>
+            <returns>The domain to associate the cookie with.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.CookieOptions.Path">
+            <summary>
+            Gets or sets the cookie path.
+            </summary>
+            <returns>The cookie path.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.CookieOptions.Expires">
+            <summary>
+            Gets or sets the expiration date and time for the cookie.
+            </summary>
+            <returns>The expiration date and time for the cookie.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.CookieOptions.Secure">
+            <summary>
+            Gets or sets a value that indicates whether to transmit the cookie using Secure Sockets Layer (SSL)—that is, over HTTPS only.
+            </summary>
+            <returns>true to transmit the cookie only over an SSL connection (HTTPS); otherwise, false.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.CookieOptions.HttpOnly">
+            <summary>
+            Gets or sets a value that indicates whether a cookie is accessible by client-side script.
+            </summary>
+            <returns>false if a cookie is accessible by client-side script; otherwise, true.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.CookieOptions.SameSite">
+            <summary>
+            Gets or sets a value that indicates on which requests client should or should not send cookie back to the server.
+            Set to null to do not include SameSite attribute at all.
+            </summary>
+            <returns>SameSite attribute value or null if attribute must not be set.</returns>
+        </member>
+        <member name="T:Microsoft.Owin.Extensions.IntegratedPipelineExtensions">
+            <summary>
+            Extension methods used to indicate at which stage in the integrated pipeline prior middleware should run.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Extensions.IntegratedPipelineExtensions.UseStageMarker(Owin.IAppBuilder,System.String)">
+            <summary>
+            Call after other middleware to specify when they should run in the integrated pipeline.
+            </summary>
+            <param name="app">The IAppBuilder.</param>
+            <param name="stageName">The name of the integrated pipeline in which to run.</param>
+            <returns>The original IAppBuilder for chaining.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Extensions.IntegratedPipelineExtensions.UseStageMarker(Owin.IAppBuilder,Owin.PipelineStage)">
+            <summary>
+            Call after other middleware to specify when they should run in the integrated pipeline.
+            </summary>
+            <param name="app">The IAppBuilder.</param>
+            <param name="stage">The stage of the integrated pipeline in which to run.</param>
+            <returns>The original IAppBuilder for chaining.</returns>
+        </member>
+        <member name="T:Microsoft.Owin.Extensions.UseHandlerMiddleware">
+            <summary>
+            Represents a middleware for executing in-line function middleware.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Extensions.UseHandlerMiddleware.#ctor(System.Func{System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.Tasks.Task},System.Func{Microsoft.Owin.IOwinContext,System.Threading.Tasks.Task})">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Extensions.UseHandlerMiddleware" /> class.
+            </summary>
+            <param name="next">The pointer to next middleware.</param>
+            <param name="handler">A function that handles all requests.</param>
+        </member>
+        <member name="M:Microsoft.Owin.Extensions.UseHandlerMiddleware.#ctor(System.Func{System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.Tasks.Task},System.Func{Microsoft.Owin.IOwinContext,System.Func{System.Threading.Tasks.Task},System.Threading.Tasks.Task})">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Extensions.UseHandlerMiddleware" /> class.
+            </summary>
+            <param name="next">The pointer to next middleware.</param>
+            <param name="handler">A function that handles the request or calls the given next function.</param>
+        </member>
+        <member name="M:Microsoft.Owin.Extensions.UseHandlerMiddleware.Invoke(System.Collections.Generic.IDictionary{System.String,System.Object})">
+            <summary>
+            Invokes the handler for processing the request.
+            </summary>
+            <param name="environment">The OWIN context.</param>
+            <returns>The <see cref="T:System.Threading.Tasks.Task" /> object that represents the request operation.</returns>
+        </member>
+        <member name="T:Microsoft.Owin.FormCollection">
+            <summary>
+            Contains the parsed form values.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.FormCollection.#ctor(System.Collections.Generic.IDictionary{System.String,System.String[]})">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.FormCollection" /> class.
+            </summary>
+            <param name="store">The store for the form.</param>
+        </member>
+        <member name="T:Microsoft.Owin.HeaderDictionary">
+            <summary>
+            Represents a wrapper for owin.RequestHeaders and owin.ResponseHeaders.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.HeaderDictionary.#ctor(System.Collections.Generic.IDictionary{System.String,System.String[]})">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.HeaderDictionary" /> class.
+            </summary>
+            <param name="store">The underlying data store.</param>
+        </member>
+        <member name="P:Microsoft.Owin.HeaderDictionary.Keys">
+            <summary>
+            Gets an <see cref="T:System.Collections.ICollection" /> that contains the keys in the <see cref="T:Microsoft.Owin.HeaderDictionary" />;.
+            </summary>
+            <returns>An <see cref="T:System.Collections.ICollection" /> that contains the keys in the <see cref="T:Microsoft.Owin.HeaderDictionary" />.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.HeaderDictionary.Values">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.HeaderDictionary.Count">
+            <summary>
+            Gets the number of elements contained in the <see cref="T:Microsoft.Owin.HeaderDictionary" />;.
+            </summary>
+            <returns>The number of elements contained in the <see cref="T:Microsoft.Owin.HeaderDictionary" />.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.HeaderDictionary.IsReadOnly">
+            <summary>
+            Gets a value that indicates whether the <see cref="T:Microsoft.Owin.HeaderDictionary" /> is in read-only mode.
+            </summary>
+            <returns>true if the <see cref="T:Microsoft.Owin.HeaderDictionary" /> is in read-only mode; otherwise, false.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.HeaderDictionary.Item(System.String)">
+            <summary>
+            Get or sets the associated value from the collection as a single string.
+            </summary>
+            <param name="key">The header name.</param>
+            <returns>the associated value from the collection as a single string or null if the key is not present.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.HeaderDictionary.System#Collections#Generic#IDictionary{System#String,System#String[]}#Item(System.String)">
+            <summary>
+            Throws KeyNotFoundException if the key is not present.
+            </summary>
+            <param name="key">The header name.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.HeaderDictionary.GetEnumerator">
+            <summary>
+            Returns an enumerator that iterates through a collection.
+            </summary>
+            <returns>An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.HeaderDictionary.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            Returns an enumerator that iterates through a collection.
+            </summary>
+            <returns>An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.HeaderDictionary.Get(System.String)">
+            <summary>
+            Get the associated value from the collection as a single string.
+            </summary>
+            <param name="key">The header name.</param>
+            <returns>the associated value from the collection as a single string or null if the key is not present.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.HeaderDictionary.GetValues(System.String)">
+            <summary>
+            Get the associated values from the collection without modification.
+            </summary>
+            <param name="key">The header name.</param>
+            <returns>the associated value from the collection without modification, or null if the key is not present.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.HeaderDictionary.GetCommaSeparatedValues(System.String)">
+            <summary>
+            Get the associated values from the collection separated into individual values.
+            Quoted values will not be split, and the quotes will be removed.
+            </summary>
+            <param name="key">The header name.</param>
+            <returns>the associated values from the collection separated into individual values, or null if the key is not present.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.HeaderDictionary.Append(System.String,System.String)">
+            <summary>
+            Add a new value. Appends to the header if already present
+            </summary>
+            <param name="key">The header name.</param>
+            <param name="value">The header value.</param>
+        </member>
+        <member name="M:Microsoft.Owin.HeaderDictionary.AppendValues(System.String,System.String[])">
+            <summary>
+            Add new values. Each item remains a separate array entry.
+            </summary>
+            <param name="key">The header name.</param>
+            <param name="values">The header values.</param>
+        </member>
+        <member name="M:Microsoft.Owin.HeaderDictionary.AppendCommaSeparatedValues(System.String,System.String[])">
+            <summary>
+            Quotes any values containing comas, and then coma joins all of the values with any existing values.
+            </summary>
+            <param name="key">The header name.</param>
+            <param name="values">The header values.</param>
+        </member>
+        <member name="M:Microsoft.Owin.HeaderDictionary.Set(System.String,System.String)">
+            <summary>
+            Sets a specific header value.
+            </summary>
+            <param name="key">The header name.</param>
+            <param name="value">The header value.</param>
+        </member>
+        <member name="M:Microsoft.Owin.HeaderDictionary.SetValues(System.String,System.String[])">
+            <summary>
+            Sets the specified header values without modification.
+            </summary>
+            <param name="key">The header name.</param>
+            <param name="values">The header values.</param>
+        </member>
+        <member name="M:Microsoft.Owin.HeaderDictionary.SetCommaSeparatedValues(System.String,System.String[])">
+            <summary>
+            Quotes any values containing comas, and then coma joins all of the values.
+            </summary>
+            <param name="key">The header name.</param>
+            <param name="values">The header values.</param>
+        </member>
+        <member name="M:Microsoft.Owin.HeaderDictionary.Add(System.String,System.String[])">
+            <summary>
+            Adds the given header and values to the collection.
+            </summary>
+            <param name="key">The header name.</param>
+            <param name="value">The header values.</param>
+        </member>
+        <member name="M:Microsoft.Owin.HeaderDictionary.ContainsKey(System.String)">
+            <summary>
+            Determines whether the <see cref="T:Microsoft.Owin.HeaderDictionary" /> contains a specific key.
+            </summary>
+            <param name="key">The key.</param>
+            <returns>true if the <see cref="T:Microsoft.Owin.HeaderDictionary" /> contains a specific key; otherwise, false.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.HeaderDictionary.Remove(System.String)">
+            <summary>
+            Removes the given header from the collection.
+            </summary>
+            <param name="key">The header name.</param>
+            <returns>true if the specified object was removed from the collection; otherwise, false.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.HeaderDictionary.TryGetValue(System.String,System.String[]@)">
+            <summary>
+            Retrieves a value from the dictionary.
+            </summary>
+            <param name="key">The header name.</param>
+            <param name="value">The value.</param>
+            <returns>true if the <see cref="T:Microsoft.Owin.HeaderDictionary" /> contains the key; otherwise, false.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.HeaderDictionary.Add(System.Collections.Generic.KeyValuePair{System.String,System.String[]})">
+            <summary>
+            Adds a new list of items to the collection.
+            </summary>
+            <param name="item">The item to add.</param>
+        </member>
+        <member name="M:Microsoft.Owin.HeaderDictionary.Clear">
+            <summary>
+            Clears the entire list of objects.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.HeaderDictionary.Contains(System.Collections.Generic.KeyValuePair{System.String,System.String[]})">
+            <summary>
+            Returns a value indicating whether the specified object occurs within this collection.
+            </summary>
+            <param name="item">The item.</param>
+            <returns>true if the specified object occurs within this collection; otherwise, false.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.HeaderDictionary.CopyTo(System.Collections.Generic.KeyValuePair{System.String,System.String[]}[],System.Int32)">
+            <summary>
+            Copies the <see cref="T:Microsoft.Owin.HeaderDictionary" /> elements to a one-dimensional Array instance at the specified index.
+            </summary>
+            <param name="array">The one-dimensional Array that is the destination of the specified objects copied from the <see cref="T:Microsoft.Owin.HeaderDictionary" />.</param>
+            <param name="arrayIndex">The zero-based index in <paramref name="array" /> at which copying begins.</param>
+        </member>
+        <member name="M:Microsoft.Owin.HeaderDictionary.Remove(System.Collections.Generic.KeyValuePair{System.String,System.String[]})">
+            <summary>
+            Removes the given item from the the collection.
+            </summary>
+            <param name="item">The item.</param>
+            <returns>true if the specified object was removed from the collection; otherwise, false.</returns>
+        </member>
+        <member name="T:Microsoft.Owin.Helpers.WebHelpers">
+            <summary>
+            Provides helper methods for processing requests.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Helpers.WebHelpers.ParseForm(System.String)">
+            <summary>
+            Parses an HTTP form body.
+            </summary>
+            <param name="text">The HTTP form body to parse.</param>
+            <returns>The <see cref="T:Microsoft.Owin.IFormCollection" /> object containing the parsed HTTP form body.</returns>
+        </member>
+        <member name="T:Microsoft.Owin.HostString">
+            <summary>
+            Represents the host portion of a Uri can be used to construct Uri's properly formatted and encoded for use in
+            HTTP headers.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.HostString.#ctor(System.String)">
+            <summary>
+            Creates a new HostString without modification. The value should be Unicode rather than punycode, and may have a port.
+            IPv4 and IPv6 addresses are also allowed, and also may have ports.
+            </summary>
+            <param name="value"></param>
+        </member>
+        <member name="P:Microsoft.Owin.HostString.Value">
+            <summary>
+            Returns the original value from the constructor.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.HostString.ToString">
+            <summary>
+            Returns the value as normalized by ToUriComponent().
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.HostString.ToUriComponent">
+            <summary>
+            Returns the value properly formatted and encoded for use in a URI in a HTTP header.
+            Any Unicode is converted to punycode. IPv6 addresses will have brackets added if they are missing.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.HostString.FromUriComponent(System.String)">
+            <summary>
+            Creates a new HostString from the given uri component.
+            Any punycode will be converted to Unicode.
+            </summary>
+            <param name="uriComponent"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.HostString.FromUriComponent(System.Uri)">
+            <summary>
+            Creates a new HostString from the host and port of the give Uri instance.
+            Punycode will be converted to Unicode.
+            </summary>
+            <param name="uri"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.HostString.Equals(Microsoft.Owin.HostString)">
+            <summary>
+            Compares the equality of the Value property, ignoring case.
+            </summary>
+            <param name="other"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.HostString.Equals(System.Object)">
+            <summary>
+            Compares against the given object only if it is a HostString.
+            </summary>
+            <param name="obj"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.HostString.GetHashCode">
+            <summary>
+            Gets a hash code for the value.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.HostString.op_Equality(Microsoft.Owin.HostString,Microsoft.Owin.HostString)">
+            <summary>
+            Compares the two instances for equality.
+            </summary>
+            <param name="left"></param>
+            <param name="right"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.HostString.op_Inequality(Microsoft.Owin.HostString,Microsoft.Owin.HostString)">
+            <summary>
+            Compares the two instances for inequality.
+            </summary>
+            <param name="left"></param>
+            <param name="right"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Microsoft.Owin.IFormCollection">
+            <summary>
+            Contains the parsed form values.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.IHeaderDictionary">
+            <summary>
+            Represents a wrapper for owin.RequestHeaders and owin.ResponseHeaders.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.IHeaderDictionary.Item(System.String)">
+            <summary>
+            Get or sets the associated value from the collection as a single string.
+            </summary>
+            <param name="key">The header name.</param>
+            <returns>the associated value from the collection as a single string or null if the key is not present.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.IHeaderDictionary.GetCommaSeparatedValues(System.String)">
+            <summary>
+            Get the associated values from the collection separated into individual values.
+            Quoted values will not be split, and the quotes will be removed.
+            </summary>
+            <param name="key">The header name.</param>
+            <returns>the associated values from the collection separated into individual values, or null if the key is not present.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.IHeaderDictionary.Append(System.String,System.String)">
+            <summary>
+            Add a new value. Appends to the header if already present
+            </summary>
+            <param name="key">The header name.</param>
+            <param name="value">The header value.</param>
+        </member>
+        <member name="M:Microsoft.Owin.IHeaderDictionary.AppendValues(System.String,System.String[])">
+            <summary>
+            Add new values. Each item remains a separate array entry.
+            </summary>
+            <param name="key">The header name.</param>
+            <param name="values">The header values.</param>
+        </member>
+        <member name="M:Microsoft.Owin.IHeaderDictionary.AppendCommaSeparatedValues(System.String,System.String[])">
+            <summary>
+            Quotes any values containing comas, and then coma joins all of the values with any existing values.
+            </summary>
+            <param name="key">The header name.</param>
+            <param name="values">The header values.</param>
+        </member>
+        <member name="M:Microsoft.Owin.IHeaderDictionary.Set(System.String,System.String)">
+            <summary>
+            Sets a specific header value.
+            </summary>
+            <param name="key">The header name.</param>
+            <param name="value">The header value.</param>
+        </member>
+        <member name="M:Microsoft.Owin.IHeaderDictionary.SetValues(System.String,System.String[])">
+            <summary>
+            Sets the specified header values without modification.
+            </summary>
+            <param name="key">The header name.</param>
+            <param name="values">The header values.</param>
+        </member>
+        <member name="M:Microsoft.Owin.IHeaderDictionary.SetCommaSeparatedValues(System.String,System.String[])">
+            <summary>
+            Quotes any values containing comas, and then coma joins all of the values.
+            </summary>
+            <param name="key">The header name.</param>
+            <param name="values">The header values.</param>
+        </member>
+        <member name="T:Microsoft.Owin.Infrastructure.AppFuncTransition">
+            <summary>
+            Converts between an OwinMiddlware and an <typeref name="Func&lt;IDictionary&lt;string,object&gt;, Task&gt;"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Infrastructure.AppFuncTransition.#ctor(System.Func{System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.Tasks.Task})">
+            <summary>
+            
+            </summary>
+            <param name="next"></param>
+        </member>
+        <member name="M:Microsoft.Owin.Infrastructure.AppFuncTransition.Invoke(Microsoft.Owin.IOwinContext)">
+            <summary>
+            
+            </summary>
+            <param name="context"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Microsoft.Owin.Infrastructure.ChunkingCookieManager">
+            <summary>
+            This handles cookies that are limited by per cookie length. It breaks down long cookies for responses, and reassembles them
+            from requests.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Infrastructure.ChunkingCookieManager.#ctor">
+            <summary>
+            Creates a new instance of ChunkingCookieManager.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Infrastructure.ChunkingCookieManager.ChunkSize">
+             <summary>
+             The maximum size of cookie to send back to the client. If a cookie exceeds this size it will be broken down into multiple
+             cookies. Set this value to null to disable this behavior. The default is 4090 characters, which is supported by all
+             common browsers.
+            
+             Note that browsers may also have limits on the total size of all cookies per domain, and on the number of cookies per domain.
+             </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Infrastructure.ChunkingCookieManager.ThrowForPartialCookies">
+            <summary>
+            Throw if not all chunks of a cookie are available on a request for re-assembly.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Infrastructure.ChunkingCookieManager.GetRequestCookie(Microsoft.Owin.IOwinContext,System.String)">
+            <summary>
+            Get the reassembled cookie. Non chunked cookies are returned normally.
+            Cookies with missing chunks just have their "chunks:XX" header returned.
+            </summary>
+            <param name="context"></param>
+            <param name="key"></param>
+            <returns>The reassembled cookie, if any, or null.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Infrastructure.ChunkingCookieManager.AppendResponseCookie(Microsoft.Owin.IOwinContext,System.String,System.String,Microsoft.Owin.CookieOptions)">
+            <summary>
+            Appends a new response cookie to the Set-Cookie header. If the cookie is larger than the given size limit
+            then it will be broken down into multiple cookies as follows:
+            Set-Cookie: CookieName=chunks:3; path=/
+            Set-Cookie: CookieNameC1=Segment1; path=/
+            Set-Cookie: CookieNameC2=Segment2; path=/
+            Set-Cookie: CookieNameC3=Segment3; path=/
+            </summary>
+            <param name="context"></param>
+            <param name="key"></param>
+            <param name="value"></param>
+            <param name="options"></param>
+        </member>
+        <member name="M:Microsoft.Owin.Infrastructure.ChunkingCookieManager.DeleteCookie(Microsoft.Owin.IOwinContext,System.String,Microsoft.Owin.CookieOptions)">
+            <summary>
+            Deletes the cookie with the given key by setting an expired state. If a matching chunked cookie exists on
+            the request, delete each chunk.
+            </summary>
+            <param name="context"></param>
+            <param name="key"></param>
+            <param name="options"></param>
+        </member>
+        <member name="T:Microsoft.Owin.Infrastructure.CookieManager">
+            <summary>
+            An implementation of ICookieManager that writes directly to IOwinContext.Response.Cookies.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Infrastructure.CookieManager.GetRequestCookie(Microsoft.Owin.IOwinContext,System.String)">
+            <summary>
+            Read a cookie with the given name from the request.
+            </summary>
+            <param name="context"></param>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.Infrastructure.CookieManager.AppendResponseCookie(Microsoft.Owin.IOwinContext,System.String,System.String,Microsoft.Owin.CookieOptions)">
+            <summary>
+            Appends a new response cookie to the Set-Cookie header.
+            </summary>
+            <param name="context"></param>
+            <param name="key"></param>
+            <param name="value"></param>
+            <param name="options"></param>
+        </member>
+        <member name="M:Microsoft.Owin.Infrastructure.CookieManager.DeleteCookie(Microsoft.Owin.IOwinContext,System.String,Microsoft.Owin.CookieOptions)">
+            <summary>
+            Deletes the cookie with the given key by appending an expired cookie.
+            </summary>
+            <param name="context"></param>
+            <param name="key"></param>
+            <param name="options"></param>
+        </member>
+        <member name="T:Microsoft.Owin.Infrastructure.ICookieManager">
+            <summary>
+            An abstraction for reading request cookies and writing response cookies.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Infrastructure.ICookieManager.GetRequestCookie(Microsoft.Owin.IOwinContext,System.String)">
+            <summary>
+            Read a cookie with the given name from the request.
+            </summary>
+            <param name="context"></param>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.Infrastructure.ICookieManager.AppendResponseCookie(Microsoft.Owin.IOwinContext,System.String,System.String,Microsoft.Owin.CookieOptions)">
+            <summary>
+            Append a cookie to the response.
+            </summary>
+            <param name="context"></param>
+            <param name="key"></param>
+            <param name="value"></param>
+            <param name="options"></param>
+        </member>
+        <member name="M:Microsoft.Owin.Infrastructure.ICookieManager.DeleteCookie(Microsoft.Owin.IOwinContext,System.String,Microsoft.Owin.CookieOptions)">
+            <summary>
+            Append a delete cookie to the response.
+            </summary>
+            <param name="context"></param>
+            <param name="key"></param>
+            <param name="options"></param>
+        </member>
+        <member name="T:Microsoft.Owin.Infrastructure.ISystemClock">
+            <summary>
+            Abstracts the system clock to facilitate testing.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Infrastructure.ISystemClock.UtcNow">
+            <summary>
+            Retrieves the current system time in UTC.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Infrastructure.OwinMiddlewareTransition">
+            <summary>
+            Transitions between <typeref name="Func&lt;IDictionary&lt;string,object&gt;, Task&gt;"/> and OwinMiddleware.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Infrastructure.OwinMiddlewareTransition.#ctor(Microsoft.Owin.OwinMiddleware)">
+            <summary>
+            
+            </summary>
+            <param name="next"></param>
+        </member>
+        <member name="M:Microsoft.Owin.Infrastructure.OwinMiddlewareTransition.Invoke(System.Collections.Generic.IDictionary{System.String,System.Object})">
+            <summary>
+            
+            </summary>
+            <param name="environment">OWIN environment dictionary which stores state information about the request, response and relevant server state.</param>
+            <returns></returns>
+        </member>
+        <member name="T:Microsoft.Owin.Infrastructure.SignatureConversions">
+            <summary>
+            Adds adapters between <typeref name="Func&lt;IDictionary&lt;string,object&gt;, Task&gt;"/> and OwinMiddleware.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Infrastructure.SignatureConversions.AddConversions(Owin.IAppBuilder)">
+            <summary>
+            Adds adapters between <typeref name="Func&lt;IDictionary&lt;string,object&gt;, Task&gt;"/> and OwinMiddleware.
+            </summary>
+            <param name="app"></param>
+        </member>
+        <member name="T:Microsoft.Owin.Infrastructure.SystemClock">
+            <summary>
+            Provides access to the normal system clock.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Infrastructure.SystemClock.UtcNow">
+            <summary>
+            Retrieves the current system time in UTC.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Infrastructure.WebUtilities">
+            <summary>
+            Response generation utilities.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Infrastructure.WebUtilities.AddQueryString(System.String,System.String)">
+            <summary>
+            Append the given query to the uri.
+            </summary>
+            <param name="uri">The base uri.</param>
+            <param name="queryString">The query string to append, if any.</param>
+            <returns>The combine result.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Infrastructure.WebUtilities.AddQueryString(System.String,System.String,System.String)">
+            <summary>
+            Append the given query key and value to the uri.
+            </summary>
+            <param name="uri">The base uri.</param>
+            <param name="name">The name of the query key.</param>
+            <param name="value">The query value.</param>
+            <returns>The combine result.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Infrastructure.WebUtilities.AddQueryString(System.String,System.Collections.Generic.IDictionary{System.String,System.String})">
+            <summary>
+            Append the given query keys and values to the uri.
+            </summary>
+            <param name="uri">The base uri.</param>
+            <param name="queryString">A collection of name value query pairs to append.</param>
+            <returns>The combine result.</returns>
+        </member>
+        <member name="T:Microsoft.Owin.IOwinContext">
+            <summary>
+            This wraps OWIN environment dictionary and provides strongly typed accessors.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinContext.Request">
+            <summary>
+            Gets a wrapper exposing request specific properties.
+            </summary>
+            <returns>A wrapper exposing request specific properties.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinContext.Response">
+            <summary>
+            Gets a wrapper exposing response specific properties.
+            </summary>
+            <returns>A wrapper exposing response specific properties.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinContext.Authentication">
+            <summary>
+            Gets the Authentication middleware functionality available on the current request.
+            </summary>
+            <returns>The authentication middleware functionality available on the current request.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinContext.Environment">
+            <summary>
+            Gets the OWIN environment.
+            </summary>
+            <returns>The OWIN environment.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinContext.TraceOutput">
+            <summary>
+            Gets or sets the host.TraceOutput environment value.
+            </summary>
+            <returns>The host.TraceOutput TextWriter.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.IOwinContext.Get``1(System.String)">
+            <summary>
+            Gets a value from the OWIN environment, or returns default(T) if not present.
+            </summary>
+            <typeparam name="T">The type of the value.</typeparam>
+            <param name="key">The key of the value to get.</param>
+            <returns>The value with the specified key or the default(T) if not present.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.IOwinContext.Set``1(System.String,``0)">
+            <summary>
+            Sets the given key and value in the OWIN environment.
+            </summary>
+            <typeparam name="T">The type of the value.</typeparam>
+            <param name="key">The key of the value to set.</param>
+            <param name="value">The value to set.</param>
+            <returns>This instance.</returns>
+        </member>
+        <member name="T:Microsoft.Owin.IOwinRequest">
+            <summary>
+            This wraps OWIN environment dictionary and provides strongly typed accessors.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinRequest.Environment">
+            <summary>
+            Gets the OWIN environment.
+            </summary>
+            <returns>The OWIN environment.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinRequest.Context">
+            <summary>
+            Gets the request context.
+            </summary>
+            <returns>The request context.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinRequest.Method">
+            <summary>
+            Gets or set the HTTP method.
+            </summary>
+            <returns>The HTTP method.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinRequest.Scheme">
+            <summary>
+            Gets or set the HTTP request scheme from owin.RequestScheme.
+            </summary>
+            <returns>The HTTP request scheme from owin.RequestScheme.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinRequest.IsSecure">
+            <summary>
+            Returns true if the owin.RequestScheme is https.
+            </summary>
+            <returns>true if this request is using https; otherwise, false.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinRequest.Host">
+            <summary>
+            Gets or set the Host header. May include the port.
+            </summary>
+            <return>The Host header.</return>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinRequest.PathBase">
+            <summary>
+            Gets or set the owin.RequestPathBase.
+            </summary>
+            <returns>The owin.RequestPathBase.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinRequest.Path">
+            <summary>
+            Gets or set the request path from owin.RequestPath.
+            </summary>
+            <returns>The request path from owin.RequestPath.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinRequest.QueryString">
+            <summary>
+            Gets or set the query string from owin.RequestQueryString.
+            </summary>
+            <returns>The query string from owin.RequestQueryString.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinRequest.Query">
+            <summary>
+            Gets the query value collection parsed from owin.RequestQueryString.
+            </summary>
+            <returns>The query value collection parsed from owin.RequestQueryString.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinRequest.Uri">
+            <summary>
+            Gets the uniform resource identifier (URI) associated with the request.
+            </summary>
+            <returns>The uniform resource identifier (URI) associated with the request.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinRequest.Protocol">
+            <summary>
+            Gets or set the owin.RequestProtocol.
+            </summary>
+            <returns>The owin.RequestProtocol.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinRequest.Headers">
+            <summary>
+            Gets the request headers.
+            </summary>
+            <returns>The request headers.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinRequest.Cookies">
+            <summary>
+            Gets the collection of Cookies for this request.
+            </summary>
+            <returns>The collection of Cookies for this request.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinRequest.ContentType">
+            <summary>
+            Gets or sets the Content-Type header.
+            </summary>
+            <returns>The Content-Type header.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinRequest.CacheControl">
+            <summary>
+            Gets or sets the Cache-Control header.
+            </summary>
+            <returns>The Cache-Control header.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinRequest.MediaType">
+            <summary>
+            Gets or sets the Media-Type header.
+            </summary>
+            <returns>The Media-Type header.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinRequest.Accept">
+            <summary>
+            Gets or set the Accept header.
+            </summary>
+            <returns>The Accept header.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinRequest.Body">
+            <summary>
+            Gets or set the owin.RequestBody Stream.
+            </summary>
+            <returns>The owin.RequestBody Stream.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinRequest.CallCancelled">
+            <summary>
+            Gets or sets the cancellation token for the request.
+            </summary>
+            <returns>The cancellation token for the request.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinRequest.LocalIpAddress">
+            <summary>
+            Gets or set the server.LocalIpAddress.
+            </summary>
+            <returns>The server.LocalIpAddress.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinRequest.LocalPort">
+            <summary>
+            Gets or set the server.LocalPort.
+            </summary>
+            <returns>The server.LocalPort.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinRequest.RemoteIpAddress">
+            <summary>
+            Gets or set the server.RemoteIpAddress.
+            </summary>
+            <returns>The server.RemoteIpAddress.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinRequest.RemotePort">
+            <summary>
+            Gets or set the server.RemotePort.
+            </summary>
+            <returns>The server.RemotePort.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinRequest.User">
+            <summary>
+            Gets or set the server.User.
+            </summary>
+            <returns>The server.User.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.IOwinRequest.ReadFormAsync">
+            <summary>
+            Asynchronously reads and parses the request body as a form.
+            </summary>
+            <returns>The parsed form data.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.IOwinRequest.Get``1(System.String)">
+            <summary>
+            Gets a value from the OWIN environment, or returns default(T) if not present.
+            </summary>
+            <typeparam name="T">The type of the value.</typeparam>
+            <param name="key">The key of the value to get.</param>
+            <returns>The value with the specified key or the default(T) if not present.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.IOwinRequest.Set``1(System.String,``0)">
+            <summary>
+            Sets the given key and value in the OWIN environment.
+            </summary>
+            <typeparam name="T">The type of the value.</typeparam>
+            <param name="key">The key of the value to set.</param>
+            <param name="value">The value to set.</param>
+            <returns>This instance.</returns>
+        </member>
+        <member name="T:Microsoft.Owin.IOwinResponse">
+            <summary>
+            This wraps OWIN environment dictionary and provides strongly typed accessors.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinResponse.Environment">
+            <summary>
+            Gets the OWIN environment.
+            </summary>
+            <returns>The OWIN environment.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinResponse.Context">
+            <summary>
+            Gets the request context.
+            </summary>
+            <returns>The request context.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinResponse.StatusCode">
+            <summary>
+            Gets or sets the optional owin.ResponseStatusCode.
+            </summary>
+            <returns>The optional owin.ResponseStatusCode, or 200 if not set.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinResponse.ReasonPhrase">
+            <summary>
+            Gets or sets the the optional owin.ResponseReasonPhrase.
+            </summary>
+            <returns>The the optional owin.ResponseReasonPhrase.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinResponse.Protocol">
+            <summary>
+            Gets or sets the owin.ResponseProtocol.
+            </summary>
+            <returns>The owin.ResponseProtocol.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinResponse.Headers">
+            <summary>
+            Gets the response header collection.
+            </summary>
+            <returns>The response header collection.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinResponse.Cookies">
+            <summary>
+            Gets a collection used to manipulate the Set-Cookie header.
+            </summary>
+            <returns>A collection used to manipulate the Set-Cookie header.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinResponse.ContentLength">
+            <summary>
+            Gets or sets the Content-Length header.
+            </summary>
+            <returns>The Content-Length header.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinResponse.ContentType">
+            <summary>
+            Gets or sets the Content-Type header.
+            </summary>
+            <returns>The Content-Type header.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinResponse.Expires">
+            <summary>
+            Gets or sets the Expires header.
+            </summary>
+            <returns>The Expires header.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinResponse.ETag">
+            <summary>
+            Gets or sets the E-Tag header.
+            </summary>
+            <returns>The E-Tag header.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.IOwinResponse.Body">
+            <summary>
+            Gets or sets the owin.ResponseBody Stream.
+            </summary>
+            <returns>The owin.ResponseBody Stream.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.IOwinResponse.OnSendingHeaders(System.Action{System.Object},System.Object)">
+            <summary>
+            Registers for an event that fires when the response headers are sent.
+            </summary>
+            <param name="callback">The callback method.</param>
+            <param name="state">The callback state.</param>
+        </member>
+        <member name="M:Microsoft.Owin.IOwinResponse.Redirect(System.String)">
+            <summary>
+            Sets a 302 response status code and the Location header.
+            </summary>
+            <param name="location">The location where to redirect the client.</param>
+        </member>
+        <member name="M:Microsoft.Owin.IOwinResponse.Write(System.String)">
+            <summary>
+            Writes the given text to the response body stream using UTF-8.
+            </summary>
+            <param name="text">The response data.</param>
+        </member>
+        <member name="M:Microsoft.Owin.IOwinResponse.Write(System.Byte[])">
+            <summary>
+            Writes the given bytes to the response body stream.
+            </summary>
+            <param name="data">The response data.</param>
+        </member>
+        <member name="M:Microsoft.Owin.IOwinResponse.Write(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Writes the given bytes to the response body stream.
+            </summary>
+            <param name="data">The response data.</param>
+            <param name="offset">The zero-based byte offset in the <paramref name="data" /> parameter at which to begin copying bytes.</param>
+            <param name="count">The number of bytes to write.</param>
+        </member>
+        <member name="M:Microsoft.Owin.IOwinResponse.WriteAsync(System.String)">
+            <summary>
+            Asynchronously writes the given text to the response body stream using UTF-8.
+            </summary>
+            <param name="text">The response data.</param>
+            <returns>A Task tracking the state of the write operation.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.IOwinResponse.WriteAsync(System.String,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the given text to the response body stream using UTF-8.
+            </summary>
+            <param name="text">The response data.</param>
+            <param name="token">A token used to indicate cancellation.</param>
+            <returns>A Task tracking the state of the write operation.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.IOwinResponse.WriteAsync(System.Byte[])">
+            <summary>
+            Asynchronously writes the given bytes to the response body stream.
+            </summary>
+            <param name="data">The response data.</param>
+            <returns>A Task tracking the state of the write operation.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.IOwinResponse.WriteAsync(System.Byte[],System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the given bytes to the response body stream.
+            </summary>
+            <param name="data">The response data.</param>
+            <param name="token">A token used to indicate cancellation.</param>
+            <returns>A Task tracking the state of the write operation.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.IOwinResponse.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the given bytes to the response body stream.
+            </summary>
+            <param name="data">The response data.</param>
+            <param name="offset">The zero-based byte offset in the <paramref name="data" /> parameter at which to begin copying bytes.</param>
+            <param name="count">The number of bytes to write.</param>
+            <param name="token">A token used to indicate cancellation.</param>
+            <returns>A Task tracking the state of the write operation.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.IOwinResponse.Get``1(System.String)">
+            <summary>
+            Gets a value from the OWIN environment, or returns default(T) if not present.
+            </summary>
+            <typeparam name="T">The type of the value.</typeparam>
+            <param name="key">The key of the value to get.</param>
+            <returns>The value with the specified key or the default(T) if not present.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.IOwinResponse.Set``1(System.String,``0)">
+            <summary>
+            Sets the given key and value in the OWIN environment.
+            </summary>
+            <typeparam name="T">The type of the value.</typeparam>
+            <param name="key">The key of the value to set.</param>
+            <param name="value">The value to set.</param>
+            <returns>This instance.</returns>
+        </member>
+        <member name="T:Microsoft.Owin.IReadableStringCollection">
+            <summary>
+            Accessors for headers, query, forms, etc.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.IReadableStringCollection.Item(System.String)">
+            <summary>
+            Get the associated value from the collection.  Multiple values will be merged.
+            Returns null if the key is not present.
+            </summary>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.IReadableStringCollection.Get(System.String)">
+            <summary>
+            Get the associated value from the collection.  Multiple values will be merged.
+            Returns null if the key is not present.
+            </summary>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.IReadableStringCollection.GetValues(System.String)">
+            <summary>
+            Get the associated values from the collection in their original format.
+            Returns null if the key is not present.
+            </summary>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Microsoft.Owin.OwinStartupAttribute">
+            <summary>
+            Used to mark which class in an assembly should be used for automatic startup.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.OwinStartupAttribute.#ctor(System.Type)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.OwinStartupAttribute"/> class
+            </summary>
+            <param name="startupType">The startup class</param>
+        </member>
+        <member name="M:Microsoft.Owin.OwinStartupAttribute.#ctor(System.String,System.Type)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.OwinStartupAttribute"/> class
+            </summary>
+            <param name="friendlyName">A non-default configuration, e.g. staging.</param>
+            <param name="startupType">The startup class</param>
+        </member>
+        <member name="M:Microsoft.Owin.OwinStartupAttribute.#ctor(System.Type,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.OwinStartupAttribute"/> class
+            </summary>
+            <param name="startupType">The startup class</param>
+            <param name="methodName">Specifies which method to call</param>
+        </member>
+        <member name="M:Microsoft.Owin.OwinStartupAttribute.#ctor(System.String,System.Type,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.OwinStartupAttribute"/> class
+            </summary>
+            <param name="friendlyName">A non-default configuration, e.g. staging.</param>
+            <param name="startupType">The startup class</param>
+            <param name="methodName">Specifies which method to call</param>
+        </member>
+        <member name="P:Microsoft.Owin.OwinStartupAttribute.FriendlyName">
+            <summary>
+            A non-default configuration if any. e.g. Staging.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.OwinStartupAttribute.StartupType">
+            <summary>
+            The startup class
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.OwinStartupAttribute.MethodName">
+            <summary>
+            The name of the configuration method
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Logging.AppBuilderLoggerExtensions">
+            <summary>
+            Logging extension methods for IAppBuilder.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Logging.AppBuilderLoggerExtensions.SetLoggerFactory(Owin.IAppBuilder,Microsoft.Owin.Logging.ILoggerFactory)">
+            <summary>
+            Sets the server.LoggerFactory in the Properties collection.
+            </summary>
+            <param name="app"></param>
+            <param name="loggerFactory"></param>
+        </member>
+        <member name="M:Microsoft.Owin.Logging.AppBuilderLoggerExtensions.GetLoggerFactory(Owin.IAppBuilder)">
+            <summary>
+            Retrieves the server.LoggerFactory from the Properties collection.
+            </summary>
+            <param name="app"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.Logging.AppBuilderLoggerExtensions.CreateLogger(Owin.IAppBuilder,System.String)">
+            <summary>
+            Creates a new ILogger instance from the server.LoggerFactory in the Properties collection.
+            </summary>
+            <param name="app"></param>
+            <param name="name"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.Logging.AppBuilderLoggerExtensions.CreateLogger(Owin.IAppBuilder,System.Type)">
+            <summary>
+            Creates a new ILogger instance from the server.LoggerFactory in the Properties collection.
+            </summary>
+            <param name="app"></param>
+            <param name="component"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.Logging.AppBuilderLoggerExtensions.CreateLogger``1(Owin.IAppBuilder)">
+            <summary>
+            Creates a new ILogger instance from the server.LoggerFactory in the Properties collection.
+            </summary>
+            <typeparam name="TType"></typeparam>
+            <param name="app"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Microsoft.Owin.Logging.DiagnosticsLoggerFactory">
+            <summary>
+            Provides an ILoggerFactory based on System.Diagnostics.TraceSource.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Logging.DiagnosticsLoggerFactory.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Logging.DiagnosticsLoggerFactory"/> class. 
+            </summary>
+            <summary>
+            Creates a factory named "Microsoft.Owin".
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Logging.DiagnosticsLoggerFactory.#ctor(System.Diagnostics.SourceSwitch,System.Diagnostics.TraceListener)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Logging.DiagnosticsLoggerFactory"/> class.
+            </summary>
+            <param name="rootSourceSwitch"></param>
+            <param name="rootTraceListener"></param>
+        </member>
+        <member name="M:Microsoft.Owin.Logging.DiagnosticsLoggerFactory.Create(System.String)">
+            <summary>
+            Creates a new DiagnosticsLogger for the given component name.
+            </summary>
+            <param name="name"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Microsoft.Owin.Logging.ILogger">
+            <summary>
+            A generic interface for logging.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Logging.ILogger.WriteCore(System.Diagnostics.TraceEventType,System.Int32,System.Object,System.Exception,System.Func{System.Object,System.Exception,System.String})">
+            <summary>
+            Aggregates most logging patterns to a single method.  This must be compatible with the Func representation in the OWIN environment.
+            
+            To check IsEnabled call WriteCore with only TraceEventType and check the return value, no event will be written.
+            </summary>
+            <param name="eventType"></param>
+            <param name="eventId"></param>
+            <param name="state"></param>
+            <param name="exception"></param>
+            <param name="formatter"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Microsoft.Owin.Logging.ILoggerFactory">
+            <summary>
+            Used to create logger instances of the given name.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Logging.ILoggerFactory.Create(System.String)">
+            <summary>
+            Creates a new ILogger instance of the given name.
+            </summary>
+            <param name="name"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Microsoft.Owin.Logging.LoggerExtensions">
+            <summary>
+            ILogger extension methods for common scenarios.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Logging.LoggerExtensions.IsEnabled(Microsoft.Owin.Logging.ILogger,System.Diagnostics.TraceEventType)">
+            <summary>
+            Checks if the given TraceEventType is enabled.
+            </summary>
+            <param name="logger"></param>
+            <param name="eventType"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.Logging.LoggerExtensions.WriteVerbose(Microsoft.Owin.Logging.ILogger,System.String)">
+            <summary>
+            Writes a verbose log message.
+            </summary>
+            <param name="logger"></param>
+            <param name="data"></param>
+        </member>
+        <member name="M:Microsoft.Owin.Logging.LoggerExtensions.WriteInformation(Microsoft.Owin.Logging.ILogger,System.String)">
+            <summary>
+            Writes an informational log message.
+            </summary>
+            <param name="logger"></param>
+            <param name="message"></param>
+        </member>
+        <member name="M:Microsoft.Owin.Logging.LoggerExtensions.WriteWarning(Microsoft.Owin.Logging.ILogger,System.String,System.String[])">
+            <summary>
+            Writes a warning log message.
+            </summary>
+            <param name="logger"></param>
+            <param name="message"></param>
+            <param name="args"></param>
+        </member>
+        <member name="M:Microsoft.Owin.Logging.LoggerExtensions.WriteWarning(Microsoft.Owin.Logging.ILogger,System.String,System.Exception)">
+            <summary>
+            Writes a warning log message.
+            </summary>
+            <param name="logger"></param>
+            <param name="message"></param>
+            <param name="error"></param>
+        </member>
+        <member name="M:Microsoft.Owin.Logging.LoggerExtensions.WriteError(Microsoft.Owin.Logging.ILogger,System.String)">
+            <summary>
+            Writes an error log message.
+            </summary>
+            <param name="logger"></param>
+            <param name="message"></param>
+        </member>
+        <member name="M:Microsoft.Owin.Logging.LoggerExtensions.WriteError(Microsoft.Owin.Logging.ILogger,System.String,System.Exception)">
+            <summary>
+            Writes an error log message.
+            </summary>
+            <param name="logger"></param>
+            <param name="message"></param>
+            <param name="error"></param>
+        </member>
+        <member name="M:Microsoft.Owin.Logging.LoggerExtensions.WriteCritical(Microsoft.Owin.Logging.ILogger,System.String)">
+            <summary>
+            Writes a critical log message.
+            </summary>
+            <param name="logger"></param>
+            <param name="message"></param>
+        </member>
+        <member name="M:Microsoft.Owin.Logging.LoggerExtensions.WriteCritical(Microsoft.Owin.Logging.ILogger,System.String,System.Exception)">
+            <summary>
+            Writes a critical log message.
+            </summary>
+            <param name="logger"></param>
+            <param name="message"></param>
+            <param name="error"></param>
+        </member>
+        <member name="T:Microsoft.Owin.Logging.LoggerFactory">
+            <summary>
+            Provides a default ILoggerFactory.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Logging.LoggerFactory.Default">
+            <summary>
+            Provides a default ILoggerFactory based on System.Diagnostics.TraceSorce.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Mapping.MapMiddleware">
+            <summary>
+            Used to create path based branches in your application pipeline.
+            The owin.RequestPathBase is not included in the evaluation, only owin.RequestPath.
+            Matching paths have the matching piece removed from owin.RequestPath and added to the owin.RequestPathBase.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Mapping.MapMiddleware.#ctor(System.Func{System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.Tasks.Task},Microsoft.Owin.Mapping.MapOptions)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Mapping.MapMiddleware"/> class
+            </summary>
+            <param name="next">The normal pipeline taken for a negative match</param>
+            <param name="options"></param>
+        </member>
+        <member name="M:Microsoft.Owin.Mapping.MapMiddleware.Invoke(System.Collections.Generic.IDictionary{System.String,System.Object})">
+            <summary>
+            Process an individual request.
+            </summary>
+            <param name="environment"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Microsoft.Owin.Mapping.MapOptions">
+            <summary>
+            Options for the Map middleware
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Mapping.MapOptions.PathMatch">
+            <summary>
+            The path to match
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Mapping.MapOptions.Branch">
+            <summary>
+            The branch taken for a positive match
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Mapping.MapWhenMiddleware">
+            <summary>
+            Determines if the request should take a specific branch of the pipeline by passing the environment
+            to a user defined callback.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Mapping.MapWhenMiddleware.#ctor(System.Func{System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.Tasks.Task},Microsoft.Owin.Mapping.MapWhenOptions)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Mapping.MapWhenMiddleware"/> class
+            </summary>
+            <param name="next">The normal application pipeline</param>
+            <param name="options"></param>
+        </member>
+        <member name="M:Microsoft.Owin.Mapping.MapWhenMiddleware.Invoke(System.Collections.Generic.IDictionary{System.String,System.Object})">
+            <summary>
+            Process an individual request.
+            </summary>
+            <param name="environment"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Microsoft.Owin.Mapping.MapWhenOptions">
+            <summary>
+            Options for the MapWhen middleware
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Mapping.MapWhenOptions.Predicate">
+            <summary>
+            The user callback that determines if the branch should be taken
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Mapping.MapWhenOptions.PredicateAsync">
+            <summary>
+            The async user callback that determines if the branch should be taken
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Mapping.MapWhenOptions.Branch">
+            <summary>
+            The branch taken for a positive match
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.OwinContext">
+            <summary>
+            This wraps OWIN environment dictionary and provides strongly typed accessors.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.OwinContext.#ctor">
+            <summary>
+            Create a new context with only request and response header collections.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.OwinContext.#ctor(System.Collections.Generic.IDictionary{System.String,System.Object})">
+            <summary>
+            Create a new wrapper.
+            </summary>
+            <param name="environment">OWIN environment dictionary which stores state information about the request, response and relevant server state.</param>
+        </member>
+        <member name="P:Microsoft.Owin.OwinContext.Request">
+            <summary>
+            Gets a wrapper exposing request specific properties.
+            </summary>
+            <returns>A wrapper exposing request specific properties.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinContext.Response">
+            <summary>
+            Gets a wrapper exposing response specific properties.
+            </summary>
+            <returns>A wrapper exposing response specific properties.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinContext.Authentication">
+            <summary>
+            Gets the Authentication middleware functionality available on the current request.
+            </summary>
+            <returns>The authentication middleware functionality available on the current request.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinContext.Environment">
+            <summary>
+            Gets the OWIN environment.
+            </summary>
+            <returns>The OWIN environment.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinContext.TraceOutput">
+            <summary>
+            Gets or sets the host.TraceOutput environment value.
+            </summary>
+            <returns>The host.TraceOutput TextWriter.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.OwinContext.Get``1(System.String)">
+            <summary>
+            Gets a value from the OWIN environment, or returns default(T) if not present.
+            </summary>
+            <typeparam name="T">The type of the value.</typeparam>
+            <param name="key">The key of the value to get.</param>
+            <returns>The value with the specified key or the default(T) if not present.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.OwinContext.Set``1(System.String,``0)">
+            <summary>
+            Sets the given key and value in the OWIN environment.
+            </summary>
+            <typeparam name="T">The type of the value.</typeparam>
+            <param name="key">The key of the value to set.</param>
+            <param name="value">The value to set.</param>
+            <returns>This instance.</returns>
+        </member>
+        <member name="T:Microsoft.Owin.OwinMiddleware">
+            <summary>
+            An abstract base class for a standard middleware pattern.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.OwinMiddleware.#ctor(Microsoft.Owin.OwinMiddleware)">
+            <summary>
+            Instantiates the middleware with an optional pointer to the next component.
+            </summary>
+            <param name="next"></param>
+        </member>
+        <member name="P:Microsoft.Owin.OwinMiddleware.Next">
+            <summary>
+            The optional next component.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.OwinMiddleware.Invoke(Microsoft.Owin.IOwinContext)">
+            <summary>
+            Process an individual request.
+            </summary>
+            <param name="context"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Microsoft.Owin.OwinRequest">
+            <summary>
+            This wraps OWIN environment dictionary and provides strongly typed accessors.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.OwinRequest.#ctor">
+            <summary>
+            Create a new context with only request and response header collections.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.OwinRequest.#ctor(System.Collections.Generic.IDictionary{System.String,System.Object})">
+            <summary>
+            Create a new environment wrapper exposing request properties.
+            </summary>
+            <param name="environment">OWIN environment dictionary which stores state information about the request, response and relevant server state.</param>
+        </member>
+        <member name="P:Microsoft.Owin.OwinRequest.Environment">
+            <summary>
+            Gets the OWIN environment.
+            </summary>
+            <returns>The OWIN environment.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinRequest.Context">
+            <summary>
+            Gets the request context.
+            </summary>
+            <returns>The request context.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinRequest.Method">
+            <summary>
+            Gets or set the HTTP method.
+            </summary>
+            <returns>The HTTP method.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinRequest.Scheme">
+            <summary>
+            Gets or set the HTTP request scheme from owin.RequestScheme.
+            </summary>
+            <returns>The HTTP request scheme from owin.RequestScheme.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinRequest.IsSecure">
+            <summary>
+            Returns true if the owin.RequestScheme is https.
+            </summary>
+            <returns>true if this request is using https; otherwise, false.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinRequest.Host">
+            <summary>
+            Gets or set the Host header. May include the port.
+            </summary>
+            <return>The Host header.</return>
+        </member>
+        <member name="P:Microsoft.Owin.OwinRequest.PathBase">
+            <summary>
+            Gets or set the owin.RequestPathBase.
+            </summary>
+            <returns>The owin.RequestPathBase.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinRequest.Path">
+            <summary>
+            Gets or set the request path from owin.RequestPath.
+            </summary>
+            <returns>The request path from owin.RequestPath.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinRequest.QueryString">
+            <summary>
+            Gets or set the query string from owin.RequestQueryString.
+            </summary>
+            <returns>The query string from owin.RequestQueryString.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinRequest.Query">
+            <summary>
+            Gets the query value collection parsed from owin.RequestQueryString.
+            </summary>
+            <returns>The query value collection parsed from owin.RequestQueryString.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinRequest.Uri">
+            <summary>
+            Gets the uniform resource identifier (URI) associated with the request.
+            </summary>
+            <returns>The uniform resource identifier (URI) associated with the request.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinRequest.Protocol">
+            <summary>
+            Gets or set the owin.RequestProtocol.
+            </summary>
+            <returns>The owin.RequestProtocol.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinRequest.Headers">
+            <summary>
+            Gets the request headers.
+            </summary>
+            <returns>The request headers.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinRequest.Cookies">
+            <summary>
+            Gets the collection of Cookies for this request.
+            </summary>
+            <returns>The collection of Cookies for this request.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinRequest.ContentType">
+            <summary>
+            Gets or sets the Content-Type header.
+            </summary>
+            <returns>The Content-Type header.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinRequest.CacheControl">
+            <summary>
+            Gets or sets the Cache-Control header.
+            </summary>
+            <returns>The Cache-Control header.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinRequest.MediaType">
+            <summary>
+            Gets or sets the Media-Type header.
+            </summary>
+            <returns>The Media-Type header.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinRequest.Accept">
+            <summary>
+            Gets or set the Accept header.
+            </summary>
+            <returns>The Accept header.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinRequest.Body">
+            <summary>
+            Gets or set the owin.RequestBody Stream.
+            </summary>
+            <returns>The owin.RequestBody Stream.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinRequest.CallCancelled">
+            <summary>
+            Gets or sets the cancellation token for the request.
+            </summary>
+            <returns>The cancellation token for the request.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinRequest.LocalIpAddress">
+            <summary>
+            Gets or set the server.LocalIpAddress.
+            </summary>
+            <returns>The server.LocalIpAddress.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinRequest.LocalPort">
+            <summary>
+            Gets or set the server.LocalPort.
+            </summary>
+            <returns>The server.LocalPort.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinRequest.RemoteIpAddress">
+            <summary>
+            Gets or set the server.RemoteIpAddress.
+            </summary>
+            <returns>The server.RemoteIpAddress.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinRequest.RemotePort">
+            <summary>
+            Gets or set the server.RemotePort.
+            </summary>
+            <returns>The server.RemotePort.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinRequest.User">
+            <summary>
+            Gets or set the server.User.
+            </summary>
+            <returns>The server.User.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.OwinRequest.ReadFormAsync">
+            <summary>
+            Asynchronously reads and parses the request body as a form.
+            </summary>
+            <returns>The parsed form data.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.OwinRequest.Get``1(System.String)">
+            <summary>
+            Gets a value from the OWIN environment, or returns default(T) if not present.
+            </summary>
+            <typeparam name="T">The type of the value.</typeparam>
+            <param name="key">The key of the value to get.</param>
+            <returns>The value with the specified key or the default(T) if not present.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.OwinRequest.Set``1(System.String,``0)">
+            <summary>
+            Sets the given key and value in the OWIN environment.
+            </summary>
+            <typeparam name="T">The type of the value.</typeparam>
+            <param name="key">The key of the value to set.</param>
+            <param name="value">The value to set.</param>
+            <returns>This instance.</returns>
+        </member>
+        <member name="T:Microsoft.Owin.OwinResponse">
+            <summary>
+            This wraps OWIN environment dictionary and provides strongly typed accessors.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.OwinResponse.#ctor">
+            <summary>
+            Create a new context with only request and response header collections.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.OwinResponse.#ctor(System.Collections.Generic.IDictionary{System.String,System.Object})">
+            <summary>
+            Creates a new environment wrapper exposing response properties.
+            </summary>
+            <param name="environment">OWIN environment dictionary which stores state information about the request, response and relevant server state.</param>
+        </member>
+        <member name="P:Microsoft.Owin.OwinResponse.Environment">
+            <summary>
+            Gets the OWIN environment.
+            </summary>
+            <returns>The OWIN environment.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinResponse.Context">
+            <summary>
+            Gets the request context.
+            </summary>
+            <returns>The request context.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinResponse.StatusCode">
+            <summary>
+            Gets or sets the optional owin.ResponseStatusCode.
+            </summary>
+            <returns>The optional owin.ResponseStatusCode, or 200 if not set.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinResponse.ReasonPhrase">
+            <summary>
+            Gets or sets the the optional owin.ResponseReasonPhrase.
+            </summary>
+            <returns>The the optional owin.ResponseReasonPhrase.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinResponse.Protocol">
+            <summary>
+            Gets or sets the owin.ResponseProtocol.
+            </summary>
+            <returns>The owin.ResponseProtocol.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinResponse.Headers">
+            <summary>
+            Gets the response header collection.
+            </summary>
+            <returns>The response header collection.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinResponse.Cookies">
+            <summary>
+            Gets a collection used to manipulate the Set-Cookie header.
+            </summary>
+            <returns>A collection used to manipulate the Set-Cookie header.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinResponse.ContentLength">
+            <summary>
+            Gets or sets the Content-Length header.
+            </summary>
+            <returns>The Content-Length header.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinResponse.ContentType">
+            <summary>
+            Gets or sets the Content-Type header.
+            </summary>
+            <returns>The Content-Type header.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinResponse.Expires">
+            <summary>
+            Gets or sets the Expires header.
+            </summary>
+            <returns>The Expires header.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinResponse.ETag">
+            <summary>
+            Gets or sets the E-Tag header.
+            </summary>
+            <returns>The E-Tag header.</returns>
+        </member>
+        <member name="P:Microsoft.Owin.OwinResponse.Body">
+            <summary>
+            Gets or sets the owin.ResponseBody Stream.
+            </summary>
+            <returns>The owin.ResponseBody Stream.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.OwinResponse.OnSendingHeaders(System.Action{System.Object},System.Object)">
+            <summary>
+            Registers for an event that fires when the response headers are sent.
+            </summary>
+            <param name="callback">The callback method.</param>
+            <param name="state">The callback state.</param>
+        </member>
+        <member name="M:Microsoft.Owin.OwinResponse.Redirect(System.String)">
+            <summary>
+            Sets a 302 response status code and the Location header.
+            </summary>
+            <param name="location">The location where to redirect the client.</param>
+        </member>
+        <member name="M:Microsoft.Owin.OwinResponse.Write(System.String)">
+            <summary>
+            Writes the given text to the response body stream using UTF-8.
+            </summary>
+            <param name="text">The response data.</param>
+        </member>
+        <member name="M:Microsoft.Owin.OwinResponse.Write(System.Byte[])">
+            <summary>
+            Writes the given bytes to the response body stream.
+            </summary>
+            <param name="data">The response data.</param>
+        </member>
+        <member name="M:Microsoft.Owin.OwinResponse.Write(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Writes the given bytes to the response body stream.
+            </summary>
+            <param name="data">The response data.</param>
+            <param name="offset">The zero-based byte offset in the <paramref name="data" /> parameter at which to begin copying bytes.</param>
+            <param name="count">The number of bytes to write.</param>
+        </member>
+        <member name="M:Microsoft.Owin.OwinResponse.WriteAsync(System.String)">
+            <summary>
+            Asynchronously writes the given text to the response body stream using UTF-8.
+            </summary>
+            <param name="text">The response data.</param>
+            <returns>A Task tracking the state of the write operation.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.OwinResponse.WriteAsync(System.String,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the given text to the response body stream using UTF-8.
+            </summary>
+            <param name="text">The response data.</param>
+            <param name="token">A token used to indicate cancellation.</param>
+            <returns>A Task tracking the state of the write operation.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.OwinResponse.WriteAsync(System.Byte[])">
+            <summary>
+            Asynchronously writes the given bytes to the response body stream.
+            </summary>
+            <param name="data">The response data.</param>
+            <returns>A Task tracking the state of the write operation.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.OwinResponse.WriteAsync(System.Byte[],System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the given bytes to the response body stream.
+            </summary>
+            <param name="data">The response data.</param>
+            <param name="token">A token used to indicate cancellation.</param>
+            <returns>A Task tracking the state of the write operation.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.OwinResponse.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the given bytes to the response body stream.
+            </summary>
+            <param name="data">The response data.</param>
+            <param name="offset">The zero-based byte offset in the <paramref name="data" /> parameter at which to begin copying bytes.</param>
+            <param name="count">The number of bytes to write.</param>
+            <param name="token">A token used to indicate cancellation.</param>
+            <returns>A Task tracking the state of the write operation.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.OwinResponse.Get``1(System.String)">
+            <summary>
+            Gets a value from the OWIN environment, or returns default(T) if not present.
+            </summary>
+            <typeparam name="T">The type of the value.</typeparam>
+            <param name="key">The key of the value to get.</param>
+            <returns>The value with the specified key or the default(T) if not present.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.OwinResponse.Set``1(System.String,``0)">
+            <summary>
+            Sets the given key and value in the OWIN environment.
+            </summary>
+            <typeparam name="T">The type of the value.</typeparam>
+            <param name="key">The key of the value to set.</param>
+            <param name="value">The value to set.</param>
+            <returns>This instance.</returns>
+        </member>
+        <member name="T:Microsoft.Owin.PathString">
+            <summary>
+            Provides correct escaping for Path and PathBase values when needed to reconstruct a request or redirect URI string
+            </summary>
+        </member>
+        <member name="F:Microsoft.Owin.PathString.Empty">
+            <summary>
+            Represents the empty path. This field is read-only.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.PathString.#ctor(System.String)">
+            <summary>
+            Initialize the path string with a given value. This value must be in un-escaped format. Use
+            PathString.FromUriComponent(value) if you have a path value which is in an escaped format.
+            </summary>
+            <param name="value">The unescaped path to be assigned to the Value property.</param>
+        </member>
+        <member name="P:Microsoft.Owin.PathString.Value">
+            <summary>
+            The unescaped path value
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.PathString.HasValue">
+            <summary>
+            True if the path is not empty
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.PathString.ToString">
+            <summary>
+            Provides the path string escaped in a way which is correct for combining into the URI representation. 
+            </summary>
+            <returns>The escaped path value</returns>
+        </member>
+        <member name="M:Microsoft.Owin.PathString.ToUriComponent">
+            <summary>
+            Provides the path string escaped in a way which is correct for combining into the URI representation.
+            </summary>
+            <returns>The escaped path value</returns>
+        </member>
+        <member name="M:Microsoft.Owin.PathString.FromUriComponent(System.String)">
+            <summary>
+            Returns an PathString given the path as it is escaped in the URI format. The string MUST NOT contain any
+            value that is not a path.
+            </summary>
+            <param name="uriComponent">The escaped path as it appears in the URI format.</param>
+            <returns>The resulting PathString</returns>
+        </member>
+        <member name="M:Microsoft.Owin.PathString.FromUriComponent(System.Uri)">
+            <summary>
+            Returns an PathString given the path as from a Uri object. Relative Uri objects are not supported.
+            </summary>
+            <param name="uri">The Uri object</param>
+            <returns>The resulting PathString</returns>
+        </member>
+        <member name="M:Microsoft.Owin.PathString.StartsWithSegments(Microsoft.Owin.PathString)">
+            <summary>
+            Checks if this instance starts with or exactly matches the other instance. Only full segments are matched.
+            </summary>
+            <param name="other"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.PathString.StartsWithSegments(Microsoft.Owin.PathString,Microsoft.Owin.PathString@)">
+            <summary>
+            Checks if this instance starts with or exactly matches the other instance. Only full segments are matched.
+            </summary>
+            <param name="other"></param>
+            <param name="remaining">Any remaining segments from this instance not included in the other instance.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.PathString.Add(Microsoft.Owin.PathString)">
+            <summary>
+            Adds two PathString instances into a combined PathString value. 
+            </summary>
+            <returns>The combined PathString value</returns>
+        </member>
+        <member name="M:Microsoft.Owin.PathString.Add(Microsoft.Owin.QueryString)">
+            <summary>
+            Combines a PathString and QueryString into the joined URI formatted string value. 
+            </summary>
+            <returns>The joined URI formatted string value</returns>
+        </member>
+        <member name="M:Microsoft.Owin.PathString.Equals(Microsoft.Owin.PathString)">
+            <summary>
+            Compares this PathString value to another value. The default comparison is StringComparison.OrdinalIgnoreCase.
+            </summary>
+            <param name="other">The second PathString for comparison.</param>
+            <returns>True if both PathString values are equal</returns>
+        </member>
+        <member name="M:Microsoft.Owin.PathString.Equals(Microsoft.Owin.PathString,System.StringComparison)">
+            <summary>
+            Compares this PathString value to another value using a specific StringComparison type
+            </summary>
+            <param name="other">The second PathString for comparison</param>
+            <param name="comparisonType">The StringComparison type to use</param>
+            <returns>True if both PathString values are equal</returns>
+        </member>
+        <member name="M:Microsoft.Owin.PathString.Equals(System.Object)">
+            <summary>
+            Compares this PathString value to another value. The default comparison is StringComparison.OrdinalIgnoreCase.
+            </summary>
+            <param name="obj">The second PathString for comparison.</param>
+            <returns>True if both PathString values are equal</returns>
+        </member>
+        <member name="M:Microsoft.Owin.PathString.GetHashCode">
+            <summary>
+            Returns the hash code for the PathString value. The hash code is provided by the OrdinalIgnoreCase implementation.
+            </summary>
+            <returns>The hash code</returns>
+        </member>
+        <member name="M:Microsoft.Owin.PathString.op_Equality(Microsoft.Owin.PathString,Microsoft.Owin.PathString)">
+            <summary>
+            Operator call through to Equals
+            </summary>
+            <param name="left">The left parameter</param>
+            <param name="right">The right parameter</param>
+            <returns>True if both PathString values are equal</returns>
+        </member>
+        <member name="M:Microsoft.Owin.PathString.op_Inequality(Microsoft.Owin.PathString,Microsoft.Owin.PathString)">
+            <summary>
+            Operator call through to Equals
+            </summary>
+            <param name="left">The left parameter</param>
+            <param name="right">The right parameter</param>
+            <returns>True if both PathString values are not equal</returns>
+        </member>
+        <member name="M:Microsoft.Owin.PathString.op_Addition(Microsoft.Owin.PathString,Microsoft.Owin.PathString)">
+            <summary>
+            Operator call through to Add
+            </summary>
+            <param name="left">The left parameter</param>
+            <param name="right">The right parameter</param>
+            <returns>The PathString combination of both values</returns>
+        </member>
+        <member name="M:Microsoft.Owin.PathString.op_Addition(Microsoft.Owin.PathString,Microsoft.Owin.QueryString)">
+            <summary>
+            Operator call through to Add
+            </summary>
+            <param name="left">The left parameter</param>
+            <param name="right">The right parameter</param>
+            <returns>The PathString combination of both values</returns>
+        </member>
+        <member name="T:Microsoft.Owin.QueryString">
+            <summary>
+            Provides correct handling for QueryString value when needed to reconstruct a request or redirect URI string
+            </summary>
+        </member>
+        <member name="F:Microsoft.Owin.QueryString.Empty">
+            <summary>
+            Represents the empty query string. This field is read-only.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.QueryString.#ctor(System.String)">
+            <summary>
+            Initialize the query string with a given value. This value must be in escaped and delimited format without
+            a leading '?' character. 
+            </summary>
+            <param name="value">The query string to be assigned to the Value property.</param>
+        </member>
+        <member name="M:Microsoft.Owin.QueryString.#ctor(System.String,System.String)">
+            <summary>
+            Initialize a query string with a single given parameter name and value. The value is 
+            </summary>
+            <param name="name">The unencoded parameter name</param>
+            <param name="value">The unencoded parameter value</param>
+        </member>
+        <member name="P:Microsoft.Owin.QueryString.Value">
+            <summary>
+            The escaped query string without the leading '?' character
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.QueryString.HasValue">
+            <summary>
+            True if the query string is not empty
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.QueryString.ToString">
+            <summary>
+            Provides the query string escaped in a way which is correct for combining into the URI representation. 
+            A leading '?' character will be prepended unless the Value is null or empty. Characters which are potentially
+            dangerous are escaped.
+            </summary>
+            <returns>The query string value</returns>
+        </member>
+        <member name="M:Microsoft.Owin.QueryString.ToUriComponent">
+            <summary>
+            Provides the query string escaped in a way which is correct for combining into the URI representation. 
+            A leading '?' character will be prepended unless the Value is null or empty. Characters which are potentially
+            dangerous are escaped.
+            </summary>
+            <returns>The query string value</returns>
+        </member>
+        <member name="M:Microsoft.Owin.QueryString.FromUriComponent(System.String)">
+            <summary>
+            Returns an QueryString given the query as it is escaped in the URI format. The string MUST NOT contain any
+            value that is not a query.
+            </summary>
+            <param name="uriComponent">The escaped query as it appears in the URI format.</param>
+            <returns>The resulting QueryString</returns>
+        </member>
+        <member name="M:Microsoft.Owin.QueryString.FromUriComponent(System.Uri)">
+            <summary>
+            Returns an QueryString given the query as from a Uri object. Relative Uri objects are not supported.
+            </summary>
+            <param name="uri">The Uri object</param>
+            <returns>The resulting QueryString</returns>
+        </member>
+        <member name="M:Microsoft.Owin.QueryString.Equals(Microsoft.Owin.QueryString)">
+            <summary>
+            Indicates whether the current instance is equal to the other instance.
+            </summary>
+            <param name="other"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.QueryString.Equals(System.Object)">
+            <summary>
+            Indicates whether the current instance is equal to the other instance.
+            </summary>
+            <param name="obj"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.QueryString.GetHashCode">
+            <summary>
+            Returns the hash code for this instance.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.QueryString.op_Equality(Microsoft.Owin.QueryString,Microsoft.Owin.QueryString)">
+            <summary>
+            Compares the two instances for equality.
+            </summary>
+            <param name="left"></param>
+            <param name="right"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.QueryString.op_Inequality(Microsoft.Owin.QueryString,Microsoft.Owin.QueryString)">
+            <summary>
+            Compares the two instances for inequality.
+            </summary>
+            <param name="left"></param>
+            <param name="right"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Microsoft.Owin.ReadableStringCollection">
+            <summary>
+            Accessors for query, forms, etc.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.ReadableStringCollection.#ctor(System.Collections.Generic.IDictionary{System.String,System.String[]})">
+            <summary>
+            Create a new wrapper
+            </summary>
+            <param name="store"></param>
+        </member>
+        <member name="P:Microsoft.Owin.ReadableStringCollection.Item(System.String)">
+            <summary>
+            Get the associated value from the collection.  Multiple values will be merged.
+            Returns null if the key is not present.
+            </summary>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.ReadableStringCollection.Get(System.String)">
+            <summary>
+            Get the associated value from the collection.  Multiple values will be merged.
+            Returns null if the key is not present.
+            </summary>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.ReadableStringCollection.GetValues(System.String)">
+            <summary>
+            Get the associated values from the collection in their original format.
+            Returns null if the key is not present.
+            </summary>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.ReadableStringCollection.GetEnumerator">
+            <summary>
+            
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.ReadableStringCollection.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="T:Microsoft.Owin.RequestCookieCollection">
+            <summary>
+            A wrapper for the request Cookie header
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.RequestCookieCollection.#ctor(System.Collections.Generic.IDictionary{System.String,System.String})">
+            <summary>
+            Create a new wrapper
+            </summary>
+            <param name="store"></param>
+        </member>
+        <member name="P:Microsoft.Owin.RequestCookieCollection.Item(System.String)">
+            <summary>
+            Returns null rather than throwing KeyNotFoundException
+            </summary>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.RequestCookieCollection.GetEnumerator">
+            <summary>
+            
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.RequestCookieCollection.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="T:Microsoft.Owin.Resources">
+            <summary>
+              A strongly-typed resource class, for looking up localized strings, etc.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Resources.ResourceManager">
+            <summary>
+              Returns the cached ResourceManager instance used by this class.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Resources.Culture">
+            <summary>
+              Overrides the current thread's CurrentUICulture property for all
+              resource lookups using this strongly typed resource class.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Resources.Exception_ConversionTakesOneParameter">
+            <summary>
+              Looks up a localized string similar to Conversion delegate must take one parameter..
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Resources.Exception_CookieLimitTooSmall">
+            <summary>
+              Looks up a localized string similar to The cookie key and options are larger than ChunksSize, leaving no room for data..
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Resources.Exception_ImcompleteChunkedCookie">
+            <summary>
+              Looks up a localized string similar to The chunked cookie is incomplete. Only {0} of the expected {1} chunks were found, totaling {2} characters. A client size limit may have been exceeded..
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Resources.Exception_MiddlewareNotSupported">
+            <summary>
+              Looks up a localized string similar to The type &apos;{0}&apos; does not match any known middleware pattern..
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Resources.Exception_MissingOnSendingHeaders">
+            <summary>
+              Looks up a localized string similar to The OWIN key &apos;server.OnSendingHeaders&apos; is not available for this request..
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Resources.Exception_NoConstructorFound">
+            <summary>
+              Looks up a localized string similar to The class &apos;{0}&apos; does not have a constructor taking {1} arguments..
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Resources.Exception_NoConversionExists">
+            <summary>
+              Looks up a localized string similar to No conversion available between {0} and {1}..
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Resources.Exception_PathMustNotEndWithSlash">
+            <summary>
+              Looks up a localized string similar to The path must not end with a &apos;/&apos;.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Resources.Exception_PathMustStartWithSlash">
+            <summary>
+              Looks up a localized string similar to The path must start with a &apos;/&apos; followed by one or more characters..
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Resources.Exception_PathRequired">
+            <summary>
+              Looks up a localized string similar to The path is required.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Resources.Exception_QueryStringMustStartWithDelimiter">
+            <summary>
+              Looks up a localized string similar to The query string must start with a &apos;?&apos; unless null or empty..
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.ResponseCookieCollection">
+            <summary>
+            A wrapper for the response Set-Cookie header
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.ResponseCookieCollection.#ctor(Microsoft.Owin.IHeaderDictionary)">
+            <summary>
+            Create a new wrapper
+            </summary>
+            <param name="headers"></param>
+        </member>
+        <member name="M:Microsoft.Owin.ResponseCookieCollection.Append(System.String,System.String)">
+            <summary>
+            Add a new cookie and value
+            </summary>
+            <param name="key"></param>
+            <param name="value"></param>
+        </member>
+        <member name="M:Microsoft.Owin.ResponseCookieCollection.Append(System.String,System.String,Microsoft.Owin.CookieOptions)">
+            <summary>
+            Add a new cookie
+            </summary>
+            <param name="key"></param>
+            <param name="value"></param>
+            <param name="options"></param>
+        </member>
+        <member name="M:Microsoft.Owin.ResponseCookieCollection.Delete(System.String)">
+            <summary>
+            Sets an expired cookie
+            </summary>
+            <param name="key"></param>
+        </member>
+        <member name="M:Microsoft.Owin.ResponseCookieCollection.Delete(System.String,Microsoft.Owin.CookieOptions)">
+            <summary>
+            Sets an expired cookie
+            </summary>
+            <param name="key"></param>
+            <param name="options"></param>
+        </member>
+        <member name="T:Microsoft.Owin.SameSiteMode">
+            <summary>
+            Indicates if the client should include a cookie on "same-site" or "cross-site" requests.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Owin.SameSiteMode.None">
+            <summary>
+            Indicates the client should send the cookie with every requests coming from any origin.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Owin.SameSiteMode.Lax">
+            <summary>
+            Indicates the client should send the cookie with "same-site" requests, and with "cross-site" top-level navigations.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Owin.SameSiteMode.Strict">
+            <summary>
+            Indicates the client should only send the cookie with "same-site" requests.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.AuthenticateResult">
+            <summary>
+            Acts as the return value from calls to the IAuthenticationManager's AuthenticeAsync methods.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.AuthenticateResult.#ctor(System.Security.Principal.IIdentity,Microsoft.Owin.Security.AuthenticationProperties,Microsoft.Owin.Security.AuthenticationDescription)">
+            <summary>
+            Create an instance of the result object
+            </summary>
+            <param name="identity">Assigned to Identity. May be null.</param>
+            <param name="properties">Assigned to Properties. Contains extra information carried along with the identity.</param>
+            <param name="description">Assigned to Description. Contains information describing the authentication provider.</param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticateResult.Identity">
+            <summary>
+            Contains the claims that were authenticated by the given AuthenticationType. If the authentication
+            type was not successful the Identity property will be null.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticateResult.Properties">
+            <summary>
+            Contains extra values that were provided with the original SignIn call.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticateResult.Description">
+            <summary>
+            Contains description properties for the middleware authentication type in general. Does not
+            vary per request.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.AuthenticationDescription">
+            <summary>
+            Contains information describing an authentication provider.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.AuthenticationDescription.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.AuthenticationDescription"/> class
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.AuthenticationDescription.#ctor(System.Collections.Generic.IDictionary{System.String,System.Object})">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.AuthenticationDescription"/> class
+            </summary>
+            <param name="properties"></param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticationDescription.Properties">
+            <summary>
+            Contains metadata about the authentication provider.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticationDescription.AuthenticationType">
+            <summary>
+            Gets or sets the name used to reference the authentication middleware instance.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticationDescription.Caption">
+            <summary>
+            Gets or sets the display name for the authentication provider.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticationManager.AuthenticationResponseChallenge">
+            <summary>
+            Exposes the security.Challenge environment value as a strong type.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticationManager.AuthenticationResponseGrant">
+            <summary>
+            Exposes the security.SignIn environment value as a strong type.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticationManager.AuthenticationResponseRevoke">
+            <summary>
+            Exposes the security.SignOut environment value as a strong type.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.AuthenticationManager.Authenticate(System.String[],System.Action{System.Security.Principal.IIdentity,System.Collections.Generic.IDictionary{System.String,System.String},System.Collections.Generic.IDictionary{System.String,System.Object},System.Object},System.Object)">
+            <summary>
+            
+            </summary>
+            <param name="authenticationTypes"></param>
+            <param name="callback"></param>
+            <param name="state"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Microsoft.Owin.Security.AuthenticationProperties">
+            <summary>
+            Dictionary used to store state values about the authentication session.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.AuthenticationProperties.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.AuthenticationProperties"/> class
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.AuthenticationProperties.#ctor(System.Collections.Generic.IDictionary{System.String,System.String})">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.AuthenticationProperties"/> class
+            </summary>
+            <param name="dictionary"></param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticationProperties.Dictionary">
+            <summary>
+            State values about the authentication session.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticationProperties.IsPersistent">
+            <summary>
+            Gets or sets whether the authentication session is persisted across multiple requests.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticationProperties.RedirectUri">
+            <summary>
+            Gets or sets the full path or absolute URI to be used as an http redirect response value. 
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticationProperties.IssuedUtc">
+            <summary>
+            Gets or sets the time at which the authentication ticket was issued.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticationProperties.ExpiresUtc">
+            <summary>
+            Gets or sets the time at which the authentication ticket expires.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticationProperties.AllowRefresh">
+            <summary>
+            Gets or sets if refreshing the authentication session should be allowed.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.AuthenticationResponseChallenge">
+            <summary>
+            Exposes the security.Challenge environment value as a strong type.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.AuthenticationResponseChallenge.#ctor(System.String[],Microsoft.Owin.Security.AuthenticationProperties)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.AuthenticationResponseChallenge"/> class
+            </summary>
+            <param name="authenticationTypes"></param>
+            <param name="properties"></param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticationResponseChallenge.AuthenticationTypes">
+            <summary>
+            List of the authentication types that should send a challenge in the response.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticationResponseChallenge.Properties">
+            <summary>
+            Dictionary used to store state values about the authentication session.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.AuthenticationResponseGrant">
+            <summary>
+            Exposes the security.SignIn environment value as a strong type.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.AuthenticationResponseGrant.#ctor(System.Security.Claims.ClaimsIdentity,Microsoft.Owin.Security.AuthenticationProperties)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.AuthenticationResponseGrant"/> class.
+            </summary>
+            <param name="identity"></param>
+            <param name="properties"></param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.AuthenticationResponseGrant.#ctor(System.Security.Claims.ClaimsPrincipal,Microsoft.Owin.Security.AuthenticationProperties)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.AuthenticationResponseGrant"/> class.
+            </summary>
+            <param name="principal"></param>
+            <param name="properties"></param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticationResponseGrant.Identity">
+            <summary>
+            The identity associated with the user sign in.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticationResponseGrant.Principal">
+            <summary>
+            The security principal associated with the user sign in.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticationResponseGrant.Properties">
+            <summary>
+            Dictionary used to store state values about the authentication session.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.AuthenticationResponseRevoke">
+            <summary>
+            Exposes the security.SignOut and security.SignOutProperties environment values as a strong type.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.AuthenticationResponseRevoke.#ctor(System.String[])">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.AuthenticationResponseRevoke"/> class
+            </summary>
+            <param name="authenticationTypes"></param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.AuthenticationResponseRevoke.#ctor(System.String[],Microsoft.Owin.Security.AuthenticationProperties)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.AuthenticationResponseRevoke"/> class
+            </summary>
+            <param name="authenticationTypes"></param>
+            <param name="properties"></param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticationResponseRevoke.AuthenticationTypes">
+            <summary>
+            List of the authentication types that should be revoked on sign out.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticationResponseRevoke.Properties">
+            <summary>
+            Dictionary used to store state values about the authentication session.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.IAuthenticationManager">
+            <summary>
+            Used to interact with authentication middleware that have been chained in the pipeline
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.IAuthenticationManager.User">
+            <summary>
+            Returns the current user for the request
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.IAuthenticationManager.AuthenticationResponseChallenge">
+            <summary>
+            Exposes the security.Challenge environment value as a strong type.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.IAuthenticationManager.AuthenticationResponseGrant">
+            <summary>
+            Exposes the security.SignIn environment value as a strong type.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.IAuthenticationManager.AuthenticationResponseRevoke">
+            <summary>
+            Exposes the security.SignOut environment value as a strong type.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.IAuthenticationManager.GetAuthenticationTypes">
+            <summary>
+            Lists all of the description data provided by authentication middleware that have been chained
+            </summary>
+            <returns>The authentication descriptions</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.IAuthenticationManager.GetAuthenticationTypes(System.Func{Microsoft.Owin.Security.AuthenticationDescription,System.Boolean})">
+            <summary>
+            Lists the description data of all of the authentication middleware which are true for a given predicate
+            </summary>
+            <param name="predicate">A function provided by the caller which returns true for descriptions that should be in the returned list</param>
+            <returns>The authentication descriptions</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.IAuthenticationManager.AuthenticateAsync(System.String)">
+            <summary>
+            Call back through the middleware to ask for a specific form of authentication to be performed
+            on the current request
+            </summary>
+            <param name="authenticationType">Identifies which middleware should respond to the request
+            for authentication. This value is compared to the middleware's Options.AuthenticationType property.</param>
+            <returns>Returns an object with the results of the authentication. The AuthenticationResult.Identity
+            may be null if authentication failed. Even if the Identity property is null, there may still be 
+            AuthenticationResult.properties and AuthenticationResult.Description information returned.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.IAuthenticationManager.AuthenticateAsync(System.String[])">
+            <summary>
+            Called to perform any number of authentication mechanisms on the current request.
+            </summary>
+            <param name="authenticationTypes">Identifies one or more middleware which should attempt to respond</param>
+            <returns>Returns the AuthenticationResult information from the middleware which responded. The 
+            order is determined by the order the middleware are in the pipeline. Latest added is first in the list.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.IAuthenticationManager.Challenge(Microsoft.Owin.Security.AuthenticationProperties,System.String[])">
+            <summary>
+            Add information into the response environment that will cause the authentication middleware to challenge
+            the caller to authenticate. This also changes the status code of the response to 401. The nature of that 
+            challenge varies greatly, and ranges from adding a response header or changing the 401 status code to 
+            a 302 redirect.
+            </summary>
+            <param name="properties">Additional arbitrary values which may be used by particular authentication types.</param>
+            <param name="authenticationTypes">Identify which middleware should perform their alterations on the
+            response. If the authenticationTypes is null or empty, that means the 
+            AuthenticationMode.Active middleware should perform their alterations on the response.</param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.IAuthenticationManager.Challenge(System.String[])">
+            <summary>
+            Add information into the response environment that will cause the authentication middleware to challenge
+            the caller to authenticate. This also changes the status code of the response to 401. The nature of that 
+            challenge varies greatly, and ranges from adding a response header or changing the 401 status code to 
+            a 302 redirect.
+            </summary>
+            <param name="authenticationTypes">Identify which middleware should perform their alterations on the
+            response. If the authenticationTypes is null or empty, that means the 
+            AuthenticationMode.Active middleware should perform their alterations on the response.</param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.IAuthenticationManager.SignIn(Microsoft.Owin.Security.AuthenticationProperties,System.Security.Claims.ClaimsIdentity[])">
+            <summary>
+            Add information to the response environment that will cause the appropriate authentication middleware
+            to grant a claims-based identity to the recipient of the response. The exact mechanism of this may vary.
+            Examples include setting a cookie, to adding a fragment on the redirect url, or producing an OAuth2
+            access code or token response.
+            </summary>
+            <param name="properties">Contains additional properties the middleware are expected to persist along with
+            the claims. These values will be returned as the AuthenticateResult.properties collection when AuthenticateAsync
+            is called on subsequent requests.</param>
+            <param name="identities">Determines which claims are granted to the signed in user. The 
+            ClaimsIdentity.AuthenticationType property is compared to the middleware's Options.AuthenticationType 
+            value to determine which claims are granted by which middleware. The recommended use is to have a single
+            ClaimsIdentity which has the AuthenticationType matching a specific middleware.</param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.IAuthenticationManager.SignIn(System.Security.Claims.ClaimsIdentity[])">
+            <summary>
+            Add information to the response environment that will cause the appropriate authentication middleware
+            to grant a claims-based identity to the recipient of the response. The exact mechanism of this may vary.
+            Examples include setting a cookie, to adding a fragment on the redirect url, or producing an OAuth2
+            access code or token response.
+            </summary>
+            <param name="identities">Determines which claims are granted to the signed in user. The 
+            ClaimsIdentity.AuthenticationType property is compared to the middleware's Options.AuthenticationType 
+            value to determine which claims are granted by which middleware. The recommended use is to have a single
+            ClaimsIdentity which has the AuthenticationType matching a specific middleware.</param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.IAuthenticationManager.SignOut(Microsoft.Owin.Security.AuthenticationProperties,System.String[])">
+            <summary>
+            Add information to the response environment that will cause the appropriate authentication middleware
+            to revoke any claims identity associated the the caller. The exact method varies.
+            </summary>
+            <param name="properties">Additional arbitrary values which may be used by particular authentication types.</param>
+            <param name="authenticationTypes">Identifies which middleware should perform the work to sign out.
+            Multiple authentication types may be provided to clear out more than one cookie at a time, or to clear
+            cookies and redirect to an external single-sign out url.</param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.IAuthenticationManager.SignOut(System.String[])">
+            <summary>
+            Add information to the response environment that will cause the appropriate authentication middleware
+            to revoke any claims identity associated the the caller. The exact method varies.
+            </summary>
+            <param name="authenticationTypes">Identifies which middleware should perform the work to sign out.
+            Multiple authentication types may be provided to clear out more than one cookie at a time, or to clear
+            cookies and redirect to an external single-sign out url.</param>
+        </member>
+        <member name="T:Owin.AppBuilderUseExtensions">
+            <summary>
+            Extension methods for <see cref="T:Owin.IAppBuilder"/>.
+            </summary>
+        </member>
+        <member name="M:Owin.AppBuilderUseExtensions.Use``1(Owin.IAppBuilder,System.Object[])">
+            <summary>
+            Inserts a middleware into the OWIN pipeline.
+            </summary>
+            <typeparam name="T">The middleware type</typeparam>
+            <param name="app"></param>
+            <param name="args">Any additional arguments for the middleware constructor</param>
+            <returns></returns>
+        </member>
+        <member name="M:Owin.AppBuilderUseExtensions.Run(Owin.IAppBuilder,System.Func{Microsoft.Owin.IOwinContext,System.Threading.Tasks.Task})">
+            <summary>
+            Inserts into the OWIN pipeline a middleware which does not have a next middleware reference.
+            </summary>
+            <param name="app"></param>
+            <param name="handler">An app that handles all requests</param>
+        </member>
+        <member name="M:Owin.AppBuilderUseExtensions.Use(Owin.IAppBuilder,System.Func{Microsoft.Owin.IOwinContext,System.Func{System.Threading.Tasks.Task},System.Threading.Tasks.Task})">
+            <summary>
+            Inserts a middleware into the OWIN pipeline.
+            </summary>
+            <param name="app"></param>
+            <param name="handler">An app that handles the request or calls the given next Func</param>
+            <returns></returns>
+        </member>
+        <member name="T:Owin.PipelineStage">
+            <summary>
+            An ordered list of known Asp.Net integrated pipeline stages. More details on the ASP.NET integrated pipeline can be found at http://msdn.microsoft.com/en-us/library/system.web.httpapplication.aspx
+            </summary>
+        </member>
+        <member name="F:Owin.PipelineStage.Authenticate">
+            <summary>
+            Corresponds to the AuthenticateRequest stage of the ASP.NET integrated pipeline.
+            </summary>
+        </member>
+        <member name="F:Owin.PipelineStage.PostAuthenticate">
+            <summary>
+            Corresponds to the PostAuthenticateRequest stage of the ASP.NET integrated pipeline.
+            </summary>
+        </member>
+        <member name="F:Owin.PipelineStage.Authorize">
+            <summary>
+            Corresponds to the AuthorizeRequest stage of the ASP.NET integrated pipeline.
+            </summary>
+        </member>
+        <member name="F:Owin.PipelineStage.PostAuthorize">
+            <summary>
+            Corresponds to the PostAuthorizeRequest stage of the ASP.NET integrated pipeline.
+            </summary>
+        </member>
+        <member name="F:Owin.PipelineStage.ResolveCache">
+            <summary>
+            Corresponds to the ResolveRequestCache stage of the ASP.NET integrated pipeline.
+            </summary>
+        </member>
+        <member name="F:Owin.PipelineStage.PostResolveCache">
+            <summary>
+            Corresponds to the PostResolveRequestCache stage of the ASP.NET integrated pipeline.
+            </summary>
+        </member>
+        <member name="F:Owin.PipelineStage.MapHandler">
+            <summary>
+            Corresponds to the MapRequestHandler stage of the ASP.NET integrated pipeline.
+            </summary>
+        </member>
+        <member name="F:Owin.PipelineStage.PostMapHandler">
+            <summary>
+            Corresponds to the PostMapRequestHandler stage of the ASP.NET integrated pipeline.
+            </summary>
+        </member>
+        <member name="F:Owin.PipelineStage.AcquireState">
+            <summary>
+            Corresponds to the AcquireRequestState stage of the ASP.NET integrated pipeline.
+            </summary>
+        </member>
+        <member name="F:Owin.PipelineStage.PostAcquireState">
+            <summary>
+            Corresponds to the PostAcquireRequestState stage of the ASP.NET integrated pipeline.
+            </summary>
+        </member>
+        <member name="F:Owin.PipelineStage.PreHandlerExecute">
+            <summary>
+            Corresponds to the PreRequestHandlerExecute stage of the ASP.NET integrated pipeline.
+            </summary>
+        </member>
+        <member name="T:Owin.MapExtensions">
+            <summary>
+            Extension methods for the MapMiddleware
+            </summary>
+        </member>
+        <member name="M:Owin.MapExtensions.Map(Owin.IAppBuilder,System.String,System.Action{Owin.IAppBuilder})">
+            <summary>
+            If the request path starts with the given pathMatch, execute the app configured via configuration parameter instead of
+            continuing to the next component in the pipeline.
+            </summary>
+            <param name="app"></param>
+            <param name="pathMatch">The path to match</param>
+            <param name="configuration">The branch to take for positive path matches</param>
+            <returns></returns>
+        </member>
+        <member name="M:Owin.MapExtensions.Map(Owin.IAppBuilder,Microsoft.Owin.PathString,System.Action{Owin.IAppBuilder})">
+            <summary>
+            If the request path starts with the given pathMatch, execute the app configured via configuration parameter instead of
+            continuing to the next component in the pipeline.
+            </summary>
+            <param name="app"></param>
+            <param name="pathMatch">The path to match</param>
+            <param name="configuration">The branch to take for positive path matches</param>
+            <returns></returns>
+        </member>
+        <member name="T:Owin.MapWhenExtensions">
+            <summary>
+            Extension methods for the MapWhenMiddleware
+            </summary>
+        </member>
+        <member name="M:Owin.MapWhenExtensions.MapWhen(Owin.IAppBuilder,System.Func{Microsoft.Owin.IOwinContext,System.Boolean},System.Action{Owin.IAppBuilder})">
+            <summary>
+            Branches the request pipeline based on the result of the given predicate.
+            </summary>
+            <param name="app"></param>
+            <param name="predicate">Invoked with the request environment to determine if the branch should be taken</param>
+            <param name="configuration">Configures a branch to take</param>
+            <returns></returns>
+        </member>
+        <member name="M:Owin.MapWhenExtensions.MapWhenAsync(Owin.IAppBuilder,System.Func{Microsoft.Owin.IOwinContext,System.Threading.Tasks.Task{System.Boolean}},System.Action{Owin.IAppBuilder})">
+            <summary>
+            Branches the request pipeline based on the async result of the given predicate.
+            </summary>
+            <param name="app"></param>
+            <param name="predicate">Invoked asynchronously with the request environment to determine if the branch should be taken</param>
+            <param name="configuration">Configures a branch to take</param>
+            <returns></returns>
+        </member>
+    </members>
+</doc>
Index: ckages/Microsoft.Owin.4.2.3/lib/net45/Microsoft.Owin.xml
===================================================================
--- packages/Microsoft.Owin.4.2.3/lib/net45/Microsoft.Owin.xml	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ 	(revision )
@@ -1,3378 +1,0 @@
-<?xml version="1.0"?>
-<doc>
-    <assembly>
-        <name>Microsoft.Owin</name>
-    </assembly>
-    <members>
-        <member name="T:Microsoft.Owin.BuilderProperties.Address">
-            <summary>
-            Contains the parts of an address.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.Address.#ctor(System.Collections.Generic.IDictionary{System.String,System.Object})">
-            <summary>
-            Initializes a new instance.
-            </summary>
-            <param name="dictionary"></param>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.Address.#ctor(System.String,System.String,System.String,System.String)">
-            <summary>
-            Initializes a new <see cref="T:Microsoft.Owin.BuilderProperties.Address"/> with the given parts.
-            </summary>
-            <param name="scheme">The scheme.</param>
-            <param name="host">The host.</param>
-            <param name="port">The port.</param>
-            <param name="path">The path.</param>
-        </member>
-        <member name="P:Microsoft.Owin.BuilderProperties.Address.Dictionary">
-            <summary>
-            Gets the internal dictionary for this collection.
-            </summary>
-            <returns>The internal dictionary for this collection.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.BuilderProperties.Address.Scheme">
-            <summary>
-            The uri scheme.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.BuilderProperties.Address.Host">
-            <summary>
-            The uri host.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.BuilderProperties.Address.Port">
-            <summary>
-            The uri port.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.BuilderProperties.Address.Path">
-            <summary>
-            The uri path.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.Address.Create">
-            <summary>
-            Creates a new <see cref="T:Microsoft.Owin.BuilderProperties.Address"/>
-            </summary>
-            <returns>A new <see cref="T:Microsoft.Owin.BuilderProperties.Address" /></returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.Address.Equals(Microsoft.Owin.BuilderProperties.Address)">
-            <summary>
-            Determines whether the specified object is equal to the current object.
-            </summary>
-            <param name="other">The other object.</param>
-            <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.Address.Equals(System.Object)">
-            <summary>
-            Determines whether the specified object is equal to the current object.
-            </summary>
-            <param name="obj">The other object.</param>
-            <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.Address.GetHashCode">
-            <summary>
-            Returns the hash code for this instance.
-            </summary>
-            <returns>The hash code for this instance.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.Address.op_Equality(Microsoft.Owin.BuilderProperties.Address,Microsoft.Owin.BuilderProperties.Address)">
-            <summary>
-            Determines whether two specified instances of <see cref="T:Microsoft.Owin.BuilderProperties.Address" /> are equal.
-            </summary>
-            <param name="left">The first object to compare.</param>
-            <param name="right">The second object to compare.</param>
-            <returns>true if left and right represent the same address; otherwise, false.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.Address.op_Inequality(Microsoft.Owin.BuilderProperties.Address,Microsoft.Owin.BuilderProperties.Address)">
-            <summary>
-            Determines whether two specified instances of <see cref="T:Microsoft.Owin.BuilderProperties.Address" /> are not equal.
-            </summary>
-            <param name="left">The first object to compare.</param>
-            <param name="right">The second object to compare.</param>
-            <returns>true if left and right do not represent the same address; otherwise, false.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.Address.Get``1(System.String)">
-            <summary>
-            Gets a specified key and value from the underlying dictionary.
-            </summary>
-            <typeparam name="T"></typeparam>
-            <param name="key">The key.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.Address.Set(System.String,System.Object)">
-            <summary>
-            Sets a specified key and value in the underlying dictionary.
-            </summary>
-            <param name="key">The key.</param>
-            <param name="value">The value.</param>
-            <returns></returns>
-        </member>
-        <member name="T:Microsoft.Owin.BuilderProperties.AddressCollection">
-            <summary>
-            Wraps the host.Addresses list.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.AddressCollection.#ctor(System.Collections.Generic.IList{System.Collections.Generic.IDictionary{System.String,System.Object}})">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.BuilderProperties.AddressCollection" /> class.
-            </summary>
-            <param name="list">The address list to set to the collection.</param>
-        </member>
-        <member name="P:Microsoft.Owin.BuilderProperties.AddressCollection.List">
-            <summary>
-            Gets the underlying address list.
-            </summary>
-            <returns>The underlying address list.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.BuilderProperties.AddressCollection.Count">
-            <summary>
-            Gets the number of elements in the collection.
-            </summary>
-            <returns>The number of elements in the collection.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.BuilderProperties.AddressCollection.Item(System.Int32)">
-            <summary>
-            Gets the item with the specified index from the collection.
-            </summary>
-            <param name="index">The index.</param>
-            <returns>The item with the specified index.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.AddressCollection.Add(Microsoft.Owin.BuilderProperties.Address)">
-            <summary>
-            Adds the specified address to the collection.
-            </summary>
-            <param name="address">The address to add to the collection.</param>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.AddressCollection.System#Collections#IEnumerable#GetEnumerator">
-            <summary>
-            Gets the enumerator that iterates through the collection.
-            </summary>
-            <returns>The enumerator that can be used to iterate through the collection.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.AddressCollection.GetEnumerator">
-            <summary>
-            Gets the enumerator that iterates through the collection.
-            </summary>
-            <returns>The enumerator that can be used to iterate through the collection.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.AddressCollection.Create">
-            <summary>
-            Creates a new empty instance of <see cref="T:Microsoft.Owin.BuilderProperties.AddressCollection" />.
-            </summary>
-            <returns>A new empty instance of <see cref="T:Microsoft.Owin.BuilderProperties.AddressCollection" />.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.AddressCollection.Equals(Microsoft.Owin.BuilderProperties.AddressCollection)">
-            <summary>
-            Determines whether the current collection is equal to the specified collection.
-            </summary>
-            <param name="other">The other collection to compare to the current collection.</param>
-            <returns>true if current collection is equal to the specified collection; otherwise, false.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.AddressCollection.Equals(System.Object)">
-            <summary>
-            Determines whether the current collection is equal to the specified object.
-            </summary>
-            <param name="obj">The object to compare to the current collection.</param>
-            <returns>true if current collection is equal to the specified object; otherwise, false.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.AddressCollection.GetHashCode">
-            <summary>
-            Gets the hash code for this instance.
-            </summary>
-            <returns>The hash code for this instance.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.AddressCollection.op_Equality(Microsoft.Owin.BuilderProperties.AddressCollection,Microsoft.Owin.BuilderProperties.AddressCollection)">
-            <summary>
-            Determines whether the first collection is equal to the second collection.
-            </summary>
-            <param name="left">The first collection to compare.</param>
-            <param name="right">The second collection to compare.</param>
-            <returns>true if both collections are equal; otherwise, false.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.AddressCollection.op_Inequality(Microsoft.Owin.BuilderProperties.AddressCollection,Microsoft.Owin.BuilderProperties.AddressCollection)">
-            <summary>
-            Determines whether the first collection is not equal to the second collection.
-            </summary>
-            <param name="left">The first collection to compare.</param>
-            <param name="right">The second collection to compare.</param>
-            <returns>true if both collections are not equal; otherwise, false.</returns>
-        </member>
-        <member name="T:Microsoft.Owin.BuilderProperties.AppProperties">
-            <summary>
-            A wrapper for the <see cref="P:Microsoft.Owin.Builder.AppBuilder.Properties" /> IDictionary.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.AppProperties.#ctor(System.Collections.Generic.IDictionary{System.String,System.Object})">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.BuilderProperties.AppProperties" /> class.
-            </summary>
-            <param name="dictionary"></param>
-        </member>
-        <member name="P:Microsoft.Owin.BuilderProperties.AppProperties.OwinVersion">
-            <summary>
-            Gets or sets the string value for “owin.Version”.
-            </summary>
-            <returns>The string value for “owin.Version”.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.BuilderProperties.AppProperties.DefaultApp">
-            <summary>
-            Gets or sets the function delegate for “builder.DefaultApp”.
-            </summary>
-            <returns>The function delegate for “builder.DefaultApp”.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.BuilderProperties.AppProperties.AddSignatureConversionDelegate">
-            <summary>
-            Gets or sets the action delegate for “builder.AddSignatureConversion”.
-            </summary>
-            <returns>The action delegate for “builder.AddSignatureConversion”.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.BuilderProperties.AppProperties.AppName">
-            <summary>
-            Gets or sets the string value for “host.AppName”.
-            </summary>
-            <returns>The string value for “host.AppName”.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.BuilderProperties.AppProperties.TraceOutput">
-            <summary>
-            Gets or sets the text writer for “host.TraceOutput”.
-            </summary>
-            <returns>The text writer for “host.TraceOutput”.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.BuilderProperties.AppProperties.OnAppDisposing">
-            <summary>
-            Gets or sets the cancellation token for “host.OnAppDisposing”.
-            </summary>
-            <returns>The cancellation token for “host.OnAppDisposing”.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.BuilderProperties.AppProperties.Addresses">
-            <summary>
-            Gets or sets the address collection for “host.Addresses”.
-            </summary>
-            <returns>The address collection for “host.Addresses”.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.BuilderProperties.AppProperties.Capabilities">
-            <summary>
-            Gets or sets the list of “server.Capabilities”.
-            </summary>
-            <returns>The list of “server.Capabilities”.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.BuilderProperties.AppProperties.Dictionary">
-            <summary>
-            Gets the underlying dictionary for this <see cref="T:Microsoft.Owin.BuilderProperties.AppProperties" /> instance.
-            </summary>
-            <returns>The underlying dictionary for this <see cref="T:Microsoft.Owin.BuilderProperties.AppProperties" /> instance.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.AppProperties.Equals(Microsoft.Owin.BuilderProperties.AppProperties)">
-            <summary>
-            Determines whether the current AppProperties is equal to the specified AppProperties.
-            </summary>
-            <param name="other">The other AppProperties to compare with the current instance.</param>
-            <returns>true if the current AppProperties is equal to the specified AppProperties; otherwise, false.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.AppProperties.Equals(System.Object)">
-            <summary>
-            Determines whether the current AppProperties is equal to the specified object.
-            </summary>
-            <param name="obj">The object to compare with the current instance.</param>
-            <returns>true if the current AppProperties is equal to the specified object; otherwise, false.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.AppProperties.GetHashCode">
-            <summary>
-            Returns the hash code for this instance.
-            </summary>
-            <returns>The hash code for this instance.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.AppProperties.op_Equality(Microsoft.Owin.BuilderProperties.AppProperties,Microsoft.Owin.BuilderProperties.AppProperties)">
-            <summary>
-            Determines whether the first AppPProperties is equal to the second AppProperties.
-            </summary>
-            <param name="left">The first AppPropeties to compare.</param>
-            <param name="right">The second AppPropeties to compare.</param>
-            <returns>true if both AppProperties are equal; otherwise, false.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.AppProperties.op_Inequality(Microsoft.Owin.BuilderProperties.AppProperties,Microsoft.Owin.BuilderProperties.AppProperties)">
-            <summary>
-            Determines whether the first AppPProperties is not equal to the second AppProperties.
-            </summary>
-            <param name="left">The first AppPropeties to compare.</param>
-            <param name="right">The second AppPropeties to compare.</param>
-            <returns>true if both AppProperties are not equal; otherwise, false.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.AppProperties.Get``1(System.String)">
-            <summary>
-            Gets the value from the dictionary with the specified key.
-            </summary>
-            <typeparam name="T">The type of the value.</typeparam>
-            <param name="key">The key of the value to get.</param>
-            <returns>The value with the specified key.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.AppProperties.Set(System.String,System.Object)">
-            <summary>
-            Sets the value with the specified key.
-            </summary>
-            <param name="key">The key of the value to set.</param>
-            <param name="value">The value to set.</param>
-            <returns>This instance.</returns>
-        </member>
-        <member name="T:Microsoft.Owin.BuilderProperties.Capabilities">
-            <summary>
-            Represents the capabilities for the builder properties.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.Capabilities.#ctor(System.Collections.Generic.IDictionary{System.String,System.Object})">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.BuilderProperties.Capabilities" /> class.
-            </summary>
-            <param name="dictionary"></param>
-        </member>
-        <member name="P:Microsoft.Owin.BuilderProperties.Capabilities.Dictionary">
-            <summary>
-            The underling IDictionary
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.BuilderProperties.Capabilities.SendFileVersion">
-            <summary>
-            Gets or sets the string value for "sendfile.Version"
-            </summary>
-            <returns>the string value for "sendfile.Version"</returns>
-        </member>
-        <member name="P:Microsoft.Owin.BuilderProperties.Capabilities.WebSocketVersion">
-            <summary>
-            Gets or sets the websocket version.
-            </summary>
-            <returns>The websocket version.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.Capabilities.Create">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.BuilderProperties.Capabilities" /> class.
-            </summary>
-            <returns>A new instance of the <see cref="T:Microsoft.Owin.BuilderProperties.Capabilities" /> class.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.Capabilities.Equals(Microsoft.Owin.BuilderProperties.Capabilities)">
-            <summary>
-            Determines whether the current Capabilities instance is equal to the specified Capabilities.
-            </summary>
-            <param name="other">The other Capabilities to compare with the current instance.</param>
-            <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.Capabilities.Equals(System.Object)">
-            <summary>
-            Determines whether the current Capabilities is equal to the specified object.
-            </summary>
-            <param name="obj">The object to compare with the current instance.</param>
-            <returns>true if the current Capabilities is equal to the specified object; otherwise, false.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.Capabilities.GetHashCode">
-            <summary>
-            Returns the hash code for this instance.
-            </summary>
-            <returns>The hash code for this instance.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.Capabilities.op_Equality(Microsoft.Owin.BuilderProperties.Capabilities,Microsoft.Owin.BuilderProperties.Capabilities)">
-            <summary>
-            Determines whether two specified instances of <see cref="T:Microsoft.Owin.BuilderProperties.Capabilities" /> are equal.
-            </summary>
-            <param name="left">The first object to compare.</param>
-            <param name="right">The second object to compare.</param>
-            <returns>true if the two specified instances of <see cref="T:Microsoft.Owin.BuilderProperties.Capabilities" /> are equal; otherwise, false.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.Capabilities.op_Inequality(Microsoft.Owin.BuilderProperties.Capabilities,Microsoft.Owin.BuilderProperties.Capabilities)">
-            <summary>
-            Determines whether two specified instances of <see cref="T:Microsoft.Owin.BuilderProperties.Capabilities" /> are not equal.
-            </summary>
-            <param name="left">The first object to compare.</param>
-            <param name="right">The second object to compare.</param>
-            <returns>true if the two specified instances of <see cref="T:Microsoft.Owin.BuilderProperties.Capabilities" /> are not equal; otherwise, false.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.Capabilities.Get``1(System.String)">
-            <summary>
-            Gets the value from the dictionary with the specified key.
-            </summary>
-            <typeparam name="T">The type of the value.</typeparam>
-            <param name="key">The key of the value to get.</param>
-            <returns>The value with the specified key.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.BuilderProperties.Capabilities.Set(System.String,System.Object)">
-            <summary>
-            Sets the given key and value in the underlying dictionary.
-            </summary>
-            <param name="key">The key of the value to set.</param>
-            <param name="value">The value to set.</param>
-            <returns>This instance.</returns>
-        </member>
-        <member name="T:Microsoft.Owin.Builder.AppBuilder">
-            <summary>
-            A standard implementation of IAppBuilder 
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Builder.AppBuilder.#ctor">
-            <summary>
-            Initializes a new instance of the the type.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Builder.AppBuilder.#ctor(System.Collections.Generic.IDictionary{System.Tuple{System.Type,System.Type},System.Delegate},System.Collections.Generic.IDictionary{System.String,System.Object})">
-            <summary>
-            
-            </summary>
-            <param name="conversions"></param>
-            <param name="properties"></param>
-        </member>
-        <member name="P:Microsoft.Owin.Builder.AppBuilder.Properties">
-            <summary>
-            Contains arbitrary properties which may added, examined, and modified by
-            components during the startup sequence. 
-            </summary>
-            <returns>Returns <see cref="T:System.Collections.Generic.IDictionary`2" />.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Builder.AppBuilder.Use(System.Object,System.Object[])">
-            <summary>
-            Adds a middleware node to the OWIN function pipeline. The middleware are
-            invoked in the order they are added: the first middleware passed to Use will
-            be the outermost function, and the last middleware passed to Use will be the
-            innermost.
-            </summary>
-            <param name="middleware">
-            The middleware parameter determines which behavior is being chained into the
-            pipeline. 
-            
-            If the middleware given to Use is a Delegate, then it will be invoked with the "next app" in 
-            the chain as the first parameter. If the delegate takes more than the single argument, 
-            then the additional values must be provided to Use in the args array.
-            
-            If the middleware given to Use is a Type, then the public constructor will be 
-            invoked with the "next app" in the chain as the first parameter. The resulting object
-            must have a public Invoke method. If the object has constructors which take more than
-            the single "next app" argument, then additional values may be provided in the args array.
-            </param>
-            <param name="args">
-            Any additional args passed to Use will be passed as additional values, following the "next app"
-            parameter, when the OWIN call pipeline is build.
-            
-            They are passed as additional parameters if the middleware parameter is a Delegate, or as additional
-            constructor arguments if the middle parameter is a Type.
-            </param>
-            <returns>
-            The IAppBuilder itself is returned. This enables you to chain your use statements together.
-            </returns>
-        </member>
-        <member name="M:Microsoft.Owin.Builder.AppBuilder.New">
-            <summary>
-            The New method creates a new instance of an IAppBuilder. This is needed to create
-            a tree structure in your processing, rather than a linear pipeline. The new instance share the
-            same Properties, but will be created with a new, empty middleware list.
-            
-            To create a tangent pipeline you would first call New, followed by several calls to Use on 
-            the new builder, ending with a call to Build on the new builder. The return value from Build
-            will be the entry-point to your tangent pipeline. This entry-point may now be added to the
-            main pipeline as an argument to a switching middleware, which will either call the tangent
-            pipeline or the "next app", based on something in the request.
-            
-            That said - all of that work is typically hidden by a middleware like Map, which will do that
-            for you.
-            </summary>
-            <returns>The new instance of the IAppBuilder implementation</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Builder.AppBuilder.Build(System.Type)">
-            <summary>
-            The Build is called at the point when all of the middleware should be chained
-            together. This is typically done by the hosting component which created the app builder,
-            and does not need to be called by the startup method if the IAppBuilder is passed in.
-            </summary>
-            <param name="returnType">
-            The Type argument indicates which calling convention should be returned, and
-            is typically typeof(<typeref name="Func&lt;IDictionary&lt;string,object&gt;, Task&gt;"/>) for the OWIN
-            calling convention.
-            </param>
-            <returns>
-            Returns an instance of the pipeline's entry point. This object may be safely cast to the
-            type which was provided
-            </returns>
-        </member>
-        <member name="T:Microsoft.Owin.Builder.NotFound">
-            <summary>
-            Simple object used by AppBuilder as seed OWIN callable if the
-            builder.Properties["builder.DefaultApp"] is not set
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Builder.AppBuilderExtensions">
-            <summary>
-            Extension methods for IAppBuilder.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Builder.AppBuilderExtensions.Build(Owin.IAppBuilder)">
-            <summary>
-            The Build is called at the point when all of the middleware should be chained
-            together. May be called to build pipeline branches.
-            </summary>
-            <param name="builder"></param>
-            <returns>The request processing entry point for this section of the pipeline.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Builder.AppBuilderExtensions.Build``1(Owin.IAppBuilder)">
-            <summary>
-            The Build is called at the point when all of the middleware should be chained
-            together. May be called to build pipeline branches.
-            </summary>
-            <typeparam name="TApp">The application signature.</typeparam>
-            <param name="builder"></param>
-            <returns>The request processing entry point for this section of the pipeline.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Builder.AppBuilderExtensions.AddSignatureConversion(Owin.IAppBuilder,System.Delegate)">
-            <summary>
-            Adds converters for adapting between disparate application signatures.
-            </summary>
-            <param name="builder"></param>
-            <param name="conversion"></param>
-        </member>
-        <member name="M:Microsoft.Owin.Builder.AppBuilderExtensions.AddSignatureConversion``2(Owin.IAppBuilder,System.Func{``0,``1})">
-            <summary>
-            Adds converters for adapting between disparate application signatures.
-            </summary>
-            <typeparam name="T1"></typeparam>
-            <typeparam name="T2"></typeparam>
-            <param name="builder"></param>
-            <param name="conversion"></param>
-        </member>
-        <member name="T:Microsoft.Owin.CookieOptions">
-            <summary>
-            Options used to create a new cookie.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.CookieOptions.#ctor">
-            <summary>
-            Creates a default cookie with a path of '/'.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.CookieOptions.Domain">
-            <summary>
-            Gets or sets the domain to associate the cookie with.
-            </summary>
-            <returns>The domain to associate the cookie with.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.CookieOptions.Path">
-            <summary>
-            Gets or sets the cookie path.
-            </summary>
-            <returns>The cookie path.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.CookieOptions.Expires">
-            <summary>
-            Gets or sets the expiration date and time for the cookie.
-            </summary>
-            <returns>The expiration date and time for the cookie.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.CookieOptions.Secure">
-            <summary>
-            Gets or sets a value that indicates whether to transmit the cookie using Secure Sockets Layer (SSL)—that is, over HTTPS only.
-            </summary>
-            <returns>true to transmit the cookie only over an SSL connection (HTTPS); otherwise, false.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.CookieOptions.HttpOnly">
-            <summary>
-            Gets or sets a value that indicates whether a cookie is accessible by client-side script.
-            </summary>
-            <returns>false if a cookie is accessible by client-side script; otherwise, true.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.CookieOptions.SameSite">
-            <summary>
-            Gets or sets a value that indicates on which requests client should or should not send cookie back to the server.
-            Set to null to do not include SameSite attribute at all.
-            </summary>
-            <returns>SameSite attribute value or null if attribute must not be set.</returns>
-        </member>
-        <member name="T:Microsoft.Owin.AppBuilderCookieExtensions">
-            <summary>
-            Cookie-related extensions for <see cref="T:Owin.IAppBuilder"/>.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.AppBuilderCookieExtensions.SetDefaultCookieManager(Owin.IAppBuilder,Microsoft.Owin.Infrastructure.ICookieManager)">
-            <summary>
-            Sets the default <see cref="T:Microsoft.Owin.Infrastructure.ICookieManager"/> that will be used by
-            the OWIN middleware when no manager is explicitly set in their options.
-            </summary>
-            <remarks>
-            Depending on the host, a default <see cref="T:Microsoft.Owin.Infrastructure.ICookieManager"/> instance
-            may already be registered in <see cref="P:Owin.IAppBuilder.Properties"/>
-            (e.g SystemWeb automatically registers a cookie manager that relies on
-            HttpCookieCollection instead of directly manipulating the HTTP headers).
-            </remarks>
-            <param name="app">The application builder.</param>
-            <param name="manager">The cookie manager.</param>
-            <exception cref="T:System.ArgumentNullException"><paramref name="app"/> is <see langword="null"/>.</exception>
-        </member>
-        <member name="M:Microsoft.Owin.AppBuilderCookieExtensions.SetDefaultChunkingCookieManager(Owin.IAppBuilder,Microsoft.Owin.Infrastructure.ICookieManager)">
-            <summary>
-            Sets the default chunking <see cref="T:Microsoft.Owin.Infrastructure.ICookieManager"/> that will be used
-            by the OWIN middleware when no manager is explicitly set in their options.
-            </summary>
-            <remarks>
-            Depending on the host, a default <see cref="T:Microsoft.Owin.Infrastructure.ICookieManager"/> instance
-            may already be registered in <see cref="P:Owin.IAppBuilder.Properties"/>
-            (e.g SystemWeb automatically registers a cookie manager that relies on
-            HttpCookieCollection instead of directly manipulating the HTTP headers).
-            </remarks>
-            <param name="app">The application builder.</param>
-            <param name="manager">The cookie manager.</param>
-            <exception cref="T:System.ArgumentNullException"><paramref name="app"/> is <see langword="null"/>.</exception>
-        </member>
-        <member name="M:Microsoft.Owin.AppBuilderCookieExtensions.GetDefaultCookieManager(Owin.IAppBuilder)">
-            <summary>
-            Gets the default <see cref="T:Microsoft.Owin.Infrastructure.ICookieManager"/> that will be used by
-            the OWIN middleware when no manager is explicitly set in their options.
-            </summary>
-            <param name="app">The application builder.</param>
-            <returns>
-            The cookie manager or a default <see cref="T:Microsoft.Owin.Infrastructure.CookieManager"/> instance if no manager was registered.
-            </returns>
-            <exception cref="T:System.ArgumentNullException"><paramref name="app"/> is <see langword="null"/>.</exception>
-        </member>
-        <member name="M:Microsoft.Owin.AppBuilderCookieExtensions.GetDefaultChunkingCookieManager(Owin.IAppBuilder)">
-            <summary>
-            Gets the default chunking <see cref="T:Microsoft.Owin.Infrastructure.ICookieManager"/> that will be used
-            by the OWIN middleware when no manager is explicitly set in their options.
-            </summary>
-            <param name="app">The application builder.</param>
-            <returns>
-            The cookie manager or a default <see cref="T:Microsoft.Owin.Infrastructure.ChunkingCookieManager"/> instance if no manager was registered.
-            </returns>
-            <exception cref="T:System.ArgumentNullException"><paramref name="app"/> is <see langword="null"/>.</exception>
-        </member>
-        <member name="T:Microsoft.Owin.Extensions.IntegratedPipelineExtensions">
-            <summary>
-            Extension methods used to indicate at which stage in the integrated pipeline prior middleware should run.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Extensions.IntegratedPipelineExtensions.UseStageMarker(Owin.IAppBuilder,System.String)">
-            <summary>
-            Call after other middleware to specify when they should run in the integrated pipeline.
-            </summary>
-            <param name="app">The IAppBuilder.</param>
-            <param name="stageName">The name of the integrated pipeline in which to run.</param>
-            <returns>The original IAppBuilder for chaining.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Extensions.IntegratedPipelineExtensions.UseStageMarker(Owin.IAppBuilder,Owin.PipelineStage)">
-            <summary>
-            Call after other middleware to specify when they should run in the integrated pipeline.
-            </summary>
-            <param name="app">The IAppBuilder.</param>
-            <param name="stage">The stage of the integrated pipeline in which to run.</param>
-            <returns>The original IAppBuilder for chaining.</returns>
-        </member>
-        <member name="T:Microsoft.Owin.Extensions.UseHandlerMiddleware">
-            <summary>
-            Represents a middleware for executing in-line function middleware.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Extensions.UseHandlerMiddleware.#ctor(System.Func{System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.Tasks.Task},System.Func{Microsoft.Owin.IOwinContext,System.Threading.Tasks.Task})">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Extensions.UseHandlerMiddleware" /> class.
-            </summary>
-            <param name="next">The pointer to next middleware.</param>
-            <param name="handler">A function that handles all requests.</param>
-        </member>
-        <member name="M:Microsoft.Owin.Extensions.UseHandlerMiddleware.#ctor(System.Func{System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.Tasks.Task},System.Func{Microsoft.Owin.IOwinContext,System.Func{System.Threading.Tasks.Task},System.Threading.Tasks.Task})">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Extensions.UseHandlerMiddleware" /> class.
-            </summary>
-            <param name="next">The pointer to next middleware.</param>
-            <param name="handler">A function that handles the request or calls the given next function.</param>
-        </member>
-        <member name="M:Microsoft.Owin.Extensions.UseHandlerMiddleware.Invoke(System.Collections.Generic.IDictionary{System.String,System.Object})">
-            <summary>
-            Invokes the handler for processing the request.
-            </summary>
-            <param name="environment">The OWIN context.</param>
-            <returns>The <see cref="T:System.Threading.Tasks.Task" /> object that represents the request operation.</returns>
-        </member>
-        <member name="T:Microsoft.Owin.FormCollection">
-            <summary>
-            Contains the parsed form values.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.FormCollection.#ctor(System.Collections.Generic.IDictionary{System.String,System.String[]})">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.FormCollection" /> class.
-            </summary>
-            <param name="store">The store for the form.</param>
-        </member>
-        <member name="T:Microsoft.Owin.HeaderDictionary">
-            <summary>
-            Represents a wrapper for owin.RequestHeaders and owin.ResponseHeaders.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.HeaderDictionary.#ctor(System.Collections.Generic.IDictionary{System.String,System.String[]})">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.HeaderDictionary" /> class.
-            </summary>
-            <param name="store">The underlying data store.</param>
-        </member>
-        <member name="P:Microsoft.Owin.HeaderDictionary.Keys">
-            <summary>
-            Gets an <see cref="T:System.Collections.ICollection" /> that contains the keys in the <see cref="T:Microsoft.Owin.HeaderDictionary" />;.
-            </summary>
-            <returns>An <see cref="T:System.Collections.ICollection" /> that contains the keys in the <see cref="T:Microsoft.Owin.HeaderDictionary" />.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.HeaderDictionary.Values">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.HeaderDictionary.Count">
-            <summary>
-            Gets the number of elements contained in the <see cref="T:Microsoft.Owin.HeaderDictionary" />;.
-            </summary>
-            <returns>The number of elements contained in the <see cref="T:Microsoft.Owin.HeaderDictionary" />.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.HeaderDictionary.IsReadOnly">
-            <summary>
-            Gets a value that indicates whether the <see cref="T:Microsoft.Owin.HeaderDictionary" /> is in read-only mode.
-            </summary>
-            <returns>true if the <see cref="T:Microsoft.Owin.HeaderDictionary" /> is in read-only mode; otherwise, false.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.HeaderDictionary.Item(System.String)">
-            <summary>
-            Get or sets the associated value from the collection as a single string.
-            </summary>
-            <param name="key">The header name.</param>
-            <returns>the associated value from the collection as a single string or null if the key is not present.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.HeaderDictionary.System#Collections#Generic#IDictionary{System#String,System#String[]}#Item(System.String)">
-            <summary>
-            Throws KeyNotFoundException if the key is not present.
-            </summary>
-            <param name="key">The header name.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.HeaderDictionary.GetEnumerator">
-            <summary>
-            Returns an enumerator that iterates through a collection.
-            </summary>
-            <returns>An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.HeaderDictionary.System#Collections#IEnumerable#GetEnumerator">
-            <summary>
-            Returns an enumerator that iterates through a collection.
-            </summary>
-            <returns>An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.HeaderDictionary.Get(System.String)">
-            <summary>
-            Get the associated value from the collection as a single string.
-            </summary>
-            <param name="key">The header name.</param>
-            <returns>the associated value from the collection as a single string or null if the key is not present.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.HeaderDictionary.GetValues(System.String)">
-            <summary>
-            Get the associated values from the collection without modification.
-            </summary>
-            <param name="key">The header name.</param>
-            <returns>the associated value from the collection without modification, or null if the key is not present.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.HeaderDictionary.GetCommaSeparatedValues(System.String)">
-            <summary>
-            Get the associated values from the collection separated into individual values.
-            Quoted values will not be split, and the quotes will be removed.
-            </summary>
-            <param name="key">The header name.</param>
-            <returns>the associated values from the collection separated into individual values, or null if the key is not present.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.HeaderDictionary.Append(System.String,System.String)">
-            <summary>
-            Add a new value. Appends to the header if already present
-            </summary>
-            <param name="key">The header name.</param>
-            <param name="value">The header value.</param>
-        </member>
-        <member name="M:Microsoft.Owin.HeaderDictionary.AppendValues(System.String,System.String[])">
-            <summary>
-            Add new values. Each item remains a separate array entry.
-            </summary>
-            <param name="key">The header name.</param>
-            <param name="values">The header values.</param>
-        </member>
-        <member name="M:Microsoft.Owin.HeaderDictionary.AppendCommaSeparatedValues(System.String,System.String[])">
-            <summary>
-            Quotes any values containing comas, and then coma joins all of the values with any existing values.
-            </summary>
-            <param name="key">The header name.</param>
-            <param name="values">The header values.</param>
-        </member>
-        <member name="M:Microsoft.Owin.HeaderDictionary.Set(System.String,System.String)">
-            <summary>
-            Sets a specific header value.
-            </summary>
-            <param name="key">The header name.</param>
-            <param name="value">The header value.</param>
-        </member>
-        <member name="M:Microsoft.Owin.HeaderDictionary.SetValues(System.String,System.String[])">
-            <summary>
-            Sets the specified header values without modification.
-            </summary>
-            <param name="key">The header name.</param>
-            <param name="values">The header values.</param>
-        </member>
-        <member name="M:Microsoft.Owin.HeaderDictionary.SetCommaSeparatedValues(System.String,System.String[])">
-            <summary>
-            Quotes any values containing comas, and then coma joins all of the values.
-            </summary>
-            <param name="key">The header name.</param>
-            <param name="values">The header values.</param>
-        </member>
-        <member name="M:Microsoft.Owin.HeaderDictionary.Add(System.String,System.String[])">
-            <summary>
-            Adds the given header and values to the collection.
-            </summary>
-            <param name="key">The header name.</param>
-            <param name="value">The header values.</param>
-        </member>
-        <member name="M:Microsoft.Owin.HeaderDictionary.ContainsKey(System.String)">
-            <summary>
-            Determines whether the <see cref="T:Microsoft.Owin.HeaderDictionary" /> contains a specific key.
-            </summary>
-            <param name="key">The key.</param>
-            <returns>true if the <see cref="T:Microsoft.Owin.HeaderDictionary" /> contains a specific key; otherwise, false.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.HeaderDictionary.Remove(System.String)">
-            <summary>
-            Removes the given header from the collection.
-            </summary>
-            <param name="key">The header name.</param>
-            <returns>true if the specified object was removed from the collection; otherwise, false.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.HeaderDictionary.TryGetValue(System.String,System.String[]@)">
-            <summary>
-            Retrieves a value from the dictionary.
-            </summary>
-            <param name="key">The header name.</param>
-            <param name="value">The value.</param>
-            <returns>true if the <see cref="T:Microsoft.Owin.HeaderDictionary" /> contains the key; otherwise, false.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.HeaderDictionary.Add(System.Collections.Generic.KeyValuePair{System.String,System.String[]})">
-            <summary>
-            Adds a new list of items to the collection.
-            </summary>
-            <param name="item">The item to add.</param>
-        </member>
-        <member name="M:Microsoft.Owin.HeaderDictionary.Clear">
-            <summary>
-            Clears the entire list of objects.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.HeaderDictionary.Contains(System.Collections.Generic.KeyValuePair{System.String,System.String[]})">
-            <summary>
-            Returns a value indicating whether the specified object occurs within this collection.
-            </summary>
-            <param name="item">The item.</param>
-            <returns>true if the specified object occurs within this collection; otherwise, false.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.HeaderDictionary.CopyTo(System.Collections.Generic.KeyValuePair{System.String,System.String[]}[],System.Int32)">
-            <summary>
-            Copies the <see cref="T:Microsoft.Owin.HeaderDictionary" /> elements to a one-dimensional Array instance at the specified index.
-            </summary>
-            <param name="array">The one-dimensional Array that is the destination of the specified objects copied from the <see cref="T:Microsoft.Owin.HeaderDictionary" />.</param>
-            <param name="arrayIndex">The zero-based index in <paramref name="array" /> at which copying begins.</param>
-        </member>
-        <member name="M:Microsoft.Owin.HeaderDictionary.Remove(System.Collections.Generic.KeyValuePair{System.String,System.String[]})">
-            <summary>
-            Removes the given item from the the collection.
-            </summary>
-            <param name="item">The item.</param>
-            <returns>true if the specified object was removed from the collection; otherwise, false.</returns>
-        </member>
-        <member name="T:Microsoft.Owin.Helpers.WebHelpers">
-            <summary>
-            Provides helper methods for processing requests.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Helpers.WebHelpers.ParseForm(System.String)">
-            <summary>
-            Parses an HTTP form body.
-            </summary>
-            <param name="text">The HTTP form body to parse.</param>
-            <returns>The <see cref="T:Microsoft.Owin.IFormCollection" /> object containing the parsed HTTP form body.</returns>
-        </member>
-        <member name="T:Microsoft.Owin.HostString">
-            <summary>
-            Represents the host portion of a Uri can be used to construct Uri's properly formatted and encoded for use in
-            HTTP headers.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.HostString.#ctor(System.String)">
-            <summary>
-            Creates a new HostString without modification. The value should be Unicode rather than punycode, and may have a port.
-            IPv4 and IPv6 addresses are also allowed, and also may have ports.
-            </summary>
-            <param name="value"></param>
-        </member>
-        <member name="P:Microsoft.Owin.HostString.Value">
-            <summary>
-            Returns the original value from the constructor.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.HostString.ToString">
-            <summary>
-            Returns the value as normalized by ToUriComponent().
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.HostString.ToUriComponent">
-            <summary>
-            Returns the value properly formatted and encoded for use in a URI in a HTTP header.
-            Any Unicode is converted to punycode. IPv6 addresses will have brackets added if they are missing.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.HostString.FromUriComponent(System.String)">
-            <summary>
-            Creates a new HostString from the given uri component.
-            Any punycode will be converted to Unicode.
-            </summary>
-            <param name="uriComponent"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.HostString.FromUriComponent(System.Uri)">
-            <summary>
-            Creates a new HostString from the host and port of the give Uri instance.
-            Punycode will be converted to Unicode.
-            </summary>
-            <param name="uri"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.HostString.Equals(Microsoft.Owin.HostString)">
-            <summary>
-            Compares the equality of the Value property, ignoring case.
-            </summary>
-            <param name="other"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.HostString.Equals(System.Object)">
-            <summary>
-            Compares against the given object only if it is a HostString.
-            </summary>
-            <param name="obj"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.HostString.GetHashCode">
-            <summary>
-            Gets a hash code for the value.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.HostString.op_Equality(Microsoft.Owin.HostString,Microsoft.Owin.HostString)">
-            <summary>
-            Compares the two instances for equality.
-            </summary>
-            <param name="left"></param>
-            <param name="right"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.HostString.op_Inequality(Microsoft.Owin.HostString,Microsoft.Owin.HostString)">
-            <summary>
-            Compares the two instances for inequality.
-            </summary>
-            <param name="left"></param>
-            <param name="right"></param>
-            <returns></returns>
-        </member>
-        <member name="T:Microsoft.Owin.IFormCollection">
-            <summary>
-            Contains the parsed form values.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.IHeaderDictionary">
-            <summary>
-            Represents a wrapper for owin.RequestHeaders and owin.ResponseHeaders.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.IHeaderDictionary.Item(System.String)">
-            <summary>
-            Get or sets the associated value from the collection as a single string.
-            </summary>
-            <param name="key">The header name.</param>
-            <returns>the associated value from the collection as a single string or null if the key is not present.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.IHeaderDictionary.GetCommaSeparatedValues(System.String)">
-            <summary>
-            Get the associated values from the collection separated into individual values.
-            Quoted values will not be split, and the quotes will be removed.
-            </summary>
-            <param name="key">The header name.</param>
-            <returns>the associated values from the collection separated into individual values, or null if the key is not present.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.IHeaderDictionary.Append(System.String,System.String)">
-            <summary>
-            Add a new value. Appends to the header if already present
-            </summary>
-            <param name="key">The header name.</param>
-            <param name="value">The header value.</param>
-        </member>
-        <member name="M:Microsoft.Owin.IHeaderDictionary.AppendValues(System.String,System.String[])">
-            <summary>
-            Add new values. Each item remains a separate array entry.
-            </summary>
-            <param name="key">The header name.</param>
-            <param name="values">The header values.</param>
-        </member>
-        <member name="M:Microsoft.Owin.IHeaderDictionary.AppendCommaSeparatedValues(System.String,System.String[])">
-            <summary>
-            Quotes any values containing comas, and then coma joins all of the values with any existing values.
-            </summary>
-            <param name="key">The header name.</param>
-            <param name="values">The header values.</param>
-        </member>
-        <member name="M:Microsoft.Owin.IHeaderDictionary.Set(System.String,System.String)">
-            <summary>
-            Sets a specific header value.
-            </summary>
-            <param name="key">The header name.</param>
-            <param name="value">The header value.</param>
-        </member>
-        <member name="M:Microsoft.Owin.IHeaderDictionary.SetValues(System.String,System.String[])">
-            <summary>
-            Sets the specified header values without modification.
-            </summary>
-            <param name="key">The header name.</param>
-            <param name="values">The header values.</param>
-        </member>
-        <member name="M:Microsoft.Owin.IHeaderDictionary.SetCommaSeparatedValues(System.String,System.String[])">
-            <summary>
-            Quotes any values containing comas, and then coma joins all of the values.
-            </summary>
-            <param name="key">The header name.</param>
-            <param name="values">The header values.</param>
-        </member>
-        <member name="T:Microsoft.Owin.Infrastructure.AppFuncTransition">
-            <summary>
-            Converts between an OwinMiddlware and an <typeref name="Func&lt;IDictionary&lt;string,object&gt;, Task&gt;"/>.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Infrastructure.AppFuncTransition.#ctor(System.Func{System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.Tasks.Task})">
-            <summary>
-            
-            </summary>
-            <param name="next"></param>
-        </member>
-        <member name="M:Microsoft.Owin.Infrastructure.AppFuncTransition.Invoke(Microsoft.Owin.IOwinContext)">
-            <summary>
-            
-            </summary>
-            <param name="context"></param>
-            <returns></returns>
-        </member>
-        <member name="T:Microsoft.Owin.Infrastructure.ChunkingCookieManager">
-            <summary>
-            This handles cookies that are limited by per cookie length. It breaks down long cookies for responses, and reassembles them
-            from requests.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Infrastructure.ChunkingCookieManager.#ctor">
-            <summary>
-            Creates a new instance of ChunkingCookieManager.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Infrastructure.ChunkingCookieManager.ChunkSize">
-             <summary>
-             The maximum size of cookie to send back to the client. If a cookie exceeds this size it will be broken down into multiple
-             cookies. Set this value to null to disable this behavior. The default is 4090 characters, which is supported by all
-             common browsers.
-            
-             Note that browsers may also have limits on the total size of all cookies per domain, and on the number of cookies per domain.
-             </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Infrastructure.ChunkingCookieManager.ThrowForPartialCookies">
-            <summary>
-            Throw if not all chunks of a cookie are available on a request for re-assembly.
-            </summary>
-            <remarks>
-            By default, this property is set to <see langword="false"/>. In this case,
-            <see cref="M:Microsoft.Owin.Infrastructure.ChunkingCookieManager.GetRequestCookie(Microsoft.Owin.IOwinContext,System.String)"/> returns "chunks:[number of chunks]"
-            instead of causing a <see cref="T:System.FormatException"/> if one of the chunks is missing.
-            </remarks>
-        </member>
-        <member name="M:Microsoft.Owin.Infrastructure.ChunkingCookieManager.GetRequestCookie(Microsoft.Owin.IOwinContext,System.String)">
-            <summary>
-            Get the reassembled cookie. Non chunked cookies are returned normally.
-            Cookies with missing chunks just have their "chunks:XX" header returned.
-            </summary>
-            <param name="context"></param>
-            <param name="key"></param>
-            <returns>The reassembled cookie, if any, or null.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Infrastructure.ChunkingCookieManager.AppendResponseCookie(Microsoft.Owin.IOwinContext,System.String,System.String,Microsoft.Owin.CookieOptions)">
-            <summary>
-            Appends a new response cookie to the Set-Cookie header. If the cookie is larger than the given size limit
-            then it will be broken down into multiple cookies as follows:
-            Set-Cookie: CookieName=chunks:3; path=/
-            Set-Cookie: CookieNameC1=Segment1; path=/
-            Set-Cookie: CookieNameC2=Segment2; path=/
-            Set-Cookie: CookieNameC3=Segment3; path=/
-            </summary>
-            <param name="context"></param>
-            <param name="key"></param>
-            <param name="value"></param>
-            <param name="options"></param>
-        </member>
-        <member name="M:Microsoft.Owin.Infrastructure.ChunkingCookieManager.DeleteCookie(Microsoft.Owin.IOwinContext,System.String,Microsoft.Owin.CookieOptions)">
-            <summary>
-            Deletes the cookie with the given key by setting an expired state. If a matching chunked cookie exists on
-            the request, delete each chunk.
-            </summary>
-            <param name="context"></param>
-            <param name="key"></param>
-            <param name="options"></param>
-        </member>
-        <member name="T:Microsoft.Owin.Infrastructure.CookieManager">
-            <summary>
-            An implementation of ICookieManager that writes directly to IOwinContext.Response.Cookies.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Infrastructure.CookieManager.GetRequestCookie(Microsoft.Owin.IOwinContext,System.String)">
-            <summary>
-            Read a cookie with the given name from the request.
-            </summary>
-            <param name="context"></param>
-            <param name="key"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.Infrastructure.CookieManager.AppendResponseCookie(Microsoft.Owin.IOwinContext,System.String,System.String,Microsoft.Owin.CookieOptions)">
-            <summary>
-            Appends a new response cookie to the Set-Cookie header.
-            </summary>
-            <param name="context"></param>
-            <param name="key"></param>
-            <param name="value"></param>
-            <param name="options"></param>
-        </member>
-        <member name="M:Microsoft.Owin.Infrastructure.CookieManager.DeleteCookie(Microsoft.Owin.IOwinContext,System.String,Microsoft.Owin.CookieOptions)">
-            <summary>
-            Deletes the cookie with the given key by appending an expired cookie.
-            </summary>
-            <param name="context"></param>
-            <param name="key"></param>
-            <param name="options"></param>
-        </member>
-        <member name="T:Microsoft.Owin.Infrastructure.ICookieManager">
-            <summary>
-            An abstraction for reading request cookies and writing response cookies.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Infrastructure.ICookieManager.GetRequestCookie(Microsoft.Owin.IOwinContext,System.String)">
-            <summary>
-            Read a cookie with the given name from the request.
-            </summary>
-            <param name="context"></param>
-            <param name="key"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.Infrastructure.ICookieManager.AppendResponseCookie(Microsoft.Owin.IOwinContext,System.String,System.String,Microsoft.Owin.CookieOptions)">
-            <summary>
-            Append a cookie to the response.
-            </summary>
-            <param name="context"></param>
-            <param name="key"></param>
-            <param name="value"></param>
-            <param name="options"></param>
-        </member>
-        <member name="M:Microsoft.Owin.Infrastructure.ICookieManager.DeleteCookie(Microsoft.Owin.IOwinContext,System.String,Microsoft.Owin.CookieOptions)">
-            <summary>
-            Append a delete cookie to the response.
-            </summary>
-            <param name="context"></param>
-            <param name="key"></param>
-            <param name="options"></param>
-        </member>
-        <member name="T:Microsoft.Owin.Infrastructure.ISystemClock">
-            <summary>
-            Abstracts the system clock to facilitate testing.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Infrastructure.ISystemClock.UtcNow">
-            <summary>
-            Retrieves the current system time in UTC.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Infrastructure.OwinMiddlewareTransition">
-            <summary>
-            Transitions between <typeref name="Func&lt;IDictionary&lt;string,object&gt;, Task&gt;"/> and OwinMiddleware.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Infrastructure.OwinMiddlewareTransition.#ctor(Microsoft.Owin.OwinMiddleware)">
-            <summary>
-            
-            </summary>
-            <param name="next"></param>
-        </member>
-        <member name="M:Microsoft.Owin.Infrastructure.OwinMiddlewareTransition.Invoke(System.Collections.Generic.IDictionary{System.String,System.Object})">
-            <summary>
-            
-            </summary>
-            <param name="environment">OWIN environment dictionary which stores state information about the request, response and relevant server state.</param>
-            <returns></returns>
-        </member>
-        <member name="T:Microsoft.Owin.Infrastructure.SignatureConversions">
-            <summary>
-            Adds adapters between <typeref name="Func&lt;IDictionary&lt;string,object&gt;, Task&gt;"/> and OwinMiddleware.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Infrastructure.SignatureConversions.AddConversions(Owin.IAppBuilder)">
-            <summary>
-            Adds adapters between <typeref name="Func&lt;IDictionary&lt;string,object&gt;, Task&gt;"/> and OwinMiddleware.
-            </summary>
-            <param name="app"></param>
-        </member>
-        <member name="T:Microsoft.Owin.Infrastructure.SystemClock">
-            <summary>
-            Provides access to the normal system clock.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Infrastructure.SystemClock.UtcNow">
-            <summary>
-            Retrieves the current system time in UTC.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Infrastructure.WebUtilities">
-            <summary>
-            Response generation utilities.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Infrastructure.WebUtilities.AddQueryString(System.String,System.String)">
-            <summary>
-            Append the given query to the uri.
-            </summary>
-            <param name="uri">The base uri.</param>
-            <param name="queryString">The query string to append, if any.</param>
-            <returns>The combine result.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Infrastructure.WebUtilities.AddQueryString(System.String,System.String,System.String)">
-            <summary>
-            Append the given query key and value to the uri.
-            </summary>
-            <param name="uri">The base uri.</param>
-            <param name="name">The name of the query key.</param>
-            <param name="value">The query value.</param>
-            <returns>The combine result.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Infrastructure.WebUtilities.AddQueryString(System.String,System.Collections.Generic.IDictionary{System.String,System.String})">
-            <summary>
-            Append the given query keys and values to the uri.
-            </summary>
-            <param name="uri">The base uri.</param>
-            <param name="queryString">A collection of name value query pairs to append.</param>
-            <returns>The combine result.</returns>
-        </member>
-        <member name="T:Microsoft.Owin.IOwinContext">
-            <summary>
-            This wraps OWIN environment dictionary and provides strongly typed accessors.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinContext.Request">
-            <summary>
-            Gets a wrapper exposing request specific properties.
-            </summary>
-            <returns>A wrapper exposing request specific properties.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinContext.Response">
-            <summary>
-            Gets a wrapper exposing response specific properties.
-            </summary>
-            <returns>A wrapper exposing response specific properties.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinContext.Authentication">
-            <summary>
-            Gets the Authentication middleware functionality available on the current request.
-            </summary>
-            <returns>The authentication middleware functionality available on the current request.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinContext.Environment">
-            <summary>
-            Gets the OWIN environment.
-            </summary>
-            <returns>The OWIN environment.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinContext.TraceOutput">
-            <summary>
-            Gets or sets the host.TraceOutput environment value.
-            </summary>
-            <returns>The host.TraceOutput TextWriter.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.IOwinContext.Get``1(System.String)">
-            <summary>
-            Gets a value from the OWIN environment, or returns default(T) if not present.
-            </summary>
-            <typeparam name="T">The type of the value.</typeparam>
-            <param name="key">The key of the value to get.</param>
-            <returns>The value with the specified key or the default(T) if not present.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.IOwinContext.Set``1(System.String,``0)">
-            <summary>
-            Sets the given key and value in the OWIN environment.
-            </summary>
-            <typeparam name="T">The type of the value.</typeparam>
-            <param name="key">The key of the value to set.</param>
-            <param name="value">The value to set.</param>
-            <returns>This instance.</returns>
-        </member>
-        <member name="T:Microsoft.Owin.IOwinRequest">
-            <summary>
-            This wraps OWIN environment dictionary and provides strongly typed accessors.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinRequest.Environment">
-            <summary>
-            Gets the OWIN environment.
-            </summary>
-            <returns>The OWIN environment.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinRequest.Context">
-            <summary>
-            Gets the request context.
-            </summary>
-            <returns>The request context.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinRequest.Method">
-            <summary>
-            Gets or set the HTTP method.
-            </summary>
-            <returns>The HTTP method.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinRequest.Scheme">
-            <summary>
-            Gets or set the HTTP request scheme from owin.RequestScheme.
-            </summary>
-            <returns>The HTTP request scheme from owin.RequestScheme.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinRequest.IsSecure">
-            <summary>
-            Returns true if the owin.RequestScheme is https.
-            </summary>
-            <returns>true if this request is using https; otherwise, false.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinRequest.Host">
-            <summary>
-            Gets or set the Host header. May include the port.
-            </summary>
-            <return>The Host header.</return>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinRequest.PathBase">
-            <summary>
-            Gets or set the owin.RequestPathBase.
-            </summary>
-            <returns>The owin.RequestPathBase.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinRequest.Path">
-            <summary>
-            Gets or set the request path from owin.RequestPath.
-            </summary>
-            <returns>The request path from owin.RequestPath.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinRequest.QueryString">
-            <summary>
-            Gets or set the query string from owin.RequestQueryString.
-            </summary>
-            <returns>The query string from owin.RequestQueryString.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinRequest.Query">
-            <summary>
-            Gets the query value collection parsed from owin.RequestQueryString.
-            </summary>
-            <returns>The query value collection parsed from owin.RequestQueryString.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinRequest.Uri">
-            <summary>
-            Gets the uniform resource identifier (URI) associated with the request.
-            </summary>
-            <returns>The uniform resource identifier (URI) associated with the request.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinRequest.Protocol">
-            <summary>
-            Gets or set the owin.RequestProtocol.
-            </summary>
-            <returns>The owin.RequestProtocol.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinRequest.Headers">
-            <summary>
-            Gets the request headers.
-            </summary>
-            <returns>The request headers.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinRequest.Cookies">
-            <summary>
-            Gets the collection of Cookies for this request.
-            </summary>
-            <returns>The collection of Cookies for this request.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinRequest.ContentType">
-            <summary>
-            Gets or sets the Content-Type header.
-            </summary>
-            <returns>The Content-Type header.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinRequest.CacheControl">
-            <summary>
-            Gets or sets the Cache-Control header.
-            </summary>
-            <returns>The Cache-Control header.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinRequest.MediaType">
-            <summary>
-            Gets or sets the Media-Type header.
-            </summary>
-            <returns>The Media-Type header.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinRequest.Accept">
-            <summary>
-            Gets or set the Accept header.
-            </summary>
-            <returns>The Accept header.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinRequest.Body">
-            <summary>
-            Gets or set the owin.RequestBody Stream.
-            </summary>
-            <returns>The owin.RequestBody Stream.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinRequest.CallCancelled">
-            <summary>
-            Gets or sets the cancellation token for the request.
-            </summary>
-            <returns>The cancellation token for the request.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinRequest.LocalIpAddress">
-            <summary>
-            Gets or set the server.LocalIpAddress.
-            </summary>
-            <returns>The server.LocalIpAddress.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinRequest.LocalPort">
-            <summary>
-            Gets or set the server.LocalPort.
-            </summary>
-            <returns>The server.LocalPort.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinRequest.RemoteIpAddress">
-            <summary>
-            Gets or set the server.RemoteIpAddress.
-            </summary>
-            <returns>The server.RemoteIpAddress.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinRequest.RemotePort">
-            <summary>
-            Gets or set the server.RemotePort.
-            </summary>
-            <returns>The server.RemotePort.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinRequest.User">
-            <summary>
-            Gets or set the server.User.
-            </summary>
-            <returns>The server.User.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.IOwinRequest.ReadFormAsync">
-            <summary>
-            Asynchronously reads and parses the request body as a form.
-            </summary>
-            <returns>The parsed form data.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.IOwinRequest.Get``1(System.String)">
-            <summary>
-            Gets a value from the OWIN environment, or returns default(T) if not present.
-            </summary>
-            <typeparam name="T">The type of the value.</typeparam>
-            <param name="key">The key of the value to get.</param>
-            <returns>The value with the specified key or the default(T) if not present.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.IOwinRequest.Set``1(System.String,``0)">
-            <summary>
-            Sets the given key and value in the OWIN environment.
-            </summary>
-            <typeparam name="T">The type of the value.</typeparam>
-            <param name="key">The key of the value to set.</param>
-            <param name="value">The value to set.</param>
-            <returns>This instance.</returns>
-        </member>
-        <member name="T:Microsoft.Owin.IOwinResponse">
-            <summary>
-            This wraps OWIN environment dictionary and provides strongly typed accessors.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinResponse.Environment">
-            <summary>
-            Gets the OWIN environment.
-            </summary>
-            <returns>The OWIN environment.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinResponse.Context">
-            <summary>
-            Gets the request context.
-            </summary>
-            <returns>The request context.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinResponse.StatusCode">
-            <summary>
-            Gets or sets the optional owin.ResponseStatusCode.
-            </summary>
-            <returns>The optional owin.ResponseStatusCode, or 200 if not set.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinResponse.ReasonPhrase">
-            <summary>
-            Gets or sets the the optional owin.ResponseReasonPhrase.
-            </summary>
-            <returns>The the optional owin.ResponseReasonPhrase.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinResponse.Protocol">
-            <summary>
-            Gets or sets the owin.ResponseProtocol.
-            </summary>
-            <returns>The owin.ResponseProtocol.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinResponse.Headers">
-            <summary>
-            Gets the response header collection.
-            </summary>
-            <returns>The response header collection.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinResponse.Cookies">
-            <summary>
-            Gets a collection used to manipulate the Set-Cookie header.
-            </summary>
-            <returns>A collection used to manipulate the Set-Cookie header.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinResponse.ContentLength">
-            <summary>
-            Gets or sets the Content-Length header.
-            </summary>
-            <returns>The Content-Length header.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinResponse.ContentType">
-            <summary>
-            Gets or sets the Content-Type header.
-            </summary>
-            <returns>The Content-Type header.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinResponse.Expires">
-            <summary>
-            Gets or sets the Expires header.
-            </summary>
-            <returns>The Expires header.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinResponse.ETag">
-            <summary>
-            Gets or sets the E-Tag header.
-            </summary>
-            <returns>The E-Tag header.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.IOwinResponse.Body">
-            <summary>
-            Gets or sets the owin.ResponseBody Stream.
-            </summary>
-            <returns>The owin.ResponseBody Stream.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.IOwinResponse.OnSendingHeaders(System.Action{System.Object},System.Object)">
-            <summary>
-            Registers for an event that fires when the response headers are sent.
-            </summary>
-            <param name="callback">The callback method.</param>
-            <param name="state">The callback state.</param>
-        </member>
-        <member name="M:Microsoft.Owin.IOwinResponse.Redirect(System.String)">
-            <summary>
-            Sets a 302 response status code and the Location header.
-            </summary>
-            <param name="location">The location where to redirect the client.</param>
-        </member>
-        <member name="M:Microsoft.Owin.IOwinResponse.Write(System.String)">
-            <summary>
-            Writes the given text to the response body stream using UTF-8.
-            </summary>
-            <param name="text">The response data.</param>
-        </member>
-        <member name="M:Microsoft.Owin.IOwinResponse.Write(System.Byte[])">
-            <summary>
-            Writes the given bytes to the response body stream.
-            </summary>
-            <param name="data">The response data.</param>
-        </member>
-        <member name="M:Microsoft.Owin.IOwinResponse.Write(System.Byte[],System.Int32,System.Int32)">
-            <summary>
-            Writes the given bytes to the response body stream.
-            </summary>
-            <param name="data">The response data.</param>
-            <param name="offset">The zero-based byte offset in the <paramref name="data" /> parameter at which to begin copying bytes.</param>
-            <param name="count">The number of bytes to write.</param>
-        </member>
-        <member name="M:Microsoft.Owin.IOwinResponse.WriteAsync(System.String)">
-            <summary>
-            Asynchronously writes the given text to the response body stream using UTF-8.
-            </summary>
-            <param name="text">The response data.</param>
-            <returns>A Task tracking the state of the write operation.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.IOwinResponse.WriteAsync(System.String,System.Threading.CancellationToken)">
-            <summary>
-            Asynchronously writes the given text to the response body stream using UTF-8.
-            </summary>
-            <param name="text">The response data.</param>
-            <param name="token">A token used to indicate cancellation.</param>
-            <returns>A Task tracking the state of the write operation.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.IOwinResponse.WriteAsync(System.Byte[])">
-            <summary>
-            Asynchronously writes the given bytes to the response body stream.
-            </summary>
-            <param name="data">The response data.</param>
-            <returns>A Task tracking the state of the write operation.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.IOwinResponse.WriteAsync(System.Byte[],System.Threading.CancellationToken)">
-            <summary>
-            Asynchronously writes the given bytes to the response body stream.
-            </summary>
-            <param name="data">The response data.</param>
-            <param name="token">A token used to indicate cancellation.</param>
-            <returns>A Task tracking the state of the write operation.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.IOwinResponse.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
-            <summary>
-            Asynchronously writes the given bytes to the response body stream.
-            </summary>
-            <param name="data">The response data.</param>
-            <param name="offset">The zero-based byte offset in the <paramref name="data" /> parameter at which to begin copying bytes.</param>
-            <param name="count">The number of bytes to write.</param>
-            <param name="token">A token used to indicate cancellation.</param>
-            <returns>A Task tracking the state of the write operation.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.IOwinResponse.Get``1(System.String)">
-            <summary>
-            Gets a value from the OWIN environment, or returns default(T) if not present.
-            </summary>
-            <typeparam name="T">The type of the value.</typeparam>
-            <param name="key">The key of the value to get.</param>
-            <returns>The value with the specified key or the default(T) if not present.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.IOwinResponse.Set``1(System.String,``0)">
-            <summary>
-            Sets the given key and value in the OWIN environment.
-            </summary>
-            <typeparam name="T">The type of the value.</typeparam>
-            <param name="key">The key of the value to set.</param>
-            <param name="value">The value to set.</param>
-            <returns>This instance.</returns>
-        </member>
-        <member name="T:Microsoft.Owin.IReadableStringCollection">
-            <summary>
-            Accessors for headers, query, forms, etc.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.IReadableStringCollection.Item(System.String)">
-            <summary>
-            Get the associated value from the collection.  Multiple values will be merged.
-            Returns null if the key is not present.
-            </summary>
-            <param name="key"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.IReadableStringCollection.Get(System.String)">
-            <summary>
-            Get the associated value from the collection.  Multiple values will be merged.
-            Returns null if the key is not present.
-            </summary>
-            <param name="key"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.IReadableStringCollection.GetValues(System.String)">
-            <summary>
-            Get the associated values from the collection in their original format.
-            Returns null if the key is not present.
-            </summary>
-            <param name="key"></param>
-            <returns></returns>
-        </member>
-        <member name="T:Microsoft.Owin.OwinStartupAttribute">
-            <summary>
-            Used to mark which class in an assembly should be used for automatic startup.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.OwinStartupAttribute.#ctor(System.Type)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.OwinStartupAttribute"/> class
-            </summary>
-            <param name="startupType">The startup class</param>
-        </member>
-        <member name="M:Microsoft.Owin.OwinStartupAttribute.#ctor(System.String,System.Type)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.OwinStartupAttribute"/> class
-            </summary>
-            <param name="friendlyName">A non-default configuration, e.g. staging.</param>
-            <param name="startupType">The startup class</param>
-        </member>
-        <member name="M:Microsoft.Owin.OwinStartupAttribute.#ctor(System.Type,System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.OwinStartupAttribute"/> class
-            </summary>
-            <param name="startupType">The startup class</param>
-            <param name="methodName">Specifies which method to call</param>
-        </member>
-        <member name="M:Microsoft.Owin.OwinStartupAttribute.#ctor(System.String,System.Type,System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.OwinStartupAttribute"/> class
-            </summary>
-            <param name="friendlyName">A non-default configuration, e.g. staging.</param>
-            <param name="startupType">The startup class</param>
-            <param name="methodName">Specifies which method to call</param>
-        </member>
-        <member name="P:Microsoft.Owin.OwinStartupAttribute.FriendlyName">
-            <summary>
-            A non-default configuration if any. e.g. Staging.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.OwinStartupAttribute.StartupType">
-            <summary>
-            The startup class
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.OwinStartupAttribute.MethodName">
-            <summary>
-            The name of the configuration method
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Logging.AppBuilderLoggerExtensions">
-            <summary>
-            Logging extension methods for IAppBuilder.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Logging.AppBuilderLoggerExtensions.SetLoggerFactory(Owin.IAppBuilder,Microsoft.Owin.Logging.ILoggerFactory)">
-            <summary>
-            Sets the server.LoggerFactory in the Properties collection.
-            </summary>
-            <param name="app"></param>
-            <param name="loggerFactory"></param>
-        </member>
-        <member name="M:Microsoft.Owin.Logging.AppBuilderLoggerExtensions.GetLoggerFactory(Owin.IAppBuilder)">
-            <summary>
-            Retrieves the server.LoggerFactory from the Properties collection.
-            </summary>
-            <param name="app"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.Logging.AppBuilderLoggerExtensions.CreateLogger(Owin.IAppBuilder,System.String)">
-            <summary>
-            Creates a new ILogger instance from the server.LoggerFactory in the Properties collection.
-            </summary>
-            <param name="app"></param>
-            <param name="name"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.Logging.AppBuilderLoggerExtensions.CreateLogger(Owin.IAppBuilder,System.Type)">
-            <summary>
-            Creates a new ILogger instance from the server.LoggerFactory in the Properties collection.
-            </summary>
-            <param name="app"></param>
-            <param name="component"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.Logging.AppBuilderLoggerExtensions.CreateLogger``1(Owin.IAppBuilder)">
-            <summary>
-            Creates a new ILogger instance from the server.LoggerFactory in the Properties collection.
-            </summary>
-            <typeparam name="TType"></typeparam>
-            <param name="app"></param>
-            <returns></returns>
-        </member>
-        <member name="T:Microsoft.Owin.Logging.DiagnosticsLoggerFactory">
-            <summary>
-            Provides an ILoggerFactory based on System.Diagnostics.TraceSource.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Logging.DiagnosticsLoggerFactory.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Logging.DiagnosticsLoggerFactory"/> class. 
-            </summary>
-            <summary>
-            Creates a factory named "Microsoft.Owin".
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Logging.DiagnosticsLoggerFactory.#ctor(System.Diagnostics.SourceSwitch,System.Diagnostics.TraceListener)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Logging.DiagnosticsLoggerFactory"/> class.
-            </summary>
-            <param name="rootSourceSwitch"></param>
-            <param name="rootTraceListener"></param>
-        </member>
-        <member name="M:Microsoft.Owin.Logging.DiagnosticsLoggerFactory.Create(System.String)">
-            <summary>
-            Creates a new DiagnosticsLogger for the given component name.
-            </summary>
-            <param name="name"></param>
-            <returns></returns>
-        </member>
-        <member name="T:Microsoft.Owin.Logging.ILogger">
-            <summary>
-            A generic interface for logging.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Logging.ILogger.WriteCore(System.Diagnostics.TraceEventType,System.Int32,System.Object,System.Exception,System.Func{System.Object,System.Exception,System.String})">
-            <summary>
-            Aggregates most logging patterns to a single method.  This must be compatible with the Func representation in the OWIN environment.
-            
-            To check IsEnabled call WriteCore with only TraceEventType and check the return value, no event will be written.
-            </summary>
-            <param name="eventType"></param>
-            <param name="eventId"></param>
-            <param name="state"></param>
-            <param name="exception"></param>
-            <param name="formatter"></param>
-            <returns></returns>
-        </member>
-        <member name="T:Microsoft.Owin.Logging.ILoggerFactory">
-            <summary>
-            Used to create logger instances of the given name.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Logging.ILoggerFactory.Create(System.String)">
-            <summary>
-            Creates a new ILogger instance of the given name.
-            </summary>
-            <param name="name"></param>
-            <returns></returns>
-        </member>
-        <member name="T:Microsoft.Owin.Logging.LoggerExtensions">
-            <summary>
-            ILogger extension methods for common scenarios.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Logging.LoggerExtensions.IsEnabled(Microsoft.Owin.Logging.ILogger,System.Diagnostics.TraceEventType)">
-            <summary>
-            Checks if the given TraceEventType is enabled.
-            </summary>
-            <param name="logger"></param>
-            <param name="eventType"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.Logging.LoggerExtensions.WriteVerbose(Microsoft.Owin.Logging.ILogger,System.String)">
-            <summary>
-            Writes a verbose log message.
-            </summary>
-            <param name="logger"></param>
-            <param name="data"></param>
-        </member>
-        <member name="M:Microsoft.Owin.Logging.LoggerExtensions.WriteInformation(Microsoft.Owin.Logging.ILogger,System.String)">
-            <summary>
-            Writes an informational log message.
-            </summary>
-            <param name="logger"></param>
-            <param name="message"></param>
-        </member>
-        <member name="M:Microsoft.Owin.Logging.LoggerExtensions.WriteWarning(Microsoft.Owin.Logging.ILogger,System.String,System.String[])">
-            <summary>
-            Writes a warning log message.
-            </summary>
-            <param name="logger"></param>
-            <param name="message"></param>
-            <param name="args"></param>
-        </member>
-        <member name="M:Microsoft.Owin.Logging.LoggerExtensions.WriteWarning(Microsoft.Owin.Logging.ILogger,System.String,System.Exception)">
-            <summary>
-            Writes a warning log message.
-            </summary>
-            <param name="logger"></param>
-            <param name="message"></param>
-            <param name="error"></param>
-        </member>
-        <member name="M:Microsoft.Owin.Logging.LoggerExtensions.WriteError(Microsoft.Owin.Logging.ILogger,System.String)">
-            <summary>
-            Writes an error log message.
-            </summary>
-            <param name="logger"></param>
-            <param name="message"></param>
-        </member>
-        <member name="M:Microsoft.Owin.Logging.LoggerExtensions.WriteError(Microsoft.Owin.Logging.ILogger,System.String,System.Exception)">
-            <summary>
-            Writes an error log message.
-            </summary>
-            <param name="logger"></param>
-            <param name="message"></param>
-            <param name="error"></param>
-        </member>
-        <member name="M:Microsoft.Owin.Logging.LoggerExtensions.WriteCritical(Microsoft.Owin.Logging.ILogger,System.String)">
-            <summary>
-            Writes a critical log message.
-            </summary>
-            <param name="logger"></param>
-            <param name="message"></param>
-        </member>
-        <member name="M:Microsoft.Owin.Logging.LoggerExtensions.WriteCritical(Microsoft.Owin.Logging.ILogger,System.String,System.Exception)">
-            <summary>
-            Writes a critical log message.
-            </summary>
-            <param name="logger"></param>
-            <param name="message"></param>
-            <param name="error"></param>
-        </member>
-        <member name="T:Microsoft.Owin.Logging.LoggerFactory">
-            <summary>
-            Provides a default ILoggerFactory.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Logging.LoggerFactory.Default">
-            <summary>
-            Provides a default ILoggerFactory based on System.Diagnostics.TraceSorce.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Mapping.MapMiddleware">
-            <summary>
-            Used to create path based branches in your application pipeline.
-            The owin.RequestPathBase is not included in the evaluation, only owin.RequestPath.
-            Matching paths have the matching piece removed from owin.RequestPath and added to the owin.RequestPathBase.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Mapping.MapMiddleware.#ctor(System.Func{System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.Tasks.Task},Microsoft.Owin.Mapping.MapOptions)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Mapping.MapMiddleware"/> class
-            </summary>
-            <param name="next">The normal pipeline taken for a negative match</param>
-            <param name="options"></param>
-        </member>
-        <member name="M:Microsoft.Owin.Mapping.MapMiddleware.Invoke(System.Collections.Generic.IDictionary{System.String,System.Object})">
-            <summary>
-            Process an individual request.
-            </summary>
-            <param name="environment"></param>
-            <returns></returns>
-        </member>
-        <member name="T:Microsoft.Owin.Mapping.MapOptions">
-            <summary>
-            Options for the Map middleware
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Mapping.MapOptions.PathMatch">
-            <summary>
-            The path to match
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Mapping.MapOptions.Branch">
-            <summary>
-            The branch taken for a positive match
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Mapping.MapWhenMiddleware">
-            <summary>
-            Determines if the request should take a specific branch of the pipeline by passing the environment
-            to a user defined callback.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Mapping.MapWhenMiddleware.#ctor(System.Func{System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.Tasks.Task},Microsoft.Owin.Mapping.MapWhenOptions)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Mapping.MapWhenMiddleware"/> class
-            </summary>
-            <param name="next">The normal application pipeline</param>
-            <param name="options"></param>
-        </member>
-        <member name="M:Microsoft.Owin.Mapping.MapWhenMiddleware.Invoke(System.Collections.Generic.IDictionary{System.String,System.Object})">
-            <summary>
-            Process an individual request.
-            </summary>
-            <param name="environment"></param>
-            <returns></returns>
-        </member>
-        <member name="T:Microsoft.Owin.Mapping.MapWhenOptions">
-            <summary>
-            Options for the MapWhen middleware
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Mapping.MapWhenOptions.Predicate">
-            <summary>
-            The user callback that determines if the branch should be taken
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Mapping.MapWhenOptions.PredicateAsync">
-            <summary>
-            The async user callback that determines if the branch should be taken
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Mapping.MapWhenOptions.Branch">
-            <summary>
-            The branch taken for a positive match
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.OwinContext">
-            <summary>
-            This wraps OWIN environment dictionary and provides strongly typed accessors.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.OwinContext.#ctor">
-            <summary>
-            Create a new context with only request and response header collections.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.OwinContext.#ctor(System.Collections.Generic.IDictionary{System.String,System.Object})">
-            <summary>
-            Create a new wrapper.
-            </summary>
-            <param name="environment">OWIN environment dictionary which stores state information about the request, response and relevant server state.</param>
-        </member>
-        <member name="P:Microsoft.Owin.OwinContext.Request">
-            <summary>
-            Gets a wrapper exposing request specific properties.
-            </summary>
-            <returns>A wrapper exposing request specific properties.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinContext.Response">
-            <summary>
-            Gets a wrapper exposing response specific properties.
-            </summary>
-            <returns>A wrapper exposing response specific properties.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinContext.Authentication">
-            <summary>
-            Gets the Authentication middleware functionality available on the current request.
-            </summary>
-            <returns>The authentication middleware functionality available on the current request.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinContext.Environment">
-            <summary>
-            Gets the OWIN environment.
-            </summary>
-            <returns>The OWIN environment.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinContext.TraceOutput">
-            <summary>
-            Gets or sets the host.TraceOutput environment value.
-            </summary>
-            <returns>The host.TraceOutput TextWriter.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.OwinContext.Get``1(System.String)">
-            <summary>
-            Gets a value from the OWIN environment, or returns default(T) if not present.
-            </summary>
-            <typeparam name="T">The type of the value.</typeparam>
-            <param name="key">The key of the value to get.</param>
-            <returns>The value with the specified key or the default(T) if not present.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.OwinContext.Set``1(System.String,``0)">
-            <summary>
-            Sets the given key and value in the OWIN environment.
-            </summary>
-            <typeparam name="T">The type of the value.</typeparam>
-            <param name="key">The key of the value to set.</param>
-            <param name="value">The value to set.</param>
-            <returns>This instance.</returns>
-        </member>
-        <member name="T:Microsoft.Owin.OwinMiddleware">
-            <summary>
-            An abstract base class for a standard middleware pattern.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.OwinMiddleware.#ctor(Microsoft.Owin.OwinMiddleware)">
-            <summary>
-            Instantiates the middleware with an optional pointer to the next component.
-            </summary>
-            <param name="next"></param>
-        </member>
-        <member name="P:Microsoft.Owin.OwinMiddleware.Next">
-            <summary>
-            The optional next component.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.OwinMiddleware.Invoke(Microsoft.Owin.IOwinContext)">
-            <summary>
-            Process an individual request.
-            </summary>
-            <param name="context"></param>
-            <returns></returns>
-        </member>
-        <member name="T:Microsoft.Owin.OwinRequest">
-            <summary>
-            This wraps OWIN environment dictionary and provides strongly typed accessors.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.OwinRequest.#ctor">
-            <summary>
-            Create a new context with only request and response header collections.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.OwinRequest.#ctor(System.Collections.Generic.IDictionary{System.String,System.Object})">
-            <summary>
-            Create a new environment wrapper exposing request properties.
-            </summary>
-            <param name="environment">OWIN environment dictionary which stores state information about the request, response and relevant server state.</param>
-        </member>
-        <member name="P:Microsoft.Owin.OwinRequest.Environment">
-            <summary>
-            Gets the OWIN environment.
-            </summary>
-            <returns>The OWIN environment.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinRequest.Context">
-            <summary>
-            Gets the request context.
-            </summary>
-            <returns>The request context.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinRequest.Method">
-            <summary>
-            Gets or set the HTTP method.
-            </summary>
-            <returns>The HTTP method.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinRequest.Scheme">
-            <summary>
-            Gets or set the HTTP request scheme from owin.RequestScheme.
-            </summary>
-            <returns>The HTTP request scheme from owin.RequestScheme.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinRequest.IsSecure">
-            <summary>
-            Returns true if the owin.RequestScheme is https.
-            </summary>
-            <returns>true if this request is using https; otherwise, false.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinRequest.Host">
-            <summary>
-            Gets or set the Host header. May include the port.
-            </summary>
-            <return>The Host header.</return>
-        </member>
-        <member name="P:Microsoft.Owin.OwinRequest.PathBase">
-            <summary>
-            Gets or set the owin.RequestPathBase.
-            </summary>
-            <returns>The owin.RequestPathBase.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinRequest.Path">
-            <summary>
-            Gets or set the request path from owin.RequestPath.
-            </summary>
-            <returns>The request path from owin.RequestPath.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinRequest.QueryString">
-            <summary>
-            Gets or set the query string from owin.RequestQueryString.
-            </summary>
-            <returns>The query string from owin.RequestQueryString.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinRequest.Query">
-            <summary>
-            Gets the query value collection parsed from owin.RequestQueryString.
-            </summary>
-            <returns>The query value collection parsed from owin.RequestQueryString.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinRequest.Uri">
-            <summary>
-            Gets the uniform resource identifier (URI) associated with the request.
-            </summary>
-            <returns>The uniform resource identifier (URI) associated with the request.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinRequest.Protocol">
-            <summary>
-            Gets or set the owin.RequestProtocol.
-            </summary>
-            <returns>The owin.RequestProtocol.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinRequest.Headers">
-            <summary>
-            Gets the request headers.
-            </summary>
-            <returns>The request headers.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinRequest.Cookies">
-            <summary>
-            Gets the collection of Cookies for this request.
-            </summary>
-            <returns>The collection of Cookies for this request.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinRequest.ContentType">
-            <summary>
-            Gets or sets the Content-Type header.
-            </summary>
-            <returns>The Content-Type header.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinRequest.CacheControl">
-            <summary>
-            Gets or sets the Cache-Control header.
-            </summary>
-            <returns>The Cache-Control header.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinRequest.MediaType">
-            <summary>
-            Gets or sets the Media-Type header.
-            </summary>
-            <returns>The Media-Type header.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinRequest.Accept">
-            <summary>
-            Gets or set the Accept header.
-            </summary>
-            <returns>The Accept header.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinRequest.Body">
-            <summary>
-            Gets or set the owin.RequestBody Stream.
-            </summary>
-            <returns>The owin.RequestBody Stream.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinRequest.CallCancelled">
-            <summary>
-            Gets or sets the cancellation token for the request.
-            </summary>
-            <returns>The cancellation token for the request.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinRequest.LocalIpAddress">
-            <summary>
-            Gets or set the server.LocalIpAddress.
-            </summary>
-            <returns>The server.LocalIpAddress.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinRequest.LocalPort">
-            <summary>
-            Gets or set the server.LocalPort.
-            </summary>
-            <returns>The server.LocalPort.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinRequest.RemoteIpAddress">
-            <summary>
-            Gets or set the server.RemoteIpAddress.
-            </summary>
-            <returns>The server.RemoteIpAddress.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinRequest.RemotePort">
-            <summary>
-            Gets or set the server.RemotePort.
-            </summary>
-            <returns>The server.RemotePort.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinRequest.User">
-            <summary>
-            Gets or set the server.User.
-            </summary>
-            <returns>The server.User.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.OwinRequest.ReadFormAsync">
-            <summary>
-            Asynchronously reads and parses the request body as a form.
-            </summary>
-            <returns>The parsed form data.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.OwinRequest.Get``1(System.String)">
-            <summary>
-            Gets a value from the OWIN environment, or returns default(T) if not present.
-            </summary>
-            <typeparam name="T">The type of the value.</typeparam>
-            <param name="key">The key of the value to get.</param>
-            <returns>The value with the specified key or the default(T) if not present.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.OwinRequest.Set``1(System.String,``0)">
-            <summary>
-            Sets the given key and value in the OWIN environment.
-            </summary>
-            <typeparam name="T">The type of the value.</typeparam>
-            <param name="key">The key of the value to set.</param>
-            <param name="value">The value to set.</param>
-            <returns>This instance.</returns>
-        </member>
-        <member name="T:Microsoft.Owin.OwinResponse">
-            <summary>
-            This wraps OWIN environment dictionary and provides strongly typed accessors.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.OwinResponse.#ctor">
-            <summary>
-            Create a new context with only request and response header collections.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.OwinResponse.#ctor(System.Collections.Generic.IDictionary{System.String,System.Object})">
-            <summary>
-            Creates a new environment wrapper exposing response properties.
-            </summary>
-            <param name="environment">OWIN environment dictionary which stores state information about the request, response and relevant server state.</param>
-        </member>
-        <member name="P:Microsoft.Owin.OwinResponse.Environment">
-            <summary>
-            Gets the OWIN environment.
-            </summary>
-            <returns>The OWIN environment.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinResponse.Context">
-            <summary>
-            Gets the request context.
-            </summary>
-            <returns>The request context.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinResponse.StatusCode">
-            <summary>
-            Gets or sets the optional owin.ResponseStatusCode.
-            </summary>
-            <returns>The optional owin.ResponseStatusCode, or 200 if not set.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinResponse.ReasonPhrase">
-            <summary>
-            Gets or sets the the optional owin.ResponseReasonPhrase.
-            </summary>
-            <returns>The the optional owin.ResponseReasonPhrase.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinResponse.Protocol">
-            <summary>
-            Gets or sets the owin.ResponseProtocol.
-            </summary>
-            <returns>The owin.ResponseProtocol.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinResponse.Headers">
-            <summary>
-            Gets the response header collection.
-            </summary>
-            <returns>The response header collection.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinResponse.Cookies">
-            <summary>
-            Gets a collection used to manipulate the Set-Cookie header.
-            </summary>
-            <returns>A collection used to manipulate the Set-Cookie header.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinResponse.ContentLength">
-            <summary>
-            Gets or sets the Content-Length header.
-            </summary>
-            <returns>The Content-Length header.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinResponse.ContentType">
-            <summary>
-            Gets or sets the Content-Type header.
-            </summary>
-            <returns>The Content-Type header.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinResponse.Expires">
-            <summary>
-            Gets or sets the Expires header.
-            </summary>
-            <returns>The Expires header.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinResponse.ETag">
-            <summary>
-            Gets or sets the E-Tag header.
-            </summary>
-            <returns>The E-Tag header.</returns>
-        </member>
-        <member name="P:Microsoft.Owin.OwinResponse.Body">
-            <summary>
-            Gets or sets the owin.ResponseBody Stream.
-            </summary>
-            <returns>The owin.ResponseBody Stream.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.OwinResponse.OnSendingHeaders(System.Action{System.Object},System.Object)">
-            <summary>
-            Registers for an event that fires when the response headers are sent.
-            </summary>
-            <param name="callback">The callback method.</param>
-            <param name="state">The callback state.</param>
-        </member>
-        <member name="M:Microsoft.Owin.OwinResponse.Redirect(System.String)">
-            <summary>
-            Sets a 302 response status code and the Location header.
-            </summary>
-            <param name="location">The location where to redirect the client.</param>
-        </member>
-        <member name="M:Microsoft.Owin.OwinResponse.Write(System.String)">
-            <summary>
-            Writes the given text to the response body stream using UTF-8.
-            </summary>
-            <param name="text">The response data.</param>
-        </member>
-        <member name="M:Microsoft.Owin.OwinResponse.Write(System.Byte[])">
-            <summary>
-            Writes the given bytes to the response body stream.
-            </summary>
-            <param name="data">The response data.</param>
-        </member>
-        <member name="M:Microsoft.Owin.OwinResponse.Write(System.Byte[],System.Int32,System.Int32)">
-            <summary>
-            Writes the given bytes to the response body stream.
-            </summary>
-            <param name="data">The response data.</param>
-            <param name="offset">The zero-based byte offset in the <paramref name="data" /> parameter at which to begin copying bytes.</param>
-            <param name="count">The number of bytes to write.</param>
-        </member>
-        <member name="M:Microsoft.Owin.OwinResponse.WriteAsync(System.String)">
-            <summary>
-            Asynchronously writes the given text to the response body stream using UTF-8.
-            </summary>
-            <param name="text">The response data.</param>
-            <returns>A Task tracking the state of the write operation.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.OwinResponse.WriteAsync(System.String,System.Threading.CancellationToken)">
-            <summary>
-            Asynchronously writes the given text to the response body stream using UTF-8.
-            </summary>
-            <param name="text">The response data.</param>
-            <param name="token">A token used to indicate cancellation.</param>
-            <returns>A Task tracking the state of the write operation.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.OwinResponse.WriteAsync(System.Byte[])">
-            <summary>
-            Asynchronously writes the given bytes to the response body stream.
-            </summary>
-            <param name="data">The response data.</param>
-            <returns>A Task tracking the state of the write operation.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.OwinResponse.WriteAsync(System.Byte[],System.Threading.CancellationToken)">
-            <summary>
-            Asynchronously writes the given bytes to the response body stream.
-            </summary>
-            <param name="data">The response data.</param>
-            <param name="token">A token used to indicate cancellation.</param>
-            <returns>A Task tracking the state of the write operation.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.OwinResponse.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
-            <summary>
-            Asynchronously writes the given bytes to the response body stream.
-            </summary>
-            <param name="data">The response data.</param>
-            <param name="offset">The zero-based byte offset in the <paramref name="data" /> parameter at which to begin copying bytes.</param>
-            <param name="count">The number of bytes to write.</param>
-            <param name="token">A token used to indicate cancellation.</param>
-            <returns>A Task tracking the state of the write operation.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.OwinResponse.Get``1(System.String)">
-            <summary>
-            Gets a value from the OWIN environment, or returns default(T) if not present.
-            </summary>
-            <typeparam name="T">The type of the value.</typeparam>
-            <param name="key">The key of the value to get.</param>
-            <returns>The value with the specified key or the default(T) if not present.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.OwinResponse.Set``1(System.String,``0)">
-            <summary>
-            Sets the given key and value in the OWIN environment.
-            </summary>
-            <typeparam name="T">The type of the value.</typeparam>
-            <param name="key">The key of the value to set.</param>
-            <param name="value">The value to set.</param>
-            <returns>This instance.</returns>
-        </member>
-        <member name="T:Microsoft.Owin.PathString">
-            <summary>
-            Provides correct escaping for Path and PathBase values when needed to reconstruct a request or redirect URI string
-            </summary>
-        </member>
-        <member name="F:Microsoft.Owin.PathString.Empty">
-            <summary>
-            Represents the empty path. This field is read-only.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.PathString.#ctor(System.String)">
-            <summary>
-            Initialize the path string with a given value. This value must be in un-escaped format. Use
-            PathString.FromUriComponent(value) if you have a path value which is in an escaped format.
-            </summary>
-            <param name="value">The unescaped path to be assigned to the Value property.</param>
-        </member>
-        <member name="P:Microsoft.Owin.PathString.Value">
-            <summary>
-            The unescaped path value
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.PathString.HasValue">
-            <summary>
-            True if the path is not empty
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.PathString.ToString">
-            <summary>
-            Provides the path string escaped in a way which is correct for combining into the URI representation. 
-            </summary>
-            <returns>The escaped path value</returns>
-        </member>
-        <member name="M:Microsoft.Owin.PathString.ToUriComponent">
-            <summary>
-            Provides the path string escaped in a way which is correct for combining into the URI representation.
-            </summary>
-            <returns>The escaped path value</returns>
-        </member>
-        <member name="M:Microsoft.Owin.PathString.FromUriComponent(System.String)">
-            <summary>
-            Returns an PathString given the path as it is escaped in the URI format. The string MUST NOT contain any
-            value that is not a path.
-            </summary>
-            <param name="uriComponent">The escaped path as it appears in the URI format.</param>
-            <returns>The resulting PathString</returns>
-        </member>
-        <member name="M:Microsoft.Owin.PathString.FromUriComponent(System.Uri)">
-            <summary>
-            Returns an PathString given the path as from a Uri object. Relative Uri objects are not supported.
-            </summary>
-            <param name="uri">The Uri object</param>
-            <returns>The resulting PathString</returns>
-        </member>
-        <member name="M:Microsoft.Owin.PathString.StartsWithSegments(Microsoft.Owin.PathString)">
-            <summary>
-            Checks if this instance starts with or exactly matches the other instance. Only full segments are matched.
-            </summary>
-            <param name="other"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.PathString.StartsWithSegments(Microsoft.Owin.PathString,Microsoft.Owin.PathString@)">
-            <summary>
-            Checks if this instance starts with or exactly matches the other instance. Only full segments are matched.
-            </summary>
-            <param name="other"></param>
-            <param name="remaining">Any remaining segments from this instance not included in the other instance.</param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.PathString.Add(Microsoft.Owin.PathString)">
-            <summary>
-            Adds two PathString instances into a combined PathString value. 
-            </summary>
-            <returns>The combined PathString value</returns>
-        </member>
-        <member name="M:Microsoft.Owin.PathString.Add(Microsoft.Owin.QueryString)">
-            <summary>
-            Combines a PathString and QueryString into the joined URI formatted string value. 
-            </summary>
-            <returns>The joined URI formatted string value</returns>
-        </member>
-        <member name="M:Microsoft.Owin.PathString.Equals(Microsoft.Owin.PathString)">
-            <summary>
-            Compares this PathString value to another value. The default comparison is StringComparison.OrdinalIgnoreCase.
-            </summary>
-            <param name="other">The second PathString for comparison.</param>
-            <returns>True if both PathString values are equal</returns>
-        </member>
-        <member name="M:Microsoft.Owin.PathString.Equals(Microsoft.Owin.PathString,System.StringComparison)">
-            <summary>
-            Compares this PathString value to another value using a specific StringComparison type
-            </summary>
-            <param name="other">The second PathString for comparison</param>
-            <param name="comparisonType">The StringComparison type to use</param>
-            <returns>True if both PathString values are equal</returns>
-        </member>
-        <member name="M:Microsoft.Owin.PathString.Equals(System.Object)">
-            <summary>
-            Compares this PathString value to another value. The default comparison is StringComparison.OrdinalIgnoreCase.
-            </summary>
-            <param name="obj">The second PathString for comparison.</param>
-            <returns>True if both PathString values are equal</returns>
-        </member>
-        <member name="M:Microsoft.Owin.PathString.GetHashCode">
-            <summary>
-            Returns the hash code for the PathString value. The hash code is provided by the OrdinalIgnoreCase implementation.
-            </summary>
-            <returns>The hash code</returns>
-        </member>
-        <member name="M:Microsoft.Owin.PathString.op_Equality(Microsoft.Owin.PathString,Microsoft.Owin.PathString)">
-            <summary>
-            Operator call through to Equals
-            </summary>
-            <param name="left">The left parameter</param>
-            <param name="right">The right parameter</param>
-            <returns>True if both PathString values are equal</returns>
-        </member>
-        <member name="M:Microsoft.Owin.PathString.op_Inequality(Microsoft.Owin.PathString,Microsoft.Owin.PathString)">
-            <summary>
-            Operator call through to Equals
-            </summary>
-            <param name="left">The left parameter</param>
-            <param name="right">The right parameter</param>
-            <returns>True if both PathString values are not equal</returns>
-        </member>
-        <member name="M:Microsoft.Owin.PathString.op_Addition(Microsoft.Owin.PathString,Microsoft.Owin.PathString)">
-            <summary>
-            Operator call through to Add
-            </summary>
-            <param name="left">The left parameter</param>
-            <param name="right">The right parameter</param>
-            <returns>The PathString combination of both values</returns>
-        </member>
-        <member name="M:Microsoft.Owin.PathString.op_Addition(Microsoft.Owin.PathString,Microsoft.Owin.QueryString)">
-            <summary>
-            Operator call through to Add
-            </summary>
-            <param name="left">The left parameter</param>
-            <param name="right">The right parameter</param>
-            <returns>The PathString combination of both values</returns>
-        </member>
-        <member name="T:Microsoft.Owin.QueryString">
-            <summary>
-            Provides correct handling for QueryString value when needed to reconstruct a request or redirect URI string
-            </summary>
-        </member>
-        <member name="F:Microsoft.Owin.QueryString.Empty">
-            <summary>
-            Represents the empty query string. This field is read-only.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.QueryString.#ctor(System.String)">
-            <summary>
-            Initialize the query string with a given value. This value must be in escaped and delimited format without
-            a leading '?' character. 
-            </summary>
-            <param name="value">The query string to be assigned to the Value property.</param>
-        </member>
-        <member name="M:Microsoft.Owin.QueryString.#ctor(System.String,System.String)">
-            <summary>
-            Initialize a query string with a single given parameter name and value. The value is 
-            </summary>
-            <param name="name">The unencoded parameter name</param>
-            <param name="value">The unencoded parameter value</param>
-        </member>
-        <member name="P:Microsoft.Owin.QueryString.Value">
-            <summary>
-            The escaped query string without the leading '?' character
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.QueryString.HasValue">
-            <summary>
-            True if the query string is not empty
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.QueryString.ToString">
-            <summary>
-            Provides the query string escaped in a way which is correct for combining into the URI representation. 
-            A leading '?' character will be prepended unless the Value is null or empty. Characters which are potentially
-            dangerous are escaped.
-            </summary>
-            <returns>The query string value</returns>
-        </member>
-        <member name="M:Microsoft.Owin.QueryString.ToUriComponent">
-            <summary>
-            Provides the query string escaped in a way which is correct for combining into the URI representation. 
-            A leading '?' character will be prepended unless the Value is null or empty. Characters which are potentially
-            dangerous are escaped.
-            </summary>
-            <returns>The query string value</returns>
-        </member>
-        <member name="M:Microsoft.Owin.QueryString.FromUriComponent(System.String)">
-            <summary>
-            Returns an QueryString given the query as it is escaped in the URI format. The string MUST NOT contain any
-            value that is not a query.
-            </summary>
-            <param name="uriComponent">The escaped query as it appears in the URI format.</param>
-            <returns>The resulting QueryString</returns>
-        </member>
-        <member name="M:Microsoft.Owin.QueryString.FromUriComponent(System.Uri)">
-            <summary>
-            Returns an QueryString given the query as from a Uri object. Relative Uri objects are not supported.
-            </summary>
-            <param name="uri">The Uri object</param>
-            <returns>The resulting QueryString</returns>
-        </member>
-        <member name="M:Microsoft.Owin.QueryString.Equals(Microsoft.Owin.QueryString)">
-            <summary>
-            Indicates whether the current instance is equal to the other instance.
-            </summary>
-            <param name="other"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.QueryString.Equals(System.Object)">
-            <summary>
-            Indicates whether the current instance is equal to the other instance.
-            </summary>
-            <param name="obj"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.QueryString.GetHashCode">
-            <summary>
-            Returns the hash code for this instance.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.QueryString.op_Equality(Microsoft.Owin.QueryString,Microsoft.Owin.QueryString)">
-            <summary>
-            Compares the two instances for equality.
-            </summary>
-            <param name="left"></param>
-            <param name="right"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.QueryString.op_Inequality(Microsoft.Owin.QueryString,Microsoft.Owin.QueryString)">
-            <summary>
-            Compares the two instances for inequality.
-            </summary>
-            <param name="left"></param>
-            <param name="right"></param>
-            <returns></returns>
-        </member>
-        <member name="T:Microsoft.Owin.ReadableStringCollection">
-            <summary>
-            Accessors for query, forms, etc.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.ReadableStringCollection.#ctor(System.Collections.Generic.IDictionary{System.String,System.String[]})">
-            <summary>
-            Create a new wrapper
-            </summary>
-            <param name="store"></param>
-        </member>
-        <member name="P:Microsoft.Owin.ReadableStringCollection.Item(System.String)">
-            <summary>
-            Get the associated value from the collection.  Multiple values will be merged.
-            Returns null if the key is not present.
-            </summary>
-            <param name="key"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.ReadableStringCollection.Get(System.String)">
-            <summary>
-            Get the associated value from the collection.  Multiple values will be merged.
-            Returns null if the key is not present.
-            </summary>
-            <param name="key"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.ReadableStringCollection.GetValues(System.String)">
-            <summary>
-            Get the associated values from the collection in their original format.
-            Returns null if the key is not present.
-            </summary>
-            <param name="key"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.ReadableStringCollection.GetEnumerator">
-            <summary>
-            
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.ReadableStringCollection.System#Collections#IEnumerable#GetEnumerator">
-            <summary>
-            
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="T:Microsoft.Owin.RequestCookieCollection">
-            <summary>
-            A wrapper for the request Cookie header
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.RequestCookieCollection.#ctor(System.Collections.Generic.IDictionary{System.String,System.String})">
-            <summary>
-            Create a new wrapper
-            </summary>
-            <param name="store"></param>
-        </member>
-        <member name="P:Microsoft.Owin.RequestCookieCollection.Item(System.String)">
-            <summary>
-            Returns null rather than throwing KeyNotFoundException
-            </summary>
-            <param name="key"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.RequestCookieCollection.GetEnumerator">
-            <summary>
-            
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.RequestCookieCollection.System#Collections#IEnumerable#GetEnumerator">
-            <summary>
-            
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="T:Microsoft.Owin.Resources">
-            <summary>
-              A strongly-typed resource class, for looking up localized strings, etc.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Resources.ResourceManager">
-            <summary>
-              Returns the cached ResourceManager instance used by this class.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Resources.Culture">
-            <summary>
-              Overrides the current thread's CurrentUICulture property for all
-              resource lookups using this strongly typed resource class.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Resources.Exception_ConversionTakesOneParameter">
-            <summary>
-              Looks up a localized string similar to Conversion delegate must take one parameter..
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Resources.Exception_CookieLimitTooSmall">
-            <summary>
-              Looks up a localized string similar to The cookie key and options are larger than ChunksSize, leaving no room for data..
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Resources.Exception_ImcompleteChunkedCookie">
-            <summary>
-              Looks up a localized string similar to The chunked cookie is incomplete. Only {0} of the expected {1} chunks were found, totaling {2} characters. A client size limit may have been exceeded..
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Resources.Exception_MiddlewareNotSupported">
-            <summary>
-              Looks up a localized string similar to The type &apos;{0}&apos; does not match any known middleware pattern..
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Resources.Exception_MissingOnSendingHeaders">
-            <summary>
-              Looks up a localized string similar to The OWIN key &apos;server.OnSendingHeaders&apos; is not available for this request..
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Resources.Exception_NoConstructorFound">
-            <summary>
-              Looks up a localized string similar to The class &apos;{0}&apos; does not have a constructor taking {1} arguments..
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Resources.Exception_NoConversionExists">
-            <summary>
-              Looks up a localized string similar to No conversion available between {0} and {1}..
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Resources.Exception_PathMustNotEndWithSlash">
-            <summary>
-              Looks up a localized string similar to The path must not end with a &apos;/&apos;.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Resources.Exception_PathMustStartWithSlash">
-            <summary>
-              Looks up a localized string similar to The path must start with a &apos;/&apos; followed by one or more characters..
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Resources.Exception_PathRequired">
-            <summary>
-              Looks up a localized string similar to The path is required.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Resources.Exception_QueryStringMustStartWithDelimiter">
-            <summary>
-              Looks up a localized string similar to The query string must start with a &apos;?&apos; unless null or empty..
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.ResponseCookieCollection">
-            <summary>
-            A wrapper for the response Set-Cookie header
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.ResponseCookieCollection.#ctor(Microsoft.Owin.IHeaderDictionary)">
-            <summary>
-            Create a new wrapper
-            </summary>
-            <param name="headers"></param>
-        </member>
-        <member name="M:Microsoft.Owin.ResponseCookieCollection.Append(System.String,System.String)">
-            <summary>
-            Add a new cookie and value
-            </summary>
-            <param name="key"></param>
-            <param name="value"></param>
-        </member>
-        <member name="M:Microsoft.Owin.ResponseCookieCollection.Append(System.String,System.String,Microsoft.Owin.CookieOptions)">
-            <summary>
-            Add a new cookie
-            </summary>
-            <param name="key"></param>
-            <param name="value"></param>
-            <param name="options"></param>
-        </member>
-        <member name="M:Microsoft.Owin.ResponseCookieCollection.Delete(System.String)">
-            <summary>
-            Sets an expired cookie
-            </summary>
-            <param name="key"></param>
-        </member>
-        <member name="M:Microsoft.Owin.ResponseCookieCollection.Delete(System.String,Microsoft.Owin.CookieOptions)">
-            <summary>
-            Sets an expired cookie
-            </summary>
-            <param name="key"></param>
-            <param name="options"></param>
-        </member>
-        <member name="T:Microsoft.Owin.SameSiteMode">
-            <summary>
-            Indicates if the client should include a cookie on "same-site" or "cross-site" requests.
-            </summary>
-        </member>
-        <member name="F:Microsoft.Owin.SameSiteMode.None">
-            <summary>
-            Indicates the client should send the cookie with every requests coming from any origin.
-            </summary>
-        </member>
-        <member name="F:Microsoft.Owin.SameSiteMode.Lax">
-            <summary>
-            Indicates the client should send the cookie with "same-site" requests, and with "cross-site" top-level navigations.
-            </summary>
-        </member>
-        <member name="F:Microsoft.Owin.SameSiteMode.Strict">
-            <summary>
-            Indicates the client should only send the cookie with "same-site" requests.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.AuthenticateResult">
-            <summary>
-            Acts as the return value from calls to the IAuthenticationManager's AuthenticeAsync methods.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.AuthenticateResult.#ctor(System.Security.Principal.IIdentity,Microsoft.Owin.Security.AuthenticationProperties,Microsoft.Owin.Security.AuthenticationDescription)">
-            <summary>
-            Create an instance of the result object
-            </summary>
-            <param name="identity">Assigned to Identity. May be null.</param>
-            <param name="properties">Assigned to Properties. Contains extra information carried along with the identity.</param>
-            <param name="description">Assigned to Description. Contains information describing the authentication provider.</param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticateResult.Identity">
-            <summary>
-            Contains the claims that were authenticated by the given AuthenticationType. If the authentication
-            type was not successful the Identity property will be null.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticateResult.Properties">
-            <summary>
-            Contains extra values that were provided with the original SignIn call.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticateResult.Description">
-            <summary>
-            Contains description properties for the middleware authentication type in general. Does not
-            vary per request.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.AuthenticationDescription">
-            <summary>
-            Contains information describing an authentication provider.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.AuthenticationDescription.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.AuthenticationDescription"/> class
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.AuthenticationDescription.#ctor(System.Collections.Generic.IDictionary{System.String,System.Object})">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.AuthenticationDescription"/> class
-            </summary>
-            <param name="properties"></param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticationDescription.Properties">
-            <summary>
-            Contains metadata about the authentication provider.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticationDescription.AuthenticationType">
-            <summary>
-            Gets or sets the name used to reference the authentication middleware instance.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticationDescription.Caption">
-            <summary>
-            Gets or sets the display name for the authentication provider.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticationManager.AuthenticationResponseChallenge">
-            <summary>
-            Exposes the security.Challenge environment value as a strong type.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticationManager.AuthenticationResponseGrant">
-            <summary>
-            Exposes the security.SignIn environment value as a strong type.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticationManager.AuthenticationResponseRevoke">
-            <summary>
-            Exposes the security.SignOut environment value as a strong type.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.AuthenticationManager.Authenticate(System.String[],System.Action{System.Security.Principal.IIdentity,System.Collections.Generic.IDictionary{System.String,System.String},System.Collections.Generic.IDictionary{System.String,System.Object},System.Object},System.Object)">
-            <summary>
-            
-            </summary>
-            <param name="authenticationTypes"></param>
-            <param name="callback"></param>
-            <param name="state"></param>
-            <returns></returns>
-        </member>
-        <member name="T:Microsoft.Owin.Security.AuthenticationProperties">
-            <summary>
-            Dictionary used to store state values about the authentication session.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.AuthenticationProperties.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.AuthenticationProperties"/> class
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.AuthenticationProperties.#ctor(System.Collections.Generic.IDictionary{System.String,System.String})">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.AuthenticationProperties"/> class
-            </summary>
-            <param name="dictionary"></param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticationProperties.Dictionary">
-            <summary>
-            State values about the authentication session.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticationProperties.IsPersistent">
-            <summary>
-            Gets or sets whether the authentication session is persisted across multiple requests.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticationProperties.RedirectUri">
-            <summary>
-            Gets or sets the full path or absolute URI to be used as an http redirect response value. 
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticationProperties.IssuedUtc">
-            <summary>
-            Gets or sets the time at which the authentication ticket was issued.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticationProperties.ExpiresUtc">
-            <summary>
-            Gets or sets the time at which the authentication ticket expires.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticationProperties.AllowRefresh">
-            <summary>
-            Gets or sets if refreshing the authentication session should be allowed.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.AuthenticationResponseChallenge">
-            <summary>
-            Exposes the security.Challenge environment value as a strong type.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.AuthenticationResponseChallenge.#ctor(System.String[],Microsoft.Owin.Security.AuthenticationProperties)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.AuthenticationResponseChallenge"/> class
-            </summary>
-            <param name="authenticationTypes"></param>
-            <param name="properties"></param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticationResponseChallenge.AuthenticationTypes">
-            <summary>
-            List of the authentication types that should send a challenge in the response.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticationResponseChallenge.Properties">
-            <summary>
-            Dictionary used to store state values about the authentication session.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.AuthenticationResponseGrant">
-            <summary>
-            Exposes the security.SignIn environment value as a strong type.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.AuthenticationResponseGrant.#ctor(System.Security.Claims.ClaimsIdentity,Microsoft.Owin.Security.AuthenticationProperties)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.AuthenticationResponseGrant"/> class.
-            </summary>
-            <param name="identity"></param>
-            <param name="properties"></param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.AuthenticationResponseGrant.#ctor(System.Security.Claims.ClaimsPrincipal,Microsoft.Owin.Security.AuthenticationProperties)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.AuthenticationResponseGrant"/> class.
-            </summary>
-            <param name="principal"></param>
-            <param name="properties"></param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticationResponseGrant.Identity">
-            <summary>
-            The identity associated with the user sign in.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticationResponseGrant.Principal">
-            <summary>
-            The security principal associated with the user sign in.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticationResponseGrant.Properties">
-            <summary>
-            Dictionary used to store state values about the authentication session.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.AuthenticationResponseRevoke">
-            <summary>
-            Exposes the security.SignOut and security.SignOutProperties environment values as a strong type.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.AuthenticationResponseRevoke.#ctor(System.String[])">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.AuthenticationResponseRevoke"/> class
-            </summary>
-            <param name="authenticationTypes"></param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.AuthenticationResponseRevoke.#ctor(System.String[],Microsoft.Owin.Security.AuthenticationProperties)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.AuthenticationResponseRevoke"/> class
-            </summary>
-            <param name="authenticationTypes"></param>
-            <param name="properties"></param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticationResponseRevoke.AuthenticationTypes">
-            <summary>
-            List of the authentication types that should be revoked on sign out.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticationResponseRevoke.Properties">
-            <summary>
-            Dictionary used to store state values about the authentication session.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.IAuthenticationManager">
-            <summary>
-            Used to interact with authentication middleware that have been chained in the pipeline
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.IAuthenticationManager.User">
-            <summary>
-            Returns the current user for the request
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.IAuthenticationManager.AuthenticationResponseChallenge">
-            <summary>
-            Exposes the security.Challenge environment value as a strong type.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.IAuthenticationManager.AuthenticationResponseGrant">
-            <summary>
-            Exposes the security.SignIn environment value as a strong type.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.IAuthenticationManager.AuthenticationResponseRevoke">
-            <summary>
-            Exposes the security.SignOut environment value as a strong type.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.IAuthenticationManager.GetAuthenticationTypes">
-            <summary>
-            Lists all of the description data provided by authentication middleware that have been chained
-            </summary>
-            <returns>The authentication descriptions</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.IAuthenticationManager.GetAuthenticationTypes(System.Func{Microsoft.Owin.Security.AuthenticationDescription,System.Boolean})">
-            <summary>
-            Lists the description data of all of the authentication middleware which are true for a given predicate
-            </summary>
-            <param name="predicate">A function provided by the caller which returns true for descriptions that should be in the returned list</param>
-            <returns>The authentication descriptions</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.IAuthenticationManager.AuthenticateAsync(System.String)">
-            <summary>
-            Call back through the middleware to ask for a specific form of authentication to be performed
-            on the current request
-            </summary>
-            <param name="authenticationType">Identifies which middleware should respond to the request
-            for authentication. This value is compared to the middleware's Options.AuthenticationType property.</param>
-            <returns>Returns an object with the results of the authentication. The AuthenticationResult.Identity
-            may be null if authentication failed. Even if the Identity property is null, there may still be 
-            AuthenticationResult.properties and AuthenticationResult.Description information returned.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.IAuthenticationManager.AuthenticateAsync(System.String[])">
-            <summary>
-            Called to perform any number of authentication mechanisms on the current request.
-            </summary>
-            <param name="authenticationTypes">Identifies one or more middleware which should attempt to respond</param>
-            <returns>Returns the AuthenticationResult information from the middleware which responded. The 
-            order is determined by the order the middleware are in the pipeline. Latest added is first in the list.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.IAuthenticationManager.Challenge(Microsoft.Owin.Security.AuthenticationProperties,System.String[])">
-            <summary>
-            Add information into the response environment that will cause the authentication middleware to challenge
-            the caller to authenticate. This also changes the status code of the response to 401. The nature of that 
-            challenge varies greatly, and ranges from adding a response header or changing the 401 status code to 
-            a 302 redirect.
-            </summary>
-            <param name="properties">Additional arbitrary values which may be used by particular authentication types.</param>
-            <param name="authenticationTypes">Identify which middleware should perform their alterations on the
-            response. If the authenticationTypes is null or empty, that means the 
-            AuthenticationMode.Active middleware should perform their alterations on the response.</param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.IAuthenticationManager.Challenge(System.String[])">
-            <summary>
-            Add information into the response environment that will cause the authentication middleware to challenge
-            the caller to authenticate. This also changes the status code of the response to 401. The nature of that 
-            challenge varies greatly, and ranges from adding a response header or changing the 401 status code to 
-            a 302 redirect.
-            </summary>
-            <param name="authenticationTypes">Identify which middleware should perform their alterations on the
-            response. If the authenticationTypes is null or empty, that means the 
-            AuthenticationMode.Active middleware should perform their alterations on the response.</param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.IAuthenticationManager.SignIn(Microsoft.Owin.Security.AuthenticationProperties,System.Security.Claims.ClaimsIdentity[])">
-            <summary>
-            Add information to the response environment that will cause the appropriate authentication middleware
-            to grant a claims-based identity to the recipient of the response. The exact mechanism of this may vary.
-            Examples include setting a cookie, to adding a fragment on the redirect url, or producing an OAuth2
-            access code or token response.
-            </summary>
-            <param name="properties">Contains additional properties the middleware are expected to persist along with
-            the claims. These values will be returned as the AuthenticateResult.properties collection when AuthenticateAsync
-            is called on subsequent requests.</param>
-            <param name="identities">Determines which claims are granted to the signed in user. The 
-            ClaimsIdentity.AuthenticationType property is compared to the middleware's Options.AuthenticationType 
-            value to determine which claims are granted by which middleware. The recommended use is to have a single
-            ClaimsIdentity which has the AuthenticationType matching a specific middleware.</param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.IAuthenticationManager.SignIn(System.Security.Claims.ClaimsIdentity[])">
-            <summary>
-            Add information to the response environment that will cause the appropriate authentication middleware
-            to grant a claims-based identity to the recipient of the response. The exact mechanism of this may vary.
-            Examples include setting a cookie, to adding a fragment on the redirect url, or producing an OAuth2
-            access code or token response.
-            </summary>
-            <param name="identities">Determines which claims are granted to the signed in user. The 
-            ClaimsIdentity.AuthenticationType property is compared to the middleware's Options.AuthenticationType 
-            value to determine which claims are granted by which middleware. The recommended use is to have a single
-            ClaimsIdentity which has the AuthenticationType matching a specific middleware.</param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.IAuthenticationManager.SignOut(Microsoft.Owin.Security.AuthenticationProperties,System.String[])">
-            <summary>
-            Add information to the response environment that will cause the appropriate authentication middleware
-            to revoke any claims identity associated the the caller. The exact method varies.
-            </summary>
-            <param name="properties">Additional arbitrary values which may be used by particular authentication types.</param>
-            <param name="authenticationTypes">Identifies which middleware should perform the work to sign out.
-            Multiple authentication types may be provided to clear out more than one cookie at a time, or to clear
-            cookies and redirect to an external single-sign out url.</param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.IAuthenticationManager.SignOut(System.String[])">
-            <summary>
-            Add information to the response environment that will cause the appropriate authentication middleware
-            to revoke any claims identity associated the the caller. The exact method varies.
-            </summary>
-            <param name="authenticationTypes">Identifies which middleware should perform the work to sign out.
-            Multiple authentication types may be provided to clear out more than one cookie at a time, or to clear
-            cookies and redirect to an external single-sign out url.</param>
-        </member>
-        <member name="T:Owin.AppBuilderUseExtensions">
-            <summary>
-            Extension methods for <see cref="T:Owin.IAppBuilder"/>.
-            </summary>
-        </member>
-        <member name="M:Owin.AppBuilderUseExtensions.Use``1(Owin.IAppBuilder,System.Object[])">
-            <summary>
-            Inserts a middleware into the OWIN pipeline.
-            </summary>
-            <typeparam name="T">The middleware type</typeparam>
-            <param name="app"></param>
-            <param name="args">Any additional arguments for the middleware constructor</param>
-            <returns></returns>
-        </member>
-        <member name="M:Owin.AppBuilderUseExtensions.Run(Owin.IAppBuilder,System.Func{Microsoft.Owin.IOwinContext,System.Threading.Tasks.Task})">
-            <summary>
-            Inserts into the OWIN pipeline a middleware which does not have a next middleware reference.
-            </summary>
-            <param name="app"></param>
-            <param name="handler">An app that handles all requests</param>
-        </member>
-        <member name="M:Owin.AppBuilderUseExtensions.Use(Owin.IAppBuilder,System.Func{Microsoft.Owin.IOwinContext,System.Func{System.Threading.Tasks.Task},System.Threading.Tasks.Task})">
-            <summary>
-            Inserts a middleware into the OWIN pipeline.
-            </summary>
-            <param name="app"></param>
-            <param name="handler">An app that handles the request or calls the given next Func</param>
-            <returns></returns>
-        </member>
-        <member name="T:Owin.PipelineStage">
-            <summary>
-            An ordered list of known Asp.Net integrated pipeline stages. More details on the ASP.NET integrated pipeline can be found at http://msdn.microsoft.com/en-us/library/system.web.httpapplication.aspx
-            </summary>
-        </member>
-        <member name="F:Owin.PipelineStage.Authenticate">
-            <summary>
-            Corresponds to the AuthenticateRequest stage of the ASP.NET integrated pipeline.
-            </summary>
-        </member>
-        <member name="F:Owin.PipelineStage.PostAuthenticate">
-            <summary>
-            Corresponds to the PostAuthenticateRequest stage of the ASP.NET integrated pipeline.
-            </summary>
-        </member>
-        <member name="F:Owin.PipelineStage.Authorize">
-            <summary>
-            Corresponds to the AuthorizeRequest stage of the ASP.NET integrated pipeline.
-            </summary>
-        </member>
-        <member name="F:Owin.PipelineStage.PostAuthorize">
-            <summary>
-            Corresponds to the PostAuthorizeRequest stage of the ASP.NET integrated pipeline.
-            </summary>
-        </member>
-        <member name="F:Owin.PipelineStage.ResolveCache">
-            <summary>
-            Corresponds to the ResolveRequestCache stage of the ASP.NET integrated pipeline.
-            </summary>
-        </member>
-        <member name="F:Owin.PipelineStage.PostResolveCache">
-            <summary>
-            Corresponds to the PostResolveRequestCache stage of the ASP.NET integrated pipeline.
-            </summary>
-        </member>
-        <member name="F:Owin.PipelineStage.MapHandler">
-            <summary>
-            Corresponds to the MapRequestHandler stage of the ASP.NET integrated pipeline.
-            </summary>
-        </member>
-        <member name="F:Owin.PipelineStage.PostMapHandler">
-            <summary>
-            Corresponds to the PostMapRequestHandler stage of the ASP.NET integrated pipeline.
-            </summary>
-        </member>
-        <member name="F:Owin.PipelineStage.AcquireState">
-            <summary>
-            Corresponds to the AcquireRequestState stage of the ASP.NET integrated pipeline.
-            </summary>
-        </member>
-        <member name="F:Owin.PipelineStage.PostAcquireState">
-            <summary>
-            Corresponds to the PostAcquireRequestState stage of the ASP.NET integrated pipeline.
-            </summary>
-        </member>
-        <member name="F:Owin.PipelineStage.PreHandlerExecute">
-            <summary>
-            Corresponds to the PreRequestHandlerExecute stage of the ASP.NET integrated pipeline.
-            </summary>
-        </member>
-        <member name="T:Owin.MapExtensions">
-            <summary>
-            Extension methods for the MapMiddleware
-            </summary>
-        </member>
-        <member name="M:Owin.MapExtensions.Map(Owin.IAppBuilder,System.String,System.Action{Owin.IAppBuilder})">
-            <summary>
-            If the request path starts with the given pathMatch, execute the app configured via configuration parameter instead of
-            continuing to the next component in the pipeline.
-            </summary>
-            <param name="app"></param>
-            <param name="pathMatch">The path to match</param>
-            <param name="configuration">The branch to take for positive path matches</param>
-            <returns></returns>
-        </member>
-        <member name="M:Owin.MapExtensions.Map(Owin.IAppBuilder,Microsoft.Owin.PathString,System.Action{Owin.IAppBuilder})">
-            <summary>
-            If the request path starts with the given pathMatch, execute the app configured via configuration parameter instead of
-            continuing to the next component in the pipeline.
-            </summary>
-            <param name="app"></param>
-            <param name="pathMatch">The path to match</param>
-            <param name="configuration">The branch to take for positive path matches</param>
-            <returns></returns>
-        </member>
-        <member name="T:Owin.MapWhenExtensions">
-            <summary>
-            Extension methods for the MapWhenMiddleware
-            </summary>
-        </member>
-        <member name="M:Owin.MapWhenExtensions.MapWhen(Owin.IAppBuilder,System.Func{Microsoft.Owin.IOwinContext,System.Boolean},System.Action{Owin.IAppBuilder})">
-            <summary>
-            Branches the request pipeline based on the result of the given predicate.
-            </summary>
-            <param name="app"></param>
-            <param name="predicate">Invoked with the request environment to determine if the branch should be taken</param>
-            <param name="configuration">Configures a branch to take</param>
-            <returns></returns>
-        </member>
-        <member name="M:Owin.MapWhenExtensions.MapWhenAsync(Owin.IAppBuilder,System.Func{Microsoft.Owin.IOwinContext,System.Threading.Tasks.Task{System.Boolean}},System.Action{Owin.IAppBuilder})">
-            <summary>
-            Branches the request pipeline based on the async result of the given predicate.
-            </summary>
-            <param name="app"></param>
-            <param name="predicate">Invoked asynchronously with the request environment to determine if the branch should be taken</param>
-            <param name="configuration">Configures a branch to take</param>
-            <returns></returns>
-        </member>
-    </members>
-</doc>
Index: packages/Microsoft.Owin.Host.SystemWeb.4.2.2/lib/net45/Microsoft.Owin.Host.SystemWeb.xml
===================================================================
--- packages/Microsoft.Owin.Host.SystemWeb.4.2.2/lib/net45/Microsoft.Owin.Host.SystemWeb.xml	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
+++ packages/Microsoft.Owin.Host.SystemWeb.4.2.2/lib/net45/Microsoft.Owin.Host.SystemWeb.xml	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -0,0 +1,639 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.Owin.Host.SystemWeb</name>
+    </assembly>
+    <members>
+        <member name="T:SharedResourceNamespace.LoaderResources">
+            <summary>
+              A strongly-typed resource class, for looking up localized strings, etc.
+            </summary>
+        </member>
+        <member name="P:SharedResourceNamespace.LoaderResources.ResourceManager">
+            <summary>
+              Returns the cached ResourceManager instance used by this class.
+            </summary>
+        </member>
+        <member name="P:SharedResourceNamespace.LoaderResources.Culture">
+            <summary>
+              Overrides the current thread's CurrentUICulture property for all
+              resource lookups using this strongly typed resource class.
+            </summary>
+        </member>
+        <member name="P:SharedResourceNamespace.LoaderResources.AssemblyNotFound">
+            <summary>
+              Looks up a localized string similar to For the app startup parameter value &apos;{0}&apos;, the assembly &apos;{1}&apos; was not found..
+            </summary>
+        </member>
+        <member name="P:SharedResourceNamespace.LoaderResources.ClassNotFoundInAssembly">
+            <summary>
+              Looks up a localized string similar to For the app startup parameter value &apos;{0}&apos;, the class &apos;{1}&apos; was not found in assembly &apos;{2}&apos;..
+            </summary>
+        </member>
+        <member name="P:SharedResourceNamespace.LoaderResources.Exception_AttributeNameConflict">
+            <summary>
+              Looks up a localized string similar to The OwinStartup attribute discovered in assembly &apos;{0}&apos; referencing startup type &apos;{1}&apos; conflicts with the attribute in assembly &apos;{2}&apos; referencing startup type &apos;{3}&apos; because they have the same FriendlyName &apos;{4}&apos;. Remove or rename one of the attributes, or reference the desired type directly..
+            </summary>
+        </member>
+        <member name="P:SharedResourceNamespace.LoaderResources.Exception_StartupTypeConflict">
+            <summary>
+              Looks up a localized string similar to The discovered startup type &apos;{0}&apos; conflicts with the type &apos;{1}&apos;. Remove or rename one of the types, or reference the desired type directly..
+            </summary>
+        </member>
+        <member name="P:SharedResourceNamespace.LoaderResources.FriendlyNameMismatch">
+            <summary>
+              Looks up a localized string similar to The OwinStartupAttribute.FriendlyName value &apos;{0}&apos; does not match the given value &apos;{1}&apos; in Assembly &apos;{2}&apos;..
+            </summary>
+        </member>
+        <member name="P:SharedResourceNamespace.LoaderResources.MethodNotFoundInClass">
+            <summary>
+              Looks up a localized string similar to No &apos;{0}&apos; method was found in class &apos;{1}&apos;..
+            </summary>
+        </member>
+        <member name="P:SharedResourceNamespace.LoaderResources.NoAssemblyWithStartupClass">
+            <summary>
+              Looks up a localized string similar to No assembly found containing a Startup or [AssemblyName].Startup class..
+            </summary>
+        </member>
+        <member name="P:SharedResourceNamespace.LoaderResources.NoOwinStartupAttribute">
+            <summary>
+              Looks up a localized string similar to No assembly found containing an OwinStartupAttribute..
+            </summary>
+        </member>
+        <member name="P:SharedResourceNamespace.LoaderResources.StartupTypePropertyEmpty">
+            <summary>
+              Looks up a localized string similar to The OwinStartupAttribute.StartupType value is empty in Assembly &apos;{0}&apos;..
+            </summary>
+        </member>
+        <member name="P:SharedResourceNamespace.LoaderResources.StartupTypePropertyMissing">
+            <summary>
+              Looks up a localized string similar to The type &apos;{0}&apos; referenced from assembly &apos;{1}&apos; does not define a property &apos;StartupType&apos; of type &apos;Type&apos;..
+            </summary>
+        </member>
+        <member name="P:SharedResourceNamespace.LoaderResources.TypeOrMethodNotFound">
+            <summary>
+              Looks up a localized string similar to The given type or method &apos;{0}&apos; was not found. Try specifying the Assembly..
+            </summary>
+        </member>
+        <member name="P:SharedResourceNamespace.LoaderResources.UnexpectedMethodSignature">
+            <summary>
+              Looks up a localized string similar to The &apos;{0}&apos; method on class &apos;{1}&apos; does not have the expected signature &apos;void {0}(IAppBuilder)&apos;..
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Host.SystemWeb.DataProtection.MachineKeyDataProtectionProvider">
+            <summary>
+            Used to provide the data protection services that are derived from the MachineKey API. It is the best choice of
+            data protection when you application is hosted by ASP.NET and all servers in the farm are running with the same Machine Key values.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Host.SystemWeb.DataProtection.MachineKeyDataProtectionProvider.Create(System.String[])">
+            <summary>
+            Returns a new instance of IDataProtection for the provider.
+            </summary>
+            <param name="purposes">Additional entropy used to ensure protected data may only be unprotected for the correct purposes.</param>
+            <returns>An instance of a data protection service</returns>
+        </member>
+        <member name="T:Microsoft.Owin.Host.SystemWeb.OwinHttpHandler">
+            <summary>
+            Processes requests from System.Web as OWIN requests.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Host.SystemWeb.OwinHttpHandler.#ctor">
+            <summary>
+            Processes requests using the default OWIN application.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.OwinHttpHandler.IsReusable">
+            <summary>
+            Gets a value indicating whether another request can use the System.Web.IHttpHandler instance.
+            </summary>
+            <returns>
+            true.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Owin.Host.SystemWeb.OwinHttpHandler.BeginProcessRequest(System.Web.HttpContextBase,System.AsyncCallback,System.Object)">
+            <summary>
+            Initiates an asynchronous call to the HTTP handler.
+            </summary>
+            <param name="httpContext">
+            An System.Web.HttpContextBase object that provides references to intrinsic server
+            objects (for example, Request, Response, Session, and Server) used to service
+            HTTP requests.
+            </param>
+            <param name="callback">
+            The System.AsyncCallback to call when the asynchronous method call is complete.
+            If callback is null, the delegate is not called.
+            </param>
+            <param name="extraData">
+            Any extra data needed to process the request.
+            </param>
+            <returns>
+            An System.IAsyncResult that contains information about the status of the process.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Owin.Host.SystemWeb.OwinHttpHandler.EndProcessRequest(System.IAsyncResult)">
+            <summary>
+            Provides an asynchronous process End method when the process ends.
+            </summary>
+            <param name="result">
+            An System.IAsyncResult that contains information about the status of the process.
+            </param>
+        </member>
+        <member name="T:Microsoft.Owin.Host.SystemWeb.OwinRouteHandler">
+            <summary>
+            Processes a route through an OWIN pipeline.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Host.SystemWeb.OwinRouteHandler.#ctor(System.Action{Owin.IAppBuilder})">
+            <summary>
+            Initialize an OwinRouteHandler
+            </summary>
+            <param name="startup">The method to initialize the pipeline that processes requests for the route.</param>
+        </member>
+        <member name="M:Microsoft.Owin.Host.SystemWeb.OwinRouteHandler.GetHttpHandler(System.Web.Routing.RequestContext)">
+            <summary>
+            Provides the object that processes the request.
+            </summary>
+            <returns>
+            An object that processes the request.
+            </returns>
+            <param name="requestContext">An object that encapsulates information about the request.</param>
+        </member>
+        <member name="T:Microsoft.Owin.Host.SystemWeb.PreApplicationStart">
+            <summary>
+            Registers the OWIN request processing module at application startup.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Host.SystemWeb.PreApplicationStart.Initialize">
+            <summary>
+            Registers the OWIN request processing module.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Host.SystemWeb.Resources">
+            <summary>
+              A strongly-typed resource class, for looking up localized strings, etc.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.ResourceManager">
+            <summary>
+              Returns the cached ResourceManager instance used by this class.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Culture">
+            <summary>
+              Overrides the current thread's CurrentUICulture property for all
+              resource lookups using this strongly typed resource class.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Exception_AppLoderFailure">
+            <summary>
+              Looks up a localized string similar to The following errors occurred while attempting to load the app..
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Exception_CannotRegisterAfterHeadersSent">
+            <summary>
+              Looks up a localized string similar to Cannot register for &apos;OnSendingHeaders&apos; event after response headers have been sent..
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Exception_CookieLimitTooSmall">
+            <summary>
+              Looks up a localized string similar to The cookie key and options are larger than ChunksSize, leaving no room for data..
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Exception_DuplicateKey">
+            <summary>
+              Looks up a localized string similar to The key &apos;{0}&apos; is already present in the dictionary..
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Exception_HowToDisableAutoAppStartup">
+            <summary>
+              Looks up a localized string similar to To disable OWIN startup discovery, add the appSetting owin:AutomaticAppStartup with a value of &quot;false&quot; in your web.config..
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Exception_HowToSpecifyAppStartup">
+            <summary>
+              Looks up a localized string similar to To specify the OWIN startup Assembly, Class, or Method, add the appSetting owin:AppStartup with the fully qualified startup class or configuration method name in your web.config..
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Exception_ImcompleteChunkedCookie">
+            <summary>
+              Looks up a localized string similar to The chunked cookie is incomplete. Only {0} of the expected {1} chunks were found, totaling {2} characters. A client size limit may have been exceeded..
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Exception_UnsupportedPipelineStage">
+            <summary>
+              Looks up a localized string similar to The given stage &apos;{0}&apos; is not supported..
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.HttpContext_OwinEnvironmentNotFound">
+            <summary>
+              Looks up a localized string similar to No owin.Environment item was found in the context..
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Trace_ClientCertException">
+            <summary>
+              Looks up a localized string similar to An exception was thrown while trying to load the client certificate:.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Trace_EntryPointException">
+            <summary>
+              Looks up a localized string similar to The OWIN entry point threw an exception:.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Trace_OwinCallContextCallbackException">
+            <summary>
+              Looks up a localized string similar to The IAsyncResult callback for OwinCallHandler threw an exception:.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Trace_RegisterModuleException">
+            <summary>
+              Looks up a localized string similar to Failed to register the OWIN module:.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Trace_RequestDisconnectCallbackExceptions">
+            <summary>
+              Looks up a localized string similar to The application threw one or more exceptions when notified of a client disconnect:.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Trace_ShutdownDetectionSetupException">
+            <summary>
+              Looks up a localized string similar to Shutdown detection setup failed:.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Trace_ShutdownException">
+            <summary>
+              Looks up a localized string similar to One or more exceptions were thrown during app pool shutdown:.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Trace_TimerCallbackException">
+            <summary>
+              Looks up a localized string similar to An exception was thrown from a timer callback:.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Trace_WebSocketException">
+            <summary>
+              Looks up a localized string similar to An exception was thrown while processing the WebSocket:.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Trace_WebSocketsSupportDetected">
+            <summary>
+              Looks up a localized string similar to Support for WebSockets has been detected..
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Trace_WebSocketsSupportNotDetected">
+            <summary>
+              Looks up a localized string similar to No support for WebSockets has been detected..
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Host.SystemWeb.SystemWebChunkingCookieManager">
+            <summary>
+            This handles cookies that are limited by per cookie length. It breaks down long cookies for responses, and reassembles them
+            from requests. The cookies are stored in the System.Web object model rather than directly in the headers.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Host.SystemWeb.SystemWebChunkingCookieManager.#ctor">
+            <summary>
+            This handles cookies that are limited by per cookie length. It breaks down long cookies for responses, and reassembles them
+            from requests. The cookies are stored in the System.Web object model rather than directly in the headers.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.SystemWebChunkingCookieManager.Fallback">
+            <summary>
+            A fallback manager used if HttpContextBase can't be located.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.SystemWebChunkingCookieManager.ChunkSize">
+             <summary>
+             The maximum size of cookie to send back to the client. If a cookie exceeds this size it will be broken down into multiple
+             cookies. Set this value to null to disable this behavior. The default is 4090 characters, which is supported by all
+             common browsers.
+            
+             Note that browsers may also have limits on the total size of all cookies per domain, and on the number of cookies per domain.
+             </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.SystemWebChunkingCookieManager.ThrowForPartialCookies">
+            <summary>
+            Throw if not all chunks of a cookie are available on a request for re-assembly.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Host.SystemWeb.SystemWebChunkingCookieManager.GetRequestCookie(Microsoft.Owin.IOwinContext,System.String)">
+            <summary>
+            Get the reassembled cookie. Non chunked cookies are returned normally.
+            Cookies with missing chunks just have their "chunks:XX" header returned.
+            </summary>
+            <param name="context"></param>
+            <param name="key"></param>
+            <returns>The reassembled cookie, if any, or null.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Host.SystemWeb.SystemWebChunkingCookieManager.AppendResponseCookie(Microsoft.Owin.IOwinContext,System.String,System.String,Microsoft.Owin.CookieOptions)">
+            <summary>
+            Appends a new response cookie to the Set-Cookie header. If the cookie is larger than the given size limit
+            then it will be broken down into multiple cookies as follows:
+            Set-Cookie: CookieName=chunks:3; path=/
+            Set-Cookie: CookieNameC1=Segment1; path=/
+            Set-Cookie: CookieNameC2=Segment2; path=/
+            Set-Cookie: CookieNameC3=Segment3; path=/
+            </summary>
+            <param name="context"></param>
+            <param name="key"></param>
+            <param name="value"></param>
+            <param name="options"></param>
+        </member>
+        <member name="M:Microsoft.Owin.Host.SystemWeb.SystemWebChunkingCookieManager.DeleteCookie(Microsoft.Owin.IOwinContext,System.String,Microsoft.Owin.CookieOptions)">
+            <summary>
+            Deletes the cookie with the given key by setting an expired state. If a matching chunked cookie exists on
+            the request, delete each chunk.
+            </summary>
+            <param name="context"></param>
+            <param name="key"></param>
+            <param name="options"></param>
+        </member>
+        <member name="T:Microsoft.Owin.Host.SystemWeb.SystemWebCookieManager">
+            <summary>
+            An implementation of ICookieManager that uses the System.Web.HttpContextBase object model.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Host.SystemWeb.SystemWebCookieManager.#ctor">
+            <summary>
+            Creates a new instance of SystemWebCookieManager.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Host.SystemWeb.SystemWebCookieManager.Fallback">
+            <summary>
+            A fallback manager used if HttpContextBase can't be located.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Host.SystemWeb.SystemWebCookieManager.GetRequestCookie(Microsoft.Owin.IOwinContext,System.String)">
+            <summary>
+            Reads the requested cookie from System.Web.HttpContextBase.Request.Cookies.
+            </summary>
+            <param name="context"></param>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.Host.SystemWeb.SystemWebCookieManager.AppendResponseCookie(Microsoft.Owin.IOwinContext,System.String,System.String,Microsoft.Owin.CookieOptions)">
+            <summary>
+            Appends the requested cookie to System.Web.HttpContextBase.Response.Cookies.
+            </summary>
+            <param name="context"></param>
+            <param name="key"></param>
+            <param name="value"></param>
+            <param name="options"></param>
+        </member>
+        <member name="M:Microsoft.Owin.Host.SystemWeb.SystemWebCookieManager.DeleteCookie(Microsoft.Owin.IOwinContext,System.String,Microsoft.Owin.CookieOptions)">
+            <summary>
+            Deletes the requested cookie by appending an expired cookie to System.Web.HttpContextBase.Response.Cookies.
+            </summary>
+            <param name="context"></param>
+            <param name="key"></param>
+            <param name="options"></param>
+        </member>
+        <member name="T:System.Web.HttpContextBaseExtensions">
+            <summary>
+            Provides extension methods for <see cref="T:System.Web.HttpContextBase"/>.
+            </summary>
+        </member>
+        <member name="M:System.Web.HttpContextBaseExtensions.GetOwinContext(System.Web.HttpContextBase)">
+            <summary>
+            Gets the <see cref="T:Microsoft.Owin.IOwinContext"/> for the current request.
+            </summary>
+            <param name="context"></param>
+            <returns></returns>
+        </member>
+        <member name="M:System.Web.HttpContextBaseExtensions.GetOwinContext(System.Web.HttpRequestBase)">
+            <summary>
+            Gets the <see cref="T:Microsoft.Owin.IOwinContext"/> for the current request.
+            </summary>
+            <param name="request"></param>
+            <returns></returns>
+        </member>
+        <member name="T:System.Web.HttpContextExtensions">
+            <summary>
+            Provides extension methods for <see cref="T:System.Web.HttpContext"/>.
+            </summary>
+        </member>
+        <member name="M:System.Web.HttpContextExtensions.GetOwinContext(System.Web.HttpContext)">
+            <summary>
+            Gets the <see cref="T:Microsoft.Owin.IOwinContext"/> for the current request.
+            </summary>
+            <param name="context"></param>
+            <returns></returns>
+        </member>
+        <member name="M:System.Web.HttpContextExtensions.GetOwinContext(System.Web.HttpRequest)">
+            <summary>
+            Gets the <see cref="T:Microsoft.Owin.IOwinContext"/> for the current request.
+            </summary>
+            <param name="request"></param>
+            <returns></returns>
+        </member>
+        <member name="T:System.Web.Routing.RouteCollectionExtensions">
+            <summary>
+            Provides extension methods for registering OWIN applications as System.Web routes.
+            </summary>
+        </member>
+        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinPath(System.Web.Routing.RouteCollection,System.String)">
+            <summary>
+            Registers a route for the default OWIN application.
+            </summary>
+            <param name="routes">The route collection.</param>
+            <param name="pathBase">The route path to map to the default OWIN application.</param>
+            <returns>The created route.</returns>
+        </member>
+        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinPath``1(System.Web.Routing.RouteCollection,System.String,``0)">
+            <summary>
+            Registers a route for a specific OWIN application entry point.
+            </summary>
+            <typeparam name="TApp">The OWIN application entry point type.</typeparam>
+            <param name="routes">The route collection.</param>
+            <param name="pathBase">The route path to map to the given OWIN application.</param>
+            <param name="app">The OWIN application entry point.</param>
+            <returns>The created route.</returns>
+        </member>
+        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinPath(System.Web.Routing.RouteCollection,System.String,System.Action{Owin.IAppBuilder})">
+            <summary>
+            Invokes the System.Action startup delegate to build the OWIN application
+            and then registers a route for it on the given path.
+            </summary>
+            <param name="routes">The route collection.</param>
+            <param name="pathBase">The route path to map to the given OWIN application.</param>
+            <param name="startup">A System.Action delegate invoked to build the OWIN application.</param>
+            <returns>The created route.</returns>
+        </member>
+        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinPath(System.Web.Routing.RouteCollection,System.String,System.String)">
+            <summary>
+            Registers a route for the default OWIN application.
+            </summary>
+            <param name="routes">The route collection.</param>
+            <param name="name">The given name of the route.</param>
+            <param name="pathBase">The route path to map to the default OWIN application.</param>
+            <returns>The created route.</returns>
+        </member>
+        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinPath``1(System.Web.Routing.RouteCollection,System.String,System.String,``0)">
+            <summary>
+            Registers a route for a specific OWIN application entry point.
+            </summary>
+            <typeparam name="TApp">The OWIN application entry point type.</typeparam>
+            <param name="routes">The route collection.</param>
+            <param name="name">The given name of the route.</param>
+            <param name="pathBase">The route path to map to the given OWIN application.</param>
+            <param name="app">The OWIN application entry point.</param>
+            <returns>The created route.</returns>
+        </member>
+        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinPath(System.Web.Routing.RouteCollection,System.String,System.String,System.Action{Owin.IAppBuilder})">
+            <summary>
+            Invokes the System.Action startup delegate to build the OWIN application
+            and then registers a route for it on the given path.
+            </summary>
+            <param name="routes">The route collection.</param>
+            <param name="name">The given name of the route.</param>
+            <param name="pathBase">The route path to map to the given OWIN application.</param>
+            <param name="startup">A System.Action delegate invoked to build the OWIN application.</param>
+            <returns>The created route.</returns>
+        </member>
+        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinRoute(System.Web.Routing.RouteCollection,System.String,System.Action{Owin.IAppBuilder})">
+            <summary>
+            Provides a way to define routes for an OWIN pipeline.
+            </summary>
+            <param name="routes">The route collection.</param>
+            <param name="routeUrl">The URL pattern for the route.</param>
+            <param name="startup">The method to initialize the pipeline that processes requests for the route.</param>
+        </member>
+        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinRoute(System.Web.Routing.RouteCollection,System.String,System.Web.Routing.RouteValueDictionary,System.Action{Owin.IAppBuilder})">
+            <summary>
+            Provides a way to define routes for an OWIN pipeline.
+            </summary>
+            <param name="routes">The route collection.</param>
+            <param name="routeUrl">The URL pattern for the route.</param>
+            <param name="defaults">The values to use if the URL does not contain all the parameters.</param>
+            <param name="startup">The method to initialize the pipeline that processes requests for the route.</param>
+        </member>
+        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinRoute(System.Web.Routing.RouteCollection,System.String,System.Web.Routing.RouteValueDictionary,System.Web.Routing.RouteValueDictionary,System.Action{Owin.IAppBuilder})">
+            <summary>
+            Provides a way to define routes for an OWIN pipeline.
+            </summary>
+            <param name="routes">The route collection.</param>
+            <param name="routeUrl">The URL pattern for the route.</param>
+            <param name="defaults">The values to use if the URL does not contain all the parameters.</param>
+            <param name="constraints">A regular expression that specifies valid values for a URL parameter.</param>
+            <param name="startup">The method to initialize the pipeline that processes requests for the route.</param>
+        </member>
+        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinRoute(System.Web.Routing.RouteCollection,System.String,System.Web.Routing.RouteValueDictionary,System.Web.Routing.RouteValueDictionary,System.Web.Routing.RouteValueDictionary,System.Action{Owin.IAppBuilder})">
+            <summary>
+            Provides a way to define routes for an OWIN pipeline.
+            </summary>
+            <param name="routes">The route collection.</param>
+            <param name="routeUrl">The URL pattern for the route.</param>
+            <param name="defaults">The values to use if the URL does not contain all the parameters.</param>
+            <param name="constraints">A regular expression that specifies valid values for a URL parameter.</param>
+            <param name="dataTokens">Custom values that are passed to the route handler, but which are not used to determine whether the route matches a specific URL pattern. These values are passed to the route handler, where they can be used for processing the request.</param>
+            <param name="startup">The method to initialize the pipeline that processes requests for the route.</param>
+        </member>
+        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinRoute(System.Web.Routing.RouteCollection,System.String,System.String,System.Action{Owin.IAppBuilder})">
+            <summary>
+            Provides a way to define routes for an OWIN pipeline.
+            </summary>
+            <param name="routes">The route collection.</param>
+            <param name="routeName">The name of the route.</param>
+            <param name="routeUrl">The URL pattern for the route.</param>
+            <param name="startup">The method to initialize the pipeline that processes requests for the route.</param>
+        </member>
+        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinRoute(System.Web.Routing.RouteCollection,System.String,System.String,System.Web.Routing.RouteValueDictionary,System.Action{Owin.IAppBuilder})">
+            <summary>
+            Provides a way to define routes for an OWIN pipeline.
+            </summary>
+            <param name="routes">The route collection.</param>
+            <param name="routeName">The name of the route.</param>
+            <param name="routeUrl">The URL pattern for the route.</param>
+            <param name="defaults">The values to use if the URL does not contain all the parameters.</param>
+            <param name="startup">The method to initialize the pipeline that processes requests for the route.</param>
+        </member>
+        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinRoute(System.Web.Routing.RouteCollection,System.String,System.String,System.Web.Routing.RouteValueDictionary,System.Web.Routing.RouteValueDictionary,System.Action{Owin.IAppBuilder})">
+            <summary>
+            Provides a way to define routes for an OWIN pipeline.
+            </summary>
+            <param name="routes">The route collection.</param>
+            <param name="routeName">The name of the route.</param>
+            <param name="routeUrl">The URL pattern for the route.</param>
+            <param name="defaults">The values to use if the URL does not contain all the parameters.</param>
+            <param name="constraints">A regular expression that specifies valid values for a URL parameter.</param>
+            <param name="startup">The method to initialize the pipeline that processes requests for the route.</param>
+        </member>
+        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinRoute(System.Web.Routing.RouteCollection,System.String,System.String,System.Web.Routing.RouteValueDictionary,System.Web.Routing.RouteValueDictionary,System.Web.Routing.RouteValueDictionary,System.Action{Owin.IAppBuilder})">
+            <summary>
+            Provides a way to define routes for an OWIN pipeline.
+            </summary>
+            <param name="routes">The route collection.</param>
+            <param name="routeName">The name of the route.</param>
+            <param name="routeUrl">The URL pattern for the route.</param>
+            <param name="defaults">The values to use if the URL does not contain all the parameters.</param>
+            <param name="constraints">A regular expression that specifies valid values for a URL parameter.</param>
+            <param name="dataTokens">Custom values that are passed to the route handler, but which are not used to determine whether the route matches a specific URL pattern. These values are passed to the route handler, where they can be used for processing the request.</param>
+            <param name="startup">The method to initialize the pipeline that processes requests for the route.</param>
+        </member>
+        <member name="T:Owin.Loader.DefaultLoader">
+            <summary>
+            Locates the startup class based on the following convention:
+            AssemblyName.Startup, with a method named Configuration
+            </summary>
+        </member>
+        <member name="M:Owin.Loader.DefaultLoader.#ctor">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="M:Owin.Loader.DefaultLoader.#ctor(System.Func{System.String,System.Collections.Generic.IList{System.String},System.Action{Owin.IAppBuilder}})">
+            <summary>
+            Allows for a fallback loader to be specified.
+            </summary>
+            <param name="next"></param>
+        </member>
+        <member name="M:Owin.Loader.DefaultLoader.#ctor(System.Func{System.String,System.Collections.Generic.IList{System.String},System.Action{Owin.IAppBuilder}},System.Func{System.Type,System.Object})">
+            <summary>
+            Allows for a fallback loader and a Dependency Injection activator to be specified.
+            </summary>
+            <param name="next"></param>
+            <param name="activator"></param>
+        </member>
+        <member name="M:Owin.Loader.DefaultLoader.#ctor(System.Func{System.String,System.Collections.Generic.IList{System.String},System.Action{Owin.IAppBuilder}},System.Func{System.Type,System.Object},System.Collections.Generic.IEnumerable{System.Reflection.Assembly})">
+            <summary>
+            
+            </summary>
+            <param name="next"></param>
+            <param name="activator"></param>
+            <param name="referencedAssemblies"></param>
+        </member>
+        <member name="M:Owin.Loader.DefaultLoader.Load(System.String,System.Collections.Generic.IList{System.String})">
+            <summary>
+            Executes the loader, searching for the entry point by name.
+            </summary>
+            <param name="startupName">The name of the assembly and type entry point</param>
+            <param name="errorDetails"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Owin.Loader.DefaultLoader.DotByDot(System.String)">
+            <summary>
+            
+            </summary>
+            <param name="text"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Owin.Loader.NullLoader">
+            <summary>
+            A default fallback loader that does nothing.
+            </summary>
+        </member>
+        <member name="P:Owin.Loader.NullLoader.Instance">
+            <summary>
+            A singleton instance of the NullLoader type.
+            </summary>
+        </member>
+        <member name="M:Owin.Loader.NullLoader.Load(System.String,System.Collections.Generic.IList{System.String})">
+            <summary>
+            A placeholder method that always returns null.
+            </summary>
+            <param name="startup"></param>
+            <param name="errors"></param>
+            <returns>null.</returns>
+        </member>
+    </members>
+</doc>
Index: ckages/Microsoft.Owin.Host.SystemWeb.4.2.3/lib/net45/Microsoft.Owin.Host.SystemWeb.xml
===================================================================
--- packages/Microsoft.Owin.Host.SystemWeb.4.2.3/lib/net45/Microsoft.Owin.Host.SystemWeb.xml	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ 	(revision )
@@ -1,644 +1,0 @@
-<?xml version="1.0"?>
-<doc>
-    <assembly>
-        <name>Microsoft.Owin.Host.SystemWeb</name>
-    </assembly>
-    <members>
-        <member name="T:SharedResourceNamespace.LoaderResources">
-            <summary>
-              A strongly-typed resource class, for looking up localized strings, etc.
-            </summary>
-        </member>
-        <member name="P:SharedResourceNamespace.LoaderResources.ResourceManager">
-            <summary>
-              Returns the cached ResourceManager instance used by this class.
-            </summary>
-        </member>
-        <member name="P:SharedResourceNamespace.LoaderResources.Culture">
-            <summary>
-              Overrides the current thread's CurrentUICulture property for all
-              resource lookups using this strongly typed resource class.
-            </summary>
-        </member>
-        <member name="P:SharedResourceNamespace.LoaderResources.AssemblyNotFound">
-            <summary>
-              Looks up a localized string similar to For the app startup parameter value &apos;{0}&apos;, the assembly &apos;{1}&apos; was not found..
-            </summary>
-        </member>
-        <member name="P:SharedResourceNamespace.LoaderResources.ClassNotFoundInAssembly">
-            <summary>
-              Looks up a localized string similar to For the app startup parameter value &apos;{0}&apos;, the class &apos;{1}&apos; was not found in assembly &apos;{2}&apos;..
-            </summary>
-        </member>
-        <member name="P:SharedResourceNamespace.LoaderResources.Exception_AttributeNameConflict">
-            <summary>
-              Looks up a localized string similar to The OwinStartup attribute discovered in assembly &apos;{0}&apos; referencing startup type &apos;{1}&apos; conflicts with the attribute in assembly &apos;{2}&apos; referencing startup type &apos;{3}&apos; because they have the same FriendlyName &apos;{4}&apos;. Remove or rename one of the attributes, or reference the desired type directly..
-            </summary>
-        </member>
-        <member name="P:SharedResourceNamespace.LoaderResources.Exception_StartupTypeConflict">
-            <summary>
-              Looks up a localized string similar to The discovered startup type &apos;{0}&apos; conflicts with the type &apos;{1}&apos;. Remove or rename one of the types, or reference the desired type directly..
-            </summary>
-        </member>
-        <member name="P:SharedResourceNamespace.LoaderResources.FriendlyNameMismatch">
-            <summary>
-              Looks up a localized string similar to The OwinStartupAttribute.FriendlyName value &apos;{0}&apos; does not match the given value &apos;{1}&apos; in Assembly &apos;{2}&apos;..
-            </summary>
-        </member>
-        <member name="P:SharedResourceNamespace.LoaderResources.MethodNotFoundInClass">
-            <summary>
-              Looks up a localized string similar to No &apos;{0}&apos; method was found in class &apos;{1}&apos;..
-            </summary>
-        </member>
-        <member name="P:SharedResourceNamespace.LoaderResources.NoAssemblyWithStartupClass">
-            <summary>
-              Looks up a localized string similar to No assembly found containing a Startup or [AssemblyName].Startup class..
-            </summary>
-        </member>
-        <member name="P:SharedResourceNamespace.LoaderResources.NoOwinStartupAttribute">
-            <summary>
-              Looks up a localized string similar to No assembly found containing an OwinStartupAttribute..
-            </summary>
-        </member>
-        <member name="P:SharedResourceNamespace.LoaderResources.StartupTypePropertyEmpty">
-            <summary>
-              Looks up a localized string similar to The OwinStartupAttribute.StartupType value is empty in Assembly &apos;{0}&apos;..
-            </summary>
-        </member>
-        <member name="P:SharedResourceNamespace.LoaderResources.StartupTypePropertyMissing">
-            <summary>
-              Looks up a localized string similar to The type &apos;{0}&apos; referenced from assembly &apos;{1}&apos; does not define a property &apos;StartupType&apos; of type &apos;Type&apos;..
-            </summary>
-        </member>
-        <member name="P:SharedResourceNamespace.LoaderResources.TypeOrMethodNotFound">
-            <summary>
-              Looks up a localized string similar to The given type or method &apos;{0}&apos; was not found. Try specifying the Assembly..
-            </summary>
-        </member>
-        <member name="P:SharedResourceNamespace.LoaderResources.UnexpectedMethodSignature">
-            <summary>
-              Looks up a localized string similar to The &apos;{0}&apos; method on class &apos;{1}&apos; does not have the expected signature &apos;void {0}(IAppBuilder)&apos;..
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Host.SystemWeb.DataProtection.MachineKeyDataProtectionProvider">
-            <summary>
-            Used to provide the data protection services that are derived from the MachineKey API. It is the best choice of
-            data protection when you application is hosted by ASP.NET and all servers in the farm are running with the same Machine Key values.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Host.SystemWeb.DataProtection.MachineKeyDataProtectionProvider.Create(System.String[])">
-            <summary>
-            Returns a new instance of IDataProtection for the provider.
-            </summary>
-            <param name="purposes">Additional entropy used to ensure protected data may only be unprotected for the correct purposes.</param>
-            <returns>An instance of a data protection service</returns>
-        </member>
-        <member name="T:Microsoft.Owin.Host.SystemWeb.OwinHttpHandler">
-            <summary>
-            Processes requests from System.Web as OWIN requests.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Host.SystemWeb.OwinHttpHandler.#ctor">
-            <summary>
-            Processes requests using the default OWIN application.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.OwinHttpHandler.IsReusable">
-            <summary>
-            Gets a value indicating whether another request can use the System.Web.IHttpHandler instance.
-            </summary>
-            <returns>
-            true.
-            </returns>
-        </member>
-        <member name="M:Microsoft.Owin.Host.SystemWeb.OwinHttpHandler.BeginProcessRequest(System.Web.HttpContextBase,System.AsyncCallback,System.Object)">
-            <summary>
-            Initiates an asynchronous call to the HTTP handler.
-            </summary>
-            <param name="httpContext">
-            An System.Web.HttpContextBase object that provides references to intrinsic server
-            objects (for example, Request, Response, Session, and Server) used to service
-            HTTP requests.
-            </param>
-            <param name="callback">
-            The System.AsyncCallback to call when the asynchronous method call is complete.
-            If callback is null, the delegate is not called.
-            </param>
-            <param name="extraData">
-            Any extra data needed to process the request.
-            </param>
-            <returns>
-            An System.IAsyncResult that contains information about the status of the process.
-            </returns>
-        </member>
-        <member name="M:Microsoft.Owin.Host.SystemWeb.OwinHttpHandler.EndProcessRequest(System.IAsyncResult)">
-            <summary>
-            Provides an asynchronous process End method when the process ends.
-            </summary>
-            <param name="result">
-            An System.IAsyncResult that contains information about the status of the process.
-            </param>
-        </member>
-        <member name="T:Microsoft.Owin.Host.SystemWeb.OwinRouteHandler">
-            <summary>
-            Processes a route through an OWIN pipeline.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Host.SystemWeb.OwinRouteHandler.#ctor(System.Action{Owin.IAppBuilder})">
-            <summary>
-            Initialize an OwinRouteHandler
-            </summary>
-            <param name="startup">The method to initialize the pipeline that processes requests for the route.</param>
-        </member>
-        <member name="M:Microsoft.Owin.Host.SystemWeb.OwinRouteHandler.GetHttpHandler(System.Web.Routing.RequestContext)">
-            <summary>
-            Provides the object that processes the request.
-            </summary>
-            <returns>
-            An object that processes the request.
-            </returns>
-            <param name="requestContext">An object that encapsulates information about the request.</param>
-        </member>
-        <member name="T:Microsoft.Owin.Host.SystemWeb.PreApplicationStart">
-            <summary>
-            Registers the OWIN request processing module at application startup.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Host.SystemWeb.PreApplicationStart.Initialize">
-            <summary>
-            Registers the OWIN request processing module.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Host.SystemWeb.Resources">
-            <summary>
-              A strongly-typed resource class, for looking up localized strings, etc.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.ResourceManager">
-            <summary>
-              Returns the cached ResourceManager instance used by this class.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Culture">
-            <summary>
-              Overrides the current thread's CurrentUICulture property for all
-              resource lookups using this strongly typed resource class.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Exception_AppLoderFailure">
-            <summary>
-              Looks up a localized string similar to The following errors occurred while attempting to load the app..
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Exception_CannotRegisterAfterHeadersSent">
-            <summary>
-              Looks up a localized string similar to Cannot register for &apos;OnSendingHeaders&apos; event after response headers have been sent..
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Exception_CookieLimitTooSmall">
-            <summary>
-              Looks up a localized string similar to The cookie key and options are larger than ChunksSize, leaving no room for data..
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Exception_DuplicateKey">
-            <summary>
-              Looks up a localized string similar to The key &apos;{0}&apos; is already present in the dictionary..
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Exception_HowToDisableAutoAppStartup">
-            <summary>
-              Looks up a localized string similar to To disable OWIN startup discovery, add the appSetting owin:AutomaticAppStartup with a value of &quot;false&quot; in your web.config..
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Exception_HowToSpecifyAppStartup">
-            <summary>
-              Looks up a localized string similar to To specify the OWIN startup Assembly, Class, or Method, add the appSetting owin:AppStartup with the fully qualified startup class or configuration method name in your web.config..
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Exception_ImcompleteChunkedCookie">
-            <summary>
-              Looks up a localized string similar to The chunked cookie is incomplete. Only {0} of the expected {1} chunks were found, totaling {2} characters. A client size limit may have been exceeded..
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Exception_UnsupportedPipelineStage">
-            <summary>
-              Looks up a localized string similar to The given stage &apos;{0}&apos; is not supported..
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.HttpContext_OwinEnvironmentNotFound">
-            <summary>
-              Looks up a localized string similar to No owin.Environment item was found in the context..
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Trace_ClientCertException">
-            <summary>
-              Looks up a localized string similar to An exception was thrown while trying to load the client certificate:.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Trace_EntryPointException">
-            <summary>
-              Looks up a localized string similar to The OWIN entry point threw an exception:.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Trace_OwinCallContextCallbackException">
-            <summary>
-              Looks up a localized string similar to The IAsyncResult callback for OwinCallHandler threw an exception:.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Trace_RegisterModuleException">
-            <summary>
-              Looks up a localized string similar to Failed to register the OWIN module:.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Trace_RequestDisconnectCallbackExceptions">
-            <summary>
-              Looks up a localized string similar to The application threw one or more exceptions when notified of a client disconnect:.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Trace_ShutdownDetectionSetupException">
-            <summary>
-              Looks up a localized string similar to Shutdown detection setup failed:.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Trace_ShutdownException">
-            <summary>
-              Looks up a localized string similar to One or more exceptions were thrown during app pool shutdown:.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Trace_TimerCallbackException">
-            <summary>
-              Looks up a localized string similar to An exception was thrown from a timer callback:.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Trace_WebSocketException">
-            <summary>
-              Looks up a localized string similar to An exception was thrown while processing the WebSocket:.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Trace_WebSocketsSupportDetected">
-            <summary>
-              Looks up a localized string similar to Support for WebSockets has been detected..
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.Resources.Trace_WebSocketsSupportNotDetected">
-            <summary>
-              Looks up a localized string similar to No support for WebSockets has been detected..
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Host.SystemWeb.SystemWebChunkingCookieManager">
-            <summary>
-            This handles cookies that are limited by per cookie length. It breaks down long cookies for responses, and reassembles them
-            from requests. The cookies are stored in the System.Web object model rather than directly in the headers.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Host.SystemWeb.SystemWebChunkingCookieManager.#ctor">
-            <summary>
-            This handles cookies that are limited by per cookie length. It breaks down long cookies for responses, and reassembles them
-            from requests. The cookies are stored in the System.Web object model rather than directly in the headers.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.SystemWebChunkingCookieManager.Fallback">
-            <summary>
-            A fallback manager used if HttpContextBase can't be located.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.SystemWebChunkingCookieManager.ChunkSize">
-             <summary>
-             The maximum size of cookie to send back to the client. If a cookie exceeds this size it will be broken down into multiple
-             cookies. Set this value to null to disable this behavior. The default is 4090 characters, which is supported by all
-             common browsers.
-            
-             Note that browsers may also have limits on the total size of all cookies per domain, and on the number of cookies per domain.
-             </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.SystemWebChunkingCookieManager.ThrowForPartialCookies">
-            <summary>
-            Throw if not all chunks of a cookie are available on a request for re-assembly.
-            </summary>
-            <remarks>
-            By default, this property is set to <see langword="false"/>. In this case,
-            <see cref="M:Microsoft.Owin.Host.SystemWeb.SystemWebChunkingCookieManager.GetRequestCookie(Microsoft.Owin.IOwinContext,System.String)"/> returns "chunks:[number of chunks]"
-            instead of causing a <see cref="T:System.FormatException"/> if one of the chunks is missing.
-            </remarks>
-        </member>
-        <member name="M:Microsoft.Owin.Host.SystemWeb.SystemWebChunkingCookieManager.GetRequestCookie(Microsoft.Owin.IOwinContext,System.String)">
-            <summary>
-            Get the reassembled cookie. Non chunked cookies are returned normally.
-            Cookies with missing chunks just have their "chunks:XX" header returned.
-            </summary>
-            <param name="context"></param>
-            <param name="key"></param>
-            <returns>The reassembled cookie, if any, or null.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Host.SystemWeb.SystemWebChunkingCookieManager.AppendResponseCookie(Microsoft.Owin.IOwinContext,System.String,System.String,Microsoft.Owin.CookieOptions)">
-            <summary>
-            Appends a new response cookie to the Set-Cookie header. If the cookie is larger than the given size limit
-            then it will be broken down into multiple cookies as follows:
-            Set-Cookie: CookieName=chunks:3; path=/
-            Set-Cookie: CookieNameC1=Segment1; path=/
-            Set-Cookie: CookieNameC2=Segment2; path=/
-            Set-Cookie: CookieNameC3=Segment3; path=/
-            </summary>
-            <param name="context"></param>
-            <param name="key"></param>
-            <param name="value"></param>
-            <param name="options"></param>
-        </member>
-        <member name="M:Microsoft.Owin.Host.SystemWeb.SystemWebChunkingCookieManager.DeleteCookie(Microsoft.Owin.IOwinContext,System.String,Microsoft.Owin.CookieOptions)">
-            <summary>
-            Deletes the cookie with the given key by setting an expired state. If a matching chunked cookie exists on
-            the request, delete each chunk.
-            </summary>
-            <param name="context"></param>
-            <param name="key"></param>
-            <param name="options"></param>
-        </member>
-        <member name="T:Microsoft.Owin.Host.SystemWeb.SystemWebCookieManager">
-            <summary>
-            An implementation of ICookieManager that uses the System.Web.HttpContextBase object model.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Host.SystemWeb.SystemWebCookieManager.#ctor">
-            <summary>
-            Creates a new instance of SystemWebCookieManager.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Host.SystemWeb.SystemWebCookieManager.Fallback">
-            <summary>
-            A fallback manager used if HttpContextBase can't be located.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Host.SystemWeb.SystemWebCookieManager.GetRequestCookie(Microsoft.Owin.IOwinContext,System.String)">
-            <summary>
-            Reads the requested cookie from System.Web.HttpContextBase.Request.Cookies.
-            </summary>
-            <param name="context"></param>
-            <param name="key"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.Host.SystemWeb.SystemWebCookieManager.AppendResponseCookie(Microsoft.Owin.IOwinContext,System.String,System.String,Microsoft.Owin.CookieOptions)">
-            <summary>
-            Appends the requested cookie to System.Web.HttpContextBase.Response.Cookies.
-            </summary>
-            <param name="context"></param>
-            <param name="key"></param>
-            <param name="value"></param>
-            <param name="options"></param>
-        </member>
-        <member name="M:Microsoft.Owin.Host.SystemWeb.SystemWebCookieManager.DeleteCookie(Microsoft.Owin.IOwinContext,System.String,Microsoft.Owin.CookieOptions)">
-            <summary>
-            Deletes the requested cookie by appending an expired cookie to System.Web.HttpContextBase.Response.Cookies.
-            </summary>
-            <param name="context"></param>
-            <param name="key"></param>
-            <param name="options"></param>
-        </member>
-        <member name="T:System.Web.HttpContextBaseExtensions">
-            <summary>
-            Provides extension methods for <see cref="T:System.Web.HttpContextBase"/>.
-            </summary>
-        </member>
-        <member name="M:System.Web.HttpContextBaseExtensions.GetOwinContext(System.Web.HttpContextBase)">
-            <summary>
-            Gets the <see cref="T:Microsoft.Owin.IOwinContext"/> for the current request.
-            </summary>
-            <param name="context"></param>
-            <returns></returns>
-        </member>
-        <member name="M:System.Web.HttpContextBaseExtensions.GetOwinContext(System.Web.HttpRequestBase)">
-            <summary>
-            Gets the <see cref="T:Microsoft.Owin.IOwinContext"/> for the current request.
-            </summary>
-            <param name="request"></param>
-            <returns></returns>
-        </member>
-        <member name="T:System.Web.HttpContextExtensions">
-            <summary>
-            Provides extension methods for <see cref="T:System.Web.HttpContext"/>.
-            </summary>
-        </member>
-        <member name="M:System.Web.HttpContextExtensions.GetOwinContext(System.Web.HttpContext)">
-            <summary>
-            Gets the <see cref="T:Microsoft.Owin.IOwinContext"/> for the current request.
-            </summary>
-            <param name="context"></param>
-            <returns></returns>
-        </member>
-        <member name="M:System.Web.HttpContextExtensions.GetOwinContext(System.Web.HttpRequest)">
-            <summary>
-            Gets the <see cref="T:Microsoft.Owin.IOwinContext"/> for the current request.
-            </summary>
-            <param name="request"></param>
-            <returns></returns>
-        </member>
-        <member name="T:System.Web.Routing.RouteCollectionExtensions">
-            <summary>
-            Provides extension methods for registering OWIN applications as System.Web routes.
-            </summary>
-        </member>
-        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinPath(System.Web.Routing.RouteCollection,System.String)">
-            <summary>
-            Registers a route for the default OWIN application.
-            </summary>
-            <param name="routes">The route collection.</param>
-            <param name="pathBase">The route path to map to the default OWIN application.</param>
-            <returns>The created route.</returns>
-        </member>
-        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinPath``1(System.Web.Routing.RouteCollection,System.String,``0)">
-            <summary>
-            Registers a route for a specific OWIN application entry point.
-            </summary>
-            <typeparam name="TApp">The OWIN application entry point type.</typeparam>
-            <param name="routes">The route collection.</param>
-            <param name="pathBase">The route path to map to the given OWIN application.</param>
-            <param name="app">The OWIN application entry point.</param>
-            <returns>The created route.</returns>
-        </member>
-        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinPath(System.Web.Routing.RouteCollection,System.String,System.Action{Owin.IAppBuilder})">
-            <summary>
-            Invokes the System.Action startup delegate to build the OWIN application
-            and then registers a route for it on the given path.
-            </summary>
-            <param name="routes">The route collection.</param>
-            <param name="pathBase">The route path to map to the given OWIN application.</param>
-            <param name="startup">A System.Action delegate invoked to build the OWIN application.</param>
-            <returns>The created route.</returns>
-        </member>
-        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinPath(System.Web.Routing.RouteCollection,System.String,System.String)">
-            <summary>
-            Registers a route for the default OWIN application.
-            </summary>
-            <param name="routes">The route collection.</param>
-            <param name="name">The given name of the route.</param>
-            <param name="pathBase">The route path to map to the default OWIN application.</param>
-            <returns>The created route.</returns>
-        </member>
-        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinPath``1(System.Web.Routing.RouteCollection,System.String,System.String,``0)">
-            <summary>
-            Registers a route for a specific OWIN application entry point.
-            </summary>
-            <typeparam name="TApp">The OWIN application entry point type.</typeparam>
-            <param name="routes">The route collection.</param>
-            <param name="name">The given name of the route.</param>
-            <param name="pathBase">The route path to map to the given OWIN application.</param>
-            <param name="app">The OWIN application entry point.</param>
-            <returns>The created route.</returns>
-        </member>
-        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinPath(System.Web.Routing.RouteCollection,System.String,System.String,System.Action{Owin.IAppBuilder})">
-            <summary>
-            Invokes the System.Action startup delegate to build the OWIN application
-            and then registers a route for it on the given path.
-            </summary>
-            <param name="routes">The route collection.</param>
-            <param name="name">The given name of the route.</param>
-            <param name="pathBase">The route path to map to the given OWIN application.</param>
-            <param name="startup">A System.Action delegate invoked to build the OWIN application.</param>
-            <returns>The created route.</returns>
-        </member>
-        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinRoute(System.Web.Routing.RouteCollection,System.String,System.Action{Owin.IAppBuilder})">
-            <summary>
-            Provides a way to define routes for an OWIN pipeline.
-            </summary>
-            <param name="routes">The route collection.</param>
-            <param name="routeUrl">The URL pattern for the route.</param>
-            <param name="startup">The method to initialize the pipeline that processes requests for the route.</param>
-        </member>
-        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinRoute(System.Web.Routing.RouteCollection,System.String,System.Web.Routing.RouteValueDictionary,System.Action{Owin.IAppBuilder})">
-            <summary>
-            Provides a way to define routes for an OWIN pipeline.
-            </summary>
-            <param name="routes">The route collection.</param>
-            <param name="routeUrl">The URL pattern for the route.</param>
-            <param name="defaults">The values to use if the URL does not contain all the parameters.</param>
-            <param name="startup">The method to initialize the pipeline that processes requests for the route.</param>
-        </member>
-        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinRoute(System.Web.Routing.RouteCollection,System.String,System.Web.Routing.RouteValueDictionary,System.Web.Routing.RouteValueDictionary,System.Action{Owin.IAppBuilder})">
-            <summary>
-            Provides a way to define routes for an OWIN pipeline.
-            </summary>
-            <param name="routes">The route collection.</param>
-            <param name="routeUrl">The URL pattern for the route.</param>
-            <param name="defaults">The values to use if the URL does not contain all the parameters.</param>
-            <param name="constraints">A regular expression that specifies valid values for a URL parameter.</param>
-            <param name="startup">The method to initialize the pipeline that processes requests for the route.</param>
-        </member>
-        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinRoute(System.Web.Routing.RouteCollection,System.String,System.Web.Routing.RouteValueDictionary,System.Web.Routing.RouteValueDictionary,System.Web.Routing.RouteValueDictionary,System.Action{Owin.IAppBuilder})">
-            <summary>
-            Provides a way to define routes for an OWIN pipeline.
-            </summary>
-            <param name="routes">The route collection.</param>
-            <param name="routeUrl">The URL pattern for the route.</param>
-            <param name="defaults">The values to use if the URL does not contain all the parameters.</param>
-            <param name="constraints">A regular expression that specifies valid values for a URL parameter.</param>
-            <param name="dataTokens">Custom values that are passed to the route handler, but which are not used to determine whether the route matches a specific URL pattern. These values are passed to the route handler, where they can be used for processing the request.</param>
-            <param name="startup">The method to initialize the pipeline that processes requests for the route.</param>
-        </member>
-        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinRoute(System.Web.Routing.RouteCollection,System.String,System.String,System.Action{Owin.IAppBuilder})">
-            <summary>
-            Provides a way to define routes for an OWIN pipeline.
-            </summary>
-            <param name="routes">The route collection.</param>
-            <param name="routeName">The name of the route.</param>
-            <param name="routeUrl">The URL pattern for the route.</param>
-            <param name="startup">The method to initialize the pipeline that processes requests for the route.</param>
-        </member>
-        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinRoute(System.Web.Routing.RouteCollection,System.String,System.String,System.Web.Routing.RouteValueDictionary,System.Action{Owin.IAppBuilder})">
-            <summary>
-            Provides a way to define routes for an OWIN pipeline.
-            </summary>
-            <param name="routes">The route collection.</param>
-            <param name="routeName">The name of the route.</param>
-            <param name="routeUrl">The URL pattern for the route.</param>
-            <param name="defaults">The values to use if the URL does not contain all the parameters.</param>
-            <param name="startup">The method to initialize the pipeline that processes requests for the route.</param>
-        </member>
-        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinRoute(System.Web.Routing.RouteCollection,System.String,System.String,System.Web.Routing.RouteValueDictionary,System.Web.Routing.RouteValueDictionary,System.Action{Owin.IAppBuilder})">
-            <summary>
-            Provides a way to define routes for an OWIN pipeline.
-            </summary>
-            <param name="routes">The route collection.</param>
-            <param name="routeName">The name of the route.</param>
-            <param name="routeUrl">The URL pattern for the route.</param>
-            <param name="defaults">The values to use if the URL does not contain all the parameters.</param>
-            <param name="constraints">A regular expression that specifies valid values for a URL parameter.</param>
-            <param name="startup">The method to initialize the pipeline that processes requests for the route.</param>
-        </member>
-        <member name="M:System.Web.Routing.RouteCollectionExtensions.MapOwinRoute(System.Web.Routing.RouteCollection,System.String,System.String,System.Web.Routing.RouteValueDictionary,System.Web.Routing.RouteValueDictionary,System.Web.Routing.RouteValueDictionary,System.Action{Owin.IAppBuilder})">
-            <summary>
-            Provides a way to define routes for an OWIN pipeline.
-            </summary>
-            <param name="routes">The route collection.</param>
-            <param name="routeName">The name of the route.</param>
-            <param name="routeUrl">The URL pattern for the route.</param>
-            <param name="defaults">The values to use if the URL does not contain all the parameters.</param>
-            <param name="constraints">A regular expression that specifies valid values for a URL parameter.</param>
-            <param name="dataTokens">Custom values that are passed to the route handler, but which are not used to determine whether the route matches a specific URL pattern. These values are passed to the route handler, where they can be used for processing the request.</param>
-            <param name="startup">The method to initialize the pipeline that processes requests for the route.</param>
-        </member>
-        <member name="T:Owin.Loader.DefaultLoader">
-            <summary>
-            Locates the startup class based on the following convention:
-            AssemblyName.Startup, with a method named Configuration
-            </summary>
-        </member>
-        <member name="M:Owin.Loader.DefaultLoader.#ctor">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="M:Owin.Loader.DefaultLoader.#ctor(System.Func{System.String,System.Collections.Generic.IList{System.String},System.Action{Owin.IAppBuilder}})">
-            <summary>
-            Allows for a fallback loader to be specified.
-            </summary>
-            <param name="next"></param>
-        </member>
-        <member name="M:Owin.Loader.DefaultLoader.#ctor(System.Func{System.String,System.Collections.Generic.IList{System.String},System.Action{Owin.IAppBuilder}},System.Func{System.Type,System.Object})">
-            <summary>
-            Allows for a fallback loader and a Dependency Injection activator to be specified.
-            </summary>
-            <param name="next"></param>
-            <param name="activator"></param>
-        </member>
-        <member name="M:Owin.Loader.DefaultLoader.#ctor(System.Func{System.String,System.Collections.Generic.IList{System.String},System.Action{Owin.IAppBuilder}},System.Func{System.Type,System.Object},System.Collections.Generic.IEnumerable{System.Reflection.Assembly})">
-            <summary>
-            
-            </summary>
-            <param name="next"></param>
-            <param name="activator"></param>
-            <param name="referencedAssemblies"></param>
-        </member>
-        <member name="M:Owin.Loader.DefaultLoader.Load(System.String,System.Collections.Generic.IList{System.String})">
-            <summary>
-            Executes the loader, searching for the entry point by name.
-            </summary>
-            <param name="startupName">The name of the assembly and type entry point</param>
-            <param name="errorDetails"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Owin.Loader.DefaultLoader.DotByDot(System.String)">
-            <summary>
-            
-            </summary>
-            <param name="text"></param>
-            <returns></returns>
-        </member>
-        <member name="T:Owin.Loader.NullLoader">
-            <summary>
-            A default fallback loader that does nothing.
-            </summary>
-        </member>
-        <member name="P:Owin.Loader.NullLoader.Instance">
-            <summary>
-            A singleton instance of the NullLoader type.
-            </summary>
-        </member>
-        <member name="M:Owin.Loader.NullLoader.Load(System.String,System.Collections.Generic.IList{System.String})">
-            <summary>
-            A placeholder method that always returns null.
-            </summary>
-            <param name="startup"></param>
-            <param name="errors"></param>
-            <returns>null.</returns>
-        </member>
-    </members>
-</doc>
Index: packages/Microsoft.Owin.Security.4.2.2/lib/net45/Microsoft.Owin.Security.xml
===================================================================
--- packages/Microsoft.Owin.Security.4.2.2/lib/net45/Microsoft.Owin.Security.xml	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
+++ packages/Microsoft.Owin.Security.4.2.2/lib/net45/Microsoft.Owin.Security.xml	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -0,0 +1,494 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.Owin.Security</name>
+    </assembly>
+    <members>
+        <member name="T:Microsoft.Owin.Security.AppBuilderSecurityExtensions">
+            <summary>
+            Provides extensions methods for app.Property values that are only needed by implementations of authentication middleware.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.AppBuilderSecurityExtensions.GetDefaultSignInAsAuthenticationType(Owin.IAppBuilder)">
+            <summary>
+            Returns the previously set AuthenticationType that external sign in middleware should use when the
+            browser navigates back to their return url.
+            </summary>
+            <param name="app">App builder passed to the application startup code</param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.AppBuilderSecurityExtensions.SetDefaultSignInAsAuthenticationType(Owin.IAppBuilder,System.String)">
+            <summary>
+            Called by middleware to change the name of the AuthenticationType that external middleware should use
+            when the browser navigates back to their return url.
+            </summary>
+            <param name="app">App builder passed to the application startup code</param>
+            <param name="authenticationType">AuthenticationType that external middleware should sign in as.</param>
+        </member>
+        <member name="T:Microsoft.Owin.Security.AuthenticationMode">
+            <summary>
+            Controls the behavior of authentication middleware
+            </summary>
+        </member>
+        <member name="F:Microsoft.Owin.Security.AuthenticationMode.Active">
+            <summary>
+            In Active mode the authentication middleware will alter the user identity as the request arrives, and
+            will also alter a plain 401 as the response leaves.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Owin.Security.AuthenticationMode.Passive">
+            <summary>
+            In Passive mode the authentication middleware will only provide user identity when asked, and will only
+            alter 401 responses where the authentication type named in the extra challenge data.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.AuthenticationOptions">
+            <summary>
+            Base Options for all authentication middleware
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.AuthenticationOptions.#ctor(System.String)">
+            <summary>
+            Initialize properties of AuthenticationOptions base class
+            </summary>
+            <param name="authenticationType">Assigned to the AuthenticationType property</param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticationOptions.AuthenticationType">
+            <summary>
+            The AuthenticationType in the options corresponds to the IIdentity AuthenticationType property. A different
+            value may be assigned in order to use the same authentication middleware type more than once in a pipeline.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticationOptions.AuthenticationMode">
+            <summary>
+            If Active the authentication middleware alter the request user coming in and
+            alter 401 Unauthorized responses going out. If Passive the authentication middleware will only provide
+            identity and alter responses when explicitly indicated by the AuthenticationType.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticationOptions.Description">
+            <summary>
+            Additional information about the authentication type which is made available to the application.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.AuthenticationTicket">
+            <summary>
+            Contains user identity information as well as additional authentication state.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.AuthenticationTicket.#ctor(System.Security.Claims.ClaimsIdentity,Microsoft.Owin.Security.AuthenticationProperties)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.AuthenticationTicket"/> class
+            </summary>
+            <param name="identity"></param>
+            <param name="properties"></param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticationTicket.Identity">
+            <summary>
+            Gets the authenticated user identity.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.AuthenticationTicket.Properties">
+            <summary>
+            Additional state values for the authentication session.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.CertificateSubjectKeyIdentifierValidator">
+            <summary>
+            Provides pinned certificate validation based on the subject key identifier of the certificate.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.CertificateSubjectKeyIdentifierValidator.#ctor(System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.CertificateSubjectKeyIdentifierValidator"/> class.
+            </summary>
+            <param name="validSubjectKeyIdentifiers">A set of subject key identifiers which are valid for an HTTPS request.</param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.CertificateSubjectKeyIdentifierValidator.Validate(System.Object,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors)">
+            <summary>
+            Verifies the remote Secure Sockets Layer (SSL) certificate used for authentication.
+            </summary>
+            <param name="sender">An object that contains state information for this validation.</param>
+            <param name="certificate">The certificate used to authenticate the remote party.</param>
+            <param name="chain">The chain of certificate authorities associated with the remote certificate.</param>
+            <param name="sslPolicyErrors">One or more errors associated with the remote certificate.</param>
+            <returns>A Boolean value that determines whether the specified certificate is accepted for authentication.</returns>
+        </member>
+        <member name="T:Microsoft.Owin.Security.CertificateSubjectPublicKeyInfoValidator">
+            <summary>
+            Implements a cert pinning validator passed on 
+            http://datatracker.ietf.org/doc/draft-ietf-websec-key-pinning/?include_text=1
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.CertificateSubjectPublicKeyInfoValidator.#ctor(System.Collections.Generic.IEnumerable{System.String},Microsoft.Owin.Security.SubjectPublicKeyInfoAlgorithm)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.CertificateSubjectPublicKeyInfoValidator"/> class.
+            </summary>
+            <param name="validBase64EncodedSubjectPublicKeyInfoHashes">A collection of valid base64 encoded hashes of the certificate public key information blob.</param>
+            <param name="algorithm">The algorithm used to generate the hashes.</param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.CertificateSubjectPublicKeyInfoValidator.Validate(System.Object,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors)">
+            <summary>
+            Validates at least one SPKI hash is known.
+            </summary>
+            <param name="sender">An object that contains state information for this validation.</param>
+            <param name="certificate">The certificate used to authenticate the remote party.</param>
+            <param name="chain">The chain of certificate authorities associated with the remote certificate.</param>
+            <param name="sslPolicyErrors">One or more errors associated with the remote certificate.</param>
+            <returns>A Boolean value that determines whether the specified certificate is accepted for authentication.</returns>
+        </member>
+        <member name="T:Microsoft.Owin.Security.CertificateThumbprintValidator">
+            <summary>
+            Provides pinned certificate validation based on the certificate thumbprint.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.CertificateThumbprintValidator.#ctor(System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.CertificateThumbprintValidator"/> class.
+            </summary>
+            <param name="validThumbprints">A set of thumbprints which are valid for an HTTPS request.</param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.CertificateThumbprintValidator.Validate(System.Object,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors)">
+            <summary>
+            Validates that the certificate thumbprints in the signing chain match at least one allowed thumbprint.
+            </summary>
+            <param name="sender">An object that contains state information for this validation.</param>
+            <param name="certificate">The certificate used to authenticate the remote party.</param>
+            <param name="chain">The chain of certificate authorities associated with the remote certificate.</param>
+            <param name="sslPolicyErrors">One or more errors associated with the remote certificate.</param>
+            <returns>A Boolean value that determines whether the specified certificate is accepted for authentication.</returns>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Constants">
+            <summary>
+            String constants used only by the Security assembly
+            </summary>
+        </member>
+        <member name="F:Microsoft.Owin.Security.Constants.DefaultSignInAsAuthenticationType">
+            <summary>
+            Used by middleware extension methods to coordinate the default value Options property SignInAsAuthenticationType
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.DataProtection.DpapiDataProtectionProvider">
+            <summary>
+            Used to provide the data protection services that are derived from the Data Protection API. It is the best choice of
+            data protection when you application is not hosted by ASP.NET and all processes are running as the same domain identity. 
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.DataProtection.DpapiDataProtectionProvider.#ctor">
+            <summary>
+            Initializes a new DpapiDataProtectionProvider with a random application
+            name. This is only useful to protect data for the duration of the
+            current application execution.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.DataProtection.DpapiDataProtectionProvider.#ctor(System.String)">
+            <summary>
+            Initializes a new DpapiDataProtectionProvider which uses the given
+            appName as part of the protection algorithm
+            </summary>
+            <param name="appName">A user provided value needed to round-trip secured
+            data. The default value comes from the IAppBuilder.Properties["owin.AppName"] 
+            when self-hosted.</param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.DataProtection.DpapiDataProtectionProvider.Create(System.String[])">
+            <summary>
+            Returns a new instance of IDataProtection for the provider.
+            </summary>
+            <param name="purposes">Additional entropy used to ensure protected data may only be unprotected for the correct purposes.</param>
+            <returns>An instance of a data protection service</returns>
+        </member>
+        <member name="T:Microsoft.Owin.Security.DataProtection.IDataProtectionProvider">
+            <summary>
+            Factory used to create IDataProtection instances
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.DataProtection.IDataProtectionProvider.Create(System.String[])">
+            <summary>
+            Returns a new instance of IDataProtection for the provider.
+            </summary>
+            <param name="purposes">Additional entropy used to ensure protected data may only be unprotected for the correct purposes.</param>
+            <returns>An instance of a data protection service</returns>
+        </member>
+        <member name="T:Microsoft.Owin.Security.DataProtection.IDataProtector">
+            <summary>
+            Service used to protect and unprotect data
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.DataProtection.IDataProtector.Protect(System.Byte[])">
+            <summary>
+            Called to protect user data.
+            </summary>
+            <param name="userData">The original data that must be protected</param>
+            <returns>A different byte array that may be unprotected or altered only by software that has access to 
+            the an identical IDataProtection service.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.DataProtection.IDataProtector.Unprotect(System.Byte[])">
+            <summary>
+            Called to unprotect user data
+            </summary>
+            <param name="protectedData">The byte array returned by a call to Protect on an identical IDataProtection service.</param>
+            <returns>The byte array identical to the original userData passed to Protect.</returns>
+        </member>
+        <member name="T:Microsoft.Owin.Security.ICertificateValidator">
+            <summary>
+            Interface for providing pinned certificate validation, which checks HTTPS 
+            communication against a known good list of certificates to protect against 
+            compromised or rogue CAs issuing certificates for hosts without the 
+            knowledge of the host owner.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.ICertificateValidator.Validate(System.Object,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors)">
+            <summary>
+            Verifies the remote Secure Sockets Layer (SSL) certificate used for authentication.
+            </summary>
+            <param name="sender">An object that contains state information for this validation.</param>
+            <param name="certificate">The certificate used to authenticate the remote party.</param>
+            <param name="chain">The chain of certificate authorities associated with the remote certificate.</param>
+            <param name="sslPolicyErrors">One or more errors associated with the remote certificate.</param>
+            <returns>A Boolean value that determines whether the specified certificate is accepted for authentication.</returns>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler">
+            <summary>
+            Base class for the per-request work performed by most authentication middleware.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler.TeardownAsync">
+            <summary>
+            Called once per request after Initialize and Invoke. 
+            </summary>
+            <returns>async completion</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler.InvokeAsync">
+            <summary>
+            Called once by common code after initialization. If an authentication middleware responds directly to
+            specifically known paths it must override this virtual, compare the request path to it's known paths, 
+            provide any response information as appropriate, and true to stop further processing.
+            </summary>
+            <returns>Returning false will cause the common code to call the next middleware in line. Returning true will
+            cause the common code to begin the async completion journey without calling the rest of the middleware
+            pipeline.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler.AuthenticateAsync">
+            <summary>
+            Causes the authentication logic in AuthenticateCore to be performed for the current request 
+            at most once and returns the results. Calling Authenticate more than once will always return 
+            the original value. 
+            
+            This method should always be called instead of calling AuthenticateCore directly.
+            </summary>
+            <returns>The ticket data provided by the authentication logic</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler.AuthenticateCoreAsync">
+            <summary>
+            The core authentication logic which must be provided by the handler. Will be invoked at most
+            once per request. Do not call directly, call the wrapping Authenticate method instead.
+            </summary>
+            <returns>The ticket data provided by the authentication logic</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler.ApplyResponseAsync">
+            <summary>
+            Causes the ApplyResponseCore to be invoked at most once per request. This method will be
+            invoked either earlier, when the response headers are sent as a result of a response write or flush,
+            or later, as the last step when the original async call to the middleware is returning.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler.ApplyResponseCoreAsync">
+            <summary>
+            Core method that may be overridden by handler. The default behavior is to call two common response 
+            activities, one that deals with sign-in/sign-out concerns, and a second to deal with 401 challenges.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler.ApplyResponseGrantAsync">
+            <summary>
+            Override this method to deal with sign-in/sign-out concerns, if an authentication scheme in question
+            deals with grant/revoke as part of it's request flow. (like setting/deleting cookies)
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler.ApplyResponseChallengeAsync">
+            <summary>
+            Override this method to deal with 401 challenge concerns, if an authentication scheme in question
+            deals an authentication interaction as part of it's request flow. (like adding a response header, or
+            changing the 401 result to 302 of a login page or external sign-in location.)
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler`1">
+            <summary>
+            Base class for the per-request work performed by most authentication middleware.
+            </summary>
+            <typeparam name="TOptions">Specifies which type for of AuthenticationOptions property</typeparam>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler`1.Initialize(`0,Microsoft.Owin.IOwinContext)">
+            <summary>
+            Initialize is called once per request to contextualize this instance with appropriate state.
+            </summary>
+            <param name="options">The original options passed by the application control behavior</param>
+            <param name="context">The utility object to observe the current request and response</param>
+            <returns>async completion</returns>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Infrastructure.SecurityHelper">
+            <summary>
+            Helper code used when implementing authentication middleware
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Infrastructure.SecurityHelper.#ctor(Microsoft.Owin.IOwinContext)">
+            <summary>
+            Helper code used when implementing authentication middleware
+            </summary>
+            <param name="context"></param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Infrastructure.SecurityHelper.AddUserIdentity(System.Security.Principal.IIdentity)">
+            <summary>
+            Add an additional ClaimsIdentity to the ClaimsPrincipal in the "server.User" environment key
+            </summary>
+            <param name="identity"></param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Infrastructure.SecurityHelper.LookupChallenge(System.String,Microsoft.Owin.Security.AuthenticationMode)">
+            <summary>
+            Find response challenge details for a specific authentication middleware
+            </summary>
+            <param name="authenticationType">The authentication type to look for</param>
+            <param name="authenticationMode">The authentication mode the middleware is running under</param>
+            <returns>The information instructing the middleware how it should behave</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Infrastructure.SecurityHelper.LookupSignIn(System.String)">
+            <summary>
+            Find response sign-in details for a specific authentication middleware
+            </summary>
+            <param name="authenticationType">The authentication type to look for</param>
+            <returns>The information instructing the middleware how it should behave</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Infrastructure.SecurityHelper.LookupSignOut(System.String,Microsoft.Owin.Security.AuthenticationMode)">
+            <summary>
+            Find response sign-out details for a specific authentication middleware
+            </summary>
+            <param name="authenticationType">The authentication type to look for</param>
+            <param name="authenticationMode">The authentication mode the middleware is running under</param>
+            <returns>The information instructing the middleware how it should behave</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Notifications.BaseNotification`1.HandleResponse">
+            <summary>
+            Discontinue all processing for this request and return to the client.
+            The caller is responsible for generating the full response.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Notifications.BaseNotification`1.SkipToNextMiddleware">
+            <summary>
+            Discontinue processing the request in the current middleware and pass control to the next one.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Owin.Security.Notifications.NotificationResultState.Continue">
+            <summary>
+            Continue with normal processing.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Owin.Security.Notifications.NotificationResultState.Skipped">
+            <summary>
+            Discontinue processing the request in the current middleware and pass control to the next one.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Owin.Security.Notifications.NotificationResultState.HandledResponse">
+            <summary>
+            Discontinue all processing for this request.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Notifications.RedirectToIdentityProviderNotification`2.HandleResponse">
+            <summary>
+            Discontinue all processing for this request and return to the client.
+            The caller is responsible for generating the full response.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Notifications.SecurityTokenValidatedNotification`2.AuthenticationTicket">
+            <summary>
+            Gets or set the <see cref="P:Microsoft.Owin.Security.Notifications.SecurityTokenValidatedNotification`2.AuthenticationTicket"/>
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Notifications.SecurityTokenValidatedNotification`2.ProtocolMessage">
+            <summary>
+            Gets or sets the Protocol message
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Provider.BaseContext`1">
+            <summary>
+            Base class used for certain event contexts
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Provider.EndpointContext`1">
+            <summary>
+            Base class used for certain event contexts
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Provider.EndpointContext`1.#ctor(Microsoft.Owin.IOwinContext,`0)">
+            <summary>
+            Creates an instance of this context
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Provider.EndpointContext`1.IsRequestCompleted">
+            <summary>
+            True if the request should not be processed further by other components.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Provider.EndpointContext`1.RequestCompleted">
+            <summary>
+            Prevents the request from being processed further by other components. 
+            IsRequestCompleted becomes true after calling.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Resources">
+            <summary>
+              A strongly-typed resource class, for looking up localized strings, etc.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Resources.ResourceManager">
+            <summary>
+              Returns the cached ResourceManager instance used by this class.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Resources.Culture">
+            <summary>
+              Overrides the current thread's CurrentUICulture property for all
+              resource lookups using this strongly typed resource class.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Resources.Exception_AuthenticationTokenDoesNotProvideSyncMethods">
+            <summary>
+              Looks up a localized string similar to The AuthenticationTokenProvider&apos;s required synchronous events have not been registered..
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Resources.Exception_DefaultDpapiRequiresAppNameKey">
+            <summary>
+              Looks up a localized string similar to The default data protection provider may only be used when the IAppBuilder.Properties contains an appropriate &apos;host.AppName&apos; key..
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Resources.Exception_MissingDefaultSignInAsAuthenticationType">
+            <summary>
+              Looks up a localized string similar to A default value for SignInAsAuthenticationType was not found in IAppBuilder Properties. This can happen if your authentication middleware are added in the wrong order, or if one is missing..
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Resources.Exception_UnhookAuthenticationStateType">
+            <summary>
+              Looks up a localized string similar to The state passed to UnhookAuthentication may only be the return value from HookAuthentication..
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.SubjectPublicKeyInfoAlgorithm">
+            <summary>
+            The algorithm used to generate the subject public key information blob hashes.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Win32.NativeMethods.CryptEncodeObject(System.UInt32,System.IntPtr,Microsoft.Win32.NativeMethods.CERT_PUBLIC_KEY_INFO@,System.Byte[],System.UInt32@)">
+            <summary>
+            Encodes a structure of the type indicated by the value of the lpszStructType parameter.
+            </summary>
+            <param name="dwCertEncodingType">Type of encoding used.</param>
+            <param name="lpszStructType">The high-order word is zero, the low-order word specifies the integer identifier for the type of the specified structure so
+            we can use the constants in http://msdn.microsoft.com/en-us/library/windows/desktop/aa378145%28v=vs.85%29.aspx</param>
+            <param name="pvStructInfo">A pointer to the structure to be encoded.</param>
+            <param name="pbEncoded">A pointer to a buffer to receive the encoded structure. This parameter can be NULL to retrieve the size of this information for memory allocation purposes.</param>
+            <param name="pcbEncoded">A pointer to a DWORD variable that contains the size, in bytes, of the buffer pointed to by the pbEncoded parameter.</param>
+            <returns></returns>
+        </member>
+    </members>
+</doc>
Index: ckages/Microsoft.Owin.Security.4.2.3/lib/net45/Microsoft.Owin.Security.xml
===================================================================
--- packages/Microsoft.Owin.Security.4.2.3/lib/net45/Microsoft.Owin.Security.xml	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ 	(revision )
@@ -1,494 +1,0 @@
-<?xml version="1.0"?>
-<doc>
-    <assembly>
-        <name>Microsoft.Owin.Security</name>
-    </assembly>
-    <members>
-        <member name="T:Microsoft.Owin.Security.AppBuilderSecurityExtensions">
-            <summary>
-            Provides extensions methods for app.Property values that are only needed by implementations of authentication middleware.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.AppBuilderSecurityExtensions.GetDefaultSignInAsAuthenticationType(Owin.IAppBuilder)">
-            <summary>
-            Returns the previously set AuthenticationType that external sign in middleware should use when the
-            browser navigates back to their return url.
-            </summary>
-            <param name="app">App builder passed to the application startup code</param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.AppBuilderSecurityExtensions.SetDefaultSignInAsAuthenticationType(Owin.IAppBuilder,System.String)">
-            <summary>
-            Called by middleware to change the name of the AuthenticationType that external middleware should use
-            when the browser navigates back to their return url.
-            </summary>
-            <param name="app">App builder passed to the application startup code</param>
-            <param name="authenticationType">AuthenticationType that external middleware should sign in as.</param>
-        </member>
-        <member name="T:Microsoft.Owin.Security.AuthenticationMode">
-            <summary>
-            Controls the behavior of authentication middleware
-            </summary>
-        </member>
-        <member name="F:Microsoft.Owin.Security.AuthenticationMode.Active">
-            <summary>
-            In Active mode the authentication middleware will alter the user identity as the request arrives, and
-            will also alter a plain 401 as the response leaves.
-            </summary>
-        </member>
-        <member name="F:Microsoft.Owin.Security.AuthenticationMode.Passive">
-            <summary>
-            In Passive mode the authentication middleware will only provide user identity when asked, and will only
-            alter 401 responses where the authentication type named in the extra challenge data.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.AuthenticationOptions">
-            <summary>
-            Base Options for all authentication middleware
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.AuthenticationOptions.#ctor(System.String)">
-            <summary>
-            Initialize properties of AuthenticationOptions base class
-            </summary>
-            <param name="authenticationType">Assigned to the AuthenticationType property</param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticationOptions.AuthenticationType">
-            <summary>
-            The AuthenticationType in the options corresponds to the IIdentity AuthenticationType property. A different
-            value may be assigned in order to use the same authentication middleware type more than once in a pipeline.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticationOptions.AuthenticationMode">
-            <summary>
-            If Active the authentication middleware alter the request user coming in and
-            alter 401 Unauthorized responses going out. If Passive the authentication middleware will only provide
-            identity and alter responses when explicitly indicated by the AuthenticationType.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticationOptions.Description">
-            <summary>
-            Additional information about the authentication type which is made available to the application.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.AuthenticationTicket">
-            <summary>
-            Contains user identity information as well as additional authentication state.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.AuthenticationTicket.#ctor(System.Security.Claims.ClaimsIdentity,Microsoft.Owin.Security.AuthenticationProperties)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.AuthenticationTicket"/> class
-            </summary>
-            <param name="identity"></param>
-            <param name="properties"></param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticationTicket.Identity">
-            <summary>
-            Gets the authenticated user identity.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.AuthenticationTicket.Properties">
-            <summary>
-            Additional state values for the authentication session.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.CertificateSubjectKeyIdentifierValidator">
-            <summary>
-            Provides pinned certificate validation based on the subject key identifier of the certificate.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.CertificateSubjectKeyIdentifierValidator.#ctor(System.Collections.Generic.IEnumerable{System.String})">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.CertificateSubjectKeyIdentifierValidator"/> class.
-            </summary>
-            <param name="validSubjectKeyIdentifiers">A set of subject key identifiers which are valid for an HTTPS request.</param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.CertificateSubjectKeyIdentifierValidator.Validate(System.Object,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors)">
-            <summary>
-            Verifies the remote Secure Sockets Layer (SSL) certificate used for authentication.
-            </summary>
-            <param name="sender">An object that contains state information for this validation.</param>
-            <param name="certificate">The certificate used to authenticate the remote party.</param>
-            <param name="chain">The chain of certificate authorities associated with the remote certificate.</param>
-            <param name="sslPolicyErrors">One or more errors associated with the remote certificate.</param>
-            <returns>A Boolean value that determines whether the specified certificate is accepted for authentication.</returns>
-        </member>
-        <member name="T:Microsoft.Owin.Security.CertificateSubjectPublicKeyInfoValidator">
-            <summary>
-            Implements a cert pinning validator passed on 
-            http://datatracker.ietf.org/doc/draft-ietf-websec-key-pinning/?include_text=1
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.CertificateSubjectPublicKeyInfoValidator.#ctor(System.Collections.Generic.IEnumerable{System.String},Microsoft.Owin.Security.SubjectPublicKeyInfoAlgorithm)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.CertificateSubjectPublicKeyInfoValidator"/> class.
-            </summary>
-            <param name="validBase64EncodedSubjectPublicKeyInfoHashes">A collection of valid base64 encoded hashes of the certificate public key information blob.</param>
-            <param name="algorithm">The algorithm used to generate the hashes.</param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.CertificateSubjectPublicKeyInfoValidator.Validate(System.Object,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors)">
-            <summary>
-            Validates at least one SPKI hash is known.
-            </summary>
-            <param name="sender">An object that contains state information for this validation.</param>
-            <param name="certificate">The certificate used to authenticate the remote party.</param>
-            <param name="chain">The chain of certificate authorities associated with the remote certificate.</param>
-            <param name="sslPolicyErrors">One or more errors associated with the remote certificate.</param>
-            <returns>A Boolean value that determines whether the specified certificate is accepted for authentication.</returns>
-        </member>
-        <member name="T:Microsoft.Owin.Security.CertificateThumbprintValidator">
-            <summary>
-            Provides pinned certificate validation based on the certificate thumbprint.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.CertificateThumbprintValidator.#ctor(System.Collections.Generic.IEnumerable{System.String})">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.CertificateThumbprintValidator"/> class.
-            </summary>
-            <param name="validThumbprints">A set of thumbprints which are valid for an HTTPS request.</param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.CertificateThumbprintValidator.Validate(System.Object,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors)">
-            <summary>
-            Validates that the certificate thumbprints in the signing chain match at least one allowed thumbprint.
-            </summary>
-            <param name="sender">An object that contains state information for this validation.</param>
-            <param name="certificate">The certificate used to authenticate the remote party.</param>
-            <param name="chain">The chain of certificate authorities associated with the remote certificate.</param>
-            <param name="sslPolicyErrors">One or more errors associated with the remote certificate.</param>
-            <returns>A Boolean value that determines whether the specified certificate is accepted for authentication.</returns>
-        </member>
-        <member name="T:Microsoft.Owin.Security.Constants">
-            <summary>
-            String constants used only by the Security assembly
-            </summary>
-        </member>
-        <member name="F:Microsoft.Owin.Security.Constants.DefaultSignInAsAuthenticationType">
-            <summary>
-            Used by middleware extension methods to coordinate the default value Options property SignInAsAuthenticationType
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.DataProtection.DpapiDataProtectionProvider">
-            <summary>
-            Used to provide the data protection services that are derived from the Data Protection API. It is the best choice of
-            data protection when you application is not hosted by ASP.NET and all processes are running as the same domain identity. 
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.DataProtection.DpapiDataProtectionProvider.#ctor">
-            <summary>
-            Initializes a new DpapiDataProtectionProvider with a random application
-            name. This is only useful to protect data for the duration of the
-            current application execution.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.DataProtection.DpapiDataProtectionProvider.#ctor(System.String)">
-            <summary>
-            Initializes a new DpapiDataProtectionProvider which uses the given
-            appName as part of the protection algorithm
-            </summary>
-            <param name="appName">A user provided value needed to round-trip secured
-            data. The default value comes from the IAppBuilder.Properties["owin.AppName"] 
-            when self-hosted.</param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.DataProtection.DpapiDataProtectionProvider.Create(System.String[])">
-            <summary>
-            Returns a new instance of IDataProtection for the provider.
-            </summary>
-            <param name="purposes">Additional entropy used to ensure protected data may only be unprotected for the correct purposes.</param>
-            <returns>An instance of a data protection service</returns>
-        </member>
-        <member name="T:Microsoft.Owin.Security.DataProtection.IDataProtectionProvider">
-            <summary>
-            Factory used to create IDataProtection instances
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.DataProtection.IDataProtectionProvider.Create(System.String[])">
-            <summary>
-            Returns a new instance of IDataProtection for the provider.
-            </summary>
-            <param name="purposes">Additional entropy used to ensure protected data may only be unprotected for the correct purposes.</param>
-            <returns>An instance of a data protection service</returns>
-        </member>
-        <member name="T:Microsoft.Owin.Security.DataProtection.IDataProtector">
-            <summary>
-            Service used to protect and unprotect data
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.DataProtection.IDataProtector.Protect(System.Byte[])">
-            <summary>
-            Called to protect user data.
-            </summary>
-            <param name="userData">The original data that must be protected</param>
-            <returns>A different byte array that may be unprotected or altered only by software that has access to 
-            the an identical IDataProtection service.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.DataProtection.IDataProtector.Unprotect(System.Byte[])">
-            <summary>
-            Called to unprotect user data
-            </summary>
-            <param name="protectedData">The byte array returned by a call to Protect on an identical IDataProtection service.</param>
-            <returns>The byte array identical to the original userData passed to Protect.</returns>
-        </member>
-        <member name="T:Microsoft.Owin.Security.ICertificateValidator">
-            <summary>
-            Interface for providing pinned certificate validation, which checks HTTPS 
-            communication against a known good list of certificates to protect against 
-            compromised or rogue CAs issuing certificates for hosts without the 
-            knowledge of the host owner.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.ICertificateValidator.Validate(System.Object,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors)">
-            <summary>
-            Verifies the remote Secure Sockets Layer (SSL) certificate used for authentication.
-            </summary>
-            <param name="sender">An object that contains state information for this validation.</param>
-            <param name="certificate">The certificate used to authenticate the remote party.</param>
-            <param name="chain">The chain of certificate authorities associated with the remote certificate.</param>
-            <param name="sslPolicyErrors">One or more errors associated with the remote certificate.</param>
-            <returns>A Boolean value that determines whether the specified certificate is accepted for authentication.</returns>
-        </member>
-        <member name="T:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler">
-            <summary>
-            Base class for the per-request work performed by most authentication middleware.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler.TeardownAsync">
-            <summary>
-            Called once per request after Initialize and Invoke. 
-            </summary>
-            <returns>async completion</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler.InvokeAsync">
-            <summary>
-            Called once by common code after initialization. If an authentication middleware responds directly to
-            specifically known paths it must override this virtual, compare the request path to it's known paths, 
-            provide any response information as appropriate, and true to stop further processing.
-            </summary>
-            <returns>Returning false will cause the common code to call the next middleware in line. Returning true will
-            cause the common code to begin the async completion journey without calling the rest of the middleware
-            pipeline.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler.AuthenticateAsync">
-            <summary>
-            Causes the authentication logic in AuthenticateCore to be performed for the current request 
-            at most once and returns the results. Calling Authenticate more than once will always return 
-            the original value. 
-            
-            This method should always be called instead of calling AuthenticateCore directly.
-            </summary>
-            <returns>The ticket data provided by the authentication logic</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler.AuthenticateCoreAsync">
-            <summary>
-            The core authentication logic which must be provided by the handler. Will be invoked at most
-            once per request. Do not call directly, call the wrapping Authenticate method instead.
-            </summary>
-            <returns>The ticket data provided by the authentication logic</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler.ApplyResponseAsync">
-            <summary>
-            Causes the ApplyResponseCore to be invoked at most once per request. This method will be
-            invoked either earlier, when the response headers are sent as a result of a response write or flush,
-            or later, as the last step when the original async call to the middleware is returning.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler.ApplyResponseCoreAsync">
-            <summary>
-            Core method that may be overridden by handler. The default behavior is to call two common response 
-            activities, one that deals with sign-in/sign-out concerns, and a second to deal with 401 challenges.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler.ApplyResponseGrantAsync">
-            <summary>
-            Override this method to deal with sign-in/sign-out concerns, if an authentication scheme in question
-            deals with grant/revoke as part of it's request flow. (like setting/deleting cookies)
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler.ApplyResponseChallengeAsync">
-            <summary>
-            Override this method to deal with 401 challenge concerns, if an authentication scheme in question
-            deals an authentication interaction as part of it's request flow. (like adding a response header, or
-            changing the 401 result to 302 of a login page or external sign-in location.)
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="T:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler`1">
-            <summary>
-            Base class for the per-request work performed by most authentication middleware.
-            </summary>
-            <typeparam name="TOptions">Specifies which type for of AuthenticationOptions property</typeparam>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler`1.Initialize(`0,Microsoft.Owin.IOwinContext)">
-            <summary>
-            Initialize is called once per request to contextualize this instance with appropriate state.
-            </summary>
-            <param name="options">The original options passed by the application control behavior</param>
-            <param name="context">The utility object to observe the current request and response</param>
-            <returns>async completion</returns>
-        </member>
-        <member name="T:Microsoft.Owin.Security.Infrastructure.SecurityHelper">
-            <summary>
-            Helper code used when implementing authentication middleware
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Infrastructure.SecurityHelper.#ctor(Microsoft.Owin.IOwinContext)">
-            <summary>
-            Helper code used when implementing authentication middleware
-            </summary>
-            <param name="context"></param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Infrastructure.SecurityHelper.AddUserIdentity(System.Security.Principal.IIdentity)">
-            <summary>
-            Add an additional ClaimsIdentity to the ClaimsPrincipal in the "server.User" environment key
-            </summary>
-            <param name="identity"></param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Infrastructure.SecurityHelper.LookupChallenge(System.String,Microsoft.Owin.Security.AuthenticationMode)">
-            <summary>
-            Find response challenge details for a specific authentication middleware
-            </summary>
-            <param name="authenticationType">The authentication type to look for</param>
-            <param name="authenticationMode">The authentication mode the middleware is running under</param>
-            <returns>The information instructing the middleware how it should behave</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Infrastructure.SecurityHelper.LookupSignIn(System.String)">
-            <summary>
-            Find response sign-in details for a specific authentication middleware
-            </summary>
-            <param name="authenticationType">The authentication type to look for</param>
-            <returns>The information instructing the middleware how it should behave</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Infrastructure.SecurityHelper.LookupSignOut(System.String,Microsoft.Owin.Security.AuthenticationMode)">
-            <summary>
-            Find response sign-out details for a specific authentication middleware
-            </summary>
-            <param name="authenticationType">The authentication type to look for</param>
-            <param name="authenticationMode">The authentication mode the middleware is running under</param>
-            <returns>The information instructing the middleware how it should behave</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Notifications.BaseNotification`1.HandleResponse">
-            <summary>
-            Discontinue all processing for this request and return to the client.
-            The caller is responsible for generating the full response.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Notifications.BaseNotification`1.SkipToNextMiddleware">
-            <summary>
-            Discontinue processing the request in the current middleware and pass control to the next one.
-            </summary>
-        </member>
-        <member name="F:Microsoft.Owin.Security.Notifications.NotificationResultState.Continue">
-            <summary>
-            Continue with normal processing.
-            </summary>
-        </member>
-        <member name="F:Microsoft.Owin.Security.Notifications.NotificationResultState.Skipped">
-            <summary>
-            Discontinue processing the request in the current middleware and pass control to the next one.
-            </summary>
-        </member>
-        <member name="F:Microsoft.Owin.Security.Notifications.NotificationResultState.HandledResponse">
-            <summary>
-            Discontinue all processing for this request.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Notifications.RedirectToIdentityProviderNotification`2.HandleResponse">
-            <summary>
-            Discontinue all processing for this request and return to the client.
-            The caller is responsible for generating the full response.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Notifications.SecurityTokenValidatedNotification`2.AuthenticationTicket">
-            <summary>
-            Gets or set the <see cref="P:Microsoft.Owin.Security.Notifications.SecurityTokenValidatedNotification`2.AuthenticationTicket"/>
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Notifications.SecurityTokenValidatedNotification`2.ProtocolMessage">
-            <summary>
-            Gets or sets the Protocol message
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.Provider.BaseContext`1">
-            <summary>
-            Base class used for certain event contexts
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.Provider.EndpointContext`1">
-            <summary>
-            Base class used for certain event contexts
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Provider.EndpointContext`1.#ctor(Microsoft.Owin.IOwinContext,`0)">
-            <summary>
-            Creates an instance of this context
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Provider.EndpointContext`1.IsRequestCompleted">
-            <summary>
-            True if the request should not be processed further by other components.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Provider.EndpointContext`1.RequestCompleted">
-            <summary>
-            Prevents the request from being processed further by other components. 
-            IsRequestCompleted becomes true after calling.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.Resources">
-            <summary>
-              A strongly-typed resource class, for looking up localized strings, etc.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Resources.ResourceManager">
-            <summary>
-              Returns the cached ResourceManager instance used by this class.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Resources.Culture">
-            <summary>
-              Overrides the current thread's CurrentUICulture property for all
-              resource lookups using this strongly typed resource class.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Resources.Exception_AuthenticationTokenDoesNotProvideSyncMethods">
-            <summary>
-              Looks up a localized string similar to The AuthenticationTokenProvider&apos;s required synchronous events have not been registered..
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Resources.Exception_DefaultDpapiRequiresAppNameKey">
-            <summary>
-              Looks up a localized string similar to The default data protection provider may only be used when the IAppBuilder.Properties contains an appropriate &apos;host.AppName&apos; key..
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Resources.Exception_MissingDefaultSignInAsAuthenticationType">
-            <summary>
-              Looks up a localized string similar to A default value for SignInAsAuthenticationType was not found in IAppBuilder Properties. This can happen if your authentication middleware are added in the wrong order, or if one is missing..
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Resources.Exception_UnhookAuthenticationStateType">
-            <summary>
-              Looks up a localized string similar to The state passed to UnhookAuthentication may only be the return value from HookAuthentication..
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.SubjectPublicKeyInfoAlgorithm">
-            <summary>
-            The algorithm used to generate the subject public key information blob hashes.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Win32.NativeMethods.CryptEncodeObject(System.UInt32,System.IntPtr,Microsoft.Win32.NativeMethods.CERT_PUBLIC_KEY_INFO@,System.Byte[],System.UInt32@)">
-            <summary>
-            Encodes a structure of the type indicated by the value of the lpszStructType parameter.
-            </summary>
-            <param name="dwCertEncodingType">Type of encoding used.</param>
-            <param name="lpszStructType">The high-order word is zero, the low-order word specifies the integer identifier for the type of the specified structure so
-            we can use the constants in http://msdn.microsoft.com/en-us/library/windows/desktop/aa378145%28v=vs.85%29.aspx</param>
-            <param name="pvStructInfo">A pointer to the structure to be encoded.</param>
-            <param name="pbEncoded">A pointer to a buffer to receive the encoded structure. This parameter can be NULL to retrieve the size of this information for memory allocation purposes.</param>
-            <param name="pcbEncoded">A pointer to a DWORD variable that contains the size, in bytes, of the buffer pointed to by the pbEncoded parameter.</param>
-            <returns></returns>
-        </member>
-    </members>
-</doc>
Index: packages/Microsoft.Owin.Security.Cookies.4.2.2/lib/net45/Microsoft.Owin.Security.Cookies.xml
===================================================================
--- packages/Microsoft.Owin.Security.Cookies.4.2.2/lib/net45/Microsoft.Owin.Security.Cookies.xml	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
+++ packages/Microsoft.Owin.Security.Cookies.4.2.2/lib/net45/Microsoft.Owin.Security.Cookies.xml	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -0,0 +1,551 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.Owin.Security.Cookies</name>
+    </assembly>
+    <members>
+        <member name="T:Microsoft.Owin.Security.Cookies.CookieAuthenticationDefaults">
+            <summary>
+            Default values related to cookie-based authentication middleware
+            </summary>
+        </member>
+        <member name="F:Microsoft.Owin.Security.Cookies.CookieAuthenticationDefaults.AuthenticationType">
+            <summary>
+            The default value used for CookieAuthenticationOptions.AuthenticationType
+            </summary>
+        </member>
+        <member name="F:Microsoft.Owin.Security.Cookies.CookieAuthenticationDefaults.CookiePrefix">
+            <summary>
+            The prefix used to provide a default CookieAuthenticationOptions.CookieName
+            </summary>
+        </member>
+        <member name="F:Microsoft.Owin.Security.Cookies.CookieAuthenticationDefaults.LoginPath">
+            <summary>
+            The default value used by UseApplicationSignInCookie for the
+            CookieAuthenticationOptions.LoginPath
+            </summary>
+        </member>
+        <member name="F:Microsoft.Owin.Security.Cookies.CookieAuthenticationDefaults.LogoutPath">
+            <summary>
+            The default value used by UseApplicationSignInCookie for the
+            CookieAuthenticationOptions.LogoutPath
+            </summary>
+        </member>
+        <member name="F:Microsoft.Owin.Security.Cookies.CookieAuthenticationDefaults.ReturnUrlParameter">
+            <summary>
+            The default value of the CookieAuthenticationOptions.ReturnUrlParameter
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Cookies.CookieAuthenticationMiddleware">
+            <summary>
+            Cookie based authentication middleware
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Cookies.CookieAuthenticationMiddleware.#ctor(Microsoft.Owin.OwinMiddleware,Owin.IAppBuilder,Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions)">
+            <summary>
+            Initializes a <see cref="T:Microsoft.Owin.Security.Cookies.CookieAuthenticationMiddleware"/>
+            </summary>
+            <param name="next">The next middleware in the OWIN pipeline to invoke</param>
+            <param name="app">The OWIN application</param>
+            <param name="options">Configuration options for the middleware</param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Cookies.CookieAuthenticationMiddleware.CreateHandler">
+            <summary>
+            Provides the <see cref="T:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler"/> object for processing authentication-related requests.
+            </summary>
+            <returns>An <see cref="T:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler"/> configured with the <see cref="T:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions"/> supplied to the constructor.</returns>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions">
+            <summary>
+            Contains the options used by the CookiesAuthenticationMiddleware
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.#ctor">
+            <summary>
+            Create an instance of the options initialized with the default values
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.CookieName">
+            <summary>
+            Determines the cookie name used to persist the identity. The default value is ".AspNet.Cookies".
+            This value should be changed if you change the name of the AuthenticationType, especially if your
+            system uses the cookie authentication middleware multiple times.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.CookieDomain">
+            <summary>
+            Determines the domain used to create the cookie. Is not provided by default.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.CookiePath">
+            <summary>
+            Determines the path used to create the cookie. The default value is "/" for highest browser compatability.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.CookieHttpOnly">
+            <summary>
+            Determines if the browser should allow the cookie to be accessed by client-side javascript. The
+            default is true, which means the cookie will only be passed to http requests and is not made available
+            to script on the page.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.CookieSameSite">
+            <summary>
+            Determines if the browser should allow the cookie to be sent with requests initiated from other sites.
+            The default is 'null' to exclude the setting and let the browser choose the default behavior.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.CookieSecure">
+            <summary>
+            Determines if the cookie should only be transmitted on HTTPS request. The default is to limit the cookie
+            to HTTPS requests if the page which is doing the SignIn is also HTTPS. If you have an HTTPS sign in page
+            and portions of your site are HTTP you may need to change this value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.ExpireTimeSpan">
+            <summary>
+            Controls how much time the cookie will remain valid from the point it is created. The expiration
+            information is in the protected cookie ticket. Because of that an expired cookie will be ignored 
+            even if it is passed to the server after the browser should have purged it 
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.SlidingExpiration">
+            <summary>
+            The SlidingExpiration is set to true to instruct the middleware to re-issue a new cookie with a new
+            expiration time any time it processes a request which is more than halfway through the expiration window.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.LoginPath">
+            <summary>
+            The LoginPath property informs the middleware that it should change an outgoing 401 Unauthorized status
+            code into a 302 redirection onto the given login path. The current url which generated the 401 is added
+            to the LoginPath as a query string parameter named by the ReturnUrlParameter. Once a request to the
+            LoginPath grants a new SignIn identity, the ReturnUrlParameter value is used to redirect the browser back  
+            to the url which caused the original unauthorized status code.
+            
+            If the LoginPath is null or empty, the middleware will not look for 401 Unauthorized status codes, and it will
+            not redirect automatically when a login occurs.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.LogoutPath">
+            <summary>
+            If the LogoutPath is provided the middleware then a request to that path will redirect based on the ReturnUrlParameter.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.ReturnUrlParameter">
+            <summary>
+            The ReturnUrlParameter determines the name of the query string parameter which is appended by the middleware
+            when a 401 Unauthorized status code is changed to a 302 redirect onto the login path. This is also the query 
+            string parameter looked for when a request arrives on the login path or logout path, in order to return to the 
+            original url after the action is performed.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.Provider">
+            <summary>
+            The Provider may be assigned to an instance of an object created by the application at startup time. The middleware
+            calls methods on the provider which give the application control at certain points where processing is occuring. 
+            If it is not provided a default instance is supplied which does nothing when the methods are called.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.TicketDataFormat">
+            <summary>
+            The TicketDataFormat is used to protect and unprotect the identity and other properties which are stored in the
+            cookie value. If it is not provided a default data handler is created using the data protection service contained
+            in the IAppBuilder.Properties. The default data protection service is based on machine key when running on ASP.NET, 
+            and on DPAPI when running in a different process.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.SystemClock">
+            <summary>
+            The SystemClock provides access to the system's current time coordinates. If it is not provided a default instance is
+            used which calls DateTimeOffset.UtcNow. This is typically not replaced except for unit testing. 
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.CookieManager">
+             <summary>
+             The component used to get cookies from the request or set them on the response.
+            
+             ChunkingCookieManager will be used by default.
+             </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.SessionStore">
+            <summary>
+            An optional container in which to store the identity across requests. When used, only a session identifier is sent
+            to the client. This can be used to mitigate potential problems with very large identities.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Cookies.CookieSecureOption">
+            <summary>
+            Determines how the identity cookie's security property is set.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Owin.Security.Cookies.CookieSecureOption.SameAsRequest">
+            <summary>
+            If the URI that provides the cookie is HTTPS, then the cookie will only be returned to the server on 
+            subsequent HTTPS requests. Otherwise if the URI that provides the cookie is HTTP, then the cookie will 
+            be returned to the server on all HTTP and HTTPS requests. This is the default value because it ensures
+            HTTPS for all authenticated requests on deployed servers, and also supports HTTP for localhost development 
+            and for servers that do not have HTTPS support.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Owin.Security.Cookies.CookieSecureOption.Never">
+            <summary>
+            CookieOptions.Secure is never marked true. Use this value when your login page is HTTPS, but other pages
+            on the site which are HTTP also require authentication information. This setting is not recommended because
+            the authentication information provided with an HTTP request may be observed and used by other computers
+            on your local network or wireless connection.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Owin.Security.Cookies.CookieSecureOption.Always">
+            <summary>
+            CookieOptions.Secure is always marked true. Use this value when your login page and all subsequent pages
+            requiring the authenticated identity are HTTPS. Local development will also need to be done with HTTPS urls.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Cookies.CookieApplyRedirectContext">
+            <summary>
+            Context passed when a Challenge, SignIn, or SignOut causes a redirect in the cookie middleware 
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Cookies.CookieApplyRedirectContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions,System.String)">
+            <summary>
+            Creates a new context object.
+            </summary>
+            <param name="context">The OWIN request context</param>
+            <param name="options">The cookie middleware options</param>
+            <param name="redirectUri">The initial redirect URI</param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieApplyRedirectContext.RedirectUri">
+            <summary>
+            Gets or Sets the URI used for the redirect operation.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider">
+            <summary>
+            This default implementation of the ICookieAuthenticationProvider may be used if the
+            application only needs to override a few of the interface methods. This may be used as a base class
+            or may be instantiated directly.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.#ctor">
+            <summary>
+            Create a new instance of the default provider.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.OnValidateIdentity">
+            <summary>
+            A delegate assigned to this property will be invoked when the related method is called
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.OnResponseSignIn">
+            <summary>
+            A delegate assigned to this property will be invoked when the related method is called
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.OnResponseSignedIn">
+            <summary>
+            A delegate assigned to this property will be invoked when the related method is called
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.OnResponseSignOut">
+            <summary>
+            A delegate assigned to this property will be invoked when the related method is called
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.OnApplyRedirect">
+            <summary>
+            A delegate assigned to this property will be invoked when the related method is called
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.OnException">
+            <summary>
+            A delegate assigned to this property will be invoked when the related method is called
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.ValidateIdentity(Microsoft.Owin.Security.Cookies.CookieValidateIdentityContext)">
+            <summary>
+            Implements the interface method by invoking the related delegate method
+            </summary>
+            <param name="context"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.ResponseSignIn(Microsoft.Owin.Security.Cookies.CookieResponseSignInContext)">
+            <summary>
+            Implements the interface method by invoking the related delegate method
+            </summary>
+            <param name="context"></param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.ResponseSignedIn(Microsoft.Owin.Security.Cookies.CookieResponseSignedInContext)">
+            <summary>
+            Implements the interface method by invoking the related delegate method
+            </summary>
+            <param name="context"></param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.ResponseSignOut(Microsoft.Owin.Security.Cookies.CookieResponseSignOutContext)">
+            <summary>
+            Implements the interface method by invoking the related delegate method
+            </summary>
+            <param name="context"></param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.ApplyRedirect(Microsoft.Owin.Security.Cookies.CookieApplyRedirectContext)">
+            <summary>
+            Implements the interface method by invoking the related delegate method
+            </summary>
+            <param name="context">Contains information about the event</param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.Exception(Microsoft.Owin.Security.Cookies.CookieExceptionContext)">
+            <summary>
+            Implements the interface method by invoking the related delegate method
+            </summary>
+            <param name="context">Contains information about the event</param>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Cookies.CookieExceptionContext">
+            <summary>
+            Context object passed to the ICookieAuthenticationProvider method Exception.
+            </summary>    
+        </member>
+        <member name="M:Microsoft.Owin.Security.Cookies.CookieExceptionContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions,Microsoft.Owin.Security.Cookies.CookieExceptionContext.ExceptionLocation,System.Exception,Microsoft.Owin.Security.AuthenticationTicket)">
+            <summary>
+            Creates a new instance of the context object.
+            </summary>
+            <param name="context">The OWIN request context</param>
+            <param name="options">The middleware options</param>
+            <param name="location">The location of the exception</param>
+            <param name="exception">The exception thrown.</param>
+            <param name="ticket">The current ticket, if any.</param>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Cookies.CookieExceptionContext.ExceptionLocation">
+            <summary>
+            The code paths where exceptions may be reported.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Owin.Security.Cookies.CookieExceptionContext.ExceptionLocation.AuthenticateAsync">
+            <summary>
+            The exception was reported in the AuthenticateAsync code path.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Owin.Security.Cookies.CookieExceptionContext.ExceptionLocation.ApplyResponseGrant">
+            <summary>
+            The exception was reported in the ApplyResponseGrant code path, during sign-in, sign-out, or refresh.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Owin.Security.Cookies.CookieExceptionContext.ExceptionLocation.ApplyResponseChallenge">
+            <summary>
+            The exception was reported in the ApplyResponseChallenge code path, during redirect generation.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieExceptionContext.Location">
+            <summary>
+            The code path the exception occurred in.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieExceptionContext.Exception">
+            <summary>
+            The exception thrown.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieExceptionContext.Rethrow">
+            <summary>
+            True if the exception should be re-thrown (default), false if it should be suppressed. 
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieExceptionContext.Ticket">
+            <summary>
+            The current authentication ticket, if any.
+            In the AuthenticateAsync code path, if the given exception is not re-thrown then this ticket
+            will be returned to the application. The ticket may be replaced if needed.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Cookies.CookieResponseSignedInContext">
+            <summary>
+            Context object passed to the ICookieAuthenticationProvider method ResponseSignedIn.
+            </summary>    
+        </member>
+        <member name="M:Microsoft.Owin.Security.Cookies.CookieResponseSignedInContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions,System.String,System.Security.Claims.ClaimsIdentity,Microsoft.Owin.Security.AuthenticationProperties)">
+            <summary>
+            Creates a new instance of the context object.
+            </summary>
+            <param name="context">The OWIN request context</param>
+            <param name="options">The middleware options</param>
+            <param name="authenticationType">Initializes AuthenticationType property</param>
+            <param name="identity">Initializes Identity property</param>
+            <param name="properties">Initializes Properties property</param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieResponseSignedInContext.AuthenticationType">
+            <summary>
+            The name of the AuthenticationType creating a cookie
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieResponseSignedInContext.Identity">
+            <summary>
+            Contains the claims that were converted into the outgoing cookie.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieResponseSignedInContext.Properties">
+            <summary>
+            Contains the extra data that was contained in the outgoing cookie.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Cookies.CookieResponseSignInContext">
+            <summary>
+            Context object passed to the ICookieAuthenticationProvider method ResponseSignIn.
+            </summary>    
+        </member>
+        <member name="M:Microsoft.Owin.Security.Cookies.CookieResponseSignInContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions,System.String,System.Security.Claims.ClaimsIdentity,Microsoft.Owin.Security.AuthenticationProperties,Microsoft.Owin.CookieOptions)">
+            <summary>
+            Creates a new instance of the context object.
+            </summary>
+            <param name="context">The OWIN request context</param>
+            <param name="options">The middleware options</param>
+            <param name="authenticationType">Initializes AuthenticationType property</param>
+            <param name="identity">Initializes Identity property</param>
+            <param name="properties">Initializes Extra property</param>
+            <param name="cookieOptions">Initializes options for the authentication cookie.</param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieResponseSignInContext.AuthenticationType">
+            <summary>
+            The name of the AuthenticationType creating a cookie
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieResponseSignInContext.Identity">
+            <summary>
+            Contains the claims about to be converted into the outgoing cookie.
+            May be replaced or altered during the ResponseSignIn call.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieResponseSignInContext.Properties">
+            <summary>
+            Contains the extra data about to be contained in the outgoing cookie.
+            May be replaced or altered during the ResponseSignIn call.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieResponseSignInContext.CookieOptions">
+            <summary>
+            The options for creating the outgoing cookie.
+            May be replace or altered during the ResponseSignIn call.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Cookies.CookieResponseSignOutContext">
+            <summary>
+            Context object passed to the ICookieAuthenticationProvider method ResponseSignOut    
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Cookies.CookieResponseSignOutContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions,Microsoft.Owin.CookieOptions)">
+            <summary>
+            
+            </summary>
+            <param name="context"></param>
+            <param name="options"></param>
+            <param name="cookieOptions"></param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieResponseSignOutContext.CookieOptions">
+            <summary>
+            The options for creating the outgoing cookie.
+            May be replace or altered during the ResponseSignOut call.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Cookies.CookieValidateIdentityContext">
+            <summary>
+            Context object passed to the ICookieAuthenticationProvider method ValidateIdentity.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Cookies.CookieValidateIdentityContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.AuthenticationTicket,Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions)">
+            <summary>
+            Creates a new instance of the context object.
+            </summary>
+            <param name="context"></param>
+            <param name="ticket">Contains the initial values for identity and extra data</param>
+            <param name="options"></param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieValidateIdentityContext.Identity">
+            <summary>
+            Contains the claims identity arriving with the request. May be altered to change the 
+            details of the authenticated user.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Cookies.CookieValidateIdentityContext.Properties">
+            <summary>
+            Contains the extra meta-data arriving with the request ticket. May be altered.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Cookies.CookieValidateIdentityContext.ReplaceIdentity(System.Security.Principal.IIdentity)">
+            <summary>
+            Called to replace the claims identity. The supplied identity will replace the value of the 
+            Identity property, which determines the identity of the authenticated request.
+            </summary>
+            <param name="identity">The identity used as the replacement</param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Cookies.CookieValidateIdentityContext.RejectIdentity">
+            <summary>
+            Called to reject the incoming identity. This may be done if the application has determined the
+            account is no longer active, and the request should be treated as if it was anonymous.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Cookies.ICookieAuthenticationProvider">
+            <summary>
+            Specifies callback methods which the <see cref="T:Microsoft.Owin.Security.Cookies.CookieAuthenticationMiddleware"></see> invokes to enable developer control over the authentication process. />
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Cookies.ICookieAuthenticationProvider.ValidateIdentity(Microsoft.Owin.Security.Cookies.CookieValidateIdentityContext)">
+            <summary>
+            Called each time a request identity has been validated by the middleware. By implementing this method the
+            application may alter or reject the identity which has arrived with the request.
+            </summary>
+            <param name="context">Contains information about the login session as well as the user <see cref="T:System.Security.Claims.ClaimsIdentity"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> representing the completed operation.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Cookies.ICookieAuthenticationProvider.ResponseSignIn(Microsoft.Owin.Security.Cookies.CookieResponseSignInContext)">
+            <summary>
+            Called when an endpoint has provided sign in information before it is converted into a cookie. By
+            implementing this method the claims and extra information that go into the ticket may be altered.
+            </summary>
+            <param name="context">Contains information about the login session as well as the user <see cref="T:System.Security.Claims.ClaimsIdentity"/>.</param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Cookies.ICookieAuthenticationProvider.ResponseSignedIn(Microsoft.Owin.Security.Cookies.CookieResponseSignedInContext)">
+            <summary>
+            Called when an endpoint has provided sign in information after it is converted into a cookie.
+            </summary>
+            <param name="context">Contains information about the login session as well as the user <see cref="T:System.Security.Claims.ClaimsIdentity"/>.</param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Cookies.ICookieAuthenticationProvider.ApplyRedirect(Microsoft.Owin.Security.Cookies.CookieApplyRedirectContext)">
+            <summary>
+            Called when a Challenge, SignIn, or SignOut causes a redirect in the cookie middleware
+            </summary>
+            <param name="context">Contains information about the event</param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Cookies.ICookieAuthenticationProvider.ResponseSignOut(Microsoft.Owin.Security.Cookies.CookieResponseSignOutContext)">
+            <summary>
+            Called during the sign-out flow to augment the cookie cleanup process.
+            </summary>
+            <param name="context">Contains information about the login session as well as information about the authentication cookie.</param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Cookies.ICookieAuthenticationProvider.Exception(Microsoft.Owin.Security.Cookies.CookieExceptionContext)">
+            <summary>
+            Called when an exception occurs during request or response processing.
+            </summary>
+            <param name="context">Contains information about the exception that occurred</param>
+        </member>
+        <member name="T:Owin.CookieAuthenticationExtensions">
+            <summary>
+            Extension methods provided by the cookies authentication middleware
+            </summary>
+        </member>
+        <member name="M:Owin.CookieAuthenticationExtensions.UseCookieAuthentication(Owin.IAppBuilder,Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions)">
+            <summary>
+            Adds a cookie-based authentication middleware to your web application pipeline.
+            </summary>
+            <param name="app">The IAppBuilder passed to your configuration method</param>
+            <param name="options">An options class that controls the middleware behavior</param>
+            <returns>The original app parameter</returns>
+        </member>
+        <member name="M:Owin.CookieAuthenticationExtensions.UseCookieAuthentication(Owin.IAppBuilder,Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions,Owin.PipelineStage)">
+            <summary>
+            Adds a cookie-based authentication middleware to your web application pipeline.
+            </summary>
+            <param name="app">The IAppBuilder passed to your configuration method</param>
+            <param name="options">An options class that controls the middleware behavior</param>
+            <param name="stage"></param>
+            <returns>The original app parameter</returns>
+        </member>
+    </members>
+</doc>
Index: ckages/Microsoft.Owin.Security.Cookies.4.2.3/lib/net45/Microsoft.Owin.Security.Cookies.xml
===================================================================
--- packages/Microsoft.Owin.Security.Cookies.4.2.3/lib/net45/Microsoft.Owin.Security.Cookies.xml	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ 	(revision )
@@ -1,553 +1,0 @@
-<?xml version="1.0"?>
-<doc>
-    <assembly>
-        <name>Microsoft.Owin.Security.Cookies</name>
-    </assembly>
-    <members>
-        <member name="T:Microsoft.Owin.Security.Cookies.CookieAuthenticationDefaults">
-            <summary>
-            Default values related to cookie-based authentication middleware
-            </summary>
-        </member>
-        <member name="F:Microsoft.Owin.Security.Cookies.CookieAuthenticationDefaults.AuthenticationType">
-            <summary>
-            The default value used for CookieAuthenticationOptions.AuthenticationType
-            </summary>
-        </member>
-        <member name="F:Microsoft.Owin.Security.Cookies.CookieAuthenticationDefaults.CookiePrefix">
-            <summary>
-            The prefix used to provide a default CookieAuthenticationOptions.CookieName
-            </summary>
-        </member>
-        <member name="F:Microsoft.Owin.Security.Cookies.CookieAuthenticationDefaults.LoginPath">
-            <summary>
-            The default value used by UseApplicationSignInCookie for the
-            CookieAuthenticationOptions.LoginPath
-            </summary>
-        </member>
-        <member name="F:Microsoft.Owin.Security.Cookies.CookieAuthenticationDefaults.LogoutPath">
-            <summary>
-            The default value used by UseApplicationSignInCookie for the
-            CookieAuthenticationOptions.LogoutPath
-            </summary>
-        </member>
-        <member name="F:Microsoft.Owin.Security.Cookies.CookieAuthenticationDefaults.ReturnUrlParameter">
-            <summary>
-            The default value of the CookieAuthenticationOptions.ReturnUrlParameter
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.Cookies.CookieAuthenticationMiddleware">
-            <summary>
-            Cookie based authentication middleware
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Cookies.CookieAuthenticationMiddleware.#ctor(Microsoft.Owin.OwinMiddleware,Owin.IAppBuilder,Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions)">
-            <summary>
-            Initializes a <see cref="T:Microsoft.Owin.Security.Cookies.CookieAuthenticationMiddleware"/>
-            </summary>
-            <param name="next">The next middleware in the OWIN pipeline to invoke</param>
-            <param name="app">The OWIN application</param>
-            <param name="options">Configuration options for the middleware</param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Cookies.CookieAuthenticationMiddleware.CreateHandler">
-            <summary>
-            Provides the <see cref="T:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler"/> object for processing authentication-related requests.
-            </summary>
-            <returns>An <see cref="T:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler"/> configured with the <see cref="T:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions"/> supplied to the constructor.</returns>
-        </member>
-        <member name="T:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions">
-            <summary>
-            Contains the options used by the CookiesAuthenticationMiddleware
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.#ctor">
-            <summary>
-            Create an instance of the options initialized with the default values
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.CookieName">
-            <summary>
-            Determines the cookie name used to persist the identity. The default value is ".AspNet.Cookies".
-            This value should be changed if you change the name of the AuthenticationType, especially if your
-            system uses the cookie authentication middleware multiple times.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.CookieDomain">
-            <summary>
-            Determines the domain used to create the cookie. Is not provided by default.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.CookiePath">
-            <summary>
-            Determines the path used to create the cookie. The default value is "/" for highest browser compatability.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.CookieHttpOnly">
-            <summary>
-            Determines if the browser should allow the cookie to be accessed by client-side javascript. The
-            default is true, which means the cookie will only be passed to http requests and is not made available
-            to script on the page.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.CookieSameSite">
-            <summary>
-            Determines if the browser should allow the cookie to be sent with requests initiated from other sites.
-            The default is 'null' to exclude the setting and let the browser choose the default behavior.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.CookieSecure">
-            <summary>
-            Determines if the cookie should only be transmitted on HTTPS request. The default is to limit the cookie
-            to HTTPS requests if the page which is doing the SignIn is also HTTPS. If you have an HTTPS sign in page
-            and portions of your site are HTTP you may need to change this value.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.ExpireTimeSpan">
-            <summary>
-            Controls how much time the cookie will remain valid from the point it is created. The expiration
-            information is in the protected cookie ticket. Because of that an expired cookie will be ignored 
-            even if it is passed to the server after the browser should have purged it 
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.SlidingExpiration">
-            <summary>
-            The SlidingExpiration is set to true to instruct the middleware to re-issue a new cookie with a new
-            expiration time any time it processes a request which is more than halfway through the expiration window.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.LoginPath">
-            <summary>
-            The LoginPath property informs the middleware that it should change an outgoing 401 Unauthorized status
-            code into a 302 redirection onto the given login path. The current url which generated the 401 is added
-            to the LoginPath as a query string parameter named by the ReturnUrlParameter. Once a request to the
-            LoginPath grants a new SignIn identity, the ReturnUrlParameter value is used to redirect the browser back  
-            to the url which caused the original unauthorized status code.
-            
-            If the LoginPath is null or empty, the middleware will not look for 401 Unauthorized status codes, and it will
-            not redirect automatically when a login occurs.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.LogoutPath">
-            <summary>
-            If the LogoutPath is provided the middleware then a request to that path will redirect based on the ReturnUrlParameter.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.ReturnUrlParameter">
-            <summary>
-            The ReturnUrlParameter determines the name of the query string parameter which is appended by the middleware
-            when a 401 Unauthorized status code is changed to a 302 redirect onto the login path. This is also the query 
-            string parameter looked for when a request arrives on the login path or logout path, in order to return to the 
-            original url after the action is performed.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.Provider">
-            <summary>
-            The Provider may be assigned to an instance of an object created by the application at startup time. The middleware
-            calls methods on the provider which give the application control at certain points where processing is occuring. 
-            If it is not provided a default instance is supplied which does nothing when the methods are called.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.TicketDataFormat">
-            <summary>
-            The TicketDataFormat is used to protect and unprotect the identity and other properties which are stored in the
-            cookie value. If it is not provided a default data handler is created using the data protection service contained
-            in the IAppBuilder.Properties. The default data protection service is based on machine key when running on ASP.NET, 
-            and on DPAPI when running in a different process.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.SystemClock">
-            <summary>
-            The SystemClock provides access to the system's current time coordinates. If it is not provided a default instance is
-            used which calls DateTimeOffset.UtcNow. This is typically not replaced except for unit testing. 
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.CookieManager">
-            <summary>
-            The component used to get cookies from the request or set them on the response.
-            </summary>
-            <remarks>
-            The instance returned by <see cref="M:Microsoft.Owin.AppBuilderCookieExtensions.GetDefaultChunkingCookieManager(Owin.IAppBuilder)"/>
-            is used by default if no value is explicitly set.
-            </remarks>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions.SessionStore">
-            <summary>
-            An optional container in which to store the identity across requests. When used, only a session identifier is sent
-            to the client. This can be used to mitigate potential problems with very large identities.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.Cookies.CookieSecureOption">
-            <summary>
-            Determines how the identity cookie's security property is set.
-            </summary>
-        </member>
-        <member name="F:Microsoft.Owin.Security.Cookies.CookieSecureOption.SameAsRequest">
-            <summary>
-            If the URI that provides the cookie is HTTPS, then the cookie will only be returned to the server on 
-            subsequent HTTPS requests. Otherwise if the URI that provides the cookie is HTTP, then the cookie will 
-            be returned to the server on all HTTP and HTTPS requests. This is the default value because it ensures
-            HTTPS for all authenticated requests on deployed servers, and also supports HTTP for localhost development 
-            and for servers that do not have HTTPS support.
-            </summary>
-        </member>
-        <member name="F:Microsoft.Owin.Security.Cookies.CookieSecureOption.Never">
-            <summary>
-            CookieOptions.Secure is never marked true. Use this value when your login page is HTTPS, but other pages
-            on the site which are HTTP also require authentication information. This setting is not recommended because
-            the authentication information provided with an HTTP request may be observed and used by other computers
-            on your local network or wireless connection.
-            </summary>
-        </member>
-        <member name="F:Microsoft.Owin.Security.Cookies.CookieSecureOption.Always">
-            <summary>
-            CookieOptions.Secure is always marked true. Use this value when your login page and all subsequent pages
-            requiring the authenticated identity are HTTPS. Local development will also need to be done with HTTPS urls.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.Cookies.CookieApplyRedirectContext">
-            <summary>
-            Context passed when a Challenge, SignIn, or SignOut causes a redirect in the cookie middleware 
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Cookies.CookieApplyRedirectContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions,System.String)">
-            <summary>
-            Creates a new context object.
-            </summary>
-            <param name="context">The OWIN request context</param>
-            <param name="options">The cookie middleware options</param>
-            <param name="redirectUri">The initial redirect URI</param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieApplyRedirectContext.RedirectUri">
-            <summary>
-            Gets or Sets the URI used for the redirect operation.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider">
-            <summary>
-            This default implementation of the ICookieAuthenticationProvider may be used if the
-            application only needs to override a few of the interface methods. This may be used as a base class
-            or may be instantiated directly.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.#ctor">
-            <summary>
-            Create a new instance of the default provider.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.OnValidateIdentity">
-            <summary>
-            A delegate assigned to this property will be invoked when the related method is called
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.OnResponseSignIn">
-            <summary>
-            A delegate assigned to this property will be invoked when the related method is called
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.OnResponseSignedIn">
-            <summary>
-            A delegate assigned to this property will be invoked when the related method is called
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.OnResponseSignOut">
-            <summary>
-            A delegate assigned to this property will be invoked when the related method is called
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.OnApplyRedirect">
-            <summary>
-            A delegate assigned to this property will be invoked when the related method is called
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.OnException">
-            <summary>
-            A delegate assigned to this property will be invoked when the related method is called
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.ValidateIdentity(Microsoft.Owin.Security.Cookies.CookieValidateIdentityContext)">
-            <summary>
-            Implements the interface method by invoking the related delegate method
-            </summary>
-            <param name="context"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.ResponseSignIn(Microsoft.Owin.Security.Cookies.CookieResponseSignInContext)">
-            <summary>
-            Implements the interface method by invoking the related delegate method
-            </summary>
-            <param name="context"></param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.ResponseSignedIn(Microsoft.Owin.Security.Cookies.CookieResponseSignedInContext)">
-            <summary>
-            Implements the interface method by invoking the related delegate method
-            </summary>
-            <param name="context"></param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.ResponseSignOut(Microsoft.Owin.Security.Cookies.CookieResponseSignOutContext)">
-            <summary>
-            Implements the interface method by invoking the related delegate method
-            </summary>
-            <param name="context"></param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.ApplyRedirect(Microsoft.Owin.Security.Cookies.CookieApplyRedirectContext)">
-            <summary>
-            Implements the interface method by invoking the related delegate method
-            </summary>
-            <param name="context">Contains information about the event</param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Cookies.CookieAuthenticationProvider.Exception(Microsoft.Owin.Security.Cookies.CookieExceptionContext)">
-            <summary>
-            Implements the interface method by invoking the related delegate method
-            </summary>
-            <param name="context">Contains information about the event</param>
-        </member>
-        <member name="T:Microsoft.Owin.Security.Cookies.CookieExceptionContext">
-            <summary>
-            Context object passed to the ICookieAuthenticationProvider method Exception.
-            </summary>    
-        </member>
-        <member name="M:Microsoft.Owin.Security.Cookies.CookieExceptionContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions,Microsoft.Owin.Security.Cookies.CookieExceptionContext.ExceptionLocation,System.Exception,Microsoft.Owin.Security.AuthenticationTicket)">
-            <summary>
-            Creates a new instance of the context object.
-            </summary>
-            <param name="context">The OWIN request context</param>
-            <param name="options">The middleware options</param>
-            <param name="location">The location of the exception</param>
-            <param name="exception">The exception thrown.</param>
-            <param name="ticket">The current ticket, if any.</param>
-        </member>
-        <member name="T:Microsoft.Owin.Security.Cookies.CookieExceptionContext.ExceptionLocation">
-            <summary>
-            The code paths where exceptions may be reported.
-            </summary>
-        </member>
-        <member name="F:Microsoft.Owin.Security.Cookies.CookieExceptionContext.ExceptionLocation.AuthenticateAsync">
-            <summary>
-            The exception was reported in the AuthenticateAsync code path.
-            </summary>
-        </member>
-        <member name="F:Microsoft.Owin.Security.Cookies.CookieExceptionContext.ExceptionLocation.ApplyResponseGrant">
-            <summary>
-            The exception was reported in the ApplyResponseGrant code path, during sign-in, sign-out, or refresh.
-            </summary>
-        </member>
-        <member name="F:Microsoft.Owin.Security.Cookies.CookieExceptionContext.ExceptionLocation.ApplyResponseChallenge">
-            <summary>
-            The exception was reported in the ApplyResponseChallenge code path, during redirect generation.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieExceptionContext.Location">
-            <summary>
-            The code path the exception occurred in.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieExceptionContext.Exception">
-            <summary>
-            The exception thrown.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieExceptionContext.Rethrow">
-            <summary>
-            True if the exception should be re-thrown (default), false if it should be suppressed. 
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieExceptionContext.Ticket">
-            <summary>
-            The current authentication ticket, if any.
-            In the AuthenticateAsync code path, if the given exception is not re-thrown then this ticket
-            will be returned to the application. The ticket may be replaced if needed.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.Cookies.CookieResponseSignedInContext">
-            <summary>
-            Context object passed to the ICookieAuthenticationProvider method ResponseSignedIn.
-            </summary>    
-        </member>
-        <member name="M:Microsoft.Owin.Security.Cookies.CookieResponseSignedInContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions,System.String,System.Security.Claims.ClaimsIdentity,Microsoft.Owin.Security.AuthenticationProperties)">
-            <summary>
-            Creates a new instance of the context object.
-            </summary>
-            <param name="context">The OWIN request context</param>
-            <param name="options">The middleware options</param>
-            <param name="authenticationType">Initializes AuthenticationType property</param>
-            <param name="identity">Initializes Identity property</param>
-            <param name="properties">Initializes Properties property</param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieResponseSignedInContext.AuthenticationType">
-            <summary>
-            The name of the AuthenticationType creating a cookie
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieResponseSignedInContext.Identity">
-            <summary>
-            Contains the claims that were converted into the outgoing cookie.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieResponseSignedInContext.Properties">
-            <summary>
-            Contains the extra data that was contained in the outgoing cookie.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.Cookies.CookieResponseSignInContext">
-            <summary>
-            Context object passed to the ICookieAuthenticationProvider method ResponseSignIn.
-            </summary>    
-        </member>
-        <member name="M:Microsoft.Owin.Security.Cookies.CookieResponseSignInContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions,System.String,System.Security.Claims.ClaimsIdentity,Microsoft.Owin.Security.AuthenticationProperties,Microsoft.Owin.CookieOptions)">
-            <summary>
-            Creates a new instance of the context object.
-            </summary>
-            <param name="context">The OWIN request context</param>
-            <param name="options">The middleware options</param>
-            <param name="authenticationType">Initializes AuthenticationType property</param>
-            <param name="identity">Initializes Identity property</param>
-            <param name="properties">Initializes Extra property</param>
-            <param name="cookieOptions">Initializes options for the authentication cookie.</param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieResponseSignInContext.AuthenticationType">
-            <summary>
-            The name of the AuthenticationType creating a cookie
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieResponseSignInContext.Identity">
-            <summary>
-            Contains the claims about to be converted into the outgoing cookie.
-            May be replaced or altered during the ResponseSignIn call.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieResponseSignInContext.Properties">
-            <summary>
-            Contains the extra data about to be contained in the outgoing cookie.
-            May be replaced or altered during the ResponseSignIn call.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieResponseSignInContext.CookieOptions">
-            <summary>
-            The options for creating the outgoing cookie.
-            May be replace or altered during the ResponseSignIn call.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.Cookies.CookieResponseSignOutContext">
-            <summary>
-            Context object passed to the ICookieAuthenticationProvider method ResponseSignOut    
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Cookies.CookieResponseSignOutContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions,Microsoft.Owin.CookieOptions)">
-            <summary>
-            
-            </summary>
-            <param name="context"></param>
-            <param name="options"></param>
-            <param name="cookieOptions"></param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieResponseSignOutContext.CookieOptions">
-            <summary>
-            The options for creating the outgoing cookie.
-            May be replace or altered during the ResponseSignOut call.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.Cookies.CookieValidateIdentityContext">
-            <summary>
-            Context object passed to the ICookieAuthenticationProvider method ValidateIdentity.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Cookies.CookieValidateIdentityContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.AuthenticationTicket,Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions)">
-            <summary>
-            Creates a new instance of the context object.
-            </summary>
-            <param name="context"></param>
-            <param name="ticket">Contains the initial values for identity and extra data</param>
-            <param name="options"></param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieValidateIdentityContext.Identity">
-            <summary>
-            Contains the claims identity arriving with the request. May be altered to change the 
-            details of the authenticated user.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Cookies.CookieValidateIdentityContext.Properties">
-            <summary>
-            Contains the extra meta-data arriving with the request ticket. May be altered.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Cookies.CookieValidateIdentityContext.ReplaceIdentity(System.Security.Principal.IIdentity)">
-            <summary>
-            Called to replace the claims identity. The supplied identity will replace the value of the 
-            Identity property, which determines the identity of the authenticated request.
-            </summary>
-            <param name="identity">The identity used as the replacement</param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Cookies.CookieValidateIdentityContext.RejectIdentity">
-            <summary>
-            Called to reject the incoming identity. This may be done if the application has determined the
-            account is no longer active, and the request should be treated as if it was anonymous.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.Cookies.ICookieAuthenticationProvider">
-            <summary>
-            Specifies callback methods which the <see cref="T:Microsoft.Owin.Security.Cookies.CookieAuthenticationMiddleware"></see> invokes to enable developer control over the authentication process. />
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Cookies.ICookieAuthenticationProvider.ValidateIdentity(Microsoft.Owin.Security.Cookies.CookieValidateIdentityContext)">
-            <summary>
-            Called each time a request identity has been validated by the middleware. By implementing this method the
-            application may alter or reject the identity which has arrived with the request.
-            </summary>
-            <param name="context">Contains information about the login session as well as the user <see cref="T:System.Security.Claims.ClaimsIdentity"/>.</param>
-            <returns>A <see cref="T:System.Threading.Tasks.Task"/> representing the completed operation.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Cookies.ICookieAuthenticationProvider.ResponseSignIn(Microsoft.Owin.Security.Cookies.CookieResponseSignInContext)">
-            <summary>
-            Called when an endpoint has provided sign in information before it is converted into a cookie. By
-            implementing this method the claims and extra information that go into the ticket may be altered.
-            </summary>
-            <param name="context">Contains information about the login session as well as the user <see cref="T:System.Security.Claims.ClaimsIdentity"/>.</param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Cookies.ICookieAuthenticationProvider.ResponseSignedIn(Microsoft.Owin.Security.Cookies.CookieResponseSignedInContext)">
-            <summary>
-            Called when an endpoint has provided sign in information after it is converted into a cookie.
-            </summary>
-            <param name="context">Contains information about the login session as well as the user <see cref="T:System.Security.Claims.ClaimsIdentity"/>.</param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Cookies.ICookieAuthenticationProvider.ApplyRedirect(Microsoft.Owin.Security.Cookies.CookieApplyRedirectContext)">
-            <summary>
-            Called when a Challenge, SignIn, or SignOut causes a redirect in the cookie middleware
-            </summary>
-            <param name="context">Contains information about the event</param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Cookies.ICookieAuthenticationProvider.ResponseSignOut(Microsoft.Owin.Security.Cookies.CookieResponseSignOutContext)">
-            <summary>
-            Called during the sign-out flow to augment the cookie cleanup process.
-            </summary>
-            <param name="context">Contains information about the login session as well as information about the authentication cookie.</param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Cookies.ICookieAuthenticationProvider.Exception(Microsoft.Owin.Security.Cookies.CookieExceptionContext)">
-            <summary>
-            Called when an exception occurs during request or response processing.
-            </summary>
-            <param name="context">Contains information about the exception that occurred</param>
-        </member>
-        <member name="T:Owin.CookieAuthenticationExtensions">
-            <summary>
-            Extension methods provided by the cookies authentication middleware
-            </summary>
-        </member>
-        <member name="M:Owin.CookieAuthenticationExtensions.UseCookieAuthentication(Owin.IAppBuilder,Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions)">
-            <summary>
-            Adds a cookie-based authentication middleware to your web application pipeline.
-            </summary>
-            <param name="app">The IAppBuilder passed to your configuration method</param>
-            <param name="options">An options class that controls the middleware behavior</param>
-            <returns>The original app parameter</returns>
-        </member>
-        <member name="M:Owin.CookieAuthenticationExtensions.UseCookieAuthentication(Owin.IAppBuilder,Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions,Owin.PipelineStage)">
-            <summary>
-            Adds a cookie-based authentication middleware to your web application pipeline.
-            </summary>
-            <param name="app">The IAppBuilder passed to your configuration method</param>
-            <param name="options">An options class that controls the middleware behavior</param>
-            <param name="stage"></param>
-            <returns>The original app parameter</returns>
-        </member>
-    </members>
-</doc>
Index: packages/Microsoft.Owin.Security.Google.4.2.2/lib/net45/Microsoft.Owin.Security.Google.xml
===================================================================
--- packages/Microsoft.Owin.Security.Google.4.2.2/lib/net45/Microsoft.Owin.Security.Google.xml	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
+++ packages/Microsoft.Owin.Security.Google.4.2.2/lib/net45/Microsoft.Owin.Security.Google.xml	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -0,0 +1,378 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.Owin.Security.Google</name>
+    </assembly>
+    <members>
+        <member name="T:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationMiddleware">
+            <summary>
+            OWIN middleware for authenticating users using Google OAuth 2.0
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationMiddleware.#ctor(Microsoft.Owin.OwinMiddleware,Owin.IAppBuilder,Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions)">
+            <summary>
+            Initializes a <see cref="T:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationMiddleware"/>
+            </summary>
+            <param name="next">The next middleware in the OWIN pipeline to invoke</param>
+            <param name="app">The OWIN application</param>
+            <param name="options">Configuration options for the middleware</param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationMiddleware.CreateHandler">
+            <summary>
+            Provides the <see cref="T:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler"/> object for processing authentication-related requests.
+            </summary>
+            <returns>An <see cref="T:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler"/> configured with the <see cref="T:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions"/> supplied to the constructor.</returns>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions">
+            <summary>
+            Configuration options for <see cref="T:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationMiddleware"/>
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.#ctor">
+            <summary>
+            Initializes a new <see cref="T:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions"/>
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.ClientId">
+            <summary>
+            Gets or sets the Google-assigned client id
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.ClientSecret">
+            <summary>
+            Gets or sets the Google-assigned client secret
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.AuthorizationEndpoint">
+            <summary>
+            Gets or sets the URI where the client will be redirected to authenticate.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.TokenEndpoint">
+            <summary>
+            Gets or sets the URI the middleware will access to exchange the OAuth token.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.UserInformationEndpoint">
+            <summary>
+            Gets or sets the URI the middleware will access to obtain the user information.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.BackchannelCertificateValidator">
+            <summary>
+            Gets or sets the a pinned certificate validator to use to validate the endpoints used
+            in back channel communications belong to Google.
+            </summary>
+            <value>
+            The pinned certificate validator.
+            </value>
+            <remarks>If this property is null then the default certificate checks are performed,
+            validating the subject name and if the signing chain is a trusted party.</remarks>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.BackchannelTimeout">
+            <summary>
+            Gets or sets timeout value in milliseconds for back channel communications with Google.
+            </summary>
+            <value>
+            The back channel timeout in milliseconds.
+            </value>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.BackchannelHttpHandler">
+            <summary>
+            The HttpMessageHandler used to communicate with Google.
+            This cannot be set at the same time as BackchannelCertificateValidator unless the value 
+            can be downcast to a WebRequestHandler.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.Caption">
+            <summary>
+            Get or sets the text that the user can display on a sign in user interface.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.CallbackPath">
+            <summary>
+            The request path within the application's base path where the user-agent will be returned.
+            The middleware will process this request when it arrives.
+            Default value is "/signin-google".
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.SignInAsAuthenticationType">
+            <summary>
+            Gets or sets the name of another authentication middleware which will be responsible for actually issuing a user <see cref="T:System.Security.Claims.ClaimsIdentity"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.Provider">
+            <summary>
+            Gets or sets the <see cref="T:Microsoft.Owin.Security.Google.IGoogleOAuth2AuthenticationProvider"/> used to handle authentication events.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.StateDataFormat">
+            <summary>
+            Gets or sets the type used to secure data handled by the middleware.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.Scope">
+            <summary>
+            A list of permissions to request.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.AccessType">
+            <summary>
+            access_type. Set to 'offline' to request a refresh token.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.CookieManager">
+            <summary>
+            An abstraction for reading and setting cookies during the authentication process.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Google.GoogleOAuth2ApplyRedirectContext">
+            <summary>
+            Context passed when a Challenge causes a redirect to authorize endpoint in the Google OAuth 2.0 middleware
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Google.GoogleOAuth2ApplyRedirectContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions,Microsoft.Owin.Security.AuthenticationProperties,System.String)">
+            <summary>
+            Creates a new context object.
+            </summary>
+            <param name="context">The OWIN request context</param>
+            <param name="options">The Google OAuth 2.0 middleware options</param>
+            <param name="properties">The authenticaiton properties of the challenge</param>
+            <param name="redirectUri">The initial redirect URI</param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2ApplyRedirectContext.RedirectUri">
+            <summary>
+            Gets the URI used for the redirect operation.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2ApplyRedirectContext.Properties">
+            <summary>
+            Gets the authenticaiton properties of the challenge
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext">
+            <summary>
+            Contains information about the login session as well as the user <see cref="T:System.Security.Claims.ClaimsIdentity"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.#ctor(Microsoft.Owin.IOwinContext,Newtonsoft.Json.Linq.JObject,System.String,System.String,System.String)">
+            <summary>
+            Initializes a <see cref="T:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext"/>
+            </summary>
+            <param name="context">The OWIN environment</param>
+            <param name="user">The JSON-serialized Google user info</param>
+            <param name="accessToken">Google OAuth 2.0 access token</param>
+            <param name="refreshToken">Goolge OAuth 2.0 refresh token</param>
+            <param name="expires">Seconds until expiration</param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.#ctor(Microsoft.Owin.IOwinContext,Newtonsoft.Json.Linq.JObject,Newtonsoft.Json.Linq.JObject)">
+            <summary>
+            Initializes a <see cref="T:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext"/>
+            </summary>
+            <param name="context">The OWIN environment</param>
+            <param name="user">The JSON-serialized Google user info</param>
+            <param name="tokenResponse">The JSON-serialized token response Google</param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.User">
+            <summary>
+            Gets the JSON-serialized user
+            </summary>
+            <remarks>
+            Contains the Google user obtained from the UserInformationEndpoint
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.AccessToken">
+            <summary>
+            Gets the Google access token
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.RefreshToken">
+            <summary>
+            Gets the Google refresh token
+            </summary>
+            <remarks>
+            This value is not null only when access_type authorize parameter is offline.
+            </remarks>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.ExpiresIn">
+            <summary>
+            Gets the Google access token expiration time
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.Id">
+            <summary>
+            Gets the Google user ID
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.Name">
+            <summary>
+            Gets the user's name
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.GivenName">
+            <summary>
+            Gets the user's given name
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.FamilyName">
+            <summary>
+            Gets the user's family name
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.Profile">
+            <summary>
+            Gets the user's profile link
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.Email">
+            <summary>
+            Gets the user's email
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.Identity">
+            <summary>
+            Gets the <see cref="T:System.Security.Claims.ClaimsIdentity"/> representing the user
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.TokenResponse">
+            <summary>
+            Token response from Google
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.Properties">
+            <summary>
+            Gets or sets a property bag for common authentication properties
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationProvider">
+            <summary>
+            Default <see cref="T:Microsoft.Owin.Security.Google.IGoogleOAuth2AuthenticationProvider"/> implementation.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationProvider.#ctor">
+            <summary>
+            Initializes a <see cref="T:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationProvider"/>
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationProvider.OnAuthenticated">
+            <summary>
+            Gets or sets the function that is invoked when the Authenticated method is invoked.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationProvider.OnReturnEndpoint">
+            <summary>
+            Gets or sets the function that is invoked when the ReturnEndpoint method is invoked.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationProvider.OnApplyRedirect">
+            <summary>
+            Gets or sets the delegate that is invoked when the ApplyRedirect method is invoked.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationProvider.Authenticated(Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext)">
+            <summary>
+            Invoked whenever Google succesfully authenticates a user
+            </summary>
+            <param name="context">Contains information about the login session as well as the user <see cref="T:System.Security.Claims.ClaimsIdentity"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> representing the completed operation.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationProvider.ReturnEndpoint(Microsoft.Owin.Security.Google.GoogleOAuth2ReturnEndpointContext)">
+            <summary>
+            Invoked prior to the <see cref="T:System.Security.Claims.ClaimsIdentity"/> being saved in a local cookie and the browser being redirected to the originally requested URL.
+            </summary>
+            <param name="context">Contains context information and authentication ticket of the return endpoint.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> representing the completed operation.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationProvider.ApplyRedirect(Microsoft.Owin.Security.Google.GoogleOAuth2ApplyRedirectContext)">
+            <summary>
+            Called when a Challenge causes a redirect to authorize endpoint in the Google OAuth 2.0 middleware
+            </summary>
+            <param name="context">Contains redirect URI and <see cref="T:Microsoft.Owin.Security.AuthenticationProperties"/> of the challenge </param>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Google.GoogleOAuth2ReturnEndpointContext">
+            <summary>
+            Provides context information to middleware providers.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Google.GoogleOAuth2ReturnEndpointContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.AuthenticationTicket)">
+            <summary>
+            Initialize a <see cref="T:Microsoft.Owin.Security.Google.GoogleOAuth2ReturnEndpointContext"/>
+            </summary>
+            <param name="context">OWIN environment</param>
+            <param name="ticket">The authentication ticket</param>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Google.IGoogleOAuth2AuthenticationProvider">
+            <summary>
+            Specifies callback methods which the <see cref="T:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationMiddleware"></see> invokes to enable developer control over the authentication process. />
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Google.IGoogleOAuth2AuthenticationProvider.Authenticated(Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext)">
+            <summary>
+            Invoked whenever Google succesfully authenticates a user
+            </summary>
+            <param name="context">Contains information about the login session as well as the user <see cref="T:System.Security.Claims.ClaimsIdentity"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> representing the completed operation.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Google.IGoogleOAuth2AuthenticationProvider.ReturnEndpoint(Microsoft.Owin.Security.Google.GoogleOAuth2ReturnEndpointContext)">
+            <summary>
+            Invoked prior to the <see cref="T:System.Security.Claims.ClaimsIdentity"/> being saved in a local cookie and the browser being redirected to the originally requested URL.
+            </summary>
+            <param name="context">Contains context information and authentication ticket of the return endpoint.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> representing the completed operation.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.Google.IGoogleOAuth2AuthenticationProvider.ApplyRedirect(Microsoft.Owin.Security.Google.GoogleOAuth2ApplyRedirectContext)">
+            <summary>
+            Called when a Challenge causes a redirect to authorize endpoint in the Google OAuth 2.0 middleware
+            </summary>
+            <param name="context">Contains redirect URI and <see cref="T:Microsoft.Owin.Security.AuthenticationProperties"/> of the challenge </param>
+        </member>
+        <member name="T:Microsoft.Owin.Security.Google.Resources">
+            <summary>
+              A strongly-typed resource class, for looking up localized strings, etc.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.Resources.ResourceManager">
+            <summary>
+              Returns the cached ResourceManager instance used by this class.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.Resources.Culture">
+            <summary>
+              Overrides the current thread's CurrentUICulture property for all
+              resource lookups using this strongly typed resource class.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.Resources.Exception_OptionMustBeProvided">
+            <summary>
+              Looks up a localized string similar to The &apos;{0}&apos; option must be provided..
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.Google.Resources.Exception_ValidatorHandlerMismatch">
+            <summary>
+              Looks up a localized string similar to An ICertificateValidator cannot be specified at the same time as an HttpMessageHandler unless it is a WebRequestHandler..
+            </summary>
+        </member>
+        <member name="T:Owin.GoogleAuthenticationExtensions">
+            <summary>
+            Extension methods for using <see cref="T:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationMiddleware"/>
+            </summary>
+        </member>
+        <member name="M:Owin.GoogleAuthenticationExtensions.UseGoogleAuthentication(Owin.IAppBuilder,Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions)">
+            <summary>
+            Authenticate users using Google OAuth 2.0
+            </summary>
+            <param name="app">The <see cref="T:Owin.IAppBuilder"/> passed to the configuration method</param>
+            <param name="options">Middleware configuration options</param>
+            <returns>The updated <see cref="T:Owin.IAppBuilder"/></returns>
+        </member>
+        <member name="M:Owin.GoogleAuthenticationExtensions.UseGoogleAuthentication(Owin.IAppBuilder,System.String,System.String)">
+            <summary>
+            Authenticate users using Google OAuth 2.0
+            </summary>
+            <param name="app">The <see cref="T:Owin.IAppBuilder"/> passed to the configuration method</param>
+            <param name="clientId">The google assigned client id</param>
+            <param name="clientSecret">The google assigned client secret</param>
+            <returns>The updated <see cref="T:Owin.IAppBuilder"/></returns>
+        </member>
+    </members>
+</doc>
Index: ckages/Microsoft.Owin.Security.Google.4.2.3/lib/net45/Microsoft.Owin.Security.Google.xml
===================================================================
--- packages/Microsoft.Owin.Security.Google.4.2.3/lib/net45/Microsoft.Owin.Security.Google.xml	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ 	(revision )
@@ -1,378 +1,0 @@
-<?xml version="1.0"?>
-<doc>
-    <assembly>
-        <name>Microsoft.Owin.Security.Google</name>
-    </assembly>
-    <members>
-        <member name="T:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationMiddleware">
-            <summary>
-            OWIN middleware for authenticating users using Google OAuth 2.0
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationMiddleware.#ctor(Microsoft.Owin.OwinMiddleware,Owin.IAppBuilder,Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions)">
-            <summary>
-            Initializes a <see cref="T:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationMiddleware"/>
-            </summary>
-            <param name="next">The next middleware in the OWIN pipeline to invoke</param>
-            <param name="app">The OWIN application</param>
-            <param name="options">Configuration options for the middleware</param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationMiddleware.CreateHandler">
-            <summary>
-            Provides the <see cref="T:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler"/> object for processing authentication-related requests.
-            </summary>
-            <returns>An <see cref="T:Microsoft.Owin.Security.Infrastructure.AuthenticationHandler"/> configured with the <see cref="T:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions"/> supplied to the constructor.</returns>
-        </member>
-        <member name="T:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions">
-            <summary>
-            Configuration options for <see cref="T:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationMiddleware"/>
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.#ctor">
-            <summary>
-            Initializes a new <see cref="T:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions"/>
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.ClientId">
-            <summary>
-            Gets or sets the Google-assigned client id
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.ClientSecret">
-            <summary>
-            Gets or sets the Google-assigned client secret
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.AuthorizationEndpoint">
-            <summary>
-            Gets or sets the URI where the client will be redirected to authenticate.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.TokenEndpoint">
-            <summary>
-            Gets or sets the URI the middleware will access to exchange the OAuth token.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.UserInformationEndpoint">
-            <summary>
-            Gets or sets the URI the middleware will access to obtain the user information.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.BackchannelCertificateValidator">
-            <summary>
-            Gets or sets the a pinned certificate validator to use to validate the endpoints used
-            in back channel communications belong to Google.
-            </summary>
-            <value>
-            The pinned certificate validator.
-            </value>
-            <remarks>If this property is null then the default certificate checks are performed,
-            validating the subject name and if the signing chain is a trusted party.</remarks>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.BackchannelTimeout">
-            <summary>
-            Gets or sets timeout value in milliseconds for back channel communications with Google.
-            </summary>
-            <value>
-            The back channel timeout in milliseconds.
-            </value>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.BackchannelHttpHandler">
-            <summary>
-            The HttpMessageHandler used to communicate with Google.
-            This cannot be set at the same time as BackchannelCertificateValidator unless the value 
-            can be downcast to a WebRequestHandler.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.Caption">
-            <summary>
-            Get or sets the text that the user can display on a sign in user interface.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.CallbackPath">
-            <summary>
-            The request path within the application's base path where the user-agent will be returned.
-            The middleware will process this request when it arrives.
-            Default value is "/signin-google".
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.SignInAsAuthenticationType">
-            <summary>
-            Gets or sets the name of another authentication middleware which will be responsible for actually issuing a user <see cref="T:System.Security.Claims.ClaimsIdentity"/>.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.Provider">
-            <summary>
-            Gets or sets the <see cref="T:Microsoft.Owin.Security.Google.IGoogleOAuth2AuthenticationProvider"/> used to handle authentication events.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.StateDataFormat">
-            <summary>
-            Gets or sets the type used to secure data handled by the middleware.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.Scope">
-            <summary>
-            A list of permissions to request.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.AccessType">
-            <summary>
-            access_type. Set to 'offline' to request a refresh token.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.CookieManager">
-            <summary>
-            An abstraction for reading and setting cookies during the authentication process.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.Google.GoogleOAuth2ApplyRedirectContext">
-            <summary>
-            Context passed when a Challenge causes a redirect to authorize endpoint in the Google OAuth 2.0 middleware
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Google.GoogleOAuth2ApplyRedirectContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions,Microsoft.Owin.Security.AuthenticationProperties,System.String)">
-            <summary>
-            Creates a new context object.
-            </summary>
-            <param name="context">The OWIN request context</param>
-            <param name="options">The Google OAuth 2.0 middleware options</param>
-            <param name="properties">The authenticaiton properties of the challenge</param>
-            <param name="redirectUri">The initial redirect URI</param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2ApplyRedirectContext.RedirectUri">
-            <summary>
-            Gets the URI used for the redirect operation.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2ApplyRedirectContext.Properties">
-            <summary>
-            Gets the authenticaiton properties of the challenge
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext">
-            <summary>
-            Contains information about the login session as well as the user <see cref="T:System.Security.Claims.ClaimsIdentity"/>.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.#ctor(Microsoft.Owin.IOwinContext,Newtonsoft.Json.Linq.JObject,System.String,System.String,System.String)">
-            <summary>
-            Initializes a <see cref="T:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext"/>
-            </summary>
-            <param name="context">The OWIN environment</param>
-            <param name="user">The JSON-serialized Google user info</param>
-            <param name="accessToken">Google OAuth 2.0 access token</param>
-            <param name="refreshToken">Goolge OAuth 2.0 refresh token</param>
-            <param name="expires">Seconds until expiration</param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.#ctor(Microsoft.Owin.IOwinContext,Newtonsoft.Json.Linq.JObject,Newtonsoft.Json.Linq.JObject)">
-            <summary>
-            Initializes a <see cref="T:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext"/>
-            </summary>
-            <param name="context">The OWIN environment</param>
-            <param name="user">The JSON-serialized Google user info</param>
-            <param name="tokenResponse">The JSON-serialized token response Google</param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.User">
-            <summary>
-            Gets the JSON-serialized user
-            </summary>
-            <remarks>
-            Contains the Google user obtained from the UserInformationEndpoint
-            </remarks>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.AccessToken">
-            <summary>
-            Gets the Google access token
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.RefreshToken">
-            <summary>
-            Gets the Google refresh token
-            </summary>
-            <remarks>
-            This value is not null only when access_type authorize parameter is offline.
-            </remarks>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.ExpiresIn">
-            <summary>
-            Gets the Google access token expiration time
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.Id">
-            <summary>
-            Gets the Google user ID
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.Name">
-            <summary>
-            Gets the user's name
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.GivenName">
-            <summary>
-            Gets the user's given name
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.FamilyName">
-            <summary>
-            Gets the user's family name
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.Profile">
-            <summary>
-            Gets the user's profile link
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.Email">
-            <summary>
-            Gets the user's email
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.Identity">
-            <summary>
-            Gets the <see cref="T:System.Security.Claims.ClaimsIdentity"/> representing the user
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.TokenResponse">
-            <summary>
-            Token response from Google
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext.Properties">
-            <summary>
-            Gets or sets a property bag for common authentication properties
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationProvider">
-            <summary>
-            Default <see cref="T:Microsoft.Owin.Security.Google.IGoogleOAuth2AuthenticationProvider"/> implementation.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationProvider.#ctor">
-            <summary>
-            Initializes a <see cref="T:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationProvider"/>
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationProvider.OnAuthenticated">
-            <summary>
-            Gets or sets the function that is invoked when the Authenticated method is invoked.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationProvider.OnReturnEndpoint">
-            <summary>
-            Gets or sets the function that is invoked when the ReturnEndpoint method is invoked.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationProvider.OnApplyRedirect">
-            <summary>
-            Gets or sets the delegate that is invoked when the ApplyRedirect method is invoked.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationProvider.Authenticated(Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext)">
-            <summary>
-            Invoked whenever Google succesfully authenticates a user
-            </summary>
-            <param name="context">Contains information about the login session as well as the user <see cref="T:System.Security.Claims.ClaimsIdentity"/>.</param>
-            <returns>A <see cref="T:System.Threading.Tasks.Task"/> representing the completed operation.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationProvider.ReturnEndpoint(Microsoft.Owin.Security.Google.GoogleOAuth2ReturnEndpointContext)">
-            <summary>
-            Invoked prior to the <see cref="T:System.Security.Claims.ClaimsIdentity"/> being saved in a local cookie and the browser being redirected to the originally requested URL.
-            </summary>
-            <param name="context">Contains context information and authentication ticket of the return endpoint.</param>
-            <returns>A <see cref="T:System.Threading.Tasks.Task"/> representing the completed operation.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationProvider.ApplyRedirect(Microsoft.Owin.Security.Google.GoogleOAuth2ApplyRedirectContext)">
-            <summary>
-            Called when a Challenge causes a redirect to authorize endpoint in the Google OAuth 2.0 middleware
-            </summary>
-            <param name="context">Contains redirect URI and <see cref="T:Microsoft.Owin.Security.AuthenticationProperties"/> of the challenge </param>
-        </member>
-        <member name="T:Microsoft.Owin.Security.Google.GoogleOAuth2ReturnEndpointContext">
-            <summary>
-            Provides context information to middleware providers.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Google.GoogleOAuth2ReturnEndpointContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.AuthenticationTicket)">
-            <summary>
-            Initialize a <see cref="T:Microsoft.Owin.Security.Google.GoogleOAuth2ReturnEndpointContext"/>
-            </summary>
-            <param name="context">OWIN environment</param>
-            <param name="ticket">The authentication ticket</param>
-        </member>
-        <member name="T:Microsoft.Owin.Security.Google.IGoogleOAuth2AuthenticationProvider">
-            <summary>
-            Specifies callback methods which the <see cref="T:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationMiddleware"></see> invokes to enable developer control over the authentication process. />
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Google.IGoogleOAuth2AuthenticationProvider.Authenticated(Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext)">
-            <summary>
-            Invoked whenever Google succesfully authenticates a user
-            </summary>
-            <param name="context">Contains information about the login session as well as the user <see cref="T:System.Security.Claims.ClaimsIdentity"/>.</param>
-            <returns>A <see cref="T:System.Threading.Tasks.Task"/> representing the completed operation.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Google.IGoogleOAuth2AuthenticationProvider.ReturnEndpoint(Microsoft.Owin.Security.Google.GoogleOAuth2ReturnEndpointContext)">
-            <summary>
-            Invoked prior to the <see cref="T:System.Security.Claims.ClaimsIdentity"/> being saved in a local cookie and the browser being redirected to the originally requested URL.
-            </summary>
-            <param name="context">Contains context information and authentication ticket of the return endpoint.</param>
-            <returns>A <see cref="T:System.Threading.Tasks.Task"/> representing the completed operation.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.Google.IGoogleOAuth2AuthenticationProvider.ApplyRedirect(Microsoft.Owin.Security.Google.GoogleOAuth2ApplyRedirectContext)">
-            <summary>
-            Called when a Challenge causes a redirect to authorize endpoint in the Google OAuth 2.0 middleware
-            </summary>
-            <param name="context">Contains redirect URI and <see cref="T:Microsoft.Owin.Security.AuthenticationProperties"/> of the challenge </param>
-        </member>
-        <member name="T:Microsoft.Owin.Security.Google.Resources">
-            <summary>
-              A strongly-typed resource class, for looking up localized strings, etc.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.Resources.ResourceManager">
-            <summary>
-              Returns the cached ResourceManager instance used by this class.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.Resources.Culture">
-            <summary>
-              Overrides the current thread's CurrentUICulture property for all
-              resource lookups using this strongly typed resource class.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.Resources.Exception_OptionMustBeProvided">
-            <summary>
-              Looks up a localized string similar to The &apos;{0}&apos; option must be provided..
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.Google.Resources.Exception_ValidatorHandlerMismatch">
-            <summary>
-              Looks up a localized string similar to An ICertificateValidator cannot be specified at the same time as an HttpMessageHandler unless it is a WebRequestHandler..
-            </summary>
-        </member>
-        <member name="T:Owin.GoogleAuthenticationExtensions">
-            <summary>
-            Extension methods for using <see cref="T:Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationMiddleware"/>
-            </summary>
-        </member>
-        <member name="M:Owin.GoogleAuthenticationExtensions.UseGoogleAuthentication(Owin.IAppBuilder,Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions)">
-            <summary>
-            Authenticate users using Google OAuth 2.0
-            </summary>
-            <param name="app">The <see cref="T:Owin.IAppBuilder"/> passed to the configuration method</param>
-            <param name="options">Middleware configuration options</param>
-            <returns>The updated <see cref="T:Owin.IAppBuilder"/></returns>
-        </member>
-        <member name="M:Owin.GoogleAuthenticationExtensions.UseGoogleAuthentication(Owin.IAppBuilder,System.String,System.String)">
-            <summary>
-            Authenticate users using Google OAuth 2.0
-            </summary>
-            <param name="app">The <see cref="T:Owin.IAppBuilder"/> passed to the configuration method</param>
-            <param name="clientId">The google assigned client id</param>
-            <param name="clientSecret">The google assigned client secret</param>
-            <returns>The updated <see cref="T:Owin.IAppBuilder"/></returns>
-        </member>
-    </members>
-</doc>
Index: packages/Microsoft.Owin.Security.OAuth.4.2.2/lib/net45/Microsoft.Owin.Security.OAuth.xml
===================================================================
--- packages/Microsoft.Owin.Security.OAuth.4.2.2/lib/net45/Microsoft.Owin.Security.OAuth.xml	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
+++ packages/Microsoft.Owin.Security.OAuth.4.2.2/lib/net45/Microsoft.Owin.Security.OAuth.xml	(revision ed8f863e23d2875be052337e481ef8e1a610ca61)
@@ -0,0 +1,1627 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.Owin.Security.OAuth</name>
+    </assembly>
+    <members>
+        <member name="T:Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest">
+            <summary>
+            Data object representing the information contained in the query string of an Authorize endpoint request.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest.#ctor(Microsoft.Owin.IReadableStringCollection)">
+            <summary>
+            Creates a new instance populated with values from the query string parameters.
+            </summary>
+            <param name="parameters">Query string parameters from a request.</param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest.ResponseType">
+            <summary>
+            The "response_type" query string parameter of the Authorize request. Known values are "code" and "token".
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest.ResponseMode">
+            <summary>
+            The "response_mode" query string parameter of the Authorize request. Known values are "query", "fragment" and "form_post"
+            See also, http://openid.net/specs/oauth-v2-form-post-response-mode-1_0.html
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest.ClientId">
+            <summary>
+            The "client_id" query string parameter of the Authorize request. 
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest.RedirectUri">
+            <summary>
+            The "redirect_uri" query string parameter of the Authorize request. May be absent if the server should use the 
+            redirect uri known to be registered to the client id.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest.Scope">
+            <summary>
+            The "scope" query string parameter of the Authorize request. May be absent if the server should use default scopes.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest.State">
+            <summary>
+            The "state" query string parameter of the Authorize request. May be absent if the client does not require state to be 
+            included when returning to the RedirectUri.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest.IsAuthorizationCodeGrantType">
+            <summary>
+            True if the "response_type" query string parameter is "code".
+            See also, http://tools.ietf.org/html/rfc6749#section-4.1.1
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest.IsImplicitGrantType">
+            <summary>
+            True if the "response_type" query string parameter is "token".
+            See also, http://tools.ietf.org/html/rfc6749#section-4.2.1
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest.ContainsGrantType(System.String)">
+            <summary>
+            True if the "response_type" query string contains the passed responseType.
+            See also, http://openid.net/specs/oauth-v2-multiple-response-types-1_0.html
+            </summary>
+            <param name="responseType">The responseType that is expected within the "response_type" query string</param>
+            <returns>True if the "response_type" query string contains the passed responseType.</returns>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest">
+            <summary>
+            Data object representing the information contained in form encoded body of a Token endpoint request.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.#ctor(Microsoft.Owin.IReadableStringCollection)">
+            <summary>
+            Creates a new instance populated with values from the form encoded body parameters.
+            </summary>
+            <param name="parameters">Form encoded body parameters from a request.</param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.Parameters">
+            <summary>
+            The form encoded body parameters of the Token endpoint request
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.GrantType">
+            <summary>
+            The "grant_type" parameter of the Token endpoint request. This parameter is required.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.ClientId">
+            <summary>
+            The "client_id" parameter of the Token endpoint request. This parameter is optional. It might not
+            be present if the request is authenticated in a different way, for example, by using basic authentication
+            credentials.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.AuthorizationCodeGrant">
+            <summary>
+            Data object available when the "grant_type" is "authorization_code".
+            See also http://tools.ietf.org/html/rfc6749#section-4.1.3
+            </summary>    
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.ClientCredentialsGrant">
+            <summary>
+            Data object available when the "grant_type" is "client_credentials".
+            See also http://tools.ietf.org/html/rfc6749#section-4.4.2
+            </summary>    
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.RefreshTokenGrant">
+            <summary>
+            Data object available when the "grant_type" is "refresh_token".
+            See also http://tools.ietf.org/html/rfc6749#section-6
+            </summary>    
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.ResourceOwnerPasswordCredentialsGrant">
+            <summary>
+            Data object available when the "grant_type" is "password".
+            See also http://tools.ietf.org/html/rfc6749#section-4.3.2
+            </summary>    
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.CustomExtensionGrant">
+            <summary>
+            Data object available when the "grant_type" is unrecognized.
+            See also http://tools.ietf.org/html/rfc6749#section-4.5
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.IsAuthorizationCodeGrantType">
+            <summary>
+            True when the "grant_type" is "authorization_code".
+            See also http://tools.ietf.org/html/rfc6749#section-4.1.3
+            </summary>    
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.IsClientCredentialsGrantType">
+            <summary>
+            True when the "grant_type" is "client_credentials".
+            See also http://tools.ietf.org/html/rfc6749#section-4.4.2
+            </summary>  
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.IsRefreshTokenGrantType">
+            <summary>
+            True when the "grant_type" is "refresh_token".
+            See also http://tools.ietf.org/html/rfc6749#section-6
+            </summary>    
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.IsResourceOwnerPasswordCredentialsGrantType">
+            <summary>
+            True when the "grant_type" is "password".
+            See also http://tools.ietf.org/html/rfc6749#section-4.3.2
+            </summary>    
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.IsCustomExtensionGrantType">
+            <summary>
+            True when the "grant_type" is unrecognized.
+            See also http://tools.ietf.org/html/rfc6749#section-4.5
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestAuthorizationCode">
+            <summary>
+            Data object used by TokenEndpointRequest when the "grant_type" is "authorization_code".
+            </summary>    
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestAuthorizationCode.Code">
+            <summary>
+            The value passed to the Token endpoint in the "code" parameter
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestAuthorizationCode.RedirectUri">
+            <summary>
+            The value passed to the Token endpoint in the "redirect_uri" parameter. This MUST be provided by the caller
+            if the original visit to the Authorize endpoint contained a "redirect_uri" parameter.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestClientCredentials">
+            <summary>
+            Data object used by TokenEndpointRequest when the "grant_type" is "client_credentials".
+            </summary>    
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestClientCredentials.Scope">
+            <summary>
+            The value passed to the Token endpoint in the "scope" parameter
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestCustomExtension">
+            <summary>
+            Data object used by TokenEndpointRequest which contains parameter information when the "grant_type" is unrecognized.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestCustomExtension.Parameters">
+            <summary>
+            The parameter information when the "grant_type" is unrecognized.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestRefreshToken">
+            <summary>
+            Data object used by TokenEndpointRequest when the "grant_type" parameter is "refresh_token".
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestRefreshToken.RefreshToken">
+            <summary>
+            The value passed to the Token endpoint in the "refresh_token" parameter
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestRefreshToken.Scope">
+            <summary>
+            The value passed to the Token endpoint in the "scope" parameter
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestResourceOwnerPasswordCredentials">
+            <summary>
+            Data object used by TokenEndpointRequest when the "grant_type" is "password".
+            </summary>    
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestResourceOwnerPasswordCredentials.UserName">
+            <summary>
+            The value passed to the Token endpoint in the "username" parameter
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestResourceOwnerPasswordCredentials.Password">
+            <summary>
+            The value passed to the Token endpoint in the "password" parameter
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestResourceOwnerPasswordCredentials.Scope">
+            <summary>
+            The value passed to the Token endpoint in the "scope" parameter
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerMiddleware">
+            <summary>
+            Authorization Server middleware component which is added to an OWIN pipeline. This class is not
+            created by application code directly, instead it is added by calling the the IAppBuilder UseOAuthAuthorizationServer 
+            extension method.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerMiddleware.#ctor(Microsoft.Owin.OwinMiddleware,Owin.IAppBuilder,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions)">
+            <summary>
+            Authorization Server middleware component which is added to an OWIN pipeline. This constructor is not
+            called by application code directly, instead it is added by calling the the IAppBuilder UseOAuthAuthorizationServer 
+            extension method.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerMiddleware.CreateHandler">
+            <summary>
+            Called by the AuthenticationMiddleware base class to create a per-request handler. 
+            </summary>
+            <returns>A new instance of the request handler</returns>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions">
+            <summary>
+            Options class provides information needed to control Authorization Server middleware behavior
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.#ctor">
+            <summary>
+            Creates an instance of authorization server options with default values.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.AuthorizeEndpointPath">
+            <summary>
+            The request path where client applications will redirect the user-agent in order to 
+            obtain user consent to issue a token. Must begin with a leading slash, like "/Authorize".
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.TokenEndpointPath">
+            <summary>
+            The request path client applications communicate with directly as part of the OAuth protocol. 
+            Must begin with a leading slash, like "/Token". If the client is issued a client_secret, it must
+            be provided to this endpoint.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.Provider">
+            <summary>
+            The object provided by the application to process events raised by the Authorization Server middleware.
+            The application may implement the interface fully, or it may create an instance of OAuthAuthorizationServerProvider
+            and assign delegates only to the events it wants to process.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.AuthorizationCodeFormat">
+            <summary>
+            The data format used to protect and unprotect the information contained in the authorization code. 
+            If not provided by the application the default data protection provider depends on the host server. 
+            The SystemWeb host on IIS will use ASP.NET machine key data protection, and HttpListener and other self-hosted
+            servers will use DPAPI data protection.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.AccessTokenFormat">
+            <summary>
+            The data format used to protect the information contained in the access token. 
+            If not provided by the application the default data protection provider depends on the host server. 
+            The SystemWeb host on IIS will use ASP.NET machine key data protection, and HttpListener and other self-hosted
+            servers will use DPAPI data protection. If a different access token
+            provider or format is assigned, a compatible instance must be assigned to the OAuthBearerAuthenticationOptions.AccessTokenProvider 
+            or OAuthBearerAuthenticationOptions.AccessTokenFormat property of the resource server.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.RefreshTokenFormat">
+            <summary>
+            The data format used to protect and unprotect the information contained in the refresh token. 
+            If not provided by the application the default data protection provider depends on the host server. 
+            The SystemWeb host on IIS will use ASP.NET machine key data protection, and HttpListener and other self-hosted
+            servers will use DPAPI data protection.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.AuthorizationCodeExpireTimeSpan">
+            <summary>
+            The period of time the authorization code remains valid after being issued. The default is five minutes.
+            This time span must also take into account clock synchronization between servers in a web farm, so a very 
+            brief value could result in unexpectedly expired tokens.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.AccessTokenExpireTimeSpan">
+            <summary>
+            The period of time the access token remains valid after being issued. The default is twenty minutes.
+            The client application is expected to refresh or acquire a new access token after the token has expired. 
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.AuthorizationCodeProvider">
+            <summary>
+            Produces a single-use authorization code to return to the client application. For the OAuth server to be secure the
+            application MUST provide an instance for AuthorizationCodeProvider where the token produced by the OnCreate or OnCreateAsync event 
+            is considered valid for only one call to OnReceive or OnReceiveAsync. 
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.AccessTokenProvider">
+            <summary>
+            Produces a bearer token the client application will typically be providing to resource server as the authorization bearer 
+            http request header. If not provided the token produced on the server's default data protection. If a different access token
+            provider or format is assigned, a compatible instance must be assigned to the OAuthBearerAuthenticationOptions.AccessTokenProvider 
+            or OAuthBearerAuthenticationOptions.AccessTokenFormat property of the resource server.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.RefreshTokenProvider">
+            <summary>
+            Produces a refresh token which may be used to produce a new access token when needed. If not provided the authorization server will
+            not return refresh tokens from the /Token endpoint.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.ApplicationCanDisplayErrors">
+            <summary>
+            Set to true if the web application is able to render error messages on the /Authorize endpoint. This is only needed for cases where
+            the browser is not redirected back to the client application, for example, when the client_id or redirect_uri are incorrect. The 
+            /Authorize endpoint should expect to see "oauth.Error", "oauth.ErrorDescription", "oauth.ErrorUri" properties added to the owin environment.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.SystemClock">
+            <summary>
+            Used to know what the current clock time is when calculating or validating token expiration. When not assigned default is based on
+            DateTimeOffset.UtcNow. This is typically needed only for unit testing.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.AllowInsecureHttp">
+            <summary>
+            True to allow authorize and token requests to arrive on http URI addresses, and to allow incoming 
+            redirect_uri authorize request parameter to have http URI addresses.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.FormPostEndpoint">
+            <summary>
+            Endpoint responsible for Form Post Response Mode
+            See also, http://openid.net/specs/oauth-v2-form-post-response-mode-1_0.html
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationMiddleware">
+            <summary>
+            Bearer authentication middleware component which is added to an OWIN pipeline. This class is not
+            created by application code directly, instead it is added by calling the the IAppBuilder UseOAuthBearerAuthentication
+            extension method.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationMiddleware.#ctor(Microsoft.Owin.OwinMiddleware,Owin.IAppBuilder,Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationOptions)">
+            <summary>
+            Bearer authentication component which is added to an OWIN pipeline. This constructor is not
+            called by application code directly, instead it is added by calling the the IAppBuilder UseOAuthBearerAuthentication 
+            extension method.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationMiddleware.CreateHandler">
+            <summary>
+            Called by the AuthenticationMiddleware base class to create a per-request handler. 
+            </summary>
+            <returns>A new instance of the request handler</returns>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationOptions">
+            <summary>
+            Options class provides information needed to control Bearer Authentication middleware behavior
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationOptions.#ctor">
+            <summary>
+            Creates an instance of bearer authentication options with default values.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationOptions.Realm">
+            <summary>
+            Determines what realm value is included when the bearer middleware adds a response header to an unauthorized request.
+            If not assigned, the response header does not have a realm.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationOptions.Challenge">
+            <summary>
+            Specifies the full challenge to send to the client, and should start with "Bearer". If a challenge is provided then the
+            Realm property is ignored. If no challenge is specified then one is created using "Bearer" and the value of the Realm
+            property.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationOptions.Provider">
+            <summary>
+            The object provided by the application to process events raised by the bearer authentication middleware.
+            The application may implement the interface fully, or it may create an instance of OAuthBearerAuthenticationProvider
+            and assign delegates only to the events it wants to process.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationOptions.AccessTokenFormat">
+            <summary>
+            The data format used to un-protect the information contained in the access token.
+            If not provided by the application the default data protection provider depends on the host server. 
+            The SystemWeb host on IIS will use ASP.NET machine key data protection, and HttpListener and other self-hosted
+            servers will use DPAPI data protection. If a different access token
+            provider or format is assigned, a compatible instance must be assigned to the OAuthAuthorizationServerOptions.AccessTokenProvider 
+            and OAuthAuthorizationServerOptions.AccessTokenFormat of the authorization server.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationOptions.AccessTokenProvider">
+            <summary>
+            Receives the bearer token the client application will be providing to web application. If not provided the token 
+            produced on the server's default data protection by using the AccessTokenFormat. If a different access token
+            provider or format is assigned, a compatible instance must be assigned to the OAuthAuthorizationServerOptions.AccessTokenProvider 
+            and OAuthAuthorizationServerOptions.AccessTokenFormat of the authorization server.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationOptions.SystemClock">
+            <summary>
+            Used to know what the current clock time is when calculating or validating token expiration. When not assigned default is based on
+            DateTimeOffset.UtcNow. This is typically needed only for unit testing.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.OAuthDefaults">
+            <summary>
+            Default values used by authorization server and bearer authentication.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Owin.Security.OAuth.OAuthDefaults.AuthenticationType">
+            <summary>
+            Default value for AuthenticationType property in the OAuthBearerAuthenticationOptions and
+            OAuthAuthorizationServerOptions.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.BaseValidatingClientContext">
+            <summary>
+            Base class used for certain event contexts
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.BaseValidatingClientContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,System.String)">
+            <summary>
+            Initializes base class used for certain event contexts
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.BaseValidatingClientContext.ClientId">
+            <summary>
+            The "client_id" parameter for the current request. The Authorization Server application is responsible for 
+            validating this value identifies a registered client.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.BaseValidatingContext`1">
+            <summary>
+            Base class used for certain event contexts
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.BaseValidatingContext`1.#ctor(Microsoft.Owin.IOwinContext,`0)">
+            <summary>
+            Initializes base class used for certain event contexts
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.BaseValidatingContext`1.IsValidated">
+            <summary>
+            True if application code has called any of the Validate methods on this context.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.BaseValidatingContext`1.HasError">
+            <summary>
+            True if application code has called any of the SetError methods on this context.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.BaseValidatingContext`1.Error">
+            <summary>
+            The error argument provided when SetError was called on this context. This is eventually
+            returned to the client app as the OAuth "error" parameter.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.BaseValidatingContext`1.ErrorDescription">
+            <summary>
+            The optional errorDescription argument provided when SetError was called on this context. This is eventually
+            returned to the client app as the OAuth "error_description" parameter.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.BaseValidatingContext`1.ErrorUri">
+            <summary>
+            The optional errorUri argument provided when SetError was called on this context. This is eventually
+            returned to the client app as the OAuth "error_uri" parameter.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.BaseValidatingContext`1.Validated">
+            <summary>
+            Marks this context as validated by the application. IsValidated becomes true and HasError becomes false as a result of calling.
+            </summary>
+            <returns>True if the validation has taken effect.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.BaseValidatingContext`1.Rejected">
+            <summary>
+            Marks this context as not validated by the application. IsValidated and HasError become false as a result of calling.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.BaseValidatingContext`1.SetError(System.String)">
+            <summary>
+            Marks this context as not validated by the application and assigns various error information properties. 
+            HasError becomes true and IsValidated becomes false as a result of calling.
+            </summary>
+            <param name="error">Assigned to the Error property</param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.BaseValidatingContext`1.SetError(System.String,System.String)">
+            <summary>
+            Marks this context as not validated by the application and assigns various error information properties. 
+            HasError becomes true and IsValidated becomes false as a result of calling.
+            </summary>
+            <param name="error">Assigned to the Error property</param>
+            <param name="errorDescription">Assigned to the ErrorDescription property</param>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.BaseValidatingContext`1.SetError(System.String,System.String,System.String)">
+            <summary>
+            Marks this context as not validated by the application and assigns various error information properties. 
+            HasError becomes true and IsValidated becomes false as a result of calling.
+            </summary>
+            <param name="error">Assigned to the Error property</param>
+            <param name="errorDescription">Assigned to the ErrorDescription property</param>
+            <param name="errorUri">Assigned to the ErrorUri property</param>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.BaseValidatingTicketContext`1">
+            <summary>
+            Base class used for certain event contexts
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.BaseValidatingTicketContext`1.#ctor(Microsoft.Owin.IOwinContext,`0,Microsoft.Owin.Security.AuthenticationTicket)">
+            <summary>
+            Initializes base class used for certain event contexts
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.BaseValidatingTicketContext`1.Ticket">
+            <summary>
+            Contains the identity and properties for the application to authenticate. If the Validated method
+            is invoked with an AuthenticationTicket or ClaimsIdentity argument, that new value is assigned to 
+            this property in addition to changing IsValidated to true.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.BaseValidatingTicketContext`1.Validated(Microsoft.Owin.Security.AuthenticationTicket)">
+            <summary>
+            Replaces the ticket information on this context and marks it as as validated by the application. 
+            IsValidated becomes true and HasError becomes false as a result of calling.
+            </summary>
+            <param name="ticket">Assigned to the Ticket property</param>
+            <returns>True if the validation has taken effect.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.BaseValidatingTicketContext`1.Validated(System.Security.Claims.ClaimsIdentity)">
+            <summary>
+            Alters the ticket information on this context and marks it as as validated by the application. 
+            IsValidated becomes true and HasError becomes false as a result of calling.
+            </summary>
+            <param name="identity">Assigned to the Ticket.Identity property</param>
+            <returns>True if the validation has taken effect.</returns>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider">
+            <summary>
+            Interface for OAuthAuthorizationServerOptions.Provider property used by Authorization
+            Server to communicate with the web application while processing requests.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.MatchEndpoint(Microsoft.Owin.Security.OAuth.OAuthMatchEndpointContext)">
+            <summary>
+            Called to determine if an incoming request is treated as an Authorize or Token
+            endpoint. If Options.AuthorizeEndpointPath or Options.TokenEndpointPath
+            are assigned values, then handling this event is optional and context.IsAuthorizeEndpoint and context.IsTokenEndpoint
+            will already be true if the request path matches.
+            </summary>
+            <param name="context">The context of the event carries information in and results out.</param>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.ValidateClientRedirectUri(Microsoft.Owin.Security.OAuth.OAuthValidateClientRedirectUriContext)">
+            <summary>
+            Called to validate that the context.ClientId is a registered "client_id", and that the context.RedirectUri a "redirect_uri" 
+            registered for that client. This only occurs when processing the Authorize endpoint. The application MUST implement this
+            call, and it MUST validate both of those factors before calling context.Validated. If the context.Validated method is called
+            with a given redirectUri parameter, then IsValidated will only become true if the incoming redirect URI matches the given redirect URI. 
+            If context.Validated is not called the request will not proceed further. 
+            </summary>
+            <param name="context">The context of the event carries information in and results out.</param>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.ValidateClientAuthentication(Microsoft.Owin.Security.OAuth.OAuthValidateClientAuthenticationContext)">
+            <summary>
+            Called to validate that the origin of the request is a registered "client_id", and that the correct credentials for that client are
+            present on the request. If the web application accepts Basic authentication credentials, 
+            context.TryGetBasicCredentials(out clientId, out clientSecret) may be called to acquire those values if present in the request header. If the web 
+            application accepts "client_id" and "client_secret" as form encoded POST parameters, 
+            context.TryGetFormCredentials(out clientId, out clientSecret) may be called to acquire those values if present in the request body.
+            If context.Validated is not called the request will not proceed further. 
+            </summary>
+            <param name="context">The context of the event carries information in and results out.</param>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.ValidateAuthorizeRequest(Microsoft.Owin.Security.OAuth.OAuthValidateAuthorizeRequestContext)">
+            <summary>
+            Called for each request to the Authorize endpoint to determine if the request is valid and should continue. 
+            The default behavior when using the OAuthAuthorizationServerProvider is to assume well-formed requests, with 
+            validated client redirect URI, should continue processing. An application may add any additional constraints.
+            </summary>
+            <param name="context">The context of the event carries information in and results out.</param>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.ValidateTokenRequest(Microsoft.Owin.Security.OAuth.OAuthValidateTokenRequestContext)">
+            <summary>
+            Called for each request to the Token endpoint to determine if the request is valid and should continue. 
+            The default behavior when using the OAuthAuthorizationServerProvider is to assume well-formed requests, with 
+            validated client credentials, should continue processing. An application may add any additional constraints.
+            </summary>
+            <param name="context">The context of the event carries information in and results out.</param>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.GrantAuthorizationCode(Microsoft.Owin.Security.OAuth.OAuthGrantAuthorizationCodeContext)">
+            <summary>
+            Called when a request to the Token endpoint arrives with a "grant_type" of "authorization_code". This occurs after the Authorize
+            endpoint as redirected the user-agent back to the client with a "code" parameter, and the client is exchanging that for an "access_token".
+            The claims and properties 
+            associated with the authorization code are present in the context.Ticket. The application must call context.Validated to instruct the Authorization
+            Server middleware to issue an access token based on those claims and properties. The call to context.Validated may be given a different
+            AuthenticationTicket or ClaimsIdentity in order to control which information flows from authorization code to access token.
+            The default behavior when using the OAuthAuthorizationServerProvider is to flow information from the authorization code to 
+            the access token unmodified.
+            See also http://tools.ietf.org/html/rfc6749#section-4.1.3
+            </summary>
+            <param name="context">The context of the event carries information in and results out.</param>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.GrantRefreshToken(Microsoft.Owin.Security.OAuth.OAuthGrantRefreshTokenContext)">
+            <summary>
+            Called when a request to the Token endpoint arrives with a "grant_type" of "refresh_token". This occurs if your application has issued a "refresh_token" 
+            along with the "access_token", and the client is attempting to use the "refresh_token" to acquire a new "access_token", and possibly a new "refresh_token".
+            To issue a refresh token the an Options.RefreshTokenProvider must be assigned to create the value which is returned. The claims and properties 
+            associated with the refresh token are present in the context.Ticket. The application must call context.Validated to instruct the 
+            Authorization Server middleware to issue an access token based on those claims and properties. The call to context.Validated may 
+            be given a different AuthenticationTicket or ClaimsIdentity in order to control which information flows from the refresh token to 
+            the access token. The default behavior when using the OAuthAuthorizationServerProvider is to flow information from the refresh token to 
+            the access token unmodified.
+            See also http://tools.ietf.org/html/rfc6749#section-6
+            </summary>
+            <param name="context">The context of the event carries information in and results out.</param>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.GrantResourceOwnerCredentials(Microsoft.Owin.Security.OAuth.OAuthGrantResourceOwnerCredentialsContext)">
+            <summary>
+            Called when a request to the Token endpoint arrives with a "grant_type" of "password". This occurs when the user has provided name and password
+            credentials directly into the client application's user interface, and the client application is using those to acquire an "access_token" and 
+            optional "refresh_token". If the web application supports the
+            resource owner credentials grant type it must validate the context.Username and context.Password as appropriate. To issue an
+            access token the context.Validated must be called with a new ticket containing the claims about the resource owner which should be associated
+            with the access token. The application should take appropriate measures to ensure that the endpoint isn’t abused by malicious callers.  . 
+            The default behavior is to reject this grant type.
+            See also http://tools.ietf.org/html/rfc6749#section-4.3.2
+            </summary>
+            <param name="context">The context of the event carries information in and results out.</param>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.GrantClientCredentials(Microsoft.Owin.Security.OAuth.OAuthGrantClientCredentialsContext)">
+            <summary>
+            Called when a request to the Token endpoint arrives with a "grant_type" of "client_credentials". This occurs when a registered client
+            application wishes to acquire an "access_token" to interact with protected resources on it's own behalf, rather than on behalf of an authenticated user. 
+            If the web application supports the client credentials it may assume the context.ClientId has been validated by the ValidateClientAuthentication call.
+            To issue an access token the context.Validated must be called with a new ticket containing the claims about the client application which should be associated
+            with the access token. The application should take appropriate measures to ensure that the endpoint isn’t abused by malicious callers.
+            The default behavior is to reject this grant type.
+            See also http://tools.ietf.org/html/rfc6749#section-4.4.2
+            </summary>
+            <param name="context">The context of the event carries information in and results out.</param>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.GrantCustomExtension(Microsoft.Owin.Security.OAuth.OAuthGrantCustomExtensionContext)">
+            <summary>
+            Called when a request to the Token andpoint arrives with a "grant_type" of any other value. If the application supports custom grant types
+            it is entirely responsible for determining if the request should result in an access_token. If context.Validated is called with ticket
+            information the response body is produced in the same way as the other standard grant types. If additional response parameters must be
+            included they may be added in the final TokenEndpoint call.
+            See also http://tools.ietf.org/html/rfc6749#section-4.5
+            </summary>
+            <param name="context">The context of the event carries information in and results out.</param>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.AuthorizeEndpoint(Microsoft.Owin.Security.OAuth.OAuthAuthorizeEndpointContext)">
+            <summary>
+            Called at the final stage of an incoming Authorize endpoint request before the execution continues on to the web application component 
+            responsible for producing the html response. Anything present in the OWIN pipeline following the Authorization Server may produce the
+            response for the Authorize page. If running on IIS any ASP.NET technology running on the server may produce the response for the 
+            Authorize page. If the web application wishes to produce the response directly in the AuthorizeEndpoint call it may write to the 
+            context.Response directly and should call context.RequestCompleted to stop other handlers from executing. If the web application wishes
+            to grant the authorization directly in the AuthorizeEndpoint call it cay call context.OwinContext.Authentication.SignIn with the
+            appropriate ClaimsIdentity and should call context.RequestCompleted to stop other handlers from executing.
+            </summary>
+            <param name="context">The context of the event carries information in and results out.</param>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.TokenEndpoint(Microsoft.Owin.Security.OAuth.OAuthTokenEndpointContext)">
+            <summary>
+            Called at the final stage of a successful Token endpoint request. An application may implement this call in order to do any final 
+            modification of the claims being used to issue access or refresh tokens. This call may also be used in order to add additional 
+            response parameters to the Token endpoint's json response body.
+            </summary>
+            <param name="context">The context of the event carries information in and results out.</param>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.AuthorizationEndpointResponse(Microsoft.Owin.Security.OAuth.OAuthAuthorizationEndpointResponseContext)">
+            <summary>
+            Called before the AuthorizationEndpoint redirects its response to the caller. The response could be the
+            token, when using implicit flow or the AuthorizationEndpoint when using authorization code flow.  
+            An application may implement this call in order to do any final modification of the claims being used 
+            to issue access or refresh tokens. This call may also be used in order to add additional 
+            response parameters to the authorization endpoint's response.
+            </summary>
+            <param name="context">The context of the event carries information in and results out.</param>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.TokenEndpointResponse(Microsoft.Owin.Security.OAuth.OAuthTokenEndpointResponseContext)">
+            <summary>
+            Called before the TokenEndpoint redirects its response to the caller. 
+            </summary>
+            <param name="context"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.IOAuthBearerAuthenticationProvider">
+            <summary>
+            Specifies callback methods which the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationMiddleware"></see> invokes to enable developer control over the authentication process. />
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthBearerAuthenticationProvider.RequestToken(Microsoft.Owin.Security.OAuth.OAuthRequestTokenContext)">
+            <summary>
+            Invoked before the <see cref="T:System.Security.Claims.ClaimsIdentity"/> is created. Gives the application an 
+            opportunity to find the identity from a different location, adjust, or reject the token.
+            </summary>
+            <param name="context">Contains the token string.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> representing the completed operation.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthBearerAuthenticationProvider.ValidateIdentity(Microsoft.Owin.Security.OAuth.OAuthValidateIdentityContext)">
+            <summary>
+            Called each time a request identity has been validated by the middleware. By implementing this method the
+            application may alter or reject the identity which has arrived with the request.
+            </summary>
+            <param name="context">Contains information about the login session as well as the user <see cref="T:System.Security.Claims.ClaimsIdentity"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> representing the completed operation.</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthBearerAuthenticationProvider.ApplyChallenge(Microsoft.Owin.Security.OAuth.OAuthChallengeContext)">
+            <summary>
+            Called each time a challenge is being sent to the client. By implementing this method the application
+            may modify the challenge as needed.
+            </summary>
+            <param name="context">Contains the default challenge.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> representing the completed operation.</returns>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider">
+            <summary>
+            Default implementation of IOAuthAuthorizationServerProvider used by Authorization
+            Server to communicate with the web application while processing requests. OAuthAuthorizationServerProvider provides some default behavior, 
+            may be used as a virtual base class, and offers delegate properties which may be used to 
+            handle individual calls without declaring a new class type.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.#ctor">
+            <summary>
+            Creates new instance of default provider behavior
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnMatchEndpoint">
+            <summary>
+            Called to determine if an incoming request is treated as an Authorize or Token
+            endpoint. If Options.AuthorizeEndpointPath or Options.TokenEndpointPath
+            are assigned values, then handling this event is optional and context.IsAuthorizeEndpoint and context.IsTokenEndpoint
+            will already be true if the request path matches.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnValidateClientRedirectUri">
+            <summary>
+            Called to validate that the context.ClientId is a registered "client_id", and that the context.RedirectUri a "redirect_uri" 
+            registered for that client. This only occurs when processing the Authorize endpoint. The application MUST implement this
+            call, and it MUST validate both of those factors before calling context.Validated. If the context.Validated method is called
+            with a given redirectUri parameter, then IsValidated will only become true if the incoming redirect URI matches the given redirect URI. 
+            If context.Validated is not called the request will not proceed further. 
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnValidateClientAuthentication">
+            <summary>
+            Called to validate that the origin of the request is a registered "client_id", and that the correct credentials for that client are
+            present on the request. If the web application accepts Basic authentication credentials, 
+            context.TryGetBasicCredentials(out clientId, out clientSecret) may be called to acquire those values if present in the request header. If the web 
+            application accepts "client_id" and "client_secret" as form encoded POST parameters, 
+            context.TryGetFormCredentials(out clientId, out clientSecret) may be called to acquire those values if present in the request body.
+            If context.Validated is not called the request will not proceed further. 
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnValidateAuthorizeRequest">
+            <summary>
+            Called for each request to the Authorize endpoint to determine if the request is valid and should continue. 
+            The default behavior when using the OAuthAuthorizationServerProvider is to assume well-formed requests, with 
+            validated client redirect URI, should continue processing. An application may add any additional constraints.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnValidateTokenRequest">
+            <summary>
+            Called for each request to the Token endpoint to determine if the request is valid and should continue. 
+            The default behavior when using the OAuthAuthorizationServerProvider is to assume well-formed requests, with 
+            validated client credentials, should continue processing. An application may add any additional constraints.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnGrantAuthorizationCode">
+            <summary>
+            Called when a request to the Token endpoint arrives with a "grant_type" of "authorization_code". This occurs after the Authorize
+            endpoint as redirected the user-agent back to the client with a "code" parameter, and the client is exchanging that for an "access_token".
+            The claims and properties 
+            associated with the authorization code are present in the context.Ticket. The application must call context.Validated to instruct the Authorization
+            Server middleware to issue an access token based on those claims and properties. The call to context.Validated may be given a different
+            AuthenticationTicket or ClaimsIdentity in order to control which information flows from authorization code to access token.
+            The default behavior when using the OAuthAuthorizationServerProvider is to flow information from the authorization code to 
+            the access token unmodified.
+            See also http://tools.ietf.org/html/rfc6749#section-4.1.3
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnGrantResourceOwnerCredentials">
+            <summary>
+            Called when a request to the Token endpoint arrives with a "grant_type" of "password". This occurs when the user has provided name and password
+            credentials directly into the client application's user interface, and the client application is using those to acquire an "access_token" and 
+            optional "refresh_token". If the web application supports the
+            resource owner credentials grant type it must validate the context.Username and context.Password as appropriate. To issue an
+            access token the context.Validated must be called with a new ticket containing the claims about the resource owner which should be associated
+            with the access token. The application should take appropriate measures to ensure that the endpoint isn’t abused by malicious callers.
+            The default behavior is to reject this grant type.
+            See also http://tools.ietf.org/html/rfc6749#section-4.3.2
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnGrantClientCredentials">
+            <summary>
+            Called when a request to the Token endpoint arrives with a "grant_type" of "client_credentials". This occurs when a registered client
+            application wishes to acquire an "access_token" to interact with protected resources on it's own behalf, rather than on behalf of an authenticated user. 
+            If the web application supports the client credentials it may assume the context.ClientId has been validated by the ValidateClientAuthentication call.
+            To issue an access token the context.Validated must be called with a new ticket containing the claims about the client application which should be associated
+            with the access token. The application should take appropriate measures to ensure that the endpoint isn’t abused by malicious callers.
+            The default behavior is to reject this grant type.
+            See also http://tools.ietf.org/html/rfc6749#section-4.4.2
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnGrantRefreshToken">
+            <summary>
+            Called when a request to the Token endpoint arrives with a "grant_type" of "refresh_token". This occurs if your application has issued a "refresh_token" 
+            along with the "access_token", and the client is attempting to use the "refresh_token" to acquire a new "access_token", and possibly a new "refresh_token".
+            To issue a refresh token the an Options.RefreshTokenProvider must be assigned to create the value which is returned. The claims and properties 
+            associated with the refresh token are present in the context.Ticket. The application must call context.Validated to instruct the 
+            Authorization Server middleware to issue an access token based on those claims and properties. The call to context.Validated may 
+            be given a different AuthenticationTicket or ClaimsIdentity in order to control which information flows from the refresh token to 
+            the access token. The default behavior when using the OAuthAuthorizationServerProvider is to flow information from the refresh token to 
+            the access token unmodified.
+            See also http://tools.ietf.org/html/rfc6749#section-6
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnGrantCustomExtension">
+            <summary>
+            Called when a request to the Token andpoint arrives with a "grant_type" of any other value. If the application supports custom grant types
+            it is entirely responsible for determining if the request should result in an access_token. If context.Validated is called with ticket
+            information the response body is produced in the same way as the other standard grant types. If additional response parameters must be
+            included they may be added in the final TokenEndpoint call.
+            See also http://tools.ietf.org/html/rfc6749#section-4.5
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnAuthorizeEndpoint">
+            <summary>
+            Called at the final stage of an incoming Authorize endpoint request before the execution continues on to the web application component 
+            responsible for producing the html response. Anything present in the OWIN pipeline following the Authorization Server may produce the
+            response for the Authorize page. If running on IIS any ASP.NET technology running on the server may produce the response for the 
+            Authorize page. If the web application wishes to produce the response directly in the AuthorizeEndpoint call it may write to the 
+            context.Response directly and should call context.RequestCompleted to stop other handlers from executing. If the web application wishes
+            to grant the authorization directly in the AuthorizeEndpoint call it cay call context.OwinContext.Authentication.SignIn with the
+            appropriate ClaimsIdentity and should call context.RequestCompleted to stop other handlers from executing.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnTokenEndpoint">
+            <summary>
+            Called at the final stage of a successful Token endpoint request. An application may implement this call in order to do any final 
+            modification of the claims being used to issue access or refresh tokens. This call may also be used in order to add additional 
+            response parameters to the Token endpoint's json response body.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnAuthorizationEndpointResponse">
+            <summary>
+            Called before the AuthorizationEndpoint redirects its response to the caller. The response could be the
+            token, when using implicit flow or the AuthorizationEndpoint when using authorization code flow.  
+            An application may implement this call in order to do any final modification of the claims being used 
+            to issue access or refresh tokens. This call may also be used in order to add additional 
+            response parameters to the authorization endpoint's response.
+            </summary>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnTokenEndpointResponse">
+            <summary>
+            Called before the TokenEndpoint redirects its response to the caller. 
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.MatchEndpoint(Microsoft.Owin.Security.OAuth.OAuthMatchEndpointContext)">
+            <summary>
+            Called to determine if an incoming request is treated as an Authorize or Token
+            endpoint. If Options.AuthorizeEndpointPath or Options.TokenEndpointPath
+            are assigned values, then handling this event is optional and context.IsAuthorizeEndpoint and context.IsTokenEndpoint
+            will already be true if the request path matches.
+            </summary>
+            <param name="context">The context of the event carries information in and results out.</param>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.ValidateClientRedirectUri(Microsoft.Owin.Security.OAuth.OAuthValidateClientRedirectUriContext)">
+            <summary>
+            Called to validate that the context.ClientId is a registered "client_id", and that the context.RedirectUri a "redirect_uri" 
+            registered for that client. This only occurs when processing the Authorize endpoint. The application MUST implement this
+            call, and it MUST validate both of those factors before calling context.Validated. If the context.Validated method is called
+            with a given redirectUri parameter, then IsValidated will only become true if the incoming redirect URI matches the given redirect URI. 
+            If context.Validated is not called the request will not proceed further. 
+            </summary>
+            <param name="context">The context of the event carries information in and results out.</param>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.ValidateClientAuthentication(Microsoft.Owin.Security.OAuth.OAuthValidateClientAuthenticationContext)">
+            <summary>
+            Called to validate that the origin of the request is a registered "client_id", and that the correct credentials for that client are
+            present on the request. If the web application accepts Basic authentication credentials, 
+            context.TryGetBasicCredentials(out clientId, out clientSecret) may be called to acquire those values if present in the request header. If the web 
+            application accepts "client_id" and "client_secret" as form encoded POST parameters, 
+            context.TryGetFormCredentials(out clientId, out clientSecret) may be called to acquire those values if present in the request body.
+            If context.Validated is not called the request will not proceed further. 
+            </summary>
+            <param name="context">The context of the event carries information in and results out.</param>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.ValidateAuthorizeRequest(Microsoft.Owin.Security.OAuth.OAuthValidateAuthorizeRequestContext)">
+            <summary>
+            Called for each request to the Authorize endpoint to determine if the request is valid and should continue. 
+            The default behavior when using the OAuthAuthorizationServerProvider is to assume well-formed requests, with 
+            validated client redirect URI, should continue processing. An application may add any additional constraints.
+            </summary>
+            <param name="context">The context of the event carries information in and results out.</param>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.ValidateTokenRequest(Microsoft.Owin.Security.OAuth.OAuthValidateTokenRequestContext)">
+            <summary>
+            Called for each request to the Token endpoint to determine if the request is valid and should continue. 
+            The default behavior when using the OAuthAuthorizationServerProvider is to assume well-formed requests, with 
+            validated client credentials, should continue processing. An application may add any additional constraints.
+            </summary>
+            <param name="context">The context of the event carries information in and results out.</param>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.GrantAuthorizationCode(Microsoft.Owin.Security.OAuth.OAuthGrantAuthorizationCodeContext)">
+            <summary>
+            Called when a request to the Token endpoint arrives with a "grant_type" of "authorization_code". This occurs after the Authorize
+            endpoint as redirected the user-agent back to the client with a "code" parameter, and the client is exchanging that for an "access_token".
+            The claims and properties 
+            associated with the authorization code are present in the context.Ticket. The application must call context.Validated to instruct the Authorization
+            Server middleware to issue an access token based on those claims and properties. The call to context.Validated may be given a different
+            AuthenticationTicket or ClaimsIdentity in order to control which information flows from authorization code to access token.
+            The default behavior when using the OAuthAuthorizationServerProvider is to flow information from the authorization code to 
+            the access token unmodified.
+            See also http://tools.ietf.org/html/rfc6749#section-4.1.3
+            </summary>
+            <param name="context">The context of the event carries information in and results out.</param>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.GrantRefreshToken(Microsoft.Owin.Security.OAuth.OAuthGrantRefreshTokenContext)">
+            <summary>
+            Called when a request to the Token endpoint arrives with a "grant_type" of "refresh_token". This occurs if your application has issued a "refresh_token" 
+            along with the "access_token", and the client is attempting to use the "refresh_token" to acquire a new "access_token", and possibly a new "refresh_token".
+            To issue a refresh token the an Options.RefreshTokenProvider must be assigned to create the value which is returned. The claims and properties 
+            associated with the refresh token are present in the context.Ticket. The application must call context.Validated to instruct the 
+            Authorization Server middleware to issue an access token based on those claims and properties. The call to context.Validated may 
+            be given a different AuthenticationTicket or ClaimsIdentity in order to control which information flows from the refresh token to 
+            the access token. The default behavior when using the OAuthAuthorizationServerProvider is to flow information from the refresh token to 
+            the access token unmodified.
+            See also http://tools.ietf.org/html/rfc6749#section-6
+            </summary>
+            <param name="context">The context of the event carries information in and results out.</param>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.GrantResourceOwnerCredentials(Microsoft.Owin.Security.OAuth.OAuthGrantResourceOwnerCredentialsContext)">
+            <summary>
+            Called when a request to the Token endpoint arrives with a "grant_type" of "password". This occurs when the user has provided name and password
+            credentials directly into the client application's user interface, and the client application is using those to acquire an "access_token" and 
+            optional "refresh_token". If the web application supports the
+            resource owner credentials grant type it must validate the context.Username and context.Password as appropriate. To issue an
+            access token the context.Validated must be called with a new ticket containing the claims about the resource owner which should be associated
+            with the access token. The application should take appropriate measures to ensure that the endpoint isn’t abused by malicious callers.
+            The default behavior is to reject this grant type.
+            See also http://tools.ietf.org/html/rfc6749#section-4.3.2
+            </summary>
+            <param name="context">The context of the event carries information in and results out.</param>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.GrantClientCredentials(Microsoft.Owin.Security.OAuth.OAuthGrantClientCredentialsContext)">
+            <summary>
+            Called when a request to the Token endpoint arrives with a "grant_type" of "client_credentials". This occurs when a registered client
+            application wishes to acquire an "access_token" to interact with protected resources on it's own behalf, rather than on behalf of an authenticated user. 
+            If the web application supports the client credentials it may assume the context.ClientId has been validated by the ValidateClientAuthentication call.
+            To issue an access token the context.Validated must be called with a new ticket containing the claims about the client application which should be associated
+            with the access token. The application should take appropriate measures to ensure that the endpoint isn’t abused by malicious callers.
+            The default behavior is to reject this grant type.
+            See also http://tools.ietf.org/html/rfc6749#section-4.4.2
+            </summary>
+            <param name="context">The context of the event carries information in and results out.</param>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.GrantCustomExtension(Microsoft.Owin.Security.OAuth.OAuthGrantCustomExtensionContext)">
+            <summary>
+            Called when a request to the Token endpoint arrives with a "grant_type" of any other value. If the application supports custom grant types
+            it is entirely responsible for determining if the request should result in an access_token. If context.Validated is called with ticket
+            information the response body is produced in the same way as the other standard grant types. If additional response parameters must be
+            included they may be added in the final TokenEndpoint call.
+            See also http://tools.ietf.org/html/rfc6749#section-4.5
+            </summary>
+            <param name="context">The context of the event carries information in and results out.</param>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.AuthorizeEndpoint(Microsoft.Owin.Security.OAuth.OAuthAuthorizeEndpointContext)">
+            <summary>
+            Called at the final stage of an incoming Authorize endpoint request before the execution continues on to the web application component 
+            responsible for producing the html response. Anything present in the OWIN pipeline following the Authorization Server may produce the
+            response for the Authorize page. If running on IIS any ASP.NET technology running on the server may produce the response for the 
+            Authorize page. If the web application wishes to produce the response directly in the AuthorizeEndpoint call it may write to the 
+            context.Response directly and should call context.RequestCompleted to stop other handlers from executing. If the web application wishes
+            to grant the authorization directly in the AuthorizeEndpoint call it cay call context.OwinContext.Authentication.SignIn with the
+            appropriate ClaimsIdentity and should call context.RequestCompleted to stop other handlers from executing.
+            </summary>
+            <param name="context">The context of the event carries information in and results out.</param>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.TokenEndpoint(Microsoft.Owin.Security.OAuth.OAuthTokenEndpointContext)">
+            <summary>
+            Called at the final stage of a successful Token endpoint request. An application may implement this call in order to do any final 
+            modification of the claims being used to issue access or refresh tokens. This call may also be used in order to add additional 
+            response parameters to the Token endpoint's json response body.
+            </summary>
+            <param name="context">The context of the event carries information in and results out.</param>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.AuthorizationEndpointResponse(Microsoft.Owin.Security.OAuth.OAuthAuthorizationEndpointResponseContext)">
+            <summary>
+            Called before the AuthorizationEndpoint redirects its response to the caller. The response could be the
+            token, when using implicit flow or the AuthorizationEndpoint when using authorization code flow.  
+            An application may implement this call in order to do any final modification of the claims being used 
+            to issue access or refresh tokens. This call may also be used in order to add additional 
+            response parameters to the authorization endpoint's response.
+            </summary>
+            <param name="context">The context of the event carries information in and results out.</param>
+            <returns>Task to enable asynchronous execution</returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.TokenEndpointResponse(Microsoft.Owin.Security.OAuth.OAuthTokenEndpointResponseContext)">
+            <summary>
+            Called before the TokenEndpoint redirects its response to the caller. 
+            </summary>
+            <param name="context"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.OAuthAuthorizeEndpointContext">
+            <summary>
+            An event raised after the Authorization Server has processed the request, but before it is passed on to the web application.
+            Calling RequestCompleted will prevent the request from passing on to the web application.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizeEndpointContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest)">
+            <summary>
+            Creates an instance of this context
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizeEndpointContext.AuthorizeRequest">
+            <summary>
+            Gets OAuth authorization request data.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.OAuthAuthorizationEndpointResponseContext">
+            <summary>
+            Provides context information when processing an Authorization Response
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationEndpointResponseContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,Microsoft.Owin.Security.AuthenticationTicket,Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest,System.String,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthAuthorizationEndpointResponseContext"/> class
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationEndpointResponseContext.Identity">
+            <summary>
+            Gets the identity of the resource owner.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationEndpointResponseContext.Properties">
+            <summary>
+            Dictionary containing the state of the authentication session.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationEndpointResponseContext.AuthorizeEndpointRequest">
+            <summary>
+            Gets information about the authorize endpoint request. 
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationEndpointResponseContext.AdditionalResponseParameters">
+            <summary>
+            Enables additional values to be appended to the token response.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationEndpointResponseContext.AccessToken">
+            <summary>
+            The serialized Access-Token. Depending on the flow, it can be null.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationEndpointResponseContext.AuthorizationCode">
+            <summary>
+            The created Authorization-Code. Depending on the flow, it can be null.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationProvider">
+            <summary>
+            OAuth bearer token middleware provider
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationProvider.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationProvider"/> class
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationProvider.OnRequestToken">
+            <summary>
+            Handles processing OAuth bearer token.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationProvider.OnValidateIdentity">
+            <summary>
+            Handles validating the identity produced from an OAuth bearer token.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationProvider.OnApplyChallenge">
+            <summary>
+            Handles applying the authentication challenge to the response message.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationProvider.RequestToken(Microsoft.Owin.Security.OAuth.OAuthRequestTokenContext)">
+            <summary>
+            Handles processing OAuth bearer token.
+            </summary>
+            <param name="context"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationProvider.ValidateIdentity(Microsoft.Owin.Security.OAuth.OAuthValidateIdentityContext)">
+            <summary>
+            Handles validating the identity produced from an OAuth bearer token.
+            </summary>
+            <param name="context"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationProvider.ApplyChallenge(Microsoft.Owin.Security.OAuth.OAuthChallengeContext)">
+            <summary>
+            Handles applying the authentication challenge to the response message.
+            </summary>
+            <param name="context"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.OAuthChallengeContext">
+            <summary>
+            Specifies the HTTP response header for the bearer authentication scheme.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthChallengeContext.#ctor(Microsoft.Owin.IOwinContext,System.String)">
+            <summary>
+            Initializes a new <see cref="T:Microsoft.Owin.Security.OAuth.OAuthRequestTokenContext"/>
+            </summary>
+            <param name="context">OWIN environment</param>
+            <param name="challenge">The www-authenticate header value.</param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthChallengeContext.Challenge">
+            <summary>
+            The www-authenticate header value.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.OAuthGrantAuthorizationCodeContext">
+            <summary>
+            Provides context information when handling an OAuth authorization code grant.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthGrantAuthorizationCodeContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,Microsoft.Owin.Security.AuthenticationTicket)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthGrantAuthorizationCodeContext"/> class
+            </summary>
+            <param name="context"></param>
+            <param name="options"></param>
+            <param name="ticket"></param>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.OAuthGrantClientCredentialsContext">
+            <summary>
+            Provides context information used in handling an OAuth client credentials grant.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthGrantClientCredentialsContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,System.String,System.Collections.Generic.IList{System.String})">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthGrantClientCredentialsContext"/> class
+            </summary>
+            <param name="context"></param>
+            <param name="options"></param>
+            <param name="clientId"></param>
+            <param name="scope"></param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthGrantClientCredentialsContext.ClientId">
+            <summary>
+            OAuth client id.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthGrantClientCredentialsContext.Scope">
+            <summary>
+            List of scopes allowed by the resource owner.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.OAuthGrantCustomExtensionContext">
+            <summary>
+            Provides context information used when handling OAuth extension grant types.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthGrantCustomExtensionContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,System.String,System.String,Microsoft.Owin.IReadableStringCollection)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthGrantCustomExtensionContext"/> class
+            </summary>
+            <param name="context"></param>
+            <param name="options"></param>
+            <param name="clientId"></param>
+            <param name="grantType"></param>
+            <param name="parameters"></param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthGrantCustomExtensionContext.ClientId">
+            <summary>
+            Gets the OAuth client id.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthGrantCustomExtensionContext.GrantType">
+            <summary>
+            Gets the name of the OAuth extension grant type.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthGrantCustomExtensionContext.Parameters">
+            <summary>
+            Gets a list of additional parameters from the token request.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.OAuthGrantRefreshTokenContext">
+            <summary>
+            Provides context information used when granting an OAuth refresh token.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthGrantRefreshTokenContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,Microsoft.Owin.Security.AuthenticationTicket,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthGrantRefreshTokenContext"/> class
+            </summary>
+            <param name="context"></param>
+            <param name="options"></param>
+            <param name="ticket"></param>
+            <param name="clientId"></param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthGrantRefreshTokenContext.ClientId">
+            <summary>
+            The OAuth client id.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.OAuthGrantResourceOwnerCredentialsContext">
+            <summary>
+            Provides context information used in handling an OAuth resource owner grant.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthGrantResourceOwnerCredentialsContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,System.String,System.String,System.String,System.Collections.Generic.IList{System.String})">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthGrantResourceOwnerCredentialsContext"/> class
+            </summary>
+            <param name="context"></param>
+            <param name="options"></param>
+            <param name="clientId"></param>
+            <param name="userName"></param>
+            <param name="password"></param>
+            <param name="scope"></param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthGrantResourceOwnerCredentialsContext.ClientId">
+            <summary>
+            OAuth client id.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthGrantResourceOwnerCredentialsContext.UserName">
+            <summary>
+            Resource owner username.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthGrantResourceOwnerCredentialsContext.Password">
+            <summary>
+            Resource owner password.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthGrantResourceOwnerCredentialsContext.Scope">
+            <summary>
+            List of scopes allowed by the resource owner.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.OAuthMatchEndpointContext">
+            <summary>
+            Provides context information used when determining the OAuth flow type based on the request.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthMatchEndpointContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthMatchEndpointContext"/> class
+            </summary>
+            <param name="context"></param>
+            <param name="options"></param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthMatchEndpointContext.IsAuthorizeEndpoint">
+            <summary>
+            Gets whether or not the endpoint is an OAuth authorize endpoint.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthMatchEndpointContext.IsTokenEndpoint">
+            <summary>
+            Gets whether or not the endpoint is an OAuth token endpoint.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthMatchEndpointContext.MatchesAuthorizeEndpoint">
+            <summary>
+            Sets the endpoint type to authorize endpoint.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthMatchEndpointContext.MatchesTokenEndpoint">
+            <summary>
+            Sets the endpoint type to token endpoint.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthMatchEndpointContext.MatchesNothing">
+            <summary>
+            Sets the endpoint type to neither authorize nor token.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.OAuthRequestTokenContext">
+            <summary>
+            Specifies the HTTP request header for the bearer authentication scheme.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthRequestTokenContext.#ctor(Microsoft.Owin.IOwinContext,System.String)">
+            <summary>
+            Initializes a new <see cref="T:Microsoft.Owin.Security.OAuth.OAuthRequestTokenContext"/>
+            </summary>
+            <param name="context">OWIN environment</param>
+            <param name="token">The authorization header value.</param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthRequestTokenContext.Token">
+            <summary>
+            The authorization header value
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointContext">
+            <summary>
+            Provides context information used when processing an OAuth token request.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,Microsoft.Owin.Security.AuthenticationTicket,Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointContext"/> class
+            </summary>
+            <param name="context"></param>
+            <param name="options"></param>
+            <param name="ticket"></param>
+            <param name="tokenEndpointRequest"></param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointContext.Identity">
+            <summary>
+            Gets the identity of the resource owner.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointContext.Properties">
+            <summary>
+            Dictionary containing the state of the authentication session.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointContext.TokenEndpointRequest">
+            <summary>
+            Gets information about the token endpoint request. 
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointContext.TokenIssued">
+            <summary>
+            Gets whether or not the token should be issued.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointContext.AdditionalResponseParameters">
+            <summary>
+            Enables additional values to be appended to the token response.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointContext.Issue(System.Security.Claims.ClaimsIdentity,Microsoft.Owin.Security.AuthenticationProperties)">
+            <summary>
+            Issues the token.
+            </summary>
+            <param name="identity"></param>
+            <param name="properties"></param>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointResponseContext">
+            <summary>
+            Provides context information used at the end of a token-endpoint-request.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointResponseContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,Microsoft.Owin.Security.AuthenticationTicket,Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest,System.String,System.Collections.Generic.IDictionary{System.String,System.Object})">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointResponseContext"/> class
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointResponseContext.Identity">
+            <summary>
+            Gets the identity of the resource owner.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointResponseContext.Properties">
+            <summary>
+            Dictionary containing the state of the authentication session.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointResponseContext.AccessToken">
+            <summary>
+            The issued Access-Token
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointResponseContext.TokenEndpointRequest">
+            <summary>
+            Gets information about the token endpoint request. 
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointResponseContext.TokenIssued">
+            <summary>
+            Gets whether or not the token should be issued.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointResponseContext.AdditionalResponseParameters">
+            <summary>
+            Enables additional values to be appended to the token response.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointResponseContext.Issue(System.Security.Claims.ClaimsIdentity,Microsoft.Owin.Security.AuthenticationProperties)">
+            <summary>
+            Issues the token.
+            </summary>
+            <param name="identity"></param>
+            <param name="properties"></param>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.OAuthValidateAuthorizeRequestContext">
+            <summary>
+            Provides context information used in validating an OAuth authorization request.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthValidateAuthorizeRequestContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest,Microsoft.Owin.Security.OAuth.OAuthValidateClientRedirectUriContext)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthValidateAuthorizeRequestContext"/> class
+            </summary>
+            <param name="context"></param>
+            <param name="options"></param>
+            <param name="authorizeRequest"></param>
+            <param name="clientContext"></param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthValidateAuthorizeRequestContext.AuthorizeRequest">
+            <summary>
+            Gets OAuth authorization request data.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthValidateAuthorizeRequestContext.ClientContext">
+            <summary>
+            Gets data about the OAuth client. 
+            </summary>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.OAuthValidateClientAuthenticationContext">
+            <summary>
+            Contains information about the client credentials.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthValidateClientAuthenticationContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,Microsoft.Owin.IReadableStringCollection)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthValidateClientAuthenticationContext"/> class
+            </summary>
+            <param name="context"></param>
+            <param name="options"></param>
+            <param name="parameters"></param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthValidateClientAuthenticationContext.Parameters">
+            <summary>
+            Gets the set of form parameters from the request.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthValidateClientAuthenticationContext.Validated(System.String)">
+            <summary>
+            Sets the client id and marks the context as validated by the application.
+            </summary>
+            <param name="clientId"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthValidateClientAuthenticationContext.TryGetBasicCredentials(System.String@,System.String@)">
+            <summary>
+            Extracts HTTP basic authentication credentials from the HTTP authenticate header.
+            </summary>
+            <param name="clientId"></param>
+            <param name="clientSecret"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthValidateClientAuthenticationContext.TryGetFormCredentials(System.String@,System.String@)">
+            <summary>
+            Extracts forms authentication credentials from the HTTP request body.
+            </summary>
+            <param name="clientId"></param>
+            <param name="clientSecret"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.OAuthValidateClientRedirectUriContext">
+            <summary>
+            Contains data about the OAuth client redirect URI
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthValidateClientRedirectUriContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,System.String,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthValidateClientRedirectUriContext"/> class
+            </summary>
+            <param name="context"></param>
+            <param name="options"></param>
+            <param name="clientId"></param>
+            <param name="redirectUri"></param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthValidateClientRedirectUriContext.RedirectUri">
+            <summary>
+            Gets the client redirect URI
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthValidateClientRedirectUriContext.Validated">
+            <summary>
+            Marks this context as validated by the application. IsValidated becomes true and HasError becomes false as a result of calling.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthValidateClientRedirectUriContext.Validated(System.String)">
+            <summary>
+            Checks the redirect URI to determine whether it equals <see cref="P:Microsoft.Owin.Security.OAuth.OAuthValidateClientRedirectUriContext.RedirectUri"/>.
+            </summary>
+            <param name="redirectUri"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.OAuthValidateIdentityContext">
+            <summary>
+            Contains the authentication ticket data from an OAuth bearer token.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthValidateIdentityContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationOptions,Microsoft.Owin.Security.AuthenticationTicket)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthValidateIdentityContext"/> class
+            </summary>
+            <param name="context"></param>
+            <param name="options"></param>
+            <param name="ticket"></param>
+        </member>
+        <member name="T:Microsoft.Owin.Security.OAuth.OAuthValidateTokenRequestContext">
+            <summary>
+            Provides context information used in validating an OAuth token request.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Owin.Security.OAuth.OAuthValidateTokenRequestContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest,Microsoft.Owin.Security.OAuth.BaseValidatingClientContext)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthValidateTokenRequestContext"/> class
+            </summary>
+            <param name="context"></param>
+            <param name="options"></param>
+            <param name="tokenRequest"></param>
+            <param name="clientContext"></param>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthValidateTokenRequestContext.TokenRequest">
+            <summary>
+            Gets the token request data.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Owin.Security.OAuth.OAuthValidateTokenRequestContext.ClientContext">
+            <summary>
+            Gets information about the client.
+            </summary>
+        </member>
+        <member name="T:Owin.OAuthAuthorizationServerExtensions">
+            <summary>
+            Extension methods to add Authorization Server capabilities to an OWIN pipeline
+            </summary>
+        </member>
+        <member name="M:Owin.OAuthAuthorizationServerExtensions.UseOAuthAuthorizationServer(Owin.IAppBuilder,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions)">
+            <summary>
+            Adds OAuth2 Authorization Server capabilities to an OWIN web application. This middleware
+            performs the request processing for the Authorize and Token endpoints defined by the OAuth2 specification.
+            See also http://tools.ietf.org/html/rfc6749
+            </summary>
+            <param name="app">The web application builder</param>
+            <param name="options">Options which control the behavior of the Authorization Server.</param>
+            <returns>The application builder</returns>
+        </member>
+        <member name="T:Owin.OAuthBearerAuthenticationExtensions">
+            <summary>
+            Extension methods to add OAuth Bearer authentication capabilities to an OWIN application pipeline
+            </summary>
+        </member>
+        <member name="M:Owin.OAuthBearerAuthenticationExtensions.UseOAuthBearerAuthentication(Owin.IAppBuilder,Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationOptions)">
+            <summary>
+            Adds Bearer token processing to an OWIN application pipeline. This middleware understands appropriately
+            formatted and secured tokens which appear in the request header. If the Options.AuthenticationMode is Active, the
+            claims within the bearer token are added to the current request's IPrincipal User. If the Options.AuthenticationMode 
+            is Passive, then the current request is not modified, but IAuthenticationManager AuthenticateAsync may be used at
+            any time to obtain the claims from the request's bearer token.
+            See also http://tools.ietf.org/html/rfc6749
+            </summary>
+            <param name="app">The web application builder</param>
+            <param name="options">Options which control the processing of the bearer header.</param>
+            <returns>The application builder</returns>
+        </member>
+    </members>
+</doc>
Index: ckages/Microsoft.Owin.Security.OAuth.4.2.3/lib/net45/Microsoft.Owin.Security.OAuth.xml
===================================================================
--- packages/Microsoft.Owin.Security.OAuth.4.2.3/lib/net45/Microsoft.Owin.Security.OAuth.xml	(revision 86ead58f2bf934ca2213da860197621c1e93417d)
+++ 	(revision )
@@ -1,1627 +1,0 @@
-<?xml version="1.0"?>
-<doc>
-    <assembly>
-        <name>Microsoft.Owin.Security.OAuth</name>
-    </assembly>
-    <members>
-        <member name="T:Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest">
-            <summary>
-            Data object representing the information contained in the query string of an Authorize endpoint request.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest.#ctor(Microsoft.Owin.IReadableStringCollection)">
-            <summary>
-            Creates a new instance populated with values from the query string parameters.
-            </summary>
-            <param name="parameters">Query string parameters from a request.</param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest.ResponseType">
-            <summary>
-            The "response_type" query string parameter of the Authorize request. Known values are "code" and "token".
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest.ResponseMode">
-            <summary>
-            The "response_mode" query string parameter of the Authorize request. Known values are "query", "fragment" and "form_post"
-            See also, http://openid.net/specs/oauth-v2-form-post-response-mode-1_0.html
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest.ClientId">
-            <summary>
-            The "client_id" query string parameter of the Authorize request. 
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest.RedirectUri">
-            <summary>
-            The "redirect_uri" query string parameter of the Authorize request. May be absent if the server should use the 
-            redirect uri known to be registered to the client id.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest.Scope">
-            <summary>
-            The "scope" query string parameter of the Authorize request. May be absent if the server should use default scopes.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest.State">
-            <summary>
-            The "state" query string parameter of the Authorize request. May be absent if the client does not require state to be 
-            included when returning to the RedirectUri.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest.IsAuthorizationCodeGrantType">
-            <summary>
-            True if the "response_type" query string parameter is "code".
-            See also, http://tools.ietf.org/html/rfc6749#section-4.1.1
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest.IsImplicitGrantType">
-            <summary>
-            True if the "response_type" query string parameter is "token".
-            See also, http://tools.ietf.org/html/rfc6749#section-4.2.1
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest.ContainsGrantType(System.String)">
-            <summary>
-            True if the "response_type" query string contains the passed responseType.
-            See also, http://openid.net/specs/oauth-v2-multiple-response-types-1_0.html
-            </summary>
-            <param name="responseType">The responseType that is expected within the "response_type" query string</param>
-            <returns>True if the "response_type" query string contains the passed responseType.</returns>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest">
-            <summary>
-            Data object representing the information contained in form encoded body of a Token endpoint request.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.#ctor(Microsoft.Owin.IReadableStringCollection)">
-            <summary>
-            Creates a new instance populated with values from the form encoded body parameters.
-            </summary>
-            <param name="parameters">Form encoded body parameters from a request.</param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.Parameters">
-            <summary>
-            The form encoded body parameters of the Token endpoint request
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.GrantType">
-            <summary>
-            The "grant_type" parameter of the Token endpoint request. This parameter is required.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.ClientId">
-            <summary>
-            The "client_id" parameter of the Token endpoint request. This parameter is optional. It might not
-            be present if the request is authenticated in a different way, for example, by using basic authentication
-            credentials.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.AuthorizationCodeGrant">
-            <summary>
-            Data object available when the "grant_type" is "authorization_code".
-            See also http://tools.ietf.org/html/rfc6749#section-4.1.3
-            </summary>    
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.ClientCredentialsGrant">
-            <summary>
-            Data object available when the "grant_type" is "client_credentials".
-            See also http://tools.ietf.org/html/rfc6749#section-4.4.2
-            </summary>    
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.RefreshTokenGrant">
-            <summary>
-            Data object available when the "grant_type" is "refresh_token".
-            See also http://tools.ietf.org/html/rfc6749#section-6
-            </summary>    
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.ResourceOwnerPasswordCredentialsGrant">
-            <summary>
-            Data object available when the "grant_type" is "password".
-            See also http://tools.ietf.org/html/rfc6749#section-4.3.2
-            </summary>    
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.CustomExtensionGrant">
-            <summary>
-            Data object available when the "grant_type" is unrecognized.
-            See also http://tools.ietf.org/html/rfc6749#section-4.5
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.IsAuthorizationCodeGrantType">
-            <summary>
-            True when the "grant_type" is "authorization_code".
-            See also http://tools.ietf.org/html/rfc6749#section-4.1.3
-            </summary>    
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.IsClientCredentialsGrantType">
-            <summary>
-            True when the "grant_type" is "client_credentials".
-            See also http://tools.ietf.org/html/rfc6749#section-4.4.2
-            </summary>  
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.IsRefreshTokenGrantType">
-            <summary>
-            True when the "grant_type" is "refresh_token".
-            See also http://tools.ietf.org/html/rfc6749#section-6
-            </summary>    
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.IsResourceOwnerPasswordCredentialsGrantType">
-            <summary>
-            True when the "grant_type" is "password".
-            See also http://tools.ietf.org/html/rfc6749#section-4.3.2
-            </summary>    
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest.IsCustomExtensionGrantType">
-            <summary>
-            True when the "grant_type" is unrecognized.
-            See also http://tools.ietf.org/html/rfc6749#section-4.5
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestAuthorizationCode">
-            <summary>
-            Data object used by TokenEndpointRequest when the "grant_type" is "authorization_code".
-            </summary>    
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestAuthorizationCode.Code">
-            <summary>
-            The value passed to the Token endpoint in the "code" parameter
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestAuthorizationCode.RedirectUri">
-            <summary>
-            The value passed to the Token endpoint in the "redirect_uri" parameter. This MUST be provided by the caller
-            if the original visit to the Authorize endpoint contained a "redirect_uri" parameter.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestClientCredentials">
-            <summary>
-            Data object used by TokenEndpointRequest when the "grant_type" is "client_credentials".
-            </summary>    
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestClientCredentials.Scope">
-            <summary>
-            The value passed to the Token endpoint in the "scope" parameter
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestCustomExtension">
-            <summary>
-            Data object used by TokenEndpointRequest which contains parameter information when the "grant_type" is unrecognized.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestCustomExtension.Parameters">
-            <summary>
-            The parameter information when the "grant_type" is unrecognized.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestRefreshToken">
-            <summary>
-            Data object used by TokenEndpointRequest when the "grant_type" parameter is "refresh_token".
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestRefreshToken.RefreshToken">
-            <summary>
-            The value passed to the Token endpoint in the "refresh_token" parameter
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestRefreshToken.Scope">
-            <summary>
-            The value passed to the Token endpoint in the "scope" parameter
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestResourceOwnerPasswordCredentials">
-            <summary>
-            Data object used by TokenEndpointRequest when the "grant_type" is "password".
-            </summary>    
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestResourceOwnerPasswordCredentials.UserName">
-            <summary>
-            The value passed to the Token endpoint in the "username" parameter
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestResourceOwnerPasswordCredentials.Password">
-            <summary>
-            The value passed to the Token endpoint in the "password" parameter
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequestResourceOwnerPasswordCredentials.Scope">
-            <summary>
-            The value passed to the Token endpoint in the "scope" parameter
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerMiddleware">
-            <summary>
-            Authorization Server middleware component which is added to an OWIN pipeline. This class is not
-            created by application code directly, instead it is added by calling the the IAppBuilder UseOAuthAuthorizationServer 
-            extension method.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerMiddleware.#ctor(Microsoft.Owin.OwinMiddleware,Owin.IAppBuilder,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions)">
-            <summary>
-            Authorization Server middleware component which is added to an OWIN pipeline. This constructor is not
-            called by application code directly, instead it is added by calling the the IAppBuilder UseOAuthAuthorizationServer 
-            extension method.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerMiddleware.CreateHandler">
-            <summary>
-            Called by the AuthenticationMiddleware base class to create a per-request handler. 
-            </summary>
-            <returns>A new instance of the request handler</returns>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions">
-            <summary>
-            Options class provides information needed to control Authorization Server middleware behavior
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.#ctor">
-            <summary>
-            Creates an instance of authorization server options with default values.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.AuthorizeEndpointPath">
-            <summary>
-            The request path where client applications will redirect the user-agent in order to 
-            obtain user consent to issue a token. Must begin with a leading slash, like "/Authorize".
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.TokenEndpointPath">
-            <summary>
-            The request path client applications communicate with directly as part of the OAuth protocol. 
-            Must begin with a leading slash, like "/Token". If the client is issued a client_secret, it must
-            be provided to this endpoint.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.Provider">
-            <summary>
-            The object provided by the application to process events raised by the Authorization Server middleware.
-            The application may implement the interface fully, or it may create an instance of OAuthAuthorizationServerProvider
-            and assign delegates only to the events it wants to process.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.AuthorizationCodeFormat">
-            <summary>
-            The data format used to protect and unprotect the information contained in the authorization code. 
-            If not provided by the application the default data protection provider depends on the host server. 
-            The SystemWeb host on IIS will use ASP.NET machine key data protection, and HttpListener and other self-hosted
-            servers will use DPAPI data protection.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.AccessTokenFormat">
-            <summary>
-            The data format used to protect the information contained in the access token. 
-            If not provided by the application the default data protection provider depends on the host server. 
-            The SystemWeb host on IIS will use ASP.NET machine key data protection, and HttpListener and other self-hosted
-            servers will use DPAPI data protection. If a different access token
-            provider or format is assigned, a compatible instance must be assigned to the OAuthBearerAuthenticationOptions.AccessTokenProvider 
-            or OAuthBearerAuthenticationOptions.AccessTokenFormat property of the resource server.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.RefreshTokenFormat">
-            <summary>
-            The data format used to protect and unprotect the information contained in the refresh token. 
-            If not provided by the application the default data protection provider depends on the host server. 
-            The SystemWeb host on IIS will use ASP.NET machine key data protection, and HttpListener and other self-hosted
-            servers will use DPAPI data protection.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.AuthorizationCodeExpireTimeSpan">
-            <summary>
-            The period of time the authorization code remains valid after being issued. The default is five minutes.
-            This time span must also take into account clock synchronization between servers in a web farm, so a very 
-            brief value could result in unexpectedly expired tokens.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.AccessTokenExpireTimeSpan">
-            <summary>
-            The period of time the access token remains valid after being issued. The default is twenty minutes.
-            The client application is expected to refresh or acquire a new access token after the token has expired. 
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.AuthorizationCodeProvider">
-            <summary>
-            Produces a single-use authorization code to return to the client application. For the OAuth server to be secure the
-            application MUST provide an instance for AuthorizationCodeProvider where the token produced by the OnCreate or OnCreateAsync event 
-            is considered valid for only one call to OnReceive or OnReceiveAsync. 
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.AccessTokenProvider">
-            <summary>
-            Produces a bearer token the client application will typically be providing to resource server as the authorization bearer 
-            http request header. If not provided the token produced on the server's default data protection. If a different access token
-            provider or format is assigned, a compatible instance must be assigned to the OAuthBearerAuthenticationOptions.AccessTokenProvider 
-            or OAuthBearerAuthenticationOptions.AccessTokenFormat property of the resource server.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.RefreshTokenProvider">
-            <summary>
-            Produces a refresh token which may be used to produce a new access token when needed. If not provided the authorization server will
-            not return refresh tokens from the /Token endpoint.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.ApplicationCanDisplayErrors">
-            <summary>
-            Set to true if the web application is able to render error messages on the /Authorize endpoint. This is only needed for cases where
-            the browser is not redirected back to the client application, for example, when the client_id or redirect_uri are incorrect. The 
-            /Authorize endpoint should expect to see "oauth.Error", "oauth.ErrorDescription", "oauth.ErrorUri" properties added to the owin environment.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.SystemClock">
-            <summary>
-            Used to know what the current clock time is when calculating or validating token expiration. When not assigned default is based on
-            DateTimeOffset.UtcNow. This is typically needed only for unit testing.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.AllowInsecureHttp">
-            <summary>
-            True to allow authorize and token requests to arrive on http URI addresses, and to allow incoming 
-            redirect_uri authorize request parameter to have http URI addresses.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions.FormPostEndpoint">
-            <summary>
-            Endpoint responsible for Form Post Response Mode
-            See also, http://openid.net/specs/oauth-v2-form-post-response-mode-1_0.html
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationMiddleware">
-            <summary>
-            Bearer authentication middleware component which is added to an OWIN pipeline. This class is not
-            created by application code directly, instead it is added by calling the the IAppBuilder UseOAuthBearerAuthentication
-            extension method.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationMiddleware.#ctor(Microsoft.Owin.OwinMiddleware,Owin.IAppBuilder,Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationOptions)">
-            <summary>
-            Bearer authentication component which is added to an OWIN pipeline. This constructor is not
-            called by application code directly, instead it is added by calling the the IAppBuilder UseOAuthBearerAuthentication 
-            extension method.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationMiddleware.CreateHandler">
-            <summary>
-            Called by the AuthenticationMiddleware base class to create a per-request handler. 
-            </summary>
-            <returns>A new instance of the request handler</returns>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationOptions">
-            <summary>
-            Options class provides information needed to control Bearer Authentication middleware behavior
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationOptions.#ctor">
-            <summary>
-            Creates an instance of bearer authentication options with default values.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationOptions.Realm">
-            <summary>
-            Determines what realm value is included when the bearer middleware adds a response header to an unauthorized request.
-            If not assigned, the response header does not have a realm.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationOptions.Challenge">
-            <summary>
-            Specifies the full challenge to send to the client, and should start with "Bearer". If a challenge is provided then the
-            Realm property is ignored. If no challenge is specified then one is created using "Bearer" and the value of the Realm
-            property.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationOptions.Provider">
-            <summary>
-            The object provided by the application to process events raised by the bearer authentication middleware.
-            The application may implement the interface fully, or it may create an instance of OAuthBearerAuthenticationProvider
-            and assign delegates only to the events it wants to process.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationOptions.AccessTokenFormat">
-            <summary>
-            The data format used to un-protect the information contained in the access token.
-            If not provided by the application the default data protection provider depends on the host server. 
-            The SystemWeb host on IIS will use ASP.NET machine key data protection, and HttpListener and other self-hosted
-            servers will use DPAPI data protection. If a different access token
-            provider or format is assigned, a compatible instance must be assigned to the OAuthAuthorizationServerOptions.AccessTokenProvider 
-            and OAuthAuthorizationServerOptions.AccessTokenFormat of the authorization server.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationOptions.AccessTokenProvider">
-            <summary>
-            Receives the bearer token the client application will be providing to web application. If not provided the token 
-            produced on the server's default data protection by using the AccessTokenFormat. If a different access token
-            provider or format is assigned, a compatible instance must be assigned to the OAuthAuthorizationServerOptions.AccessTokenProvider 
-            and OAuthAuthorizationServerOptions.AccessTokenFormat of the authorization server.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationOptions.SystemClock">
-            <summary>
-            Used to know what the current clock time is when calculating or validating token expiration. When not assigned default is based on
-            DateTimeOffset.UtcNow. This is typically needed only for unit testing.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.OAuthDefaults">
-            <summary>
-            Default values used by authorization server and bearer authentication.
-            </summary>
-        </member>
-        <member name="F:Microsoft.Owin.Security.OAuth.OAuthDefaults.AuthenticationType">
-            <summary>
-            Default value for AuthenticationType property in the OAuthBearerAuthenticationOptions and
-            OAuthAuthorizationServerOptions.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.BaseValidatingClientContext">
-            <summary>
-            Base class used for certain event contexts
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.BaseValidatingClientContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,System.String)">
-            <summary>
-            Initializes base class used for certain event contexts
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.BaseValidatingClientContext.ClientId">
-            <summary>
-            The "client_id" parameter for the current request. The Authorization Server application is responsible for 
-            validating this value identifies a registered client.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.BaseValidatingContext`1">
-            <summary>
-            Base class used for certain event contexts
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.BaseValidatingContext`1.#ctor(Microsoft.Owin.IOwinContext,`0)">
-            <summary>
-            Initializes base class used for certain event contexts
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.BaseValidatingContext`1.IsValidated">
-            <summary>
-            True if application code has called any of the Validate methods on this context.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.BaseValidatingContext`1.HasError">
-            <summary>
-            True if application code has called any of the SetError methods on this context.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.BaseValidatingContext`1.Error">
-            <summary>
-            The error argument provided when SetError was called on this context. This is eventually
-            returned to the client app as the OAuth "error" parameter.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.BaseValidatingContext`1.ErrorDescription">
-            <summary>
-            The optional errorDescription argument provided when SetError was called on this context. This is eventually
-            returned to the client app as the OAuth "error_description" parameter.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.BaseValidatingContext`1.ErrorUri">
-            <summary>
-            The optional errorUri argument provided when SetError was called on this context. This is eventually
-            returned to the client app as the OAuth "error_uri" parameter.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.BaseValidatingContext`1.Validated">
-            <summary>
-            Marks this context as validated by the application. IsValidated becomes true and HasError becomes false as a result of calling.
-            </summary>
-            <returns>True if the validation has taken effect.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.BaseValidatingContext`1.Rejected">
-            <summary>
-            Marks this context as not validated by the application. IsValidated and HasError become false as a result of calling.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.BaseValidatingContext`1.SetError(System.String)">
-            <summary>
-            Marks this context as not validated by the application and assigns various error information properties. 
-            HasError becomes true and IsValidated becomes false as a result of calling.
-            </summary>
-            <param name="error">Assigned to the Error property</param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.BaseValidatingContext`1.SetError(System.String,System.String)">
-            <summary>
-            Marks this context as not validated by the application and assigns various error information properties. 
-            HasError becomes true and IsValidated becomes false as a result of calling.
-            </summary>
-            <param name="error">Assigned to the Error property</param>
-            <param name="errorDescription">Assigned to the ErrorDescription property</param>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.BaseValidatingContext`1.SetError(System.String,System.String,System.String)">
-            <summary>
-            Marks this context as not validated by the application and assigns various error information properties. 
-            HasError becomes true and IsValidated becomes false as a result of calling.
-            </summary>
-            <param name="error">Assigned to the Error property</param>
-            <param name="errorDescription">Assigned to the ErrorDescription property</param>
-            <param name="errorUri">Assigned to the ErrorUri property</param>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.BaseValidatingTicketContext`1">
-            <summary>
-            Base class used for certain event contexts
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.BaseValidatingTicketContext`1.#ctor(Microsoft.Owin.IOwinContext,`0,Microsoft.Owin.Security.AuthenticationTicket)">
-            <summary>
-            Initializes base class used for certain event contexts
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.BaseValidatingTicketContext`1.Ticket">
-            <summary>
-            Contains the identity and properties for the application to authenticate. If the Validated method
-            is invoked with an AuthenticationTicket or ClaimsIdentity argument, that new value is assigned to 
-            this property in addition to changing IsValidated to true.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.BaseValidatingTicketContext`1.Validated(Microsoft.Owin.Security.AuthenticationTicket)">
-            <summary>
-            Replaces the ticket information on this context and marks it as as validated by the application. 
-            IsValidated becomes true and HasError becomes false as a result of calling.
-            </summary>
-            <param name="ticket">Assigned to the Ticket property</param>
-            <returns>True if the validation has taken effect.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.BaseValidatingTicketContext`1.Validated(System.Security.Claims.ClaimsIdentity)">
-            <summary>
-            Alters the ticket information on this context and marks it as as validated by the application. 
-            IsValidated becomes true and HasError becomes false as a result of calling.
-            </summary>
-            <param name="identity">Assigned to the Ticket.Identity property</param>
-            <returns>True if the validation has taken effect.</returns>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider">
-            <summary>
-            Interface for OAuthAuthorizationServerOptions.Provider property used by Authorization
-            Server to communicate with the web application while processing requests.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.MatchEndpoint(Microsoft.Owin.Security.OAuth.OAuthMatchEndpointContext)">
-            <summary>
-            Called to determine if an incoming request is treated as an Authorize or Token
-            endpoint. If Options.AuthorizeEndpointPath or Options.TokenEndpointPath
-            are assigned values, then handling this event is optional and context.IsAuthorizeEndpoint and context.IsTokenEndpoint
-            will already be true if the request path matches.
-            </summary>
-            <param name="context">The context of the event carries information in and results out.</param>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.ValidateClientRedirectUri(Microsoft.Owin.Security.OAuth.OAuthValidateClientRedirectUriContext)">
-            <summary>
-            Called to validate that the context.ClientId is a registered "client_id", and that the context.RedirectUri a "redirect_uri" 
-            registered for that client. This only occurs when processing the Authorize endpoint. The application MUST implement this
-            call, and it MUST validate both of those factors before calling context.Validated. If the context.Validated method is called
-            with a given redirectUri parameter, then IsValidated will only become true if the incoming redirect URI matches the given redirect URI. 
-            If context.Validated is not called the request will not proceed further. 
-            </summary>
-            <param name="context">The context of the event carries information in and results out.</param>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.ValidateClientAuthentication(Microsoft.Owin.Security.OAuth.OAuthValidateClientAuthenticationContext)">
-            <summary>
-            Called to validate that the origin of the request is a registered "client_id", and that the correct credentials for that client are
-            present on the request. If the web application accepts Basic authentication credentials, 
-            context.TryGetBasicCredentials(out clientId, out clientSecret) may be called to acquire those values if present in the request header. If the web 
-            application accepts "client_id" and "client_secret" as form encoded POST parameters, 
-            context.TryGetFormCredentials(out clientId, out clientSecret) may be called to acquire those values if present in the request body.
-            If context.Validated is not called the request will not proceed further. 
-            </summary>
-            <param name="context">The context of the event carries information in and results out.</param>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.ValidateAuthorizeRequest(Microsoft.Owin.Security.OAuth.OAuthValidateAuthorizeRequestContext)">
-            <summary>
-            Called for each request to the Authorize endpoint to determine if the request is valid and should continue. 
-            The default behavior when using the OAuthAuthorizationServerProvider is to assume well-formed requests, with 
-            validated client redirect URI, should continue processing. An application may add any additional constraints.
-            </summary>
-            <param name="context">The context of the event carries information in and results out.</param>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.ValidateTokenRequest(Microsoft.Owin.Security.OAuth.OAuthValidateTokenRequestContext)">
-            <summary>
-            Called for each request to the Token endpoint to determine if the request is valid and should continue. 
-            The default behavior when using the OAuthAuthorizationServerProvider is to assume well-formed requests, with 
-            validated client credentials, should continue processing. An application may add any additional constraints.
-            </summary>
-            <param name="context">The context of the event carries information in and results out.</param>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.GrantAuthorizationCode(Microsoft.Owin.Security.OAuth.OAuthGrantAuthorizationCodeContext)">
-            <summary>
-            Called when a request to the Token endpoint arrives with a "grant_type" of "authorization_code". This occurs after the Authorize
-            endpoint as redirected the user-agent back to the client with a "code" parameter, and the client is exchanging that for an "access_token".
-            The claims and properties 
-            associated with the authorization code are present in the context.Ticket. The application must call context.Validated to instruct the Authorization
-            Server middleware to issue an access token based on those claims and properties. The call to context.Validated may be given a different
-            AuthenticationTicket or ClaimsIdentity in order to control which information flows from authorization code to access token.
-            The default behavior when using the OAuthAuthorizationServerProvider is to flow information from the authorization code to 
-            the access token unmodified.
-            See also http://tools.ietf.org/html/rfc6749#section-4.1.3
-            </summary>
-            <param name="context">The context of the event carries information in and results out.</param>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.GrantRefreshToken(Microsoft.Owin.Security.OAuth.OAuthGrantRefreshTokenContext)">
-            <summary>
-            Called when a request to the Token endpoint arrives with a "grant_type" of "refresh_token". This occurs if your application has issued a "refresh_token" 
-            along with the "access_token", and the client is attempting to use the "refresh_token" to acquire a new "access_token", and possibly a new "refresh_token".
-            To issue a refresh token the an Options.RefreshTokenProvider must be assigned to create the value which is returned. The claims and properties 
-            associated with the refresh token are present in the context.Ticket. The application must call context.Validated to instruct the 
-            Authorization Server middleware to issue an access token based on those claims and properties. The call to context.Validated may 
-            be given a different AuthenticationTicket or ClaimsIdentity in order to control which information flows from the refresh token to 
-            the access token. The default behavior when using the OAuthAuthorizationServerProvider is to flow information from the refresh token to 
-            the access token unmodified.
-            See also http://tools.ietf.org/html/rfc6749#section-6
-            </summary>
-            <param name="context">The context of the event carries information in and results out.</param>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.GrantResourceOwnerCredentials(Microsoft.Owin.Security.OAuth.OAuthGrantResourceOwnerCredentialsContext)">
-            <summary>
-            Called when a request to the Token endpoint arrives with a "grant_type" of "password". This occurs when the user has provided name and password
-            credentials directly into the client application's user interface, and the client application is using those to acquire an "access_token" and 
-            optional "refresh_token". If the web application supports the
-            resource owner credentials grant type it must validate the context.Username and context.Password as appropriate. To issue an
-            access token the context.Validated must be called with a new ticket containing the claims about the resource owner which should be associated
-            with the access token. The application should take appropriate measures to ensure that the endpoint isn’t abused by malicious callers.  . 
-            The default behavior is to reject this grant type.
-            See also http://tools.ietf.org/html/rfc6749#section-4.3.2
-            </summary>
-            <param name="context">The context of the event carries information in and results out.</param>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.GrantClientCredentials(Microsoft.Owin.Security.OAuth.OAuthGrantClientCredentialsContext)">
-            <summary>
-            Called when a request to the Token endpoint arrives with a "grant_type" of "client_credentials". This occurs when a registered client
-            application wishes to acquire an "access_token" to interact with protected resources on it's own behalf, rather than on behalf of an authenticated user. 
-            If the web application supports the client credentials it may assume the context.ClientId has been validated by the ValidateClientAuthentication call.
-            To issue an access token the context.Validated must be called with a new ticket containing the claims about the client application which should be associated
-            with the access token. The application should take appropriate measures to ensure that the endpoint isn’t abused by malicious callers.
-            The default behavior is to reject this grant type.
-            See also http://tools.ietf.org/html/rfc6749#section-4.4.2
-            </summary>
-            <param name="context">The context of the event carries information in and results out.</param>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.GrantCustomExtension(Microsoft.Owin.Security.OAuth.OAuthGrantCustomExtensionContext)">
-            <summary>
-            Called when a request to the Token andpoint arrives with a "grant_type" of any other value. If the application supports custom grant types
-            it is entirely responsible for determining if the request should result in an access_token. If context.Validated is called with ticket
-            information the response body is produced in the same way as the other standard grant types. If additional response parameters must be
-            included they may be added in the final TokenEndpoint call.
-            See also http://tools.ietf.org/html/rfc6749#section-4.5
-            </summary>
-            <param name="context">The context of the event carries information in and results out.</param>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.AuthorizeEndpoint(Microsoft.Owin.Security.OAuth.OAuthAuthorizeEndpointContext)">
-            <summary>
-            Called at the final stage of an incoming Authorize endpoint request before the execution continues on to the web application component 
-            responsible for producing the html response. Anything present in the OWIN pipeline following the Authorization Server may produce the
-            response for the Authorize page. If running on IIS any ASP.NET technology running on the server may produce the response for the 
-            Authorize page. If the web application wishes to produce the response directly in the AuthorizeEndpoint call it may write to the 
-            context.Response directly and should call context.RequestCompleted to stop other handlers from executing. If the web application wishes
-            to grant the authorization directly in the AuthorizeEndpoint call it cay call context.OwinContext.Authentication.SignIn with the
-            appropriate ClaimsIdentity and should call context.RequestCompleted to stop other handlers from executing.
-            </summary>
-            <param name="context">The context of the event carries information in and results out.</param>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.TokenEndpoint(Microsoft.Owin.Security.OAuth.OAuthTokenEndpointContext)">
-            <summary>
-            Called at the final stage of a successful Token endpoint request. An application may implement this call in order to do any final 
-            modification of the claims being used to issue access or refresh tokens. This call may also be used in order to add additional 
-            response parameters to the Token endpoint's json response body.
-            </summary>
-            <param name="context">The context of the event carries information in and results out.</param>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.AuthorizationEndpointResponse(Microsoft.Owin.Security.OAuth.OAuthAuthorizationEndpointResponseContext)">
-            <summary>
-            Called before the AuthorizationEndpoint redirects its response to the caller. The response could be the
-            token, when using implicit flow or the AuthorizationEndpoint when using authorization code flow.  
-            An application may implement this call in order to do any final modification of the claims being used 
-            to issue access or refresh tokens. This call may also be used in order to add additional 
-            response parameters to the authorization endpoint's response.
-            </summary>
-            <param name="context">The context of the event carries information in and results out.</param>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthAuthorizationServerProvider.TokenEndpointResponse(Microsoft.Owin.Security.OAuth.OAuthTokenEndpointResponseContext)">
-            <summary>
-            Called before the TokenEndpoint redirects its response to the caller. 
-            </summary>
-            <param name="context"></param>
-            <returns></returns>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.IOAuthBearerAuthenticationProvider">
-            <summary>
-            Specifies callback methods which the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationMiddleware"></see> invokes to enable developer control over the authentication process. />
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthBearerAuthenticationProvider.RequestToken(Microsoft.Owin.Security.OAuth.OAuthRequestTokenContext)">
-            <summary>
-            Invoked before the <see cref="T:System.Security.Claims.ClaimsIdentity"/> is created. Gives the application an 
-            opportunity to find the identity from a different location, adjust, or reject the token.
-            </summary>
-            <param name="context">Contains the token string.</param>
-            <returns>A <see cref="T:System.Threading.Tasks.Task"/> representing the completed operation.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthBearerAuthenticationProvider.ValidateIdentity(Microsoft.Owin.Security.OAuth.OAuthValidateIdentityContext)">
-            <summary>
-            Called each time a request identity has been validated by the middleware. By implementing this method the
-            application may alter or reject the identity which has arrived with the request.
-            </summary>
-            <param name="context">Contains information about the login session as well as the user <see cref="T:System.Security.Claims.ClaimsIdentity"/>.</param>
-            <returns>A <see cref="T:System.Threading.Tasks.Task"/> representing the completed operation.</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.IOAuthBearerAuthenticationProvider.ApplyChallenge(Microsoft.Owin.Security.OAuth.OAuthChallengeContext)">
-            <summary>
-            Called each time a challenge is being sent to the client. By implementing this method the application
-            may modify the challenge as needed.
-            </summary>
-            <param name="context">Contains the default challenge.</param>
-            <returns>A <see cref="T:System.Threading.Tasks.Task"/> representing the completed operation.</returns>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider">
-            <summary>
-            Default implementation of IOAuthAuthorizationServerProvider used by Authorization
-            Server to communicate with the web application while processing requests. OAuthAuthorizationServerProvider provides some default behavior, 
-            may be used as a virtual base class, and offers delegate properties which may be used to 
-            handle individual calls without declaring a new class type.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.#ctor">
-            <summary>
-            Creates new instance of default provider behavior
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnMatchEndpoint">
-            <summary>
-            Called to determine if an incoming request is treated as an Authorize or Token
-            endpoint. If Options.AuthorizeEndpointPath or Options.TokenEndpointPath
-            are assigned values, then handling this event is optional and context.IsAuthorizeEndpoint and context.IsTokenEndpoint
-            will already be true if the request path matches.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnValidateClientRedirectUri">
-            <summary>
-            Called to validate that the context.ClientId is a registered "client_id", and that the context.RedirectUri a "redirect_uri" 
-            registered for that client. This only occurs when processing the Authorize endpoint. The application MUST implement this
-            call, and it MUST validate both of those factors before calling context.Validated. If the context.Validated method is called
-            with a given redirectUri parameter, then IsValidated will only become true if the incoming redirect URI matches the given redirect URI. 
-            If context.Validated is not called the request will not proceed further. 
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnValidateClientAuthentication">
-            <summary>
-            Called to validate that the origin of the request is a registered "client_id", and that the correct credentials for that client are
-            present on the request. If the web application accepts Basic authentication credentials, 
-            context.TryGetBasicCredentials(out clientId, out clientSecret) may be called to acquire those values if present in the request header. If the web 
-            application accepts "client_id" and "client_secret" as form encoded POST parameters, 
-            context.TryGetFormCredentials(out clientId, out clientSecret) may be called to acquire those values if present in the request body.
-            If context.Validated is not called the request will not proceed further. 
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnValidateAuthorizeRequest">
-            <summary>
-            Called for each request to the Authorize endpoint to determine if the request is valid and should continue. 
-            The default behavior when using the OAuthAuthorizationServerProvider is to assume well-formed requests, with 
-            validated client redirect URI, should continue processing. An application may add any additional constraints.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnValidateTokenRequest">
-            <summary>
-            Called for each request to the Token endpoint to determine if the request is valid and should continue. 
-            The default behavior when using the OAuthAuthorizationServerProvider is to assume well-formed requests, with 
-            validated client credentials, should continue processing. An application may add any additional constraints.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnGrantAuthorizationCode">
-            <summary>
-            Called when a request to the Token endpoint arrives with a "grant_type" of "authorization_code". This occurs after the Authorize
-            endpoint as redirected the user-agent back to the client with a "code" parameter, and the client is exchanging that for an "access_token".
-            The claims and properties 
-            associated with the authorization code are present in the context.Ticket. The application must call context.Validated to instruct the Authorization
-            Server middleware to issue an access token based on those claims and properties. The call to context.Validated may be given a different
-            AuthenticationTicket or ClaimsIdentity in order to control which information flows from authorization code to access token.
-            The default behavior when using the OAuthAuthorizationServerProvider is to flow information from the authorization code to 
-            the access token unmodified.
-            See also http://tools.ietf.org/html/rfc6749#section-4.1.3
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnGrantResourceOwnerCredentials">
-            <summary>
-            Called when a request to the Token endpoint arrives with a "grant_type" of "password". This occurs when the user has provided name and password
-            credentials directly into the client application's user interface, and the client application is using those to acquire an "access_token" and 
-            optional "refresh_token". If the web application supports the
-            resource owner credentials grant type it must validate the context.Username and context.Password as appropriate. To issue an
-            access token the context.Validated must be called with a new ticket containing the claims about the resource owner which should be associated
-            with the access token. The application should take appropriate measures to ensure that the endpoint isn’t abused by malicious callers.
-            The default behavior is to reject this grant type.
-            See also http://tools.ietf.org/html/rfc6749#section-4.3.2
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnGrantClientCredentials">
-            <summary>
-            Called when a request to the Token endpoint arrives with a "grant_type" of "client_credentials". This occurs when a registered client
-            application wishes to acquire an "access_token" to interact with protected resources on it's own behalf, rather than on behalf of an authenticated user. 
-            If the web application supports the client credentials it may assume the context.ClientId has been validated by the ValidateClientAuthentication call.
-            To issue an access token the context.Validated must be called with a new ticket containing the claims about the client application which should be associated
-            with the access token. The application should take appropriate measures to ensure that the endpoint isn’t abused by malicious callers.
-            The default behavior is to reject this grant type.
-            See also http://tools.ietf.org/html/rfc6749#section-4.4.2
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnGrantRefreshToken">
-            <summary>
-            Called when a request to the Token endpoint arrives with a "grant_type" of "refresh_token". This occurs if your application has issued a "refresh_token" 
-            along with the "access_token", and the client is attempting to use the "refresh_token" to acquire a new "access_token", and possibly a new "refresh_token".
-            To issue a refresh token the an Options.RefreshTokenProvider must be assigned to create the value which is returned. The claims and properties 
-            associated with the refresh token are present in the context.Ticket. The application must call context.Validated to instruct the 
-            Authorization Server middleware to issue an access token based on those claims and properties. The call to context.Validated may 
-            be given a different AuthenticationTicket or ClaimsIdentity in order to control which information flows from the refresh token to 
-            the access token. The default behavior when using the OAuthAuthorizationServerProvider is to flow information from the refresh token to 
-            the access token unmodified.
-            See also http://tools.ietf.org/html/rfc6749#section-6
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnGrantCustomExtension">
-            <summary>
-            Called when a request to the Token andpoint arrives with a "grant_type" of any other value. If the application supports custom grant types
-            it is entirely responsible for determining if the request should result in an access_token. If context.Validated is called with ticket
-            information the response body is produced in the same way as the other standard grant types. If additional response parameters must be
-            included they may be added in the final TokenEndpoint call.
-            See also http://tools.ietf.org/html/rfc6749#section-4.5
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnAuthorizeEndpoint">
-            <summary>
-            Called at the final stage of an incoming Authorize endpoint request before the execution continues on to the web application component 
-            responsible for producing the html response. Anything present in the OWIN pipeline following the Authorization Server may produce the
-            response for the Authorize page. If running on IIS any ASP.NET technology running on the server may produce the response for the 
-            Authorize page. If the web application wishes to produce the response directly in the AuthorizeEndpoint call it may write to the 
-            context.Response directly and should call context.RequestCompleted to stop other handlers from executing. If the web application wishes
-            to grant the authorization directly in the AuthorizeEndpoint call it cay call context.OwinContext.Authentication.SignIn with the
-            appropriate ClaimsIdentity and should call context.RequestCompleted to stop other handlers from executing.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnTokenEndpoint">
-            <summary>
-            Called at the final stage of a successful Token endpoint request. An application may implement this call in order to do any final 
-            modification of the claims being used to issue access or refresh tokens. This call may also be used in order to add additional 
-            response parameters to the Token endpoint's json response body.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnAuthorizationEndpointResponse">
-            <summary>
-            Called before the AuthorizationEndpoint redirects its response to the caller. The response could be the
-            token, when using implicit flow or the AuthorizationEndpoint when using authorization code flow.  
-            An application may implement this call in order to do any final modification of the claims being used 
-            to issue access or refresh tokens. This call may also be used in order to add additional 
-            response parameters to the authorization endpoint's response.
-            </summary>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.OnTokenEndpointResponse">
-            <summary>
-            Called before the TokenEndpoint redirects its response to the caller. 
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.MatchEndpoint(Microsoft.Owin.Security.OAuth.OAuthMatchEndpointContext)">
-            <summary>
-            Called to determine if an incoming request is treated as an Authorize or Token
-            endpoint. If Options.AuthorizeEndpointPath or Options.TokenEndpointPath
-            are assigned values, then handling this event is optional and context.IsAuthorizeEndpoint and context.IsTokenEndpoint
-            will already be true if the request path matches.
-            </summary>
-            <param name="context">The context of the event carries information in and results out.</param>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.ValidateClientRedirectUri(Microsoft.Owin.Security.OAuth.OAuthValidateClientRedirectUriContext)">
-            <summary>
-            Called to validate that the context.ClientId is a registered "client_id", and that the context.RedirectUri a "redirect_uri" 
-            registered for that client. This only occurs when processing the Authorize endpoint. The application MUST implement this
-            call, and it MUST validate both of those factors before calling context.Validated. If the context.Validated method is called
-            with a given redirectUri parameter, then IsValidated will only become true if the incoming redirect URI matches the given redirect URI. 
-            If context.Validated is not called the request will not proceed further. 
-            </summary>
-            <param name="context">The context of the event carries information in and results out.</param>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.ValidateClientAuthentication(Microsoft.Owin.Security.OAuth.OAuthValidateClientAuthenticationContext)">
-            <summary>
-            Called to validate that the origin of the request is a registered "client_id", and that the correct credentials for that client are
-            present on the request. If the web application accepts Basic authentication credentials, 
-            context.TryGetBasicCredentials(out clientId, out clientSecret) may be called to acquire those values if present in the request header. If the web 
-            application accepts "client_id" and "client_secret" as form encoded POST parameters, 
-            context.TryGetFormCredentials(out clientId, out clientSecret) may be called to acquire those values if present in the request body.
-            If context.Validated is not called the request will not proceed further. 
-            </summary>
-            <param name="context">The context of the event carries information in and results out.</param>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.ValidateAuthorizeRequest(Microsoft.Owin.Security.OAuth.OAuthValidateAuthorizeRequestContext)">
-            <summary>
-            Called for each request to the Authorize endpoint to determine if the request is valid and should continue. 
-            The default behavior when using the OAuthAuthorizationServerProvider is to assume well-formed requests, with 
-            validated client redirect URI, should continue processing. An application may add any additional constraints.
-            </summary>
-            <param name="context">The context of the event carries information in and results out.</param>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.ValidateTokenRequest(Microsoft.Owin.Security.OAuth.OAuthValidateTokenRequestContext)">
-            <summary>
-            Called for each request to the Token endpoint to determine if the request is valid and should continue. 
-            The default behavior when using the OAuthAuthorizationServerProvider is to assume well-formed requests, with 
-            validated client credentials, should continue processing. An application may add any additional constraints.
-            </summary>
-            <param name="context">The context of the event carries information in and results out.</param>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.GrantAuthorizationCode(Microsoft.Owin.Security.OAuth.OAuthGrantAuthorizationCodeContext)">
-            <summary>
-            Called when a request to the Token endpoint arrives with a "grant_type" of "authorization_code". This occurs after the Authorize
-            endpoint as redirected the user-agent back to the client with a "code" parameter, and the client is exchanging that for an "access_token".
-            The claims and properties 
-            associated with the authorization code are present in the context.Ticket. The application must call context.Validated to instruct the Authorization
-            Server middleware to issue an access token based on those claims and properties. The call to context.Validated may be given a different
-            AuthenticationTicket or ClaimsIdentity in order to control which information flows from authorization code to access token.
-            The default behavior when using the OAuthAuthorizationServerProvider is to flow information from the authorization code to 
-            the access token unmodified.
-            See also http://tools.ietf.org/html/rfc6749#section-4.1.3
-            </summary>
-            <param name="context">The context of the event carries information in and results out.</param>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.GrantRefreshToken(Microsoft.Owin.Security.OAuth.OAuthGrantRefreshTokenContext)">
-            <summary>
-            Called when a request to the Token endpoint arrives with a "grant_type" of "refresh_token". This occurs if your application has issued a "refresh_token" 
-            along with the "access_token", and the client is attempting to use the "refresh_token" to acquire a new "access_token", and possibly a new "refresh_token".
-            To issue a refresh token the an Options.RefreshTokenProvider must be assigned to create the value which is returned. The claims and properties 
-            associated with the refresh token are present in the context.Ticket. The application must call context.Validated to instruct the 
-            Authorization Server middleware to issue an access token based on those claims and properties. The call to context.Validated may 
-            be given a different AuthenticationTicket or ClaimsIdentity in order to control which information flows from the refresh token to 
-            the access token. The default behavior when using the OAuthAuthorizationServerProvider is to flow information from the refresh token to 
-            the access token unmodified.
-            See also http://tools.ietf.org/html/rfc6749#section-6
-            </summary>
-            <param name="context">The context of the event carries information in and results out.</param>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.GrantResourceOwnerCredentials(Microsoft.Owin.Security.OAuth.OAuthGrantResourceOwnerCredentialsContext)">
-            <summary>
-            Called when a request to the Token endpoint arrives with a "grant_type" of "password". This occurs when the user has provided name and password
-            credentials directly into the client application's user interface, and the client application is using those to acquire an "access_token" and 
-            optional "refresh_token". If the web application supports the
-            resource owner credentials grant type it must validate the context.Username and context.Password as appropriate. To issue an
-            access token the context.Validated must be called with a new ticket containing the claims about the resource owner which should be associated
-            with the access token. The application should take appropriate measures to ensure that the endpoint isn’t abused by malicious callers.
-            The default behavior is to reject this grant type.
-            See also http://tools.ietf.org/html/rfc6749#section-4.3.2
-            </summary>
-            <param name="context">The context of the event carries information in and results out.</param>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.GrantClientCredentials(Microsoft.Owin.Security.OAuth.OAuthGrantClientCredentialsContext)">
-            <summary>
-            Called when a request to the Token endpoint arrives with a "grant_type" of "client_credentials". This occurs when a registered client
-            application wishes to acquire an "access_token" to interact with protected resources on it's own behalf, rather than on behalf of an authenticated user. 
-            If the web application supports the client credentials it may assume the context.ClientId has been validated by the ValidateClientAuthentication call.
-            To issue an access token the context.Validated must be called with a new ticket containing the claims about the client application which should be associated
-            with the access token. The application should take appropriate measures to ensure that the endpoint isn’t abused by malicious callers.
-            The default behavior is to reject this grant type.
-            See also http://tools.ietf.org/html/rfc6749#section-4.4.2
-            </summary>
-            <param name="context">The context of the event carries information in and results out.</param>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.GrantCustomExtension(Microsoft.Owin.Security.OAuth.OAuthGrantCustomExtensionContext)">
-            <summary>
-            Called when a request to the Token endpoint arrives with a "grant_type" of any other value. If the application supports custom grant types
-            it is entirely responsible for determining if the request should result in an access_token. If context.Validated is called with ticket
-            information the response body is produced in the same way as the other standard grant types. If additional response parameters must be
-            included they may be added in the final TokenEndpoint call.
-            See also http://tools.ietf.org/html/rfc6749#section-4.5
-            </summary>
-            <param name="context">The context of the event carries information in and results out.</param>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.AuthorizeEndpoint(Microsoft.Owin.Security.OAuth.OAuthAuthorizeEndpointContext)">
-            <summary>
-            Called at the final stage of an incoming Authorize endpoint request before the execution continues on to the web application component 
-            responsible for producing the html response. Anything present in the OWIN pipeline following the Authorization Server may produce the
-            response for the Authorize page. If running on IIS any ASP.NET technology running on the server may produce the response for the 
-            Authorize page. If the web application wishes to produce the response directly in the AuthorizeEndpoint call it may write to the 
-            context.Response directly and should call context.RequestCompleted to stop other handlers from executing. If the web application wishes
-            to grant the authorization directly in the AuthorizeEndpoint call it cay call context.OwinContext.Authentication.SignIn with the
-            appropriate ClaimsIdentity and should call context.RequestCompleted to stop other handlers from executing.
-            </summary>
-            <param name="context">The context of the event carries information in and results out.</param>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.TokenEndpoint(Microsoft.Owin.Security.OAuth.OAuthTokenEndpointContext)">
-            <summary>
-            Called at the final stage of a successful Token endpoint request. An application may implement this call in order to do any final 
-            modification of the claims being used to issue access or refresh tokens. This call may also be used in order to add additional 
-            response parameters to the Token endpoint's json response body.
-            </summary>
-            <param name="context">The context of the event carries information in and results out.</param>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.AuthorizationEndpointResponse(Microsoft.Owin.Security.OAuth.OAuthAuthorizationEndpointResponseContext)">
-            <summary>
-            Called before the AuthorizationEndpoint redirects its response to the caller. The response could be the
-            token, when using implicit flow or the AuthorizationEndpoint when using authorization code flow.  
-            An application may implement this call in order to do any final modification of the claims being used 
-            to issue access or refresh tokens. This call may also be used in order to add additional 
-            response parameters to the authorization endpoint's response.
-            </summary>
-            <param name="context">The context of the event carries information in and results out.</param>
-            <returns>Task to enable asynchronous execution</returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerProvider.TokenEndpointResponse(Microsoft.Owin.Security.OAuth.OAuthTokenEndpointResponseContext)">
-            <summary>
-            Called before the TokenEndpoint redirects its response to the caller. 
-            </summary>
-            <param name="context"></param>
-            <returns></returns>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.OAuthAuthorizeEndpointContext">
-            <summary>
-            An event raised after the Authorization Server has processed the request, but before it is passed on to the web application.
-            Calling RequestCompleted will prevent the request from passing on to the web application.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizeEndpointContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest)">
-            <summary>
-            Creates an instance of this context
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizeEndpointContext.AuthorizeRequest">
-            <summary>
-            Gets OAuth authorization request data.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.OAuthAuthorizationEndpointResponseContext">
-            <summary>
-            Provides context information when processing an Authorization Response
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthAuthorizationEndpointResponseContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,Microsoft.Owin.Security.AuthenticationTicket,Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest,System.String,System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthAuthorizationEndpointResponseContext"/> class
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationEndpointResponseContext.Identity">
-            <summary>
-            Gets the identity of the resource owner.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationEndpointResponseContext.Properties">
-            <summary>
-            Dictionary containing the state of the authentication session.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationEndpointResponseContext.AuthorizeEndpointRequest">
-            <summary>
-            Gets information about the authorize endpoint request. 
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationEndpointResponseContext.AdditionalResponseParameters">
-            <summary>
-            Enables additional values to be appended to the token response.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationEndpointResponseContext.AccessToken">
-            <summary>
-            The serialized Access-Token. Depending on the flow, it can be null.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthAuthorizationEndpointResponseContext.AuthorizationCode">
-            <summary>
-            The created Authorization-Code. Depending on the flow, it can be null.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationProvider">
-            <summary>
-            OAuth bearer token middleware provider
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationProvider.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationProvider"/> class
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationProvider.OnRequestToken">
-            <summary>
-            Handles processing OAuth bearer token.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationProvider.OnValidateIdentity">
-            <summary>
-            Handles validating the identity produced from an OAuth bearer token.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationProvider.OnApplyChallenge">
-            <summary>
-            Handles applying the authentication challenge to the response message.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationProvider.RequestToken(Microsoft.Owin.Security.OAuth.OAuthRequestTokenContext)">
-            <summary>
-            Handles processing OAuth bearer token.
-            </summary>
-            <param name="context"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationProvider.ValidateIdentity(Microsoft.Owin.Security.OAuth.OAuthValidateIdentityContext)">
-            <summary>
-            Handles validating the identity produced from an OAuth bearer token.
-            </summary>
-            <param name="context"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationProvider.ApplyChallenge(Microsoft.Owin.Security.OAuth.OAuthChallengeContext)">
-            <summary>
-            Handles applying the authentication challenge to the response message.
-            </summary>
-            <param name="context"></param>
-            <returns></returns>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.OAuthChallengeContext">
-            <summary>
-            Specifies the HTTP response header for the bearer authentication scheme.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthChallengeContext.#ctor(Microsoft.Owin.IOwinContext,System.String)">
-            <summary>
-            Initializes a new <see cref="T:Microsoft.Owin.Security.OAuth.OAuthRequestTokenContext"/>
-            </summary>
-            <param name="context">OWIN environment</param>
-            <param name="challenge">The www-authenticate header value.</param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthChallengeContext.Challenge">
-            <summary>
-            The www-authenticate header value.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.OAuthGrantAuthorizationCodeContext">
-            <summary>
-            Provides context information when handling an OAuth authorization code grant.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthGrantAuthorizationCodeContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,Microsoft.Owin.Security.AuthenticationTicket)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthGrantAuthorizationCodeContext"/> class
-            </summary>
-            <param name="context"></param>
-            <param name="options"></param>
-            <param name="ticket"></param>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.OAuthGrantClientCredentialsContext">
-            <summary>
-            Provides context information used in handling an OAuth client credentials grant.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthGrantClientCredentialsContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,System.String,System.Collections.Generic.IList{System.String})">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthGrantClientCredentialsContext"/> class
-            </summary>
-            <param name="context"></param>
-            <param name="options"></param>
-            <param name="clientId"></param>
-            <param name="scope"></param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthGrantClientCredentialsContext.ClientId">
-            <summary>
-            OAuth client id.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthGrantClientCredentialsContext.Scope">
-            <summary>
-            List of scopes allowed by the resource owner.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.OAuthGrantCustomExtensionContext">
-            <summary>
-            Provides context information used when handling OAuth extension grant types.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthGrantCustomExtensionContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,System.String,System.String,Microsoft.Owin.IReadableStringCollection)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthGrantCustomExtensionContext"/> class
-            </summary>
-            <param name="context"></param>
-            <param name="options"></param>
-            <param name="clientId"></param>
-            <param name="grantType"></param>
-            <param name="parameters"></param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthGrantCustomExtensionContext.ClientId">
-            <summary>
-            Gets the OAuth client id.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthGrantCustomExtensionContext.GrantType">
-            <summary>
-            Gets the name of the OAuth extension grant type.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthGrantCustomExtensionContext.Parameters">
-            <summary>
-            Gets a list of additional parameters from the token request.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.OAuthGrantRefreshTokenContext">
-            <summary>
-            Provides context information used when granting an OAuth refresh token.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthGrantRefreshTokenContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,Microsoft.Owin.Security.AuthenticationTicket,System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthGrantRefreshTokenContext"/> class
-            </summary>
-            <param name="context"></param>
-            <param name="options"></param>
-            <param name="ticket"></param>
-            <param name="clientId"></param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthGrantRefreshTokenContext.ClientId">
-            <summary>
-            The OAuth client id.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.OAuthGrantResourceOwnerCredentialsContext">
-            <summary>
-            Provides context information used in handling an OAuth resource owner grant.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthGrantResourceOwnerCredentialsContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,System.String,System.String,System.String,System.Collections.Generic.IList{System.String})">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthGrantResourceOwnerCredentialsContext"/> class
-            </summary>
-            <param name="context"></param>
-            <param name="options"></param>
-            <param name="clientId"></param>
-            <param name="userName"></param>
-            <param name="password"></param>
-            <param name="scope"></param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthGrantResourceOwnerCredentialsContext.ClientId">
-            <summary>
-            OAuth client id.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthGrantResourceOwnerCredentialsContext.UserName">
-            <summary>
-            Resource owner username.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthGrantResourceOwnerCredentialsContext.Password">
-            <summary>
-            Resource owner password.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthGrantResourceOwnerCredentialsContext.Scope">
-            <summary>
-            List of scopes allowed by the resource owner.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.OAuthMatchEndpointContext">
-            <summary>
-            Provides context information used when determining the OAuth flow type based on the request.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthMatchEndpointContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthMatchEndpointContext"/> class
-            </summary>
-            <param name="context"></param>
-            <param name="options"></param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthMatchEndpointContext.IsAuthorizeEndpoint">
-            <summary>
-            Gets whether or not the endpoint is an OAuth authorize endpoint.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthMatchEndpointContext.IsTokenEndpoint">
-            <summary>
-            Gets whether or not the endpoint is an OAuth token endpoint.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthMatchEndpointContext.MatchesAuthorizeEndpoint">
-            <summary>
-            Sets the endpoint type to authorize endpoint.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthMatchEndpointContext.MatchesTokenEndpoint">
-            <summary>
-            Sets the endpoint type to token endpoint.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthMatchEndpointContext.MatchesNothing">
-            <summary>
-            Sets the endpoint type to neither authorize nor token.
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.OAuthRequestTokenContext">
-            <summary>
-            Specifies the HTTP request header for the bearer authentication scheme.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthRequestTokenContext.#ctor(Microsoft.Owin.IOwinContext,System.String)">
-            <summary>
-            Initializes a new <see cref="T:Microsoft.Owin.Security.OAuth.OAuthRequestTokenContext"/>
-            </summary>
-            <param name="context">OWIN environment</param>
-            <param name="token">The authorization header value.</param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthRequestTokenContext.Token">
-            <summary>
-            The authorization header value
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointContext">
-            <summary>
-            Provides context information used when processing an OAuth token request.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,Microsoft.Owin.Security.AuthenticationTicket,Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointContext"/> class
-            </summary>
-            <param name="context"></param>
-            <param name="options"></param>
-            <param name="ticket"></param>
-            <param name="tokenEndpointRequest"></param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointContext.Identity">
-            <summary>
-            Gets the identity of the resource owner.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointContext.Properties">
-            <summary>
-            Dictionary containing the state of the authentication session.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointContext.TokenEndpointRequest">
-            <summary>
-            Gets information about the token endpoint request. 
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointContext.TokenIssued">
-            <summary>
-            Gets whether or not the token should be issued.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointContext.AdditionalResponseParameters">
-            <summary>
-            Enables additional values to be appended to the token response.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointContext.Issue(System.Security.Claims.ClaimsIdentity,Microsoft.Owin.Security.AuthenticationProperties)">
-            <summary>
-            Issues the token.
-            </summary>
-            <param name="identity"></param>
-            <param name="properties"></param>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointResponseContext">
-            <summary>
-            Provides context information used at the end of a token-endpoint-request.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointResponseContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,Microsoft.Owin.Security.AuthenticationTicket,Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest,System.String,System.Collections.Generic.IDictionary{System.String,System.Object})">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointResponseContext"/> class
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointResponseContext.Identity">
-            <summary>
-            Gets the identity of the resource owner.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointResponseContext.Properties">
-            <summary>
-            Dictionary containing the state of the authentication session.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointResponseContext.AccessToken">
-            <summary>
-            The issued Access-Token
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointResponseContext.TokenEndpointRequest">
-            <summary>
-            Gets information about the token endpoint request. 
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointResponseContext.TokenIssued">
-            <summary>
-            Gets whether or not the token should be issued.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointResponseContext.AdditionalResponseParameters">
-            <summary>
-            Enables additional values to be appended to the token response.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthTokenEndpointResponseContext.Issue(System.Security.Claims.ClaimsIdentity,Microsoft.Owin.Security.AuthenticationProperties)">
-            <summary>
-            Issues the token.
-            </summary>
-            <param name="identity"></param>
-            <param name="properties"></param>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.OAuthValidateAuthorizeRequestContext">
-            <summary>
-            Provides context information used in validating an OAuth authorization request.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthValidateAuthorizeRequestContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,Microsoft.Owin.Security.OAuth.Messages.AuthorizeEndpointRequest,Microsoft.Owin.Security.OAuth.OAuthValidateClientRedirectUriContext)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthValidateAuthorizeRequestContext"/> class
-            </summary>
-            <param name="context"></param>
-            <param name="options"></param>
-            <param name="authorizeRequest"></param>
-            <param name="clientContext"></param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthValidateAuthorizeRequestContext.AuthorizeRequest">
-            <summary>
-            Gets OAuth authorization request data.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthValidateAuthorizeRequestContext.ClientContext">
-            <summary>
-            Gets data about the OAuth client. 
-            </summary>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.OAuthValidateClientAuthenticationContext">
-            <summary>
-            Contains information about the client credentials.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthValidateClientAuthenticationContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,Microsoft.Owin.IReadableStringCollection)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthValidateClientAuthenticationContext"/> class
-            </summary>
-            <param name="context"></param>
-            <param name="options"></param>
-            <param name="parameters"></param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthValidateClientAuthenticationContext.Parameters">
-            <summary>
-            Gets the set of form parameters from the request.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthValidateClientAuthenticationContext.Validated(System.String)">
-            <summary>
-            Sets the client id and marks the context as validated by the application.
-            </summary>
-            <param name="clientId"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthValidateClientAuthenticationContext.TryGetBasicCredentials(System.String@,System.String@)">
-            <summary>
-            Extracts HTTP basic authentication credentials from the HTTP authenticate header.
-            </summary>
-            <param name="clientId"></param>
-            <param name="clientSecret"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthValidateClientAuthenticationContext.TryGetFormCredentials(System.String@,System.String@)">
-            <summary>
-            Extracts forms authentication credentials from the HTTP request body.
-            </summary>
-            <param name="clientId"></param>
-            <param name="clientSecret"></param>
-            <returns></returns>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.OAuthValidateClientRedirectUriContext">
-            <summary>
-            Contains data about the OAuth client redirect URI
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthValidateClientRedirectUriContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,System.String,System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthValidateClientRedirectUriContext"/> class
-            </summary>
-            <param name="context"></param>
-            <param name="options"></param>
-            <param name="clientId"></param>
-            <param name="redirectUri"></param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthValidateClientRedirectUriContext.RedirectUri">
-            <summary>
-            Gets the client redirect URI
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthValidateClientRedirectUriContext.Validated">
-            <summary>
-            Marks this context as validated by the application. IsValidated becomes true and HasError becomes false as a result of calling.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthValidateClientRedirectUriContext.Validated(System.String)">
-            <summary>
-            Checks the redirect URI to determine whether it equals <see cref="P:Microsoft.Owin.Security.OAuth.OAuthValidateClientRedirectUriContext.RedirectUri"/>.
-            </summary>
-            <param name="redirectUri"></param>
-            <returns></returns>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.OAuthValidateIdentityContext">
-            <summary>
-            Contains the authentication ticket data from an OAuth bearer token.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthValidateIdentityContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationOptions,Microsoft.Owin.Security.AuthenticationTicket)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthValidateIdentityContext"/> class
-            </summary>
-            <param name="context"></param>
-            <param name="options"></param>
-            <param name="ticket"></param>
-        </member>
-        <member name="T:Microsoft.Owin.Security.OAuth.OAuthValidateTokenRequestContext">
-            <summary>
-            Provides context information used in validating an OAuth token request.
-            </summary>
-        </member>
-        <member name="M:Microsoft.Owin.Security.OAuth.OAuthValidateTokenRequestContext.#ctor(Microsoft.Owin.IOwinContext,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions,Microsoft.Owin.Security.OAuth.Messages.TokenEndpointRequest,Microsoft.Owin.Security.OAuth.BaseValidatingClientContext)">
-            <summary>
-            Initializes a new instance of the <see cref="T:Microsoft.Owin.Security.OAuth.OAuthValidateTokenRequestContext"/> class
-            </summary>
-            <param name="context"></param>
-            <param name="options"></param>
-            <param name="tokenRequest"></param>
-            <param name="clientContext"></param>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthValidateTokenRequestContext.TokenRequest">
-            <summary>
-            Gets the token request data.
-            </summary>
-        </member>
-        <member name="P:Microsoft.Owin.Security.OAuth.OAuthValidateTokenRequestContext.ClientContext">
-            <summary>
-            Gets information about the client.
-            </summary>
-        </member>
-        <member name="T:Owin.OAuthAuthorizationServerExtensions">
-            <summary>
-            Extension methods to add Authorization Server capabilities to an OWIN pipeline
-            </summary>
-        </member>
-        <member name="M:Owin.OAuthAuthorizationServerExtensions.UseOAuthAuthorizationServer(Owin.IAppBuilder,Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions)">
-            <summary>
-            Adds OAuth2 Authorization Server capabilities to an OWIN web application. This middleware
-            performs the request processing for the Authorize and Token endpoints defined by the OAuth2 specification.
-            See also http://tools.ietf.org/html/rfc6749
-            </summary>
-            <param name="app">The web application builder</param>
-            <param name="options">Options which control the behavior of the Authorization Server.</param>
-            <returns>The application builder</returns>
-        </member>
-        <member name="T:Owin.OAuthBearerAuthenticationExtensions">
-            <summary>
-            Extension methods to add OAuth Bearer authentication capabilities to an OWIN application pipeline
-            </summary>
-        </member>
-        <member name="M:Owin.OAuthBearerAuthenticationExtensions.UseOAuthBearerAuthentication(Owin.IAppBuilder,Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationOptions)">
-            <summary>
-            Adds Bearer token processing to an OWIN application pipeline. This middleware understands appropriately
-            formatted and secured tokens which appear in the request header. If the Options.AuthenticationMode is Active, the
-            claims within the bearer token are added to the current request's IPrincipal User. If the Options.AuthenticationMode 
-            is Passive, then the current request is not modified, but IAuthenticationManager AuthenticateAsync may be used at
-            any time to obtain the claims from the request's bearer token.
-            See also http://tools.ietf.org/html/rfc6749
-            </summary>
-            <param name="app">The web application builder</param>
-            <param name="options">Options which control the processing of the bearer header.</param>
-            <returns>The application builder</returns>
-        </member>
-    </members>
-</doc>
